diff --git a/RTEA.vcxproj b/RTEA.vcxproj index a7f062590a..2999e1d485 100644 --- a/RTEA.vcxproj +++ b/RTEA.vcxproj @@ -162,7 +162,7 @@ /bigobj /Zm300 %(AdditionalOptions) /bigobj %(AdditionalOptions) Disabled - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;DEBUG_BUILD;DEBUGMODE;TARGET_MACHINE_X86;%(PreprocessorDefinitions) false EnableFastChecks @@ -215,7 +215,7 @@ /bigobj /Zm300 %(AdditionalOptions) /bigobj %(AdditionalOptions) Disabled - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;DEBUG_BUILD;DEBUGMODE;%(PreprocessorDefinitions) false EnableFastChecks @@ -269,7 +269,7 @@ /bigobj /Zm300 %(AdditionalOptions) /bigobj %(AdditionalOptions) Disabled - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;MIN_DEBUG_BUILD;DEBUGMODE;TARGET_MACHINE_X86;%(PreprocessorDefinitions) false EnableFastChecks @@ -322,7 +322,7 @@ /bigobj /Zm300 %(AdditionalOptions) /bigobj %(AdditionalOptions) Disabled - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;MIN_DEBUG_BUILD;DEBUGMODE;%(PreprocessorDefinitions) false EnableFastChecks @@ -379,7 +379,7 @@ true Speed false - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;DEBUG_RELEASE_BUILD;NDEBUG;TRACY_ENABLE;TRACY_ON_DEMAND;TARGET_MACHINE_X86;%(PreprocessorDefinitions) Sync MultiThreadedDLL @@ -441,7 +441,7 @@ true Speed false - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;TRACY_ENABLE;TRACY_ON_DEMAND;PROFILING_BUILD;NDEBUG;TARGET_MACHINE_X86;%(PreprocessorDefinitions) Sync MultiThreadedDLL @@ -503,7 +503,7 @@ true Speed false - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;DEBUG_RELEASE_BUILD;NDEBUG;TRACY_ENABLE;TRACY_ON_DEMAND;%(PreprocessorDefinitions) Sync MultiThreadedDLL @@ -566,7 +566,7 @@ true Speed true - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;TRACY_ENABLE;TRACY_ON_DEMAND;PROFILING_BUILD;NDEBUG;%(PreprocessorDefinitions) Sync MultiThreadedDLL @@ -629,7 +629,7 @@ true Speed true - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;RELEASE_BUILD;NDEBUG;TRACY_ENABLE;TRACY_ON_DEMAND;TRACY_ONLY_LOCALHOST;TRACY_NO_BROADCAST;TARGET_MACHINE_X86;%(PreprocessorDefinitions) Sync MultiThreadedDLL @@ -689,7 +689,7 @@ true Speed true - $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_75;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include + $(ProjectDir);$(ProjectDir)\Source;$(ProjectDir)Source\System;$(ProjectDir)Source\Lua;$(ProjectDir)Source\Entities;$(ProjectDir)Source\Activities;$(ProjectDir)Source\Managers;$(ProjectDir)Source\Menus;$(ProjectDir)Source\GUI;$(ProjectDir)Source\GUI\Wrappers;$(ProjectDir)Source\GUI\imgui;$(ProjectDir)Source\GUI\imgui\backends;$(ProjectDir)Source\Renderer;$(ProjectDir)external\include\boost_1_90_0;$(ProjectDir)external\include\glm-0.9.9.8;$(ProjectDir)external\include\glad-2.0.0-beta;$(ProjectDir)external\include\LZ4-1.9.3\LZ4;$(ProjectDir)external\include\fmod-2.2.13;$(ProjectDir)external\include\thread-pool-3.5.0\include;$(ProjectDir)external\include\hopscotch-map-2.3.1\include;$(ProjectDir)external\sources\libpng-1.6.40\include;$(ProjectDir)external\sources\zlib-ng-2.1.3\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\include;$(ProjectDir)external\sources\allegro 4.4.3.1-custom\addons\loadpng;$(ProjectDir)external\sources\SDL3-3.2.10\include;$(ProjectDir)external\sources\SDL3_image-3.2.4\include;$(ProjectDir)external\sources\LuaJIT-2.1\src;$(ProjectDir)external\sources\luabind-0.7.1\;$(ProjectDir)external\sources\luabind-0.7.1\luabind;$(ProjectDir)external\sources\RakNet\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\include;$(ProjectDir)external\sources\minizip-ng-4.0.0\src;$(ProjectDir)external\sources\tracy\public;$(ProjectDir)external\sources\fmem\include _ITERATOR_DEBUG_LEVEL=0;ZLIB_COMPAT;_WINDOWS;WIN32;RELEASE_BUILD;NDEBUG;TRACY_ENABLE;TRACY_ON_DEMAND;TRACY_ONLY_LOCALHOST;TRACY_NO_BROADCAST;%(PreprocessorDefinitions) Sync MultiThreadedDLL @@ -1489,4 +1489,4 @@ - \ No newline at end of file + diff --git a/Source/Lua/LuaBindingsActivities.cpp b/Source/Lua/LuaBindingsActivities.cpp index 08d1dbcc71..e9757362da 100644 --- a/Source/Lua/LuaBindingsActivities.cpp +++ b/Source/Lua/LuaBindingsActivities.cpp @@ -18,6 +18,7 @@ LuaBindingRegisterFunctionDefinitionForType(ActivityLuaBindings, Activity) { .property("HumanCount", &Activity::GetHumanCount) .property("TeamCount", &Activity::GetTeamCount) .property("Difficulty", &Activity::GetDifficulty, &Activity::SetDifficulty) + .property("CraftsOrbitAtTheEdge", &Activity::GetCraftOrbitAtTheEdge, &Activity::SetCraftOrbitAtTheEdge) .def("DeactivatePlayer", &Activity::DeactivatePlayer) .def("PlayerActive", &Activity::PlayerActive) @@ -118,7 +119,6 @@ LuaBindingRegisterFunctionDefinitionForType(ActivityLuaBindings, GameActivity) { .property("CPUTeam", &GameActivity::GetCPUTeam, &GameActivity::SetCPUTeam) .property("DeliveryDelay", &GameActivity::GetDeliveryDelay, &GameActivity::SetDeliveryDelay) .property("BuyMenuEnabled", &GameActivity::GetBuyMenuEnabled, &GameActivity::SetBuyMenuEnabled) - .property("CraftsOrbitAtTheEdge", &GameActivity::GetCraftOrbitAtTheEdge, &GameActivity::SetCraftOrbitAtTheEdge) //.def_readwrite("ActorCursor", &GameActivity::m_ActorCursor) .def_readwrite("CursorTimer", &GameActivity::m_CursorTimer) diff --git a/Source/Lua/LuaBindingsEntities.cpp b/Source/Lua/LuaBindingsEntities.cpp index 6b138782a3..f93d03cd12 100644 --- a/Source/Lua/LuaBindingsEntities.cpp +++ b/Source/Lua/LuaBindingsEntities.cpp @@ -2,6 +2,7 @@ #include "LuaBindingRegisterDefinitions.h" +#include "MovableObject.h" #include "PieSlice.h" #include "SoundSet.h" @@ -921,7 +922,6 @@ LuaBindingRegisterFunctionDefinitionForType(EntityLuaBindings, MovableObject) { .property("Material", &MovableObject::GetMaterial) .property("Mass", &MovableObject::GetMass, &MovableObject::SetMass) - .property("Pos", &MovableObject::GetPos, &MovableObject::SetPos) .property("Vel", &MovableObject::GetVel, &MovableObject::SetVel) .property("PrevPos", &MovableObject::GetPrevPos) .property("PrevVel", &MovableObject::GetPrevVel) diff --git a/Source/Managers/ActivityMan.cpp b/Source/Managers/ActivityMan.cpp index 65a2d41b61..fc74b592ae 100644 --- a/Source/Managers/ActivityMan.cpp +++ b/Source/Managers/ActivityMan.cpp @@ -25,8 +25,8 @@ #include "MusicMan.h" -#include "zip.h" -#include "unzip.h" +#include "minizip/zip.h" +#include "minizip/unzip.h" #include "tracy/Tracy.hpp" diff --git a/Source/Menus/SaveLoadMenuGUI.cpp b/Source/Menus/SaveLoadMenuGUI.cpp index 4846d958c7..2dc0b1df3b 100644 --- a/Source/Menus/SaveLoadMenuGUI.cpp +++ b/Source/Menus/SaveLoadMenuGUI.cpp @@ -21,8 +21,8 @@ #include -#include "zip.h" -#include "unzip.h" +#include "minizip/zip.h" +#include "minizip/unzip.h" using namespace RTE; diff --git a/Source/System/System.cpp b/Source/System/System.cpp index 8894d67b60..d3bc8e10a9 100644 --- a/Source/System/System.cpp +++ b/Source/System/System.cpp @@ -1,7 +1,7 @@ #include "System.h" #include "RTETools.h" -#include "unzip.h" +#include "minizip/unzip.h" #include "RTEError.h" diff --git a/external/include/boost_1_75/boost/assert.hpp b/external/include/boost_1_75/boost/assert.hpp deleted file mode 100644 index 9650d7a290..0000000000 --- a/external/include/boost_1_75/boost/assert.hpp +++ /dev/null @@ -1,85 +0,0 @@ -// -// boost/assert.hpp - BOOST_ASSERT(expr) -// BOOST_ASSERT_MSG(expr, msg) -// BOOST_VERIFY(expr) -// BOOST_VERIFY_MSG(expr, msg) -// BOOST_ASSERT_IS_VOID -// -// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2007, 2014 Peter Dimov -// Copyright (c) Beman Dawes 2011 -// Copyright (c) 2015 Ion Gaztanaga -// -// 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 -// -// Note: There are no include guards. This is intentional. -// -// See http://www.boost.org/libs/assert/assert.html for documentation. -// - -// -// Stop inspect complaining about use of 'assert': -// -// boostinspect:naassert_macro -// - -// -// BOOST_ASSERT, BOOST_ASSERT_MSG, BOOST_ASSERT_IS_VOID -// - -#undef BOOST_ASSERT -#undef BOOST_ASSERT_MSG -#undef BOOST_ASSERT_IS_VOID - -#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) - -# define BOOST_ASSERT(expr) ((void)0) -# define BOOST_ASSERT_MSG(expr, msg) ((void)0) -# define BOOST_ASSERT_IS_VOID - -#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) - -#include // for BOOST_LIKELY -#include - -namespace boost -{ - void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined - void assertion_failed_msg(char const * expr, char const * msg, char const * function, char const * file, long line); // user defined -} // namespace boost - -#define BOOST_ASSERT(expr) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) -#define BOOST_ASSERT_MSG(expr, msg) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) - -#else - -# include // .h to support old libraries w/o - effect is the same - -# define BOOST_ASSERT(expr) assert(expr) -# define BOOST_ASSERT_MSG(expr, msg) assert((expr)&&(msg)) -#if defined(NDEBUG) -# define BOOST_ASSERT_IS_VOID -#endif - -#endif - -// -// BOOST_VERIFY, BOOST_VERIFY_MSG -// - -#undef BOOST_VERIFY -#undef BOOST_VERIFY_MSG - -#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) - -# define BOOST_VERIFY(expr) ((void)(expr)) -# define BOOST_VERIFY_MSG(expr, msg) ((void)(expr)) - -#else - -# define BOOST_VERIFY(expr) BOOST_ASSERT(expr) -# define BOOST_VERIFY_MSG(expr, msg) BOOST_ASSERT_MSG(expr,msg) - -#endif diff --git a/external/include/boost_1_75/boost/assert/source_location.hpp b/external/include/boost_1_75/boost/assert/source_location.hpp deleted file mode 100644 index a85e679526..0000000000 --- a/external/include/boost_1_75/boost/assert/source_location.hpp +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED -#define BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED - -// http://www.boost.org/libs/assert -// -// Copyright 2019 Peter Dimov -// Distributed under the Boost Software License, Version 1.0. -// http://www.boost.org/LICENSE_1_0.txt - -#include -#include -#include -#include - -namespace boost -{ - -struct source_location -{ -private: - - char const * file_; - char const * function_; - boost::uint_least32_t line_; - boost::uint_least32_t column_; - -public: - - BOOST_CONSTEXPR source_location() BOOST_NOEXCEPT: file_( "(unknown)" ), function_( "(unknown)" ), line_( 0 ), column_( 0 ) - { - } - - BOOST_CONSTEXPR source_location( char const * file, boost::uint_least32_t ln, char const * function, boost::uint_least32_t col = 0 ) BOOST_NOEXCEPT: file_( file ), function_( function ), line_( ln ), column_( col ) - { - } - - BOOST_CONSTEXPR char const * file_name() const BOOST_NOEXCEPT - { - return file_; - } - - BOOST_CONSTEXPR char const * function_name() const BOOST_NOEXCEPT - { - return function_; - } - - BOOST_CONSTEXPR boost::uint_least32_t line() const BOOST_NOEXCEPT - { - return line_; - } - - BOOST_CONSTEXPR boost::uint_least32_t column() const BOOST_NOEXCEPT - { - return column_; - } -}; - -template std::basic_ostream & operator<<( std::basic_ostream & os, source_location const & loc ) -{ - os.width( 0 ); - - if( loc.line() == 0 ) - { - os << "(unknown source location)"; - } - else - { - os << loc.file_name() << ':' << loc.line(); - - if( loc.column() ) - { - os << ':' << loc.column(); - } - - os << ": in function '" << loc.function_name() << '\''; - } - - return os; -} - -} // namespace boost - -#if defined( BOOST_DISABLE_CURRENT_LOCATION ) - -# define BOOST_CURRENT_LOCATION ::boost::source_location() - -#else - -# define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, BOOST_CURRENT_FUNCTION) - -#endif - -#endif // #ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind/bind.hpp b/external/include/boost_1_75/boost/bind/bind.hpp deleted file mode 100644 index 2301234c33..0000000000 --- a/external/include/boost_1_75/boost/bind/bind.hpp +++ /dev/null @@ -1,2344 +0,0 @@ -#ifndef BOOST_BIND_BIND_HPP_INCLUDED -#define BOOST_BIND_BIND_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// bind.hpp - binds function objects to arguments -// -// Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2001 David Abrahams -// Copyright (c) 2005 Peter Dimov -// -// 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) -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) -#include // std::forward -#endif - -// Borland-specific bug, visit_each() silently fails to produce code - -#if defined(BOOST_BORLANDC) -# define BOOST_BIND_VISIT_EACH boost::visit_each -#else -# define BOOST_BIND_VISIT_EACH visit_each -#endif - -#include - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4512) // assignment operator could not be generated -#endif - -namespace boost -{ - -template class weak_ptr; - -namespace _bi // implementation details -{ - -// ref_compare - -template bool ref_compare( T const & a, T const & b, long ) -{ - return a == b; -} - -template bool ref_compare( arg const &, arg const &, int ) -{ - return true; -} - -template bool ref_compare( arg (*) (), arg (*) (), int ) -{ - return true; -} - -template bool ref_compare( reference_wrapper const & a, reference_wrapper const & b, int ) -{ - return a.get_pointer() == b.get_pointer(); -} - -// bind_t forward declaration for listN - -template class bind_t; - -template bool ref_compare( bind_t const & a, bind_t const & b, int ) -{ - return a.compare( b ); -} - -// value - -template class value -{ -public: - - value(T const & t): t_(t) {} - - T & get() { return t_; } - T const & get() const { return t_; } - - bool operator==(value const & rhs) const - { - return t_ == rhs.t_; - } - -private: - - T t_; -}; - -// ref_compare for weak_ptr - -template bool ref_compare( value< weak_ptr > const & a, value< weak_ptr > const & b, int ) -{ - return !(a.get() < b.get()) && !(b.get() < a.get()); -} - -// type - -template class type {}; - -// unwrap - -template struct unwrapper -{ - static inline F & unwrap( F & f, long ) - { - return f; - } - - template static inline F2 & unwrap( reference_wrapper rf, int ) - { - return rf.get(); - } - - template static inline _mfi::dm unwrap( R T::* pm, int ) - { - return _mfi::dm( pm ); - } -}; - -// listN - -class list0 -{ -public: - - list0() {} - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A &, long) - { - return unwrapper::unwrap(f, 0)(); - } - - template R operator()(type, F const & f, A &, long) const - { - return unwrapper::unwrap(f, 0)(); - } - - template void operator()(type, F & f, A &, int) - { - unwrapper::unwrap(f, 0)(); - } - - template void operator()(type, F const & f, A &, int) const - { - unwrapper::unwrap(f, 0)(); - } - - template void accept(V &) const - { - } - - bool operator==(list0 const &) const - { - return true; - } -}; - -#ifdef BOOST_MSVC -// MSVC is bright enough to realise that the parameter rhs -// in operator==may be unused for some template argument types: -#pragma warning(push) -#pragma warning(disable:4100) -#endif - -template< class A1 > class list1: private storage1< A1 > -{ -private: - - typedef storage1< A1 > base_type; - -public: - - explicit list1( A1 a1 ): base_type( a1 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list1 const & rhs) const - { - return ref_compare(base_type::a1_, rhs.a1_, 0); - } -}; - -struct logical_and; -struct logical_or; - -template< class A1, class A2 > class list2: private storage2< A1, A2 > -{ -private: - - typedef storage2< A1, A2 > base_type; - -public: - - list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); - } - - template bool operator()( type, logical_and & /*f*/, A & a, int ) - { - return a[ base_type::a1_ ] && a[ base_type::a2_ ]; - } - - template bool operator()( type, logical_and const & /*f*/, A & a, int ) const - { - return a[ base_type::a1_ ] && a[ base_type::a2_ ]; - } - - template bool operator()( type, logical_or & /*f*/, A & a, int ) - { - return a[ base_type::a1_ ] || a[ base_type::a2_ ]; - } - - template bool operator()( type, logical_or const & /*f*/, A & a, int ) const - { - return a[ base_type::a1_ ] || a[ base_type::a2_ ]; - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list2 const & rhs) const - { - return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0); - } -}; - -template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 > -{ -private: - - typedef storage3< A1, A2, A3 > base_type; - -public: - - list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list3 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ); - } -}; - -template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 > -{ -private: - - typedef storage4< A1, A2, A3, A4 > base_type; - -public: - - list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list4 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 > -{ -private: - - typedef storage5< A1, A2, A3, A4, A5 > base_type; - -public: - - list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list5 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ); - } -}; - -template class list6: private storage6< A1, A2, A3, A4, A5, A6 > -{ -private: - - typedef storage6< A1, A2, A3, A4, A5, A6 > base_type; - -public: - - list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list6 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ); - } -}; - -template class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 > -{ -private: - - typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type; - -public: - - list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - A7 operator[] (boost::arg<7>) const { return base_type::a7_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list7 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ) && - ref_compare( base_type::a7_, rhs.a7_, 0 ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 > -{ -private: - - typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type; - -public: - - list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - A7 operator[] (boost::arg<7>) const { return base_type::a7_; } - A8 operator[] (boost::arg<8>) const { return base_type::a8_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } - A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list8 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ) && - ref_compare( base_type::a7_, rhs.a7_, 0 ) && - ref_compare( base_type::a8_, rhs.a8_, 0 ); - } -}; - -template class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > -{ -private: - - typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type; - -public: - - list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {} - - A1 operator[] (boost::arg<1>) const { return base_type::a1_; } - A2 operator[] (boost::arg<2>) const { return base_type::a2_; } - A3 operator[] (boost::arg<3>) const { return base_type::a3_; } - A4 operator[] (boost::arg<4>) const { return base_type::a4_; } - A5 operator[] (boost::arg<5>) const { return base_type::a5_; } - A6 operator[] (boost::arg<6>) const { return base_type::a6_; } - A7 operator[] (boost::arg<7>) const { return base_type::a7_; } - A8 operator[] (boost::arg<8>) const { return base_type::a8_; } - A9 operator[] (boost::arg<9>) const { return base_type::a9_; } - - A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } - A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } - A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } - A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } - A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } - A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } - A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } - A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } - A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; } - - template T & operator[] (_bi::value & v) const { return v.get(); } - - template T const & operator[] (_bi::value const & v) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } - - template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } - - template R operator()(type, F & f, A & a, long) - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template R operator()(type, F const & f, A & a, long) const - { - return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template void operator()(type, F & f, A & a, int) - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template void operator()(type, F const & f, A & a, int) const - { - unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); - } - - template void accept(V & v) const - { - base_type::accept(v); - } - - bool operator==(list9 const & rhs) const - { - return - - ref_compare( base_type::a1_, rhs.a1_, 0 ) && - ref_compare( base_type::a2_, rhs.a2_, 0 ) && - ref_compare( base_type::a3_, rhs.a3_, 0 ) && - ref_compare( base_type::a4_, rhs.a4_, 0 ) && - ref_compare( base_type::a5_, rhs.a5_, 0 ) && - ref_compare( base_type::a6_, rhs.a6_, 0 ) && - ref_compare( base_type::a7_, rhs.a7_, 0 ) && - ref_compare( base_type::a8_, rhs.a8_, 0 ) && - ref_compare( base_type::a9_, rhs.a9_, 0 ); - } -}; - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -// bind_t - -#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) - -template< class A1 > class rrlist1 -{ -private: - - A1 & a1_; // not A1&& because of msvc-10.0 - -public: - - explicit rrlist1( A1 & a1 ): a1_( a1 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } // not static_cast because of g++ 4.9 - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist1 a( a1_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist1 a( a1_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2 > class rrlist2 -{ -private: - - A1 & a1_; - A2 & a2_; - -public: - - rrlist2( A1 & a1, A2 & a2 ): a1_( a1 ), a2_( a2 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist2 a( a1_, a2_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist2 a( a1_, a2_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3 > class rrlist3 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - -public: - - rrlist3( A1 & a1, A2 & a2, A3 & a3 ): a1_( a1 ), a2_( a2 ), a3_( a3 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist3 a( a1_, a2_, a3_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist3 a( a1_, a2_, a3_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3, class A4 > class rrlist4 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - A4 & a4_; - -public: - - rrlist4( A1 & a1, A2 & a2, A3 & a3, A4 & a4 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4>) const { return std::forward( a4_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward( a4_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist4 a( a1_, a2_, a3_, a4_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist4 a( a1_, a2_, a3_, a4_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5 > class rrlist5 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - A4 & a4_; - A5 & a5_; - -public: - - rrlist5( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4>) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5>) const { return std::forward( a5_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward( a5_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist5 a( a1_, a2_, a3_, a4_, a5_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist5 a( a1_, a2_, a3_, a4_, a5_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5, class A6 > class rrlist6 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - A4 & a4_; - A5 & a5_; - A6 & a6_; - -public: - - rrlist6( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4>) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5>) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6>) const { return std::forward( a6_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward( a6_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist6 a( a1_, a2_, a3_, a4_, a5_, a6_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist6 a( a1_, a2_, a3_, a4_, a5_, a6_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5, class A6, class A7 > class rrlist7 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - A4 & a4_; - A5 & a5_; - A6 & a6_; - A7 & a7_; - -public: - - rrlist7( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4>) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5>) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6>) const { return std::forward( a6_ ); } - A7 && operator[] (boost::arg<7>) const { return std::forward( a7_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward( a6_ ); } - A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward( a7_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist7 a( a1_, a2_, a3_, a4_, a5_, a6_, a7_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist7 a( a1_, a2_, a3_, a4_, a5_, a6_, a7_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class rrlist8 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - A4 & a4_; - A5 & a5_; - A6 & a6_; - A7 & a7_; - A8 & a8_; - -public: - - rrlist8( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ), a8_( a8 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4>) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5>) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6>) const { return std::forward( a6_ ); } - A7 && operator[] (boost::arg<7>) const { return std::forward( a7_ ); } - A8 && operator[] (boost::arg<8>) const { return std::forward( a8_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward( a6_ ); } - A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward( a7_ ); } - A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward( a8_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist8 a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist8 a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_ ); - return b.eval( a ); - } -}; - -template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9 > class rrlist9 -{ -private: - - A1 & a1_; - A2 & a2_; - A3 & a3_; - A4 & a4_; - A5 & a5_; - A6 & a6_; - A7 & a7_; - A8 & a8_; - A9 & a9_; - -public: - - rrlist9( A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9 ): a1_( a1 ), a2_( a2 ), a3_( a3 ), a4_( a4 ), a5_( a5 ), a6_( a6 ), a7_( a7 ), a8_( a8 ), a9_( a9 ) {} - - A1 && operator[] (boost::arg<1>) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2>) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3>) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4>) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5>) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6>) const { return std::forward( a6_ ); } - A7 && operator[] (boost::arg<7>) const { return std::forward( a7_ ); } - A8 && operator[] (boost::arg<8>) const { return std::forward( a8_ ); } - A9 && operator[] (boost::arg<9>) const { return std::forward( a9_ ); } - - A1 && operator[] (boost::arg<1> (*) ()) const { return std::forward( a1_ ); } - A2 && operator[] (boost::arg<2> (*) ()) const { return std::forward( a2_ ); } - A3 && operator[] (boost::arg<3> (*) ()) const { return std::forward( a3_ ); } - A4 && operator[] (boost::arg<4> (*) ()) const { return std::forward( a4_ ); } - A5 && operator[] (boost::arg<5> (*) ()) const { return std::forward( a5_ ); } - A6 && operator[] (boost::arg<6> (*) ()) const { return std::forward( a6_ ); } - A7 && operator[] (boost::arg<7> (*) ()) const { return std::forward( a7_ ); } - A8 && operator[] (boost::arg<8> (*) ()) const { return std::forward( a8_ ); } - A9 && operator[] (boost::arg<9> (*) ()) const { return std::forward( a9_ ); } - - template T & operator[] ( _bi::value & v ) const { return v.get(); } - - template T const & operator[] ( _bi::value const & v ) const { return v.get(); } - - template T & operator[] (reference_wrapper const & v) const { return v.get(); } - - template typename result_traits::type operator[] (bind_t & b) const - { - rrlist9 a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_ ); - return b.eval( a ); - } - - template typename result_traits::type operator[] (bind_t const & b) const - { - rrlist9 a( a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_ ); - return b.eval( a ); - } -}; - -template class bind_t -{ -private: - - F f_; - L l_; - -public: - - typedef typename result_traits::type result_type; - typedef bind_t this_type; - - bind_t( F f, L const & l ): f_( f ), l_( l ) {} - - // - - result_type operator()() - { - list0 a; - return l_( type(), f_, a, 0 ); - } - - result_type operator()() const - { - list0 a; - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1 ) - { - rrlist1< A1 > a( a1 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1 ) const - { - rrlist1< A1 > a( a1 ); - return l_(type(), f_, a, 0); - } - - template result_type operator()( A1 && a1, A2 && a2 ) - { - rrlist2< A1, A2 > a( a1, a2 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2 ) const - { - rrlist2< A1, A2 > a( a1, a2 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) - { - rrlist3< A1, A2, A3 > a( a1, a2, a3 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) const - { - rrlist3< A1, A2, A3 > a( a1, a2, a3 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) - { - rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) const - { - rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 ) - { - rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 ) const - { - rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 ) - { - rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 ) const - { - rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 ) - { - rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 ) const - { - rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 ) - { - rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 ) const - { - rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 ) - { - rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 ); - return l_( type(), f_, a, 0 ); - } - - template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 ) const - { - rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 ); - return l_( type(), f_, a, 0 ); - } - - // - - template result_type eval( A & a ) - { - return l_( type(), f_, a, 0 ); - } - - template result_type eval( A & a ) const - { - return l_( type(), f_, a, 0 ); - } - - template void accept( V & v ) const - { -#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( BOOST_BORLANDC ) - using boost::visit_each; -#endif - - BOOST_BIND_VISIT_EACH( v, f_, 0 ); - l_.accept( v ); - } - - bool compare( this_type const & rhs ) const - { - return ref_compare( f_, rhs.f_, 0 ) && l_ == rhs.l_; - } -}; - -#elif !defined( BOOST_NO_VOID_RETURNS ) - -template class bind_t -{ -public: - - typedef bind_t this_type; - - bind_t(F f, L const & l): f_(f), l_(l) {} - -#define BOOST_BIND_RETURN return -#include -#undef BOOST_BIND_RETURN - -}; - -#else // no void returns - -template struct bind_t_generator -{ - -template class implementation -{ -public: - - typedef implementation this_type; - - implementation(F f, L const & l): f_(f), l_(l) {} - -#define BOOST_BIND_RETURN return -#include -#undef BOOST_BIND_RETURN - -}; - -}; - -template<> struct bind_t_generator -{ - -template class implementation -{ -private: - - typedef void R; - -public: - - typedef implementation this_type; - - implementation(F f, L const & l): f_(f), l_(l) {} - -#define BOOST_BIND_RETURN -#include -#undef BOOST_BIND_RETURN - -}; - -}; - -template class bind_t: public bind_t_generator::BOOST_NESTED_TEMPLATE implementation -{ -public: - - bind_t(F f, L const & l): bind_t_generator::BOOST_NESTED_TEMPLATE implementation(f, l) {} - -}; - -#endif - -// function_equal - -#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP - -// put overloads in _bi, rely on ADL - -# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template bool function_equal( bind_t const & a, bind_t const & b ) -{ - return a.compare(b); -} - -# else - -template bool function_equal_impl( bind_t const & a, bind_t const & b, int ) -{ - return a.compare(b); -} - -# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP - -// put overloads in boost - -} // namespace _bi - -# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -template bool function_equal( _bi::bind_t const & a, _bi::bind_t const & b ) -{ - return a.compare(b); -} - -# else - -template bool function_equal_impl( _bi::bind_t const & a, _bi::bind_t const & b, int ) -{ - return a.compare(b); -} - -# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - -namespace _bi -{ - -#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP - -// add_value - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530) - -#if defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x582) ) - -template struct add_value -{ - typedef _bi::value type; -}; - -#else - -template< class T, int I > struct add_value_2 -{ - typedef boost::arg type; -}; - -template< class T > struct add_value_2< T, 0 > -{ - typedef _bi::value< T > type; -}; - -template struct add_value -{ - typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type; -}; - -#endif - -template struct add_value< value > -{ - typedef _bi::value type; -}; - -template struct add_value< reference_wrapper > -{ - typedef reference_wrapper type; -}; - -template struct add_value< arg > -{ - typedef boost::arg type; -}; - -template struct add_value< arg (*) () > -{ - typedef boost::arg (*type) (); -}; - -template struct add_value< bind_t > -{ - typedef bind_t type; -}; - -#else - -template struct _avt_0; - -template<> struct _avt_0<1> -{ - template struct inner - { - typedef T type; - }; -}; - -template<> struct _avt_0<2> -{ - template struct inner - { - typedef value type; - }; -}; - -typedef char (&_avt_r1) [1]; -typedef char (&_avt_r2) [2]; - -template _avt_r1 _avt_f(value); -template _avt_r1 _avt_f(reference_wrapper); -template _avt_r1 _avt_f(arg); -template _avt_r1 _avt_f(arg (*) ()); -template _avt_r1 _avt_f(bind_t); - -_avt_r2 _avt_f(...); - -template struct add_value -{ - static T t(); - typedef typename _avt_0::template inner::type type; -}; - -#endif - -// list_av_N - -template struct list_av_1 -{ - typedef typename add_value::type B1; - typedef list1 type; -}; - -template struct list_av_2 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef list2 type; -}; - -template struct list_av_3 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef list3 type; -}; - -template struct list_av_4 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef list4 type; -}; - -template struct list_av_5 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef list5 type; -}; - -template struct list_av_6 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef list6 type; -}; - -template struct list_av_7 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef typename add_value::type B7; - typedef list7 type; -}; - -template struct list_av_8 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef typename add_value::type B7; - typedef typename add_value::type B8; - typedef list8 type; -}; - -template struct list_av_9 -{ - typedef typename add_value::type B1; - typedef typename add_value::type B2; - typedef typename add_value::type B3; - typedef typename add_value::type B4; - typedef typename add_value::type B5; - typedef typename add_value::type B6; - typedef typename add_value::type B7; - typedef typename add_value::type B8; - typedef typename add_value::type B9; - typedef list9 type; -}; - -// operator! - -struct logical_not -{ - template bool operator()(V const & v) const { return !v; } -}; - -template - bind_t< bool, logical_not, list1< bind_t > > - operator! (bind_t const & f) -{ - typedef list1< bind_t > list_type; - return bind_t ( logical_not(), list_type(f) ); -} - -// relational operators - -#define BOOST_BIND_OPERATOR( op, name ) \ -\ -struct name \ -{ \ - template bool operator()(V const & v, W const & w) const { return v op w; } \ -}; \ - \ -template \ - bind_t< bool, name, list2< bind_t, typename add_value::type > > \ - operator op (bind_t const & f, A2 a2) \ -{ \ - typedef typename add_value::type B2; \ - typedef list2< bind_t, B2> list_type; \ - return bind_t ( name(), list_type(f, a2) ); \ -} - -BOOST_BIND_OPERATOR( ==, equal ) -BOOST_BIND_OPERATOR( !=, not_equal ) - -BOOST_BIND_OPERATOR( <, less ) -BOOST_BIND_OPERATOR( <=, less_equal ) - -BOOST_BIND_OPERATOR( >, greater ) -BOOST_BIND_OPERATOR( >=, greater_equal ) - -BOOST_BIND_OPERATOR( &&, logical_and ) -BOOST_BIND_OPERATOR( ||, logical_or ) - -#undef BOOST_BIND_OPERATOR - -#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) - -// resolve ambiguity with rel_ops - -#define BOOST_BIND_OPERATOR( op, name ) \ -\ -template \ - bind_t< bool, name, list2< bind_t, bind_t > > \ - operator op (bind_t const & f, bind_t const & g) \ -{ \ - typedef list2< bind_t, bind_t > list_type; \ - return bind_t ( name(), list_type(f, g) ); \ -} - -BOOST_BIND_OPERATOR( !=, not_equal ) -BOOST_BIND_OPERATOR( <=, less_equal ) -BOOST_BIND_OPERATOR( >, greater ) -BOOST_BIND_OPERATOR( >=, greater_equal ) - -#endif - -// visit_each, ADL - -#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( BOOST_BORLANDC ) \ - && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) - -template void visit_each( V & v, value const & t, int ) -{ - using boost::visit_each; - BOOST_BIND_VISIT_EACH( v, t.get(), 0 ); -} - -template void visit_each( V & v, bind_t const & t, int ) -{ - t.accept( v ); -} - -#endif - -} // namespace _bi - -// visit_each, no ADL - -#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( BOOST_BORLANDC ) \ - || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) - -template void visit_each( V & v, _bi::value const & t, int ) -{ - BOOST_BIND_VISIT_EACH( v, t.get(), 0 ); -} - -template void visit_each( V & v, _bi::bind_t const & t, int ) -{ - t.accept( v ); -} - -#endif - -// is_bind_expression - -template< class T > struct is_bind_expression -{ - enum _vt { value = 0 }; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > > -{ - enum _vt { value = 1 }; -}; - -#endif - -// bind - -#ifndef BOOST_BIND -#define BOOST_BIND bind -#endif - -// generic function objects - -template - _bi::bind_t - BOOST_BIND(F f) -{ - typedef _bi::list0 list_type; - return _bi::bind_t (f, list_type()); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1) -{ - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t (f, list_type(a1)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2) -{ - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t (f, list_type(a1, a2)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3) -{ - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -// generic function objects, alternative syntax - -template - _bi::bind_t - BOOST_BIND(boost::type, F f) -{ - typedef _bi::list0 list_type; - return _bi::bind_t (f, list_type()); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1) -{ - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t (f, list_type(a1)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2) -{ - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t (f, list_type(a1, a2)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3) -{ - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t::type> - BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -// adaptable function objects - -template - _bi::bind_t<_bi::unspecified, F, _bi::list0> - BOOST_BIND(F f) -{ - typedef _bi::list0 list_type; - return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type()); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1::type> - BOOST_BIND(F f, A1 a1) -{ - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2::type> - BOOST_BIND(F f, A1 a1, A2 a2) -{ - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3) -{ - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9::type> - BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -// function pointers - -#define BOOST_BIND_CC -#define BOOST_BIND_ST -#define BOOST_BIND_NOEXCEPT - -#include - -# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) -# undef BOOST_BIND_NOEXCEPT -# define BOOST_BIND_NOEXCEPT noexcept -# include -# endif - -#undef BOOST_BIND_CC -#undef BOOST_BIND_ST -#undef BOOST_BIND_NOEXCEPT - -#if defined(BOOST_BIND_ENABLE_STDCALL) && !defined(_M_X64) - -#define BOOST_BIND_CC __stdcall -#define BOOST_BIND_ST -#define BOOST_BIND_NOEXCEPT - -#include - -#undef BOOST_BIND_CC -#undef BOOST_BIND_ST -#undef BOOST_BIND_NOEXCEPT - -#endif - -#if defined(BOOST_BIND_ENABLE_FASTCALL) && !defined(_M_X64) - -#define BOOST_BIND_CC __fastcall -#define BOOST_BIND_ST -#define BOOST_BIND_NOEXCEPT - -#include - -#undef BOOST_BIND_CC -#undef BOOST_BIND_ST -#undef BOOST_BIND_NOEXCEPT - -#endif - -#ifdef BOOST_BIND_ENABLE_PASCAL - -#define BOOST_BIND_ST pascal -#define BOOST_BIND_CC -#define BOOST_BIND_NOEXCEPT - -#include - -#undef BOOST_BIND_ST -#undef BOOST_BIND_CC -#undef BOOST_BIND_NOEXCEPT - -#endif - -// member function pointers - -#define BOOST_BIND_MF_NAME(X) X -#define BOOST_BIND_MF_CC -#define BOOST_BIND_MF_NOEXCEPT - -#include -#include - -# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) -# undef BOOST_BIND_MF_NOEXCEPT -# define BOOST_BIND_MF_NOEXCEPT noexcept -# include -# include -# endif - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC -#undef BOOST_BIND_MF_NOEXCEPT - -#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) - -#define BOOST_BIND_MF_NAME(X) X##_cdecl -#define BOOST_BIND_MF_CC __cdecl -#define BOOST_BIND_MF_NOEXCEPT - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC -#undef BOOST_BIND_MF_NOEXCEPT - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) - -#define BOOST_BIND_MF_NAME(X) X##_stdcall -#define BOOST_BIND_MF_CC __stdcall -#define BOOST_BIND_MF_NOEXCEPT - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC -#undef BOOST_BIND_MF_NOEXCEPT - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) - -#define BOOST_BIND_MF_NAME(X) X##_fastcall -#define BOOST_BIND_MF_CC __fastcall -#define BOOST_BIND_MF_NOEXCEPT - -#include -#include - -#undef BOOST_BIND_MF_NAME -#undef BOOST_BIND_MF_CC -#undef BOOST_BIND_MF_NOEXCEPT - -#endif - -// data member pointers - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - || ( defined(BOOST_BORLANDC) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT( 0x620 ) ) ) - -template -_bi::bind_t< R, _mfi::dm, typename _bi::list_av_1::type > - BOOST_BIND(R T::*f, A1 a1) -{ - typedef _mfi::dm F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t( F(f), list_type(a1) ); -} - -#else - -namespace _bi -{ - -template< class Pm, int I > struct add_cref; - -template< class M, class T > struct add_cref< M T::*, 0 > -{ - typedef M type; -}; - -template< class M, class T > struct add_cref< M T::*, 1 > -{ -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4180) -#endif - typedef M const & type; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -}; - -template< class R, class T > struct add_cref< R (T::*) (), 1 > -{ - typedef void type; -}; - -#if !defined(__IBMCPP__) || __IBMCPP_FUNC_CV_TMPL_ARG_DEDUCTION - -template< class R, class T > struct add_cref< R (T::*) () const, 1 > -{ - typedef void type; -}; - -#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) - -template< class R, class T > struct add_cref< R (T::*) () const noexcept, 1 > -{ - typedef void type; -}; - -#endif // __cpp_noexcept_function_type - -#endif // __IBMCPP__ - -template struct isref -{ - enum value_type { value = 0 }; -}; - -template struct isref< R& > -{ - enum value_type { value = 1 }; -}; - -template struct isref< R* > -{ - enum value_type { value = 1 }; -}; - -template struct dm_result -{ - typedef typename add_cref< Pm, 1 >::type type; -}; - -template struct dm_result< Pm, bind_t > -{ - typedef typename bind_t::result_type result_type; - typedef typename add_cref< Pm, isref< result_type >::value >::type type; -}; - -} // namespace _bi - -template< class A1, class M, class T > - -_bi::bind_t< - typename _bi::dm_result< M T::*, A1 >::type, - _mfi::dm, - typename _bi::list_av_1::type -> - -BOOST_BIND( M T::*f, A1 a1 ) -{ - typedef typename _bi::dm_result< M T::*, A1 >::type result_type; - typedef _mfi::dm F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) ); -} - -#endif - -} // namespace boost - -#ifndef BOOST_BIND_NO_PLACEHOLDERS - -# include - -#endif - -#ifdef BOOST_MSVC -# pragma warning(default: 4512) // assignment operator could not be generated -# pragma warning(pop) -#endif - -#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind/bind_mf2_cc.hpp b/external/include/boost_1_75/boost/bind/bind_mf2_cc.hpp deleted file mode 100644 index be20b1d907..0000000000 --- a/external/include/boost_1_75/boost/bind/bind_mf2_cc.hpp +++ /dev/null @@ -1,228 +0,0 @@ -// -// bind/bind_mf2_cc.hpp - member functions, type<> syntax -// -// Do not include this header directly. -// -// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2008 Peter Dimov -// -// 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 -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -// 0 - -template - _bi::bind_t, typename _bi::list_av_1::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -template - _bi::bind_t, typename _bi::list_av_1::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -// 1 - -template - _bi::bind_t, typename _bi::list_av_2::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -template - _bi::bind_t, typename _bi::list_av_2::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -// 2 - -template - _bi::bind_t, typename _bi::list_av_3::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -template - _bi::bind_t, typename _bi::list_av_3::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -// 3 - -template - _bi::bind_t, typename _bi::list_av_4::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t, typename _bi::list_av_4::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -// 4 - -template - _bi::bind_t, typename _bi::list_av_5::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t, typename _bi::list_av_5::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -// 5 - -template - _bi::bind_t, typename _bi::list_av_6::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t, typename _bi::list_av_6::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -// 6 - -template - _bi::bind_t, typename _bi::list_av_7::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t, typename _bi::list_av_7::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -// 7 - -template - _bi::bind_t, typename _bi::list_av_8::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t, typename _bi::list_av_8::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -// 8 - -template - _bi::bind_t, typename _bi::list_av_9::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -template - _bi::bind_t, typename _bi::list_av_9::type> - BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} diff --git a/external/include/boost_1_75/boost/bind/bind_mf_cc.hpp b/external/include/boost_1_75/boost/bind/bind_mf_cc.hpp deleted file mode 100644 index bbfd3719b6..0000000000 --- a/external/include/boost_1_75/boost/bind/bind_mf_cc.hpp +++ /dev/null @@ -1,441 +0,0 @@ -// -// bind/bind_mf_cc.hpp - support for different calling conventions -// -// Do not include this header directly. -// -// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. -// -// 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) -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -// 0 - -template - _bi::bind_t, typename _bi::list_av_1::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -template - _bi::bind_t, typename _bi::list_av_1::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_1::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_1::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; - typedef typename _bi::list_av_1::type list_type; - return _bi::bind_t(F(f), list_type(a1)); -} - -// 1 - -template - _bi::bind_t, typename _bi::list_av_2::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -template - _bi::bind_t, typename _bi::list_av_2::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_2::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_2::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; - typedef typename _bi::list_av_2::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2)); -} - -// 2 - -template - _bi::bind_t, typename _bi::list_av_3::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -template - _bi::bind_t, typename _bi::list_av_3::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_3::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_3::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; - typedef typename _bi::list_av_3::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3)); -} - -// 3 - -template - _bi::bind_t, typename _bi::list_av_4::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -template - _bi::bind_t, typename _bi::list_av_4::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_4::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_4::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; - typedef typename _bi::list_av_4::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); -} - -// 4 - -template - _bi::bind_t, typename _bi::list_av_5::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -template - _bi::bind_t, typename _bi::list_av_5::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_5::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_5::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; - typedef typename _bi::list_av_5::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); -} - -// 5 - -template - _bi::bind_t, typename _bi::list_av_6::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -template - _bi::bind_t, typename _bi::list_av_6::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_6::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_6::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; - typedef typename _bi::list_av_6::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); -} - -// 6 - -template - _bi::bind_t, typename _bi::list_av_7::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - _bi::bind_t, typename _bi::list_av_7::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_7::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_7::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; - typedef typename _bi::list_av_7::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); -} - -// 7 - -template - _bi::bind_t, typename _bi::list_av_8::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - _bi::bind_t, typename _bi::list_av_8::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_8::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_8::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; - typedef typename _bi::list_av_8::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); -} - -// 8 - -template - _bi::bind_t, typename _bi::list_av_9::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -template - _bi::bind_t, typename _bi::list_av_9::type> - BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_9::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} - -template - typename boost::enable_if_c::value, - _bi::bind_t, typename _bi::list_av_9::type> - >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) -{ - typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; - typedef typename _bi::list_av_9::type list_type; - return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); -} diff --git a/external/include/boost_1_75/boost/bind/bind_template.hpp b/external/include/boost_1_75/boost/bind/bind_template.hpp deleted file mode 100644 index 212ced7fa7..0000000000 --- a/external/include/boost_1_75/boost/bind/bind_template.hpp +++ /dev/null @@ -1,345 +0,0 @@ -// -// bind/bind_template.hpp -// -// Do not include this header directly. -// -// Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd. -// -// 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) -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - - typedef typename result_traits::type result_type; - - result_type operator()() - { - list0 a; - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - result_type operator()() const - { - list0 a; - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1) - { - list1 a(a1); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1) const - { - list1 a(a1); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1) - { - list1 a(a1); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1) const - { - list1 a(a1); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2) - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2) const - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 & a2) - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 & a2) const - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - - template result_type operator()(A1 & a1, A2 const & a2) - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 const & a2) const - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - - template result_type operator()(A1 const & a1, A2 const & a2) - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2) const - { - list2 a(a1, a2); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3) - { - list3 a(a1, a2, a3); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3) const - { - list3 a(a1, a2, a3); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) - { - list3 a(a1, a2, a3); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const - { - list3 a(a1, a2, a3); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) - { - list4 a(a1, a2, a3, a4); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const - { - list4 a(a1, a2, a3, a4); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) - { - list4 a(a1, a2, a3, a4); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const - { - list4 a(a1, a2, a3, a4); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) - { - list5 a(a1, a2, a3, a4, a5); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const - { - list5 a(a1, a2, a3, a4, a5); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) - { - list5 a(a1, a2, a3, a4, a5); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const - { - list5 a(a1, a2, a3, a4, a5); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) - { - list6 a(a1, a2, a3, a4, a5, a6); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const - { - list6 a(a1, a2, a3, a4, a5, a6); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) - { - list6 a(a1, a2, a3, a4, a5, a6); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const - { - list6 a(a1, a2, a3, a4, a5, a6); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) - { - list7 a(a1, a2, a3, a4, a5, a6, a7); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const - { - list7 a(a1, a2, a3, a4, a5, a6, a7); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) - { - list7 a(a1, a2, a3, a4, a5, a6, a7); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const - { - list7 a(a1, a2, a3, a4, a5, a6, a7); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) - { - list8 a(a1, a2, a3, a4, a5, a6, a7, a8); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const - { - list8 a(a1, a2, a3, a4, a5, a6, a7, a8); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) - { - list8 a(a1, a2, a3, a4, a5, a6, a7, a8); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const - { - list8 a(a1, a2, a3, a4, a5, a6, a7, a8); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) - { - list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const - { - list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) - { - list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const - { - list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - -#endif - - template result_type eval(A & a) - { - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template result_type eval(A & a) const - { - BOOST_BIND_RETURN l_(type(), f_, a, 0); - } - - template void accept(V & v) const - { -#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( BOOST_BORLANDC ) - - using boost::visit_each; - -#endif - BOOST_BIND_VISIT_EACH(v, f_, 0); - l_.accept(v); - } - - bool compare(this_type const & rhs) const - { - return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_; - } - -private: - - F f_; - L l_; diff --git a/external/include/boost_1_75/boost/bind/mem_fn.hpp b/external/include/boost_1_75/boost/bind/mem_fn.hpp deleted file mode 100644 index 5afb0a1a89..0000000000 --- a/external/include/boost_1_75/boost/bind/mem_fn.hpp +++ /dev/null @@ -1,403 +0,0 @@ -#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED -#define BOOST_BIND_MEM_FN_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// mem_fn.hpp - a generalization of std::mem_fun[_ref] -// -// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. -// Copyright (c) 2001 David Abrahams -// Copyright (c) 2003-2005 Peter Dimov -// -// 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) -// -// See http://www.boost.org/libs/bind/mem_fn.html for documentation. -// - -#include -#include -#include - -namespace boost -{ - -#if defined(BOOST_NO_VOID_RETURNS) - -#define BOOST_MEM_FN_CLASS_F , class F -#define BOOST_MEM_FN_TYPEDEF(X) - -namespace _mfi // mem_fun_impl -{ - -template struct mf -{ - -#define BOOST_MEM_FN_RETURN return - -#define BOOST_MEM_FN_NAME(X) inner_##X -#define BOOST_MEM_FN_CC - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl -#define BOOST_MEM_FN_CC __cdecl - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall -#define BOOST_MEM_FN_CC __stdcall - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall -#define BOOST_MEM_FN_CC __fastcall - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#undef BOOST_MEM_FN_RETURN - -}; // struct mf - -template<> struct mf -{ - -#define BOOST_MEM_FN_RETURN - -#define BOOST_MEM_FN_NAME(X) inner_##X -#define BOOST_MEM_FN_CC - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl -#define BOOST_MEM_FN_CC __cdecl - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#ifdef BOOST_MEM_FN_ENABLE_STDCALL - -#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall -#define BOOST_MEM_FN_CC __stdcall - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#ifdef BOOST_MEM_FN_ENABLE_FASTCALL - -#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall -#define BOOST_MEM_FN_CC __fastcall - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#undef BOOST_MEM_FN_RETURN - -}; // struct mf - -#undef BOOST_MEM_FN_CLASS_F -#undef BOOST_MEM_FN_TYPEDEF_F - -#define BOOST_MEM_FN_NAME(X) X -#define BOOST_MEM_FN_NAME2(X) inner_##X -#define BOOST_MEM_FN_CC - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_NAME2 -#undef BOOST_MEM_FN_CC - -#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_cdecl -#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl -#define BOOST_MEM_FN_CC __cdecl - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_NAME2 -#undef BOOST_MEM_FN_CC - -#endif - -#ifdef BOOST_MEM_FN_ENABLE_STDCALL - -#define BOOST_MEM_FN_NAME(X) X##_stdcall -#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall -#define BOOST_MEM_FN_CC __stdcall - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_NAME2 -#undef BOOST_MEM_FN_CC - -#endif - -#ifdef BOOST_MEM_FN_ENABLE_FASTCALL - -#define BOOST_MEM_FN_NAME(X) X##_fastcall -#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall -#define BOOST_MEM_FN_CC __fastcall - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_NAME2 -#undef BOOST_MEM_FN_CC - -#endif - -} // namespace _mfi - -#else // #ifdef BOOST_NO_VOID_RETURNS - -#define BOOST_MEM_FN_CLASS_F -#define BOOST_MEM_FN_TYPEDEF(X) typedef X; - -namespace _mfi -{ - -#define BOOST_MEM_FN_RETURN return - -#define BOOST_MEM_FN_NAME(X) X -#define BOOST_MEM_FN_CC - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_cdecl -#define BOOST_MEM_FN_CC __cdecl - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_stdcall -#define BOOST_MEM_FN_CC __stdcall - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_fastcall -#define BOOST_MEM_FN_CC __fastcall - -#include - -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NAME - -#endif - -#undef BOOST_MEM_FN_RETURN - -} // namespace _mfi - -#undef BOOST_MEM_FN_CLASS_F -#undef BOOST_MEM_FN_TYPEDEF - -#endif // #ifdef BOOST_NO_VOID_RETURNS - -#define BOOST_MEM_FN_NAME(X) X -#define BOOST_MEM_FN_CC -#define BOOST_MEM_FN_NOEXCEPT - -#include - -#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) -# undef BOOST_MEM_FN_NOEXCEPT -# define BOOST_MEM_FN_NOEXCEPT noexcept -# include -#endif - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NOEXCEPT - -#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_cdecl -#define BOOST_MEM_FN_CC __cdecl -#define BOOST_MEM_FN_NOEXCEPT - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NOEXCEPT - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_stdcall -#define BOOST_MEM_FN_CC __stdcall -#define BOOST_MEM_FN_NOEXCEPT - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NOEXCEPT - -#endif - -#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) - -#define BOOST_MEM_FN_NAME(X) X##_fastcall -#define BOOST_MEM_FN_CC __fastcall -#define BOOST_MEM_FN_NOEXCEPT - -#include - -#undef BOOST_MEM_FN_NAME -#undef BOOST_MEM_FN_CC -#undef BOOST_MEM_FN_NOEXCEPT - -#endif - -// data member support - -namespace _mfi -{ - -template class dm -{ -public: - - typedef R const & result_type; - typedef T const * argument_type; - -private: - - typedef R (T::*F); - F f_; - - template R const & call(U & u, T const *) const - { - return (u.*f_); - } - - template R const & call(U & u, void const *) const - { - return (get_pointer(u)->*f_); - } - -public: - - explicit dm(F f): f_(f) {} - - R & operator()(T * p) const - { - return (p->*f_); - } - - R const & operator()(T const * p) const - { - return (p->*f_); - } - - template R const & operator()(U const & u) const - { - return call(u, &u); - } - -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200) - - R & operator()(T & t) const - { - return (t.*f_); - } - - R const & operator()(T const & t) const - { - return (t.*f_); - } - -#endif - - bool operator==(dm const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(dm const & rhs) const - { - return f_ != rhs.f_; - } -}; - -} // namespace _mfi - -template _mfi::dm mem_fn(R T::*f) -{ - return _mfi::dm(f); -} - -} // namespace boost - -#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind/mem_fn_cc.hpp b/external/include/boost_1_75/boost/bind/mem_fn_cc.hpp deleted file mode 100644 index 03e38300a5..0000000000 --- a/external/include/boost_1_75/boost/bind/mem_fn_cc.hpp +++ /dev/null @@ -1,103 +0,0 @@ -// -// bind/mem_fn_cc.hpp - support for different calling conventions -// -// Do not include this header directly. -// -// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. -// -// 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) -// -// See http://www.boost.org/libs/bind/mem_fn.html for documentation. -// - -template _mfi::BOOST_MEM_FN_NAME(mf0) mem_fn(R (BOOST_MEM_FN_CC T::*f) () BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf0)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf0) mem_fn(R (BOOST_MEM_FN_CC T::*f) () const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf0)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf1) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf1)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf1) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf1)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf2) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf2)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf2) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf2)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf3) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf3)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf3) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf3)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf4) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf4)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf4) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf4)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf5) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf5)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf5) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf5)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf6) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf6)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf6) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf6)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf7) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf7)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf7) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf7)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(mf8) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(mf8)(f); -} - -template _mfi::BOOST_MEM_FN_NAME(cmf8) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const BOOST_MEM_FN_NOEXCEPT) -{ - return _mfi::BOOST_MEM_FN_NAME(cmf8)(f); -} diff --git a/external/include/boost_1_75/boost/bind/mem_fn_template.hpp b/external/include/boost_1_75/boost/bind/mem_fn_template.hpp deleted file mode 100644 index b26d585dbc..0000000000 --- a/external/include/boost_1_75/boost/bind/mem_fn_template.hpp +++ /dev/null @@ -1,1047 +0,0 @@ -// -// bind/mem_fn_template.hpp -// -// Do not include this header directly -// -// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. -// -// 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) -// -// See http://www.boost.org/libs/bind/mem_fn.html for documentation. -// - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) -# define BOOST_MEM_FN_ENABLE_CONST_OVERLOADS -#endif - -// mf0 - -template class BOOST_MEM_FN_NAME(mf0) -{ -public: - - typedef R result_type; - typedef T * argument_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) ()) - F f_; - - template R call(U & u, T const *) const - { - BOOST_MEM_FN_RETURN (u.*f_)(); - } - - template R call(U & u, void const *) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf0)(F f): f_(f) {} - - R operator()(T * p) const - { - BOOST_MEM_FN_RETURN (p->*f_)(); - } - - template R operator()(U & u) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p); - } - -#endif - - R operator()(T & t) const - { - BOOST_MEM_FN_RETURN (t.*f_)(); - } - - bool operator==(BOOST_MEM_FN_NAME(mf0) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf0) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf0 - -template class BOOST_MEM_FN_NAME(cmf0) -{ -public: - - typedef R result_type; - typedef T const * argument_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) () const) - F f_; - - template R call(U & u, T const *) const - { - BOOST_MEM_FN_RETURN (u.*f_)(); - } - - template R call(U & u, void const *) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {} - - template R operator()(U const & u) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p); - } - - R operator()(T const & t) const - { - BOOST_MEM_FN_RETURN (t.*f_)(); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf0) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf0) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf1 - -template class BOOST_MEM_FN_NAME(mf1) -{ -public: - - typedef R result_type; - typedef T * first_argument_type; - typedef A1 second_argument_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1)) - F f_; - - template R call(U & u, T const *, B1 & b1) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1); - } - - template R call(U & u, void const *, B1 & b1) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf1)(F f): f_(f) {} - - R operator()(T * p, A1 a1) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1); - } - - template R operator()(U & u, A1 a1) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1); - } - -#endif - - R operator()(T & t, A1 a1) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1); - } - - bool operator==(BOOST_MEM_FN_NAME(mf1) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf1) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf1 - -template class BOOST_MEM_FN_NAME(cmf1) -{ -public: - - typedef R result_type; - typedef T const * first_argument_type; - typedef A1 second_argument_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1) const) - F f_; - - template R call(U & u, T const *, B1 & b1) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1); - } - - template R call(U & u, void const *, B1 & b1) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1); - } - - R operator()(T const & t, A1 a1) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf1) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf1) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf2 - -template class BOOST_MEM_FN_NAME(mf2) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf2)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2); - } - - template R operator()(U & u, A1 a1, A2 a2) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2); - } - - bool operator==(BOOST_MEM_FN_NAME(mf2) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf2) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf2 - -template class BOOST_MEM_FN_NAME(cmf2) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1, A2 a2) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2); - } - - R operator()(T const & t, A1 a1, A2 a2) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf2) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf2) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf3 - -template class BOOST_MEM_FN_NAME(mf3) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf3)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2, A3 a3) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3); - } - - template R operator()(U & u, A1 a1, A2 a2, A3 a3) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2, A3 a3) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3); - } - - bool operator==(BOOST_MEM_FN_NAME(mf3) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf3) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf3 - -template class BOOST_MEM_FN_NAME(cmf3) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3); - } - - R operator()(T const & t, A1 a1, A2 a2, A3 a3) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf3) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf3) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf4 - -template class BOOST_MEM_FN_NAME(mf4) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf4)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4); - } - - template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4); - } - - bool operator==(BOOST_MEM_FN_NAME(mf4) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf4) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf4 - -template class BOOST_MEM_FN_NAME(cmf4) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4); - } - - R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf4) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf4) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf5 - -template class BOOST_MEM_FN_NAME(mf5) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf5)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5); - } - - template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5); - } - - bool operator==(BOOST_MEM_FN_NAME(mf5) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf5) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf5 - -template class BOOST_MEM_FN_NAME(cmf5) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5); - } - - R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf5) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf5) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf6 - -template class BOOST_MEM_FN_NAME(mf6) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf6)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6); - } - - template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6); - } - - bool operator==(BOOST_MEM_FN_NAME(mf6) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf6) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf6 - -template class BOOST_MEM_FN_NAME(cmf6) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6); - } - - R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf6) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf6) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf7 - -template class BOOST_MEM_FN_NAME(mf7) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf7)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7); - } - - template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7); - } - - bool operator==(BOOST_MEM_FN_NAME(mf7) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf7) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf7 - -template class BOOST_MEM_FN_NAME(cmf7) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {} - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7); - } - - R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf7) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf7) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// mf8 - -template class BOOST_MEM_FN_NAME(mf8) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8)) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8); - } - -public: - - explicit BOOST_MEM_FN_NAME(mf8)(F f): f_(f) {} - - R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8); - } - - template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); - } - -#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); - } - -#endif - - R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8); - } - - bool operator==(BOOST_MEM_FN_NAME(mf8) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(mf8) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -// cmf8 - -template class BOOST_MEM_FN_NAME(cmf8) -{ -public: - - typedef R result_type; - -private: - - BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const) - F f_; - - template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const - { - BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8); - } - - template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const - { - BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8); - } - -public: - - explicit BOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {} - - R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8); - } - - template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - U const * p = 0; - BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); - } - - R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const - { - BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8); - } - - bool operator==(BOOST_MEM_FN_NAME(cmf8) const & rhs) const - { - return f_ == rhs.f_; - } - - bool operator!=(BOOST_MEM_FN_NAME(cmf8) const & rhs) const - { - return f_ != rhs.f_; - } -}; - -#undef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS diff --git a/external/include/boost_1_75/boost/bind/mem_fn_vw.hpp b/external/include/boost_1_75/boost/bind/mem_fn_vw.hpp deleted file mode 100644 index f3fc58db04..0000000000 --- a/external/include/boost_1_75/boost/bind/mem_fn_vw.hpp +++ /dev/null @@ -1,130 +0,0 @@ -// -// bind/mem_fn_vw.hpp - void return helper wrappers -// -// Do not include this header directly -// -// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. -// -// 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) -// -// See http://www.boost.org/libs/bind/mem_fn.html for documentation. -// - -template struct BOOST_MEM_FN_NAME(mf0): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (); - explicit BOOST_MEM_FN_NAME(mf0)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf0): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0) -{ - typedef R (BOOST_MEM_FN_CC T::*F) () const; - explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf1): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1); - explicit BOOST_MEM_FN_NAME(mf1)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf1): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1) const; - explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf2): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2); - explicit BOOST_MEM_FN_NAME(mf2)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf2): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const; - explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf3): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3); - explicit BOOST_MEM_FN_NAME(mf3)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf3): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const; - explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf4): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4); - explicit BOOST_MEM_FN_NAME(mf4)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf4): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const; - explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf5): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5); - explicit BOOST_MEM_FN_NAME(mf5)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf5): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const; - explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf6): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6); - explicit BOOST_MEM_FN_NAME(mf6)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf6): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const; - explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf7): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7); - explicit BOOST_MEM_FN_NAME(mf7)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf7): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const; - explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)(f) {} -}; - - -template struct BOOST_MEM_FN_NAME(mf8): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8); - explicit BOOST_MEM_FN_NAME(mf8)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)(f) {} -}; - -template struct BOOST_MEM_FN_NAME(cmf8): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8) -{ - typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const; - explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)(f) {} -}; - diff --git a/external/include/boost_1_75/boost/bind/placeholders.hpp b/external/include/boost_1_75/boost/bind/placeholders.hpp deleted file mode 100644 index 5e4b96d8d5..0000000000 --- a/external/include/boost_1_75/boost/bind/placeholders.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED -#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// bind/placeholders.hpp - _N definitions -// -// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. -// Copyright 2015 Peter Dimov -// -// 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 -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -#include -#include - -namespace boost -{ - -namespace placeholders -{ - -#if defined(BOOST_BORLANDC) || defined(__GNUC__) && (__GNUC__ < 4) - -inline boost::arg<1> _1() { return boost::arg<1>(); } -inline boost::arg<2> _2() { return boost::arg<2>(); } -inline boost::arg<3> _3() { return boost::arg<3>(); } -inline boost::arg<4> _4() { return boost::arg<4>(); } -inline boost::arg<5> _5() { return boost::arg<5>(); } -inline boost::arg<6> _6() { return boost::arg<6>(); } -inline boost::arg<7> _7() { return boost::arg<7>(); } -inline boost::arg<8> _8() { return boost::arg<8>(); } -inline boost::arg<9> _9() { return boost::arg<9>(); } - -#elif !defined(BOOST_NO_CXX17_INLINE_VARIABLES) - -BOOST_INLINE_CONSTEXPR boost::arg<1> _1; -BOOST_INLINE_CONSTEXPR boost::arg<2> _2; -BOOST_INLINE_CONSTEXPR boost::arg<3> _3; -BOOST_INLINE_CONSTEXPR boost::arg<4> _4; -BOOST_INLINE_CONSTEXPR boost::arg<5> _5; -BOOST_INLINE_CONSTEXPR boost::arg<6> _6; -BOOST_INLINE_CONSTEXPR boost::arg<7> _7; -BOOST_INLINE_CONSTEXPR boost::arg<8> _8; -BOOST_INLINE_CONSTEXPR boost::arg<9> _9; - -#else - -BOOST_STATIC_CONSTEXPR boost::arg<1> _1; -BOOST_STATIC_CONSTEXPR boost::arg<2> _2; -BOOST_STATIC_CONSTEXPR boost::arg<3> _3; -BOOST_STATIC_CONSTEXPR boost::arg<4> _4; -BOOST_STATIC_CONSTEXPR boost::arg<5> _5; -BOOST_STATIC_CONSTEXPR boost::arg<6> _6; -BOOST_STATIC_CONSTEXPR boost::arg<7> _7; -BOOST_STATIC_CONSTEXPR boost::arg<8> _8; -BOOST_STATIC_CONSTEXPR boost::arg<9> _9; - -#endif - -} // namespace placeholders - -} // namespace boost - -#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind/storage.hpp b/external/include/boost_1_75/boost/bind/storage.hpp deleted file mode 100644 index 5d84027b05..0000000000 --- a/external/include/boost_1_75/boost/bind/storage.hpp +++ /dev/null @@ -1,475 +0,0 @@ -#ifndef BOOST_BIND_STORAGE_HPP_INCLUDED -#define BOOST_BIND_STORAGE_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// bind/storage.hpp -// -// boost/bind.hpp support header, optimized storage -// -// Copyright (c) 2006 Peter Dimov -// -// 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 -// -// See http://www.boost.org/libs/bind/bind.html for documentation. -// - -#include -#include - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4512) // assignment operator could not be generated -#endif - -namespace boost -{ - -namespace _bi -{ - -// 1 - -template struct storage1 -{ - explicit storage1( A1 a1 ): a1_( a1 ) {} - - template void accept(V & v) const - { - BOOST_BIND_VISIT_EACH(v, a1_, 0); - } - - A1 a1_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( BOOST_BORLANDC ) - -template struct storage1< boost::arg > -{ - explicit storage1( boost::arg ) {} - - template void accept(V &) const { } - - static boost::arg a1_() { return boost::arg(); } -}; - -template struct storage1< boost::arg (*) () > -{ - explicit storage1( boost::arg (*) () ) {} - - template void accept(V &) const { } - - static boost::arg a1_() { return boost::arg(); } -}; - -#endif - -// 2 - -template struct storage2: public storage1 -{ - typedef storage1 inherited; - - storage2( A1 a1, A2 a2 ): storage1( a1 ), a2_( a2 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a2_, 0); - } - - A2 a2_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage2< A1, boost::arg >: public storage1 -{ - typedef storage1 inherited; - - storage2( A1 a1, boost::arg ): storage1( a1 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a2_() { return boost::arg(); } -}; - -template struct storage2< A1, boost::arg (*) () >: public storage1 -{ - typedef storage1 inherited; - - storage2( A1 a1, boost::arg (*) () ): storage1( a1 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a2_() { return boost::arg(); } -}; - -#endif - -// 3 - -template struct storage3: public storage2< A1, A2 > -{ - typedef storage2 inherited; - - storage3( A1 a1, A2 a2, A3 a3 ): storage2( a1, a2 ), a3_( a3 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a3_, 0); - } - - A3 a3_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage3< A1, A2, boost::arg >: public storage2< A1, A2 > -{ - typedef storage2 inherited; - - storage3( A1 a1, A2 a2, boost::arg ): storage2( a1, a2 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a3_() { return boost::arg(); } -}; - -template struct storage3< A1, A2, boost::arg (*) () >: public storage2< A1, A2 > -{ - typedef storage2 inherited; - - storage3( A1 a1, A2 a2, boost::arg (*) () ): storage2( a1, a2 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a3_() { return boost::arg(); } -}; - -#endif - -// 4 - -template struct storage4: public storage3< A1, A2, A3 > -{ - typedef storage3 inherited; - - storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3( a1, a2, a3 ), a4_( a4 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a4_, 0); - } - - A4 a4_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage4< A1, A2, A3, boost::arg >: public storage3< A1, A2, A3 > -{ - typedef storage3 inherited; - - storage4( A1 a1, A2 a2, A3 a3, boost::arg ): storage3( a1, a2, a3 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a4_() { return boost::arg(); } -}; - -template struct storage4< A1, A2, A3, boost::arg (*) () >: public storage3< A1, A2, A3 > -{ - typedef storage3 inherited; - - storage4( A1 a1, A2 a2, A3 a3, boost::arg (*) () ): storage3( a1, a2, a3 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a4_() { return boost::arg(); } -}; - -#endif - -// 5 - -template struct storage5: public storage4< A1, A2, A3, A4 > -{ - typedef storage4 inherited; - - storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4( a1, a2, a3, a4 ), a5_( a5 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a5_, 0); - } - - A5 a5_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage5< A1, A2, A3, A4, boost::arg >: public storage4< A1, A2, A3, A4 > -{ - typedef storage4 inherited; - - storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg ): storage4( a1, a2, a3, a4 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a5_() { return boost::arg(); } -}; - -template struct storage5< A1, A2, A3, A4, boost::arg (*) () >: public storage4< A1, A2, A3, A4 > -{ - typedef storage4 inherited; - - storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg (*) () ): storage4( a1, a2, a3, a4 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a5_() { return boost::arg(); } -}; - -#endif - -// 6 - -template struct storage6: public storage5< A1, A2, A3, A4, A5 > -{ - typedef storage5 inherited; - - storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5( a1, a2, a3, a4, a5 ), a6_( a6 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a6_, 0); - } - - A6 a6_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage6< A1, A2, A3, A4, A5, boost::arg >: public storage5< A1, A2, A3, A4, A5 > -{ - typedef storage5 inherited; - - storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg ): storage5( a1, a2, a3, a4, a5 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a6_() { return boost::arg(); } -}; - -template struct storage6< A1, A2, A3, A4, A5, boost::arg (*) () >: public storage5< A1, A2, A3, A4, A5 > -{ - typedef storage5 inherited; - - storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg (*) () ): storage5( a1, a2, a3, a4, a5 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a6_() { return boost::arg(); } -}; - -#endif - -// 7 - -template struct storage7: public storage6< A1, A2, A3, A4, A5, A6 > -{ - typedef storage6 inherited; - - storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a7_, 0); - } - - A7 a7_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg >: public storage6< A1, A2, A3, A4, A5, A6 > -{ - typedef storage6 inherited; - - storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg ): storage6( a1, a2, a3, a4, a5, a6 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a7_() { return boost::arg(); } -}; - -template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg (*) () >: public storage6< A1, A2, A3, A4, A5, A6 > -{ - typedef storage6 inherited; - - storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg (*) () ): storage6( a1, a2, a3, a4, a5, a6 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a7_() { return boost::arg(); } -}; - -#endif - -// 8 - -template struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 > -{ - typedef storage7 inherited; - - storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): storage7( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a8_, 0); - } - - A8 a8_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg >: public storage7< A1, A2, A3, A4, A5, A6, A7 > -{ - typedef storage7 inherited; - - storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a8_() { return boost::arg(); } -}; - -template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 > -{ - typedef storage7 inherited; - - storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg (*) () ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a8_() { return boost::arg(); } -}; - -#endif - -// 9 - -template struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > -{ - typedef storage8 inherited; - - storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - BOOST_BIND_VISIT_EACH(v, a9_, 0); - } - - A9 a9_; -}; - -#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) - -template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > -{ - typedef storage8 inherited; - - storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a9_() { return boost::arg(); } -}; - -template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > -{ - typedef storage8 inherited; - - storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg (*) () ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} - - template void accept(V & v) const - { - inherited::accept(v); - } - - static boost::arg a9_() { return boost::arg(); } -}; - -#endif - -} // namespace _bi - -} // namespace boost - -#ifdef BOOST_MSVC -# pragma warning(default: 4512) // assignment operator could not be generated -# pragma warning(pop) -#endif - -#endif // #ifndef BOOST_BIND_STORAGE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/config.hpp b/external/include/boost_1_75/boost/config.hpp deleted file mode 100644 index f00a980579..0000000000 --- a/external/include/boost_1_75/boost/config.hpp +++ /dev/null @@ -1,67 +0,0 @@ -// Boost config.hpp configuration header file ------------------------------// - -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org/libs/config for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config -// -// CAUTION: This file is intended to be completely stable - -// DO NOT MODIFY THIS FILE! -// - -#ifndef BOOST_CONFIG_HPP -#define BOOST_CONFIG_HPP - -// if we don't have a user config, then use the default location: -#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) -# define BOOST_USER_CONFIG -#if 0 -// For dependency trackers: -# include -#endif -#endif -// include it first: -#ifdef BOOST_USER_CONFIG -# include BOOST_USER_CONFIG -#endif - -// if we don't have a compiler config set, try and find one: -#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a compiler config, include it now: -#ifdef BOOST_COMPILER_CONFIG -# include BOOST_COMPILER_CONFIG -#endif - -// if we don't have a std library config set, try and find one: -#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus) -# include -#endif -// if we have a std library config, include it now: -#ifdef BOOST_STDLIB_CONFIG -# include BOOST_STDLIB_CONFIG -#endif - -// if we don't have a platform config set, try and find one: -#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) -# include -#endif -// if we have a platform config, include it now: -#ifdef BOOST_PLATFORM_CONFIG -# include BOOST_PLATFORM_CONFIG -#endif - -// get config suffix code: -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#endif // BOOST_CONFIG_HPP diff --git a/external/include/boost_1_75/boost/config/compiler/cray.hpp b/external/include/boost_1_75/boost/config/compiler/cray.hpp deleted file mode 100644 index 2f1e9e8e18..0000000000 --- a/external/include/boost_1_75/boost/config/compiler/cray.hpp +++ /dev/null @@ -1,445 +0,0 @@ -// Copyright 2011 John Maddock -// Copyright 2013, 2017-2018 Cray, Inc. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Cray C++ compiler setup. -// -// There are a few parameters that affect the macros defined in this file: -// -// - What version of CCE (Cray Compiling Environment) are we running? This -// comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and -// '_RELEASE_PATCHLEVEL' macros. -// - What C++ standards conformance level are we using (e.g. '-h -// std=c++14')? This comes from the '__cplusplus' macro. -// - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h -// gnu' then CCE emulates GCC, and the macros '__GNUC__', -// '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined. -// -// This file is organized as follows: -// -// - Verify that the combination of parameters listed above is supported. -// If we have an unsupported combination, we abort with '#error'. -// - Establish baseline values for all Boost macros. -// - Apply changes to the baseline macros based on compiler version. These -// changes are cummulative so each version section only describes the -// changes since the previous version. -// - Within each version section, we may also apply changes based on -// other parameters (i.e. C++ standards conformance level and GCC -// extensions). -// -// To test changes to this file: -// -// ``` -// module load cce/8.6.5 # Pick the version you want to test. -// cd boost/libs/config/test/all -// b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt -// ``` -// Note: Using 'cxxstd-dialect=iso' is not supported at this time (the -// tests run, but many tests fail). -// -// Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise -// you get an 'undefined reference to clock_gettime' error. -// -// Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is -// reported as a defect. However, this is not actually a defect. This is an -// area where the test system is somewhat broken. Tests that are failing -// because of this problem are noted in the comments. -// -// Pay attention to the macro definitions for the macros you wish to -// modify. For example, only macros categorized as compiler macros should -// appear in this file; platform macros should not appear in this file. -// Also, some macros have to be defined to specific values; it is not -// always enough to define or undefine a macro. -// -// Macro definitions are available in the source code at: -// -// `boost/libs/config/doc/html/boost_config/boost_macro_reference.html` -// -// Macro definitions are also available online at: -// -// http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html -// -// Typically, if you enable a feature, and the tests pass, then you have -// nothing to worry about. However, it's sometimes hard to figure out if a -// disabled feature needs to stay disabled. To get a list of disabled -// features, run 'b2' in 'boost/libs/config/checks'. These are the macros -// you should pay attention to (in addition to macros that cause test -// failures). - -//// -//// Front matter -//// - -// In a developer build of the Cray compiler (i.e. a compiler built by a -// Cray employee), the release patch level is reported as "x". This gives -// versions that look like e.g. "8.6.x". -// -// To accomplish this, the the Cray compiler preprocessor inserts: -// -// #define _RELEASE_PATCHLEVEL x -// -// If we are using a developer build of the compiler, we want to use the -// configuration macros for the most recent patch level of the release. To -// accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99. -// -// However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must -// consider that the x will be expanded if x is defined as a macro -// elsewhere. For example, imagine if someone put "-D x=3" on the command -// line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would -// expand to 3, and we could not distinguish it from an actual -// _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in -// production builds, _RELEASE_PATCHLEVEL is always an integer. -// -// IMPORTANT: In developer builds, if x is defined as a macro, you will get -// an incorrect configuration. The behavior in this case is undefined. -// -// Even if x is not defined, we have to use some trickery to detect if -// _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary -// magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the -// expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_". -// -// - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_". -// - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5". -// - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get -// "BOOST_CRAY_x": -// -// Then we check if BOOST_CRAY_x is equal to the output of -// BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is -// treated as a macro name, and expanded again. If we can safely assume -// that BOOST_CRAY_ is not a macro defined as our magic number, and -// BOOST_CRAY_5 is not a macro defined as our magic number, then the only -// way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x. -// -// So, that is how we detect if we are using a developer build of the Cray -// compiler. - -#define BOOST_CRAY_x 9867657 // Arbitrary number -#define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO) -#define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO - -#if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL) - - // This is a developer build. - // - // - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro. - - // Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the - // most recent patch level in this release. - - #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99) - -#else - - // This is a production build. - // - // _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro. - - #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL) - -#endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL) - -#undef BOOST_CRAY_APPEND_INTERNAL -#undef BOOST_CRAY_APPEND -#undef BOOST_CRAY_x - - -#ifdef __GNUC__ -# define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL) -#endif - -// Since the Cray compiler defines '__GNUC__', we have to emulate some -// additional GCC macros in order to make everything work. -// -// FIXME: Perhaps Cray should fix the compiler to define these additional -// macros for GCC emulation? - -#if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) -# define __GXX_EXPERIMENTAL_CXX0X__ 1 -#endif - -//// -//// Parameter validation -//// - -// FIXME: Do we really need to support compilers before 8.5? Do they pass -// the Boost.Config tests? - -#if BOOST_CRAY_VERSION < 80000 -# error "Boost is not configured for Cray compilers prior to version 8, please try the configure script." -#endif - -// We only support recent EDG based compilers. - -#ifndef __EDG__ -# error "Unsupported Cray compiler, please try running the configure script." -#endif - -//// -//// Baseline values -//// - -#include - -#define BOOST_HAS_NRVO -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_VARIADIC_MACROS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_UNRESTRICTED_UNION -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP - -//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -#define BOOST_MATH_DISABLE_STD_FPCLASSIFY -//#define BOOST_HAS_FPCLASSIFY - -#define BOOST_SP_USE_PTHREADS -#define BOOST_AC_USE_PTHREADS - -// -// Everything that follows is working around what are thought to be -// compiler shortcomings. Revist all of these regularly. -// - -//#define BOOST_USE_ENUM_STATIC_ASSERT -//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define - -// These constants should be provided by the compiler. - -#ifndef __ATOMIC_RELAXED -#define __ATOMIC_RELAXED 0 -#define __ATOMIC_CONSUME 1 -#define __ATOMIC_ACQUIRE 2 -#define __ATOMIC_RELEASE 3 -#define __ATOMIC_ACQ_REL 4 -#define __ATOMIC_SEQ_CST 5 -#endif - -//// -//// Version changes -//// - -// -// 8.5.0 -// - -#if BOOST_CRAY_VERSION >= 80500 - -#if __cplusplus >= 201103L - -#undef BOOST_HAS_NRVO -#undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#undef BOOST_NO_CXX11_AUTO_DECLARATIONS -#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#undef BOOST_NO_CXX11_CHAR16_T -#undef BOOST_NO_CXX11_CHAR32_T -#undef BOOST_NO_CXX11_CONSTEXPR -#undef BOOST_NO_CXX11_DECLTYPE -#undef BOOST_NO_CXX11_DECLTYPE_N3276 -#undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#undef BOOST_NO_CXX11_DELETED_FUNCTIONS -#undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#undef BOOST_NO_CXX11_FINAL -#undef BOOST_NO_CXX11_OVERRIDE -#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#undef BOOST_NO_CXX11_LAMBDAS -#undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#undef BOOST_NO_CXX11_NOEXCEPT -#undef BOOST_NO_CXX11_NULLPTR -#undef BOOST_NO_CXX11_RANGE_BASED_FOR -#undef BOOST_NO_CXX11_RAW_LITERALS -#undef BOOST_NO_CXX11_REF_QUALIFIERS -#undef BOOST_NO_CXX11_RVALUE_REFERENCES -#undef BOOST_NO_CXX11_SCOPED_ENUMS -#undef BOOST_NO_CXX11_SFINAE_EXPR -#undef BOOST_NO_CXX11_STATIC_ASSERT -#undef BOOST_NO_CXX11_TEMPLATE_ALIASES -#undef BOOST_NO_CXX11_THREAD_LOCAL -#undef BOOST_NO_CXX11_UNICODE_LITERALS -#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#undef BOOST_NO_CXX11_USER_DEFINED_LITERALS -#undef BOOST_NO_CXX11_VARIADIC_MACROS -#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES -#undef BOOST_NO_CXX11_UNRESTRICTED_UNION -#undef BOOST_NO_SFINAE_EXPR -#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP -#undef BOOST_MATH_DISABLE_STD_FPCLASSIFY -#undef BOOST_SP_USE_PTHREADS -#undef BOOST_AC_USE_PTHREADS - -#define BOOST_HAS_VARIADIC_TMPL -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG -#define BOOST_HAS_TR1_COMPLEX_OVERLOADS -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_STATIC_ASSERT -#define BOOST_HAS_SIGACTION -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_RVALUE_REFS -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_PTHREAD_YIELD -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#define BOOST_HAS_NRVO -#define BOOST_HAS_NL_TYPES_H -#define BOOST_HAS_NANOSLEEP -#define BOOST_NO_CXX11_SMART_PTR -#define BOOST_NO_CXX11_HDR_FUNCTIONAL -#define BOOST_NO_CXX14_CONSTEXPR -#define BOOST_HAS_LONG_LONG -#define BOOST_HAS_FLOAT128 - -#if __cplusplus < 201402L -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#endif // __cplusplus < 201402L - -#endif // __cplusplus >= 201103L - -#endif // BOOST_CRAY_VERSION >= 80500 - -// -// 8.6.4 -// (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL) -// - -#if BOOST_CRAY_VERSION >= 80600 - -#if __cplusplus >= 199711L -#define BOOST_HAS_FLOAT128 -#define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results. -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run. -#undef BOOST_NO_CXX11_CHAR16_T -#undef BOOST_NO_CXX11_CHAR32_T -#undef BOOST_NO_CXX11_INLINE_NAMESPACES -#undef BOOST_NO_CXX11_FINAL -#undef BOOST_NO_CXX11_OVERRIDE -#undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails. -#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#undef BOOST_NO_CXX11_VARIADIC_MACROS -#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES -// 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled / -// disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However, -// 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that -// 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as -// depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying -// 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run. -// -// The 'no_ded_typename_pass.cpp' test should always compile and run -// successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an -// appropriate value (it's not just something that you turn on or off). -// Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME', -// you have to modify 'no_ded_typename_pass.cpp' to unconditionally include -// 'boost_no_ded_typename.ipp'. -#undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken. -#undef BOOST_NO_SFINAE_EXPR -#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif // __cplusplus >= 199711L - -#if __cplusplus >= 201103L -#undef BOOST_NO_CXX11_ALIGNAS -#undef BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_HDR_ATOMIC -#undef BOOST_NO_CXX11_HDR_FUNCTIONAL -#define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run. -#undef BOOST_NO_CXX11_SFINAE_EXPR -#undef BOOST_NO_CXX11_SMART_PTR -#undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif // __cplusplus >= 201103L - -#if __cplusplus >= 201402L -#undef BOOST_NO_CXX14_CONSTEXPR -#define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif // __cplusplus == 201402L - -#endif // BOOST_CRAY_VERSION >= 80600 - -// -// 8.6.5 -// (no change from 8.6.4) -// - -// -// 8.7.0 -// - -#if BOOST_CRAY_VERSION >= 80700 - -#if __cplusplus >= 199711L -#endif // __cplusplus >= 199711L - -#if __cplusplus >= 201103L -#undef BOOST_NO_CXX11_HDR_ATOMIC -#undef BOOST_NO_CXX11_HDR_REGEX -#endif // __cplusplus >= 201103L - -#if __cplusplus >= 201402L -#endif // __cplusplus == 201402L - -#endif // BOOST_CRAY_VERSION >= 80700 - -// -// Next release -// - -#if BOOST_CRAY_VERSION > 80799 - -#if __cplusplus >= 199711L -#endif // __cplusplus >= 199711L - -#if __cplusplus >= 201103L -#endif // __cplusplus >= 201103L - -#if __cplusplus >= 201402L -#endif // __cplusplus == 201402L - -#endif // BOOST_CRAY_VERSION > 80799 - -//// -//// Remove temporary macros -//// - -// I've commented out some '#undef' statements to signify that we purposely -// want to keep certain macros. - -//#undef __GXX_EXPERIMENTAL_CXX0X__ -//#undef BOOST_COMPILER -#undef BOOST_GCC_VERSION -#undef BOOST_CRAY_VERSION diff --git a/external/include/boost_1_75/boost/config/compiler/gcc.hpp b/external/include/boost_1_75/boost/config/compiler/gcc.hpp deleted file mode 100644 index da1a432298..0000000000 --- a/external/include/boost_1_75/boost/config/compiler/gcc.hpp +++ /dev/null @@ -1,375 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Jens Maurer 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Douglas Gregor 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Synge Todo 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// GNU C++ compiler setup. - -// -// Define BOOST_GCC so we know this is "real" GCC and not some pretender: -// -#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#if !defined(__CUDACC__) -#define BOOST_GCC BOOST_GCC_VERSION -#endif - -#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) -# define BOOST_GCC_CXX11 -#endif - -#if __GNUC__ == 3 -# if defined (__PATHSCALE__) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# define BOOST_NO_IS_ABSTRACT -# endif - -# if __GNUC_MINOR__ < 4 -# define BOOST_NO_IS_ABSTRACT -# endif -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -#endif -#if __GNUC__ < 4 -// -// All problems to gcc-3.x and earlier here: -// -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# ifdef __OPEN64__ -# define BOOST_NO_IS_ABSTRACT -# endif -#endif - -// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links -#if BOOST_GCC_VERSION >= 30400 -#define BOOST_HAS_PRAGMA_ONCE -#endif - -#if BOOST_GCC_VERSION < 40400 -// Previous versions of GCC did not completely implement value-initialization: -// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize -// members", reported by Jonathan Wakely in 2006, -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) -// GCC Bug 33916, "Default constructor fails to initialize array members", -// reported by Michael Elizabeth Chastain in 2007, -// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#endif - -#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// Except on Darwin with standard compliance enabled (-pedantic) -// Apple gcc helpfully defines this macro we can query -// -#if !defined(__DARWIN_NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -#endif - -// -// gcc implements the named return value optimization since version 3.1 -// -#define BOOST_HAS_NRVO - -// Branch prediction hints -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if __GNUC__ >= 4 -# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) - // All Win32 development environments, including 64-bit Windows and MinGW, define - // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, - // so does not define _WIN32 or its variants, but still supports dllexport/dllimport. -# define BOOST_HAS_DECLSPEC -# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) -# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) -# else -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -# endif -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -#else -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined -# define BOOST_SYMBOL_EXPORT -#endif - -// -// RTTI and typeinfo detection is possible post gcc-4.3: -// -#if BOOST_GCC_VERSION > 40300 -# ifndef __GXX_RTTI -# ifndef BOOST_NO_TYPEID -# define BOOST_NO_TYPEID -# endif -# ifndef BOOST_NO_RTTI -# define BOOST_NO_RTTI -# endif -# endif -#endif - -// -// Recent GCC versions have __int128 when in 64-bit mode. -// -// We disable this if the compiler is really nvcc with C++03 as it -// doesn't actually support __int128 as of CUDA_VERSION=7500 -// even though it defines __SIZEOF_INT128__. -// See https://svn.boost.org/trac/boost/ticket/8048 -// https://svn.boost.org/trac/boost/ticket/11852 -// Only re-enable this for nvcc if you're absolutely sure -// of the circumstances under which it's supported: -// -#if defined(__CUDACC__) -# if defined(BOOST_GCC_CXX11) -# define BOOST_NVCC_CXX11 -# else -# define BOOST_NVCC_CXX03 -# endif -#endif - -#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) -# define BOOST_HAS_INT128 -#endif -// -// Recent GCC versions have a __float128 native type, we need to -// include a std lib header to detect this - not ideal, but we'll -// be including later anyway when we select the std lib. -// -// Nevertheless, as of CUDA 7.5, using __float128 with the host -// compiler in pre-C++11 mode is still not supported. -// See https://svn.boost.org/trac/boost/ticket/11852 -// -#ifdef __cplusplus -#include -#else -#include -#endif -#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03) -# define BOOST_HAS_FLOAT128 -#endif - -// C++0x features in 4.3.n and later -// -#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11) -// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are -// passed on the command line, which in turn defines -// __GXX_EXPERIMENTAL_CXX0X__. -# define BOOST_HAS_DECLTYPE -# define BOOST_HAS_RVALUE_REFS -# define BOOST_HAS_STATIC_ASSERT -# define BOOST_HAS_VARIADIC_TMPL -#else -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -// C++0x features in 4.4.n and later -// -#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -#if BOOST_GCC_VERSION < 40500 -# define BOOST_NO_SFINAE_EXPR -#endif - -// GCC 4.5 forbids declaration of defaulted functions in private or protected sections -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -// C++0x features in 4.5.0 and later -// -#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -// C++0x features in 4.5.1 and later -// -#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11) -// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1 -// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -// C++0x features in 4.6.n and later -// -#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11) -#define BOOST_NO_CXX11_DEFAULTED_MOVES -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -// C++0x features in 4.7.n and later -// -#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11) -// Note that while constexpr is partly supported in gcc-4.6 it's a -// pre-std version with several bugs: -# define BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -# define BOOST_NO_CXX11_OVERRIDE -#endif - -// C++0x features in 4.8.n and later -// -#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_SFINAE_EXPR -#endif - -// C++0x features in 4.8.1 and later -// -#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_REF_QUALIFIERS -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif - -// C++0x features in 4.9.n and later -// -#if (BOOST_GCC_VERSION < 40900) || !defined(BOOST_GCC_CXX11) -// Although alignas support is added in gcc 4.8, it does not accept -// constant expressions as an argument until gcc 4.9. -# define BOOST_NO_CXX11_ALIGNAS -#endif - -// C++0x features in 5.1 and later -// -#if (BOOST_GCC_VERSION < 50100) || !defined(BOOST_GCC_CXX11) -# define BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif - -// C++14 features in 4.9.0 and later -// -#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -# define BOOST_NO_CXX14_DECLTYPE_AUTO -# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11)) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -# endif -#endif - - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#if __GNUC__ >= 7 -# define BOOST_FALLTHROUGH __attribute__((fallthrough)) -#endif - -#if defined(__MINGW32__) && !defined(__MINGW64__) -// Currently (March 2019) thread_local is broken on mingw for all current 32bit compiler releases, see -// https://sourceforge.net/p/mingw-w64/bugs/527/ -// Not setting this causes program termination on thread exit. -#define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -// -// Unused attribute: -#if __GNUC__ >= 4 -# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) -#endif - -// Type aliasing hint. Supported since gcc 3.3. -#define BOOST_MAY_ALIAS __attribute__((__may_alias__)) - -// -// __builtin_unreachable: -#if BOOST_GCC_VERSION >= 40500 -#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "GNU C++ version " __VERSION__ -#endif - -// ConceptGCC compiler: -// http://www.generic-programming.org/software/ConceptGCC/ -#ifdef __GXX_CONCEPTS__ -# define BOOST_HAS_CONCEPTS -# define BOOST_COMPILER "ConceptGCC version " __VERSION__ -#endif - -// versions check: -// we don't know gcc prior to version 3.30: -#if (BOOST_GCC_VERSION< 30300) -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 8.1: -#if (BOOST_GCC_VERSION > 80100) -# if defined(BOOST_ASSERT_CONFIG) -# error "Boost.Config is older than your compiler - please check for an updated Boost release." -# else -// we don't emit warnings here anymore since there are no defect macros defined for -// gcc post 3.4, so any failures are gcc regressions... -//# warning "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - diff --git a/external/include/boost_1_75/boost/config/compiler/intel.hpp b/external/include/boost_1_75/boost/config/compiler/intel.hpp deleted file mode 100644 index 9a06d2fe3d..0000000000 --- a/external/include/boost_1_75/boost/config/compiler/intel.hpp +++ /dev/null @@ -1,576 +0,0 @@ -// (C) Copyright John Maddock 2001-8. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright Guillaume Melquiond 2002 - 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Martin Wille 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Intel compiler setup: - -#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) - -#ifdef _MSC_VER - -#include - -#undef BOOST_MSVC -#undef BOOST_MSVC_FULL_VER - -#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900) -// -// These appear to be supported, even though VC++ may not support them: -// -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_LOG1P -#undef BOOST_NO_CXX14_BINARY_LITERALS -// This one may be a little risky to enable?? -#undef BOOST_NO_SFINAE_EXPR - -#endif - -#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -#else // defined(_MSC_VER) - -#include - -#undef BOOST_GCC_VERSION -#undef BOOST_GCC_CXX11 -#undef BOOST_GCC -#undef BOOST_FALLTHROUGH - -// Broken in all versions up to 17 (newer versions not tested) -#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR) -# define BOOST_NO_CXX14_CONSTEXPR -#endif - -#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) -# define BOOST_FALLTHROUGH [[fallthrough]] -#endif - -#endif // defined(_MSC_VER) - -#undef BOOST_COMPILER - -#if defined(__INTEL_COMPILER) -#if __INTEL_COMPILER == 9999 -# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. -#else -# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER -#endif -#elif defined(__ICL) -# define BOOST_INTEL_CXX_VERSION __ICL -#elif defined(__ICC) -# define BOOST_INTEL_CXX_VERSION __ICC -#elif defined(__ECC) -# define BOOST_INTEL_CXX_VERSION __ECC -#endif - -// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' -#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_INTEL_STDCXX0X -#endif -#if defined(_MSC_VER) && (_MSC_VER >= 1600) -# define BOOST_INTEL_STDCXX0X -#endif - -#ifdef __GNUC__ -# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -#if !defined(BOOST_COMPILER) -# if defined(BOOST_INTEL_STDCXX0X) -# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -# else -# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -# endif -#endif - -#define BOOST_INTEL BOOST_INTEL_CXX_VERSION - -#if defined(_WIN32) || defined(_WIN64) -# define BOOST_INTEL_WIN BOOST_INTEL -#else -# define BOOST_INTEL_LINUX BOOST_INTEL -#endif - -#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) - -#include - -#if defined(__INTEL_COMPILER) -#if __INTEL_COMPILER == 9999 -# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. -#else -# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER -#endif -#elif defined(__ICL) -# define BOOST_INTEL_CXX_VERSION __ICL -#elif defined(__ICC) -# define BOOST_INTEL_CXX_VERSION __ICC -#elif defined(__ECC) -# define BOOST_INTEL_CXX_VERSION __ECC -#endif - -// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' -#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) -# define BOOST_INTEL_STDCXX0X -#endif -#if defined(_MSC_VER) && (_MSC_VER >= 1600) -# define BOOST_INTEL_STDCXX0X -#endif - -#ifdef __GNUC__ -# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -#if !defined(BOOST_COMPILER) -# if defined(BOOST_INTEL_STDCXX0X) -# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -# else -# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -# endif -#endif - -#define BOOST_INTEL BOOST_INTEL_CXX_VERSION - -#if defined(_WIN32) || defined(_WIN64) -# define BOOST_INTEL_WIN BOOST_INTEL -#else -# define BOOST_INTEL_LINUX BOOST_INTEL -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 600) - -# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) - -// Boost libraries assume strong standard conformance unless otherwise -// indicated by a config macro. As configured by Intel, the EDG front-end -// requires certain compiler options be set to achieve that strong conformance. -// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) -// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for -// details as they apply to particular versions of the compiler. When the -// compiler does not predefine a macro indicating if an option has been set, -// this config file simply assumes the option has been set. -// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if -// the compiler option is not enabled. - -# define BOOST_NO_SWPRINTF -# endif - -// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) - -# if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_VOID_RETURNS -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -#endif - -#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 -#if BOOST_INTEL_CXX_VERSION < 600 -# define BOOST_NO_INTRINSIC_WCHAR_T -#else -// We should test the macro _WCHAR_T_DEFINED to check if the compiler -// supports wchar_t natively. *BUT* there is a problem here: the standard -// headers define this macro if they typedef wchar_t. Anyway, we're lucky -// because they define it without a value, while Intel C++ defines it -// to 1. So we can check its value to see if the macro was defined natively -// or not. -// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T -// is used instead. -# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) -# define BOOST_NO_INTRINSIC_WCHAR_T -# endif -#endif - -#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -// -// Figure out when Intel is emulating this gcc bug -// (All Intel versions prior to 9.0.26, and versions -// later than that if they are set up to emulate gcc 3.2 -// or earlier): -// -# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# endif -#endif -#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200) -// GCC or VC emulation: -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif -// -// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T -// set correctly, if we don't do this now, we will get errors later -// in type_traits code among other things, getting this correct -// for the Intel compiler is actually remarkably fragile and tricky: -// -#ifdef __cplusplus -#if defined(BOOST_NO_INTRINSIC_WCHAR_T) -#include -template< typename T > struct assert_no_intrinsic_wchar_t; -template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; -// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T -// where it is defined above: -typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; -#else -template< typename T > struct assert_intrinsic_wchar_t; -template<> struct assert_intrinsic_wchar_t {}; -// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: -template<> struct assert_intrinsic_wchar_t {}; -#endif -#endif - -#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000) -# if _MSC_VER >= 1200 -# define BOOST_HAS_MS_INT64 -# endif -# define BOOST_NO_SWPRINTF -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#elif defined(_WIN32) -# define BOOST_DISABLE_WIN32 -#endif - -// I checked version 6.0 build 020312Z, it implements the NRVO. -// Correct this as you find out which version of the compiler -// implemented the NRVO first. (Daniel Frey) -#if (BOOST_INTEL_CXX_VERSION >= 600) -# define BOOST_HAS_NRVO -#endif - -// Branch prediction hints -// I'm not sure 8.0 was the first version to support these builtins, -// update the condition if the version is not accurate. (Andrey Semashev) -#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800 -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) -#endif - -// RTTI -// __RTTI is the EDG macro -// __INTEL_RTTI__ is the Intel macro -// __GXX_RTTI is the g++ macro -// _CPPRTTI is the MSVC++ macro -#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI) - -#if !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -// in MS mode, static typeid works even when RTTI is off -#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID) -# define BOOST_NO_TYPEID -#endif - -#endif - -// -// versions check: -// we don't support Intel prior to version 6.0: -#if BOOST_INTEL_CXX_VERSION < 600 -# error "Compiler not supported or configured - please reconfigure" -#endif - -// Intel on MacOS requires -#if defined(__APPLE__) && defined(__INTEL_COMPILER) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif - -// Intel on Altix Itanium -#if defined(__itanium__) && defined(__INTEL_COMPILER) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif - -// -// An attempt to value-initialize a pointer-to-member may trigger an -// internal error on Intel <= 11.1 (last checked version), as was -// reported by John Maddock, Intel support issue 589832, May 2010. -// Moreover, according to test results from Huang-Vista-x86_32_intel, -// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some -// cases when it should be value-initialized. -// (Niels Dekker, LKEB, May 2010) -// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression). -#if defined(__INTEL_COMPILER) -# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600)) -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -# endif -#endif - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if defined(__GNUC__) && (__GNUC__ >= 4) -# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default"))) -# define BOOST_SYMBOL_IMPORT -# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default"))) -#endif - -// Type aliasing hint -#if defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1300) -# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -#endif - -// -// C++0x features -// For each feature we need to check both the Intel compiler version, -// and the version of MSVC or GCC that we are emulating. -// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ -// for a list of which features were implemented in which Intel releases. -// -#if defined(BOOST_INTEL_STDCXX0X) -// BOOST_NO_CXX11_CONSTEXPR: -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER) -// Available in earlier Intel versions, but fail our tests: -# undef BOOST_NO_CXX11_CONSTEXPR -#endif -// BOOST_NO_CXX11_NULLPTR: -#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -# undef BOOST_NO_CXX11_NULLPTR -#endif -// BOOST_NO_CXX11_TEMPLATE_ALIASES -#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_TEMPLATE_ALIASES -#endif - -// BOOST_NO_CXX11_DECLTYPE -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -# undef BOOST_NO_CXX11_DECLTYPE -#endif - -// BOOST_NO_CXX11_DECLTYPE_N3276 -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_DECLTYPE_N3276 -#endif - -// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif - -// BOOST_NO_CXX11_RVALUE_REFERENCES -#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -// This is available from earlier Intel versions, but breaks Filesystem and other libraries: -# undef BOOST_NO_CXX11_RVALUE_REFERENCES -#endif - -// BOOST_NO_CXX11_STATIC_ASSERT -#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -# undef BOOST_NO_CXX11_STATIC_ASSERT -#endif - -// BOOST_NO_CXX11_VARIADIC_TEMPLATES -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -// BOOST_NO_CXX11_VARIADIC_MACROS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400)) -# undef BOOST_NO_CXX11_VARIADIC_MACROS -#endif - -// BOOST_NO_CXX11_AUTO_DECLARATIONS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -# undef BOOST_NO_CXX11_AUTO_DECLARATIONS -#endif - -// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif - -// BOOST_NO_CXX11_CHAR16_T -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) -# undef BOOST_NO_CXX11_CHAR16_T -#endif - -// BOOST_NO_CXX11_CHAR32_T -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) -# undef BOOST_NO_CXX11_CHAR32_T -#endif - -// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#endif - -// BOOST_NO_CXX11_DELETED_FUNCTIONS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_DELETED_FUNCTIONS -#endif - -// BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) -# undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -// BOOST_NO_CXX11_SCOPED_ENUMS -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) -// This is available but broken in earlier Intel releases. -# undef BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -// BOOST_NO_SFINAE_EXPR -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) -# undef BOOST_NO_SFINAE_EXPR -#endif - -// BOOST_NO_CXX11_SFINAE_EXPR -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER) -# undef BOOST_NO_CXX11_SFINAE_EXPR -#endif - -// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -// This is available in earlier Intel releases, but breaks Multiprecision: -# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif - -// BOOST_NO_CXX11_LAMBDAS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) -# undef BOOST_NO_CXX11_LAMBDAS -#endif - -// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) -# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif - -// BOOST_NO_CXX11_RANGE_BASED_FOR -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) -# undef BOOST_NO_CXX11_RANGE_BASED_FOR -#endif - -// BOOST_NO_CXX11_RAW_LITERALS -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_RAW_LITERALS -#endif - -// BOOST_NO_CXX11_UNICODE_LITERALS -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) -# undef BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -// BOOST_NO_CXX11_NOEXCEPT -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) -// Available in earlier Intel release, but generates errors when used with -// conditional exception specifications, for example in multiprecision: -# undef BOOST_NO_CXX11_NOEXCEPT -#endif - -// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) -# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -// BOOST_NO_CXX11_USER_DEFINED_LITERALS -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) -# undef BOOST_NO_CXX11_USER_DEFINED_LITERALS -#endif - -// BOOST_NO_CXX11_ALIGNAS -#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) -# undef BOOST_NO_CXX11_ALIGNAS -#endif - -// BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) -# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -// BOOST_NO_CXX11_INLINE_NAMESPACES -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) -# undef BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -// BOOST_NO_CXX11_REF_QUALIFIERS -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) -# undef BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -// BOOST_NO_CXX11_FINAL -// BOOST_NO_CXX11_OVERRIDE -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) -# undef BOOST_NO_CXX11_FINAL -# undef BOOST_NO_CXX11_OVERRIDE -#endif - -// BOOST_NO_CXX11_UNRESTRICTED_UNION -#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 50100)) && (!defined(_MSC_VER)) -# undef BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif - -#endif // defined(BOOST_INTEL_STDCXX0X) - -// -// Broken in all versions up to 15: -#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS - -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310) -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400) -// A regression in Intel's compiler means that seems to be broken in this release as well as : -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_TUPLE -#endif - -#if (BOOST_INTEL_CXX_VERSION < 1200) -// -// fenv.h appears not to work with Intel prior to 12.0: -// -# define BOOST_NO_FENV_H -#endif - -// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections, -// producing the following errors: -// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object -#if (BOOST_INTEL_CXX_VERSION <= 1310) -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -#if defined(_MSC_VER) && (_MSC_VER >= 1600) -# define BOOST_HAS_STDINT_H -#endif - -#if defined(__CUDACC__) -# if defined(BOOST_GCC_CXX11) -# define BOOST_NVCC_CXX11 -# else -# define BOOST_NVCC_CXX03 -# endif -#endif - -#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03) -# define BOOST_HAS_INT128 -#endif - -#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) -// -// last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 1700) -# if defined(BOOST_ASSERT_CONFIG) -# error "Boost.Config is older than your compiler - please check for an updated Boost release." -# elif defined(_MSC_VER) -// -// We don't emit this warning any more, since we have so few -// defect macros set anyway (just the one). -// -//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - diff --git a/external/include/boost_1_75/boost/config/compiler/vacpp.hpp b/external/include/boost_1_75/boost/config/compiler/vacpp.hpp deleted file mode 100644 index 0280fe2958..0000000000 --- a/external/include/boost_1_75/boost/config/compiler/vacpp.hpp +++ /dev/null @@ -1,185 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Toon Knapen 2001 - 2003. -// (C) Copyright Lie-Quan Lee 2001. -// (C) Copyright Markus Schoepflin 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Visual Age (IBM) C++ compiler setup: - -#if __IBMCPP__ <= 501 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -#if (__IBMCPP__ <= 502) -// Actually the compiler supports inclass member initialization but it -// requires a definition for the class member and it doesn't recognize -// it as an integral constant expression when used as a template argument. -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS -#endif - -#if (__IBMCPP__ <= 1110) -// XL C++ V11.1 and earlier versions may not always value-initialize -// a temporary object T(), when T is a non-POD aggregate class type. -// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it -// high priority. -- Niels Dekker (LKEB), May 2010. -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -#endif - -// -// On AIX thread support seems to be indicated by _THREAD_SAFE: -// -#ifdef _THREAD_SAFE -# define BOOST_HAS_THREADS -#endif - -#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) - -// -// versions check: -// we don't support Visual age prior to version 5: -#if __IBMCPP__ < 500 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 1210: -#if (__IBMCPP__ > 1210) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - -// Some versions of the compiler have issues with default arguments on partial specializations -#if __IBMCPP__ <= 1010 -#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS -#endif - -// Type aliasing hint. Supported since XL C++ 13.1 -#if (__IBMCPP__ >= 1310) -# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -#endif - -// -// C++0x features -// -// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG -// -#if ! __IBMCPP_AUTO_TYPEDEDUCTION -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif -#if ! __IBMCPP_UTF_LITERAL__ -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -#endif -#if ! __IBMCPP_CONSTEXPR -# define BOOST_NO_CXX11_CONSTEXPR -#endif -#if ! __IBMCPP_DECLTYPE -# define BOOST_NO_CXX11_DECLTYPE -#else -# define BOOST_HAS_DECLTYPE -#endif -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif -#if ! __IBMCPP_EXTERN_TEMPLATE -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -#endif -#if ! __IBMCPP_VARIADIC_TEMPLATES -// not enabled separately at this time -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#if ! __IBMCPP_RVALUE_REFERENCES -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif -#if ! __IBMCPP_SCOPED_ENUM -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#if ! __IBMCPP_STATIC_ASSERT -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#if ! __IBMCPP_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif -#if ! __C99_MACRO_WITH_VA_ARGS -# define BOOST_NO_CXX11_VARIADIC_MACROS -#endif -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif diff --git a/external/include/boost_1_75/boost/config/compiler/xlcpp_zos.hpp b/external/include/boost_1_75/boost/config/compiler/xlcpp_zos.hpp deleted file mode 100644 index bc5b7e831f..0000000000 --- a/external/include/boost_1_75/boost/config/compiler/xlcpp_zos.hpp +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright (c) 2017 Dynatrace -// -// 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 - -// See http://www.boost.org for most recent version. - -// Compiler setup for IBM z/OS XL C/C++ compiler. - -// Oldest compiler version currently supported is 2.1 (V2R1) -#if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000 -# error "Compiler not supported or configured - please reconfigure" -#endif - -#if __COMPILER_VER__ > 0x42010000 -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - -#define BOOST_COMPILER "IBM z/OS XL C/C++ version " BOOST_STRINGIZE(__COMPILER_VER__) -#define BOOST_XLCPP_ZOS __COMPILER_VER__ - -// ------------------------------------- - -#include // For __UU, __C99, __TR1, ... - -#if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS) -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -// ------------------------------------- - -#if defined(__UU) || defined(__C99) || defined(__TR1) -# define BOOST_HAS_LOG1P -# define BOOST_HAS_EXPM1 -#endif - -#if defined(__C99) || defined(__TR1) -# define BOOST_HAS_STDINT_H -#else -# define BOOST_NO_FENV_H -#endif - -// ------------------------------------- - -#define BOOST_HAS_NRVO - -#if !defined(__RTTI_ALL__) -# define BOOST_NO_RTTI -#endif - -#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) -# define BOOST_HAS_LONG_LONG -#else -# define BOOST_NO_LONG_LONG -#endif - -#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64) -# define BOOST_HAS_MS_INT64 -#endif - -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR - -#if defined(__IBMCPP_VARIADIC_TEMPLATES) -# define BOOST_HAS_VARIADIC_TMPL -#else -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif - -#if defined(__IBMCPP_STATIC_ASSERT) -# define BOOST_HAS_STATIC_ASSERT -#else -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -#if defined(__IBMCPP_RVALUE_REFERENCES) -# define BOOST_HAS_RVALUE_REFS -#else -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif - -#if !defined(__IBMCPP_SCOPED_ENUM) -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS - -#if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif - -#if !defined(__IBMCPP_DECLTYPE) -# define BOOST_NO_CXX11_DECLTYPE -#else -# define BOOST_HAS_DECLTYPE -#endif -#define BOOST_NO_CXX11_DECLTYPE_N3276 - -#if !defined(__IBMCPP_INLINE_NAMESPACE) -# define BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -#if !defined(__IBMCPP_AUTO_TYPEDEDUCTION) -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -#if !defined(__IBM_CHAR32_T__) -# define BOOST_NO_CXX11_CHAR32_T -#endif -#if !defined(__IBM_CHAR16_T__) -# define BOOST_NO_CXX11_CHAR16_T -#endif - -#if !defined(__IBMCPP_CONSTEXPR) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_UNRESTRICTED_UNION -#define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#define BOOST_NO_CXX14_AGGREGATE_NSDMI -#define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#define BOOST_NO_CXX14_GENERIC_LAMBDAS -#define BOOST_NO_CXX14_DIGIT_SEPARATORS -#define BOOST_NO_CXX14_DECLTYPE_AUTO -#define BOOST_NO_CXX14_CONSTEXPR -#define BOOST_NO_CXX14_BINARY_LITERALS -#define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#define BOOST_NO_CXX17_INLINE_VARIABLES -#define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#define BOOST_NO_CXX17_IF_CONSTEXPR - -// ------------------------------------- - -#if defined(__IBM_ATTRIBUTES) -# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) -# define BOOST_NOINLINE __attribute__ ((__noinline__)) -# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -// No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1). -#endif - -extern "builtin" long __builtin_expect(long, long); - -#define BOOST_LIKELY(x) __builtin_expect((x) && true, 1) -#define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0) diff --git a/external/include/boost_1_75/boost/config/no_tr1/utility.hpp b/external/include/boost_1_75/boost/config/no_tr1/utility.hpp deleted file mode 100644 index dea8f115bc..0000000000 --- a/external/include/boost_1_75/boost/config/no_tr1/utility.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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) -// -// The aim of this header is just to include but to do -// so in a way that does not result in recursive inclusion of -// the Boost TR1 components if boost/tr1/tr1/utility is in the -// include search path. We have to do this to avoid circular -// dependencies: -// - -#ifndef BOOST_CONFIG_UTILITY -# define BOOST_CONFIG_UTILITY - -# ifndef BOOST_TR1_NO_RECURSION -# define BOOST_TR1_NO_RECURSION -# define BOOST_CONFIG_NO_UTILITY_RECURSION -# endif - -# include - -# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION -# undef BOOST_TR1_NO_RECURSION -# undef BOOST_CONFIG_NO_UTILITY_RECURSION -# endif - -#endif diff --git a/external/include/boost_1_75/boost/config/platform/cray.hpp b/external/include/boost_1_75/boost/config/platform/cray.hpp deleted file mode 100644 index 103e9c0620..0000000000 --- a/external/include/boost_1_75/boost/config/platform/cray.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// (C) Copyright John Maddock 2011. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// SGI Irix specific config options: - -#define BOOST_PLATFORM "Cray" - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - diff --git a/external/include/boost_1_75/boost/config/stdlib/vacpp.hpp b/external/include/boost_1_75/boost/config/stdlib/vacpp.hpp deleted file mode 100644 index b14dd65576..0000000000 --- a/external/include/boost_1_75/boost/config/stdlib/vacpp.hpp +++ /dev/null @@ -1,74 +0,0 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -#if __IBMCPP__ <= 501 -# define BOOST_NO_STD_ALLOCATOR -#endif - -#define BOOST_HAS_MACRO_USE_FACET -#define BOOST_NO_STD_MESSAGES - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_EXCEPTION - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS - -#define BOOST_STDLIB "Visual Age default standard library" diff --git a/external/include/boost_1_75/boost/config/stdlib/xlcpp_zos.hpp b/external/include/boost_1_75/boost/config/stdlib/xlcpp_zos.hpp deleted file mode 100644 index a5e02fd8b8..0000000000 --- a/external/include/boost_1_75/boost/config/stdlib/xlcpp_zos.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2017 Dynatrace -// -// 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 - -// See http://www.boost.org for most recent version. - -// Standard library setup for IBM z/OS XL C/C++ compiler. - -// Oldest library version currently supported is 2.1 (V2R1) -#if __TARGET_LIB__ < 0x42010000 -# error "Library version not supported or configured - please reconfigure" -#endif - -#if __TARGET_LIB__ > 0x42010000 -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown library version - please run the configure tests and report the results" -# endif -#endif - -#define BOOST_STDLIB "IBM z/OS XL C/C++ standard library" - -#define BOOST_HAS_MACRO_USE_FACET - -#define BOOST_NO_CXX11_HDR_TYPE_TRAITS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST - -#define BOOST_NO_CXX11_ADDRESSOF -#define BOOST_NO_CXX11_SMART_PTR -#define BOOST_NO_CXX11_ATOMIC_SMART_PTR -#define BOOST_NO_CXX11_NUMERIC_LIMITS -#define BOOST_NO_CXX11_ALLOCATOR -#define BOOST_NO_CXX11_POINTER_TRAITS -#define BOOST_NO_CXX11_HDR_FUNCTIONAL -#define BOOST_NO_CXX11_HDR_UNORDERED_SET -#define BOOST_NO_CXX11_HDR_UNORDERED_MAP -#define BOOST_NO_CXX11_HDR_TYPEINDEX -#define BOOST_NO_CXX11_HDR_TUPLE -#define BOOST_NO_CXX11_HDR_THREAD -#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -#define BOOST_NO_CXX11_HDR_REGEX -#define BOOST_NO_CXX11_HDR_RATIO -#define BOOST_NO_CXX11_HDR_RANDOM -#define BOOST_NO_CXX11_HDR_MUTEX -#define BOOST_NO_CXX11_HDR_FUTURE -#define BOOST_NO_CXX11_HDR_FORWARD_LIST -#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -#define BOOST_NO_CXX11_HDR_CODECVT -#define BOOST_NO_CXX11_HDR_CHRONO -#define BOOST_NO_CXX11_HDR_ATOMIC -#define BOOST_NO_CXX11_HDR_ARRAY -#define BOOST_NO_CXX11_HDR_EXCEPTION -#define BOOST_NO_CXX11_STD_ALIGN - -#define BOOST_NO_CXX14_STD_EXCHANGE -#define BOOST_NO_CXX14_HDR_SHARED_MUTEX - -#define BOOST_NO_CXX17_STD_INVOKE -#define BOOST_NO_CXX17_STD_APPLY -#define BOOST_NO_CXX17_ITERATOR_TRAITS diff --git a/external/include/boost_1_75/boost/config/workaround.hpp b/external/include/boost_1_75/boost/config/workaround.hpp deleted file mode 100644 index 7c6a2e62f1..0000000000 --- a/external/include/boost_1_75/boost/config/workaround.hpp +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright David Abrahams 2002. -// 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) -#ifndef BOOST_CONFIG_WORKAROUND_HPP -#define BOOST_CONFIG_WORKAROUND_HPP - -// Compiler/library version workaround macro -// -// Usage: -// -// #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -// // workaround for eVC4 and VC6 -// ... // workaround code here -// #endif -// -// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the -// first argument must be undefined or expand to a numeric -// value. The above expands to: -// -// (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300 -// -// When used for workarounds that apply to the latest known version -// and all earlier versions of a compiler, the following convention -// should be observed: -// -// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) -// -// The version number in this case corresponds to the last version in -// which the workaround was known to have been required. When -// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro -// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates -// the workaround for any version of the compiler. When -// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or -// error will be issued if the compiler version exceeds the argument -// to BOOST_TESTED_AT(). This can be used to locate workarounds which -// may be obsoleted by newer versions. - -#ifndef BOOST_STRICT_CONFIG - -#include - -#ifndef __BORLANDC__ -#define __BORLANDC___WORKAROUND_GUARD 1 -#else -#define __BORLANDC___WORKAROUND_GUARD 0 -#endif -#ifndef __CODEGEARC__ -#define __CODEGEARC___WORKAROUND_GUARD 1 -#else -#define __CODEGEARC___WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_BORLANDC -#define BOOST_BORLANDC_WORKAROUND_GUARD 1 -#else -#define BOOST_BORLANDC_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_CODEGEARC -#define BOOST_CODEGEARC_WORKAROUND_GUARD 1 -#else -#define BOOST_CODEGEARC_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_EMBTC -#define BOOST_EMBTC_WORKAROUND_GUARD 1 -#else -#define BOOST_EMBTC_WORKAROUND_GUARD 0 -#endif -#ifndef _MSC_VER -#define _MSC_VER_WORKAROUND_GUARD 1 -#else -#define _MSC_VER_WORKAROUND_GUARD 0 -#endif -#ifndef _MSC_FULL_VER -#define _MSC_FULL_VER_WORKAROUND_GUARD 1 -#else -#define _MSC_FULL_VER_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_MSVC -#define BOOST_MSVC_WORKAROUND_GUARD 1 -#else -#define BOOST_MSVC_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_MSVC_FULL_VER -#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1 -#else -#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0 -#endif -#ifndef __GNUC__ -#define __GNUC___WORKAROUND_GUARD 1 -#else -#define __GNUC___WORKAROUND_GUARD 0 -#endif -#ifndef __GNUC_MINOR__ -#define __GNUC_MINOR___WORKAROUND_GUARD 1 -#else -#define __GNUC_MINOR___WORKAROUND_GUARD 0 -#endif -#ifndef __GNUC_PATCHLEVEL__ -#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1 -#else -#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_GCC -#define BOOST_GCC_WORKAROUND_GUARD 1 -#define BOOST_GCC_VERSION_WORKAROUND_GUARD 1 -#else -#define BOOST_GCC_WORKAROUND_GUARD 0 -#define BOOST_GCC_VERSION_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_XLCPP_ZOS -#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1 -#else -#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 0 -#endif -#ifndef __IBMCPP__ -#define __IBMCPP___WORKAROUND_GUARD 1 -#else -#define __IBMCPP___WORKAROUND_GUARD 0 -#endif -#ifndef __SUNPRO_CC -#define __SUNPRO_CC_WORKAROUND_GUARD 1 -#else -#define __SUNPRO_CC_WORKAROUND_GUARD 0 -#endif -#ifndef __DECCXX_VER -#define __DECCXX_VER_WORKAROUND_GUARD 1 -#else -#define __DECCXX_VER_WORKAROUND_GUARD 0 -#endif -#ifndef __MWERKS__ -#define __MWERKS___WORKAROUND_GUARD 1 -#else -#define __MWERKS___WORKAROUND_GUARD 0 -#endif -#ifndef __EDG__ -#define __EDG___WORKAROUND_GUARD 1 -#else -#define __EDG___WORKAROUND_GUARD 0 -#endif -#ifndef __EDG_VERSION__ -#define __EDG_VERSION___WORKAROUND_GUARD 1 -#else -#define __EDG_VERSION___WORKAROUND_GUARD 0 -#endif -#ifndef __HP_aCC -#define __HP_aCC_WORKAROUND_GUARD 1 -#else -#define __HP_aCC_WORKAROUND_GUARD 0 -#endif -#ifndef __hpxstd98 -#define __hpxstd98_WORKAROUND_GUARD 1 -#else -#define __hpxstd98_WORKAROUND_GUARD 0 -#endif -#ifndef _CRAYC -#define _CRAYC_WORKAROUND_GUARD 1 -#else -#define _CRAYC_WORKAROUND_GUARD 0 -#endif -#ifndef __DMC__ -#define __DMC___WORKAROUND_GUARD 1 -#else -#define __DMC___WORKAROUND_GUARD 0 -#endif -#ifndef MPW_CPLUS -#define MPW_CPLUS_WORKAROUND_GUARD 1 -#else -#define MPW_CPLUS_WORKAROUND_GUARD 0 -#endif -#ifndef __COMO__ -#define __COMO___WORKAROUND_GUARD 1 -#else -#define __COMO___WORKAROUND_GUARD 0 -#endif -#ifndef __COMO_VERSION__ -#define __COMO_VERSION___WORKAROUND_GUARD 1 -#else -#define __COMO_VERSION___WORKAROUND_GUARD 0 -#endif -#ifndef __INTEL_COMPILER -#define __INTEL_COMPILER_WORKAROUND_GUARD 1 -#else -#define __INTEL_COMPILER_WORKAROUND_GUARD 0 -#endif -#ifndef __ICL -#define __ICL_WORKAROUND_GUARD 1 -#else -#define __ICL_WORKAROUND_GUARD 0 -#endif -#ifndef _COMPILER_VERSION -#define _COMPILER_VERSION_WORKAROUND_GUARD 1 -#else -#define _COMPILER_VERSION_WORKAROUND_GUARD 0 -#endif - -#ifndef _RWSTD_VER -#define _RWSTD_VER_WORKAROUND_GUARD 1 -#else -#define _RWSTD_VER_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_RWSTD_VER -#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1 -#else -#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0 -#endif -#ifndef __GLIBCPP__ -#define __GLIBCPP___WORKAROUND_GUARD 1 -#else -#define __GLIBCPP___WORKAROUND_GUARD 0 -#endif -#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC -#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1 -#else -#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0 -#endif -#ifndef __SGI_STL_PORT -#define __SGI_STL_PORT_WORKAROUND_GUARD 1 -#else -#define __SGI_STL_PORT_WORKAROUND_GUARD 0 -#endif -#ifndef _STLPORT_VERSION -#define _STLPORT_VERSION_WORKAROUND_GUARD 1 -#else -#define _STLPORT_VERSION_WORKAROUND_GUARD 0 -#endif -#ifndef __LIBCOMO_VERSION__ -#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1 -#else -#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0 -#endif -#ifndef _CPPLIB_VER -#define _CPPLIB_VER_WORKAROUND_GUARD 1 -#else -#define _CPPLIB_VER_WORKAROUND_GUARD 0 -#endif - -#ifndef BOOST_INTEL_CXX_VERSION -#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1 -#else -#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_INTEL_WIN -#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1 -#else -#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_DINKUMWARE_STDLIB -#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1 -#else -#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0 -#endif -#ifndef BOOST_INTEL -#define BOOST_INTEL_WORKAROUND_GUARD 1 -#else -#define BOOST_INTEL_WORKAROUND_GUARD 0 -#endif -// Always define to zero, if it's used it'll be defined my MPL: -#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0 - -#define BOOST_WORKAROUND(symbol, test) \ - ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ - (symbol != 0) && (1 % (( (symbol test) ) + 1))) -// ^ ^ ^ ^ -// The extra level of parenthesis nesting above, along with the -// BOOST_OPEN_PAREN indirection below, is required to satisfy the -// broken preprocessor in MWCW 8.3 and earlier. -// -// The basic mechanism works as follows: -// (symbol test) + 1 => if (symbol test) then 2 else 1 -// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0 -// -// The complication with % is for cooperation with BOOST_TESTED_AT(). -// When "test" is BOOST_TESTED_AT(x) and -// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, -// -// symbol test => if (symbol <= x) then 1 else -1 -// (symbol test) + 1 => if (symbol <= x) then 2 else 0 -// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero -// - -#ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS -# define BOOST_OPEN_PAREN ( -# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 -#else -# define BOOST_TESTED_AT(value) != ((value)-(value)) -#endif - -#else - -#define BOOST_WORKAROUND(symbol, test) 0 - -#endif - -#endif // BOOST_CONFIG_WORKAROUND_HPP diff --git a/external/include/boost_1_75/boost/container_hash/detail/float_functions.hpp b/external/include/boost_1_75/boost/container_hash/detail/float_functions.hpp deleted file mode 100644 index f3db52f9cc..0000000000 --- a/external/include/boost_1_75/boost/container_hash/detail/float_functions.hpp +++ /dev/null @@ -1,336 +0,0 @@ - -// Copyright 2005-2009 Daniel James. -// 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) - -#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_FLOAT_FUNCTIONS_HPP) -#define BOOST_FUNCTIONAL_HASH_DETAIL_FLOAT_FUNCTIONS_HPP - -#include -#if defined(BOOST_HAS_PRAGMA_ONCE) -#pragma once -#endif - -#include - -// Set BOOST_HASH_CONFORMANT_FLOATS to 1 for libraries known to have -// sufficiently good floating point support to not require any -// workarounds. -// -// When set to 0, the library tries to automatically -// use the best available implementation. This normally works well, but -// breaks when ambiguities are created by odd namespacing of the functions. -// -// Note that if this is set to 0, the library should still take full -// advantage of the platform's floating point support. - -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif defined(__LIBCOMO__) -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// Rogue Wave library: -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif defined(_LIBCPP_VERSION) -// libc++ -# define BOOST_HASH_CONFORMANT_FLOATS 1 -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -// GNU libstdc++ 3 -# if defined(__GNUC__) && __GNUC__ >= 4 -# define BOOST_HASH_CONFORMANT_FLOATS 1 -# else -# define BOOST_HASH_CONFORMANT_FLOATS 0 -# endif -#elif defined(__STL_CONFIG_H) -// generic SGI STL -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif defined(__MSL_CPP__) -// MSL standard lib: -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif defined(__IBMCPP__) -// VACPP std lib (probably conformant for much earlier version). -# if __IBMCPP__ >= 1210 -# define BOOST_HASH_CONFORMANT_FLOATS 1 -# else -# define BOOST_HASH_CONFORMANT_FLOATS 0 -# endif -#elif defined(MSIPL_COMPILE_H) -// Modena C++ standard library -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) -// Dinkumware Library (this has to appear after any possible replacement libraries): -# if _CPPLIB_VER >= 405 -# define BOOST_HASH_CONFORMANT_FLOATS 1 -# else -# define BOOST_HASH_CONFORMANT_FLOATS 0 -# endif -#else -# define BOOST_HASH_CONFORMANT_FLOATS 0 -#endif - -#if BOOST_HASH_CONFORMANT_FLOATS - -// The standard library is known to be compliant, so don't use the -// configuration mechanism. - -namespace boost { - namespace hash_detail { - template - struct call_ldexp { - typedef Float float_type; - inline Float operator()(Float x, int y) const { - return std::ldexp(x, y); - } - }; - - template - struct call_frexp { - typedef Float float_type; - inline Float operator()(Float x, int* y) const { - return std::frexp(x, y); - } - }; - - template - struct select_hash_type - { - typedef Float type; - }; - } -} - -#else // BOOST_HASH_CONFORMANT_FLOATS == 0 - -// The C++ standard requires that the C float functions are overloarded -// for float, double and long double in the std namespace, but some of the older -// library implementations don't support this. On some that don't, the C99 -// float functions (frexpf, frexpl, etc.) are available. -// -// The following tries to automatically detect which are available. - -namespace boost { - namespace hash_detail { - - // Returned by dummy versions of the float functions. - - struct not_found { - // Implicitly convertible to float and long double in order to avoid - // a compile error when the dummy float functions are used. - - inline operator float() const { return 0; } - inline operator long double() const { return 0; } - }; - - // A type for detecting the return type of functions. - - template struct is; - template <> struct is { char x[10]; }; - template <> struct is { char x[20]; }; - template <> struct is { char x[30]; }; - template <> struct is { char x[40]; }; - - // Used to convert the return type of a function to a type for sizeof. - - template is float_type(T); - - // call_ldexp - // - // This will get specialized for float and long double - - template struct call_ldexp - { - typedef double float_type; - - inline double operator()(double a, int b) const - { - using namespace std; - return ldexp(a, b); - } - }; - - // call_frexp - // - // This will get specialized for float and long double - - template struct call_frexp - { - typedef double float_type; - - inline double operator()(double a, int* b) const - { - using namespace std; - return frexp(a, b); - } - }; - } -} - -// A namespace for dummy functions to detect when the actual function we want -// isn't available. ldexpl, ldexpf etc. might be added tby the macros below. -// -// AFAICT these have to be outside of the boost namespace, as if they're in -// the boost namespace they'll always be preferable to any other function -// (since the arguments are built in types, ADL can't be used). - -namespace boost_hash_detect_float_functions { - template boost::hash_detail::not_found ldexp(Float, int); - template boost::hash_detail::not_found frexp(Float, int*); -} - -// Macros for generating specializations of call_ldexp and call_frexp. -// -// check_cpp and check_c99 check if the C++ or C99 functions are available. -// -// Then the call_* functions select an appropriate implementation. -// -// I used c99_func in a few places just to get a unique name. -// -// Important: when using 'using namespace' at namespace level, include as -// little as possible in that namespace, as Visual C++ has an odd bug which -// can cause the namespace to be imported at the global level. This seems to -// happen mainly when there's a template in the same namesapce. - -#define BOOST_HASH_CALL_FLOAT_FUNC(cpp_func, c99_func, type1, type2) \ -namespace boost_hash_detect_float_functions { \ - template \ - boost::hash_detail::not_found c99_func(Float, type2); \ -} \ - \ -namespace boost { \ - namespace hash_detail { \ - namespace c99_func##_detect { \ - using namespace std; \ - using namespace boost_hash_detect_float_functions; \ - \ - struct check { \ - static type1 x; \ - static type2 y; \ - BOOST_STATIC_CONSTANT(bool, cpp = \ - sizeof(float_type(cpp_func(x,y))) \ - == sizeof(is)); \ - BOOST_STATIC_CONSTANT(bool, c99 = \ - sizeof(float_type(c99_func(x,y))) \ - == sizeof(is)); \ - }; \ - } \ - \ - template \ - struct call_c99_##c99_func : \ - boost::hash_detail::call_##cpp_func {}; \ - \ - template <> \ - struct call_c99_##c99_func { \ - typedef type1 float_type; \ - \ - template \ - inline type1 operator()(type1 a, T b) const \ - { \ - using namespace std; \ - return c99_func(a, b); \ - } \ - }; \ - \ - template \ - struct call_cpp_##c99_func : \ - call_c99_##c99_func< \ - ::boost::hash_detail::c99_func##_detect::check::c99 \ - > {}; \ - \ - template <> \ - struct call_cpp_##c99_func { \ - typedef type1 float_type; \ - \ - template \ - inline type1 operator()(type1 a, T b) const \ - { \ - using namespace std; \ - return cpp_func(a, b); \ - } \ - }; \ - \ - template <> \ - struct call_##cpp_func : \ - call_cpp_##c99_func< \ - ::boost::hash_detail::c99_func##_detect::check::cpp \ - > {}; \ - } \ -} - -#define BOOST_HASH_CALL_FLOAT_MACRO(cpp_func, c99_func, type1, type2) \ -namespace boost { \ - namespace hash_detail { \ - \ - template <> \ - struct call_##cpp_func { \ - typedef type1 float_type; \ - inline type1 operator()(type1 x, type2 y) const { \ - return c99_func(x, y); \ - } \ - }; \ - } \ -} - -#if defined(ldexpf) -BOOST_HASH_CALL_FLOAT_MACRO(ldexp, ldexpf, float, int) -#else -BOOST_HASH_CALL_FLOAT_FUNC(ldexp, ldexpf, float, int) -#endif - -#if defined(ldexpl) -BOOST_HASH_CALL_FLOAT_MACRO(ldexp, ldexpl, long double, int) -#else -BOOST_HASH_CALL_FLOAT_FUNC(ldexp, ldexpl, long double, int) -#endif - -#if defined(frexpf) -BOOST_HASH_CALL_FLOAT_MACRO(frexp, frexpf, float, int*) -#else -BOOST_HASH_CALL_FLOAT_FUNC(frexp, frexpf, float, int*) -#endif - -#if defined(frexpl) -BOOST_HASH_CALL_FLOAT_MACRO(frexp, frexpl, long double, int*) -#else -BOOST_HASH_CALL_FLOAT_FUNC(frexp, frexpl, long double, int*) -#endif - -#undef BOOST_HASH_CALL_FLOAT_MACRO -#undef BOOST_HASH_CALL_FLOAT_FUNC - - -namespace boost -{ - namespace hash_detail - { - template - struct select_hash_type_impl { - typedef double type; - }; - - template <> - struct select_hash_type_impl { - typedef float type; - }; - - template <> - struct select_hash_type_impl { - typedef long double type; - }; - - - // select_hash_type - // - // If there is support for a particular floating point type, use that - // otherwise use double (there's always support for double). - - template - struct select_hash_type : select_hash_type_impl< - BOOST_DEDUCED_TYPENAME call_ldexp::float_type, - BOOST_DEDUCED_TYPENAME call_frexp::float_type - > {}; - } -} - -#endif // BOOST_HASH_CONFORMANT_FLOATS - -#endif diff --git a/external/include/boost_1_75/boost/container_hash/detail/hash_float.hpp b/external/include/boost_1_75/boost/container_hash/detail/hash_float.hpp deleted file mode 100644 index f763428508..0000000000 --- a/external/include/boost_1_75/boost/container_hash/detail/hash_float.hpp +++ /dev/null @@ -1,271 +0,0 @@ - -// Copyright 2005-2012 Daniel James. -// 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) - -#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_HEADER) -#define BOOST_FUNCTIONAL_HASH_DETAIL_HASH_FLOAT_HEADER - -#include -#if defined(BOOST_HAS_PRAGMA_ONCE) -#pragma once -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_MSVC) -#pragma warning(push) -#if BOOST_MSVC >= 1400 -#pragma warning(disable:6294) // Ill-defined for-loop: initial condition does - // not satisfy test. Loop body not executed -#endif -#endif - -// Can we use fpclassify? - -// STLport -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -#define BOOST_HASH_USE_FPCLASSIFY 0 - -// GNU libstdc++ 3 -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -# if (defined(__USE_ISOC99) || defined(_GLIBCXX_USE_C99_MATH)) && \ - !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)) -# define BOOST_HASH_USE_FPCLASSIFY 1 -# else -# define BOOST_HASH_USE_FPCLASSIFY 0 -# endif - -// Everything else -#else -# define BOOST_HASH_USE_FPCLASSIFY 0 -#endif - -namespace boost -{ - namespace hash_detail - { - inline void hash_float_combine(std::size_t& seed, std::size_t value) - { - seed ^= value + (seed<<6) + (seed>>2); - } - - //////////////////////////////////////////////////////////////////////// - // Binary hash function - // - // Only used for floats with known iec559 floats, and certain values in - // numeric_limits - - inline std::size_t hash_binary(char* ptr, std::size_t length) - { - std::size_t seed = 0; - - if (length >= sizeof(std::size_t)) { - std::memcpy(&seed, ptr, sizeof(std::size_t)); - length -= sizeof(std::size_t); - ptr += sizeof(std::size_t); - - while(length >= sizeof(std::size_t)) { - std::size_t buffer = 0; - std::memcpy(&buffer, ptr, sizeof(std::size_t)); - hash_float_combine(seed, buffer); - length -= sizeof(std::size_t); - ptr += sizeof(std::size_t); - } - } - - if (length > 0) { - std::size_t buffer = 0; - std::memcpy(&buffer, ptr, length); - hash_float_combine(seed, buffer); - } - - return seed; - } - - template - struct enable_binary_hash - { - BOOST_STATIC_CONSTANT(bool, value = - std::numeric_limits::is_iec559 && - std::numeric_limits::digits == digits && - std::numeric_limits::radix == 2 && - std::numeric_limits::max_exponent == max_exponent); - }; - - template - inline std::size_t float_hash_impl(Float v, - BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, - std::size_t>::type) - { - return hash_binary((char*) &v, 4); - } - - - template - inline std::size_t float_hash_impl(Float v, - BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, - std::size_t>::type) - { - return hash_binary((char*) &v, 8); - } - - template - inline std::size_t float_hash_impl(Float v, - BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, - std::size_t>::type) - { - return hash_binary((char*) &v, 10); - } - - template - inline std::size_t float_hash_impl(Float v, - BOOST_DEDUCED_TYPENAME boost::enable_if_c< - enable_binary_hash::value, - std::size_t>::type) - { - return hash_binary((char*) &v, 16); - } - - //////////////////////////////////////////////////////////////////////// - // Portable hash function - // - // Used as a fallback when the binary hash function isn't supported. - - template - inline std::size_t float_hash_impl2(T v) - { - boost::hash_detail::call_frexp frexp; - boost::hash_detail::call_ldexp ldexp; - - int exp = 0; - - v = frexp(v, &exp); - - // A postive value is easier to hash, so combine the - // sign with the exponent and use the absolute value. - if(v < 0) { - v = -v; - exp += limits::max_exponent - - limits::min_exponent; - } - - v = ldexp(v, limits::digits); - std::size_t seed = static_cast(v); - v -= static_cast(seed); - - // ceiling(digits(T) * log2(radix(T))/ digits(size_t)) - 1; - std::size_t const length - = (limits::digits * - boost::static_log2::radix>::value - + limits::digits - 1) - / limits::digits; - - for(std::size_t i = 0; i != length; ++i) - { - v = ldexp(v, limits::digits); - std::size_t part = static_cast(v); - v -= static_cast(part); - hash_float_combine(seed, part); - } - - hash_float_combine(seed, static_cast(exp)); - - return seed; - } - -#if !defined(BOOST_HASH_DETAIL_TEST_WITHOUT_GENERIC) - template - inline std::size_t float_hash_impl(T v, ...) - { - typedef BOOST_DEDUCED_TYPENAME select_hash_type::type type; - return float_hash_impl2(static_cast(v)); - } -#endif - } -} - -#if BOOST_HASH_USE_FPCLASSIFY - -#include - -namespace boost -{ - namespace hash_detail - { - template - inline std::size_t float_hash_value(T v) - { -#if defined(fpclassify) - switch (fpclassify(v)) -#elif BOOST_HASH_CONFORMANT_FLOATS - switch (std::fpclassify(v)) -#else - using namespace std; - switch (fpclassify(v)) -#endif - { - case FP_ZERO: - return 0; - case FP_INFINITE: - return (std::size_t)(v > 0 ? -1 : -2); - case FP_NAN: - return (std::size_t)(-3); - case FP_NORMAL: - case FP_SUBNORMAL: - return float_hash_impl(v, 0); - default: - BOOST_ASSERT(0); - return 0; - } - } - } -} - -#else // !BOOST_HASH_USE_FPCLASSIFY - -namespace boost -{ - namespace hash_detail - { - template - inline bool is_zero(T v) - { -#if !defined(__GNUC__) && !defined(__clang__) - return v == 0; -#else - // GCC's '-Wfloat-equal' will complain about comparing - // v to 0, but because it disables warnings for system - // headers it won't complain if you use std::equal_to to - // compare with 0. Resulting in this silliness: - return std::equal_to()(v, 0); -#endif - } - - template - inline std::size_t float_hash_value(T v) - { - return boost::hash_detail::is_zero(v) ? 0 : float_hash_impl(v, 0); - } - } -} - -#endif // BOOST_HASH_USE_FPCLASSIFY - -#undef BOOST_HASH_USE_FPCLASSIFY - -#if defined(BOOST_MSVC) -#pragma warning(pop) -#endif - -#endif diff --git a/external/include/boost_1_75/boost/container_hash/detail/limits.hpp b/external/include/boost_1_75/boost/container_hash/detail/limits.hpp deleted file mode 100644 index 4a971a6ac2..0000000000 --- a/external/include/boost_1_75/boost/container_hash/detail/limits.hpp +++ /dev/null @@ -1,62 +0,0 @@ - -// Copyright 2005-2009 Daniel James. -// 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) -// -// On some platforms std::limits gives incorrect values for long double. -// This tries to work around them. - -#if !defined(BOOST_FUNCTIONAL_HASH_DETAIL_LIMITS_HEADER) -#define BOOST_FUNCTIONAL_HASH_DETAIL_LIMITS_HEADER - -#include -#if defined(BOOST_HAS_PRAGMA_ONCE) -#pragma once -#endif - -#include - -// On OpenBSD, numeric_limits is not reliable for long doubles, but -// the macros defined in are and support long double when STLport -// doesn't. - -#if defined(__OpenBSD__) || defined(_STLP_NO_LONG_DOUBLE) -#include -#endif - -namespace boost -{ - namespace hash_detail - { - template - struct limits : std::numeric_limits {}; - -#if defined(__OpenBSD__) || defined(_STLP_NO_LONG_DOUBLE) - template <> - struct limits - : std::numeric_limits - { - static long double epsilon() { - return LDBL_EPSILON; - } - - static long double (max)() { - return LDBL_MAX; - } - - static long double (min)() { - return LDBL_MIN; - } - - BOOST_STATIC_CONSTANT(int, digits = LDBL_MANT_DIG); - BOOST_STATIC_CONSTANT(int, max_exponent = LDBL_MAX_EXP); - BOOST_STATIC_CONSTANT(int, min_exponent = LDBL_MIN_EXP); -#if defined(_STLP_NO_LONG_DOUBLE) - BOOST_STATIC_CONSTANT(int, radix = FLT_RADIX); -#endif - }; -#endif // __OpenBSD__ - } -} - -#endif diff --git a/external/include/boost_1_75/boost/container_hash/extensions.hpp b/external/include/boost_1_75/boost/container_hash/extensions.hpp deleted file mode 100644 index aa4f9cff8b..0000000000 --- a/external/include/boost_1_75/boost/container_hash/extensions.hpp +++ /dev/null @@ -1,361 +0,0 @@ - -// Copyright 2005-2009 Daniel James. -// 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) - -// Based on Peter Dimov's proposal -// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf -// issue 6.18. - -// This implements the extensions to the standard. -// It's undocumented, so you shouldn't use it.... - -#if !defined(BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP) -#define BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP - -#include -#if defined(BOOST_HAS_PRAGMA_ONCE) -#pragma once -#endif - -#include -#include -#include -#include - -#if !defined(BOOST_NO_CXX11_HDR_ARRAY) -# include -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TUPLE) -# include -#endif - -#include - -#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) -#include -#endif - -namespace boost -{ - template - std::size_t hash_value(std::pair const&); - template - std::size_t hash_value(std::vector const&); - template - std::size_t hash_value(std::list const& v); - template - std::size_t hash_value(std::deque const& v); - template - std::size_t hash_value(std::set const& v); - template - std::size_t hash_value(std::multiset const& v); - template - std::size_t hash_value(std::map const& v); - template - std::size_t hash_value(std::multimap const& v); - - template - std::size_t hash_value(std::complex const&); - - template - std::size_t hash_value(std::pair const& v) - { - std::size_t seed = 0; - boost::hash_combine(seed, v.first); - boost::hash_combine(seed, v.second); - return seed; - } - - template - std::size_t hash_value(std::vector const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::list const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::deque const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::set const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::multiset const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::map const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::multimap const& v) - { - return boost::hash_range(v.begin(), v.end()); - } - - template - std::size_t hash_value(std::complex const& v) - { - boost::hash hasher; - std::size_t seed = hasher(v.imag()); - seed ^= hasher(v.real()) + (seed<<6) + (seed>>2); - return seed; - } - -#if !defined(BOOST_NO_CXX11_HDR_ARRAY) - template - std::size_t hash_value(std::array const& v) - { - return boost::hash_range(v.begin(), v.end()); - } -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TUPLE) - namespace hash_detail { - template - inline typename boost::enable_if_c<(I == std::tuple_size::value), - void>::type - hash_combine_tuple(std::size_t&, T const&) - { - } - - template - inline typename boost::enable_if_c<(I < std::tuple_size::value), - void>::type - hash_combine_tuple(std::size_t& seed, T const& v) - { - boost::hash_combine(seed, std::get(v)); - boost::hash_detail::hash_combine_tuple(seed, v); - } - - template - inline std::size_t hash_tuple(T const& v) - { - std::size_t seed = 0; - boost::hash_detail::hash_combine_tuple<0>(seed, v); - return seed; - } - } - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } -#else - - inline std::size_t hash_value(std::tuple<> const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - - template - inline std::size_t hash_value(std::tuple const& v) - { - return boost::hash_detail::hash_tuple(v); - } - -#endif - -#endif - -#if !defined(BOOST_NO_CXX11_SMART_PTR) - template - inline std::size_t hash_value(std::shared_ptr const& x) { - return boost::hash_value(x.get()); - } - - template - inline std::size_t hash_value(std::unique_ptr const& x) { - return boost::hash_value(x.get()); - } -#endif - - // - // call_hash_impl - // - - // On compilers without function template ordering, this deals with arrays. - -#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - namespace hash_detail - { - template - struct call_hash_impl - { - template - struct inner - { - static std::size_t call(T const& v) - { - using namespace boost; - return hash_value(v); - } - }; - }; - - template <> - struct call_hash_impl - { - template - struct inner - { - static std::size_t call(Array const& v) - { - const int size = sizeof(v) / sizeof(*v); - return boost::hash_range(v, v + size); - } - }; - }; - - template - struct call_hash - : public call_hash_impl::value> - ::BOOST_NESTED_TEMPLATE inner - { - }; - } -#endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING - - // - // boost::hash - // - - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - - template struct hash - : boost::hash_detail::hash_base - { -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - std::size_t operator()(T const& val) const - { - return hash_value(val); - } -#else - std::size_t operator()(T const& val) const - { - return hash_detail::call_hash::call(val); - } -#endif - }; - -#if BOOST_WORKAROUND(__DMC__, <= 0x848) - template struct hash - : boost::hash_detail::hash_base - { - std::size_t operator()(const T* val) const - { - return boost::hash_range(val, val+n); - } - }; -#endif - -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - // On compilers without partial specialization, boost::hash - // has already been declared to deal with pointers, so just - // need to supply the non-pointer version of hash_impl. - - namespace hash_detail - { - template - struct hash_impl; - - template <> - struct hash_impl - { - template - struct inner - : boost::hash_detail::hash_base - { -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - std::size_t operator()(T const& val) const - { - return hash_value(val); - } -#else - std::size_t operator()(T const& val) const - { - return hash_detail::call_hash::call(val); - } -#endif - }; - }; - } -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -} - -#endif diff --git a/external/include/boost_1_75/boost/container_hash/hash.hpp b/external/include/boost_1_75/boost/container_hash/hash.hpp deleted file mode 100644 index 6059fee19c..0000000000 --- a/external/include/boost_1_75/boost/container_hash/hash.hpp +++ /dev/null @@ -1,762 +0,0 @@ - -// Copyright 2005-2014 Daniel James. -// 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) - -// Based on Peter Dimov's proposal -// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf -// issue 6.18. -// -// This also contains public domain code from MurmurHash. From the -// MurmurHash header: - -// MurmurHash3 was written by Austin Appleby, and is placed in the public -// domain. The author hereby disclaims copyright to this source code. - -#if !defined(BOOST_FUNCTIONAL_HASH_HASH_HPP) -#define BOOST_FUNCTIONAL_HASH_HASH_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -#include -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) -#include -#endif - -#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) -#include -#endif - -#if defined(BOOST_MSVC) -#pragma warning(push) - -#if BOOST_MSVC >= 1400 -#pragma warning(disable:6295) // Ill-defined for-loop : 'unsigned int' values - // are always of range '0' to '4294967295'. - // Loop executes infinitely. -#endif - -#endif - -#if BOOST_WORKAROUND(__GNUC__, < 3) \ - && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -#define BOOST_HASH_CHAR_TRAITS string_char_traits -#else -#define BOOST_HASH_CHAR_TRAITS char_traits -#endif - -#if defined(_MSC_VER) -# define BOOST_FUNCTIONAL_HASH_ROTL32(x, r) _rotl(x,r) -#else -# define BOOST_FUNCTIONAL_HASH_ROTL32(x, r) (x << r) | (x >> (32 - r)) -#endif - -// Detect whether standard library has C++17 headers - -#if !defined(BOOST_HASH_CXX17) -# if defined(BOOST_MSVC) -# if defined(_HAS_CXX17) && _HAS_CXX17 -# define BOOST_HASH_CXX17 1 -# endif -# elif defined(__cplusplus) && __cplusplus >= 201703 -# define BOOST_HASH_CXX17 1 -# endif -#endif - -#if !defined(BOOST_HASH_CXX17) -# define BOOST_HASH_CXX17 0 -#endif - -#if BOOST_HASH_CXX17 && defined(__has_include) -# if !defined(BOOST_HASH_HAS_STRING_VIEW) && __has_include() -# define BOOST_HASH_HAS_STRING_VIEW 1 -# endif -# if !defined(BOOST_HASH_HAS_OPTIONAL) && __has_include() -# define BOOST_HASH_HAS_OPTIONAL 1 -# endif -# if !defined(BOOST_HASH_HAS_VARIANT) && __has_include() -# define BOOST_HASH_HAS_VARIANT 1 -# endif -#endif - -#if !defined(BOOST_HASH_HAS_STRING_VIEW) -# define BOOST_HASH_HAS_STRING_VIEW 0 -#endif - -#if !defined(BOOST_HASH_HAS_OPTIONAL) -# define BOOST_HASH_HAS_OPTIONAL 0 -#endif - -#if !defined(BOOST_HASH_HAS_VARIANT) -# define BOOST_HASH_HAS_VARIANT 0 -#endif - -#if BOOST_HASH_HAS_STRING_VIEW -# include -#endif - -#if BOOST_HASH_HAS_OPTIONAL -# include -#endif - -#if BOOST_HASH_HAS_VARIANT -# include -#endif - -namespace boost -{ - namespace hash_detail - { -#if defined(BOOST_NO_CXX98_FUNCTION_BASE) - template - struct hash_base - { - typedef T argument_type; - typedef std::size_t result_type; - }; -#else - template - struct hash_base : std::unary_function {}; -#endif - - struct enable_hash_value { typedef std::size_t type; }; - - template struct basic_numbers {}; - template struct long_numbers; - template struct ulong_numbers; - template struct float_numbers {}; - - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; - -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; -#endif - -#if !defined(BOOST_NO_CXX11_CHAR16_T) - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; -#endif - -#if !defined(BOOST_NO_CXX11_CHAR32_T) - template <> struct basic_numbers : - boost::hash_detail::enable_hash_value {}; -#endif - - // long_numbers is defined like this to allow for separate - // specialization for long_long and int128_type, in case - // they conflict. - template struct long_numbers2 {}; - template struct ulong_numbers2 {}; - template struct long_numbers : long_numbers2 {}; - template struct ulong_numbers : ulong_numbers2 {}; - -#if !defined(BOOST_NO_LONG_LONG) - template <> struct long_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct ulong_numbers : - boost::hash_detail::enable_hash_value {}; -#endif - -#if defined(BOOST_HAS_INT128) - template <> struct long_numbers2 : - boost::hash_detail::enable_hash_value {}; - template <> struct ulong_numbers2 : - boost::hash_detail::enable_hash_value {}; -#endif - - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - template <> struct float_numbers : - boost::hash_detail::enable_hash_value {}; - } - - template - typename boost::hash_detail::basic_numbers::type hash_value(T); - template - typename boost::hash_detail::long_numbers::type hash_value(T); - template - typename boost::hash_detail::ulong_numbers::type hash_value(T); - - template - typename boost::enable_if, std::size_t>::type - hash_value(T); - -#if !BOOST_WORKAROUND(__DMC__, <= 0x848) - template std::size_t hash_value(T* const&); -#else - template std::size_t hash_value(T*); -#endif - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - template< class T, unsigned N > - std::size_t hash_value(const T (&x)[N]); - - template< class T, unsigned N > - std::size_t hash_value(T (&x)[N]); -#endif - - template - std::size_t hash_value( - std::basic_string, A> const&); - -#if BOOST_HASH_HAS_STRING_VIEW - template - std::size_t hash_value( - std::basic_string_view > const&); -#endif - - template - typename boost::hash_detail::float_numbers::type hash_value(T); - -#if BOOST_HASH_HAS_OPTIONAL - template - std::size_t hash_value(std::optional const&); -#endif - -#if BOOST_HASH_HAS_VARIANT - std::size_t hash_value(std::monostate); - template - std::size_t hash_value(std::variant const&); -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) - std::size_t hash_value(std::type_index); -#endif - -#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) - std::size_t hash_value(std::error_code const&); - std::size_t hash_value(std::error_condition const&); -#endif - - // Implementation - - namespace hash_detail - { - template - inline std::size_t hash_value_signed(T val) - { - const unsigned int size_t_bits = std::numeric_limits::digits; - // ceiling(std::numeric_limits::digits / size_t_bits) - 1 - const int length = (std::numeric_limits::digits - 1) - / static_cast(size_t_bits); - - std::size_t seed = 0; - T positive = val < 0 ? -1 - val : val; - - // Hopefully, this loop can be unrolled. - for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits) - { - seed ^= (std::size_t) (positive >> i) + (seed<<6) + (seed>>2); - } - seed ^= (std::size_t) val + (seed<<6) + (seed>>2); - - return seed; - } - - template - inline std::size_t hash_value_unsigned(T val) - { - const unsigned int size_t_bits = std::numeric_limits::digits; - // ceiling(std::numeric_limits::digits / size_t_bits) - 1 - const int length = (std::numeric_limits::digits - 1) - / static_cast(size_t_bits); - - std::size_t seed = 0; - - // Hopefully, this loop can be unrolled. - for(unsigned int i = length * size_t_bits; i > 0; i -= size_t_bits) - { - seed ^= (std::size_t) (val >> i) + (seed<<6) + (seed>>2); - } - seed ^= (std::size_t) val + (seed<<6) + (seed>>2); - - return seed; - } - - template - inline void hash_combine_impl(SizeT& seed, SizeT value) - { - seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - - inline void hash_combine_impl(boost::uint32_t& h1, - boost::uint32_t k1) - { - const uint32_t c1 = 0xcc9e2d51; - const uint32_t c2 = 0x1b873593; - - k1 *= c1; - k1 = BOOST_FUNCTIONAL_HASH_ROTL32(k1,15); - k1 *= c2; - - h1 ^= k1; - h1 = BOOST_FUNCTIONAL_HASH_ROTL32(h1,13); - h1 = h1*5+0xe6546b64; - } - - -// Don't define 64-bit hash combine on platforms without 64 bit integers, -// and also not for 32-bit gcc as it warns about the 64-bit constant. -#if !defined(BOOST_NO_INT64_T) && \ - !(defined(__GNUC__) && ULONG_MAX == 0xffffffff) - - inline void hash_combine_impl(boost::uint64_t& h, - boost::uint64_t k) - { - const boost::uint64_t m = UINT64_C(0xc6a4a7935bd1e995); - const int r = 47; - - k *= m; - k ^= k >> r; - k *= m; - - h ^= k; - h *= m; - - // Completely arbitrary number, to prevent 0's - // from hashing to 0. - h += 0xe6546b64; - } - -#endif // BOOST_NO_INT64_T - } - - template - typename boost::hash_detail::basic_numbers::type hash_value(T v) - { - return static_cast(v); - } - - template - typename boost::hash_detail::long_numbers::type hash_value(T v) - { - return hash_detail::hash_value_signed(v); - } - - template - typename boost::hash_detail::ulong_numbers::type hash_value(T v) - { - return hash_detail::hash_value_unsigned(v); - } - - template - typename boost::enable_if, std::size_t>::type - hash_value(T v) - { - return static_cast(v); - } - - // Implementation by Alberto Barbati and Dave Harris. -#if !BOOST_WORKAROUND(__DMC__, <= 0x848) - template std::size_t hash_value(T* const& v) -#else - template std::size_t hash_value(T* v) -#endif - { -#if defined(__VMS) && __INITIAL_POINTER_SIZE == 64 - // for some reason ptrdiff_t on OpenVMS compiler with - // 64 bit is not 64 bit !!! - std::size_t x = static_cast( - reinterpret_cast(v)); -#else - std::size_t x = static_cast( - reinterpret_cast(v)); -#endif - return x + (x >> 3); - } - -#if defined(BOOST_MSVC) -#pragma warning(push) -#if BOOST_MSVC <= 1400 -#pragma warning(disable:4267) // 'argument' : conversion from 'size_t' to - // 'unsigned int', possible loss of data - // A misguided attempt to detect 64-bit - // incompatability. -#endif -#endif - - template - inline void hash_combine(std::size_t& seed, T const& v) - { - boost::hash hasher; - return boost::hash_detail::hash_combine_impl(seed, hasher(v)); - } - -#if defined(BOOST_MSVC) -#pragma warning(pop) -#endif - - template - inline std::size_t hash_range(It first, It last) - { - std::size_t seed = 0; - - for(; first != last; ++first) - { - hash_combine::value_type>(seed, *first); - } - - return seed; - } - - template - inline void hash_range(std::size_t& seed, It first, It last) - { - for(; first != last; ++first) - { - hash_combine::value_type>(seed, *first); - } - } - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) - template - inline std::size_t hash_range(T* first, T* last) - { - std::size_t seed = 0; - - for(; first != last; ++first) - { - boost::hash hasher; - seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - - return seed; - } - - template - inline void hash_range(std::size_t& seed, T* first, T* last) - { - for(; first != last; ++first) - { - boost::hash hasher; - seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - } -#endif - -#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - template< class T, unsigned N > - inline std::size_t hash_value(const T (&x)[N]) - { - return hash_range(x, x + N); - } - - template< class T, unsigned N > - inline std::size_t hash_value(T (&x)[N]) - { - return hash_range(x, x + N); - } -#endif - - template - inline std::size_t hash_value( - std::basic_string, A> const& v) - { - return hash_range(v.begin(), v.end()); - } - -#if BOOST_HASH_HAS_STRING_VIEW - template - inline std::size_t hash_value( - std::basic_string_view > const& v) - { - return hash_range(v.begin(), v.end()); - } -#endif - - template - typename boost::hash_detail::float_numbers::type hash_value(T v) - { - return boost::hash_detail::float_hash_value(v); - } - -#if BOOST_HASH_HAS_OPTIONAL - template - inline std::size_t hash_value(std::optional const& v) { - if (!v) { - // Arbitray value for empty optional. - return 0x12345678; - } else { - boost::hash hf; - return hf(*v); - } - } -#endif - -#if BOOST_HASH_HAS_VARIANT - inline std::size_t hash_value(std::monostate) { - return 0x87654321; - } - - template - inline std::size_t hash_value(std::variant const& v) { - std::size_t seed = 0; - hash_combine(seed, v.index()); - std::visit([&seed](auto&& x) { hash_combine(seed, x); }, v); - return seed; - } -#endif - - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) - inline std::size_t hash_value(std::type_index v) - { - return v.hash_code(); - } -#endif - -#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) - inline std::size_t hash_value(std::error_code const& v) { - std::size_t seed = 0; - hash_combine(seed, v.value()); - hash_combine(seed, &v.category()); - return seed; - } - - inline std::size_t hash_value(std::error_condition const& v) { - std::size_t seed = 0; - hash_combine(seed, v.value()); - hash_combine(seed, &v.category()); - return seed; - } -#endif - - // - // boost::hash - // - - // Define the specializations required by the standard. The general purpose - // boost::hash is defined later in extensions.hpp if - // BOOST_HASH_NO_EXTENSIONS is not defined. - - // BOOST_HASH_SPECIALIZE - define a specialization for a type which is - // passed by copy. - // - // BOOST_HASH_SPECIALIZE_REF - define a specialization for a type which is - // passed by const reference. - // - // These are undefined later. - -#define BOOST_HASH_SPECIALIZE(type) \ - template <> struct hash \ - : public boost::hash_detail::hash_base \ - { \ - std::size_t operator()(type v) const \ - { \ - return boost::hash_value(v); \ - } \ - }; - -#define BOOST_HASH_SPECIALIZE_REF(type) \ - template <> struct hash \ - : public boost::hash_detail::hash_base \ - { \ - std::size_t operator()(type const& v) const \ - { \ - return boost::hash_value(v); \ - } \ - }; - -#define BOOST_HASH_SPECIALIZE_TEMPLATE_REF(type) \ - struct hash \ - : public boost::hash_detail::hash_base \ - { \ - std::size_t operator()(type const& v) const \ - { \ - return boost::hash_value(v); \ - } \ - }; - - BOOST_HASH_SPECIALIZE(bool) - BOOST_HASH_SPECIALIZE(char) - BOOST_HASH_SPECIALIZE(signed char) - BOOST_HASH_SPECIALIZE(unsigned char) -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) - BOOST_HASH_SPECIALIZE(wchar_t) -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) - BOOST_HASH_SPECIALIZE(char16_t) -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) - BOOST_HASH_SPECIALIZE(char32_t) -#endif - BOOST_HASH_SPECIALIZE(short) - BOOST_HASH_SPECIALIZE(unsigned short) - BOOST_HASH_SPECIALIZE(int) - BOOST_HASH_SPECIALIZE(unsigned int) - BOOST_HASH_SPECIALIZE(long) - BOOST_HASH_SPECIALIZE(unsigned long) - - BOOST_HASH_SPECIALIZE(float) - BOOST_HASH_SPECIALIZE(double) - BOOST_HASH_SPECIALIZE(long double) - - BOOST_HASH_SPECIALIZE_REF(std::string) -#if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) - BOOST_HASH_SPECIALIZE_REF(std::wstring) -#endif -#if !defined(BOOST_NO_CXX11_CHAR16_T) - BOOST_HASH_SPECIALIZE_REF(std::basic_string) -#endif -#if !defined(BOOST_NO_CXX11_CHAR32_T) - BOOST_HASH_SPECIALIZE_REF(std::basic_string) -#endif - -#if BOOST_HASH_HAS_STRING_VIEW - BOOST_HASH_SPECIALIZE_REF(std::string_view) -# if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) - BOOST_HASH_SPECIALIZE_REF(std::wstring_view) -# endif -# if !defined(BOOST_NO_CXX11_CHAR16_T) - BOOST_HASH_SPECIALIZE_REF(std::basic_string_view) -# endif -# if !defined(BOOST_NO_CXX11_CHAR32_T) - BOOST_HASH_SPECIALIZE_REF(std::basic_string_view) -# endif -#endif - -#if !defined(BOOST_NO_LONG_LONG) - BOOST_HASH_SPECIALIZE(boost::long_long_type) - BOOST_HASH_SPECIALIZE(boost::ulong_long_type) -#endif - -#if defined(BOOST_HAS_INT128) - BOOST_HASH_SPECIALIZE(boost::int128_type) - BOOST_HASH_SPECIALIZE(boost::uint128_type) -#endif - -#if BOOST_HASH_HAS_OPTIONAL - template - BOOST_HASH_SPECIALIZE_TEMPLATE_REF(std::optional) -#endif - -#if !defined(BOOST_HASH_HAS_VARIANT) - template - BOOST_HASH_SPECIALIZE_TEMPLATE_REF(std::variant) - BOOST_HASH_SPECIALIZE(std::monostate) -#endif - -#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) - BOOST_HASH_SPECIALIZE(std::type_index) -#endif - -#undef BOOST_HASH_SPECIALIZE -#undef BOOST_HASH_SPECIALIZE_REF -#undef BOOST_HASH_SPECIALIZE_TEMPLATE_REF - -// Specializing boost::hash for pointers. - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - - template - struct hash - : public boost::hash_detail::hash_base - { - std::size_t operator()(T* v) const - { -#if !BOOST_WORKAROUND(__SUNPRO_CC, <= 0x590) - return boost::hash_value(v); -#else - std::size_t x = static_cast( - reinterpret_cast(v)); - - return x + (x >> 3); -#endif - } - }; - -#else - - // For compilers without partial specialization, we define a - // boost::hash for all remaining types. But hash_impl is only defined - // for pointers in 'extensions.hpp' - so when BOOST_HASH_NO_EXTENSIONS - // is defined there will still be a compile error for types not supported - // in the standard. - - namespace hash_detail - { - template - struct hash_impl; - - template <> - struct hash_impl - { - template - struct inner - : public boost::hash_detail::hash_base - { - std::size_t operator()(T val) const - { -#if !BOOST_WORKAROUND(__SUNPRO_CC, <= 590) - return boost::hash_value(val); -#else - std::size_t x = static_cast( - reinterpret_cast(val)); - - return x + (x >> 3); -#endif - } - }; - }; - } - - template struct hash - : public boost::hash_detail::hash_impl::value> - ::BOOST_NESTED_TEMPLATE inner - { - }; - -#endif -} - -#undef BOOST_HASH_CHAR_TRAITS -#undef BOOST_FUNCTIONAL_HASH_ROTL32 - -#if defined(BOOST_MSVC) -#pragma warning(pop) -#endif - -#endif // BOOST_FUNCTIONAL_HASH_HASH_HPP - -// Include this outside of the include guards in case the file is included -// twice - once with BOOST_HASH_NO_EXTENSIONS defined, and then with it -// undefined. - -#if !defined(BOOST_HASH_NO_EXTENSIONS) \ - && !defined(BOOST_FUNCTIONAL_HASH_EXTENSIONS_HPP) -#include -#endif diff --git a/external/include/boost_1_75/boost/container_hash/hash_fwd.hpp b/external/include/boost_1_75/boost/container_hash/hash_fwd.hpp deleted file mode 100644 index 46340b3f4a..0000000000 --- a/external/include/boost_1_75/boost/container_hash/hash_fwd.hpp +++ /dev/null @@ -1,36 +0,0 @@ - -// Copyright 2005-2009 Daniel James. -// 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) - -// Based on Peter Dimov's proposal -// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf -// issue 6.18. - -#if !defined(BOOST_FUNCTIONAL_HASH_FWD_HPP) -#define BOOST_FUNCTIONAL_HASH_FWD_HPP - -#include -#include - -#if defined(BOOST_HAS_PRAGMA_ONCE) -#pragma once -#endif - - -namespace boost -{ - template struct hash; - - template void hash_combine(std::size_t& seed, T const& v); - - template std::size_t hash_range(It, It); - template void hash_range(std::size_t&, It, It); - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) - template inline std::size_t hash_range(T*, T*); - template inline void hash_range(std::size_t&, T*, T*); -#endif -} - -#endif diff --git a/external/include/boost_1_75/boost/core/addressof.hpp b/external/include/boost_1_75/boost/core/addressof.hpp deleted file mode 100644 index 5473c36a59..0000000000 --- a/external/include/boost_1_75/boost/core/addressof.hpp +++ /dev/null @@ -1,274 +0,0 @@ -/* -Copyright (C) 2002 Brad King (brad.king@kitware.com) - Douglas Gregor (gregod@cs.rpi.edu) - -Copyright (C) 2002, 2008, 2013 Peter Dimov - -Copyright (C) 2017 Glen Joseph Fernandes (glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_CORE_ADDRESSOF_HPP -#define BOOST_CORE_ADDRESSOF_HPP - -#include - -#if defined(BOOST_MSVC_FULL_VER) && BOOST_MSVC_FULL_VER >= 190024215 -#define BOOST_CORE_HAS_BUILTIN_ADDRESSOF -#elif defined(BOOST_GCC) && BOOST_GCC >= 70000 -#define BOOST_CORE_HAS_BUILTIN_ADDRESSOF -#elif defined(__has_builtin) -#if __has_builtin(__builtin_addressof) -#define BOOST_CORE_HAS_BUILTIN_ADDRESSOF -#endif -#endif - -#if defined(BOOST_CORE_HAS_BUILTIN_ADDRESSOF) -#if defined(BOOST_NO_CXX11_CONSTEXPR) -#define BOOST_CORE_NO_CONSTEXPR_ADDRESSOF -#endif - -namespace boost { - -template -BOOST_CONSTEXPR inline T* -addressof(T& o) BOOST_NOEXCEPT -{ - return __builtin_addressof(o); -} - -} /* boost */ -#else -#include -#include - -namespace boost { -namespace detail { - -template -class addrof_ref { -public: - BOOST_FORCEINLINE addrof_ref(T& o) BOOST_NOEXCEPT - : o_(o) { } - BOOST_FORCEINLINE operator T&() const BOOST_NOEXCEPT { - return o_; - } -private: - addrof_ref& operator=(const addrof_ref&); - T& o_; -}; - -template -struct addrof { - static BOOST_FORCEINLINE T* get(T& o, long) BOOST_NOEXCEPT { - return reinterpret_cast(& - const_cast(reinterpret_cast(o))); - } - static BOOST_FORCEINLINE T* get(T* p, int) BOOST_NOEXCEPT { - return p; - } -}; - -#if !defined(BOOST_NO_CXX11_NULLPTR) -#if !defined(BOOST_NO_CXX11_DECLTYPE) && \ - (defined(__INTEL_COMPILER) || \ - (defined(__clang__) && !defined(_LIBCPP_VERSION))) -typedef decltype(nullptr) addrof_null_t; -#else -typedef std::nullptr_t addrof_null_t; -#endif - -template<> -struct addrof { - typedef addrof_null_t type; - static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { - return &o; - } -}; - -template<> -struct addrof { - typedef const addrof_null_t type; - static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { - return &o; - } -}; - -template<> -struct addrof { - typedef volatile addrof_null_t type; - static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { - return &o; - } -}; - -template<> -struct addrof { - typedef const volatile addrof_null_t type; - static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { - return &o; - } -}; -#endif - -} /* detail */ - -#if defined(BOOST_NO_CXX11_SFINAE_EXPR) || \ - defined(BOOST_NO_CXX11_CONSTEXPR) || \ - defined(BOOST_NO_CXX11_DECLTYPE) -#define BOOST_CORE_NO_CONSTEXPR_ADDRESSOF - -template -BOOST_FORCEINLINE T* -addressof(T& o) BOOST_NOEXCEPT -{ -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) || \ - BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5120) - return boost::detail::addrof::get(o, 0); -#else - return boost::detail::addrof::get(boost::detail::addrof_ref(o), 0); -#endif -} - -#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) -namespace detail { - -template -struct addrof_result { - typedef T* type; -}; - -} /* detail */ - -template -BOOST_FORCEINLINE typename boost::detail::addrof_result::type -addressof(T (&o)[N]) BOOST_NOEXCEPT -{ - return &o; -} -#endif - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) -template -BOOST_FORCEINLINE -T (*addressof(T (&o)[N]) BOOST_NOEXCEPT)[N] -{ - return reinterpret_cast(&o); -} - -template -BOOST_FORCEINLINE -const T (*addressof(const T (&o)[N]) BOOST_NOEXCEPT)[N] -{ - return reinterpret_cast(&o); -} -#endif -#else -namespace detail { - -template -T addrof_declval() BOOST_NOEXCEPT; - -template -struct addrof_void { - typedef void type; -}; - -template -struct addrof_member_operator { - static constexpr bool value = false; -}; - -template -struct addrof_member_operator().operator&())>::type> { - static constexpr bool value = true; -}; - -#if BOOST_WORKAROUND(BOOST_INTEL, < 1600) -struct addrof_addressable { }; - -addrof_addressable* -operator&(addrof_addressable&) BOOST_NOEXCEPT; -#endif - -template -struct addrof_non_member_operator { - static constexpr bool value = false; -}; - -template -struct addrof_non_member_operator()))>::type> { - static constexpr bool value = true; -}; - -template -struct addrof_expression { - static constexpr bool value = false; -}; - -template -struct addrof_expression())>::type> { - static constexpr bool value = true; -}; - -template -struct addrof_is_constexpr { - static constexpr bool value = addrof_expression::value && - !addrof_member_operator::value && - !addrof_non_member_operator::value; -}; - -template -struct addrof_if { }; - -template -struct addrof_if { - typedef T* type; -}; - -template -BOOST_FORCEINLINE -typename addrof_if::value, T>::type -addressof(T& o) BOOST_NOEXCEPT -{ - return addrof::get(addrof_ref(o), 0); -} - -template -constexpr BOOST_FORCEINLINE -typename addrof_if::value, T>::type -addressof(T& o) BOOST_NOEXCEPT -{ - return &o; -} - -} /* detail */ - -template -constexpr BOOST_FORCEINLINE T* -addressof(T& o) BOOST_NOEXCEPT -{ - return boost::detail::addressof(o); -} -#endif - -} /* boost */ -#endif - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ - !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) -namespace boost { - -template -const T* addressof(const T&&) = delete; - -} /* boost */ -#endif - -#endif diff --git a/external/include/boost_1_75/boost/core/enable_if.hpp b/external/include/boost_1_75/boost/core/enable_if.hpp deleted file mode 100644 index 5dcef1e035..0000000000 --- a/external/include/boost_1_75/boost/core/enable_if.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// Boost enable_if library - -// Copyright 2003 (c) The Trustees of Indiana University. - -// Use, modification, and distribution is subject to 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) - -// Authors: Jaakko Jarvi (jajarvi at osl.iu.edu) -// Jeremiah Willcock (jewillco at osl.iu.edu) -// Andrew Lumsdaine (lums at osl.iu.edu) - - -#ifndef BOOST_CORE_ENABLE_IF_HPP -#define BOOST_CORE_ENABLE_IF_HPP - -#include "boost/config.hpp" - -// Even the definition of enable_if causes problems on some compilers, -// so it's macroed out for all compilers that do not support SFINAE - -#ifndef BOOST_NO_SFINAE - -namespace boost -{ - template - struct enable_if_has_type - { - typedef R type; - }; - - template - struct enable_if_c { - typedef T type; - }; - - template - struct enable_if_c {}; - - template - struct enable_if : public enable_if_c {}; - - template - struct lazy_enable_if_c { - typedef typename T::type type; - }; - - template - struct lazy_enable_if_c {}; - - template - struct lazy_enable_if : public lazy_enable_if_c {}; - - - template - struct disable_if_c { - typedef T type; - }; - - template - struct disable_if_c {}; - - template - struct disable_if : public disable_if_c {}; - - template - struct lazy_disable_if_c { - typedef typename T::type type; - }; - - template - struct lazy_disable_if_c {}; - - template - struct lazy_disable_if : public lazy_disable_if_c {}; - -} // namespace boost - -#else - -namespace boost { - - namespace detail { typedef void enable_if_default_T; } - - template - struct enable_if_does_not_work_on_this_compiler; - - template - struct enable_if_has_type : enable_if_does_not_work_on_this_compiler - { }; - - template - struct enable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct disable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler - { }; - - template - struct enable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct disable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_enable_if : enable_if_does_not_work_on_this_compiler - { }; - - template - struct lazy_disable_if : enable_if_does_not_work_on_this_compiler - { }; - -} // namespace boost - -#endif // BOOST_NO_SFINAE - -#endif diff --git a/external/include/boost_1_75/boost/core/explicit_operator_bool.hpp b/external/include/boost_1_75/boost/core/explicit_operator_bool.hpp deleted file mode 100644 index d689f114d3..0000000000 --- a/external/include/boost_1_75/boost/core/explicit_operator_bool.hpp +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright Andrey Semashev 2007 - 2013. - * 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) - */ - -/*! - * \file explicit_operator_bool.hpp - * \author Andrey Semashev - * \date 08.03.2009 - * - * This header defines a compatibility macro that implements an unspecified - * \c bool operator idiom, which is superseded with explicit conversion operators in - * C++11. - */ - -#ifndef BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP -#define BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP - -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -#pragma once -#endif - -#if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) - -/*! - * \brief The macro defines an explicit operator of conversion to \c bool - * - * The macro should be used inside the definition of a class that has to - * support the conversion. The class should also implement operator!, - * in terms of which the conversion operator will be implemented. - */ -#define BOOST_EXPLICIT_OPERATOR_BOOL()\ - BOOST_FORCEINLINE explicit operator bool () const\ - {\ - return !this->operator! ();\ - } - -/*! - * \brief The macro defines a noexcept explicit operator of conversion to \c bool - * - * The macro should be used inside the definition of a class that has to - * support the conversion. The class should also implement operator!, - * in terms of which the conversion operator will be implemented. - */ -#define BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()\ - BOOST_FORCEINLINE explicit operator bool () const BOOST_NOEXCEPT\ - {\ - return !this->operator! ();\ - } - -#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) - -/*! - * \brief The macro defines a constexpr explicit operator of conversion to \c bool - * - * The macro should be used inside the definition of a class that has to - * support the conversion. The class should also implement operator!, - * in terms of which the conversion operator will be implemented. - */ -#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL()\ - BOOST_FORCEINLINE BOOST_CONSTEXPR explicit operator bool () const BOOST_NOEXCEPT\ - {\ - return !this->operator! ();\ - } - -#else - -#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL() BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() - -#endif - -#else // !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) - -#if (defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) && !defined(BOOST_NO_COMPILER_CONFIG) -// Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it -#define BOOST_NO_UNSPECIFIED_BOOL -#endif // (defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) && !defined(BOOST_NO_COMPILER_CONFIG) - -#if !defined(BOOST_NO_UNSPECIFIED_BOOL) - -namespace boost { - -namespace detail { - -#if !defined(_MSC_VER) && !defined(__IBMCPP__) - - struct unspecified_bool - { - // NOTE TO THE USER: If you see this in error messages then you tried - // to apply an unsupported operator on the object that supports - // explicit conversion to bool. - struct OPERATORS_NOT_ALLOWED; - static void true_value(OPERATORS_NOT_ALLOWED*) {} - }; - typedef void (*unspecified_bool_type)(unspecified_bool::OPERATORS_NOT_ALLOWED*); - -#else - - // MSVC and VACPP are too eager to convert pointer to function to void* even though they shouldn't - struct unspecified_bool - { - // NOTE TO THE USER: If you see this in error messages then you tried - // to apply an unsupported operator on the object that supports - // explicit conversion to bool. - struct OPERATORS_NOT_ALLOWED; - void true_value(OPERATORS_NOT_ALLOWED*) {} - }; - typedef void (unspecified_bool::*unspecified_bool_type)(unspecified_bool::OPERATORS_NOT_ALLOWED*); - -#endif - -} // namespace detail - -} // namespace boost - -#define BOOST_EXPLICIT_OPERATOR_BOOL()\ - BOOST_FORCEINLINE operator boost::detail::unspecified_bool_type () const\ - {\ - return (!this->operator! () ? &boost::detail::unspecified_bool::true_value : (boost::detail::unspecified_bool_type)0);\ - } - -#define BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()\ - BOOST_FORCEINLINE operator boost::detail::unspecified_bool_type () const BOOST_NOEXCEPT\ - {\ - return (!this->operator! () ? &boost::detail::unspecified_bool::true_value : (boost::detail::unspecified_bool_type)0);\ - } - -#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL()\ - BOOST_FORCEINLINE BOOST_CONSTEXPR operator boost::detail::unspecified_bool_type () const BOOST_NOEXCEPT\ - {\ - return (!this->operator! () ? &boost::detail::unspecified_bool::true_value : (boost::detail::unspecified_bool_type)0);\ - } - -#else // !defined(BOOST_NO_UNSPECIFIED_BOOL) - -#define BOOST_EXPLICIT_OPERATOR_BOOL()\ - BOOST_FORCEINLINE operator bool () const\ - {\ - return !this->operator! ();\ - } - -#define BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()\ - BOOST_FORCEINLINE operator bool () const BOOST_NOEXCEPT\ - {\ - return !this->operator! ();\ - } - -#define BOOST_CONSTEXPR_EXPLICIT_OPERATOR_BOOL()\ - BOOST_FORCEINLINE BOOST_CONSTEXPR operator bool () const BOOST_NOEXCEPT\ - {\ - return !this->operator! ();\ - } - -#endif // !defined(BOOST_NO_UNSPECIFIED_BOOL) - -#endif // !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) - -#endif // BOOST_CORE_EXPLICIT_OPERATOR_BOOL_HPP diff --git a/external/include/boost_1_75/boost/core/is_same.hpp b/external/include/boost_1_75/boost/core/is_same.hpp deleted file mode 100644 index f373c654d5..0000000000 --- a/external/include/boost_1_75/boost/core/is_same.hpp +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef BOOST_CORE_IS_SAME_HPP_INCLUDED -#define BOOST_CORE_IS_SAME_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// is_same::value is true when T1 == T2 -// -// Copyright 2014 Peter Dimov -// -// 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 - -#include - -namespace boost -{ - -namespace core -{ - -template< class T1, class T2 > struct is_same -{ - BOOST_STATIC_CONSTANT( bool, value = false ); -}; - -template< class T > struct is_same< T, T > -{ - BOOST_STATIC_CONSTANT( bool, value = true ); -}; - -} // namespace core - -} // namespace boost - -#endif // #ifndef BOOST_CORE_IS_SAME_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/core/ref.hpp b/external/include/boost_1_75/boost/core/ref.hpp deleted file mode 100644 index 79f0b63c83..0000000000 --- a/external/include/boost_1_75/boost/core/ref.hpp +++ /dev/null @@ -1,302 +0,0 @@ -#ifndef BOOST_CORE_REF_HPP -#define BOOST_CORE_REF_HPP - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -#include -#include -#include - -// -// ref.hpp - ref/cref, useful helper functions -// -// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) -// Copyright (C) 2001, 2002 Peter Dimov -// Copyright (C) 2002 David Abrahams -// -// Copyright (C) 2014 Glen Joseph Fernandes -// (glenjofe@gmail.com) -// -// Copyright (C) 2014 Agustin Berge -// -// 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) -// -// See http://www.boost.org/libs/core/doc/html/core/ref.html for documentation. -// - -/** - @file -*/ - -/** - Boost namespace. -*/ -namespace boost -{ - -#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 ) - - struct ref_workaround_tag {}; - -#endif - -// reference_wrapper - -/** - @brief Contains a reference to an object of type `T`. - - `reference_wrapper` is primarily used to "feed" references to - function templates (algorithms) that take their parameter by - value. It provides an implicit conversion to `T&`, which - usually allows the function templates to work on references - unmodified. -*/ -template class reference_wrapper -{ -public: - /** - Type `T`. - */ - typedef T type; - - /** - Constructs a `reference_wrapper` object that stores a - reference to `t`. - - @remark Does not throw. - */ - BOOST_FORCEINLINE explicit reference_wrapper(T& t): t_(boost::addressof(t)) {} - -#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 ) - - BOOST_FORCEINLINE explicit reference_wrapper( T & t, ref_workaround_tag ): t_( boost::addressof( t ) ) {} - -#endif - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - /** - @remark Construction from a temporary object is disabled. - */ - BOOST_DELETED_FUNCTION(reference_wrapper(T&& t)) -public: -#endif - - /** - @return The stored reference. - @remark Does not throw. - */ - BOOST_FORCEINLINE operator T& () const { return *t_; } - - /** - @return The stored reference. - @remark Does not throw. - */ - BOOST_FORCEINLINE T& get() const { return *t_; } - - /** - @return A pointer to the object referenced by the stored - reference. - @remark Does not throw. - */ - BOOST_FORCEINLINE T* get_pointer() const { return t_; } - -private: - - T* t_; -}; - -// ref - -/** - @cond -*/ -#if defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x581) ) -# define BOOST_REF_CONST -#else -# define BOOST_REF_CONST const -#endif -/** - @endcond -*/ - -/** - @return `reference_wrapper(t)` - @remark Does not throw. -*/ -template BOOST_FORCEINLINE reference_wrapper BOOST_REF_CONST ref( T & t ) -{ -#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 ) - - return reference_wrapper( t, ref_workaround_tag() ); - -#else - - return reference_wrapper( t ); - -#endif -} - -// cref - -/** - @return `reference_wrapper(t)` - @remark Does not throw. -*/ -template BOOST_FORCEINLINE reference_wrapper BOOST_REF_CONST cref( T const & t ) -{ - return reference_wrapper(t); -} - -#undef BOOST_REF_CONST - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - -/** - @cond -*/ -#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) -# define BOOST_REF_DELETE -#else -# define BOOST_REF_DELETE = delete -#endif -/** - @endcond -*/ - -/** - @remark Construction from a temporary object is disabled. -*/ -template void ref(T const&&) BOOST_REF_DELETE; - -/** - @remark Construction from a temporary object is disabled. -*/ -template void cref(T const&&) BOOST_REF_DELETE; - -#undef BOOST_REF_DELETE - -#endif - -// is_reference_wrapper - -/** - @brief Determine if a type `T` is an instantiation of - `reference_wrapper`. - - The value static constant will be true if the type `T` is a - specialization of `reference_wrapper`. -*/ -template struct is_reference_wrapper -{ - BOOST_STATIC_CONSTANT( bool, value = false ); -}; - -/** - @cond -*/ -template struct is_reference_wrapper< reference_wrapper > -{ - BOOST_STATIC_CONSTANT( bool, value = true ); -}; - -#if !defined(BOOST_NO_CV_SPECIALIZATIONS) - -template struct is_reference_wrapper< reference_wrapper const > -{ - BOOST_STATIC_CONSTANT( bool, value = true ); -}; - -template struct is_reference_wrapper< reference_wrapper volatile > -{ - BOOST_STATIC_CONSTANT( bool, value = true ); -}; - -template struct is_reference_wrapper< reference_wrapper const volatile > -{ - BOOST_STATIC_CONSTANT( bool, value = true ); -}; - -#endif // !defined(BOOST_NO_CV_SPECIALIZATIONS) - -/** - @endcond -*/ - - -// unwrap_reference - -/** - @brief Find the type in a `reference_wrapper`. - - The `typedef` type is `T::type` if `T` is a - `reference_wrapper`, `T` otherwise. -*/ -template struct unwrap_reference -{ - typedef T type; -}; - -/** - @cond -*/ -template struct unwrap_reference< reference_wrapper > -{ - typedef T type; -}; - -#if !defined(BOOST_NO_CV_SPECIALIZATIONS) - -template struct unwrap_reference< reference_wrapper const > -{ - typedef T type; -}; - -template struct unwrap_reference< reference_wrapper volatile > -{ - typedef T type; -}; - -template struct unwrap_reference< reference_wrapper const volatile > -{ - typedef T type; -}; - -#endif // !defined(BOOST_NO_CV_SPECIALIZATIONS) - -/** - @endcond -*/ - -// unwrap_ref - -/** - @return `unwrap_reference::type&(t)` - @remark Does not throw. -*/ -template BOOST_FORCEINLINE typename unwrap_reference::type& unwrap_ref( T & t ) -{ - return t; -} - -// get_pointer - -/** - @cond -*/ -template BOOST_FORCEINLINE T* get_pointer( reference_wrapper const & r ) -{ - return r.get_pointer(); -} -/** - @endcond -*/ - -} // namespace boost - -#endif // #ifndef BOOST_CORE_REF_HPP diff --git a/external/include/boost_1_75/boost/core/swap.hpp b/external/include/boost_1_75/boost/core/swap.hpp deleted file mode 100644 index 49e1b2dbb6..0000000000 --- a/external/include/boost_1_75/boost/core/swap.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (C) 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker -// -// 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) -// For more information, see http://www.boost.org - - -#ifndef BOOST_CORE_SWAP_HPP -#define BOOST_CORE_SWAP_HPP - -// Note: the implementation of this utility contains various workarounds: -// - swap_impl is put outside the boost namespace, to avoid infinite -// recursion (causing stack overflow) when swapping objects of a primitive -// type. -// - swap_impl has a using-directive, rather than a using-declaration, -// because some compilers (including MSVC 7.1, Borland 5.9.3, and -// Intel 8.1) don't do argument-dependent lookup when it has a -// using-declaration instead. -// - boost::swap has two template arguments, instead of one, to -// avoid ambiguity when swapping objects of a Boost type that does -// not have its own boost::swap overload. - -#include -#include -#if __cplusplus >= 201103L || defined(BOOST_DINKUMWARE_STDLIB) -#include // for std::swap (C++11) -#else -#include // for std::swap (C++98) -#endif -#include // for std::size_t - -namespace boost_swap_impl -{ - // we can't use type_traits here - - template struct is_const { enum _vt { value = 0 }; }; - template struct is_const { enum _vt { value = 1 }; }; - - template - BOOST_GPU_ENABLED - void swap_impl(T& left, T& right) - { - using namespace std;//use std::swap if argument dependent lookup fails - swap(left,right); - } - - template - BOOST_GPU_ENABLED - void swap_impl(T (& left)[N], T (& right)[N]) - { - for (std::size_t i = 0; i < N; ++i) - { - ::boost_swap_impl::swap_impl(left[i], right[i]); - } - } -} - -namespace boost -{ - template - BOOST_GPU_ENABLED - typename enable_if_c< !boost_swap_impl::is_const::value && !boost_swap_impl::is_const::value >::type - swap(T1& left, T2& right) - { - ::boost_swap_impl::swap_impl(left, right); - } -} - -#endif diff --git a/external/include/boost_1_75/boost/detail/container_fwd.hpp b/external/include/boost_1_75/boost/detail/container_fwd.hpp deleted file mode 100644 index 04ce972738..0000000000 --- a/external/include/boost_1_75/boost/detail/container_fwd.hpp +++ /dev/null @@ -1,157 +0,0 @@ - -// Copyright 2005-2011 Daniel James. -// 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) - -// Note: if you change this include guard, you also need to change -// container_fwd_compile_fail.cpp -#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP) -#define BOOST_DETAIL_CONTAINER_FWD_HPP - -#if defined(_MSC_VER) && \ - !defined(BOOST_DETAIL_TEST_CONFIG_ONLY) -# pragma once -#endif - -#include -#include - -//////////////////////////////////////////////////////////////////////////////// -// // -// Define BOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to // -// forward declare standard containers. // -// // -// BOOST_DETAIL_CONTAINER_FWD to make it foward declare containers even if it // -// normally doesn't. // -// // -// BOOST_DETAIL_NO_CONTAINER_FWD overrides BOOST_DETAIL_CONTAINER_FWD. // -// // -//////////////////////////////////////////////////////////////////////////////// - -#if !defined(BOOST_DETAIL_NO_CONTAINER_FWD) -# if defined(BOOST_DETAIL_CONTAINER_FWD) - // Force forward declarations. -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - // STLport -# define BOOST_DETAIL_NO_CONTAINER_FWD -# elif defined(__LIBCOMO__) - // Comeau STL: -# define BOOST_DETAIL_NO_CONTAINER_FWD -# elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) - // Rogue Wave library: -# define BOOST_DETAIL_NO_CONTAINER_FWD -# elif defined(_LIBCPP_VERSION) - // libc++ -# define BOOST_DETAIL_NO_CONTAINER_FWD -# elif defined(__GLIBCPP__) || defined(__GLIBCXX__) - // GNU libstdc++ 3 - // - // Disable forwarding for all recent versions, as the library has a - // versioned namespace mode, and I don't know how to detect it. -# if __GLIBCXX__ >= 20070513 \ - || defined(_GLIBCXX_DEBUG) \ - || defined(_GLIBCXX_PARALLEL) \ - || defined(_GLIBCXX_PROFILE) -# define BOOST_DETAIL_NO_CONTAINER_FWD -# else -# if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530 -# define BOOST_CONTAINER_FWD_COMPLEX_STRUCT -# endif -# endif -# elif defined(__STL_CONFIG_H) - // generic SGI STL - // - // Forward declaration seems to be okay, but it has a couple of odd - // implementations. -# define BOOST_CONTAINER_FWD_BAD_BITSET -# if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG) -# define BOOST_CONTAINER_FWD_BAD_DEQUE -# endif -# elif defined(__MSL_CPP__) - // MSL standard lib: -# define BOOST_DETAIL_NO_CONTAINER_FWD -# elif defined(__IBMCPP__) - // The default VACPP std lib, forward declaration seems to be fine. -# elif defined(MSIPL_COMPILE_H) - // Modena C++ standard library -# define BOOST_DETAIL_NO_CONTAINER_FWD -# elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) - // Dinkumware Library (this has to appear after any possible replacement - // libraries) -# else -# define BOOST_DETAIL_NO_CONTAINER_FWD -# endif -#endif - -#if !defined(BOOST_DETAIL_TEST_CONFIG_ONLY) - -#if defined(BOOST_DETAIL_NO_CONTAINER_FWD) && \ - !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD) - -#include -#include -#include -#include -#include -#include -#include -#include - -#else - -#include - -#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE) -#include -#endif - -#if defined(BOOST_CONTAINER_FWD_BAD_BITSET) -#include -#endif - -#if defined(BOOST_MSVC) -#pragma warning(push) -#pragma warning(disable:4099) // struct/class mismatch in fwd declarations -#endif - -namespace std -{ - template class allocator; - template class basic_string; - - template struct char_traits; - -#if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT) - template struct complex; -#else - template class complex; -#endif - -#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE) - template class deque; -#endif - - template class list; - template class vector; - template class map; - template - class multimap; - template class set; - template class multiset; - -#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET) - template class bitset; -#endif - template struct pair; -} - -#if defined(BOOST_MSVC) -#pragma warning(pop) -#endif - -#endif // BOOST_DETAIL_NO_CONTAINER_FWD && - // !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD) - -#endif // BOOST_DETAIL_TEST_CONFIG_ONLY - -#endif diff --git a/external/include/boost_1_75/boost/detail/indirect_traits.hpp b/external/include/boost_1_75/boost/detail/indirect_traits.hpp deleted file mode 100644 index 94e9b34dc2..0000000000 --- a/external/include/boost_1_75/boost/detail/indirect_traits.hpp +++ /dev/null @@ -1,195 +0,0 @@ -// Copyright David Abrahams 2002. -// 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) -#ifndef INDIRECT_TRAITS_DWA2002131_HPP -# define INDIRECT_TRAITS_DWA2002131_HPP -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# include -# include - - -namespace boost { namespace detail { - -namespace indirect_traits { - -template -struct is_reference_to_const : boost::false_type -{ -}; - -template -struct is_reference_to_const : boost::true_type -{ -}; - -# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround -template -struct is_reference_to_const : boost::true_type -{ -}; -# endif - -template -struct is_reference_to_function : boost::false_type -{ -}; - -template -struct is_reference_to_function : is_function -{ -}; - -template -struct is_pointer_to_function : boost::false_type -{ -}; - -// There's no such thing as a pointer-to-cv-function, so we don't need -// specializations for those -template -struct is_pointer_to_function : is_function -{ -}; - -template -struct is_reference_to_member_function_pointer_impl : boost::false_type -{ -}; - -template -struct is_reference_to_member_function_pointer_impl - : is_member_function_pointer::type> -{ -}; - - -template -struct is_reference_to_member_function_pointer - : is_reference_to_member_function_pointer_impl -{ -}; - -template -struct is_reference_to_function_pointer_aux - : boost::integral_constant::value && - is_pointer_to_function< - typename remove_cv< - typename remove_reference::type - >::type - >::value - > -{ - // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those -}; - -template -struct is_reference_to_function_pointer - : boost::detail::if_true< - is_reference_to_function::value - >::template then< - boost::false_type - , is_reference_to_function_pointer_aux - >::type -{ -}; - -template -struct is_reference_to_non_const - : boost::integral_constant::value && - !is_reference_to_const::value - > -{ -}; - -template -struct is_reference_to_volatile : boost::false_type -{ -}; - -template -struct is_reference_to_volatile : boost::true_type -{ -}; - -# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround -template -struct is_reference_to_volatile : boost::true_type -{ -}; -# endif - - -template -struct is_reference_to_pointer : boost::false_type -{ -}; - -template -struct is_reference_to_pointer : boost::true_type -{ -}; - -template -struct is_reference_to_pointer : boost::true_type -{ -}; - -template -struct is_reference_to_pointer : boost::true_type -{ -}; - -template -struct is_reference_to_pointer : boost::true_type -{ -}; - -template -struct is_reference_to_class - : boost::integral_constant::value && - is_class< - typename remove_cv< - typename remove_reference::type - >::type - >::value - > -{ -}; - -template -struct is_pointer_to_class - : boost::integral_constant::value && - is_class< - typename remove_cv< - typename remove_pointer::type - >::type - >::value - > -{ -}; - - -} - -using namespace indirect_traits; - -}} // namespace boost::python::detail - -#endif // INDIRECT_TRAITS_DWA2002131_HPP diff --git a/external/include/boost_1_75/boost/detail/is_xxx.hpp b/external/include/boost_1_75/boost/detail/is_xxx.hpp deleted file mode 100644 index d54bf7b88c..0000000000 --- a/external/include/boost_1_75/boost/detail/is_xxx.hpp +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright David Abrahams 2005. 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) -#ifndef BOOST_DETAIL_IS_XXX_DWA20051011_HPP -# define BOOST_DETAIL_IS_XXX_DWA20051011_HPP - -# include -# include -# include - - -# define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \ -template \ -struct is_##name : boost::false_type \ -{ \ -}; \ - \ -template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > \ -struct is_##name< \ - qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > \ -> \ - : boost::true_type \ -{ \ -}; - - -#endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP diff --git a/external/include/boost_1_75/boost/detail/reference_content.hpp b/external/include/boost_1_75/boost/detail/reference_content.hpp deleted file mode 100644 index c93ea6fdd0..0000000000 --- a/external/include/boost_1_75/boost/detail/reference_content.hpp +++ /dev/null @@ -1,120 +0,0 @@ -//----------------------------------------------------------------------------- -// boost detail/reference_content.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2003 -// Eric Friedman -// -// 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) - -#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP -#define BOOST_DETAIL_REFERENCE_CONTENT_HPP - -#include "boost/config.hpp" - -# include "boost/type_traits/integral_constant.hpp" -# include "boost/type_traits/has_nothrow_copy.hpp" - -namespace boost { - -namespace detail { - -struct void_type {}; - -/////////////////////////////////////////////////////////////////////////////// -// (detail) class template reference_content -// -// Non-Assignable wrapper for references. -// -template -class reference_content -{ -private: // representation - - RefT content_; - -public: // structors - - ~reference_content() - { - } - - reference_content(RefT r) - : content_( r ) - { - } - - reference_content(const reference_content& operand) - : content_( operand.content_ ) - { - } - -private: // non-Assignable - - reference_content& operator=(const reference_content&); - -public: // queries - - RefT get() const - { - return content_; - } - -}; - -/////////////////////////////////////////////////////////////////////////////// -// (detail) metafunction make_reference_content -// -// Wraps with reference_content if specified type is reference. -// - -template struct make_reference_content; - - -template -struct make_reference_content -{ - typedef T type; -}; - -template -struct make_reference_content< T& > -{ - typedef reference_content type; -}; - - -template <> -struct make_reference_content< void_type > -{ - template - struct apply - : make_reference_content - { - }; - - typedef void_type type; -}; - -} // namespace detail - -/////////////////////////////////////////////////////////////////////////////// -// reference_content type traits specializations -// - - -template -struct has_nothrow_copy< - ::boost::detail::reference_content< T& > - > - : boost::true_type -{ -}; - - -} // namespace boost - -#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP diff --git a/external/include/boost_1_75/boost/detail/select_type.hpp b/external/include/boost_1_75/boost/detail/select_type.hpp deleted file mode 100644 index c13946f338..0000000000 --- a/external/include/boost_1_75/boost/detail/select_type.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// (C) Copyright David Abrahams 2001. -// 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) -// -// See http://www.boost.org for most recent version including documentation. - -// Revision History -// 09 Feb 01 Applied John Maddock's Borland patch Moving -// specialization to unspecialized template (David Abrahams) -// 06 Feb 01 Created (David Abrahams) - -#ifndef SELECT_TYPE_DWA20010206_HPP -# define SELECT_TYPE_DWA20010206_HPP - -namespace boost { namespace detail { - - // Template class if_true -- select among 2 types based on a bool constant expression - // Usage: - // typename if_true<(bool_const_expression)>::template then::type - - // HP aCC cannot deal with missing names for template value parameters - template struct if_true - { - template - struct then { typedef T type; }; - }; - - template <> - struct if_true - { - template - struct then { typedef F type; }; - }; -}} -#endif // SELECT_TYPE_DWA20010206_HPP diff --git a/external/include/boost_1_75/boost/detail/workaround.hpp b/external/include/boost_1_75/boost/detail/workaround.hpp deleted file mode 100644 index fb96115880..0000000000 --- a/external/include/boost_1_75/boost/detail/workaround.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright David Abrahams 2002. -// 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) -#ifndef WORKAROUND_DWA2002126_HPP -#define WORKAROUND_DWA2002126_HPP - -#include - -#endif // WORKAROUND_DWA2002126_HPP diff --git a/external/include/boost_1_75/boost/function.hpp b/external/include/boost_1_75/boost/function.hpp deleted file mode 100644 index ef907e0ff1..0000000000 --- a/external/include/boost_1_75/boost/function.hpp +++ /dev/null @@ -1,74 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2001-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org/libs/function - -// William Kempf, Jesse Jones and Karl Nelson were all very helpful in the -// design of this library. - -#ifndef BOOST_FUNCTION_MAX_ARGS -# define BOOST_FUNCTION_MAX_ARGS 10 -#endif // BOOST_FUNCTION_MAX_ARGS - -#if !defined(BOOST_FUNCTION_MAX_ARGS_DEFINED) || (BOOST_FUNCTION_MAX_ARGS_DEFINED != BOOST_FUNCTION_MAX_ARGS) - -#if !defined(BOOST_FUNCTION_MAX_ARGS_DEFINED) -#define BOOST_FUNCTION_MAX_ARGS_DEFINED 0 -#endif - -#include // unary_function, binary_function - -#include -#include - -// Include the prologue here so that the use of file-level iteration -// in anything that may be included by function_template.hpp doesn't break -#include - -// Older Visual Age C++ version do not handle the file iteration well -#if BOOST_WORKAROUND(__IBMCPP__, >= 500) && BOOST_WORKAROUND(__IBMCPP__, < 800) -# if BOOST_FUNCTION_MAX_ARGS >= 0 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 1 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 2 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 3 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 4 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 5 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 6 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 7 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 8 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 9 -# include -# endif -# if BOOST_FUNCTION_MAX_ARGS >= 10 -# include -# endif -#else -// What is the '3' for? -# define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,)) -# include BOOST_PP_ITERATE() -# undef BOOST_PP_ITERATION_PARAMS_1 -#endif - -#endif // !defined(BOOST_FUNCTION_MAX_ARGS_DEFINED) || (BOOST_FUNCTION_MAX_ARGS_DEFINED != BOOST_FUNCTION_MAX_ARGS) diff --git a/external/include/boost_1_75/boost/function/detail/function_iterate.hpp b/external/include/boost_1_75/boost/function/detail/function_iterate.hpp deleted file mode 100644 index 5370b36aac..0000000000 --- a/external/include/boost_1_75/boost/function/detail/function_iterate.hpp +++ /dev/null @@ -1,16 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org -#if !defined(BOOST_PP_IS_ITERATING) -# error Boost.Function - do not include this file! -#endif - -#define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION() -#include -#undef BOOST_FUNCTION_NUM_ARGS - diff --git a/external/include/boost_1_75/boost/function/detail/gen_maybe_include.pl b/external/include/boost_1_75/boost/function/detail/gen_maybe_include.pl deleted file mode 100644 index bc409840b6..0000000000 --- a/external/include/boost_1_75/boost/function/detail/gen_maybe_include.pl +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/perl -w -# -# Boost.Function library -# -# Copyright (C) 2001-2003 Douglas Gregor (gregod@cs.rpi.edu) -# -# Permission to copy, use, sell and distribute this software is granted -# provided this copyright notice appears in all copies. -# Permission to modify the code and to distribute modified code is granted -# provided this copyright notice appears in all copies, and a notice -# that the code was modified is included with the copyright notice. -# -# This software is provided "as is" without express or implied warranty, -# and with no claim as to its suitability for any purpose. -# -# For more information, see http://www.boost.org -use English; - -$max_args = $ARGV[0]; - -open (OUT, ">maybe_include.hpp") or die("Cannot write to maybe_include.hpp"); -for($on_arg = 0; $on_arg <= $max_args; ++$on_arg) { - if ($on_arg == 0) { - print OUT "#if"; - } - else { - print OUT "#elif"; - } - print OUT " BOOST_FUNCTION_NUM_ARGS == $on_arg\n"; - print OUT "# undef BOOST_FUNCTION_MAX_ARGS_DEFINED\n"; - print OUT "# define BOOST_FUNCTION_MAX_ARGS_DEFINED $on_arg\n"; - print OUT "# ifndef BOOST_FUNCTION_$on_arg\n"; - print OUT "# define BOOST_FUNCTION_$on_arg\n"; - print OUT "# include \n"; - print OUT "# endif\n"; -} -print OUT "#else\n"; -print OUT "# error Cannot handle Boost.Function objects that accept more than $max_args arguments!\n"; -print OUT "#endif\n"; diff --git a/external/include/boost_1_75/boost/function/detail/maybe_include.hpp b/external/include/boost_1_75/boost/function/detail/maybe_include.hpp deleted file mode 100644 index ec88905dcd..0000000000 --- a/external/include/boost_1_75/boost/function/detail/maybe_include.hpp +++ /dev/null @@ -1,369 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#if BOOST_FUNCTION_NUM_ARGS == 0 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 0 -# ifndef BOOST_FUNCTION_0 -# define BOOST_FUNCTION_0 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 1 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 1 -# ifndef BOOST_FUNCTION_1 -# define BOOST_FUNCTION_1 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 2 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 2 -# ifndef BOOST_FUNCTION_2 -# define BOOST_FUNCTION_2 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 3 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 3 -# ifndef BOOST_FUNCTION_3 -# define BOOST_FUNCTION_3 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 4 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 4 -# ifndef BOOST_FUNCTION_4 -# define BOOST_FUNCTION_4 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 5 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 5 -# ifndef BOOST_FUNCTION_5 -# define BOOST_FUNCTION_5 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 6 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 6 -# ifndef BOOST_FUNCTION_6 -# define BOOST_FUNCTION_6 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 7 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 7 -# ifndef BOOST_FUNCTION_7 -# define BOOST_FUNCTION_7 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 8 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 8 -# ifndef BOOST_FUNCTION_8 -# define BOOST_FUNCTION_8 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 9 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 9 -# ifndef BOOST_FUNCTION_9 -# define BOOST_FUNCTION_9 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 10 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 10 -# ifndef BOOST_FUNCTION_10 -# define BOOST_FUNCTION_10 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 11 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 11 -# ifndef BOOST_FUNCTION_11 -# define BOOST_FUNCTION_11 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 12 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 12 -# ifndef BOOST_FUNCTION_12 -# define BOOST_FUNCTION_12 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 13 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 13 -# ifndef BOOST_FUNCTION_13 -# define BOOST_FUNCTION_13 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 14 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 14 -# ifndef BOOST_FUNCTION_14 -# define BOOST_FUNCTION_14 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 15 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 15 -# ifndef BOOST_FUNCTION_15 -# define BOOST_FUNCTION_15 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 16 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 16 -# ifndef BOOST_FUNCTION_16 -# define BOOST_FUNCTION_16 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 17 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 17 -# ifndef BOOST_FUNCTION_17 -# define BOOST_FUNCTION_17 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 18 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 18 -# ifndef BOOST_FUNCTION_18 -# define BOOST_FUNCTION_18 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 19 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 19 -# ifndef BOOST_FUNCTION_19 -# define BOOST_FUNCTION_19 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 20 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 20 -# ifndef BOOST_FUNCTION_20 -# define BOOST_FUNCTION_20 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 21 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 21 -# ifndef BOOST_FUNCTION_21 -# define BOOST_FUNCTION_21 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 22 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 22 -# ifndef BOOST_FUNCTION_22 -# define BOOST_FUNCTION_22 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 23 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 23 -# ifndef BOOST_FUNCTION_23 -# define BOOST_FUNCTION_23 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 24 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 24 -# ifndef BOOST_FUNCTION_24 -# define BOOST_FUNCTION_24 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 25 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 25 -# ifndef BOOST_FUNCTION_25 -# define BOOST_FUNCTION_25 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 26 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 26 -# ifndef BOOST_FUNCTION_26 -# define BOOST_FUNCTION_26 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 27 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 27 -# ifndef BOOST_FUNCTION_27 -# define BOOST_FUNCTION_27 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 28 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 28 -# ifndef BOOST_FUNCTION_28 -# define BOOST_FUNCTION_28 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 29 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 29 -# ifndef BOOST_FUNCTION_29 -# define BOOST_FUNCTION_29 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 30 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 30 -# ifndef BOOST_FUNCTION_30 -# define BOOST_FUNCTION_30 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 31 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 31 -# ifndef BOOST_FUNCTION_31 -# define BOOST_FUNCTION_31 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 32 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 32 -# ifndef BOOST_FUNCTION_32 -# define BOOST_FUNCTION_32 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 33 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 33 -# ifndef BOOST_FUNCTION_33 -# define BOOST_FUNCTION_33 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 34 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 34 -# ifndef BOOST_FUNCTION_34 -# define BOOST_FUNCTION_34 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 35 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 35 -# ifndef BOOST_FUNCTION_35 -# define BOOST_FUNCTION_35 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 36 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 36 -# ifndef BOOST_FUNCTION_36 -# define BOOST_FUNCTION_36 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 37 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 37 -# ifndef BOOST_FUNCTION_37 -# define BOOST_FUNCTION_37 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 38 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 38 -# ifndef BOOST_FUNCTION_38 -# define BOOST_FUNCTION_38 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 39 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 39 -# ifndef BOOST_FUNCTION_39 -# define BOOST_FUNCTION_39 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 40 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 40 -# ifndef BOOST_FUNCTION_40 -# define BOOST_FUNCTION_40 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 41 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 41 -# ifndef BOOST_FUNCTION_41 -# define BOOST_FUNCTION_41 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 42 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 42 -# ifndef BOOST_FUNCTION_42 -# define BOOST_FUNCTION_42 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 43 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 43 -# ifndef BOOST_FUNCTION_43 -# define BOOST_FUNCTION_43 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 44 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 44 -# ifndef BOOST_FUNCTION_44 -# define BOOST_FUNCTION_44 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 45 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 45 -# ifndef BOOST_FUNCTION_45 -# define BOOST_FUNCTION_45 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 46 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 46 -# ifndef BOOST_FUNCTION_46 -# define BOOST_FUNCTION_46 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 47 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 47 -# ifndef BOOST_FUNCTION_47 -# define BOOST_FUNCTION_47 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 48 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 48 -# ifndef BOOST_FUNCTION_48 -# define BOOST_FUNCTION_48 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 49 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 49 -# ifndef BOOST_FUNCTION_49 -# define BOOST_FUNCTION_49 -# include -# endif -#elif BOOST_FUNCTION_NUM_ARGS == 50 -# undef BOOST_FUNCTION_MAX_ARGS_DEFINED -# define BOOST_FUNCTION_MAX_ARGS_DEFINED 50 -# ifndef BOOST_FUNCTION_50 -# define BOOST_FUNCTION_50 -# include -# endif -#else -# error Cannot handle Boost.Function objects that accept more than 50 arguments! -#endif diff --git a/external/include/boost_1_75/boost/function/detail/prologue.hpp b/external/include/boost_1_75/boost/function/detail/prologue.hpp deleted file mode 100644 index 53d0f05cd3..0000000000 --- a/external/include/boost_1_75/boost/function/detail/prologue.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#ifndef BOOST_FUNCTION_PROLOGUE_HPP -#define BOOST_FUNCTION_PROLOGUE_HPP -# include -# include -# include // unary_function, binary_function -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -#endif // BOOST_FUNCTION_PROLOGUE_HPP diff --git a/external/include/boost_1_75/boost/function/function0.hpp b/external/include/boost_1_75/boost/function/function0.hpp deleted file mode 100644 index 65a02e5fac..0000000000 --- a/external/include/boost_1_75/boost/function/function0.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 0 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function1.hpp b/external/include/boost_1_75/boost/function/function1.hpp deleted file mode 100644 index 9089715155..0000000000 --- a/external/include/boost_1_75/boost/function/function1.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 1 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function10.hpp b/external/include/boost_1_75/boost/function/function10.hpp deleted file mode 100644 index 6562724849..0000000000 --- a/external/include/boost_1_75/boost/function/function10.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 10 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function2.hpp b/external/include/boost_1_75/boost/function/function2.hpp deleted file mode 100644 index dc8bf97521..0000000000 --- a/external/include/boost_1_75/boost/function/function2.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 2 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function3.hpp b/external/include/boost_1_75/boost/function/function3.hpp deleted file mode 100644 index 19d1a49dd5..0000000000 --- a/external/include/boost_1_75/boost/function/function3.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 3 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function4.hpp b/external/include/boost_1_75/boost/function/function4.hpp deleted file mode 100644 index f3349e2dc9..0000000000 --- a/external/include/boost_1_75/boost/function/function4.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 4 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function5.hpp b/external/include/boost_1_75/boost/function/function5.hpp deleted file mode 100644 index a1305eb5ce..0000000000 --- a/external/include/boost_1_75/boost/function/function5.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 5 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function6.hpp b/external/include/boost_1_75/boost/function/function6.hpp deleted file mode 100644 index 1f60914919..0000000000 --- a/external/include/boost_1_75/boost/function/function6.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 6 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function7.hpp b/external/include/boost_1_75/boost/function/function7.hpp deleted file mode 100644 index 68542ed46a..0000000000 --- a/external/include/boost_1_75/boost/function/function7.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 7 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function8.hpp b/external/include/boost_1_75/boost/function/function8.hpp deleted file mode 100644 index cf2c37661f..0000000000 --- a/external/include/boost_1_75/boost/function/function8.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 8 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function9.hpp b/external/include/boost_1_75/boost/function/function9.hpp deleted file mode 100644 index 590e0883d7..0000000000 --- a/external/include/boost_1_75/boost/function/function9.hpp +++ /dev/null @@ -1,12 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2002-2003. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org - -#define BOOST_FUNCTION_NUM_ARGS 9 -#include -#undef BOOST_FUNCTION_NUM_ARGS diff --git a/external/include/boost_1_75/boost/function/function_base.hpp b/external/include/boost_1_75/boost/function/function_base.hpp deleted file mode 100644 index bd0e548bdf..0000000000 --- a/external/include/boost_1_75/boost/function/function_base.hpp +++ /dev/null @@ -1,878 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2001-2006 -// Copyright Emil Dotchevski 2007 -// Use, modification and distribution is subject to 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) - -// For more information, see http://www.boost.org - -#ifndef BOOST_FUNCTION_BASE_HEADER -#define BOOST_FUNCTION_BASE_HEADER - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef BOOST_NO_SFINAE -#include -#else -#include -#endif -#include -#include - -#if defined(BOOST_MSVC) -# pragma warning( push ) -# pragma warning( disable : 4793 ) // complaint about native code generation -# pragma warning( disable : 4127 ) // "conditional expression is constant" -#endif - -#if defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG) -# define BOOST_FUNCTION_TARGET_FIX(x) x -#else -# define BOOST_FUNCTION_TARGET_FIX(x) -#endif // __ICL etc - -# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \ - typename ::boost::enable_if_< \ - !(::boost::is_integral::value), \ - Type>::type - -namespace boost { - namespace detail { - namespace function { - class X; - - /** - * A buffer used to store small function objects in - * boost::function. It is a union containing function pointers, - * object pointers, and a structure that resembles a bound - * member function pointer. - */ - union function_buffer_members - { - // For pointers to function objects - typedef void* obj_ptr_t; - mutable obj_ptr_t obj_ptr; - - // For pointers to std::type_info objects - struct type_t { - // (get_functor_type_tag, check_functor_type_tag). - const boost::typeindex::type_info* type; - - // Whether the type is const-qualified. - bool const_qualified; - // Whether the type is volatile-qualified. - bool volatile_qualified; - } type; - - // For function pointers of all kinds - typedef void (*func_ptr_t)(); - mutable func_ptr_t func_ptr; - - // For bound member pointers - struct bound_memfunc_ptr_t { - void (X::*memfunc_ptr)(int); - void* obj_ptr; - } bound_memfunc_ptr; - - // For references to function objects. We explicitly keep - // track of the cv-qualifiers on the object referenced. - struct obj_ref_t { - mutable void* obj_ptr; - bool is_const_qualified; - bool is_volatile_qualified; - } obj_ref; - }; - - union BOOST_SYMBOL_VISIBLE function_buffer - { - // Type-specific union members - mutable function_buffer_members members; - - // To relax aliasing constraints - mutable char data[sizeof(function_buffer_members)]; - }; - - /** - * The unusable class is a placeholder for unused function arguments - * It is also completely unusable except that it constructable from - * anything. This helps compilers without partial specialization to - * handle Boost.Function objects returning void. - */ - struct unusable - { - unusable() {} - template unusable(const T&) {} - }; - - /* Determine the return type. This supports compilers that do not support - * void returns or partial specialization by silently changing the return - * type to "unusable". - */ - template struct function_return_type { typedef T type; }; - - template<> - struct function_return_type - { - typedef unusable type; - }; - - // The operation type to perform on the given functor/function pointer - enum functor_manager_operation_type { - clone_functor_tag, - move_functor_tag, - destroy_functor_tag, - check_functor_type_tag, - get_functor_type_tag - }; - - // Tags used to decide between different types of functions - struct function_ptr_tag {}; - struct function_obj_tag {}; - struct member_ptr_tag {}; - struct function_obj_ref_tag {}; - - template - class get_function_tag - { - typedef typename conditional<(is_pointer::value), - function_ptr_tag, - function_obj_tag>::type ptr_or_obj_tag; - - typedef typename conditional<(is_member_pointer::value), - member_ptr_tag, - ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag; - - typedef typename conditional<(is_reference_wrapper::value), - function_obj_ref_tag, - ptr_or_obj_or_mem_tag>::type or_ref_tag; - - public: - typedef or_ref_tag type; - }; - - // The trivial manager does nothing but return the same pointer (if we - // are cloning) or return the null pointer (if we are deleting). - template - struct reference_manager - { - static inline void - manage(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op) - { - switch (op) { - case clone_functor_tag: - out_buffer.members.obj_ref = in_buffer.members.obj_ref; - return; - - case move_functor_tag: - out_buffer.members.obj_ref = in_buffer.members.obj_ref; - in_buffer.members.obj_ref.obj_ptr = 0; - return; - - case destroy_functor_tag: - out_buffer.members.obj_ref.obj_ptr = 0; - return; - - case check_functor_type_tag: - { - // Check whether we have the same type. We can add - // cv-qualifiers, but we can't take them away. - if (*out_buffer.members.type.type == boost::typeindex::type_id() - && (!in_buffer.members.obj_ref.is_const_qualified - || out_buffer.members.type.const_qualified) - && (!in_buffer.members.obj_ref.is_volatile_qualified - || out_buffer.members.type.volatile_qualified)) - out_buffer.members.obj_ptr = in_buffer.members.obj_ref.obj_ptr; - else - out_buffer.members.obj_ptr = 0; - } - return; - - case get_functor_type_tag: - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = in_buffer.members.obj_ref.is_const_qualified; - out_buffer.members.type.volatile_qualified = in_buffer.members.obj_ref.is_volatile_qualified; - return; - } - } - }; - - /** - * Determine if boost::function can use the small-object - * optimization with the function object type F. - */ - template - struct function_allows_small_object_optimization - { - BOOST_STATIC_CONSTANT - (bool, - value = ((sizeof(F) <= sizeof(function_buffer) && - (alignment_of::value - % alignment_of::value == 0)))); - }; - - template - struct functor_wrapper: public F, public A - { - functor_wrapper( F f, A a ): - F(f), - A(a) - { - } - - functor_wrapper(const functor_wrapper& f) : - F(static_cast(f)), - A(static_cast(f)) - { - } - }; - - /** - * The functor_manager class contains a static function "manage" which - * can clone or destroy the given function/function object pointer. - */ - template - struct functor_manager_common - { - typedef Functor functor_type; - - // Function pointers - static inline void - manage_ptr(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op) - { - if (op == clone_functor_tag) - out_buffer.members.func_ptr = in_buffer.members.func_ptr; - else if (op == move_functor_tag) { - out_buffer.members.func_ptr = in_buffer.members.func_ptr; - in_buffer.members.func_ptr = 0; - } else if (op == destroy_functor_tag) - out_buffer.members.func_ptr = 0; - else if (op == check_functor_type_tag) { - if (*out_buffer.members.type.type == boost::typeindex::type_id()) - out_buffer.members.obj_ptr = &in_buffer.members.func_ptr; - else - out_buffer.members.obj_ptr = 0; - } else /* op == get_functor_type_tag */ { - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = false; - out_buffer.members.type.volatile_qualified = false; - } - } - - // Function objects that fit in the small-object buffer. - static inline void - manage_small(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op) - { - if (op == clone_functor_tag || op == move_functor_tag) { - const functor_type* in_functor = - reinterpret_cast(in_buffer.data); - new (reinterpret_cast(out_buffer.data)) functor_type(*in_functor); - - if (op == move_functor_tag) { - functor_type* f = reinterpret_cast(in_buffer.data); - (void)f; // suppress warning about the value of f not being used (MSVC) - f->~Functor(); - } - } else if (op == destroy_functor_tag) { - // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type. - functor_type* f = reinterpret_cast(out_buffer.data); - (void)f; // suppress warning about the value of f not being used (MSVC) - f->~Functor(); - } else if (op == check_functor_type_tag) { - if (*out_buffer.members.type.type == boost::typeindex::type_id()) - out_buffer.members.obj_ptr = in_buffer.data; - else - out_buffer.members.obj_ptr = 0; - } else /* op == get_functor_type_tag */ { - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = false; - out_buffer.members.type.volatile_qualified = false; - } - } - }; - - template - struct functor_manager - { - private: - typedef Functor functor_type; - - // Function pointers - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, function_ptr_tag) - { - functor_manager_common::manage_ptr(in_buffer,out_buffer,op); - } - - // Function objects that fit in the small-object buffer. - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, true_type) - { - functor_manager_common::manage_small(in_buffer,out_buffer,op); - } - - // Function objects that require heap allocation - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, false_type) - { - if (op == clone_functor_tag) { - // Clone the functor - // GCC 2.95.3 gets the CV qualifiers wrong here, so we - // can't do the static_cast that we should do. - // jewillco: Changing this to static_cast because GCC 2.95.3 is - // obsolete. - const functor_type* f = - static_cast(in_buffer.members.obj_ptr); - functor_type* new_f = new functor_type(*f); - out_buffer.members.obj_ptr = new_f; - } else if (op == move_functor_tag) { - out_buffer.members.obj_ptr = in_buffer.members.obj_ptr; - in_buffer.members.obj_ptr = 0; - } else if (op == destroy_functor_tag) { - /* Cast from the void pointer to the functor pointer type */ - functor_type* f = - static_cast(out_buffer.members.obj_ptr); - delete f; - out_buffer.members.obj_ptr = 0; - } else if (op == check_functor_type_tag) { - if (*out_buffer.members.type.type == boost::typeindex::type_id()) - out_buffer.members.obj_ptr = in_buffer.members.obj_ptr; - else - out_buffer.members.obj_ptr = 0; - } else /* op == get_functor_type_tag */ { - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = false; - out_buffer.members.type.volatile_qualified = false; - } - } - - // For function objects, we determine whether the function - // object can use the small-object optimization buffer or - // whether we need to allocate it on the heap. - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, function_obj_tag) - { - manager(in_buffer, out_buffer, op, - integral_constant::value)>()); - } - - // For member pointers, we use the small-object optimization buffer. - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, member_ptr_tag) - { - manager(in_buffer, out_buffer, op, true_type()); - } - - public: - /* Dispatch to an appropriate manager based on whether we have a - function pointer or a function object pointer. */ - static inline void - manage(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op) - { - typedef typename get_function_tag::type tag_type; - if (op == get_functor_type_tag) { - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = false; - out_buffer.members.type.volatile_qualified = false; - } else { - manager(in_buffer, out_buffer, op, tag_type()); - } - } - }; - - template - struct functor_manager_a - { - private: - typedef Functor functor_type; - - // Function pointers - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, function_ptr_tag) - { - functor_manager_common::manage_ptr(in_buffer,out_buffer,op); - } - - // Function objects that fit in the small-object buffer. - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, true_type) - { - functor_manager_common::manage_small(in_buffer,out_buffer,op); - } - - // Function objects that require heap allocation - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, false_type) - { - typedef functor_wrapper functor_wrapper_type; -#if defined(BOOST_NO_CXX11_ALLOCATOR) - typedef typename Allocator::template rebind::other - wrapper_allocator_type; - typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; -#else - using wrapper_allocator_type = typename std::allocator_traits::template rebind_alloc; - using wrapper_allocator_pointer_type = typename std::allocator_traits::pointer; -#endif - - if (op == clone_functor_tag) { - // Clone the functor - // GCC 2.95.3 gets the CV qualifiers wrong here, so we - // can't do the static_cast that we should do. - const functor_wrapper_type* f = - static_cast(in_buffer.members.obj_ptr); - wrapper_allocator_type wrapper_allocator(static_cast(*f)); - wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); -#if defined(BOOST_NO_CXX11_ALLOCATOR) - wrapper_allocator.construct(copy, *f); -#else - std::allocator_traits::construct(wrapper_allocator, copy, *f); -#endif - - // Get back to the original pointer type - functor_wrapper_type* new_f = static_cast(copy); - out_buffer.members.obj_ptr = new_f; - } else if (op == move_functor_tag) { - out_buffer.members.obj_ptr = in_buffer.members.obj_ptr; - in_buffer.members.obj_ptr = 0; - } else if (op == destroy_functor_tag) { - /* Cast from the void pointer to the functor_wrapper_type */ - functor_wrapper_type* victim = - static_cast(in_buffer.members.obj_ptr); - wrapper_allocator_type wrapper_allocator(static_cast(*victim)); -#if defined(BOOST_NO_CXX11_ALLOCATOR) - wrapper_allocator.destroy(victim); -#else - std::allocator_traits::destroy(wrapper_allocator, victim); -#endif - wrapper_allocator.deallocate(victim,1); - out_buffer.members.obj_ptr = 0; - } else if (op == check_functor_type_tag) { - if (*out_buffer.members.type.type == boost::typeindex::type_id()) - out_buffer.members.obj_ptr = in_buffer.members.obj_ptr; - else - out_buffer.members.obj_ptr = 0; - } else /* op == get_functor_type_tag */ { - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = false; - out_buffer.members.type.volatile_qualified = false; - } - } - - // For function objects, we determine whether the function - // object can use the small-object optimization buffer or - // whether we need to allocate it on the heap. - static inline void - manager(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op, function_obj_tag) - { - manager(in_buffer, out_buffer, op, - integral_constant::value)>()); - } - - public: - /* Dispatch to an appropriate manager based on whether we have a - function pointer or a function object pointer. */ - static inline void - manage(const function_buffer& in_buffer, function_buffer& out_buffer, - functor_manager_operation_type op) - { - typedef typename get_function_tag::type tag_type; - if (op == get_functor_type_tag) { - out_buffer.members.type.type = &boost::typeindex::type_id().type_info(); - out_buffer.members.type.const_qualified = false; - out_buffer.members.type.volatile_qualified = false; - } else { - manager(in_buffer, out_buffer, op, tag_type()); - } - } - }; - - // A type that is only used for comparisons against zero - struct useless_clear_type {}; - -#ifdef BOOST_NO_SFINAE - // These routines perform comparisons between a Boost.Function - // object and an arbitrary function object (when the last - // parameter is false_type) or against zero (when the - // last parameter is true_type). They are only necessary - // for compilers that don't support SFINAE. - template - bool - compare_equal(const Function& f, const Functor&, int, true_type) - { return f.empty(); } - - template - bool - compare_not_equal(const Function& f, const Functor&, int, - true_type) - { return !f.empty(); } - - template - bool - compare_equal(const Function& f, const Functor& g, long, - false_type) - { - if (const Functor* fp = f.template target()) - return function_equal(*fp, g); - else return false; - } - - template - bool - compare_equal(const Function& f, const reference_wrapper& g, - int, false_type) - { - if (const Functor* fp = f.template target()) - return fp == g.get_pointer(); - else return false; - } - - template - bool - compare_not_equal(const Function& f, const Functor& g, long, - false_type) - { - if (const Functor* fp = f.template target()) - return !function_equal(*fp, g); - else return true; - } - - template - bool - compare_not_equal(const Function& f, - const reference_wrapper& g, int, - false_type) - { - if (const Functor* fp = f.template target()) - return fp != g.get_pointer(); - else return true; - } -#endif // BOOST_NO_SFINAE - - /** - * Stores the "manager" portion of the vtable for a - * boost::function object. - */ - struct vtable_base - { - void (*manager)(const function_buffer& in_buffer, - function_buffer& out_buffer, - functor_manager_operation_type op); - }; - } // end namespace function - } // end namespace detail - -/** - * The function_base class contains the basic elements needed for the - * function1, function2, function3, etc. classes. It is common to all - * functions (and as such can be used to tell if we have one of the - * functionN objects). - */ -class function_base -{ -public: - function_base() : vtable(0) { } - - /** Determine if the function is empty (i.e., has no target). */ - bool empty() const { return !vtable; } - - /** Retrieve the type of the stored function object, or type_id() - if this is empty. */ - const boost::typeindex::type_info& target_type() const - { - if (!vtable) return boost::typeindex::type_id().type_info(); - - detail::function::function_buffer type; - get_vtable()->manager(functor, type, detail::function::get_functor_type_tag); - return *type.members.type.type; - } - - template - Functor* target() - { - if (!vtable) return 0; - - detail::function::function_buffer type_result; - type_result.members.type.type = &boost::typeindex::type_id().type_info(); - type_result.members.type.const_qualified = is_const::value; - type_result.members.type.volatile_qualified = is_volatile::value; - get_vtable()->manager(functor, type_result, - detail::function::check_functor_type_tag); - return static_cast(type_result.members.obj_ptr); - } - - template - const Functor* target() const - { - if (!vtable) return 0; - - detail::function::function_buffer type_result; - type_result.members.type.type = &boost::typeindex::type_id().type_info(); - type_result.members.type.const_qualified = true; - type_result.members.type.volatile_qualified = is_volatile::value; - get_vtable()->manager(functor, type_result, - detail::function::check_functor_type_tag); - // GCC 2.95.3 gets the CV qualifiers wrong here, so we - // can't do the static_cast that we should do. - return static_cast(type_result.members.obj_ptr); - } - - template - bool contains(const F& f) const - { - if (const F* fp = this->template target()) - { - return function_equal(*fp, f); - } else { - return false; - } - } - -#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3 - // GCC 3.3 and newer cannot copy with the global operator==, due to - // problems with instantiation of function return types before it - // has been verified that the argument types match up. - template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator==(Functor g) const - { - if (const Functor* fp = target()) - return function_equal(*fp, g); - else return false; - } - - template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator!=(Functor g) const - { - if (const Functor* fp = target()) - return !function_equal(*fp, g); - else return true; - } -#endif - -public: // should be protected, but GCC 2.95.3 will fail to allow access - detail::function::vtable_base* get_vtable() const { - return reinterpret_cast( - reinterpret_cast(vtable) & ~static_cast(0x01)); - } - - bool has_trivial_copy_and_destroy() const { - return reinterpret_cast(vtable) & 0x01; - } - - detail::function::vtable_base* vtable; - mutable detail::function::function_buffer functor; -}; - -#if defined(BOOST_CLANG) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wweak-vtables" -#endif -/** - * The bad_function_call exception class is thrown when a boost::function - * object is invoked - */ -class BOOST_SYMBOL_VISIBLE bad_function_call : public std::runtime_error -{ -public: - bad_function_call() : std::runtime_error("call to empty boost::function") {} -}; -#if defined(BOOST_CLANG) -# pragma clang diagnostic pop -#endif - -#ifndef BOOST_NO_SFINAE -inline bool operator==(const function_base& f, - detail::function::useless_clear_type*) -{ - return f.empty(); -} - -inline bool operator!=(const function_base& f, - detail::function::useless_clear_type*) -{ - return !f.empty(); -} - -inline bool operator==(detail::function::useless_clear_type*, - const function_base& f) -{ - return f.empty(); -} - -inline bool operator!=(detail::function::useless_clear_type*, - const function_base& f) -{ - return !f.empty(); -} -#endif - -#ifdef BOOST_NO_SFINAE -// Comparisons between boost::function objects and arbitrary function objects -template - inline bool operator==(const function_base& f, Functor g) - { - typedef integral_constant::value)> integral; - return detail::function::compare_equal(f, g, 0, integral()); - } - -template - inline bool operator==(Functor g, const function_base& f) - { - typedef integral_constant::value)> integral; - return detail::function::compare_equal(f, g, 0, integral()); - } - -template - inline bool operator!=(const function_base& f, Functor g) - { - typedef integral_constant::value)> integral; - return detail::function::compare_not_equal(f, g, 0, integral()); - } - -template - inline bool operator!=(Functor g, const function_base& f) - { - typedef integral_constant::value)> integral; - return detail::function::compare_not_equal(f, g, 0, integral()); - } -#else - -# if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) -// Comparisons between boost::function objects and arbitrary function -// objects. GCC 3.3 and before has an obnoxious bug that prevents this -// from working. -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator==(const function_base& f, Functor g) - { - if (const Functor* fp = f.template target()) - return function_equal(*fp, g); - else return false; - } - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator==(Functor g, const function_base& f) - { - if (const Functor* fp = f.template target()) - return function_equal(g, *fp); - else return false; - } - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator!=(const function_base& f, Functor g) - { - if (const Functor* fp = f.template target()) - return !function_equal(*fp, g); - else return true; - } - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator!=(Functor g, const function_base& f) - { - if (const Functor* fp = f.template target()) - return !function_equal(g, *fp); - else return true; - } -# endif - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator==(const function_base& f, reference_wrapper g) - { - if (const Functor* fp = f.template target()) - return fp == g.get_pointer(); - else return false; - } - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator==(reference_wrapper g, const function_base& f) - { - if (const Functor* fp = f.template target()) - return g.get_pointer() == fp; - else return false; - } - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator!=(const function_base& f, reference_wrapper g) - { - if (const Functor* fp = f.template target()) - return fp != g.get_pointer(); - else return true; - } - -template - BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) - operator!=(reference_wrapper g, const function_base& f) - { - if (const Functor* fp = f.template target()) - return g.get_pointer() != fp; - else return true; - } - -#endif // Compiler supporting SFINAE - -namespace detail { - namespace function { - inline bool has_empty_target(const function_base* f) - { - return f->empty(); - } - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310) - inline bool has_empty_target(const void*) - { - return false; - } -#else - inline bool has_empty_target(...) - { - return false; - } -#endif - } // end namespace function -} // end namespace detail -} // end namespace boost - -#undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL - -#if defined(BOOST_MSVC) -# pragma warning( pop ) -#endif - -#endif // BOOST_FUNCTION_BASE_HEADER diff --git a/external/include/boost_1_75/boost/function/function_fwd.hpp b/external/include/boost_1_75/boost/function/function_fwd.hpp deleted file mode 100644 index e79b504899..0000000000 --- a/external/include/boost_1_75/boost/function/function_fwd.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// Boost.Function library -// Copyright (C) Douglas Gregor 2008 -// -// Use, modification and distribution is subject to 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) -// -// For more information, see http://www.boost.org -#ifndef BOOST_FUNCTION_FWD_HPP -#define BOOST_FUNCTION_FWD_HPP -#include - -#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG) -// Work around a compiler bug. -// boost::python::objects::function has to be seen by the compiler before the -// boost::function class template. -namespace boost { namespace python { namespace objects { - class function; -}}} -#endif - -#if defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \ - || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540) -# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX -#endif - -namespace boost { - class bad_function_call; - -#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX) - // Preferred syntax - template class function; - - template - inline void swap(function& f1, function& f2) - { - f1.swap(f2); - } -#endif // have partial specialization - - // Portable syntax - template class function0; - template class function1; - template class function2; - template class function3; - template - class function4; - template - class function5; - template - class function6; - template - class function7; - template - class function8; - template - class function9; - template - class function10; -} - -#endif diff --git a/external/include/boost_1_75/boost/function/function_template.hpp b/external/include/boost_1_75/boost/function/function_template.hpp deleted file mode 100644 index 26f1d67d03..0000000000 --- a/external/include/boost_1_75/boost/function/function_template.hpp +++ /dev/null @@ -1,1203 +0,0 @@ -// Boost.Function library - -// Copyright Douglas Gregor 2001-2006 -// Copyright Emil Dotchevski 2007 -// Use, modification and distribution is subject to 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) - -// For more information, see http://www.boost.org - -// Note: this header is a header template and must NOT have multiple-inclusion -// protection. -#include -#include - -#if defined(BOOST_MSVC) -# pragma warning( push ) -# pragma warning( disable : 4127 ) // "conditional expression is constant" -#endif - -#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T) - -#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T) - -#define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I) - -#define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY) - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a) -#else -# define BOOST_FUNCTION_ARG(J,I,D) static_cast(BOOST_PP_CAT(a,I)) -# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG,BOOST_PP_EMPTY) -#endif - -#define BOOST_FUNCTION_ARG_TYPE(J,I,D) \ - typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type); - -#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY) - -// Comma if nonzero number of arguments -#if BOOST_FUNCTION_NUM_ARGS == 0 -# define BOOST_FUNCTION_COMMA -#else -# define BOOST_FUNCTION_COMMA , -#endif // BOOST_FUNCTION_NUM_ARGS > 0 - -// Class names used in this version of the code -#define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_FUNCTION_INVOKER \ - BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \ - BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \ - BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \ - BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_FUNCTION_REF_INVOKER \ - BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \ - BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_MEMBER_INVOKER \ - BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \ - BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \ - BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \ - BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \ - BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_GET_MEMBER_INVOKER \ - BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_GET_INVOKER \ - BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS) -#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS) - -#ifndef BOOST_NO_VOID_RETURNS -# define BOOST_FUNCTION_VOID_RETURN_TYPE void -# define BOOST_FUNCTION_RETURN(X) X -#else -# define BOOST_FUNCTION_VOID_RETURN_TYPE boost::detail::function::unusable -# define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE () -#endif - -namespace boost { - namespace detail { - namespace function { - template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_FUNCTION_INVOKER - { - static R invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - { - FunctionPtr f = reinterpret_cast(function_ptr.members.func_ptr); - return f(BOOST_FUNCTION_ARGS); - } - }; - - template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_VOID_FUNCTION_INVOKER - { - static BOOST_FUNCTION_VOID_RETURN_TYPE - invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - FunctionPtr f = reinterpret_cast(function_ptr.members.func_ptr); - BOOST_FUNCTION_RETURN(f(BOOST_FUNCTION_ARGS)); - } - }; - - template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_FUNCTION_OBJ_INVOKER - { - static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - FunctionObj* f; - if (function_allows_small_object_optimization::value) - f = reinterpret_cast(function_obj_ptr.data); - else - f = reinterpret_cast(function_obj_ptr.members.obj_ptr); - return (*f)(BOOST_FUNCTION_ARGS); - } - }; - - template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER - { - static BOOST_FUNCTION_VOID_RETURN_TYPE - invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - FunctionObj* f; - if (function_allows_small_object_optimization::value) - f = reinterpret_cast(function_obj_ptr.data); - else - f = reinterpret_cast(function_obj_ptr.members.obj_ptr); - BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); - } - }; - - template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_FUNCTION_REF_INVOKER - { - static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - FunctionObj* f = - reinterpret_cast(function_obj_ptr.members.obj_ptr); - return (*f)(BOOST_FUNCTION_ARGS); - } - }; - - template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER - { - static BOOST_FUNCTION_VOID_RETURN_TYPE - invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - FunctionObj* f = - reinterpret_cast(function_obj_ptr.members.obj_ptr); - BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); - } - }; - -#if BOOST_FUNCTION_NUM_ARGS > 0 - /* Handle invocation of member pointers. */ - template< - typename MemberPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_MEMBER_INVOKER - { - static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - MemberPtr* f = - reinterpret_cast(function_obj_ptr.data); - return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS); - } - }; - - template< - typename MemberPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_VOID_MEMBER_INVOKER - { - static BOOST_FUNCTION_VOID_RETURN_TYPE - invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA - BOOST_FUNCTION_PARMS) - - { - MemberPtr* f = - reinterpret_cast(function_obj_ptr.data); - BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS)); - } - }; -#endif - - template< - typename FunctionPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_GET_FUNCTION_INVOKER - { - typedef typename conditional<(is_void::value), - BOOST_FUNCTION_VOID_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; - }; - - template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER - { - typedef typename conditional<(is_void::value), - BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; - }; - - template< - typename FunctionObj, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER - { - typedef typename conditional<(is_void::value), - BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_FUNCTION_REF_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; - }; - -#if BOOST_FUNCTION_NUM_ARGS > 0 - /* Retrieve the appropriate invoker for a member pointer. */ - template< - typename MemberPtr, - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - struct BOOST_FUNCTION_GET_MEMBER_INVOKER - { - typedef typename conditional<(is_void::value), - BOOST_FUNCTION_VOID_MEMBER_INVOKER< - MemberPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >, - BOOST_FUNCTION_MEMBER_INVOKER< - MemberPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - > - >::type type; - }; -#endif - - /* Given the tag returned by get_function_tag, retrieve the - actual invoker that will be used for the given function - object. - - Each specialization contains an "apply" nested class template - that accepts the function object, return type, function - argument types, and allocator. The resulting "apply" class - contains two typedefs, "invoker_type" and "manager_type", - which correspond to the invoker and manager types. */ - template - struct BOOST_FUNCTION_GET_INVOKER { }; - - /* Retrieve the invoker for a function pointer. */ - template<> - struct BOOST_FUNCTION_GET_INVOKER - { - template - struct apply - { - typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef functor_manager manager_type; - }; - - template - struct apply_a - { - typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER< - FunctionPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef functor_manager manager_type; - }; - }; - -#if BOOST_FUNCTION_NUM_ARGS > 0 - /* Retrieve the invoker for a member pointer. */ - template<> - struct BOOST_FUNCTION_GET_INVOKER - { - template - struct apply - { - typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER< - MemberPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef functor_manager manager_type; - }; - - template - struct apply_a - { - typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER< - MemberPtr, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef functor_manager manager_type; - }; - }; -#endif - - /* Retrieve the invoker for a function object. */ - template<> - struct BOOST_FUNCTION_GET_INVOKER - { - template - struct apply - { - typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef functor_manager manager_type; - }; - - template - struct apply_a - { - typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< - FunctionObj, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef functor_manager_a manager_type; - }; - }; - - /* Retrieve the invoker for a reference to a function object. */ - template<> - struct BOOST_FUNCTION_GET_INVOKER - { - template - struct apply - { - typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER< - typename RefWrapper::type, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef reference_manager manager_type; - }; - - template - struct apply_a - { - typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER< - typename RefWrapper::type, - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >::type - invoker_type; - - typedef reference_manager manager_type; - }; - }; - - - /** - * vtable for a specific boost::function instance. This - * structure must be an aggregate so that we can use static - * initialization in boost::function's assign_to and assign_to_a - * members. It therefore cannot have any constructors, - * destructors, base classes, etc. - */ - template - struct BOOST_FUNCTION_VTABLE - { -#ifndef BOOST_NO_VOID_RETURNS - typedef R result_type; -#else - typedef typename function_return_type::type result_type; -#endif // BOOST_NO_VOID_RETURNS - - typedef result_type (*invoker_type)(function_buffer& - BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS); - - template - bool assign_to(F f, function_buffer& functor) const - { - typedef typename get_function_tag::type tag; - return assign_to(f, functor, tag()); - } - template - bool assign_to_a(F f, function_buffer& functor, Allocator a) const - { - typedef typename get_function_tag::type tag; - return assign_to_a(f, functor, a, tag()); - } - - void clear(function_buffer& functor) const - { - if (base.manager) - base.manager(functor, functor, destroy_functor_tag); - } - - private: - // Function pointers - template - bool - assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) const - { - this->clear(functor); - if (f) { - // should be a reinterpret cast, but some compilers insist - // on giving cv-qualifiers to free functions - functor.members.func_ptr = reinterpret_cast(f); - return true; - } else { - return false; - } - } - template - bool - assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) const - { - return assign_to(f,functor,function_ptr_tag()); - } - - // Member pointers -#if BOOST_FUNCTION_NUM_ARGS > 0 - template - bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) const - { - // DPG TBD: Add explicit support for member function - // objects, so we invoke through mem_fn() but we retain the - // right target_type() values. - if (f) { - this->assign_to(boost::mem_fn(f), functor); - return true; - } else { - return false; - } - } - template - bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag) const - { - // DPG TBD: Add explicit support for member function - // objects, so we invoke through mem_fn() but we retain the - // right target_type() values. - if (f) { - this->assign_to_a(boost::mem_fn(f), functor, a); - return true; - } else { - return false; - } - } -#endif // BOOST_FUNCTION_NUM_ARGS > 0 - - // Function objects - // Assign to a function object using the small object optimization - template - void - assign_functor(FunctionObj f, function_buffer& functor, true_type) const - { - new (reinterpret_cast(functor.data)) FunctionObj(f); - } - template - void - assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, true_type) const - { - assign_functor(f,functor,true_type()); - } - - // Assign to a function object allocated on the heap. - template - void - assign_functor(FunctionObj f, function_buffer& functor, false_type) const - { - functor.members.obj_ptr = new FunctionObj(f); - } - template - void - assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, false_type) const - { - typedef functor_wrapper functor_wrapper_type; -#if defined(BOOST_NO_CXX11_ALLOCATOR) - typedef typename Allocator::template rebind::other - wrapper_allocator_type; - typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; -#else - using wrapper_allocator_type = typename std::allocator_traits::template rebind_alloc; - using wrapper_allocator_pointer_type = typename std::allocator_traits::pointer; -#endif - wrapper_allocator_type wrapper_allocator(a); - wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); -#if defined(BOOST_NO_CXX11_ALLOCATOR) - wrapper_allocator.construct(copy, functor_wrapper_type(f,a)); -#else - std::allocator_traits::construct(wrapper_allocator, copy, functor_wrapper_type(f,a)); -#endif - functor_wrapper_type* new_f = static_cast(copy); - functor.members.obj_ptr = new_f; - } - - template - bool - assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) const - { - if (!boost::detail::function::has_empty_target(boost::addressof(f))) { - assign_functor(f, functor, - integral_constant::value)>()); - return true; - } else { - return false; - } - } - template - bool - assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) const - { - if (!boost::detail::function::has_empty_target(boost::addressof(f))) { - assign_functor_a(f, functor, a, - integral_constant::value)>()); - return true; - } else { - return false; - } - } - - // Reference to a function object - template - bool - assign_to(const reference_wrapper& f, - function_buffer& functor, function_obj_ref_tag) const - { - functor.members.obj_ref.obj_ptr = (void *)(f.get_pointer()); - functor.members.obj_ref.is_const_qualified = is_const::value; - functor.members.obj_ref.is_volatile_qualified = is_volatile::value; - return true; - } - template - bool - assign_to_a(const reference_wrapper& f, - function_buffer& functor, Allocator, function_obj_ref_tag) const - { - return assign_to(f,functor,function_obj_ref_tag()); - } - - public: - vtable_base base; - invoker_type invoker; - }; - } // end namespace function - } // end namespace detail - - template< - typename R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_PARMS - > - class BOOST_FUNCTION_FUNCTION : public function_base - { - public: -#ifndef BOOST_NO_VOID_RETURNS - typedef R result_type; -#else - typedef typename boost::detail::function::function_return_type::type - result_type; -#endif // BOOST_NO_VOID_RETURNS - - private: - typedef boost::detail::function::BOOST_FUNCTION_VTABLE< - R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> - vtable_type; - - vtable_type* get_vtable() const { - return reinterpret_cast( - reinterpret_cast(vtable) & ~static_cast(0x01)); - } - - struct clear_type {}; - - public: - BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS); - - // add signature for boost::lambda - template - struct sig - { - typedef result_type type; - }; - -#if BOOST_FUNCTION_NUM_ARGS == 1 - typedef T0 argument_type; -#elif BOOST_FUNCTION_NUM_ARGS == 2 - typedef T0 first_argument_type; - typedef T1 second_argument_type; -#endif - - BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS); - BOOST_FUNCTION_ARG_TYPES - - typedef BOOST_FUNCTION_FUNCTION self_type; - - BOOST_DEFAULTED_FUNCTION(BOOST_FUNCTION_FUNCTION(), : function_base() {}) - - // MSVC chokes if the following two constructors are collapsed into - // one with a default parameter. - template - BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f -#ifndef BOOST_NO_SFINAE - ,typename boost::enable_if_< - !(is_integral::value), - int>::type = 0 -#endif // BOOST_NO_SFINAE - ) : - function_base() - { - this->assign_to(f); - } - template - BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a -#ifndef BOOST_NO_SFINAE - ,typename boost::enable_if_< - !(is_integral::value), - int>::type = 0 -#endif // BOOST_NO_SFINAE - ) : - function_base() - { - this->assign_to_a(f,a); - } - -#ifndef BOOST_NO_SFINAE - BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { } -#else - BOOST_FUNCTION_FUNCTION(int zero) : function_base() - { - BOOST_ASSERT(zero == 0); - } -#endif - - BOOST_FUNCTION_FUNCTION(const BOOST_FUNCTION_FUNCTION& f) : function_base() - { - this->assign_to_own(f); - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_FUNCTION_FUNCTION(BOOST_FUNCTION_FUNCTION&& f) : function_base() - { - this->move_assign(f); - } -#endif - - ~BOOST_FUNCTION_FUNCTION() { clear(); } - - result_type operator()(BOOST_FUNCTION_PARMS) const - { - if (this->empty()) - boost::throw_exception(bad_function_call()); - - return get_vtable()->invoker - (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS); - } - - // The distinction between when to use BOOST_FUNCTION_FUNCTION and - // when to use self_type is obnoxious. MSVC cannot handle self_type as - // the return type of these assignment operators, but Borland C++ cannot - // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to - // construct. - template -#ifndef BOOST_NO_SFINAE - typename boost::enable_if_< - !(is_integral::value), - BOOST_FUNCTION_FUNCTION&>::type -#else - BOOST_FUNCTION_FUNCTION& -#endif - operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) - { - this->clear(); - BOOST_TRY { - this->assign_to(f); - } BOOST_CATCH (...) { - vtable = 0; - BOOST_RETHROW; - } - BOOST_CATCH_END - return *this; - } - template - void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a) - { - this->clear(); - BOOST_TRY{ - this->assign_to_a(f,a); - } BOOST_CATCH (...) { - vtable = 0; - BOOST_RETHROW; - } - BOOST_CATCH_END - } - -#ifndef BOOST_NO_SFINAE - BOOST_FUNCTION_FUNCTION& operator=(clear_type*) - { - this->clear(); - return *this; - } -#else - BOOST_FUNCTION_FUNCTION& operator=(int zero) - { - BOOST_ASSERT(zero == 0); - this->clear(); - return *this; - } -#endif - - // Assignment from another BOOST_FUNCTION_FUNCTION - BOOST_FUNCTION_FUNCTION& operator=(const BOOST_FUNCTION_FUNCTION& f) - { - if (&f == this) - return *this; - - this->clear(); - BOOST_TRY { - this->assign_to_own(f); - } BOOST_CATCH (...) { - vtable = 0; - BOOST_RETHROW; - } - BOOST_CATCH_END - return *this; - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - // Move assignment from another BOOST_FUNCTION_FUNCTION - BOOST_FUNCTION_FUNCTION& operator=(BOOST_FUNCTION_FUNCTION&& f) - { - if (&f == this) - return *this; - - this->clear(); - BOOST_TRY { - this->move_assign(f); - } BOOST_CATCH (...) { - vtable = 0; - BOOST_RETHROW; - } - BOOST_CATCH_END - return *this; - } -#endif - - void swap(BOOST_FUNCTION_FUNCTION& other) - { - if (&other == this) - return; - - BOOST_FUNCTION_FUNCTION tmp; - tmp.move_assign(*this); - this->move_assign(other); - other.move_assign(tmp); - } - - // Clear out a target, if there is one - void clear() - { - if (vtable) { - if (!this->has_trivial_copy_and_destroy()) - get_vtable()->clear(this->functor); - vtable = 0; - } - } - -#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG) - // Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it - operator bool () const { return !this->empty(); } -#else - private: - struct dummy { - void nonnull() {} - }; - - typedef void (dummy::*safe_bool)(); - - public: - operator safe_bool () const - { return (this->empty())? 0 : &dummy::nonnull; } - - bool operator!() const - { return this->empty(); } -#endif - - private: - void assign_to_own(const BOOST_FUNCTION_FUNCTION& f) - { - if (!f.empty()) { - this->vtable = f.vtable; - if (this->has_trivial_copy_and_destroy()) { - // Don't operate on storage directly since union type doesn't relax - // strict aliasing rules, despite of having member char type. -# if defined(BOOST_GCC) && (BOOST_GCC >= 40700) -# pragma GCC diagnostic push - // This warning is technically correct, but we don't want to pay the price for initializing - // just to silence a warning: https://github.com/boostorg/function/issues/27 -# pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -# endif - std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer)); -# if defined(BOOST_GCC) && (BOOST_GCC >= 40700) -# pragma GCC diagnostic pop -# endif - } else - get_vtable()->base.manager(f.functor, this->functor, - boost::detail::function::clone_functor_tag); - } - } - - template - void assign_to(Functor f) - { - using boost::detail::function::vtable_base; - - typedef typename boost::detail::function::get_function_tag::type tag; - typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; - typedef typename get_invoker:: - template apply - handler_type; - - typedef typename handler_type::invoker_type invoker_type; - typedef typename handler_type::manager_type manager_type; - - // Note: it is extremely important that this initialization use - // static initialization. Otherwise, we will have a race - // condition here in multi-threaded code. See - // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/. - static const vtable_type stored_vtable = - { { &manager_type::manage }, &invoker_type::invoke }; - - if (stored_vtable.assign_to(f, functor)) { - std::size_t value = reinterpret_cast(&stored_vtable.base); - // coverity[pointless_expression]: suppress coverity warnings on apparant if(const). - if (boost::has_trivial_copy_constructor::value && - boost::has_trivial_destructor::value && - boost::detail::function::function_allows_small_object_optimization::value) - value |= static_cast(0x01); - vtable = reinterpret_cast(value); - } else - vtable = 0; - } - - template - void assign_to_a(Functor f,Allocator a) - { - using boost::detail::function::vtable_base; - - typedef typename boost::detail::function::get_function_tag::type tag; - typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; - typedef typename get_invoker:: - template apply_a - handler_type; - - typedef typename handler_type::invoker_type invoker_type; - typedef typename handler_type::manager_type manager_type; - - // Note: it is extremely important that this initialization use - // static initialization. Otherwise, we will have a race - // condition here in multi-threaded code. See - // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/. - static const vtable_type stored_vtable = - { { &manager_type::manage }, &invoker_type::invoke }; - - if (stored_vtable.assign_to_a(f, functor, a)) { - std::size_t value = reinterpret_cast(&stored_vtable.base); - // coverity[pointless_expression]: suppress coverity warnings on apparant if(const). - if (boost::has_trivial_copy_constructor::value && - boost::has_trivial_destructor::value && - boost::detail::function::function_allows_small_object_optimization::value) - value |= static_cast(0x01); - vtable = reinterpret_cast(value); - } else - vtable = 0; - } - - // Moves the value from the specified argument to *this. If the argument - // has its function object allocated on the heap, move_assign will pass - // its buffer to *this, and set the argument's buffer pointer to NULL. - void move_assign(BOOST_FUNCTION_FUNCTION& f) - { - if (&f == this) - return; - - BOOST_TRY { - if (!f.empty()) { - this->vtable = f.vtable; - if (this->has_trivial_copy_and_destroy()) { - // Don't operate on storage directly since union type doesn't relax - // strict aliasing rules, despite of having member char type. -# if defined(BOOST_GCC) && (BOOST_GCC >= 40700) -# pragma GCC diagnostic push - // This warning is technically correct, but we don't want to pay the price for initializing - // just to silence a warning: https://github.com/boostorg/function/issues/27 -# pragma GCC diagnostic ignored "-Wmaybe-uninitialized" -# endif - std::memcpy(this->functor.data, f.functor.data, sizeof(this->functor.data)); -# if defined(BOOST_GCC) && (BOOST_GCC >= 40700) -# pragma GCC diagnostic pop -# endif - } else - get_vtable()->base.manager(f.functor, this->functor, - boost::detail::function::move_functor_tag); - f.vtable = 0; - } else { - clear(); - } - } BOOST_CATCH (...) { - vtable = 0; - BOOST_RETHROW; - } - BOOST_CATCH_END - } - }; - - template - inline void swap(BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >& f1, - BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS - >& f2) - { - f1.swap(f2); - } - -// Poison comparisons between boost::function objects of the same type. -template - void operator==(const BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS>&, - const BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS>&); -template - void operator!=(const BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS>&, - const BOOST_FUNCTION_FUNCTION< - R BOOST_FUNCTION_COMMA - BOOST_FUNCTION_TEMPLATE_ARGS>& ); - -#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX) - -#if BOOST_FUNCTION_NUM_ARGS == 0 -#define BOOST_FUNCTION_PARTIAL_SPEC R (void) -#else -#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_FUNCTION_TEMPLATE_ARGS) -#endif - -template -class function - : public BOOST_FUNCTION_FUNCTION -{ - typedef BOOST_FUNCTION_FUNCTION base_type; - typedef function self_type; - - struct clear_type {}; - -public: - - BOOST_DEFAULTED_FUNCTION(function(), : base_type() {}) - - template - function(Functor f -#ifndef BOOST_NO_SFINAE - ,typename boost::enable_if_< - !(is_integral::value), - int>::type = 0 -#endif - ) : - base_type(f) - { - } - template - function(Functor f, Allocator a -#ifndef BOOST_NO_SFINAE - ,typename boost::enable_if_< - !(is_integral::value), - int>::type = 0 -#endif - ) : - base_type(f,a) - { - } - -#ifndef BOOST_NO_SFINAE - function(clear_type*) : base_type() {} -#endif - - function(const self_type& f) : base_type(static_cast(f)){} - - function(const base_type& f) : base_type(static_cast(f)){} - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - // Move constructors - function(self_type&& f): base_type(static_cast(f)){} - function(base_type&& f): base_type(static_cast(f)){} -#endif - - self_type& operator=(const self_type& f) - { - self_type(f).swap(*this); - return *this; - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - self_type& operator=(self_type&& f) - { - self_type(static_cast(f)).swap(*this); - return *this; - } -#endif - - template -#ifndef BOOST_NO_SFINAE - typename boost::enable_if_< - !(is_integral::value), - self_type&>::type -#else - self_type& -#endif - operator=(Functor f) - { - self_type(f).swap(*this); - return *this; - } - -#ifndef BOOST_NO_SFINAE - self_type& operator=(clear_type*) - { - this->clear(); - return *this; - } -#endif - - self_type& operator=(const base_type& f) - { - self_type(f).swap(*this); - return *this; - } - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - self_type& operator=(base_type&& f) - { - self_type(static_cast(f)).swap(*this); - return *this; - } -#endif -}; - -#undef BOOST_FUNCTION_PARTIAL_SPEC -#endif // have partial specialization - -} // end namespace boost - -// Cleanup after ourselves... -#undef BOOST_FUNCTION_VTABLE -#undef BOOST_FUNCTION_COMMA -#undef BOOST_FUNCTION_FUNCTION -#undef BOOST_FUNCTION_FUNCTION_INVOKER -#undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER -#undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER -#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER -#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER -#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER -#undef BOOST_FUNCTION_MEMBER_INVOKER -#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER -#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER -#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER -#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER -#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER -#undef BOOST_FUNCTION_GET_INVOKER -#undef BOOST_FUNCTION_TEMPLATE_PARMS -#undef BOOST_FUNCTION_TEMPLATE_ARGS -#undef BOOST_FUNCTION_PARMS -#undef BOOST_FUNCTION_PARM -#ifdef BOOST_FUNCTION_ARG -# undef BOOST_FUNCTION_ARG -#endif -#undef BOOST_FUNCTION_ARGS -#undef BOOST_FUNCTION_ARG_TYPE -#undef BOOST_FUNCTION_ARG_TYPES -#undef BOOST_FUNCTION_VOID_RETURN_TYPE -#undef BOOST_FUNCTION_RETURN - -#if defined(BOOST_MSVC) -# pragma warning( pop ) -#endif diff --git a/external/include/boost_1_75/boost/function_equal.hpp b/external/include/boost_1_75/boost/function_equal.hpp deleted file mode 100644 index 2d76c75bc9..0000000000 --- a/external/include/boost_1_75/boost/function_equal.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright Douglas Gregor 2004. -// Copyright 2005 Peter Dimov - -// Use, modification and distribution is subject to -// 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) - -// For more information, see http://www.boost.org -#ifndef BOOST_FUNCTION_EQUAL_HPP -#define BOOST_FUNCTION_EQUAL_HPP - -namespace boost { - -template - bool function_equal_impl(const F& f, const G& g, long) - { return f == g; } - -// function_equal_impl needs to be unqualified to pick -// user overloads on two-phase compilers - -template - bool function_equal(const F& f, const G& g) - { return function_equal_impl(f, g, 0); } - -} // end namespace boost - -#endif // BOOST_FUNCTION_EQUAL_HPP diff --git a/external/include/boost_1_75/boost/functional/hash.hpp b/external/include/boost_1_75/boost/functional/hash.hpp deleted file mode 100644 index 327a3ecae7..0000000000 --- a/external/include/boost_1_75/boost/functional/hash.hpp +++ /dev/null @@ -1,6 +0,0 @@ - -// Copyright 2005-2009 Daniel James. -// 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) - -#include diff --git a/external/include/boost_1_75/boost/implicit_cast.hpp b/external/include/boost_1_75/boost/implicit_cast.hpp deleted file mode 100644 index 03abe1d495..0000000000 --- a/external/include/boost_1_75/boost/implicit_cast.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright David Abrahams 2003. -// 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) - -#ifndef BOOST_IMPLICIT_CAST_DWA200356_HPP -#define BOOST_IMPLICIT_CAST_DWA200356_HPP - -namespace boost { - -namespace detail { - -template struct icast_identity -{ - typedef T type; -}; - -} // namespace detail - -// implementation originally suggested by C. Green in -// http://lists.boost.org/MailArchives/boost/msg00886.php - -// The use of identity creates a non-deduced form, so that the -// explicit template argument must be supplied -template -inline T implicit_cast (typename boost::detail::icast_identity::type x) { - return x; -} - -} // namespace boost - - -#endif // BOOST_IMPLICIT_CAST_DWA200356_HPP diff --git a/external/include/boost_1_75/boost/integer.hpp b/external/include/boost_1_75/boost/integer.hpp deleted file mode 100644 index 6db0f76413..0000000000 --- a/external/include/boost_1_75/boost/integer.hpp +++ /dev/null @@ -1,262 +0,0 @@ -// boost integer.hpp header file -------------------------------------------// - -// Copyright Beman Dawes and Daryle Walker 1999. 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) - -// See http://www.boost.org/libs/integer for documentation. - -// Revision History -// 22 Sep 01 Added value-based integer templates. (Daryle Walker) -// 01 Apr 01 Modified to use new header. (John Maddock) -// 30 Jul 00 Add typename syntax fix (Jens Maurer) -// 28 Aug 99 Initial version - -#ifndef BOOST_INTEGER_HPP -#define BOOST_INTEGER_HPP - -#include // self include - -#include // for boost::::boost::integer_traits -#include // for ::std::numeric_limits -#include // for boost::int64_t and BOOST_NO_INTEGRAL_INT64_T -#include - -// -// We simply cannot include this header on gcc without getting copious warnings of the kind: -// -// boost/integer.hpp:77:30: warning: use of C99 long long integer constant -// -// And yet there is no other reasonable implementation, so we declare this a system header -// to suppress these warnings. -// -#if defined(__GNUC__) && (__GNUC__ >= 4) -#pragma GCC system_header -#endif - -namespace boost -{ - - // Helper templates ------------------------------------------------------// - - // fast integers from least integers - // int_fast_t<> works correctly for unsigned too, in spite of the name. - template< typename LeastInt > - struct int_fast_t - { - typedef LeastInt fast; - typedef fast type; - }; // imps may specialize - - namespace detail{ - - // convert category to type - template< int Category > struct int_least_helper {}; // default is empty - template< int Category > struct uint_least_helper {}; // default is empty - - // specializatons: 1=long, 2=int, 3=short, 4=signed char, - // 6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char - // no specializations for 0 and 5: requests for a type > long are in error -#ifdef BOOST_HAS_LONG_LONG - template<> struct int_least_helper<1> { typedef boost::long_long_type least; }; -#elif defined(BOOST_HAS_MS_INT64) - template<> struct int_least_helper<1> { typedef __int64 least; }; -#endif - template<> struct int_least_helper<2> { typedef long least; }; - template<> struct int_least_helper<3> { typedef int least; }; - template<> struct int_least_helper<4> { typedef short least; }; - template<> struct int_least_helper<5> { typedef signed char least; }; -#ifdef BOOST_HAS_LONG_LONG - template<> struct uint_least_helper<1> { typedef boost::ulong_long_type least; }; -#elif defined(BOOST_HAS_MS_INT64) - template<> struct uint_least_helper<1> { typedef unsigned __int64 least; }; -#endif - template<> struct uint_least_helper<2> { typedef unsigned long least; }; - template<> struct uint_least_helper<3> { typedef unsigned int least; }; - template<> struct uint_least_helper<4> { typedef unsigned short least; }; - template<> struct uint_least_helper<5> { typedef unsigned char least; }; - - template - struct exact_signed_base_helper{}; - template - struct exact_unsigned_base_helper{}; - - template <> struct exact_signed_base_helper { typedef signed char exact; }; - template <> struct exact_unsigned_base_helper { typedef unsigned char exact; }; -#if USHRT_MAX != UCHAR_MAX - template <> struct exact_signed_base_helper { typedef short exact; }; - template <> struct exact_unsigned_base_helper { typedef unsigned short exact; }; -#endif -#if UINT_MAX != USHRT_MAX - template <> struct exact_signed_base_helper { typedef int exact; }; - template <> struct exact_unsigned_base_helper { typedef unsigned int exact; }; -#endif -#if ULONG_MAX != UINT_MAX && ( !defined __TI_COMPILER_VERSION__ || \ - ( __TI_COMPILER_VERSION__ >= 7000000 && !defined __TI_40BIT_LONG__ ) ) - template <> struct exact_signed_base_helper { typedef long exact; }; - template <> struct exact_unsigned_base_helper { typedef unsigned long exact; }; -#endif -#if defined(BOOST_HAS_LONG_LONG) &&\ - ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\ - (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\ - (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\ - (defined(_ULLONG_MAX) && (_ULLONG_MAX != ULONG_MAX))) - template <> struct exact_signed_base_helper { typedef boost::long_long_type exact; }; - template <> struct exact_unsigned_base_helper { typedef boost::ulong_long_type exact; }; -#endif - - - } // namespace detail - - // integer templates specifying number of bits ---------------------------// - - // signed - template< int Bits > // bits (including sign) required - struct int_t : public boost::detail::exact_signed_base_helper - { - BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(boost::intmax_t) * CHAR_BIT), - "No suitable signed integer type with the requested number of bits is available."); - typedef typename boost::detail::int_least_helper - < -#ifdef BOOST_HAS_LONG_LONG - (Bits <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) + -#else - 1 + -#endif - (Bits-1 <= ::std::numeric_limits::digits) + - (Bits-1 <= ::std::numeric_limits::digits) + - (Bits-1 <= ::std::numeric_limits::digits) + - (Bits-1 <= ::std::numeric_limits::digits) - >::least least; - typedef typename int_fast_t::type fast; - }; - - // unsigned - template< int Bits > // bits required - struct uint_t : public boost::detail::exact_unsigned_base_helper - { - BOOST_STATIC_ASSERT_MSG(Bits <= (int)(sizeof(boost::uintmax_t) * CHAR_BIT), - "No suitable unsigned integer type with the requested number of bits is available."); -#if (defined(BOOST_BORLANDC) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T) - // It's really not clear why this workaround should be needed... shrug I guess! JM - BOOST_STATIC_CONSTANT(int, s = - 6 + - (Bits <= ::std::numeric_limits::digits) + - (Bits <= ::std::numeric_limits::digits) + - (Bits <= ::std::numeric_limits::digits) + - (Bits <= ::std::numeric_limits::digits)); - typedef typename detail::int_least_helper< ::boost::uint_t::s>::least least; -#else - typedef typename boost::detail::uint_least_helper - < -#ifdef BOOST_HAS_LONG_LONG - (Bits <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) + -#else - 1 + -#endif - (Bits <= ::std::numeric_limits::digits) + - (Bits <= ::std::numeric_limits::digits) + - (Bits <= ::std::numeric_limits::digits) + - (Bits <= ::std::numeric_limits::digits) - >::least least; -#endif - typedef typename int_fast_t::type fast; - // int_fast_t<> works correctly for unsigned too, in spite of the name. - }; - - // integer templates specifying extreme value ----------------------------// - - // signed -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) - template< boost::long_long_type MaxValue > // maximum value to require support -#else - template< long MaxValue > // maximum value to require support -#endif - struct int_max_value_t - { - typedef typename boost::detail::int_least_helper - < -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) - (MaxValue <= ::boost::integer_traits::const_max) + -#else - 1 + -#endif - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) - >::least least; - typedef typename int_fast_t::type fast; - }; - -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) - template< boost::long_long_type MinValue > // minimum value to require support -#else - template< long MinValue > // minimum value to require support -#endif - struct int_min_value_t - { - typedef typename boost::detail::int_least_helper - < -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) - (MinValue >= ::boost::integer_traits::const_min) + -#else - 1 + -#endif - (MinValue >= ::boost::integer_traits::const_min) + - (MinValue >= ::boost::integer_traits::const_min) + - (MinValue >= ::boost::integer_traits::const_min) + - (MinValue >= ::boost::integer_traits::const_min) - >::least least; - typedef typename int_fast_t::type fast; - }; - - // unsigned -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) - template< boost::ulong_long_type MaxValue > // minimum value to require support -#else - template< unsigned long MaxValue > // minimum value to require support -#endif - struct uint_value_t - { -#if (defined(BOOST_BORLANDC) || defined(__CODEGEAR__)) - // It's really not clear why this workaround should be needed... shrug I guess! JM -#if defined(BOOST_NO_INTEGRAL_INT64_T) - BOOST_STATIC_CONSTANT(unsigned, which = - 1 + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max)); - typedef typename detail::int_least_helper< ::boost::uint_value_t::which>::least least; -#else // BOOST_NO_INTEGRAL_INT64_T - BOOST_STATIC_CONSTANT(unsigned, which = - 1 + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max)); - typedef typename detail::uint_least_helper< ::boost::uint_value_t::which>::least least; -#endif // BOOST_NO_INTEGRAL_INT64_T -#else - typedef typename boost::detail::uint_least_helper - < -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) - (MaxValue <= ::boost::integer_traits::const_max) + -#else - 1 + -#endif - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) + - (MaxValue <= ::boost::integer_traits::const_max) - >::least least; -#endif - typedef typename int_fast_t::type fast; - }; - - -} // namespace boost - -#endif // BOOST_INTEGER_HPP diff --git a/external/include/boost_1_75/boost/integer/static_log2.hpp b/external/include/boost_1_75/boost/integer/static_log2.hpp deleted file mode 100644 index db3aba2d07..0000000000 --- a/external/include/boost_1_75/boost/integer/static_log2.hpp +++ /dev/null @@ -1,126 +0,0 @@ -// -------------- Boost static_log2.hpp header file ----------------------- // -// -// Copyright (C) 2001 Daryle Walker. -// Copyright (C) 2003 Vesa Karvonen. -// Copyright (C) 2003 Gennaro Prota. -// -// 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) -// -// --------------------------------------------------- -// See http://www.boost.org/libs/integer for documentation. -// ------------------------------------------------------------------------- // - - -#ifndef BOOST_INTEGER_STATIC_LOG2_HPP -#define BOOST_INTEGER_STATIC_LOG2_HPP - -#include -#include - -namespace boost { - - namespace detail { - - namespace static_log2_impl { - - // choose_initial_n<> - // - // Recursively doubles its integer argument, until it - // becomes >= of the "width" (C99, 6.2.6.2p4) of - // static_log2_argument_type. - // - // Used to get the maximum power of two less then the width. - // - // Example: if on your platform argument_type has 48 value - // bits it yields n=32. - // - // It's easy to prove that, starting from such a value - // of n, the core algorithm works correctly for any width - // of static_log2_argument_type and that recursion always - // terminates with x = 1 and n = 0 (see the algorithm's - // invariant). - - typedef boost::static_log2_argument_type argument_type; - typedef boost::static_log2_result_type result_type; - - template - struct choose_initial_n { - - BOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0); - BOOST_STATIC_CONSTANT( - result_type, - value = !c*n + choose_initial_n<2*c*n>::value - ); - - }; - - template <> - struct choose_initial_n<0> { - BOOST_STATIC_CONSTANT(result_type, value = 0); - }; - - - - // start computing from n_zero - must be a power of two - const result_type n_zero = 16; - const result_type initial_n = choose_initial_n::value; - - // static_log2_impl<> - // - // * Invariant: - // 2n - // 1 <= x && x < 2 at the start of each recursion - // (see also choose_initial_n<>) - // - // * Type requirements: - // - // argument_type maybe any unsigned type with at least n_zero + 1 - // value bits. (Note: If larger types will be standardized -e.g. - // unsigned long long- then the argument_type typedef can be - // changed without affecting the rest of the code.) - // - - template - struct static_log2_impl { - - BOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ? - BOOST_STATIC_CONSTANT( - result_type, - value = c*n + (static_log2_impl< (x>>c*n), n/2 >::value) - ); - - }; - - template <> - struct static_log2_impl<1, 0> { - BOOST_STATIC_CONSTANT(result_type, value = 0); - }; - - } - } // detail - - - - // -------------------------------------- - // static_log2 - // ---------------------------------------- - - template - struct static_log2 { - - BOOST_STATIC_CONSTANT( - static_log2_result_type, - value = detail::static_log2_impl::static_log2_impl::value - ); - - }; - - - template <> - struct static_log2<0> { }; - -} - -#endif // include guard diff --git a/external/include/boost_1_75/boost/integer_fwd.hpp b/external/include/boost_1_75/boost/integer_fwd.hpp deleted file mode 100644 index 18519dd696..0000000000 --- a/external/include/boost_1_75/boost/integer_fwd.hpp +++ /dev/null @@ -1,190 +0,0 @@ -// Boost integer_fwd.hpp header file ---------------------------------------// - -// (C) Copyright Dave Abrahams and Daryle Walker 2001. 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) - -// See http://www.boost.org/libs/integer for documentation. - -#ifndef BOOST_INTEGER_FWD_HPP -#define BOOST_INTEGER_FWD_HPP - -#include // for UCHAR_MAX, etc. -#include // for std::size_t - -#include // for BOOST_NO_INTRINSIC_WCHAR_T -#include // for std::numeric_limits -#include // For intmax_t - - -namespace boost -{ - -#ifdef BOOST_NO_INTEGRAL_INT64_T - typedef unsigned long static_log2_argument_type; - typedef int static_log2_result_type; - typedef long static_min_max_signed_type; - typedef unsigned long static_min_max_unsigned_type; -#else - typedef boost::uintmax_t static_min_max_unsigned_type; - typedef boost::intmax_t static_min_max_signed_type; - typedef boost::uintmax_t static_log2_argument_type; - typedef int static_log2_result_type; -#endif - -// From ------------------------------------------------// - -// Only has typedefs or using statements, with #conditionals - - -// From -----------------------------------------// - -template < class T > - class integer_traits; - -template < > - class integer_traits< bool >; - -template < > - class integer_traits< char >; - -template < > - class integer_traits< signed char >; - -template < > - class integer_traits< unsigned char >; - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -template < > - class integer_traits< wchar_t >; -#endif - -template < > - class integer_traits< short >; - -template < > - class integer_traits< unsigned short >; - -template < > - class integer_traits< int >; - -template < > - class integer_traits< unsigned int >; - -template < > - class integer_traits< long >; - -template < > - class integer_traits< unsigned long >; - -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) -template < > -class integer_traits< ::boost::long_long_type>; - -template < > -class integer_traits< ::boost::ulong_long_type >; -#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64) -template < > -class integer_traits<__int64>; - -template < > -class integer_traits; -#endif - - -// From ------------------------------------------------// - -template < typename LeastInt > - struct int_fast_t; - -template< int Bits > - struct int_t; - -template< int Bits > - struct uint_t; - -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) - template< boost::long_long_type MaxValue > // maximum value to require support -#else - template< long MaxValue > // maximum value to require support -#endif - struct int_max_value_t; - -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) - template< boost::long_long_type MinValue > // minimum value to require support -#else - template< long MinValue > // minimum value to require support -#endif - struct int_min_value_t; - -#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) - template< boost::ulong_long_type MaxValue > // maximum value to require support -#else - template< unsigned long MaxValue > // maximum value to require support -#endif - struct uint_value_t; - - -// From -----------------------------------// - -template < std::size_t Bit > - struct high_bit_mask_t; - -template < std::size_t Bits > - struct low_bits_mask_t; - -template < > - struct low_bits_mask_t< ::std::numeric_limits::digits >; - -// From ------------------------------------// - -template - struct static_log2; - -template <> struct static_log2<0u>; - - -// From ---------------------------------// - -template - struct static_signed_min; - -template - struct static_signed_max; - -template - struct static_unsigned_min; - -template - struct static_unsigned_max; - - -namespace integer -{ -// From - -#ifdef BOOST_NO_INTEGRAL_INT64_T - typedef unsigned long static_gcd_type; -#else - typedef boost::uintmax_t static_gcd_type; -#endif - -template < static_gcd_type Value1, static_gcd_type Value2 > - struct static_gcd; -template < static_gcd_type Value1, static_gcd_type Value2 > - struct static_lcm; - - -// From - -template < typename IntegerType > - class gcd_evaluator; -template < typename IntegerType > - class lcm_evaluator; - -} // namespace integer - -} // namespace boost - - -#endif // BOOST_INTEGER_FWD_HPP diff --git a/external/include/boost_1_75/boost/iterator/detail/config_def.hpp b/external/include/boost_1_75/boost/iterator/detail/config_def.hpp deleted file mode 100644 index 554ae0abd8..0000000000 --- a/external/include/boost_1_75/boost/iterator/detail/config_def.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 2002. -// 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) - -// no include guard multiple inclusion intended - -// -// This is a temporary workaround until the bulk of this is -// available in boost config. -// 23/02/03 thw -// - -#include // for prior -#include - -#ifdef BOOST_ITERATOR_CONFIG_DEF -# error you have nested config_def #inclusion. -#else -# define BOOST_ITERATOR_CONFIG_DEF -#endif - -// We enable this always now. Otherwise, the simple case in -// libs/iterator/test/constant_iterator_arrow.cpp fails to compile -// because the operator-> return is improperly deduced as a non-const -// pointer. -#if 1 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x531)) - -// Recall that in general, compilers without partial specialization -// can't strip constness. Consider counting_iterator, which normally -// passes a const Value to iterator_facade. As a result, any code -// which makes a std::vector of the iterator's value_type will fail -// when its allocator declares functions overloaded on reference and -// const_reference (the same type). -// -// Furthermore, Borland 5.5.1 drops constness in enough ways that we -// end up using a proxy for operator[] when we otherwise shouldn't. -// Using reference constness gives it an extra hint that it can -// return the value_type from operator[] directly, but is not -// strictly necessary. Not sure how best to resolve this one. - -# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1 - -#endif - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x5A0)) \ - || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \ - || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) - -# define BOOST_NO_LVALUE_RETURN_DETECTION - -# if 0 // test code - struct v {}; - - typedef char (&no)[3]; - - template - no foo(T const&, ...); - - template - char foo(T&, int); - - - struct value_iterator - { - v operator*() const; - }; - - template - struct lvalue_deref_helper - { - static T& x; - enum { value = (sizeof(foo(*x,0)) == 1) }; - }; - - int z2[(lvalue_deref_helper::value == 1) ? 1 : -1]; - int z[(lvalue_deref_helper::value) == 1 ? -1 : 1 ]; -# endif - -#endif - -#if BOOST_WORKAROUND(__MWERKS__, <=0x2407) -# define BOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types" -#endif - -#if BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) -# define BOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile: - -# if 0 // test code - #include - template - struct foo - { - foo(T); - - template - foo(foo const& other) : p(other.p) { } - - T p; - }; - - bool x = boost::is_convertible, foo >::value; -# endif - -#endif - - -#if !defined(BOOST_MSVC) && (defined(BOOST_NO_SFINAE) || defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_IS_CONVERTIBLE_TEMPLATE)) -# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY -#endif - -# if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) - -// GCC-2.95 (obsolete) eagerly instantiates templated constructors and conversion -// operators in convertibility checks, causing premature errors. -// -// Borland's problems are harder to diagnose due to lack of an -// instantiation stack backtrace. They may be due in part to the fact -// that it drops cv-qualification willy-nilly in templates. -# define BOOST_NO_ONE_WAY_ITERATOR_INTEROP -# endif - -// no include guard; multiple inclusion intended diff --git a/external/include/boost_1_75/boost/iterator/detail/config_undef.hpp b/external/include/boost_1_75/boost/iterator/detail/config_undef.hpp deleted file mode 100644 index bf1b8d708c..0000000000 --- a/external/include/boost_1_75/boost/iterator/detail/config_undef.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// (C) Copyright Thomas Witt 2002. -// 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) - -// no include guard multiple inclusion intended - -// -// This is a temporary workaround until the bulk of this is -// available in boost config. -// 23/02/03 thw -// - -#undef BOOST_NO_IS_CONVERTIBLE -#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE -#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY -#undef BOOST_NO_LVALUE_RETURN_DETECTION -#undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP - -#ifdef BOOST_ITERATOR_CONFIG_DEF -# undef BOOST_ITERATOR_CONFIG_DEF -#else -# error missing or nested #include config_def -#endif diff --git a/external/include/boost_1_75/boost/iterator/detail/enable_if.hpp b/external/include/boost_1_75/boost/iterator/detail/enable_if.hpp deleted file mode 100644 index 071f5fe81d..0000000000 --- a/external/include/boost_1_75/boost/iterator/detail/enable_if.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 2002. -// 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) -#ifndef BOOST_ENABLE_IF_23022003THW_HPP -#define BOOST_ENABLE_IF_23022003THW_HPP - -#include -#include - -#include - -// -// Boost iterators uses its own enable_if cause we need -// special semantics for deficient compilers. -// 23/02/03 thw -// - -namespace boost -{ - - namespace iterators - { - // - // Base machinery for all kinds of enable if - // - template - struct enabled - { - template - struct base - { - typedef T type; - }; - }; - - // - // For compilers that don't support "Substitution Failure Is Not An Error" - // enable_if falls back to always enabled. See comments - // on operator implementation for consequences. - // - template<> - struct enabled - { - template - struct base - { -#ifdef BOOST_NO_SFINAE - - typedef T type; - - // This way to do it would give a nice error message containing - // invalid overload, but has the big disadvantage that - // there is no reference to user code in the error message. - // - // struct invalid_overload; - // typedef invalid_overload type; - // -#endif - }; - }; - - - template - struct enable_if -# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE) - : enabled<(Cond::value)>::template base -# else - : mpl::identity -# endif - { - }; - - } // namespace iterators - -} // namespace boost - -#include - -#endif // BOOST_ENABLE_IF_23022003THW_HPP diff --git a/external/include/boost_1_75/boost/iterator/detail/facade_iterator_category.hpp b/external/include/boost_1_75/boost/iterator/detail/facade_iterator_category.hpp deleted file mode 100644 index 6db45e4539..0000000000 --- a/external/include/boost_1_75/boost/iterator/detail/facade_iterator_category.hpp +++ /dev/null @@ -1,194 +0,0 @@ -// Copyright David Abrahams 2003. Use, modification and distribution is -// subject to 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) -#ifndef FACADE_ITERATOR_CATEGORY_DWA20031118_HPP -# define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP - -# include - -# include - -# include // used in iterator_tag inheritance logic -# include -# include -# include -# include -# include - -# include -# include -# include -# include - -# include - -# include // try to keep this last - -# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY -# include -# endif - -// -// iterator_category deduction for iterator_facade -// - -namespace boost { -namespace iterators { - -using boost::use_default; - -namespace detail { - -struct input_output_iterator_tag - : std::input_iterator_tag -{ - // Using inheritance for only input_iterator_tag helps to avoid - // ambiguities when a stdlib implementation dispatches on a - // function which is overloaded on both input_iterator_tag and - // output_iterator_tag, as STLPort does, in its __valid_range - // function. I claim it's better to avoid the ambiguity in these - // cases. - operator std::output_iterator_tag() const - { - return std::output_iterator_tag(); - } -}; - -// -// True iff the user has explicitly disabled writability of this -// iterator. Pass the iterator_facade's Value parameter and its -// nested ::reference type. -// -template -struct iterator_writability_disabled -# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic? - : mpl::or_< - is_const - , boost::detail::indirect_traits::is_reference_to_const - , is_const - > -# else - : is_const -# endif -{}; - - -// -// Convert an iterator_facade's traversal category, Value parameter, -// and ::reference type to an appropriate old-style category. -// -// Due to changeset 21683, this now never results in a category convertible -// to output_iterator_tag. -// -// Change at: https://svn.boost.org/trac/boost/changeset/21683 -template -struct iterator_facade_default_category - : mpl::eval_if< - mpl::and_< - is_reference - , is_convertible - > - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::if_< - is_convertible - , std::bidirectional_iterator_tag - , std::forward_iterator_tag - > - > - , typename mpl::eval_if< - mpl::and_< - is_convertible - - // check for readability - , is_convertible - > - , mpl::identity - , mpl::identity - > - > -{ -}; - -// True iff T is convertible to an old-style iterator category. -template -struct is_iterator_category - : mpl::or_< - is_convertible - , is_convertible - > -{ -}; - -template -struct is_iterator_traversal - : is_convertible -{}; - -// -// A composite iterator_category tag convertible to Category (a pure -// old-style category) and Traversal (a pure traversal tag). -// Traversal must be a strict increase of the traversal power given by -// Category. -// -template -struct iterator_category_with_traversal - : Category, Traversal -{ - // Make sure this isn't used to build any categories where - // convertibility to Traversal is redundant. Should just use the - // Category element in that case. - BOOST_MPL_ASSERT_NOT(( - is_convertible< - typename iterator_category_to_traversal::type - , Traversal - >)); - - BOOST_MPL_ASSERT((is_iterator_category)); - BOOST_MPL_ASSERT_NOT((is_iterator_category)); - BOOST_MPL_ASSERT_NOT((is_iterator_traversal)); -# if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) - BOOST_MPL_ASSERT((is_iterator_traversal)); -# endif -}; - -// Computes an iterator_category tag whose traversal is Traversal and -// which is appropriate for an iterator -template -struct facade_iterator_category_impl -{ - BOOST_MPL_ASSERT_NOT((is_iterator_category)); - - typedef typename iterator_facade_default_category< - Traversal,ValueParam,Reference - >::type category; - - typedef typename mpl::if_< - is_same< - Traversal - , typename iterator_category_to_traversal::type - > - , category - , iterator_category_with_traversal - >::type type; -}; - -// -// Compute an iterator_category for iterator_facade -// -template -struct facade_iterator_category - : mpl::eval_if< - is_iterator_category - , mpl::identity // old-style categories are fine as-is - , facade_iterator_category_impl - > -{ -}; - -}}} // namespace boost::iterators::detail - -# include - -#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP diff --git a/external/include/boost_1_75/boost/iterator/interoperable.hpp b/external/include/boost_1_75/boost/iterator/interoperable.hpp deleted file mode 100644 index 6f3c872a27..0000000000 --- a/external/include/boost_1_75/boost/iterator/interoperable.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 2002. -// 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) -#ifndef BOOST_INTEROPERABLE_23022003THW_HPP -# define BOOST_INTEROPERABLE_23022003THW_HPP - -# include -# include - -# include - -# include // must appear last - -namespace boost { -namespace iterators { - - // - // Meta function that determines whether two - // iterator types are considered interoperable. - // - // Two iterator types A,B are considered interoperable if either - // A is convertible to B or vice versa. - // This interoperability definition is in sync with the - // standards requirements on constant/mutable container - // iterators (23.1 [lib.container.requirements]). - // - // For compilers that don't support is_convertible - // is_interoperable gives false positives. See comments - // on operator implementation for consequences. - // - template - struct is_interoperable -# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY - : mpl::true_ -# else - : mpl::or_< - is_convertible< A, B > - , is_convertible< B, A > > -# endif - { - }; - -} // namespace iterators - -using iterators::is_interoperable; - -} // namespace boost - -# include - -#endif // BOOST_INTEROPERABLE_23022003THW_HPP diff --git a/external/include/boost_1_75/boost/iterator/iterator_categories.hpp b/external/include/boost_1_75/boost/iterator/iterator_categories.hpp deleted file mode 100644 index baf805af6e..0000000000 --- a/external/include/boost_1_75/boost/iterator/iterator_categories.hpp +++ /dev/null @@ -1,216 +0,0 @@ -// (C) Copyright Jeremy Siek 2002. -// 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) - -#ifndef BOOST_ITERATOR_CATEGORIES_HPP -# define BOOST_ITERATOR_CATEGORIES_HPP - -# include -# include - -# include - -# include -# include -# include -# include - -# include - -# include - -#include - -namespace boost { -namespace iterators { - -// -// Traversal Categories -// - -struct no_traversal_tag {}; - -struct incrementable_traversal_tag - : no_traversal_tag -{ -// incrementable_traversal_tag() {} -// incrementable_traversal_tag(std::output_iterator_tag const&) {}; -}; - -struct single_pass_traversal_tag - : incrementable_traversal_tag -{ -// single_pass_traversal_tag() {} -// single_pass_traversal_tag(std::input_iterator_tag const&) {}; -}; - -struct forward_traversal_tag - : single_pass_traversal_tag -{ -// forward_traversal_tag() {} -// forward_traversal_tag(std::forward_iterator_tag const&) {}; -}; - -struct bidirectional_traversal_tag - : forward_traversal_tag -{ -// bidirectional_traversal_tag() {}; -// bidirectional_traversal_tag(std::bidirectional_iterator_tag const&) {}; -}; - -struct random_access_traversal_tag - : bidirectional_traversal_tag -{ -// random_access_traversal_tag() {}; -// random_access_traversal_tag(std::random_access_iterator_tag const&) {}; -}; - -namespace detail -{ - // - // Convert a "strictly old-style" iterator category to a traversal - // tag. This is broken out into a separate metafunction to reduce - // the cost of instantiating iterator_category_to_traversal, below, - // for new-style types. - // - template - struct old_category_to_traversal - : mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , void - > - > - > - > - > - {}; - -} // namespace detail - -// -// Convert an iterator category into a traversal tag -// -template -struct iterator_category_to_traversal - : mpl::eval_if< // if already convertible to a traversal tag, we're done. - is_convertible - , mpl::identity - , boost::iterators::detail::old_category_to_traversal - > -{}; - -// Trait to get an iterator's traversal category -template -struct iterator_traversal - : iterator_category_to_traversal< - typename std::iterator_traits::iterator_category - > -{}; - -# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT -// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work -// out well. Instantiating the nested apply template also -// requires instantiating iterator_traits on the -// placeholder. Instead we just specialize it as a metafunction -// class. -template <> -struct iterator_traversal -{ - template - struct apply : iterator_traversal - {}; -}; -template <> -struct iterator_traversal - : iterator_traversal -{}; -# endif - -// -// Convert an iterator traversal to one of the traversal tags. -// -template -struct pure_traversal_tag - : mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , mpl::eval_if< - is_convertible - , mpl::identity - , void - > - > - > - > - > -{ -}; - -// -// Trait to retrieve one of the iterator traversal tags from the iterator category or traversal. -// -template -struct pure_iterator_traversal - : pure_traversal_tag::type> -{}; - -# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT -template <> -struct pure_iterator_traversal -{ - template - struct apply : pure_iterator_traversal - {}; -}; -template <> -struct pure_iterator_traversal - : pure_iterator_traversal -{}; -# endif - -} // namespace iterators - -using iterators::no_traversal_tag; -using iterators::incrementable_traversal_tag; -using iterators::single_pass_traversal_tag; -using iterators::forward_traversal_tag; -using iterators::bidirectional_traversal_tag; -using iterators::random_access_traversal_tag; -using iterators::iterator_category_to_traversal; -using iterators::iterator_traversal; - -// This import is needed for backward compatibility with Boost.Range: -// boost/range/detail/demote_iterator_traversal_tag.hpp -// It should be removed when that header is fixed. -namespace detail { -using iterators::pure_traversal_tag; -} // namespace detail - -} // namespace boost - -#include - -#endif // BOOST_ITERATOR_CATEGORIES_HPP diff --git a/external/include/boost_1_75/boost/iterator/iterator_facade.hpp b/external/include/boost_1_75/boost/iterator/iterator_facade.hpp deleted file mode 100644 index b43e618f0a..0000000000 --- a/external/include/boost_1_75/boost/iterator/iterator_facade.hpp +++ /dev/null @@ -1,981 +0,0 @@ -// (C) Copyright David Abrahams 2002. -// (C) Copyright Jeremy Siek 2002. -// (C) Copyright Thomas Witt 2002. -// 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) -#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP -#define BOOST_ITERATOR_FACADE_23022003THW_HPP - -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include // this goes last - -namespace boost { -namespace iterators { - - // This forward declaration is required for the friend declaration - // in iterator_core_access - template class iterator_facade; - - namespace detail - { - // A binary metafunction class that always returns bool. VC6 - // ICEs on mpl::always, probably because of the default - // parameters. - struct always_bool2 - { - template - struct apply - { - typedef bool type; - }; - }; - - // The type trait checks if the category or traversal is at least as advanced as the specified required traversal - template< typename CategoryOrTraversal, typename Required > - struct is_traversal_at_least : - public boost::is_convertible< typename iterator_category_to_traversal< CategoryOrTraversal >::type, Required > - {}; - - // - // enable if for use in operator implementation. - // - template < - class Facade1 - , class Facade2 - , class Return - > - struct enable_if_interoperable : - public boost::iterators::enable_if< - is_interoperable< Facade1, Facade2 > - , Return - > - {}; - - // - // enable if for use in implementation of operators specific for random access traversal. - // - template < - class Facade1 - , class Facade2 - , class Return - > - struct enable_if_interoperable_and_random_access_traversal : - public boost::iterators::enable_if< - mpl::and_< - is_interoperable< Facade1, Facade2 > - , is_traversal_at_least< typename iterator_category< Facade1 >::type, random_access_traversal_tag > - , is_traversal_at_least< typename iterator_category< Facade2 >::type, random_access_traversal_tag > - > - , Return - > - {}; - - // - // Generates associated types for an iterator_facade with the - // given parameters. - // - template < - class ValueParam - , class CategoryOrTraversal - , class Reference - , class Difference - > - struct iterator_facade_types - { - typedef typename facade_iterator_category< - CategoryOrTraversal, ValueParam, Reference - >::type iterator_category; - - typedef typename remove_const::type value_type; - - // Not the real associated pointer type - typedef typename mpl::eval_if< - boost::iterators::detail::iterator_writability_disabled - , add_pointer - , add_pointer - >::type pointer; - -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && (BOOST_WORKAROUND(_STLPORT_VERSION, BOOST_TESTED_AT(0x452)) \ - || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(310))) \ - || BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101)) \ - || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 310) - - // To interoperate with some broken library/compiler - // combinations, user-defined iterators must be derived from - // std::iterator. It is possible to implement a standard - // library for broken compilers without this limitation. -# define BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1 - - typedef - iterator - base; -# endif - }; - - // iterators whose dereference operators reference the same value - // for all iterators into the same sequence (like many input - // iterators) need help with their postfix ++: the referenced - // value must be read and stored away before the increment occurs - // so that *a++ yields the originally referenced element and not - // the next one. - template - class postfix_increment_proxy - { - typedef typename iterator_value::type value_type; - public: - explicit postfix_increment_proxy(Iterator const& x) - : stored_value(*x) - {} - - // Returning a mutable reference allows nonsense like - // (*r++).mutate(), but it imposes fewer assumptions about the - // behavior of the value_type. In particular, recall that - // (*r).mutate() is legal if operator* returns by value. - value_type& - operator*() const - { - return this->stored_value; - } - private: - mutable value_type stored_value; - }; - - // - // In general, we can't determine that such an iterator isn't - // writable -- we also need to store a copy of the old iterator so - // that it can be written into. - template - class writable_postfix_increment_proxy - { - typedef typename iterator_value::type value_type; - public: - explicit writable_postfix_increment_proxy(Iterator const& x) - : stored_value(*x) - , stored_iterator(x) - {} - - // Dereferencing must return a proxy so that both *r++ = o and - // value_type(*r++) can work. In this case, *r is the same as - // *r++, and the conversion operator below is used to ensure - // readability. - writable_postfix_increment_proxy const& - operator*() const - { - return *this; - } - - // Provides readability of *r++ - operator value_type&() const - { - return stored_value; - } - - // Provides writability of *r++ - template - T const& operator=(T const& x) const - { - *this->stored_iterator = x; - return x; - } - - // This overload just in case only non-const objects are writable - template - T& operator=(T& x) const - { - *this->stored_iterator = x; - return x; - } - - // Provides X(r++) - operator Iterator const&() const - { - return stored_iterator; - } - - private: - mutable value_type stored_value; - Iterator stored_iterator; - }; - -# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - template - struct is_non_proxy_reference_impl - { - static Reference r; - - template - static typename mpl::if_< - is_convertible< - R const volatile* - , Value const volatile* - > - , char[1] - , char[2] - >::type& helper(R const&); - - BOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1); - }; - - template - struct is_non_proxy_reference - : mpl::bool_< - is_non_proxy_reference_impl::value - > - {}; -# else - template - struct is_non_proxy_reference - : is_convertible< - typename remove_reference::type - const volatile* - , Value const volatile* - > - {}; -# endif - - // A metafunction to choose the result type of postfix ++ - // - // Because the C++98 input iterator requirements say that *r++ has - // type T (value_type), implementations of some standard - // algorithms like lexicographical_compare may use constructions - // like: - // - // *r++ < *s++ - // - // If *r++ returns a proxy (as required if r is writable but not - // multipass), this sort of expression will fail unless the proxy - // supports the operator<. Since there are any number of such - // operations, we're not going to try to support them. Therefore, - // even if r++ returns a proxy, *r++ will only return a proxy if - // *r also returns a proxy. - template - struct postfix_increment_result - : mpl::eval_if< - mpl::and_< - // A proxy is only needed for readable iterators - is_convertible< - Reference - // Use add_lvalue_reference to form `reference to Value` due to - // some (strict) C++03 compilers (e.g. `gcc -std=c++03`) reject - // 'reference-to-reference' in the template which described in CWG - // DR106. - // http://www.open-std.org/Jtc1/sc22/wg21/docs/cwg_defects.html#106 - , typename add_lvalue_reference::type - > - - // No multipass iterator can have values that disappear - // before positions can be re-visited - , mpl::not_< - is_convertible< - typename iterator_category_to_traversal::type - , forward_traversal_tag - > - > - > - , mpl::if_< - is_non_proxy_reference - , postfix_increment_proxy - , writable_postfix_increment_proxy - > - , mpl::identity - > - {}; - - // operator->() needs special support for input iterators to strictly meet the - // standard's requirements. If *i is not a reference type, we must still - // produce an lvalue to which a pointer can be formed. We do that by - // returning a proxy object containing an instance of the reference object. - template - struct operator_arrow_dispatch // proxy references - { - struct proxy - { - explicit proxy(Reference const & x) : m_ref(x) {} - Reference* operator->() { return boost::addressof(m_ref); } - // This function is needed for MWCW and BCC, which won't call - // operator-> again automatically per 13.3.1.2 para 8 - operator Reference*() { return boost::addressof(m_ref); } - Reference m_ref; - }; - typedef proxy result_type; - static result_type apply(Reference const & x) - { - return result_type(x); - } - }; - - template - struct operator_arrow_dispatch // "real" references - { - typedef Pointer result_type; - static result_type apply(T& x) - { - return boost::addressof(x); - } - }; - - // A proxy return type for operator[], needed to deal with - // iterators that may invalidate referents upon destruction. - // Consider the temporary iterator in *(a + n) - template - class operator_brackets_proxy - { - // Iterator is actually an iterator_facade, so we do not have to - // go through iterator_traits to access the traits. - typedef typename Iterator::reference reference; - typedef typename Iterator::value_type value_type; - - public: - operator_brackets_proxy(Iterator const& iter) - : m_iter(iter) - {} - - operator reference() const - { - return *m_iter; - } - - operator_brackets_proxy& operator=(value_type const& val) - { - *m_iter = val; - return *this; - } - - private: - Iterator m_iter; - }; - - // A metafunction that determines whether operator[] must return a - // proxy, or whether it can simply return a copy of the value_type. - template - struct use_operator_brackets_proxy - : mpl::not_< - mpl::and_< - // Really we want an is_copy_constructible trait here, - // but is_POD will have to suffice in the meantime. - boost::is_POD - , iterator_writability_disabled - > - > - {}; - - template - struct operator_brackets_result - { - typedef typename mpl::if_< - use_operator_brackets_proxy - , operator_brackets_proxy - , Value - >::type type; - }; - - template - operator_brackets_proxy make_operator_brackets_result(Iterator const& iter, mpl::true_) - { - return operator_brackets_proxy(iter); - } - - template - typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_) - { - return *iter; - } - - struct choose_difference_type - { - template - struct apply - : -# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP - iterator_difference -# else - mpl::eval_if< - is_convertible - , iterator_difference - , iterator_difference - > -# endif - {}; - - }; - - template < - class Derived - , class Value - , class CategoryOrTraversal - , class Reference - , class Difference - , bool IsBidirectionalTraversal - , bool IsRandomAccessTraversal - > - class iterator_facade_base; - - } // namespace detail - - - // Macros which describe the declarations of binary operators -# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY -# define BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, enabler) \ - template < \ - class Derived1, class V1, class TC1, class Reference1, class Difference1 \ - , class Derived2, class V2, class TC2, class Reference2, class Difference2 \ - > \ - prefix typename mpl::apply2::type \ - operator op( \ - iterator_facade const& lhs \ - , iterator_facade const& rhs) -# else -# define BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, enabler) \ - template < \ - class Derived1, class V1, class TC1, class Reference1, class Difference1 \ - , class Derived2, class V2, class TC2, class Reference2, class Difference2 \ - > \ - prefix typename enabler< \ - Derived1, Derived2 \ - , typename mpl::apply2::type \ - >::type \ - operator op( \ - iterator_facade const& lhs \ - , iterator_facade const& rhs) -# endif - -# define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type) \ - BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, boost::iterators::detail::enable_if_interoperable) - -# define BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(prefix, op, result_type) \ - BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, boost::iterators::detail::enable_if_interoperable_and_random_access_traversal) - -# define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args) \ - template \ - prefix typename boost::iterators::enable_if< \ - boost::iterators::detail::is_traversal_at_least< TC, boost::iterators::random_access_traversal_tag >, \ - Derived \ - >::type operator+ args - - // - // Helper class for granting access to the iterator core interface. - // - // The simple core interface is used by iterator_facade. The core - // interface of a user/library defined iterator type should not be made public - // so that it does not clutter the public interface. Instead iterator_core_access - // should be made friend so that iterator_facade can access the core - // interface through iterator_core_access. - // - class iterator_core_access - { -# if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) - // Tasteless as this may seem, making all members public allows member templates - // to work in the absence of member template friends. - public: -# else - - template friend class iterator_facade; - template - friend class detail::iterator_facade_base; - -# define BOOST_ITERATOR_FACADE_RELATION(op) \ - BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, boost::iterators::detail::always_bool2); - - BOOST_ITERATOR_FACADE_RELATION(==) - BOOST_ITERATOR_FACADE_RELATION(!=) - -# undef BOOST_ITERATOR_FACADE_RELATION - -# define BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(op) \ - BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(friend,op, boost::iterators::detail::always_bool2); - - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<) - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>) - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<=) - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>=) - -# undef BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION - - BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD( - friend, -, boost::iterators::detail::choose_difference_type) - ; - - BOOST_ITERATOR_FACADE_PLUS_HEAD( - friend inline - , (iterator_facade const& - , typename Derived::difference_type) - ) - ; - - BOOST_ITERATOR_FACADE_PLUS_HEAD( - friend inline - , (typename Derived::difference_type - , iterator_facade const&) - ) - ; - -# endif - - template - static typename Facade::reference dereference(Facade const& f) - { - return f.dereference(); - } - - template - static void increment(Facade& f) - { - f.increment(); - } - - template - static void decrement(Facade& f) - { - f.decrement(); - } - - template - static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_) - { - return f1.equal(f2); - } - - template - static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_) - { - return f2.equal(f1); - } - - template - static void advance(Facade& f, typename Facade::difference_type n) - { - f.advance(n); - } - - template - static typename Facade1::difference_type distance_from( - Facade1 const& f1, Facade2 const& f2, mpl::true_) - { - return -f1.distance_to(f2); - } - - template - static typename Facade2::difference_type distance_from( - Facade1 const& f1, Facade2 const& f2, mpl::false_) - { - return f2.distance_to(f1); - } - - // - // Curiously Recurring Template interface. - // - template - static I& derived(iterator_facade& facade) - { - return *static_cast(&facade); - } - - template - static I const& derived(iterator_facade const& facade) - { - return *static_cast(&facade); - } - - // objects of this class are useless - BOOST_DELETED_FUNCTION(iterator_core_access()) - }; - - namespace detail { - - // Implementation for forward traversal iterators - template < - class Derived - , class Value - , class CategoryOrTraversal - , class Reference - , class Difference - > - class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false > -# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE - : public boost::iterators::detail::iterator_facade_types< - Value, CategoryOrTraversal, Reference, Difference - >::base -# undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE -# endif - { - private: - typedef boost::iterators::detail::iterator_facade_types< - Value, CategoryOrTraversal, Reference, Difference - > associated_types; - - typedef boost::iterators::detail::operator_arrow_dispatch< - Reference - , typename associated_types::pointer - > operator_arrow_dispatch_; - - public: - typedef typename associated_types::value_type value_type; - typedef Reference reference; - typedef Difference difference_type; - - typedef typename operator_arrow_dispatch_::result_type pointer; - - typedef typename associated_types::iterator_category iterator_category; - - public: - reference operator*() const - { - return iterator_core_access::dereference(this->derived()); - } - - pointer operator->() const - { - return operator_arrow_dispatch_::apply(*this->derived()); - } - - Derived& operator++() - { - iterator_core_access::increment(this->derived()); - return this->derived(); - } - - protected: - // - // Curiously Recurring Template interface. - // - Derived& derived() - { - return *static_cast(this); - } - - Derived const& derived() const - { - return *static_cast(this); - } - }; - - // Implementation for bidirectional traversal iterators - template < - class Derived - , class Value - , class CategoryOrTraversal - , class Reference - , class Difference - > - class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > : - public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false > - { - public: - Derived& operator--() - { - iterator_core_access::decrement(this->derived()); - return this->derived(); - } - - Derived operator--(int) - { - Derived tmp(this->derived()); - --*this; - return tmp; - } - }; - - // Implementation for random access traversal iterators - template < - class Derived - , class Value - , class CategoryOrTraversal - , class Reference - , class Difference - > - class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, true > : - public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > - { - private: - typedef iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > base_type; - - public: - typedef typename base_type::reference reference; - typedef typename base_type::difference_type difference_type; - - public: - typename boost::iterators::detail::operator_brackets_result::type - operator[](difference_type n) const - { - typedef boost::iterators::detail::use_operator_brackets_proxy use_proxy; - - return boost::iterators::detail::make_operator_brackets_result( - this->derived() + n - , use_proxy() - ); - } - - Derived& operator+=(difference_type n) - { - iterator_core_access::advance(this->derived(), n); - return this->derived(); - } - - Derived& operator-=(difference_type n) - { - iterator_core_access::advance(this->derived(), -n); - return this->derived(); - } - - Derived operator-(difference_type x) const - { - Derived result(this->derived()); - return result -= x; - } - }; - - } // namespace detail - - // - // iterator_facade - use as a public base class for defining new - // standard-conforming iterators. - // - template < - class Derived // The derived iterator type being constructed - , class Value - , class CategoryOrTraversal - , class Reference = Value& - , class Difference = std::ptrdiff_t - > - class iterator_facade : - public detail::iterator_facade_base< - Derived, - Value, - CategoryOrTraversal, - Reference, - Difference, - detail::is_traversal_at_least< CategoryOrTraversal, bidirectional_traversal_tag >::value, - detail::is_traversal_at_least< CategoryOrTraversal, random_access_traversal_tag >::value - > - { - protected: - // For use by derived classes - typedef iterator_facade iterator_facade_; - }; - - template - inline typename boost::iterators::detail::postfix_increment_result::type - operator++( - iterator_facade& i - , int - ) - { - typename boost::iterators::detail::postfix_increment_result::type - tmp(*static_cast(&i)); - - ++i; - - return tmp; - } - - - // - // Comparison operator implementation. The library supplied operators - // enables the user to provide fully interoperable constant/mutable - // iterator types. I.e. the library provides all operators - // for all mutable/constant iterator combinations. - // - // Note though that this kind of interoperability for constant/mutable - // iterators is not required by the standard for container iterators. - // All the standard asks for is a conversion mutable -> constant. - // Most standard library implementations nowadays provide fully interoperable - // iterator implementations, but there are still heavily used implementations - // that do not provide them. (Actually it's even worse, they do not provide - // them for only a few iterators.) - // - // ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should - // enable the user to turn off mixed type operators - // - // The library takes care to provide only the right operator overloads. - // I.e. - // - // bool operator==(Iterator, Iterator); - // bool operator==(ConstIterator, Iterator); - // bool operator==(Iterator, ConstIterator); - // bool operator==(ConstIterator, ConstIterator); - // - // ... - // - // In order to do so it uses c++ idioms that are not yet widely supported - // by current compiler releases. The library is designed to degrade gracefully - // in the face of compiler deficiencies. In general compiler - // deficiencies result in less strict error checking and more obscure - // error messages, functionality is not affected. - // - // For full operation compiler support for "Substitution Failure Is Not An Error" - // (aka. enable_if) and boost::is_convertible is required. - // - // The following problems occur if support is lacking. - // - // Pseudo code - // - // --------------- - // AdaptorA a1; - // AdaptorA a2; - // - // // This will result in a no such overload error in full operation - // // If enable_if or is_convertible is not supported - // // The instantiation will fail with an error hopefully indicating that - // // there is no operator== for Iterator1, Iterator2 - // // The same will happen if no enable_if is used to remove - // // false overloads from the templated conversion constructor - // // of AdaptorA. - // - // a1 == a2; - // ---------------- - // - // AdaptorA a; - // AdaptorB b; - // - // // This will result in a no such overload error in full operation - // // If enable_if is not supported the static assert used - // // in the operator implementation will fail. - // // This will accidently work if is_convertible is not supported. - // - // a == b; - // ---------------- - // - -# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP -# define BOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_() -# else -# define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible() -# endif - -# define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \ - BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type) \ - { \ - /* For those compilers that do not support enable_if */ \ - BOOST_STATIC_ASSERT(( \ - is_interoperable< Derived1, Derived2 >::value \ - )); \ - return_prefix iterator_core_access::base_op( \ - *static_cast(&lhs) \ - , *static_cast(&rhs) \ - , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1) \ - ); \ - } - -# define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \ - BOOST_ITERATOR_FACADE_INTEROP( \ - op \ - , boost::iterators::detail::always_bool2 \ - , return_prefix \ - , base_op \ - ) - - BOOST_ITERATOR_FACADE_RELATION(==, return, equal) - BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal) - -# undef BOOST_ITERATOR_FACADE_RELATION - - -# define BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(op, result_type, return_prefix, base_op) \ - BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(inline, op, result_type) \ - { \ - /* For those compilers that do not support enable_if */ \ - BOOST_STATIC_ASSERT(( \ - is_interoperable< Derived1, Derived2 >::value && \ - boost::iterators::detail::is_traversal_at_least< typename iterator_category< Derived1 >::type, random_access_traversal_tag >::value && \ - boost::iterators::detail::is_traversal_at_least< typename iterator_category< Derived2 >::type, random_access_traversal_tag >::value \ - )); \ - return_prefix iterator_core_access::base_op( \ - *static_cast(&lhs) \ - , *static_cast(&rhs) \ - , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1) \ - ); \ - } - -# define BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(op, return_prefix, base_op) \ - BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS( \ - op \ - , boost::iterators::detail::always_bool2 \ - , return_prefix \ - , base_op \ - ) - - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<, return 0 >, distance_from) - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>, return 0 <, distance_from) - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<=, return 0 >=, distance_from) - BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>=, return 0 <=, distance_from) - -# undef BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION - - // operator- requires an additional part in the static assertion - BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS( - - - , boost::iterators::detail::choose_difference_type - , return - , distance_from - ) - -# undef BOOST_ITERATOR_FACADE_INTEROP -# undef BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS - -# define BOOST_ITERATOR_FACADE_PLUS(args) \ - BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args) \ - { \ - Derived tmp(static_cast(i)); \ - return tmp += n; \ - } - - BOOST_ITERATOR_FACADE_PLUS(( - iterator_facade const& i - , typename Derived::difference_type n - )) - - BOOST_ITERATOR_FACADE_PLUS(( - typename Derived::difference_type n - , iterator_facade const& i - )) - -# undef BOOST_ITERATOR_FACADE_PLUS -# undef BOOST_ITERATOR_FACADE_PLUS_HEAD - -# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD -# undef BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD -# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL - -} // namespace iterators - -using iterators::iterator_core_access; -using iterators::iterator_facade; - -} // namespace boost - -#include - -#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP diff --git a/external/include/boost_1_75/boost/iterator/iterator_traits.hpp b/external/include/boost_1_75/boost/iterator/iterator_traits.hpp deleted file mode 100644 index 6582a68f50..0000000000 --- a/external/include/boost_1_75/boost/iterator/iterator_traits.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright David Abrahams 2003. -// 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) -#ifndef ITERATOR_TRAITS_DWA200347_HPP -# define ITERATOR_TRAITS_DWA200347_HPP - -# include - -#include - -namespace boost { -namespace iterators { - -// Macro for supporting old compilers, no longer needed but kept -// for backwards compatibility (it was documented). -#define BOOST_ITERATOR_CATEGORY iterator_category - - -template -struct iterator_value -{ - typedef typename std::iterator_traits::value_type type; -}; - -template -struct iterator_reference -{ - typedef typename std::iterator_traits::reference type; -}; - - -template -struct iterator_pointer -{ - typedef typename std::iterator_traits::pointer type; -}; - -template -struct iterator_difference -{ - typedef typename std::iterator_traits::difference_type type; -}; - -template -struct iterator_category -{ - typedef typename std::iterator_traits::iterator_category type; -}; - -} // namespace iterators - -using iterators::iterator_value; -using iterators::iterator_reference; -using iterators::iterator_pointer; -using iterators::iterator_difference; -using iterators::iterator_category; - -} // namespace boost - -#endif // ITERATOR_TRAITS_DWA200347_HPP diff --git a/external/include/boost_1_75/boost/limits.hpp b/external/include/boost_1_75/boost/limits.hpp deleted file mode 100644 index 47d8155611..0000000000 --- a/external/include/boost_1_75/boost/limits.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// (C) Copyright John maddock 1999. -// (C) David Abrahams 2002. 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) -// -// use this header as a workaround for missing - -// See http://www.boost.org/libs/compatibility/index.html for documentation. - -#ifndef BOOST_LIMITS -#define BOOST_LIMITS - -#include - -#ifdef BOOST_NO_LIMITS -# error "There is no std::numeric_limits suppport available." -#else -# include -#endif - -#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ - || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) -// Add missing specializations for numeric_limits: -#ifdef BOOST_HAS_MS_INT64 -# define BOOST_LLT __int64 -# define BOOST_ULLT unsigned __int64 -#else -# define BOOST_LLT ::boost::long_long_type -# define BOOST_ULLT ::boost::ulong_long_type -#endif - -#include // for CHAR_BIT - -namespace std -{ - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } -#elif defined(LLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } -#elif defined(LONGLONG_MAX) - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } -#else - static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } - static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = true); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_LLT epsilon() throw() { return 0; }; - static BOOST_LLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_LLT infinity() throw() { return 0; }; - static BOOST_LLT quiet_NaN() throw() { return 0; }; - static BOOST_LLT signaling_NaN() throw() { return 0; }; - static BOOST_LLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = true); - BOOST_STATIC_CONSTANT(bool, is_modulo = true); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; - - template<> - class numeric_limits - { - public: - - BOOST_STATIC_CONSTANT(bool, is_specialized = true); -#ifdef BOOST_HAS_MS_INT64 - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } -#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } -#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } -#else - static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } - static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } -#endif - BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); - BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); - BOOST_STATIC_CONSTANT(bool, is_signed = false); - BOOST_STATIC_CONSTANT(bool, is_integer = true); - BOOST_STATIC_CONSTANT(bool, is_exact = true); - BOOST_STATIC_CONSTANT(int, radix = 2); - static BOOST_ULLT epsilon() throw() { return 0; }; - static BOOST_ULLT round_error() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(int, min_exponent = 0); - BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); - BOOST_STATIC_CONSTANT(int, max_exponent = 0); - BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); - - BOOST_STATIC_CONSTANT(bool, has_infinity = false); - BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); - BOOST_STATIC_CONSTANT(bool, has_denorm = false); - BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); - static BOOST_ULLT infinity() throw() { return 0; }; - static BOOST_ULLT quiet_NaN() throw() { return 0; }; - static BOOST_ULLT signaling_NaN() throw() { return 0; }; - static BOOST_ULLT denorm_min() throw() { return 0; }; - - BOOST_STATIC_CONSTANT(bool, is_iec559 = false); - BOOST_STATIC_CONSTANT(bool, is_bounded = true); - BOOST_STATIC_CONSTANT(bool, is_modulo = true); - - BOOST_STATIC_CONSTANT(bool, traps = false); - BOOST_STATIC_CONSTANT(bool, tinyness_before = false); - BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - - }; -} -#endif - -#endif - diff --git a/external/include/boost_1_75/boost/mem_fn.hpp b/external/include/boost_1_75/boost/mem_fn.hpp deleted file mode 100644 index 3bcd2c548b..0000000000 --- a/external/include/boost_1_75/boost/mem_fn.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef BOOST_MEM_FN_HPP_INCLUDED -#define BOOST_MEM_FN_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// mem_fn.hpp - a generalization of std::mem_fun[_ref] -// -// Copyright (c) 2009 Peter Dimov -// -// 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 -// -// See http://www.boost.org/libs/bind/mem_fn.html for documentation. -// - -#include - -#endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/move/core.hpp b/external/include/boost_1_75/boost/move/core.hpp deleted file mode 100644 index b34740dcf8..0000000000 --- a/external/include/boost_1_75/boost/move/core.hpp +++ /dev/null @@ -1,494 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2012-2012. -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file -//! This header implements macros to define movable classes and -//! move-aware functions - -#ifndef BOOST_MOVE_CORE_HPP -#define BOOST_MOVE_CORE_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -#include -#include - -// @cond - -//boost_move_no_copy_constructor_or_assign typedef -//used to detect noncopyable types for other Boost libraries. -#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \ - private:\ - TYPE(TYPE &);\ - TYPE& operator=(TYPE &);\ - public:\ - typedef int boost_move_no_copy_constructor_or_assign; \ - private:\ - // -#else - #define BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE) \ - public:\ - TYPE(TYPE const &) = delete;\ - TYPE& operator=(TYPE const &) = delete;\ - public:\ - typedef int boost_move_no_copy_constructor_or_assign; \ - private:\ - // -#endif //BOOST_NO_CXX11_DELETED_FUNCTIONS - -// @endcond - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #include - - #define BOOST_MOVE_TO_RV_CAST(RV_TYPE, ARG) reinterpret_cast(ARG) - - //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers - #if defined(BOOST_GCC) && (BOOST_GCC >= 40400) && (BOOST_GCC < 40500) - #define BOOST_RV_ATTRIBUTE_MAY_ALIAS BOOST_MAY_ALIAS - #else - #define BOOST_RV_ATTRIBUTE_MAY_ALIAS - #endif - - namespace boost { - - ////////////////////////////////////////////////////////////////////////////// - // - // struct rv - // - ////////////////////////////////////////////////////////////////////////////// - template - class BOOST_RV_ATTRIBUTE_MAY_ALIAS rv - : public ::boost::move_detail::if_c - < ::boost::move_detail::is_class::value - , T - , ::boost::move_detail::nat - >::type - { - rv(); - ~rv() throw(); - rv(rv const&); - void operator=(rv const&); - }; - - - ////////////////////////////////////////////////////////////////////////////// - // - // is_rv - // - ////////////////////////////////////////////////////////////////////////////// - - namespace move_detail { - - template - struct is_rv - //Derive from integral constant because some Boost code assummes it has - //a "type" internal typedef - : integral_constant::value > - {}; - - template - struct is_not_rv - { - static const bool value = !is_rv::value; - }; - - } //namespace move_detail { - - ////////////////////////////////////////////////////////////////////////////// - // - // has_move_emulation_enabled - // - ////////////////////////////////////////////////////////////////////////////// - template - struct has_move_emulation_enabled - : ::boost::move_detail::has_move_emulation_enabled_impl - {}; - - template - struct has_move_emulation_disabled - { - static const bool value = !::boost::move_detail::has_move_emulation_enabled_impl::value; - }; - - } //namespace boost { - - #define BOOST_RV_REF(TYPE)\ - ::boost::rv< TYPE >& \ - // - - #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - ::boost::rv< TYPE >& \ - // - - #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - ::boost::rv< TYPE >& \ - // - - #define BOOST_RV_REF_BEG\ - ::boost::rv< \ - // - - #define BOOST_RV_REF_END\ - >& \ - // - - #define BOOST_RV_REF_BEG_IF_CXX11 \ - \ - // - - #define BOOST_RV_REF_END_IF_CXX11 \ - \ - // - - #define BOOST_FWD_REF(TYPE)\ - const TYPE & \ - // - - #define BOOST_COPY_ASSIGN_REF(TYPE)\ - const ::boost::rv< TYPE >& \ - // - - #define BOOST_COPY_ASSIGN_REF_BEG \ - const ::boost::rv< \ - // - - #define BOOST_COPY_ASSIGN_REF_END \ - >& \ - // - - #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - const ::boost::rv< TYPE >& \ - // - - #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - const ::boost::rv< TYPE >& \ - // - - #define BOOST_CATCH_CONST_RLVALUE(TYPE)\ - const ::boost::rv< TYPE >& \ - // - - namespace boost { - namespace move_detail { - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < ::boost::move_detail::is_lvalue_reference::value || - !::boost::has_move_emulation_enabled::value - , T&>::type - move_return(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_lvalue_reference::value && - ::boost::has_move_emulation_enabled::value - , ::boost::rv&>::type - move_return(T& x) BOOST_NOEXCEPT - { - return *BOOST_MOVE_TO_RV_CAST(::boost::rv*, ::boost::move_detail::addressof(x)); - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_lvalue_reference::value && - ::boost::has_move_emulation_enabled::value - , ::boost::rv&>::type - move_return(::boost::rv& x) BOOST_NOEXCEPT - { - return x; - } - - } //namespace move_detail { - } //namespace boost { - - #define BOOST_MOVE_RET(RET_TYPE, REF)\ - boost::move_detail::move_return< RET_TYPE >(REF) - // - - #define BOOST_MOVE_BASE(BASE_TYPE, ARG) \ - ::boost::move((BASE_TYPE&)(ARG)) - // - - ////////////////////////////////////////////////////////////////////////////// - // - // BOOST_MOVABLE_BUT_NOT_COPYABLE - // - ////////////////////////////////////////////////////////////////////////////// - #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\ - BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\ - public:\ - BOOST_MOVE_FORCEINLINE operator ::boost::rv&() \ - { return *BOOST_MOVE_TO_RV_CAST(::boost::rv*, this); }\ - BOOST_MOVE_FORCEINLINE operator const ::boost::rv&() const \ - { return *BOOST_MOVE_TO_RV_CAST(const ::boost::rv*, this); }\ - private:\ - // - - ////////////////////////////////////////////////////////////////////////////// - // - // BOOST_COPYABLE_AND_MOVABLE - // - ////////////////////////////////////////////////////////////////////////////// - - #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\ - public:\ - BOOST_MOVE_FORCEINLINE TYPE& operator=(TYPE &t)\ - { this->operator=(const_cast(t)); return *this;}\ - public:\ - BOOST_MOVE_FORCEINLINE operator ::boost::rv&() \ - { return *BOOST_MOVE_TO_RV_CAST(::boost::rv*, this); }\ - BOOST_MOVE_FORCEINLINE operator const ::boost::rv&() const \ - { return *BOOST_MOVE_TO_RV_CAST(const ::boost::rv*, this); }\ - private:\ - // - - #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\ - public:\ - BOOST_MOVE_FORCEINLINE operator ::boost::rv&() \ - { return *BOOST_MOVE_TO_RV_CAST(::boost::rv*, this); }\ - BOOST_MOVE_FORCEINLINE operator const ::boost::rv&() const \ - { return *BOOST_MOVE_TO_RV_CAST(const ::boost::rv*, this); }\ - private:\ - // - - namespace boost{ - namespace move_detail{ - - template< class T> - struct forward_type - { typedef const T &type; }; - - template< class T> - struct forward_type< boost::rv > - { typedef T type; }; - - }} - -#else //BOOST_NO_CXX11_RVALUE_REFERENCES - - //! This macro marks a type as movable but not copyable, disabling copy construction - //! and assignment. The user will need to write a move constructor/assignment as explained - //! in the documentation to fully write a movable but not copyable class. - #define BOOST_MOVABLE_BUT_NOT_COPYABLE(TYPE)\ - BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN(TYPE)\ - public:\ - typedef int boost_move_emulation_t;\ - private:\ - // - - //! This macro marks a type as copyable and movable. - //! The user will need to write a move constructor/assignment and a copy assignment - //! as explained in the documentation to fully write a copyable and movable class. - #define BOOST_COPYABLE_AND_MOVABLE(TYPE)\ - // - - #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - #define BOOST_COPYABLE_AND_MOVABLE_ALT(TYPE)\ - // - #endif //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - namespace boost { - - //!This trait yields to a compile-time true boolean if T was marked as - //!BOOST_MOVABLE_BUT_NOT_COPYABLE or BOOST_COPYABLE_AND_MOVABLE and - //!rvalue references are not available on the platform. False otherwise. - template - struct has_move_emulation_enabled - { - static const bool value = false; - }; - - template - struct has_move_emulation_disabled - { - static const bool value = true; - }; - - } //namespace boost{ - - //!This macro is used to achieve portable syntax in move - //!constructors and assignments for classes marked as - //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE - #define BOOST_RV_REF(TYPE)\ - TYPE && \ - // - - //!This macro is used to achieve portable syntax in move - //!constructors and assignments for template classes marked as - //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE. - //!As macros have problems with comma-separated template arguments, - //!the template argument must be preceded with BOOST_RV_REF_BEG - //!and ended with BOOST_RV_REF_END - #define BOOST_RV_REF_BEG\ - \ - // - - //!This macro is used to achieve portable syntax in move - //!constructors and assignments for template classes marked as - //!BOOST_COPYABLE_AND_MOVABLE or BOOST_MOVABLE_BUT_NOT_COPYABLE. - //!As macros have problems with comma-separated template arguments, - //!the template argument must be preceded with BOOST_RV_REF_BEG - //!and ended with BOOST_RV_REF_END - #define BOOST_RV_REF_END\ - && \ - // - - //!This macro expands to BOOST_RV_REF_BEG if BOOST_NO_CXX11_RVALUE_REFERENCES - //!is not defined, empty otherwise - #define BOOST_RV_REF_BEG_IF_CXX11 \ - BOOST_RV_REF_BEG \ - // - - //!This macro expands to BOOST_RV_REF_END if BOOST_NO_CXX11_RVALUE_REFERENCES - //!is not defined, empty otherwise - #define BOOST_RV_REF_END_IF_CXX11 \ - BOOST_RV_REF_END \ - // - - //!This macro is used to achieve portable syntax in copy - //!assignment for classes marked as BOOST_COPYABLE_AND_MOVABLE. - #define BOOST_COPY_ASSIGN_REF(TYPE)\ - const TYPE & \ - // - - //! This macro is used to implement portable perfect forwarding - //! as explained in the documentation. - #define BOOST_FWD_REF(TYPE)\ - TYPE && \ - // - - #if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #define BOOST_RV_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - TYPE && \ - // - - #define BOOST_RV_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - TYPE && \ - // - - #define BOOST_COPY_ASSIGN_REF_BEG \ - const \ - // - - #define BOOST_COPY_ASSIGN_REF_END \ - & \ - // - - #define BOOST_COPY_ASSIGN_REF_2_TEMPL_ARGS(TYPE, ARG1, ARG2)\ - const TYPE & \ - // - - #define BOOST_COPY_ASSIGN_REF_3_TEMPL_ARGS(TYPE, ARG1, ARG2, ARG3)\ - const TYPE& \ - // - - #define BOOST_CATCH_CONST_RLVALUE(TYPE)\ - const TYPE & \ - // - - #endif //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #if !defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - - //!This macro is used to achieve portable move return semantics. - //!The C++11 Standard allows implicit move returns when the object to be returned - //!is designated by a lvalue and: - //! - The criteria for elision of a copy operation are met OR - //! - The criteria would be met save for the fact that the source object is a function parameter - //! - //!For C++11 conforming compilers this macros only yields to REF: - //! return BOOST_MOVE_RET(RET_TYPE, REF); -> return REF; - //! - //!For compilers without rvalue references - //!this macro does an explicit move if the move emulation is activated - //!and the return type (RET_TYPE) is not a reference. - //! - //!For non-conforming compilers with rvalue references like Visual 2010 & 2012, - //!an explicit move is performed if RET_TYPE is not a reference. - //! - //! Caution: When using this macro in non-conforming or C++03 - //!compilers, a move will be performed even if the C++11 standard does not allow it - //!(e.g. returning a static variable). The user is responsible for using this macro - //!only to return local objects that met C++11 criteria. - #define BOOST_MOVE_RET(RET_TYPE, REF)\ - REF - // - - #else //!defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #include - - namespace boost { - namespace move_detail { - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < ::boost::move_detail::is_lvalue_reference::value - , T&>::type - move_return(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_lvalue_reference::value - , Ret && >::type - move_return(T&& t) BOOST_NOEXCEPT - { - return static_cast< Ret&& >(t); - } - - } //namespace move_detail { - } //namespace boost { - - #define BOOST_MOVE_RET(RET_TYPE, REF)\ - boost::move_detail::move_return< RET_TYPE >(REF) - // - - #endif //!defined(BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG) || defined(BOOST_MOVE_DOXYGEN_INVOKED) - - //!This macro is used to achieve portable optimal move constructors. - //! - //!When implementing the move constructor, in C++03 compilers the moved-from argument must be - //!cast to the base type before calling `::boost::move()` due to rvalue reference limitations. - //! - //!In C++11 compilers the cast from a rvalue reference of a derived type to a rvalue reference of - //!a base type is implicit. - #define BOOST_MOVE_BASE(BASE_TYPE, ARG) \ - ::boost::move((BASE_TYPE&)(ARG)) - // - - namespace boost { - namespace move_detail { - - template< class T> struct forward_type { typedef T type; }; - - }} - -#endif //BOOST_NO_CXX11_RVALUE_REFERENCES - -#include - -#endif //#ifndef BOOST_MOVE_CORE_HPP diff --git a/external/include/boost_1_75/boost/move/detail/config_begin.hpp b/external/include/boost_1_75/boost/move/detail/config_begin.hpp deleted file mode 100644 index 637eb158bd..0000000000 --- a/external/include/boost_1_75/boost/move/detail/config_begin.hpp +++ /dev/null @@ -1,21 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2012-2012. 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_CONFIG_HPP -#include -#endif - -#ifdef BOOST_MSVC -# pragma warning (push) -# pragma warning (disable : 4324) // structure was padded due to __declspec(align()) -# pragma warning (disable : 4675) // "function": resolved overload was found by argument-dependent lookup -# pragma warning (disable : 4996) // "function": was declared deprecated (_CRT_SECURE_NO_DEPRECATE/_SCL_SECURE_NO_WARNINGS) -# pragma warning (disable : 4714) // "function": marked as __forceinline not inlined -# pragma warning (disable : 4127) // conditional expression is constant -#endif diff --git a/external/include/boost_1_75/boost/move/detail/config_end.hpp b/external/include/boost_1_75/boost/move/detail/config_end.hpp deleted file mode 100644 index 71a99e93c9..0000000000 --- a/external/include/boost_1_75/boost/move/detail/config_end.hpp +++ /dev/null @@ -1,12 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2012-2012. 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// -#if defined BOOST_MSVC -# pragma warning (pop) -#endif diff --git a/external/include/boost_1_75/boost/move/detail/meta_utils.hpp b/external/include/boost_1_75/boost/move/detail/meta_utils.hpp deleted file mode 100644 index f16e185d6d..0000000000 --- a/external/include/boost_1_75/boost/move/detail/meta_utils.hpp +++ /dev/null @@ -1,587 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2012-2015. -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP -#define BOOST_MOVE_DETAIL_META_UTILS_HPP - -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif -#include -#include //forceinline -#include -#include //for std::size_t - -//Small meta-typetraits to support move - -namespace boost { - -//Forward declare boost::rv -template class rv; - -namespace move_detail { - -////////////////////////////////////// -// is_different -////////////////////////////////////// -template -struct is_different -{ - static const bool value = !is_same::value; -}; - -////////////////////////////////////// -// apply -////////////////////////////////////// -template -struct apply -{ - typedef typename F::template apply::type type; -}; - -////////////////////////////////////// -// bool_ -////////////////////////////////////// - -template< bool C_ > -struct bool_ : integral_constant -{ - operator bool() const { return C_; } - bool operator()() const { return C_; } -}; - -typedef bool_ true_; -typedef bool_ false_; - -////////////////////////////////////// -// nat -////////////////////////////////////// -struct nat{}; -struct nat2{}; -struct nat3{}; - -////////////////////////////////////// -// yes_type/no_type -////////////////////////////////////// -typedef char yes_type; - -struct no_type -{ - char _[2]; -}; - -////////////////////////////////////// -// natify -////////////////////////////////////// -template struct natify{}; - -////////////////////////////////////// -// remove_reference -////////////////////////////////////// -template -struct remove_reference -{ - typedef T type; -}; - -template -struct remove_reference -{ - typedef T type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template -struct remove_reference -{ - typedef T type; -}; - -#else - -template -struct remove_reference< rv > -{ - typedef T type; -}; - -template -struct remove_reference< rv &> -{ - typedef T type; -}; - -template -struct remove_reference< const rv &> -{ - typedef T type; -}; - -#endif - -////////////////////////////////////// -// remove_pointer -////////////////////////////////////// - -template< class T > struct remove_pointer { typedef T type; }; -template< class T > struct remove_pointer { typedef T type; }; -template< class T > struct remove_pointer { typedef T type; }; -template< class T > struct remove_pointer { typedef T type; }; -template< class T > struct remove_pointer { typedef T type; }; - -////////////////////////////////////// -// add_pointer -////////////////////////////////////// -template< class T > -struct add_pointer -{ - typedef typename remove_reference::type* type; -}; - -////////////////////////////////////// -// add_const -////////////////////////////////////// -template -struct add_const -{ - typedef const T type; -}; - -template -struct add_const -{ - typedef const T& type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template -struct add_const -{ - typedef T&& type; -}; - -#endif - -////////////////////////////////////// -// add_lvalue_reference -////////////////////////////////////// -template -struct add_lvalue_reference -{ typedef T& type; }; - -template struct add_lvalue_reference { typedef T& type; }; -template<> struct add_lvalue_reference { typedef void type; }; -template<> struct add_lvalue_reference { typedef const void type; }; -template<> struct add_lvalue_reference { typedef volatile void type; }; -template<> struct add_lvalue_reference{ typedef const volatile void type; }; - -template -struct add_const_lvalue_reference -{ - typedef typename remove_reference::type t_unreferenced; - typedef typename add_const::type t_unreferenced_const; - typedef typename add_lvalue_reference - ::type type; -}; - -////////////////////////////////////// -// is_lvalue_reference -////////////////////////////////////// -template -struct is_lvalue_reference -{ - static const bool value = false; -}; - -template -struct is_lvalue_reference -{ - static const bool value = true; -}; - - -////////////////////////////////////// -// identity -////////////////////////////////////// -template -struct identity -{ - typedef T type; - typedef typename add_const_lvalue_reference::type reference; - reference operator()(reference t) - { return t; } -}; - -////////////////////////////////////// -// is_class_or_union -////////////////////////////////////// -template -struct is_class_or_union -{ - struct twochar { char dummy[2]; }; - template - static char is_class_or_union_tester(void(U::*)(void)); - template - static twochar is_class_or_union_tester(...); - static const bool value = sizeof(is_class_or_union_tester(0)) == sizeof(char); -}; - -////////////////////////////////////// -// addressof -////////////////////////////////////// -template -struct addr_impl_ref -{ - T & v_; - BOOST_MOVE_FORCEINLINE addr_impl_ref( T & v ): v_( v ) {} - BOOST_MOVE_FORCEINLINE operator T& () const { return v_; } - - private: - addr_impl_ref & operator=(const addr_impl_ref &); -}; - -template -struct addressof_impl -{ - BOOST_MOVE_FORCEINLINE static T * f( T & v, long ) - { - return reinterpret_cast( - &const_cast(reinterpret_cast(v))); - } - - BOOST_MOVE_FORCEINLINE static T * f( T * v, int ) - { return v; } -}; - -template -BOOST_MOVE_FORCEINLINE T * addressof( T & v ) -{ - return ::boost::move_detail::addressof_impl::f - ( ::boost::move_detail::addr_impl_ref( v ), 0 ); -} - -////////////////////////////////////// -// has_pointer_type -////////////////////////////////////// -template -struct has_pointer_type -{ - struct two { char c[2]; }; - template static two test(...); - template static char test(typename U::pointer* = 0); - static const bool value = sizeof(test(0)) == 1; -}; - -////////////////////////////////////// -// is_convertible -////////////////////////////////////// -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - -//use intrinsic since in MSVC -//overaligned types can't go through ellipsis -template -struct is_convertible -{ - static const bool value = __is_convertible_to(T, U); -}; - -#else - -template -class is_convertible -{ - typedef typename add_lvalue_reference::type t_reference; - typedef char true_t; - class false_t { char dummy[2]; }; - static false_t dispatch(...); - static true_t dispatch(U); - static t_reference trigger(); - public: - static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); -}; - -#endif - -template ::value> -struct is_same_or_convertible - : is_convertible -{}; - -template -struct is_same_or_convertible -{ - static const bool value = true; -}; - -template< - bool C - , typename F1 - , typename F2 - > -struct eval_if_c - : if_c::type -{}; - -template< - typename C - , typename T1 - , typename T2 - > -struct eval_if - : if_::type -{}; - - -#if defined(BOOST_GCC) && (BOOST_GCC <= 40000) -#define BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN -#endif - -template -struct enable_if_convertible - : enable_if< is_convertible, R> -{}; - -template -struct disable_if_convertible - : disable_if< is_convertible, R> -{}; - -template -struct enable_if_same_or_convertible - : enable_if< is_same_or_convertible, R> -{}; - -template -struct disable_if_same_or_convertible - : disable_if< is_same_or_convertible, R> -{}; - -////////////////////////////////////////////////////////////////////////////// -// -// and_ -// -////////////////////////////////////////////////////////////////////////////// -template -struct and_impl - : and_impl -{}; - -template<> -struct and_impl -{ - static const bool value = true; -}; - -template -struct and_impl -{ - static const bool value = false; -}; - -template -struct and_ - : and_impl -{}; - -////////////////////////////////////////////////////////////////////////////// -// -// or_ -// -////////////////////////////////////////////////////////////////////////////// -template -struct or_impl - : or_impl -{}; - -template<> -struct or_impl -{ - static const bool value = false; -}; - -template -struct or_impl -{ - static const bool value = true; -}; - -template -struct or_ - : or_impl -{}; - -////////////////////////////////////////////////////////////////////////////// -// -// not_ -// -////////////////////////////////////////////////////////////////////////////// -template -struct not_ -{ - static const bool value = !T::value; -}; - -////////////////////////////////////////////////////////////////////////////// -// -// enable_if_and / disable_if_and / enable_if_or / disable_if_or -// -////////////////////////////////////////////////////////////////////////////// - -template -struct enable_if_and - : enable_if_c< and_::value, R> -{}; - -template -struct disable_if_and - : disable_if_c< and_::value, R> -{}; - -template -struct enable_if_or - : enable_if_c< or_::value, R> -{}; - -template -struct disable_if_or - : disable_if_c< or_::value, R> -{}; - -////////////////////////////////////////////////////////////////////////////// -// -// has_move_emulation_enabled_impl -// -////////////////////////////////////////////////////////////////////////////// -template -struct has_move_emulation_enabled_impl - : is_convertible< T, ::boost::rv& > -{}; - -template -struct has_move_emulation_enabled_impl -{ static const bool value = false; }; - -template -struct has_move_emulation_enabled_impl< ::boost::rv > -{ static const bool value = false; }; - -////////////////////////////////////////////////////////////////////////////// -// -// is_rv_impl -// -////////////////////////////////////////////////////////////////////////////// - -template -struct is_rv_impl -{ static const bool value = false; }; - -template -struct is_rv_impl< rv > -{ static const bool value = true; }; - -template -struct is_rv_impl< const rv > -{ static const bool value = true; }; - -// Code from Jeffrey Lee Hellrung, many thanks - -template< class T > -struct is_rvalue_reference -{ static const bool value = false; }; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template< class T > -struct is_rvalue_reference< T&& > -{ static const bool value = true; }; - -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template< class T > -struct is_rvalue_reference< boost::rv& > -{ static const bool value = true; }; - -template< class T > -struct is_rvalue_reference< const boost::rv& > -{ static const bool value = true; }; - -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template< class T > -struct add_rvalue_reference -{ typedef T&& type; }; - -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -namespace detail_add_rvalue_reference -{ - template< class T - , bool emulation = has_move_emulation_enabled_impl::value - , bool rv = is_rv_impl::value > - struct add_rvalue_reference_impl { typedef T type; }; - - template< class T, bool emulation> - struct add_rvalue_reference_impl< T, emulation, true > { typedef T & type; }; - - template< class T, bool rv > - struct add_rvalue_reference_impl< T, true, rv > { typedef ::boost::rv& type; }; -} // namespace detail_add_rvalue_reference - -template< class T > -struct add_rvalue_reference - : detail_add_rvalue_reference::add_rvalue_reference_impl -{ }; - -template< class T > -struct add_rvalue_reference -{ typedef T & type; }; - -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template< class T > struct remove_rvalue_reference { typedef T type; }; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct remove_rvalue_reference< T&& > { typedef T type; }; -#else // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template< class T > struct remove_rvalue_reference< rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< volatile rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const volatile rv > { typedef T type; }; - template< class T > struct remove_rvalue_reference< rv& > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const rv& > { typedef T type; }; - template< class T > struct remove_rvalue_reference< volatile rv& > { typedef T type; }; - template< class T > struct remove_rvalue_reference< const volatile rv& >{ typedef T type; }; -#endif // #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -// Ideas from Boost.Move review, Jeffrey Lee Hellrung: -// -//- TypeTraits metafunctions is_lvalue_reference, add_lvalue_reference, and remove_lvalue_reference ? -// Perhaps add_reference and remove_reference can be modified so that they behave wrt emulated rvalue -// references the same as wrt real rvalue references, i.e., add_reference< rv& > -> T& rather than -// rv& (since T&& & -> T&). -// -//- Add'l TypeTraits has_[trivial_]move_{constructor,assign}...? -// -//- An as_lvalue(T& x) function, which amounts to an identity operation in C++0x, but strips emulated -// rvalue references in C++03. This may be necessary to prevent "accidental moves". - -} //namespace move_detail { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_HPP diff --git a/external/include/boost_1_75/boost/move/detail/meta_utils_core.hpp b/external/include/boost_1_75/boost/move/detail/meta_utils_core.hpp deleted file mode 100644 index 4e11673834..0000000000 --- a/external/include/boost_1_75/boost/move/detail/meta_utils_core.hpp +++ /dev/null @@ -1,137 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2015-2015. -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP -#define BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -//Small meta-typetraits to support move - -namespace boost { -namespace move_detail { - -template -struct voider { typedef void type; }; - -////////////////////////////////////// -// if_c -////////////////////////////////////// -template -struct if_c -{ - typedef T1 type; -}; - -template -struct if_c -{ - typedef T2 type; -}; - -////////////////////////////////////// -// if_ -////////////////////////////////////// -template -struct if_ : if_c<0 != T1::value, T2, T3> -{}; - -////////////////////////////////////// -// enable_if_c -////////////////////////////////////// -struct enable_if_nat{}; - -template -struct enable_if_c -{ - typedef T type; -}; - -template -struct enable_if_c {}; - -////////////////////////////////////// -// enable_if -////////////////////////////////////// -template -struct enable_if : enable_if_c {}; - -////////////////////////////////////// -// disable_if_c -////////////////////////////////////// -template -struct disable_if_c - : enable_if_c -{}; - -////////////////////////////////////// -// disable_if -////////////////////////////////////// -template -struct disable_if : enable_if_c {}; - -////////////////////////////////////// -// integral_constant -////////////////////////////////////// -template -struct integral_constant -{ - static const T value = v; - typedef T value_type; - typedef integral_constant type; - - operator T() const { return value; } - T operator()() const { return value; } -}; - -typedef integral_constant true_type; -typedef integral_constant false_type; - - -////////////////////////////////////// -// is_same -////////////////////////////////////// -template -struct is_same -{ - static const bool value = false; -}; - -template -struct is_same -{ - static const bool value = true; -}; - -////////////////////////////////////// -// enable_if_same -////////////////////////////////////// -template -struct enable_if_same : enable_if, R> {}; - -////////////////////////////////////// -// disable_if_same -////////////////////////////////////// -template -struct disable_if_same : disable_if, R> {}; - -} //namespace move_detail { -} //namespace boost { - -#endif //#ifndef BOOST_MOVE_DETAIL_META_UTILS_CORE_HPP diff --git a/external/include/boost_1_75/boost/move/detail/type_traits.hpp b/external/include/boost_1_75/boost/move/detail/type_traits.hpp deleted file mode 100644 index c8bc74a18a..0000000000 --- a/external/include/boost_1_75/boost/move/detail/type_traits.hpp +++ /dev/null @@ -1,1194 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// (C) Copyright John Maddock 2000. -// (C) Copyright Ion Gaztanaga 2005-2015. -// -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -// The alignment and Type traits implementation comes from -// John Maddock's TypeTraits library. -// -// Some other tricks come from Howard Hinnant's papers and StackOverflow replies -////////////////////////////////////////////////////////////////////////////// -#ifndef BOOST_MOVE_DETAIL_TYPE_TRAITS_HPP -#define BOOST_MOVE_DETAIL_TYPE_TRAITS_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -#include -#include - -// move/detail -#include -// other -#include -#include -// std -#include - -//Use of Boost.TypeTraits leads to long preprocessed source code due to -//MPL dependencies. We'll use intrinsics directly and make or own -//simplified version of TypeTraits. -//If someday Boost.TypeTraits dependencies are minimized, we should -//revisit this file redirecting code to Boost.TypeTraits traits. - -//These traits don't care about volatile, reference or other checks -//made by Boost.TypeTraits because no volatile or reference types -//can be hold in Boost.Containers. This helps to avoid any Boost.TypeTraits -//dependency. - -// Helper macros for builtin compiler support. -// If your compiler has builtin support for any of the following -// traits concepts, then redefine the appropriate macros to pick -// up on the compiler support: -// -// (these should largely ignore cv-qualifiers) -// BOOST_MOVE_IS_POD(T) should evaluate to true if T is a POD type -// BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect -// BOOST_MOVE_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy -// (Note: this trait does not guarantee T is copy constructible, the copy constructor could be deleted but still be trivial) -// BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy -// BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy -// (Note: this trait does not guarantee T is assignable , the copy assignmen could be deleted but still be trivial) -// BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy -// BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect -// BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw -// BOOST_MOVE_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw -// BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw -// BOOST_MOVE_IS_ENUM(T) should evaluate to true it t is a union type. -// BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCT(T) should evaluate to true if T has a non-throwing move constructor. -// BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) should evaluate to true if T has a non-throwing move assignment operator. -// -// The following can also be defined: when detected our implementation is greatly simplified. -// -// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T. - -#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) - // Metrowerks compiler is acquiring intrinsic type traits support - // post version 8. We hook into the published interface to pick up - // user defined specializations as well as compiler intrinsics as - // and when they become available: -# include -# define BOOST_MOVE_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union::value -# define BOOST_MOVE_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD::value -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor::value -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor::value -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment::value -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor::value -#endif - -#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\ - || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500)) -# define BOOST_MOVE_IS_UNION(T) __is_union(T) -# define BOOST_MOVE_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T)) -# define BOOST_MOVE_IS_EMPTY(T) __is_empty(T) -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T)|| ::boost::move_detail::is_pod::value) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ::boost::move_detail::is_pod::value) -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::boost::move_detail::is_pod::value) -# define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::boost::move_detail::is_trivially_default_constructible::value) -# define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) || ::boost::move_detail::is_trivially_copy_constructible::value) -# define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::boost::move_detail::is_trivially_copy_assignable::value) - -# define BOOST_MOVE_IS_ENUM(T) __is_enum(T) -# if defined(_MSC_VER) && (_MSC_VER >= 1700) -# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__has_trivial_move_constructor(T) || ::boost::move_detail::is_pod::value) -# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) (__has_trivial_move_assign(T) || ::boost::move_detail::is_pod::value) -# endif -# if _MSC_FULL_VER >= 180020827 -# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) (__is_nothrow_assignable(T&, T&&)) -# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCT(T) (__is_nothrow_constructible(T, T&&)) -# endif -#endif - -#if defined(BOOST_CLANG) -// BOOST_MOVE_HAS_TRAIT -# ifdef __has_extension -# define BOOST_MOVE_HAS_TRAIT(T) __has_extension(T) -# else -# define BOOST_MOVE_HAS_TRAIT(T) 0 -# endif - -// BOOST_MOVE_IS_UNION -# if BOOST_MOVE_HAS_TRAIT(is_union) -# define BOOST_MOVE_IS_UNION(T) __is_union(T) -# endif - -// BOOST_MOVE_IS_ENUM -# if BOOST_MOVE_HAS_TRAIT(is_enum) -# define BOOST_MOVE_IS_ENUM(T) __is_enum(T) -# endif - -// BOOST_MOVE_IS_POD -# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && BOOST_MOVE_HAS_TRAIT(is_pod) -# define BOOST_MOVE_IS_POD(T) __is_pod(T) -# endif - -// BOOST_MOVE_IS_EMPTY -# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && BOOST_MOVE_HAS_TRAIT(is_empty) -# define BOOST_MOVE_IS_EMPTY(T) __is_empty(T) -# endif - -// BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR -# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_trivially_constructible) -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __is_trivially_constructible(T) -# elif BOOST_MOVE_HAS_TRAIT(has_trivial_constructor) -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# endif - -// BOOST_MOVE_HAS_TRIVIAL_COPY -# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_trivially_constructible) -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__is_constructible(T, const T &) && __is_trivially_constructible(T, const T &)) -# elif BOOST_MOVE_HAS_TRAIT(has_trivial_copy) -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) __has_trivial_copy(T) -# endif - -// BOOST_MOVE_HAS_TRIVIAL_ASSIGN -# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_trivially_assignable) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__is_assignable(T, const T &) && __is_trivially_assignable(T, const T &)) -# elif BOOST_MOVE_HAS_TRAIT(has_trivial_copy) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) __has_trivial_assign(T) -# endif - -// BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR -# if BOOST_MOVE_HAS_TRAIT(is_trivially_destructible) -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) __is_trivially_destructible(T) -# elif BOOST_MOVE_HAS_TRAIT(has_trivial_destructor) -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T) -# endif - -// BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR -# if BOOST_MOVE_HAS_TRAIT(is_nothrow_constructible) -# define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) __is_nothrow_constructible(T) -# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_constructor) -# define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T) -# endif - -// BOOST_MOVE_HAS_NOTHROW_COPY -# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_nothrow_constructible) -# define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__is_constructible(T, const T &) && __is_nothrow_constructible(T, const T &)) -# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_copy) -# define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T)) -# endif - -// BOOST_MOVE_HAS_NOTHROW_ASSIGN -# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_nothrow_assignable) -# define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__is_assignable(T, const T &) && __is_nothrow_assignable(T, const T &)) -# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_assign) -# define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T)) -# endif - -// BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_trivially_constructible) -# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_trivially_constructible(T, T&&)) -# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_constructor) -# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T) -# endif - -// BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN -# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_trivially_assignable) -# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_trivially_assignable(T, T&&)) -# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_assign) -# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T) -# endif -# define BOOST_MOVE_ALIGNMENT_OF(T) __alignof(T) - -#endif //#if defined(BOOST_CLANG) - -#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG) - -#ifdef BOOST_INTEL -# define BOOST_MOVE_INTEL_TT_OPTS || ::boost::move_detail::is_pod::value -#else -# define BOOST_MOVE_INTEL_TT_OPTS -#endif - -# define BOOST_MOVE_IS_UNION(T) __is_union(T) -# define BOOST_MOVE_IS_POD(T) __is_pod(T) -# define BOOST_MOVE_IS_EMPTY(T) __is_empty(T) -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_MOVE_INTEL_TT_OPTS)) - -# if defined(BOOST_GCC) && (BOOST_GCC > 50000) -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__is_trivially_constructible(T, const T &)) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__is_trivially_assignable(T, const T &)) -# else -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_MOVE_INTEL_TT_OPTS)) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_MOVE_INTEL_TT_OPTS) ) -# endif - -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_MOVE_INTEL_TT_OPTS) -# define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_MOVE_INTEL_TT_OPTS) -# define BOOST_MOVE_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_MOVE_INTEL_TT_OPTS)) -# define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_MOVE_INTEL_TT_OPTS)) - -# define BOOST_MOVE_IS_ENUM(T) __is_enum(T) -# if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) - // GCC sometimes lies about alignment requirements - // of type double on 32-bit unix platforms, use the - // old implementation instead in that case: -# define BOOST_MOVE_ALIGNMENT_OF(T) __alignof__(T) -# endif -#endif - -#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) - -# define BOOST_MOVE_IS_UNION(T) __is_union(T) -# define BOOST_MOVE_IS_POD(T) __is_pod(T) -# define BOOST_MOVE_IS_EMPTY(T) __is_empty(T) -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T)) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T)) -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T) -# define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T) -# define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T)) -# define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T)) - -# define BOOST_MOVE_IS_ENUM(T) __is_enum(T) -# define BOOST_MOVE_ALIGNMENT_OF(T) __alignof__(T) -#endif - -# if defined(BOOST_CODEGEARC) -# define BOOST_MOVE_IS_UNION(T) __is_union(T) -# define BOOST_MOVE_IS_POD(T) __is_pod(T) -# define BOOST_MOVE_IS_EMPTY(T) __is_empty(T) -# define BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T)) -# define BOOST_MOVE_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T)) -# define BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T)) -# define BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T)) -# define BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T)) -# define BOOST_MOVE_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T)) -# define BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T)) - -# define BOOST_MOVE_IS_ENUM(T) __is_enum(T) -# define BOOST_MOVE_ALIGNMENT_OF(T) alignof(T) - -#endif - -//Fallback definitions - -#ifdef BOOST_MOVE_IS_UNION - #define BOOST_MOVE_IS_UNION_IMPL(T) BOOST_MOVE_IS_UNION(T) -#else - #define BOOST_MOVE_IS_UNION_IMPL(T) false -#endif - -#ifdef BOOST_MOVE_IS_POD - //in some compilers the intrinsic is limited to class types so add scalar and void - #define BOOST_MOVE_IS_POD_IMPL(T) (::boost::move_detail::is_scalar::value ||\ - ::boost::move_detail::is_void::value ||\ - BOOST_MOVE_IS_POD(T)) -#else - #define BOOST_MOVE_IS_POD_IMPL(T) \ - (::boost::move_detail::is_scalar::value || ::boost::move_detail::is_void::value) -#endif - -#ifdef BOOST_MOVE_IS_EMPTY - #define BOOST_MOVE_IS_EMPTY_IMPL(T) BOOST_MOVE_IS_EMPTY(T) -#else - #define BOOST_MOVE_IS_EMPTY_IMPL(T) ::boost::move_detail::is_empty_nonintrinsic::value -#endif - -#ifdef BOOST_MOVE_HAS_TRIVIAL_COPY - #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value ||\ - (::boost::move_detail::is_copy_constructible::value &&\ - BOOST_MOVE_HAS_TRIVIAL_COPY(T)) -#else - #define BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR - #define BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_TRIVIAL_CONSTRUCTOR(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR - #define BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_TRIVIAL_ASSIGN - #define BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) ::boost::move_detail::is_pod::value ||\ - ( ::boost::move_detail::is_copy_assignable::value &&\ - BOOST_MOVE_HAS_TRIVIAL_ASSIGN(T)) -#else - #define BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN - #define BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T) BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR - #define BOOST_MOVE_IS_TRIVIALLY_DESTRUCTIBLE(T) BOOST_MOVE_HAS_TRIVIAL_DESTRUCTOR(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_TRIVIALLY_DESTRUCTIBLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR - #define BOOST_MOVE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_NOTHROW_CONSTRUCTOR(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE(T) ::boost::move_detail::is_pod::value -#endif - -#ifdef BOOST_MOVE_HAS_NOTHROW_COPY - #define BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_NOTHROW_COPY(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T) BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) -#endif - -#ifdef BOOST_MOVE_HAS_NOTHROW_ASSIGN - #define BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T) BOOST_MOVE_HAS_NOTHROW_ASSIGN(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T) BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T) -#endif - -#ifdef BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCT - #define BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T) BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCT(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T) BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T) -#endif - -#ifdef BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN - #define BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T) BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) || ::boost::move_detail::is_pod::value -#else - #define BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T) BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T) -#endif - -#ifdef BOOST_MOVE_IS_ENUM - #define BOOST_MOVE_IS_ENUM_IMPL(T) BOOST_MOVE_IS_ENUM(T) -#else - #define BOOST_MOVE_IS_ENUM_IMPL(T) ::boost::move_detail::is_enum_nonintrinsic::value -#endif - -namespace boost { -namespace move_detail { - -////////////////////////// -// is_reference -////////////////////////// -template -struct is_reference -{ static const bool value = false; }; - -template -struct is_reference -{ static const bool value = true; }; - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -template -struct is_reference -{ static const bool value = true; }; -#endif - -////////////////////////// -// is_pointer -////////////////////////// -template -struct is_pointer -{ static const bool value = false; }; - -template -struct is_pointer -{ static const bool value = true; }; - -////////////////////////// -// is_const -////////////////////////// -template -struct is_const -{ static const bool value = false; }; - -template -struct is_const -{ static const bool value = true; }; - -////////////////////////// -// unvoid_ref -////////////////////////// -template struct unvoid_ref : add_lvalue_reference{}; -template <> struct unvoid_ref { typedef unvoid_ref & type; }; -template <> struct unvoid_ref { typedef unvoid_ref & type; }; -template <> struct unvoid_ref { typedef unvoid_ref & type; }; -template <> struct unvoid_ref { typedef unvoid_ref & type; }; - -template -struct add_reference : add_lvalue_reference -{}; - -////////////////////////// -// add_const_reference -////////////////////////// -template -struct add_const_reference -{ typedef const T &type; }; - -template -struct add_const_reference -{ typedef T& type; }; - -////////////////////////// -// add_const_if_c -////////////////////////// -template -struct add_const_if_c - : if_c::type, T> -{}; - -////////////////////////// -// remove_const -////////////////////////// -template -struct remove_const -{ typedef T type; }; - -template -struct remove_const< const T> -{ typedef T type; }; - -////////////////////////// -// remove_cv -////////////////////////// -template struct remove_cv { typedef T type; }; -template struct remove_cv { typedef T type; }; -template struct remove_cv { typedef T type; }; -template struct remove_cv { typedef T type; }; - -////////////////////////// -// remove_cvref -////////////////////////// -template -struct remove_cvref - : remove_cv::type> -{ -}; - -////////////////////////// -// make_unsigned -////////////////////////// -template -struct make_unsigned_impl { typedef T type; }; -template <> struct make_unsigned_impl { typedef unsigned char type; }; -template <> struct make_unsigned_impl { typedef unsigned short type; }; -template <> struct make_unsigned_impl { typedef unsigned int type; }; -template <> struct make_unsigned_impl { typedef unsigned long type; }; -#ifdef BOOST_HAS_LONG_LONG -template <> struct make_unsigned_impl< ::boost::long_long_type > { typedef ::boost::ulong_long_type type; }; -#endif - -template -struct make_unsigned - : make_unsigned_impl::type> -{}; - -////////////////////////// -// is_floating_point -////////////////////////// -template struct is_floating_point_cv { static const bool value = false; }; -template<> struct is_floating_point_cv { static const bool value = true; }; -template<> struct is_floating_point_cv { static const bool value = true; }; -template<> struct is_floating_point_cv { static const bool value = true; }; - -template -struct is_floating_point - : is_floating_point_cv::type> -{}; - -////////////////////////// -// is_integral -////////////////////////// -template struct is_integral_cv { static const bool value = false; }; -template<> struct is_integral_cv< bool>{ static const bool value = true; }; -template<> struct is_integral_cv< char>{ static const bool value = true; }; -template<> struct is_integral_cv< unsigned char>{ static const bool value = true; }; -template<> struct is_integral_cv< signed char>{ static const bool value = true; }; -#ifndef BOOST_NO_CXX11_CHAR16_T -template<> struct is_integral_cv< char16_t>{ static const bool value = true; }; -#endif -#ifndef BOOST_NO_CXX11_CHAR32_T -template<> struct is_integral_cv< char32_t>{ static const bool value = true; }; -#endif -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -template<> struct is_integral_cv< wchar_t>{ static const bool value = true; }; -#endif -template<> struct is_integral_cv< short>{ static const bool value = true; }; -template<> struct is_integral_cv< unsigned short>{ static const bool value = true; }; -template<> struct is_integral_cv< int>{ static const bool value = true; }; -template<> struct is_integral_cv< unsigned int>{ static const bool value = true; }; -template<> struct is_integral_cv< long>{ static const bool value = true; }; -template<> struct is_integral_cv< unsigned long>{ static const bool value = true; }; -#ifdef BOOST_HAS_LONG_LONG -template<> struct is_integral_cv< ::boost:: long_long_type>{ static const bool value = true; }; -template<> struct is_integral_cv< ::boost::ulong_long_type>{ static const bool value = true; }; -#endif - -template -struct is_integral - : public is_integral_cv::type> -{}; - -////////////////////////////////////// -// remove_all_extents -////////////////////////////////////// -template -struct remove_all_extents -{ typedef T type;}; - -template -struct remove_all_extents -{ typedef typename remove_all_extents::type type; }; - -template -struct remove_all_extents -{ typedef typename remove_all_extents::type type;}; - -////////////////////////// -// is_scalar -////////////////////////// -template -struct is_scalar -{ static const bool value = is_integral::value || is_floating_point::value; }; - -////////////////////////// -// is_void -////////////////////////// -template -struct is_void_cv -{ static const bool value = false; }; - -template<> -struct is_void_cv -{ static const bool value = true; }; - -template -struct is_void - : is_void_cv::type> -{}; - -////////////////////////////////////// -// is_array -////////////////////////////////////// -template -struct is_array -{ static const bool value = false; }; - -template -struct is_array -{ static const bool value = true; }; - -template -struct is_array -{ static const bool value = true; }; - -////////////////////////////////////// -// is_member_pointer -////////////////////////////////////// -template struct is_member_pointer_cv { static const bool value = false; }; -template struct is_member_pointer_cv { static const bool value = true; }; - -template -struct is_member_pointer - : is_member_pointer_cv::type> -{}; - -////////////////////////////////////// -// is_nullptr_t -////////////////////////////////////// -template -struct is_nullptr_t_cv -{ static const bool value = false; }; - -#if !defined(BOOST_NO_CXX11_NULLPTR) -template <> -struct is_nullptr_t_cv - #if !defined(BOOST_NO_CXX11_DECLTYPE) - - #else - - #endif -{ static const bool value = true; }; -#endif - -template -struct is_nullptr_t - : is_nullptr_t_cv::type> -{}; - -////////////////////////////////////// -// is_function -////////////////////////////////////// -//Inspired by libc++, thanks to Howard Hinnant -//For a function to pointer an lvalue of function type T can be implicitly converted to a prvalue -//pointer to that function. This does not apply to non-static member functions because lvalues -//that refer to non-static member functions do not exist. -template -struct is_reference_convertible_to_pointer -{ - struct twochar { char dummy[2]; }; - template static char test(U*); - template static twochar test(...); - static T& source(); - static const bool value = sizeof(char) == sizeof(test(source())); -}; -//Filter out: -// - class types that might have implicit conversions -// - void (to avoid forming a reference to void later) -// - references (e.g.: filtering reference to functions) -// - nullptr_t (convertible to pointer) -template < class T - , bool Filter = is_class_or_union::value || - is_void::value || - is_reference::value || - is_nullptr_t::value > -struct is_function_impl -{ static const bool value = is_reference_convertible_to_pointer::value; }; - -template -struct is_function_impl -{ static const bool value = false; }; - -template -struct is_function - : is_function_impl -{}; - -////////////////////////////////////// -// is_union -////////////////////////////////////// -template -struct is_union_noextents_cv -{ static const bool value = BOOST_MOVE_IS_UNION_IMPL(T); }; - -template -struct is_union - : is_union_noextents_cv::type>::type> -{}; - -////////////////////////////////////// -// is_class -////////////////////////////////////// -template -struct is_class -{ - static const bool value = is_class_or_union::value && ! is_union::value; -}; - - -////////////////////////////////////// -// is_arithmetic -////////////////////////////////////// -template -struct is_arithmetic -{ - static const bool value = is_floating_point::value || - is_integral::value; -}; - -////////////////////////////////////// -// is_member_function_pointer -////////////////////////////////////// -template -struct is_member_function_pointer_cv -{ - static const bool value = false; -}; - -template -struct is_member_function_pointer_cv - : is_function -{}; - -template -struct is_member_function_pointer - : is_member_function_pointer_cv::type> -{}; - -////////////////////////////////////// -// is_enum -////////////////////////////////////// -#if !defined(BOOST_MOVE_IS_ENUM) -//Based on (http://howardhinnant.github.io/TypeHiearchy.pdf) -template -struct is_enum_nonintrinsic -{ - static const bool value = !is_arithmetic::value && - !is_reference::value && - !is_class_or_union::value && - !is_array::value && - !is_void::value && - !is_nullptr_t::value && - !is_member_pointer::value && - !is_pointer::value && - !is_function::value; -}; -#endif - -template -struct is_enum -{ static const bool value = BOOST_MOVE_IS_ENUM_IMPL(T); }; - -////////////////////////////////////// -// is_pod -////////////////////////////////////// -template -struct is_pod_noextents_cv //for non-c++11 compilers, a safe fallback -{ static const bool value = BOOST_MOVE_IS_POD_IMPL(T); }; - -template -struct is_pod - : is_pod_noextents_cv::type>::type> -{}; - -////////////////////////////////////// -// is_empty -////////////////////////////////////// -#if !defined(BOOST_MOVE_IS_EMPTY) - -template -struct empty_helper_t1 : public T -{ - empty_helper_t1(); // hh compiler bug workaround - int i[256]; - private: - - empty_helper_t1(const empty_helper_t1&); - empty_helper_t1& operator=(const empty_helper_t1&); -}; - -struct empty_helper_t2 { int i[256]; }; - -template ::value > -struct is_empty_nonintrinsic -{ - static const bool value = false; -}; - -template -struct is_empty_nonintrinsic -{ - static const bool value = sizeof(empty_helper_t1) == sizeof(empty_helper_t2); -}; -#endif - -template -struct is_empty -{ static const bool value = BOOST_MOVE_IS_EMPTY_IMPL(T); }; - - -template -struct has_boost_move_no_copy_constructor_or_assign_type -{ - template - static yes_type test(typename U::boost_move_no_copy_constructor_or_assign*); - - template - static no_type test(...); - - static const bool value = sizeof(test(0)) == sizeof(yes_type); -}; - -////////////////////////////////////// -// is_copy_constructible -////////////////////////////////////// -#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \ - && !defined(BOOST_INTEL_CXX_VERSION) && \ - !(defined(BOOST_MSVC) && _MSC_VER == 1800) -#define BOOST_MOVE_TT_CXX11_IS_COPY_CONSTRUCTIBLE -#endif - -template -struct is_copy_constructible -{ - // Intel compiler has problems with SFINAE for copy constructors and deleted functions: - // - // error: function *function_name* cannot be referenced -- it is a deleted function - // static yes_type test(U&, decltype(U(boost::declval()))* = 0); - // ^ - // MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See: - // https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken - #if defined(BOOST_MOVE_TT_CXX11_IS_COPY_CONSTRUCTIBLE) - template static typename add_reference::type source(); - static no_type test(...); - #ifdef BOOST_NO_CXX11_DECLTYPE - template - static yes_type test(U&, bool_()))>* = 0); - #else - template - static yes_type test(U&, decltype(U(source()))* = 0); - #endif - static const bool value = sizeof(test(source())) == sizeof(yes_type); - #else - static const bool value = !has_boost_move_no_copy_constructor_or_assign_type::value; - #endif -}; - - -////////////////////////////////////// -// is_copy_assignable -////////////////////////////////////// -#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \ - && !defined(BOOST_INTEL_CXX_VERSION) && \ - !(defined(BOOST_MSVC) && _MSC_VER == 1800) -#define BOOST_MOVE_TT_CXX11_IS_COPY_ASSIGNABLE -#endif - -template -struct is_copy_assignable -{ -// Intel compiler has problems with SFINAE for copy constructors and deleted functions: -// -// error: function *function_name* cannot be referenced -- it is a deleted function -// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval()))* = 0); -// ^ -// -// MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See: -// https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken -#if defined(BOOST_MOVE_TT_CXX11_IS_COPY_ASSIGNABLE) - typedef char yes_type; - struct no_type { char dummy[2]; }; - - template static typename add_reference::type source(); - template static decltype(source() = source(), yes_type() ) test(int); - template static no_type test(...); - - static const bool value = sizeof(test(0)) == sizeof(yes_type); -#else - static const bool value = !has_boost_move_no_copy_constructor_or_assign_type::value; -#endif -}; - -////////////////////////////////////// -// is_trivially_destructible -////////////////////////////////////// -template -struct is_trivially_destructible -{ static const bool value = BOOST_MOVE_IS_TRIVIALLY_DESTRUCTIBLE(T); }; - -////////////////////////////////////// -// is_trivially_default_constructible -////////////////////////////////////// -template -struct is_trivially_default_constructible -{ static const bool value = BOOST_MOVE_IS_TRIVIALLY_DEFAULT_CONSTRUCTIBLE(T); }; - -////////////////////////////////////// -// is_trivially_copy_constructible -////////////////////////////////////// -template -struct is_trivially_copy_constructible -{ - static const bool value = BOOST_MOVE_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T); -}; - -////////////////////////////////////// -// is_trivially_move_constructible -////////////////////////////////////// -template -struct is_trivially_move_constructible -{ static const bool value = BOOST_MOVE_IS_TRIVIALLY_MOVE_CONSTRUCTIBLE(T); }; - -////////////////////////////////////// -// is_trivially_copy_assignable -////////////////////////////////////// -template -struct is_trivially_copy_assignable -{ - static const bool value = BOOST_MOVE_IS_TRIVIALLY_COPY_ASSIGNABLE(T); -}; - -////////////////////////////////////// -// is_trivially_move_assignable -////////////////////////////////////// -template -struct is_trivially_move_assignable -{ static const bool value = BOOST_MOVE_IS_TRIVIALLY_MOVE_ASSIGNABLE(T); }; - -////////////////////////////////////// -// is_nothrow_default_constructible -////////////////////////////////////// -template -struct is_nothrow_default_constructible -{ static const bool value = BOOST_MOVE_IS_NOTHROW_DEFAULT_CONSTRUCTIBLE(T); }; - -////////////////////////////////////// -// is_nothrow_copy_constructible -////////////////////////////////////// -template -struct is_nothrow_copy_constructible -{ static const bool value = BOOST_MOVE_IS_NOTHROW_COPY_CONSTRUCTIBLE(T); }; - -////////////////////////////////////// -// is_nothrow_move_constructible -////////////////////////////////////// -template -struct is_nothrow_move_constructible -{ static const bool value = BOOST_MOVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE(T); }; - -////////////////////////////////////// -// is_nothrow_copy_assignable -////////////////////////////////////// -template -struct is_nothrow_copy_assignable -{ static const bool value = BOOST_MOVE_IS_NOTHROW_COPY_ASSIGNABLE(T); }; - -////////////////////////////////////// -// is_nothrow_move_assignable -////////////////////////////////////// -template -struct is_nothrow_move_assignable -{ static const bool value = BOOST_MOVE_IS_NOTHROW_MOVE_ASSIGNABLE(T); }; - -////////////////////////////////////// -// is_nothrow_swappable -////////////////////////////////////// -template -struct is_nothrow_swappable -{ - static const bool value = is_empty::value || is_pod::value; -}; - -////////////////////////////////////// -// alignment_of -////////////////////////////////////// -template -struct alignment_of_hack -{ - T t1; - char c; - T t2; - alignment_of_hack(); - ~alignment_of_hack(); -}; - -template -struct alignment_logic -{ static const std::size_t value = A < S ? A : S; }; - -template< typename T > -struct alignment_of_impl -#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) - // With MSVC both the native __alignof operator - // and our own logic gets things wrong from time to time :-( - // Using a combination of the two seems to make the most of a bad job: - : alignment_logic< sizeof(alignment_of_hack) - 2*sizeof(T), __alignof(T)> -{}; -#elif !defined(BOOST_MOVE_ALIGNMENT_OF) - : alignment_logic< sizeof(alignment_of_hack) - 2*sizeof(T), sizeof(T)> -{}; -#else -{ static const std::size_t value = BOOST_MOVE_ALIGNMENT_OF(T); }; -#endif - -template< typename T > -struct alignment_of - : alignment_of_impl -{}; - -class alignment_dummy; -typedef void (*function_ptr)(); -typedef int (alignment_dummy::*member_ptr); -typedef int (alignment_dummy::*member_function_ptr)(); -struct alignment_struct -{ long double dummy[4]; }; - -///////////////////////////// -// max_align_t -///////////////////////////// -//This is not standard, but should work with all compilers -union max_align -{ - char char_; - short short_; - int int_; - long long_; - #ifdef BOOST_HAS_LONG_LONG - ::boost::long_long_type long_long_; - #endif - float float_; - double double_; - void * void_ptr_; - long double long_double_[4]; - alignment_dummy *unknown_class_ptr_; - function_ptr function_ptr_; - member_function_ptr member_function_ptr_; - alignment_struct alignment_struct_; -}; - -typedef union max_align max_align_t; - -///////////////////////////// -// aligned_storage -///////////////////////////// - -#if defined(_MSC_VER) && defined(_M_IX86) - -// Special version for usual alignments on x86 MSVC because it might crash -// when passsing aligned types by value even for 8 byte alignment. -template -struct aligned_struct; - -template <> struct aligned_struct<1> { char data; }; -template <> struct aligned_struct<2> { short data; }; -template <> struct aligned_struct<4> { int data; }; -template <> struct aligned_struct<8> { double data; }; - -#define BOOST_MOVE_ALIGNED_STRUCT(x) \ - template <> struct aligned_struct { \ - __declspec(align(x)) char data; \ - } -BOOST_MOVE_ALIGNED_STRUCT(16); -BOOST_MOVE_ALIGNED_STRUCT(32); -BOOST_MOVE_ALIGNED_STRUCT(64); -BOOST_MOVE_ALIGNED_STRUCT(128); -BOOST_MOVE_ALIGNED_STRUCT(512); -BOOST_MOVE_ALIGNED_STRUCT(1024); -BOOST_MOVE_ALIGNED_STRUCT(2048); -BOOST_MOVE_ALIGNED_STRUCT(4096); - -template -union aligned_union -{ - typedef aligned_struct aligner_t; - aligner_t aligner; - unsigned char data[Len > sizeof(aligner_t) ? Len : sizeof(aligner_t)]; -}; - -template -struct aligned_storage_impl -{ - typedef aligned_union type; -}; - -#elif !defined(BOOST_NO_ALIGNMENT) - -template -struct aligned_struct; - -#define BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(A)\ -template\ -struct BOOST_ALIGNMENT(A) aligned_struct\ -{\ - unsigned char data[Len];\ -};\ -// - -//Up to 4K alignment (typical page size) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x1) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x2) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x4) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x8) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x10) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x20) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x40) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x80) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x100) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x200) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x400) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x800) -BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT(0x1000) - -#undef BOOST_MOVE_ALIGNED_STORAGE_WITH_BOOST_ALIGNMENT - -// Workaround for bogus [-Wignored-attributes] warning on GCC 6.x/7.x: don't use a type that "directly" carries the alignment attribute. -// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82270 -template -union aligned_struct_wrapper -{ - typedef aligned_struct aligner_t; - aligned_struct aligner; - unsigned char data[Len > sizeof(aligner_t) ? Len : sizeof(aligner_t)]; -}; - -template -struct aligned_storage_impl -{ - typedef aligned_struct_wrapper type; -}; - -#else //BOOST_NO_ALIGNMENT - -template -union aligned_union -{ - T aligner; - unsigned char data[Len > sizeof(T) ? Len : sizeof(T)]; -}; - -template -struct aligned_next; - -template -struct aligned_next -{ - BOOST_STATIC_ASSERT((alignment_of::value == Align)); - typedef aligned_union type; -}; - -//End of search defaults to max_align_t -template -struct aligned_next -{ typedef aligned_union type; }; - -//Now define a search list through types -#define BOOST_MOVE_ALIGNED_NEXT_STEP(TYPE, NEXT_TYPE)\ - template\ - struct aligned_next\ - : aligned_next::value>\ - {};\ - // - BOOST_MOVE_ALIGNED_NEXT_STEP(long double, max_align_t) - BOOST_MOVE_ALIGNED_NEXT_STEP(double, long double) - #ifdef BOOST_HAS_LONG_LONG - BOOST_MOVE_ALIGNED_NEXT_STEP(::boost::long_long_type, double) - BOOST_MOVE_ALIGNED_NEXT_STEP(long, ::boost::long_long_type) - #else - BOOST_MOVE_ALIGNED_NEXT_STEP(long, double) - #endif - BOOST_MOVE_ALIGNED_NEXT_STEP(int, long) - BOOST_MOVE_ALIGNED_NEXT_STEP(short, int) - BOOST_MOVE_ALIGNED_NEXT_STEP(char, short) -#undef BOOST_MOVE_ALIGNED_NEXT_STEP - -template -struct aligned_storage_impl - : aligned_next::value> -{}; - -#endif - -template::value> -struct aligned_storage -{ - //Sanity checks for input parameters - BOOST_STATIC_ASSERT(Align > 0); - - //Sanity checks for output type - typedef typename aligned_storage_impl::type type; - static const std::size_t value = alignment_of::value; - BOOST_STATIC_ASSERT(value >= Align); - BOOST_STATIC_ASSERT((value % Align) == 0); - - //Just in case someone instantiates aligned_storage - //instead of aligned_storage::type (typical error). - private: - aligned_storage(); -}; - -} //namespace move_detail { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_DETAIL_TYPE_TRAITS_HPP diff --git a/external/include/boost_1_75/boost/move/detail/workaround.hpp b/external/include/boost_1_75/boost/move/detail/workaround.hpp deleted file mode 100644 index 1d16f24332..0000000000 --- a/external/include/boost_1_75/boost/move/detail/workaround.hpp +++ /dev/null @@ -1,69 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2014-2014. 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) -// -// See http://www.boost.org/libs/interprocess for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_MOVE_DETAIL_WORKAROUND_HPP -#define BOOST_MOVE_DETAIL_WORKAROUND_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_MOVE_PERFECT_FORWARDING -#endif - -#if defined(__has_feature) - #define BOOST_MOVE_HAS_FEATURE __has_feature -#else - #define BOOST_MOVE_HAS_FEATURE(x) 0 -#endif - -#if BOOST_MOVE_HAS_FEATURE(address_sanitizer) || defined(__SANITIZE_ADDRESS__) - #define BOOST_MOVE_ADDRESS_SANITIZER_ON -#endif - -//Macros for documentation purposes. For code, expands to the argument -#define BOOST_MOVE_IMPDEF(TYPE) TYPE -#define BOOST_MOVE_SEEDOC(TYPE) TYPE -#define BOOST_MOVE_DOC0PTR(TYPE) TYPE -#define BOOST_MOVE_DOC1ST(TYPE1, TYPE2) TYPE2 -#define BOOST_MOVE_I , -#define BOOST_MOVE_DOCIGN(T1) T1 - -#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 5) && !defined(__clang__) - //Pre-standard rvalue binding rules - #define BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES -#elif defined(_MSC_VER) && (_MSC_VER == 1600) - //Standard rvalue binding rules but with some bugs - #define BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG - #define BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG -#elif defined(_MSC_VER) && (_MSC_VER == 1700) - #define BOOST_MOVE_MSVC_AUTO_MOVE_RETURN_BUG -#endif - -#if defined(BOOST_MOVE_DISABLE_FORCEINLINE) - #define BOOST_MOVE_FORCEINLINE inline -#elif defined(BOOST_MOVE_FORCEINLINE_IS_BOOST_FORCELINE) - #define BOOST_MOVE_FORCEINLINE BOOST_FORCEINLINE -#elif defined(BOOST_MSVC) && defined(_DEBUG) - //"__forceinline" and MSVC seems to have some bugs in debug mode - #define BOOST_MOVE_FORCEINLINE inline -#elif defined(__GNUC__) && ((__GNUC__ < 4) || (__GNUC__ == 4 && (__GNUC_MINOR__ < 5))) - //Older GCCs have problems with forceinline - #define BOOST_MOVE_FORCEINLINE inline -#else - #define BOOST_MOVE_FORCEINLINE BOOST_FORCEINLINE -#endif - -#endif //#ifndef BOOST_MOVE_DETAIL_WORKAROUND_HPP diff --git a/external/include/boost_1_75/boost/move/traits.hpp b/external/include/boost_1_75/boost/move/traits.hpp deleted file mode 100644 index b48b8f61d2..0000000000 --- a/external/include/boost_1_75/boost/move/traits.hpp +++ /dev/null @@ -1,77 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2009-2012. -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file - -#ifndef BOOST_MOVE_TRAITS_HPP -#define BOOST_MOVE_TRAITS_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -#include - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -#include -#endif -#include -#include - -namespace boost { - -//! If this trait yields to true -//! (has_trivial_destructor_after_move <T>::value == true) -//! means that if T is used as argument of a move construction/assignment, -//! there is no need to call T's destructor. -//! This optimization tipically is used to improve containers' performance. -//! -//! By default this trait is true if the type has trivial destructor, -//! every class should specialize this trait if it wants to improve performance -//! when inserted in containers. -template -struct has_trivial_destructor_after_move - : ::boost::move_detail::is_trivially_destructible -{}; - -//! By default this traits returns -//!
boost::is_nothrow_move_constructible::value && boost::is_nothrow_move_assignable::value 
. -//! Classes with non-throwing move constructor -//! and assignment can specialize this trait to obtain some performance improvements. -template -struct has_nothrow_move -{ - static const bool value = boost::move_detail::is_nothrow_move_constructible::value && - boost::move_detail::is_nothrow_move_assignable::value; -}; - -namespace move_detail { - -template -struct is_nothrow_move_constructible_or_uncopyable -{ - //The standard requires is_nothrow_move_constructible for move_if_noexcept - //but a user (usually in C++03) might specialize has_nothrow_move which includes it - static const bool value = is_nothrow_move_constructible::value || - has_nothrow_move::value || - !is_copy_constructible::value; -}; - -} //move_detail { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_MOVE_TRAITS_HPP diff --git a/external/include/boost_1_75/boost/move/utility.hpp b/external/include/boost_1_75/boost/move/utility.hpp deleted file mode 100644 index 28de7935c8..0000000000 --- a/external/include/boost_1_75/boost/move/utility.hpp +++ /dev/null @@ -1,150 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2012-2012. -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file -//! This header includes core utilities from and defines -//! some more advanced utilities such as: - -#ifndef BOOST_MOVE_MOVE_UTILITY_HPP -#define BOOST_MOVE_MOVE_UTILITY_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -#include -#include //forceinline -#include -#include - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - namespace boost { - - ////////////////////////////////////////////////////////////////////////////// - // - // move_if_noexcept() - // - ////////////////////////////////////////////////////////////////////////////// - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && !has_move_emulation_enabled::value - , typename ::boost::move_detail::add_const::type & - >::type - move_if_noexcept(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && has_move_emulation_enabled::value - && ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable::value, rv&>::type - move_if_noexcept(T& x) BOOST_NOEXCEPT - { - return *static_cast* >(::boost::move_detail::addressof(x)); - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && has_move_emulation_enabled::value - && ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable::value - , rv& - >::type - move_if_noexcept(rv& x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && has_move_emulation_enabled::value - && !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable::value - , typename ::boost::move_detail::add_const::type & - >::type - move_if_noexcept(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < enable_move_utility_emulation::value && has_move_emulation_enabled::value - && !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable::value - , typename ::boost::move_detail::add_const::type & - >::type - move_if_noexcept(rv& x) BOOST_NOEXCEPT - { - return x; - } - - } //namespace boost - -#else //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - #include - - namespace boost{ - - using ::std::move_if_noexcept; - - } //namespace boost - - #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE - - namespace boost { - - ////////////////////////////////////////////////////////////////////////////// - // - // move_if_noexcept() - // - ////////////////////////////////////////////////////////////////////////////// - #if defined(BOOST_MOVE_DOXYGEN_INVOKED) - //! This function provides a way to convert a reference into a rvalue reference - //! in compilers with rvalue references. For other compilers converts T & into - //! ::boost::rv & so that move emulation is activated. Reference - //! would be converted to rvalue reference only if input type is nothrow move - //! constructible or if it has no copy constructor. In all other cases const - //! reference would be returned - template - rvalue_reference_or_const_lvalue_reference move_if_noexcept(input_reference) noexcept; - - #else //BOOST_MOVE_DOXYGEN_INVOKED - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable::value, T&&>::type - move_if_noexcept(T& x) BOOST_NOEXCEPT - { return ::boost::move(x); } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_c - < !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable::value, const T&>::type - move_if_noexcept(T& x) BOOST_NOEXCEPT - { return x; } - - #endif //BOOST_MOVE_DOXYGEN_INVOKED - - } //namespace boost { - - #endif //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - -#endif //BOOST_NO_CXX11_RVALUE_REFERENCES - -#include - -#endif //#ifndef BOOST_MOVE_MOVE_UTILITY_HPP diff --git a/external/include/boost_1_75/boost/move/utility_core.hpp b/external/include/boost_1_75/boost/move/utility_core.hpp deleted file mode 100644 index 55042a9bb1..0000000000 --- a/external/include/boost_1_75/boost/move/utility_core.hpp +++ /dev/null @@ -1,318 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2012-2012. -// 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) -// -// See http://www.boost.org/libs/move for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -//! \file -//! This header defines core utilities to ease the development -//! of move-aware functions. This header minimizes dependencies -//! from other libraries. - -#ifndef BOOST_MOVE_MOVE_UTILITY_CORE_HPP -#define BOOST_MOVE_MOVE_UTILITY_CORE_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif -# -#if defined(BOOST_HAS_PRAGMA_ONCE) -# pragma once -#endif - -#include -#include //forceinline -#include -#include -#include - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - namespace boost { - - template - struct enable_move_utility_emulation - { - static const bool value = true; - }; - - ////////////////////////////////////////////////////////////////////////////// - // - // move() - // - ////////////////////////////////////////////////////////////////////////////// - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < T & - , enable_move_utility_emulation - , has_move_emulation_disabled - >::type - move(T& x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < rv& - , enable_move_utility_emulation - , has_move_emulation_enabled - >::type - move(T& x) BOOST_NOEXCEPT - { - return *BOOST_MOVE_TO_RV_CAST(::boost::rv*, ::boost::move_detail::addressof(x) ); - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < rv& - , enable_move_utility_emulation - , has_move_emulation_enabled - >::type - move(rv& x) BOOST_NOEXCEPT - { - return x; - } - - ////////////////////////////////////////////////////////////////////////////// - // - // forward() - // - ////////////////////////////////////////////////////////////////////////////// - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < T & - , enable_move_utility_emulation - , ::boost::move_detail::is_rv - >::type - forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT - { - return const_cast(x); - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < const T & - , enable_move_utility_emulation - , ::boost::move_detail::is_not_rv - >::type - forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT - { - return x; - } - - ////////////////////////////////////////////////////////////////////////////// - // - // move_if_not_lvalue_reference() - // - ////////////////////////////////////////////////////////////////////////////// - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < T & - , enable_move_utility_emulation - , ::boost::move_detail::is_rv - >::type - move_if_not_lvalue_reference(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT - { - return const_cast(x); - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < typename ::boost::move_detail::add_lvalue_reference::type - , enable_move_utility_emulation - , ::boost::move_detail::is_not_rv - , ::boost::move_detail::or_ - < ::boost::move_detail::is_lvalue_reference - , has_move_emulation_disabled - > - >::type - move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference::type &x) BOOST_NOEXCEPT - { - return x; - } - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::enable_if_and - < rv& - , enable_move_utility_emulation - , ::boost::move_detail::is_not_rv - , ::boost::move_detail::and_ - < ::boost::move_detail::not_< ::boost::move_detail::is_lvalue_reference > - , has_move_emulation_enabled - > - >::type - move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference::type &x) BOOST_NOEXCEPT - { - return move(x); - } - - } //namespace boost - -#else //#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - #if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - #include - - namespace boost{ - - using ::std::move; - using ::std::forward; - - } //namespace boost - - #else //!BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE - - namespace boost { - - //! This trait's internal boolean `value` is false in compilers with rvalue references - //! and true in compilers without rvalue references. - //! - //! A user can specialize this trait for a type T to false to SFINAE out `move` and `forward` - //! so that the user can define a different move emulation for that type in namespace boost - //! (e.g. another Boost library for its types) and avoid any overload ambiguity. - template - struct enable_move_utility_emulation - { - static const bool value = false; - }; - - ////////////////////////////////////////////////////////////////////////////// - // - // move - // - ////////////////////////////////////////////////////////////////////////////// - - #if defined(BOOST_MOVE_DOXYGEN_INVOKED) - //! This function provides a way to convert a reference into a rvalue reference - //! in compilers with rvalue references. For other compilers if `T` is Boost.Move - //! enabled type then it converts `T&` into ::boost::rv & so that - //! move emulation is activated, else it returns `T &`. - template - rvalue_reference move(input_reference) noexcept; - - #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - - //Old move approach, lvalues could bind to rvalue references - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::remove_reference::type && move(T&& t) BOOST_NOEXCEPT - { return t; } - - #else //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES - - template - BOOST_MOVE_FORCEINLINE typename ::boost::move_detail::remove_reference::type && move(T&& t) BOOST_NOEXCEPT - { return static_cast::type &&>(t); } - - #endif //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES - - ////////////////////////////////////////////////////////////////////////////// - // - // forward - // - ////////////////////////////////////////////////////////////////////////////// - - - #if defined(BOOST_MOVE_DOXYGEN_INVOKED) - //! This function provides limited form of forwarding that is usually enough for - //! in-place construction and avoids the exponential overloading for - //! achieve the limited forwarding in C++03. - //! - //! For compilers with rvalue references this function provides perfect forwarding. - //! - //! Otherwise: - //! * If input_reference binds to const ::boost::rv & then it output_reference is - //! ::boost::rv & - //! - //! * Else, output_reference is equal to input_reference. - template output_reference forward(input_reference) noexcept; - #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - - //Old move approach, lvalues could bind to rvalue references - - template - BOOST_MOVE_FORCEINLINE T&& forward(typename ::boost::move_detail::identity::type&& t) BOOST_NOEXCEPT - { return t; } - - #else //Old move - - template - BOOST_MOVE_FORCEINLINE T&& forward(typename ::boost::move_detail::remove_reference::type& t) BOOST_NOEXCEPT - { return static_cast(t); } - - template - BOOST_MOVE_FORCEINLINE T&& forward(typename ::boost::move_detail::remove_reference::type&& t) BOOST_NOEXCEPT - { - //"boost::forward error: 'T' is a lvalue reference, can't forward as rvalue."; - BOOST_STATIC_ASSERT(!boost::move_detail::is_lvalue_reference::value); - return static_cast(t); - } - - #endif //BOOST_MOVE_DOXYGEN_INVOKED - - ////////////////////////////////////////////////////////////////////////////// - // - // move_if_not_lvalue_reference - // - ////////////////////////////////////////////////////////////////////////////// - - - #if defined(BOOST_MOVE_DOXYGEN_INVOKED) - //! Effects: Calls `boost::move` if `input_reference` is not a lvalue reference. - //! Otherwise returns the reference - template output_reference move_if_not_lvalue_reference(input_reference) noexcept; - #elif defined(BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES) - - //Old move approach, lvalues could bind to rvalue references - - template - BOOST_MOVE_FORCEINLINE T&& move_if_not_lvalue_reference(typename ::boost::move_detail::identity::type&& t) BOOST_NOEXCEPT - { return t; } - - #else //Old move - - template - BOOST_MOVE_FORCEINLINE T&& move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference::type& t) BOOST_NOEXCEPT - { return static_cast(t); } - - template - BOOST_MOVE_FORCEINLINE T&& move_if_not_lvalue_reference(typename ::boost::move_detail::remove_reference::type&& t) BOOST_NOEXCEPT - { - //"boost::forward error: 'T' is a lvalue reference, can't forward as rvalue."; - BOOST_STATIC_ASSERT(!boost::move_detail::is_lvalue_reference::value); - return static_cast(t); - } - - #endif //BOOST_MOVE_DOXYGEN_INVOKED - - } //namespace boost { - - #endif //#if defined(BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE) - -#endif //BOOST_NO_CXX11_RVALUE_REFERENCES - -#if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - -namespace boost{ -namespace move_detail{ - -template -typename boost::move_detail::add_rvalue_reference::type declval(); - -} //namespace move_detail{ -} //namespace boost{ - -#endif //#if !defined(BOOST_MOVE_DOXYGEN_INVOKED) - - -#include - -#endif //#ifndef BOOST_MOVE_MOVE_UTILITY_CORE_HPP diff --git a/external/include/boost_1_75/boost/mpl/and.hpp b/external/include/boost_1_75/boost/mpl/and.hpp deleted file mode 100644 index 454aaf2e96..0000000000 --- a/external/include/boost_1_75/boost/mpl/and.hpp +++ /dev/null @@ -1,60 +0,0 @@ - -#ifndef BOOST_MPL_AND_HPP_INCLUDED -#define BOOST_MPL_AND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# include -# include -# include -# include - -// agurt, 19/may/04: workaround a conflict with header's -// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)' -// has to be checked in a separate condition, otherwise GCC complains -// about 'and' being an alternative token -#if defined(_MSC_VER) && !defined(__clang__) -#ifndef __GCCXML__ -#if defined(and) -# pragma push_macro("and") -# undef and -# define and(x) -#endif -#endif -#endif - -# define BOOST_MPL_PREPROCESSED_HEADER and.hpp -# include - -#if defined(_MSC_VER) && !defined(__clang__) -#ifndef __GCCXML__ -#if defined(and) -# pragma pop_macro("and") -#endif -#endif -#endif - -#else - -# define AUX778076_OP_NAME and_ -# define AUX778076_OP_VALUE1 false -# define AUX778076_OP_VALUE2 true -# include - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_AND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/assert.hpp b/external/include/boost_1_75/boost/mpl/assert.hpp deleted file mode 100644 index a0a5e3610d..0000000000 --- a/external/include/boost_1_75/boost/mpl/assert.hpp +++ /dev/null @@ -1,459 +0,0 @@ - -#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED -#define BOOST_MPL_ASSERT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include // make sure 'size_t' is placed into 'std' -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) -#include -#endif - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || (BOOST_MPL_CFG_GCC != 0) \ - || BOOST_WORKAROUND(__IBMCPP__, <= 600) -# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES -#endif - -#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \ - || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER -#endif - -// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) -// and GCC (which issues "unused variable" warnings when static constants are used -// at a function scope) -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || (BOOST_MPL_CFG_GCC != 0) || (BOOST_MPL_CFG_GPU != 0) || defined(__PGI) -# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } -#else -# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr) -#endif - - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -struct failed {}; - -// agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept -// 'assert' by reference; can't apply it unconditionally -- apparently it -// degrades the quality of GCC diagnostics -#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) -# define AUX778076_ASSERT_ARG(x) x& -#else -# define AUX778076_ASSERT_ARG(x) x -#endif - -template< bool C > struct assert { typedef void* type; }; -template<> struct assert { typedef AUX778076_ASSERT_ARG(assert) type; }; - -template< bool C > -int assertion_failed( typename assert::type ); - -template< bool C > -struct assertion -{ - static int failed( assert ); -}; - -template<> -struct assertion -{ - static int failed( void* ); -}; - -struct assert_ -{ -#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) - template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {}; -#endif - static assert_ const arg; - enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal }; -}; - - -#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) - -bool operator==( failed, failed ); -bool operator!=( failed, failed ); -bool operator>( failed, failed ); -bool operator>=( failed, failed ); -bool operator<( failed, failed ); -bool operator<=( failed, failed ); - -#if defined(__EDG_VERSION__) -template< bool (*)(failed, failed), long x, long y > struct assert_relation {}; -# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation -#else -template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > -struct assert_relation {}; -# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation -#endif - -#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES - -boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ ); -boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ ); -boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ ); -boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ ); -boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ ); -boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ ); - -template< assert_::relations r, long x, long y > struct assert_relation {}; - -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) - -template -struct extract_assert_pred; - -template -struct extract_assert_pred { typedef Pred type; }; - -template -struct eval_assert { - typedef typename extract_assert_pred::type P; - typedef typename P::type p_type; - typedef typename ::boost::mpl::if_c), - failed ************ P::************ - >::type type; -}; - -template -struct eval_assert_not { - typedef typename extract_assert_pred::type P; - typedef typename P::type p_type; - typedef typename ::boost::mpl::if_c), - failed ************ ::boost::mpl::not_

::************ - >::type type; -}; - -template< typename T > -T make_assert_arg(); - -#elif !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) - -template< bool > struct assert_arg_pred_impl { typedef int type; }; -template<> struct assert_arg_pred_impl { typedef void* type; }; - -template< typename P > struct assert_arg_pred -{ - typedef typename P::type p_type; - typedef typename assert_arg_pred_impl< p_type::value >::type type; -}; - -template< typename P > struct assert_arg_pred_not -{ - typedef typename P::type p_type; - BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value ); - typedef typename assert_arg_pred_impl

::type type; -}; - -#if defined(BOOST_GCC) && BOOST_GCC >= 80000 -#define BOOST_MPL_IGNORE_PARENTHESES_WARNING -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wparentheses" -#endif - -template< typename Pred > -failed ************ (Pred::************ - assert_arg( void (*)(Pred), typename assert_arg_pred::type ) - ); - -template< typename Pred > -failed ************ (boost::mpl::not_::************ - assert_not_arg( void (*)(Pred), typename assert_arg_pred_not::type ) - ); - -#ifdef BOOST_MPL_IGNORE_PARENTHESES_WARNING -#undef BOOST_MPL_IGNORE_PARENTHESES_WARNING -#pragma GCC diagnostic pop -#endif - -template< typename Pred > -AUX778076_ASSERT_ARG(assert) -assert_arg( void (*)(Pred), typename assert_arg_pred_not::type ); - -template< typename Pred > -AUX778076_ASSERT_ARG(assert) -assert_not_arg( void (*)(Pred), typename assert_arg_pred::type ); - - -#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER - -template< bool c, typename Pred > struct assert_arg_type_impl -{ - typedef failed ************ Pred::* mwcw83_wknd; - typedef mwcw83_wknd ************* type; -}; - -template< typename Pred > struct assert_arg_type_impl -{ - typedef AUX778076_ASSERT_ARG(assert) type; -}; - -template< typename Pred > struct assert_arg_type - : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred > -{ -}; - -template< typename Pred > -typename assert_arg_type::type -assert_arg(void (*)(Pred), int); - -template< typename Pred > -typename assert_arg_type< boost::mpl::not_ >::type -assert_not_arg(void (*)(Pred), int); - -# if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) -template< long x, long y, bool (*r)(failed, failed) > -typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type -assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) ); -# else -template< assert_::relations r, long x, long y > -typename assert_arg_type_impl< false,assert_relation >::type -assert_rel_arg( assert_relation ); -# endif - -#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER - -#undef AUX778076_ASSERT_ARG - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) - -// BOOST_MPL_ASSERT((pred)) - -#define BOOST_MPL_ASSERT(pred) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion_failed( \ - boost::mpl::make_assert_arg< \ - typename boost::mpl::eval_assert::type \ - >() \ - ) \ - ) \ - ) \ -/**/ - -// BOOST_MPL_ASSERT_NOT((pred)) - -#define BOOST_MPL_ASSERT_NOT(pred) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion_failed( \ - boost::mpl::make_assert_arg< \ - typename boost::mpl::eval_assert_not::type \ - >() \ - ) \ - ) \ - ) \ -/**/ - -#else - -// BOOST_MPL_ASSERT((pred)) - -#define BOOST_MPL_ASSERT(pred) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion_failed( \ - boost::mpl::assert_arg( (void (*) pred)0, 1 ) \ - ) \ - ) \ - ) \ -/**/ - -// BOOST_MPL_ASSERT_NOT((pred)) - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# define BOOST_MPL_ASSERT_NOT(pred) \ -enum { \ - BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion::failed( \ - boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \ - ) \ - ) \ -}\ -/**/ -#else -# define BOOST_MPL_ASSERT_NOT(pred) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion_failed( \ - boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \ - ) \ - ) \ - ) \ -/**/ -#endif - -#endif - -// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y) - -#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) - -# if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) -// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518 -# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \ -enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ - boost::mpl::assertion_failed( \ - (boost::mpl::failed ************ ( boost::mpl::assert_relation< \ - boost::mpl::assert_::relations( sizeof( \ - boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ - ) ) \ - , x \ - , y \ - >::************)) 0 ) \ - ) \ - ) \ -/**/ -# else -# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \ - boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ - ) \ - ); \ -BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ - boost::mpl::assertion_failed( \ - boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \ - boost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \ - , x \ - , y \ - >() ) \ - ) \ - ) \ - ) \ -/**/ -# endif - -# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \ -/**/ - -#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES - -# if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) -# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \ - boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \ - ) ) \ - ) \ - ) \ -/**/ -# else -# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ - boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \ - boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \ - ) \ - ) \ -/**/ -# endif - -#endif - - -// BOOST_MPL_ASSERT_MSG( (pred::value), USER_PROVIDED_MESSAGE, (types) ) - -#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) -# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \ -struct msg; \ -typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \ -{ \ - using boost::mpl::assert_::types; \ - static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ - { return 0; } \ -} BOOST_PP_CAT(mpl_assert_arg,counter); \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ - boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \ - ) \ - ) \ -/**/ -#else -# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \ -struct msg; \ -typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \ -{ \ - static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ - { return 0; } \ -} BOOST_PP_CAT(mpl_assert_arg,counter); \ -BOOST_MPL_AUX_ASSERT_CONSTANT( \ - std::size_t \ - , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ - boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \ - ) \ - ) \ -/**/ -#endif - -#if 0 -// Work around BOOST_MPL_ASSERT_MSG_IMPL generating multiple definition linker errors on VC++8. -// #if defined(BOOST_MSVC) && BOOST_MSVC < 1500 -# include -# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ -BOOST_STATIC_ASSERT_MSG( c, #msg ) \ -/**/ -#else -# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ -BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \ -/**/ -#endif - -#endif // BOOST_MPL_ASSERT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/arity.hpp deleted file mode 100644 index d13ab4aded..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/arity.hpp +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED -#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) - -# include -# include - -namespace boost { namespace mpl { namespace aux { - -// agurt, 15/mar/02: it's possible to implement the template so that it will -// "just work" and do not require any specialization, but not on the compilers -// that require the arity workaround in the first place -template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > -struct arity -{ - BOOST_STATIC_CONSTANT(int, value = N); -}; - -}}} - -#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES - -#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/compiler.hpp b/external/include/boost_1_75/boost/mpl/aux_/config/compiler.hpp deleted file mode 100644 index 3c6322b93f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/config/compiler.hpp +++ /dev/null @@ -1,66 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2008 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_CFG_COMPILER_DIR) - -# include -# include -# include -# include -# include -# include - -# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) -# define BOOST_MPL_CFG_COMPILER_DIR msvc60 - -# elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) -# define BOOST_MPL_CFG_COMPILER_DIR msvc70 - -# elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) -# define BOOST_MPL_CFG_COMPILER_DIR gcc - -# elif BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) -# if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_CFG_COMPILER_DIR bcc551 -# elif BOOST_WORKAROUND(BOOST_BORLANDC, >= 0x590) -# define BOOST_MPL_CFG_COMPILER_DIR bcc -# else -# define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590 -# endif - -# elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_MPL_CFG_COMPILER_DIR dmc - -# elif defined(__MWERKS__) -# if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_CFG_COMPILER_DIR mwcw -# else -# define BOOST_MPL_CFG_COMPILER_DIR plain -# endif - -# elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -# define BOOST_MPL_CFG_COMPILER_DIR no_ctps - -# elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) -# define BOOST_MPL_CFG_COMPILER_DIR no_ttp - -# else -# define BOOST_MPL_CFG_COMPILER_DIR plain -# endif - -#endif // BOOST_MPL_CFG_COMPILER_DIR - -#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/gcc.hpp b/external/include/boost_1_75/boost/mpl/aux_/config/gcc.hpp deleted file mode 100644 index 080495de17..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/config/gcc.hpp +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if defined(__GNUC__) && !defined(__EDG_VERSION__) -# define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__) -#else -# define BOOST_MPL_CFG_GCC 0 -#endif - -#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/has_xxx.hpp b/external/include/boost_1_75/boost/mpl/aux_/config/has_xxx.hpp deleted file mode 100644 index b0f2f8c23e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/config/has_xxx.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// Copyright David Abrahams 2002-2003 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \ - && ( defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ - || BOOST_WORKAROUND(__GNUC__, <= 2) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - ) - -# define BOOST_MPL_CFG_NO_HAS_XXX -# define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/integral.hpp b/external/include/boost_1_75/boost/mpl/aux_/config/integral.hpp deleted file mode 100644 index 47ed120eb9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/config/integral.hpp +++ /dev/null @@ -1,38 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) - -# define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS - -#endif - -#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ - ) - -# define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/intel.hpp b/external/include/boost_1_75/boost/mpl/aux_/config/intel.hpp deleted file mode 100644 index 5bd9159173..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/config/intel.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - - -// BOOST_INTEL_CXX_VERSION is defined here: -#include - -#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/workaround.hpp b/external/include/boost_1_75/boost/mpl/aux_/config/workaround.hpp deleted file mode 100644 index 82c632982d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/config/workaround.hpp +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/include_preprocessed.hpp b/external/include/boost_1_75/boost/mpl/aux_/include_preprocessed.hpp deleted file mode 100644 index c13434c8eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/include_preprocessed.hpp +++ /dev/null @@ -1,42 +0,0 @@ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) -# define AUX778076_PREPROCESSED_HEADER \ - BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ -/**/ -#else -# define AUX778076_PREPROCESSED_HEADER \ - BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ -/**/ -#endif - -#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) -# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) -# include AUX778076_INCLUDE_STRING -# undef AUX778076_INCLUDE_STRING -#else -# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) -#endif - -# undef AUX778076_PREPROCESSED_HEADER - -#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp deleted file mode 100644 index 5cb50dc0c2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp deleted file mode 100644 index 9654ee330b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/and.hpp deleted file mode 100644 index f34568902d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply.hpp deleted file mode 100644 index bce7c2c3ab..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp deleted file mode 100644 index 1ba706ff2a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp deleted file mode 100644 index 45b75c78ec..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +++ /dev/null @@ -1,461 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// - -// *Preprocessed* version of the main "apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - int N, typename F - > -struct apply_wrap_impl0; - -template< typename F, bool F_has_apply > -struct apply_wrap_impl0_bcb { - typedef typename F::template apply type; -}; - -template< typename F > -struct apply_wrap_impl0_bcb< F,true > { - typedef typename F::apply type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 0 - , F - - > -{ - typedef apply_wrap_impl0_bcb< F, aux::has_apply::value >::type type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 1 - , F - - > -{ - typedef typename F::template apply< - - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 2 - , F - - > -{ - typedef typename F::template apply< - - na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 3 - , F - - > -{ - typedef typename F::template apply< - - na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 4 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 5 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap0 - : apply_wrap_impl0< - ::boost::mpl::aux::arity< F,0 >::value - , F - - >::type -{ -}; - -template< - int N, typename F, typename T1 - > -struct apply_wrap_impl1; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 1 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 2 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 3 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 4 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 5 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap1 - : apply_wrap_impl1< - ::boost::mpl::aux::arity< F,1 >::value - , F - , T1 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2 - > -struct apply_wrap_impl2; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 2 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 3 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 4 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 5 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap2 - : apply_wrap_impl2< - ::boost::mpl::aux::arity< F,2 >::value - , F - , T1, T2 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 3 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 4 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 5 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap3 - : apply_wrap_impl3< - ::boost::mpl::aux::arity< F,3 >::value - , F - , T1, T2, T3 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 4 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 5 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap4 - : apply_wrap_impl4< - ::boost::mpl::aux::arity< F,4 >::value - , F - , T1, T2, T3, T4 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5< - 5 - , F - , T1, T2, T3, T4, T5 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4, T5 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap5 - : apply_wrap_impl5< - ::boost::mpl::aux::arity< F,5 >::value - , F - , T1, T2, T3, T4, T5 - >::type -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/arg.hpp deleted file mode 100644 index 3ac43401af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/arg.hpp +++ /dev/null @@ -1,117 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp deleted file mode 100644 index 74b0029912..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +++ /dev/null @@ -1,300 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bind.hpp deleted file mode 100644 index e769a0cb9d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bind.hpp +++ /dev/null @@ -1,397 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp deleted file mode 100644 index 962b5c98bc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitand.hpp deleted file mode 100644 index 527b6894fc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitor.hpp deleted file mode 100644 index 3f0d5caa5a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp deleted file mode 100644 index 06996c03b8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/deque.hpp deleted file mode 100644 index 06505c9360..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/divides.hpp deleted file mode 100644 index 6b4178a9c7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/divides.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp deleted file mode 100644 index 901a93c2f4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp deleted file mode 100644 index 45ab4e7c6d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp deleted file mode 100644 index 8b2bf59063..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +++ /dev/null @@ -1,558 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Arity - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg,Tag, int_< -1 > > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - , int_<1> - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - , int_<1> - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - , int_<2> - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - , int_<2> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - , int_<3> - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - , int_<3> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - , int_<4> - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - , int_<4> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - , int_<5> - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - , int_<5> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect,Tag, int_<1> > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -template< - typename F - , typename Tag1 - , typename Tag2 - , typename Arity - > -struct lambda< - lambda< F,Tag1,Arity > - , Tag2 - , int_<3> - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef bind1< quote1, typename l1::result_ > arity_; - typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; - typedef aux::le_result3 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/greater.hpp deleted file mode 100644 index 3d1c3dcead..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp deleted file mode 100644 index fb011866e7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/inherit.hpp deleted file mode 100644 index 6adcc0142e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +++ /dev/null @@ -1,139 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1, typename T2, typename T3, typename T4, typename T5 - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp deleted file mode 100644 index b767e95862..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp deleted file mode 100644 index 1dd216c8aa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp deleted file mode 100644 index 75b30ce32f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/less.hpp deleted file mode 100644 index 0b6ce1d4bf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp deleted file mode 100644 index 0010e08451..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/list.hpp deleted file mode 100644 index cbd58acd86..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/list_c.hpp deleted file mode 100644 index 495c3f7f19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/map.hpp deleted file mode 100644 index 80ef156e49..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/minus.hpp deleted file mode 100644 index cfddc15b78..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/minus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/modulus.hpp deleted file mode 100644 index eb5eff07e2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp deleted file mode 100644 index 68356eee4d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/or.hpp deleted file mode 100644 index ff7ce9fd58..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp deleted file mode 100644 index b306bbbcb9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// *Preprocessed* version of the main "placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/plus.hpp deleted file mode 100644 index 82539abc4c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/plus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/quote.hpp deleted file mode 100644 index 677a3f9bab..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/quote.hpp +++ /dev/null @@ -1,119 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// - -// *Preprocessed* version of the main "quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< typename T, bool has_type_ > -struct quote_impl - -{ - typedef typename T::type type; -}; - -template< typename T > -struct quote_impl< T,false > -{ - typedef T type; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - { - typedef typename quote_impl< - F - , aux::has_type< F >::value - >::type type; - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - { - typedef typename quote_impl< - F< U1,U2 > - , aux::has_type< F< U1,U2 > >::value - >::type type; - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - { - typedef typename quote_impl< - F< U1,U2,U3 > - , aux::has_type< F< U1,U2,U3 > >::value - >::type type; - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - { - typedef typename quote_impl< - F< U1,U2,U3,U4 > - , aux::has_type< F< U1,U2,U3,U4 > >::value - >::type type; - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - { - typedef typename quote_impl< - F< U1,U2,U3,U4,U5 > - , aux::has_type< F< U1,U2,U3,U4,U5 > >::value - >::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp deleted file mode 100644 index 372f0d260a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< long N > -struct reverse_fold_chunk; - -template<> struct reverse_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step; - -template< - typename Last - , typename State - > -struct reverse_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_fold_null_step< Last,State > - , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step -{ - typedef reverse_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl - : reverse_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp deleted file mode 100644 index 44aadf7a6d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< long N > -struct reverse_iter_fold_chunk; - -template<> struct reverse_iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step; - -template< - typename Last - , typename State - > -struct reverse_iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_iter_fold_null_step< Last,State > - , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step -{ - typedef reverse_iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl - : reverse_iter_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/set.hpp deleted file mode 100644 index ace3a4f07c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/set_c.hpp deleted file mode 100644 index 4e6993ce27..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp deleted file mode 100644 index 6d19e94ed3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp deleted file mode 100644 index dd31d97cec..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp deleted file mode 100644 index b24a0a7e7f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/times.hpp deleted file mode 100644 index ab100f1cb3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp deleted file mode 100644 index f391dc1ab8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// *Preprocessed* version of the main "unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - { - typedef typename aux::unpack_args_impl< - size::value - , F - , Args - >::type type; - - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/vector.hpp deleted file mode 100644 index 803e217850..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp deleted file mode 100644 index 643b7fd636..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// - -// *Preprocessed* version of the main "vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/and.hpp deleted file mode 100644 index 010ad1fc84..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply.hpp deleted file mode 100644 index e08eaccf03..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp deleted file mode 100644 index b2ed5d5130..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp deleted file mode 100644 index 2ffe7091bc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +++ /dev/null @@ -1,456 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - int N, typename F - > -struct apply_wrap_impl0; - -template< - typename F - > -struct apply_wrap_impl0< - 0 - , F - - > -{ - typedef typename F::template apply< - -/// since the defaults are "lost", we have to pass *something* even for nullary -/// metafunction classes - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 1 - , F - - > -{ - typedef typename F::template apply< - - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 2 - , F - - > -{ - typedef typename F::template apply< - - na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 3 - , F - - > -{ - typedef typename F::template apply< - - na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 4 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 5 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap0 - : apply_wrap_impl0< - ::boost::mpl::aux::arity< F,0 >::value - , F - - >::type -{ -}; - -template< - int N, typename F, typename T1 - > -struct apply_wrap_impl1; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 1 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 2 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 3 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 4 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 5 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap1 - : apply_wrap_impl1< - ::boost::mpl::aux::arity< F,1 >::value - , F - , T1 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2 - > -struct apply_wrap_impl2; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 2 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 3 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 4 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 5 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap2 - : apply_wrap_impl2< - ::boost::mpl::aux::arity< F,2 >::value - , F - , T1, T2 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 3 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 4 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 5 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap3 - : apply_wrap_impl3< - ::boost::mpl::aux::arity< F,3 >::value - , F - , T1, T2, T3 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 4 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 5 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap4 - : apply_wrap_impl4< - ::boost::mpl::aux::arity< F,4 >::value - , F - , T1, T2, T3, T4 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5< - 5 - , F - , T1, T2, T3, T4, T5 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4, T5 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap5 - : apply_wrap_impl5< - ::boost::mpl::aux::arity< F,5 >::value - , F - , T1, T2, T3, T4, T5 - >::type -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp deleted file mode 100644 index a29daa0bca..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +++ /dev/null @@ -1,306 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bind.hpp deleted file mode 100644 index 34b1b5c8b3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +++ /dev/null @@ -1,403 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp deleted file mode 100644 index 022cba3461..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp deleted file mode 100644 index 0bbf54ea26..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp deleted file mode 100644 index 55b31cb8a9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp deleted file mode 100644 index ec1939151d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/deque.hpp deleted file mode 100644 index de67398a37..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/divides.hpp deleted file mode 100644 index 86f16826f7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp deleted file mode 100644 index 62c994589f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp deleted file mode 100644 index 9e7a29300d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp deleted file mode 100644 index e3eef71b1e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +++ /dev/null @@ -1,558 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Arity - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg,Tag, int_< -1 > > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - , int_<1> - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - , int_<1> - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - , int_<2> - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - , int_<2> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - , int_<3> - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - , int_<3> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - , int_<4> - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - , int_<4> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - , int_<5> - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - , int_<5> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect,Tag, int_<1> > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -template< - typename F - , typename Tag1 - , typename Tag2 - , typename Arity - > -struct lambda< - lambda< F,Tag1,Arity > - , Tag2 - , int_<3> - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef bind1< quote1, typename l1::result_ > arity_; - typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; - typedef aux::le_result3 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/greater.hpp deleted file mode 100644 index 14d8e08bff..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp deleted file mode 100644 index 2603f9184a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp deleted file mode 100644 index 00f31c4226..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp deleted file mode 100644 index 805790e86d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/less.hpp deleted file mode 100644 index 4fe3cd17c4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp deleted file mode 100644 index ca2894f6f9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/list.hpp deleted file mode 100644 index 4e8ad53d21..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp deleted file mode 100644 index 0b48a7f8e1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/map.hpp deleted file mode 100644 index 837e013771..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/minus.hpp deleted file mode 100644 index 71d4913766..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp deleted file mode 100644 index 224b34930c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp deleted file mode 100644 index 98b21b1e22..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/or.hpp deleted file mode 100644 index 31e1aaa4e6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/plus.hpp deleted file mode 100644 index a9f6ee79a5..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/quote.hpp deleted file mode 100644 index e7a7f00196..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp deleted file mode 100644 index 7a07414adf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< long N > -struct reverse_fold_chunk; - -template<> struct reverse_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step; - -template< - typename Last - , typename State - > -struct reverse_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_fold_null_step< Last,State > - , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step -{ - typedef reverse_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl - : reverse_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp deleted file mode 100644 index 39a4057b77..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< long N > -struct reverse_iter_fold_chunk; - -template<> struct reverse_iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step; - -template< - typename Last - , typename State - > -struct reverse_iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_iter_fold_null_step< Last,State > - , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step -{ - typedef reverse_iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl - : reverse_iter_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/set.hpp deleted file mode 100644 index 5721922e11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp deleted file mode 100644 index cbeb932c13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp deleted file mode 100644 index b5b181ce19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp deleted file mode 100644 index f7a342e989..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp deleted file mode 100644 index 1164f0f8c2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/times.hpp deleted file mode 100644 index cb97cc4e13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp deleted file mode 100644 index ef7c2b016e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - { - typedef typename aux::unpack_args_impl< - size::value - , F - , Args - >::type type; - - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/vector.hpp deleted file mode 100644 index bfa9565a53..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp deleted file mode 100644 index 0f1560d7f1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp deleted file mode 100644 index 5cb50dc0c2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp deleted file mode 100644 index 9654ee330b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp deleted file mode 100644 index f34568902d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp deleted file mode 100644 index bce7c2c3ab..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp deleted file mode 100644 index 1ba706ff2a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp deleted file mode 100644 index d88129dadf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp +++ /dev/null @@ -1,456 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// - -// *Preprocessed* version of the main "apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - int N, typename F - > -struct apply_wrap_impl0; - -template< - typename F - > -struct apply_wrap_impl0< - 0 - , F - - > -{ - typedef typename F::template apply< - -/// since the defaults are "lost", we have to pass *something* even for nullary -/// metafunction classes - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 1 - , F - - > -{ - typedef typename F::template apply< - - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 2 - , F - - > -{ - typedef typename F::template apply< - - na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 3 - , F - - > -{ - typedef typename F::template apply< - - na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 4 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 5 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap0 - : apply_wrap_impl0< - ::boost::mpl::aux::arity< F,0 >::value - , F - - >::type -{ -}; - -template< - int N, typename F, typename T1 - > -struct apply_wrap_impl1; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 1 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 2 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 3 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 4 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 5 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap1 - : apply_wrap_impl1< - ::boost::mpl::aux::arity< F,1 >::value - , F - , T1 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2 - > -struct apply_wrap_impl2; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 2 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 3 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 4 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 5 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap2 - : apply_wrap_impl2< - ::boost::mpl::aux::arity< F,2 >::value - , F - , T1, T2 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 3 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 4 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 5 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap3 - : apply_wrap_impl3< - ::boost::mpl::aux::arity< F,3 >::value - , F - , T1, T2, T3 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 4 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 5 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap4 - : apply_wrap_impl4< - ::boost::mpl::aux::arity< F,4 >::value - , F - , T1, T2, T3, T4 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5< - 5 - , F - , T1, T2, T3, T4, T5 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4, T5 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap5 - : apply_wrap_impl5< - ::boost::mpl::aux::arity< F,5 >::value - , F - , T1, T2, T3, T4, T5 - >::type -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp deleted file mode 100644 index 3ac43401af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp +++ /dev/null @@ -1,117 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp deleted file mode 100644 index 74b0029912..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp +++ /dev/null @@ -1,300 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp deleted file mode 100644 index e769a0cb9d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp +++ /dev/null @@ -1,397 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1, typename U2, typename U3, typename U4, typename U5 - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp deleted file mode 100644 index 962b5c98bc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp deleted file mode 100644 index 527b6894fc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp deleted file mode 100644 index 3f0d5caa5a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp deleted file mode 100644 index 06996c03b8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp deleted file mode 100644 index 06505c9360..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp deleted file mode 100644 index 6b4178a9c7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp deleted file mode 100644 index 901a93c2f4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp deleted file mode 100644 index 45ab4e7c6d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp deleted file mode 100644 index 8b2bf59063..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp +++ /dev/null @@ -1,558 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Arity - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg,Tag, int_< -1 > > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - , int_<1> - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - , int_<1> - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - , int_<2> - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - , int_<2> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - , int_<3> - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - , int_<3> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - , int_<4> - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - , int_<4> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - , int_<5> - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - , int_<5> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect,Tag, int_<1> > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -template< - typename F - , typename Tag1 - , typename Tag2 - , typename Arity - > -struct lambda< - lambda< F,Tag1,Arity > - , Tag2 - , int_<3> - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef bind1< quote1, typename l1::result_ > arity_; - typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; - typedef aux::le_result3 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp deleted file mode 100644 index 3d1c3dcead..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp deleted file mode 100644 index fb011866e7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp deleted file mode 100644 index 6adcc0142e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp +++ /dev/null @@ -1,139 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1, typename T2, typename T3, typename T4, typename T5 - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp deleted file mode 100644 index b767e95862..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp deleted file mode 100644 index 1dd216c8aa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp deleted file mode 100644 index 75b30ce32f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp deleted file mode 100644 index 0b6ce1d4bf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp deleted file mode 100644 index 0010e08451..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp deleted file mode 100644 index cbd58acd86..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp deleted file mode 100644 index 495c3f7f19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp deleted file mode 100644 index 80ef156e49..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp deleted file mode 100644 index cfddc15b78..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp deleted file mode 100644 index eb5eff07e2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp deleted file mode 100644 index 68356eee4d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp deleted file mode 100644 index ff7ce9fd58..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp deleted file mode 100644 index b306bbbcb9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// *Preprocessed* version of the main "placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp deleted file mode 100644 index 82539abc4c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp deleted file mode 100644 index 7f9d18bc30..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// - -// *Preprocessed* version of the main "quote.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp deleted file mode 100644 index 372f0d260a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< long N > -struct reverse_fold_chunk; - -template<> struct reverse_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step; - -template< - typename Last - , typename State - > -struct reverse_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_fold_null_step< Last,State > - , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step -{ - typedef reverse_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl - : reverse_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp deleted file mode 100644 index 44aadf7a6d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< long N > -struct reverse_iter_fold_chunk; - -template<> struct reverse_iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step; - -template< - typename Last - , typename State - > -struct reverse_iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_iter_fold_null_step< Last,State > - , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step -{ - typedef reverse_iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl - : reverse_iter_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp deleted file mode 100644 index ace3a4f07c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp deleted file mode 100644 index 4e6993ce27..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp deleted file mode 100644 index 6d19e94ed3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp deleted file mode 100644 index dd31d97cec..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// *Preprocessed* version of the main "shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp deleted file mode 100644 index b24a0a7e7f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp deleted file mode 100644 index ab100f1cb3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp deleted file mode 100644 index f391dc1ab8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// *Preprocessed* version of the main "unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - { - typedef typename aux::unpack_args_impl< - size::value - , F - , Args - >::type type; - - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp deleted file mode 100644 index 803e217850..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// *Preprocessed* version of the main "vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp deleted file mode 100644 index 643b7fd636..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// - -// *Preprocessed* version of the main "vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/and.hpp deleted file mode 100644 index 010ad1fc84..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply.hpp deleted file mode 100644 index e08eaccf03..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp deleted file mode 100644 index b2ed5d5130..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp deleted file mode 100644 index 34d51a1a58..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +++ /dev/null @@ -1,84 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - - : F::template apply< > -{ -}; - -template< typename F > -struct apply_wrap0< F,true_ > - : F::apply -{ -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - - : F::template apply -{ -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - - : F::template apply< T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - - : F::template apply< T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - - : F::template apply< T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - - : F::template apply< T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp deleted file mode 100644 index 1e73429418..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +++ /dev/null @@ -1,406 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F, int dummy_ - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, int dummy_ - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1, int dummy_ - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, int dummy_ - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2, int dummy_ - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, int dummy_ - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, int dummy_ - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, int dummy_ - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , int dummy_ - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , int dummy_ - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, int dummy_ - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, int dummy_ - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bind.hpp deleted file mode 100644 index 94bfe1fef7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bind.hpp +++ /dev/null @@ -1,515 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F, int dummy_ - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, int dummy_ - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1, int dummy_ - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, int dummy_ - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2, int dummy_ - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, int dummy_ - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, int dummy_ - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, int dummy_ - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , int dummy_ - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , int dummy_ - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, int dummy_ - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, int dummy_ - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp deleted file mode 100644 index 181bc77faa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +++ /dev/null @@ -1,53 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, int dummy_ = 0 - > -struct bind; - -template< - typename F, int dummy_ = 0 - > -struct bind0; - -template< - typename F, typename T1, int dummy_ = 0 - > -struct bind1; - -template< - typename F, typename T1, typename T2, int dummy_ = 0 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3, int dummy_ = 0 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , int dummy_ = 0 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, int dummy_ = 0 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitand.hpp deleted file mode 100644 index 0bbf54ea26..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitor.hpp deleted file mode 100644 index 55b31cb8a9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp deleted file mode 100644 index ec1939151d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/deque.hpp deleted file mode 100644 index de67398a37..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/divides.hpp deleted file mode 100644 index 86f16826f7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/divides.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp deleted file mode 100644 index 62c994589f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp deleted file mode 100644 index 9e7a29300d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp deleted file mode 100644 index 026418ccc9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +++ /dev/null @@ -1,536 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/greater.hpp deleted file mode 100644 index 14d8e08bff..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp deleted file mode 100644 index 2603f9184a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/inherit.hpp deleted file mode 100644 index 00f31c4226..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp deleted file mode 100644 index 805790e86d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/less.hpp deleted file mode 100644 index 4fe3cd17c4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp deleted file mode 100644 index ca2894f6f9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/list.hpp deleted file mode 100644 index 4e8ad53d21..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/list_c.hpp deleted file mode 100644 index 0b48a7f8e1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/map.hpp deleted file mode 100644 index 837e013771..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/minus.hpp deleted file mode 100644 index 71d4913766..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/minus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/modulus.hpp deleted file mode 100644 index 224b34930c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp deleted file mode 100644 index 98b21b1e22..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/or.hpp deleted file mode 100644 index 31e1aaa4e6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/plus.hpp deleted file mode 100644 index a9f6ee79a5..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/plus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/quote.hpp deleted file mode 100644 index d7d0420e4d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/quote.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< typename T, bool has_type_ > -struct quote_impl - : T -{ -}; - -template< typename T > -struct quote_impl< T,false > -{ - typedef T type; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - : quote_impl< - F - , aux::has_type< F >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - : quote_impl< - F< U1,U2 > - , aux::has_type< F< U1,U2 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - : quote_impl< - F< U1,U2,U3 > - , aux::has_type< F< U1,U2,U3 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4 > - , aux::has_type< F< U1,U2,U3,U4 > >::value - > - - { - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4,U5 > - , aux::has_type< F< U1,U2,U3,U4,U5 > >::value - > - - { - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp deleted file mode 100644 index c468684c91..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp deleted file mode 100644 index 658f92a7c3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/set.hpp deleted file mode 100644 index 5721922e11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/set_c.hpp deleted file mode 100644 index cbeb932c13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp deleted file mode 100644 index b5b181ce19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp deleted file mode 100644 index f7a342e989..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp deleted file mode 100644 index a23fc23846..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/times.hpp deleted file mode 100644 index cb97cc4e13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp deleted file mode 100644 index 2194ce9d11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value,F, Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/vector.hpp deleted file mode 100644 index bfa9565a53..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp deleted file mode 100644 index 0f1560d7f1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/and.hpp deleted file mode 100644 index 010ad1fc84..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply.hpp deleted file mode 100644 index e08eaccf03..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp deleted file mode 100644 index b2ed5d5130..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp deleted file mode 100644 index 34d51a1a58..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +++ /dev/null @@ -1,84 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - - : F::template apply< > -{ -}; - -template< typename F > -struct apply_wrap0< F,true_ > - : F::apply -{ -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - - : F::template apply -{ -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - - : F::template apply< T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - - : F::template apply< T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - - : F::template apply< T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - - : F::template apply< T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp deleted file mode 100644 index b0702324aa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +++ /dev/null @@ -1,440 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -template< - template< typename T1, typename T2, typename T3 > class F, typename Tag - > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct eval_if; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< eval_if,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename eval_if< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bind.hpp deleted file mode 100644 index 0e9513a649..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bind.hpp +++ /dev/null @@ -1,561 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -template< - template< typename T1, typename T2, typename T3 > class F, typename Tag - > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct eval_if; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< eval_if,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename eval_if< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp deleted file mode 100644 index c4a5060ff8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct bind; - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitand.hpp deleted file mode 100644 index 0bbf54ea26..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitor.hpp deleted file mode 100644 index 55b31cb8a9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp deleted file mode 100644 index ec1939151d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/deque.hpp deleted file mode 100644 index de67398a37..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/divides.hpp deleted file mode 100644 index 86f16826f7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/divides.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp deleted file mode 100644 index 62c994589f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp deleted file mode 100644 index 9e7a29300d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp deleted file mode 100644 index e3eef71b1e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +++ /dev/null @@ -1,558 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Arity - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg,Tag, int_< -1 > > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - , int_<1> - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - , int_<1> - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - , int_<2> - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - , int_<2> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - , int_<3> - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - , int_<3> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - , int_<4> - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - , int_<4> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - , int_<5> - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - , int_<5> - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect,Tag, int_<1> > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - , int_<6> - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -template< - typename F - , typename Tag1 - , typename Tag2 - , typename Arity - > -struct lambda< - lambda< F,Tag1,Arity > - , Tag2 - , int_<3> - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef bind1< quote1, typename l1::result_ > arity_; - typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; - typedef aux::le_result3 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/greater.hpp deleted file mode 100644 index 14d8e08bff..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp deleted file mode 100644 index 2603f9184a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/inherit.hpp deleted file mode 100644 index 00f31c4226..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp deleted file mode 100644 index 805790e86d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/less.hpp deleted file mode 100644 index 4fe3cd17c4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp deleted file mode 100644 index ca2894f6f9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/list.hpp deleted file mode 100644 index 4e8ad53d21..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/list_c.hpp deleted file mode 100644 index 0b48a7f8e1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/map.hpp deleted file mode 100644 index 837e013771..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/minus.hpp deleted file mode 100644 index 71d4913766..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/minus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/modulus.hpp deleted file mode 100644 index 224b34930c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp deleted file mode 100644 index 98b21b1e22..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/or.hpp deleted file mode 100644 index 31e1aaa4e6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/plus.hpp deleted file mode 100644 index a9f6ee79a5..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/plus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/quote.hpp deleted file mode 100644 index 020f093965..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/quote.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< typename T, bool has_type_ > -struct quote_impl -{ - typedef typename T::type type; -}; - -template< typename T > -struct quote_impl< T,false > -{ - typedef T type; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - : quote_impl< - F - , aux::has_type< F >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - : quote_impl< - F< U1,U2 > - , aux::has_type< F< U1,U2 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - : quote_impl< - F< U1,U2,U3 > - , aux::has_type< F< U1,U2,U3 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4 > - , aux::has_type< F< U1,U2,U3,U4 > >::value - > - - { - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4,U5 > - , aux::has_type< F< U1,U2,U3,U4,U5 > >::value - > - - { - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp deleted file mode 100644 index c468684c91..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp deleted file mode 100644 index 658f92a7c3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/set.hpp deleted file mode 100644 index 5721922e11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/set_c.hpp deleted file mode 100644 index cbeb932c13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp deleted file mode 100644 index b5b181ce19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp deleted file mode 100644 index f7a342e989..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp deleted file mode 100644 index daec4b8a8e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// *Preprocessed* version of the main "template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { -template< int N > struct arity_tag -{ - typedef char (&type)[N + 1]; -}; - -template< - int C1, int C2, int C3, int C4, int C5, int C6 - > -struct max_arity -{ - BOOST_STATIC_CONSTANT(int, value = - ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) ) - ); -}; - -arity_tag<0>::type arity_helper(...); - -template< - template< typename P1 > class F - , typename T1 - > -typename arity_tag<1>::type -arity_helper(type_wrapper< F >, arity_tag<1>); - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - > -typename arity_tag<2>::type -arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>); - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - > -typename arity_tag<3>::type -arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>); - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - > -typename arity_tag<4>::type -arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>); - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - > -typename arity_tag<5>::type -arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>); - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5, typename P6 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6 - > -typename arity_tag<6>::type -arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>); -template< typename F, int N > -struct template_arity_impl -{ - BOOST_STATIC_CONSTANT(int, value = - sizeof(::boost::mpl::aux::arity_helper(type_wrapper(), arity_tag())) - 1 - ); -}; - -template< typename F > -struct template_arity -{ - BOOST_STATIC_CONSTANT(int, value = ( - max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value - )); - typedef mpl::int_ type; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/times.hpp deleted file mode 100644 index cb97cc4e13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp deleted file mode 100644 index 2194ce9d11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value,F, Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/vector.hpp deleted file mode 100644 index bfa9565a53..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp deleted file mode 100644 index 0f1560d7f1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp deleted file mode 100644 index 36337c8a34..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +++ /dev/null @@ -1,132 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp deleted file mode 100644 index 4ffbe78da7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +++ /dev/null @@ -1,132 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; - - /// ETI workaround - template<> struct apply - { - typedef int type; - }; - -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/and.hpp deleted file mode 100644 index 555c800167..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/and.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool C_ > struct and_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : false_ - { - }; -}; - -template<> struct and_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,true_ > - { - }; -}; - -template<> -struct and_impl - ::result_< true_,true_,true_,true_ > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,T5 > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply.hpp deleted file mode 100644 index a3e2929ff8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +++ /dev/null @@ -1,166 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - -{ - typedef typename apply_wrap0< - typename lambda::type - - >::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -/// workaround for ETI bug -template<> -struct apply0 -{ - typedef int type; -}; - -template< - typename F, typename T1 - > -struct apply1 - -{ - typedef typename apply_wrap1< - typename lambda::type - , T1 - >::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -/// workaround for ETI bug -template<> -struct apply1< int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - -{ - typedef typename apply_wrap2< - typename lambda::type - , T1, T2 - >::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -/// workaround for ETI bug -template<> -struct apply2< int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - -{ - typedef typename apply_wrap3< - typename lambda::type - , T1, T2, T3 - >::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -/// workaround for ETI bug -template<> -struct apply3< int,int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - -{ - typedef typename apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - >::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -/// workaround for ETI bug -template<> -struct apply4< int,int,int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - -{ - typedef typename apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - >::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// workaround for ETI bug -template<> -struct apply5< int,int,int,int,int,int > -{ - typedef int type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp deleted file mode 100644 index f0f86c1766..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp deleted file mode 100644 index 4e89507d90..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +++ /dev/null @@ -1,247 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< typename F> -struct msvc_apply0 -{ - template< bool > struct f_ : F {}; - template<> struct f_ - { - template< typename P = int > struct apply - { - typedef int type; - }; - }; - - template< typename T = int > struct result_ - : f_< aux::msvc_never_true::value > - ::template apply<> - { - }; - -}; - -template< - typename F - > -struct apply_wrap0 -{ - typedef typename msvc_apply0::template result_< - - >::type type; -}; - -/// workaround for ETI bug -template<> -struct apply_wrap0 -{ - typedef int type; -}; - -template< typename F> -struct msvc_apply1 -{ - template< bool > struct f_ : F {}; - template<> struct f_ - { - template< typename P1 > struct apply - { - typedef int type; - }; - }; - - template< typename T1 > struct result_ - : f_< aux::msvc_never_true::value > - ::template apply - { - }; -}; - -template< - typename F, typename T1 - > -struct apply_wrap1 -{ - typedef typename msvc_apply1::template result_< - T1 - >::type type; -}; - -/// workaround for ETI bug -template<> -struct apply_wrap1< int,int > -{ - typedef int type; -}; - -template< typename F> -struct msvc_apply2 -{ - template< bool > struct f_ : F {}; - template<> struct f_ - { - template< typename P1, typename P2 > struct apply - { - typedef int type; - }; - }; - - template< typename T1, typename T2 > struct result_ - : f_< aux::msvc_never_true::value > - ::template apply< T1,T2 > - { - }; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap2 -{ - typedef typename msvc_apply2::template result_< - T1, T2 - >::type type; -}; - -/// workaround for ETI bug -template<> -struct apply_wrap2< int,int,int > -{ - typedef int type; -}; - -template< typename F> -struct msvc_apply3 -{ - template< bool > struct f_ : F {}; - template<> struct f_ - { - template< typename P1, typename P2, typename P3 > struct apply - { - typedef int type; - }; - }; - - template< typename T1, typename T2, typename T3 > struct result_ - : f_< aux::msvc_never_true::value > - ::template apply< T1,T2,T3 > - { - }; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap3 -{ - typedef typename msvc_apply3::template result_< - T1, T2, T3 - >::type type; -}; - -/// workaround for ETI bug -template<> -struct apply_wrap3< int,int,int,int > -{ - typedef int type; -}; - -template< typename F> -struct msvc_apply4 -{ - template< bool > struct f_ : F {}; - template<> struct f_ - { - template< - typename P1, typename P2, typename P3, typename P4 - > - struct apply - { - typedef int type; - }; - }; - - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : f_< aux::msvc_never_true::value > - ::template apply< T1,T2,T3,T4 > - { - }; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap4 -{ - typedef typename msvc_apply4::template result_< - T1, T2, T3, T4 - >::type type; -}; - -/// workaround for ETI bug -template<> -struct apply_wrap4< int,int,int,int,int > -{ - typedef int type; -}; - -template< typename F> -struct msvc_apply5 -{ - template< bool > struct f_ : F {}; - template<> struct f_ - { - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - struct apply - { - typedef int type; - }; - }; - - template< - typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - : f_< aux::msvc_never_true::value > - ::template apply< T1,T2,T3,T4,T5 > - { - }; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap5 -{ - typedef typename msvc_apply5::template result_< - T1, T2, T3, T4, T5 - >::type type; -}; - -/// workaround for ETI bug -template<> -struct apply_wrap5< int,int,int,int,int,int > -{ - typedef int type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp deleted file mode 100644 index 4f12a40f04..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool > -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef T type; - }; -}; - -template<> -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef typename apply_wrap5< - T - , U1, U2, U3, U4, U5 - >::type type; - }; -}; - -template< typename T > struct is_bind_template; - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg - : resolve_arg_impl< is_bind_template::value > - ::template result_< T,U1,U2,U3,U4,U5 > -{ -}; - -template< int arity_ > struct bind_chooser; - -aux::no_tag is_bind_helper(...); -template< typename T > aux::no_tag is_bind_helper(protect*); - -template< int N > -aux::yes_tag is_bind_helper(arg*); - -template< bool is_ref_ = true > -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template<> -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(aux::is_bind_helper(static_cast(0))) - == sizeof(aux::yes_tag) - ); - }; -}; - -template< typename T > struct is_bind_template - : is_bind_template_impl< ::boost::detail::is_reference_impl::value > - ::template result_ -{ -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F - > -aux::yes_tag -is_bind_helper(bind0*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1 - > -aux::yes_tag -is_bind_helper(bind1< F,T1 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2 - > -aux::yes_tag -is_bind_helper(bind2< F,T1,T2 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3 - > -aux::yes_tag -is_bind_helper(bind3< F,T1,T2,T3 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -aux::yes_tag -is_bind_helper(bind4< F,T1,T2,T3,T4 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag -is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bind.hpp deleted file mode 100644 index 53c76e8f2a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +++ /dev/null @@ -1,432 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool > -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef T type; - }; -}; - -template<> -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef typename apply_wrap5< - T - , U1, U2, U3, U4, U5 - >::type type; - }; -}; - -template< typename T > struct is_bind_template; - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg - : resolve_arg_impl< is_bind_template::value > - ::template result_< T,U1,U2,U3,U4,U5 > -{ -}; - -template< typename T > -struct replace_unnamed_arg_impl -{ - template< typename Arg > struct result_ - { - typedef Arg next; - typedef T type; - }; -}; - -template<> -struct replace_unnamed_arg_impl< arg< -1 > > -{ - template< typename Arg > struct result_ - { - typedef typename next::type next; - typedef Arg type; - }; -}; - -template< typename T, typename Arg > -struct replace_unnamed_arg - : replace_unnamed_arg_impl::template result_ -{ -}; - -template< int arity_ > struct bind_chooser; - -aux::no_tag is_bind_helper(...); -template< typename T > aux::no_tag is_bind_helper(protect*); - -template< int N > -aux::yes_tag is_bind_helper(arg*); - -template< bool is_ref_ = true > -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template<> -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(aux::is_bind_helper(static_cast(0))) - == sizeof(aux::yes_tag) - ); - }; -}; - -template< typename T > struct is_bind_template - : is_bind_template_impl< ::boost::detail::is_reference_impl::value > - ::template result_ -{ -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F - > -aux::yes_tag -is_bind_helper(bind0*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1 - > -aux::yes_tag -is_bind_helper(bind1< F,T1 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2 - > -aux::yes_tag -is_bind_helper(bind2< F,T1,T2 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3 - > -aux::yes_tag -is_bind_helper(bind3< F,T1,T2,T3 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -aux::yes_tag -is_bind_helper(bind4< F,T1,T2,T3,T4 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag -is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp deleted file mode 100644 index 022cba3461..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp deleted file mode 100644 index e96cf1a726..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +++ /dev/null @@ -1,149 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct bitand_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitand_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitand_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitand_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - - : if_< - - is_na - , bitand_2< N1,N2 > - , bitand_< - bitand_2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitand_2 - : aux::msvc_eti_base< typename apply_wrap2< - bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitand_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitand_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp deleted file mode 100644 index bbc96ab7ae..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +++ /dev/null @@ -1,149 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct bitor_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitor_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitor_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitor_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - - : if_< - - is_na - , bitor_2< N1,N2 > - , bitor_< - bitor_2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitor_2 - : aux::msvc_eti_base< typename apply_wrap2< - bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitor_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitor_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp deleted file mode 100644 index 4c1429712c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +++ /dev/null @@ -1,149 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct bitxor_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitxor_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitxor_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitxor_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - - : if_< - - is_na - , bitxor_2< N1,N2 > - , bitxor_< - bitxor_2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitxor_2 - : aux::msvc_eti_base< typename apply_wrap2< - bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitxor_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitxor_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/deque.hpp deleted file mode 100644 index a0445d9dfd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct deque_chooser; - -} - -namespace aux { - -template<> -struct deque_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef vector0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_deque_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_deque_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct deque_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque_impl -{ - typedef aux::deque_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::deque_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque - : aux::deque_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::deque_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/divides.hpp deleted file mode 100644 index 7681491922..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +++ /dev/null @@ -1,148 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct divides_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct divides_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct divides_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct divides2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - - : if_< - - is_na - , divides2< N1,N2 > - , divides< - divides2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct divides2 - : aux::msvc_eti_base< typename apply_wrap2< - divides_impl< - typename divides_tag::type - , typename divides_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct divides_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::divides_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp deleted file mode 100644 index 64e9065027..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct equal_to_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct equal_to_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct equal_to_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - : aux::msvc_eti_base< typename apply_wrap2< - equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp deleted file mode 100644 index 4b3c69076a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +++ /dev/null @@ -1,293 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< int N > -struct fold_chunk; - -template<> struct fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< int N > -struct fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_step; - -template< - typename Last - , typename State - > -struct fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , fold_null_step< Last,State > - , fold_step< First,Last,State,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_step -{ - typedef fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > chunk_; - - typedef typename chunk_::state state; - typedef typename chunk_::iterator iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl - : fold_chunk - ::template result_< First,Last,State,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp deleted file mode 100644 index bf818731eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +++ /dev/null @@ -1,554 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars - -template< - typename F, typename Tag1, typename Tag2 - > -struct lambda< - lambda< F,Tag1 > - , Tag2 - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef aux::le_result2 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/greater.hpp deleted file mode 100644 index 5f5662dedd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct greater_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - : aux::msvc_eti_base< typename apply_wrap2< - greater_impl< - typename greater_tag::type - , typename greater_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp deleted file mode 100644 index ae776fcc5b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct greater_equal_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_equal_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_equal_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - : aux::msvc_eti_base< typename apply_wrap2< - greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp deleted file mode 100644 index 233a1ec30c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +++ /dev/null @@ -1,166 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C1, bool C2 > -struct inherit2_impl -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T1, T2 - { - typedef Derived type_; - }; -}; - -template<> -struct inherit2_impl< false,true > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T1 - { - typedef T1 type_; - }; -}; - -template<> -struct inherit2_impl< true,false > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T2 - { - typedef T2 type_; - }; -}; - -template<> -struct inherit2_impl< true,true > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - { - typedef T1 type_; - }; -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : aux::inherit2_impl< - is_empty_base::value - , is_empty_base::value - >::template result_< inherit2< T1,T2 >,T1, T2 > -{ - typedef typename inherit2::type_ type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp deleted file mode 100644 index 69aadc46b6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +++ /dev/null @@ -1,293 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< int N > -struct iter_fold_chunk; - -template<> struct iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< int N > -struct iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_step; - -template< - typename Last - , typename State - > -struct iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , iter_fold_null_step< Last,State > - , iter_fold_step< First,Last,State,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_step -{ - typedef iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > chunk_; - - typedef typename chunk_::state state; - typedef typename chunk_::iterator iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl - : iter_fold_chunk - ::template result_< First,Last,State,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/less.hpp deleted file mode 100644 index 951f060827..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/less.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct less_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - : aux::msvc_eti_base< typename apply_wrap2< - less_impl< - typename less_tag::type - , typename less_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > - BOOST_MPL_AUX_VALUE_WKND(N1)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp deleted file mode 100644 index a56e692e3e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct less_equal_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_equal_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_equal_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - : aux::msvc_eti_base< typename apply_wrap2< - less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/list.hpp deleted file mode 100644 index e5ea456c9e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/list.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct list_chooser; - -} - -namespace aux { - -template<> -struct list_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef list0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_list_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_list_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct list_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list_impl -{ - typedef aux::list_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::list_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list - : aux::list_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::list_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp deleted file mode 100644 index ab25482f55..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct list_c_chooser; - -} - -namespace aux { - -template<> -struct list_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list1_c< - T, C0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list2_c< - T, C0, C1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list3_c< - T, C0, C1, C2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list4_c< - T, C0, C1, C2, C3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list5_c< - T, C0, C1, C2, C3, C4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list6_c< - T, C0, C1, C2, C3, C4, C5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list7_c< - T, C0, C1, C2, C3, C4, C5, C6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list8_c< - T, C0, C1, C2, C3, C4, C5, C6, C7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list9_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list10_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list11_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list12_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list13_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_list_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_list_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct list_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c_impl -{ - typedef aux::list_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::list_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c - : aux::list_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::list_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/map.hpp deleted file mode 100644 index 970e0b7602..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/map.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct map_chooser; - -} - -namespace aux { - -template<> -struct map_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef map0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_map_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_map_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct map_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map_impl -{ - typedef aux::map_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::map_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map - : aux::map_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::map_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/minus.hpp deleted file mode 100644 index b47f328574..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +++ /dev/null @@ -1,148 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct minus_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct minus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct minus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct minus2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - - : if_< - - is_na - , minus2< N1,N2 > - , minus< - minus2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct minus2 - : aux::msvc_eti_base< typename apply_wrap2< - minus_impl< - typename minus_tag::type - , typename minus_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct minus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::minus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp deleted file mode 100644 index c12b3f9ff6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +++ /dev/null @@ -1,115 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct modulus_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct modulus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct modulus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - : aux::msvc_eti_base< typename apply_wrap2< - modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct modulus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::modulus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp deleted file mode 100644 index 6e56b1e89f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct not_equal_to_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct not_equal_to_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct not_equal_to_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - : aux::msvc_eti_base< typename apply_wrap2< - not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/or.hpp deleted file mode 100644 index 3f7394e7cc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/or.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool C_ > struct or_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : true_ - { - }; -}; - -template<> struct or_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,false_ > - { - }; -}; - -template<> -struct or_impl - ::result_< false_,false_,false_,false_ > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,T5 > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/plus.hpp deleted file mode 100644 index 105233537b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +++ /dev/null @@ -1,148 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct plus_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct plus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct plus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct plus2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - - : if_< - - is_na - , plus2< N1,N2 > - , plus< - plus2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct plus2 - : aux::msvc_eti_base< typename apply_wrap2< - plus_impl< - typename plus_tag::type - , typename plus_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct plus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::plus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/quote.hpp deleted file mode 100644 index e7a7f00196..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp deleted file mode 100644 index adf15b633d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +++ /dev/null @@ -1,343 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< long N > -struct reverse_fold_chunk; - -template<> struct reverse_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< long N > -struct reverse_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step; - -template< - typename Last - , typename State - > -struct reverse_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_fold_null_step< Last,State > - , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step -{ - typedef reverse_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl - : reverse_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp deleted file mode 100644 index 208ad97069..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,343 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< long N > -struct reverse_iter_fold_chunk; - -template<> struct reverse_iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template<> struct reverse_iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< long N > -struct reverse_iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step; - -template< - typename Last - , typename State - > -struct reverse_iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_iter_fold_null_step< Last,State > - , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; - - /// ETI workaround - template<> struct result_< int,int,int,int,int > - { - typedef int state; - typedef int iterator; - }; - -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step -{ - typedef reverse_iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl - : reverse_iter_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/set.hpp deleted file mode 100644 index 95aaa5cbdf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/set.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct set_chooser; - -} - -namespace aux { - -template<> -struct set_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef set0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_set_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_set_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct set_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set_impl -{ - typedef aux::set_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::set_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set - : aux::set_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::set_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp deleted file mode 100644 index 1ff34f9032..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct set_c_chooser; - -} - -namespace aux { - -template<> -struct set_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set1_c< - T, C0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set2_c< - T, C0, C1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set3_c< - T, C0, C1, C2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set4_c< - T, C0, C1, C2, C3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set5_c< - T, C0, C1, C2, C3, C4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set6_c< - T, C0, C1, C2, C3, C4, C5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set7_c< - T, C0, C1, C2, C3, C4, C5, C6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set8_c< - T, C0, C1, C2, C3, C4, C5, C6, C7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set9_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set10_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set11_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set12_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set13_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_set_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_set_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct set_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c_impl -{ - typedef aux::set_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::set_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c - : aux::set_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::set_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp deleted file mode 100644 index 3861ca1db1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +++ /dev/null @@ -1,114 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct shift_left_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_left_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_left_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - : aux::msvc_eti_base< typename apply_wrap2< - shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, typename Shift, T n, Shift s > -struct shift_left_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n << s)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - : aux::shift_left_wknd< - typename N::value_type - , typename S::value_type - , N::value - , S::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp deleted file mode 100644 index 24ea0948e7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +++ /dev/null @@ -1,114 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct shift_right_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_right_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_right_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - : aux::msvc_eti_base< typename apply_wrap2< - shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, typename Shift, T n, Shift s > -struct shift_right_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n >> s)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - : aux::shift_right_wknd< - typename N::value_type - , typename S::value_type - , N::value - , S::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp deleted file mode 100644 index 1668771349..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -template<> -struct template_arity - : mpl::int_< -1 > -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/times.hpp deleted file mode 100644 index dee7fd4427..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/times.hpp +++ /dev/null @@ -1,148 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct times_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct times_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct times_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct times2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - - : if_< - - is_na - , times2< N1,N2 > - , times< - times2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct times2 - : aux::msvc_eti_base< typename apply_wrap2< - times_impl< - typename times_tag::type - , typename times_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct times_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::times_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp deleted file mode 100644 index 26533dd423..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +++ /dev/null @@ -1,109 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl -{ - template< typename F, typename Args > struct apply; -}; - -template<> struct unpack_args_impl<0> -{ - template< typename F, typename Args > struct apply - : apply0< - F - > - { - }; -}; - -template<> struct unpack_args_impl<1> -{ - template< typename F, typename Args > struct apply - : apply1< - F - , typename at_c< Args,0 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<2> -{ - template< typename F, typename Args > struct apply - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<3> -{ - template< typename F, typename Args > struct apply - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<4> -{ - template< typename F, typename Args > struct apply - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<5> -{ - template< typename F, typename Args > struct apply - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > - { - }; -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value > - ::template apply< F,Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/vector.hpp deleted file mode 100644 index a6c7b6219a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct vector_chooser; - -} - -namespace aux { - -template<> -struct vector_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef vector0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_vector_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_vector_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct vector_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector_impl -{ - typedef aux::vector_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::vector_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector - : aux::vector_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::vector_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp deleted file mode 100644 index c522d0826f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct vector_c_chooser; - -} - -namespace aux { - -template<> -struct vector_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector1_c< - T, T(C0) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector2_c< - T, T(C0), T(C1) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector3_c< - T, T(C0), T(C1), T(C2) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector4_c< - T, T(C0), T(C1), T(C2), T(C3) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector5_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector6_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector7_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector8_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector9_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector10_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector11_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector12_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector13_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector14_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector15_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector16_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector17_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector18_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector19_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector20_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_vector_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_vector_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct vector_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c_impl -{ - typedef aux::vector_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::vector_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c - : aux::vector_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::vector_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/and.hpp deleted file mode 100644 index e58640a41c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/and.hpp +++ /dev/null @@ -1,71 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool C_ > struct and_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : false_ - { - }; -}; - -template<> struct and_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,true_ > - { - }; - - template<> struct result_< true_,true_,true_,true_ > - : true_ - { - }; -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,T5 > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply.hpp deleted file mode 100644 index d46d030968..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +++ /dev/null @@ -1,160 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -/// workaround for ETI bug -template<> -struct apply0 -{ - typedef int type; -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -/// workaround for ETI bug -template<> -struct apply1< int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -/// workaround for ETI bug -template<> -struct apply2< int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -/// workaround for ETI bug -template<> -struct apply3< int,int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -/// workaround for ETI bug -template<> -struct apply4< int,int,int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// workaround for ETI bug -template<> -struct apply5< int,int,int,int,int,int > -{ - typedef int type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp deleted file mode 100644 index f0f86c1766..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp deleted file mode 100644 index d30751793c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +++ /dev/null @@ -1,138 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - -{ - typedef typename F::template apply< - - >::type type; - -}; - -/// workaround for ETI bug -template<> -struct apply_wrap0 -{ - typedef int type; -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - -{ - typedef typename F::template apply< - T1 - >::type type; - -}; - -/// workaround for ETI bug -template<> -struct apply_wrap1< int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - -{ - typedef typename F::template apply< - T1, T2 - >::type type; - -}; - -/// workaround for ETI bug -template<> -struct apply_wrap2< int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - -{ - typedef typename F::template apply< - T1, T2, T3 - >::type type; - -}; - -/// workaround for ETI bug -template<> -struct apply_wrap3< int,int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - -{ - typedef typename F::template apply< - T1, T2, T3, T4 - >::type type; - -}; - -/// workaround for ETI bug -template<> -struct apply_wrap4< int,int,int,int,int > -{ - typedef int type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - -{ - typedef typename F::template apply< - T1, T2, T3, T4, T5 - >::type type; - -}; - -/// workaround for ETI bug -template<> -struct apply_wrap5< int,int,int,int,int,int > -{ - typedef int type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp deleted file mode 100644 index 4f12a40f04..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool > -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef T type; - }; -}; - -template<> -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef typename apply_wrap5< - T - , U1, U2, U3, U4, U5 - >::type type; - }; -}; - -template< typename T > struct is_bind_template; - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg - : resolve_arg_impl< is_bind_template::value > - ::template result_< T,U1,U2,U3,U4,U5 > -{ -}; - -template< int arity_ > struct bind_chooser; - -aux::no_tag is_bind_helper(...); -template< typename T > aux::no_tag is_bind_helper(protect*); - -template< int N > -aux::yes_tag is_bind_helper(arg*); - -template< bool is_ref_ = true > -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template<> -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(aux::is_bind_helper(static_cast(0))) - == sizeof(aux::yes_tag) - ); - }; -}; - -template< typename T > struct is_bind_template - : is_bind_template_impl< ::boost::detail::is_reference_impl::value > - ::template result_ -{ -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F - > -aux::yes_tag -is_bind_helper(bind0*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1 - > -aux::yes_tag -is_bind_helper(bind1< F,T1 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2 - > -aux::yes_tag -is_bind_helper(bind2< F,T1,T2 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3 - > -aux::yes_tag -is_bind_helper(bind3< F,T1,T2,T3 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -aux::yes_tag -is_bind_helper(bind4< F,T1,T2,T3,T4 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag -is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bind.hpp deleted file mode 100644 index 53c76e8f2a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +++ /dev/null @@ -1,432 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool > -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef T type; - }; -}; - -template<> -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef typename apply_wrap5< - T - , U1, U2, U3, U4, U5 - >::type type; - }; -}; - -template< typename T > struct is_bind_template; - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg - : resolve_arg_impl< is_bind_template::value > - ::template result_< T,U1,U2,U3,U4,U5 > -{ -}; - -template< typename T > -struct replace_unnamed_arg_impl -{ - template< typename Arg > struct result_ - { - typedef Arg next; - typedef T type; - }; -}; - -template<> -struct replace_unnamed_arg_impl< arg< -1 > > -{ - template< typename Arg > struct result_ - { - typedef typename next::type next; - typedef Arg type; - }; -}; - -template< typename T, typename Arg > -struct replace_unnamed_arg - : replace_unnamed_arg_impl::template result_ -{ -}; - -template< int arity_ > struct bind_chooser; - -aux::no_tag is_bind_helper(...); -template< typename T > aux::no_tag is_bind_helper(protect*); - -template< int N > -aux::yes_tag is_bind_helper(arg*); - -template< bool is_ref_ = true > -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template<> -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(aux::is_bind_helper(static_cast(0))) - == sizeof(aux::yes_tag) - ); - }; -}; - -template< typename T > struct is_bind_template - : is_bind_template_impl< ::boost::detail::is_reference_impl::value > - ::template result_ -{ -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F - > -aux::yes_tag -is_bind_helper(bind0*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1 - > -aux::yes_tag -is_bind_helper(bind1< F,T1 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2 - > -aux::yes_tag -is_bind_helper(bind2< F,T1,T2 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3 - > -aux::yes_tag -is_bind_helper(bind3< F,T1,T2,T3 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -aux::yes_tag -is_bind_helper(bind4< F,T1,T2,T3,T4 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag -is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp deleted file mode 100644 index 022cba3461..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp deleted file mode 100644 index e54b4ce1d4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +++ /dev/null @@ -1,151 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct bitand_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitand_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitand_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitand_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - - : aux::msvc_eti_base< typename if_< - - is_na - , bitand_2< N1,N2 > - , bitand_< - bitand_2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitand_2 - : aux::msvc_eti_base< typename apply_wrap2< - bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitand_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitand_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp deleted file mode 100644 index 3b465b332a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +++ /dev/null @@ -1,151 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct bitor_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitor_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitor_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitor_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - - : aux::msvc_eti_base< typename if_< - - is_na - , bitor_2< N1,N2 > - , bitor_< - bitor_2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitor_2 - : aux::msvc_eti_base< typename apply_wrap2< - bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitor_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitor_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp deleted file mode 100644 index f7c5d439c8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +++ /dev/null @@ -1,151 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct bitxor_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitxor_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitxor_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitxor_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - - : aux::msvc_eti_base< typename if_< - - is_na - , bitxor_2< N1,N2 > - , bitxor_< - bitxor_2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitxor_2 - : aux::msvc_eti_base< typename apply_wrap2< - bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitxor_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitxor_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/deque.hpp deleted file mode 100644 index a0445d9dfd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct deque_chooser; - -} - -namespace aux { - -template<> -struct deque_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef vector0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_deque_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_deque_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct deque_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque_impl -{ - typedef aux::deque_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::deque_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque - : aux::deque_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::deque_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/divides.hpp deleted file mode 100644 index 0c60c4317a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +++ /dev/null @@ -1,150 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct divides_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct divides_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct divides_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct divides2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - - : aux::msvc_eti_base< typename if_< - - is_na - , divides2< N1,N2 > - , divides< - divides2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct divides2 - : aux::msvc_eti_base< typename apply_wrap2< - divides_impl< - typename divides_tag::type - , typename divides_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct divides_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::divides_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp deleted file mode 100644 index 107912b17f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct equal_to_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct equal_to_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct equal_to_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - : aux::msvc_eti_base< typename apply_wrap2< - equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp deleted file mode 100644 index 58066d81f6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +++ /dev/null @@ -1,245 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< int N > -struct fold_chunk; - -template<> struct fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; - }; -}; - -template<> struct fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; - }; -}; - -template<> struct fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; - }; -}; - -template<> struct fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; - }; -}; - -template< int N > -struct fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_step; - -template< - typename Last - , typename State - > -struct fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , fold_null_step< Last,State > - , fold_step< First,Last,State,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_step -{ - typedef fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > chunk_; - - typedef typename chunk_::state state; - typedef typename chunk_::iterator iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl - : fold_chunk - ::template result_< First,Last,State,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp deleted file mode 100644 index bf818731eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +++ /dev/null @@ -1,554 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars - -template< - typename F, typename Tag1, typename Tag2 - > -struct lambda< - lambda< F,Tag1 > - , Tag2 - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef aux::le_result2 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/greater.hpp deleted file mode 100644 index f60a86064a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct greater_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - : aux::msvc_eti_base< typename apply_wrap2< - greater_impl< - typename greater_tag::type - , typename greater_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp deleted file mode 100644 index 2ab09fd562..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct greater_equal_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_equal_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_equal_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - : aux::msvc_eti_base< typename apply_wrap2< - greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp deleted file mode 100644 index 233a1ec30c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +++ /dev/null @@ -1,166 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C1, bool C2 > -struct inherit2_impl -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T1, T2 - { - typedef Derived type_; - }; -}; - -template<> -struct inherit2_impl< false,true > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T1 - { - typedef T1 type_; - }; -}; - -template<> -struct inherit2_impl< true,false > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T2 - { - typedef T2 type_; - }; -}; - -template<> -struct inherit2_impl< true,true > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - { - typedef T1 type_; - }; -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : aux::inherit2_impl< - is_empty_base::value - , is_empty_base::value - >::template result_< inherit2< T1,T2 >,T1, T2 > -{ - typedef typename inherit2::type_ type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp deleted file mode 100644 index 50ea754f2e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +++ /dev/null @@ -1,245 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< int N > -struct iter_fold_chunk; - -template<> struct iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; - }; -}; - -template<> struct iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; - }; -}; - -template<> struct iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; - }; -}; - -template<> struct iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; - }; -}; - -template< int N > -struct iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_step; - -template< - typename Last - , typename State - > -struct iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , iter_fold_null_step< Last,State > - , iter_fold_step< First,Last,State,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_step -{ - typedef iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > chunk_; - - typedef typename chunk_::state state; - typedef typename chunk_::iterator iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl - : iter_fold_chunk - ::template result_< First,Last,State,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/less.hpp deleted file mode 100644 index 72338def7e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/less.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct less_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - : aux::msvc_eti_base< typename apply_wrap2< - less_impl< - typename less_tag::type - , typename less_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > - BOOST_MPL_AUX_VALUE_WKND(N1)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp deleted file mode 100644 index b588697559..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct less_equal_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_equal_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_equal_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - : aux::msvc_eti_base< typename apply_wrap2< - less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/list.hpp deleted file mode 100644 index e5ea456c9e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/list.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct list_chooser; - -} - -namespace aux { - -template<> -struct list_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef list0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_list_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_list_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct list_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list_impl -{ - typedef aux::list_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::list_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list - : aux::list_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::list_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp deleted file mode 100644 index ab25482f55..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct list_c_chooser; - -} - -namespace aux { - -template<> -struct list_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list1_c< - T, C0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list2_c< - T, C0, C1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list3_c< - T, C0, C1, C2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list4_c< - T, C0, C1, C2, C3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list5_c< - T, C0, C1, C2, C3, C4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list6_c< - T, C0, C1, C2, C3, C4, C5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list7_c< - T, C0, C1, C2, C3, C4, C5, C6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list8_c< - T, C0, C1, C2, C3, C4, C5, C6, C7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list9_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list10_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list11_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list12_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list13_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_list_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_list_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct list_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c_impl -{ - typedef aux::list_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::list_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c - : aux::list_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::list_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/map.hpp deleted file mode 100644 index 970e0b7602..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/map.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct map_chooser; - -} - -namespace aux { - -template<> -struct map_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef map0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_map_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_map_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct map_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map_impl -{ - typedef aux::map_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::map_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map - : aux::map_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::map_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/minus.hpp deleted file mode 100644 index 3237fa6847..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +++ /dev/null @@ -1,150 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct minus_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct minus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct minus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct minus2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - - : aux::msvc_eti_base< typename if_< - - is_na - , minus2< N1,N2 > - , minus< - minus2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct minus2 - : aux::msvc_eti_base< typename apply_wrap2< - minus_impl< - typename minus_tag::type - , typename minus_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct minus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::minus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp deleted file mode 100644 index 9c672c0f19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +++ /dev/null @@ -1,115 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct modulus_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct modulus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct modulus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - : aux::msvc_eti_base< typename apply_wrap2< - modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct modulus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::modulus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp deleted file mode 100644 index 1e48e7f7af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +++ /dev/null @@ -1,102 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct not_equal_to_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct not_equal_to_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct not_equal_to_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - : aux::msvc_eti_base< typename apply_wrap2< - not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/or.hpp deleted file mode 100644 index 8d0ba0a47a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/or.hpp +++ /dev/null @@ -1,71 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool C_ > struct or_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : true_ - { - }; -}; - -template<> struct or_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,false_ > - { - }; - - template<> struct result_< false_,false_,false_,false_ > - : false_ - { - }; -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,T5 > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/plus.hpp deleted file mode 100644 index c8f3355e75..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +++ /dev/null @@ -1,150 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct plus_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct plus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct plus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct plus2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - - : aux::msvc_eti_base< typename if_< - - is_na - , plus2< N1,N2 > - , plus< - plus2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct plus2 - : aux::msvc_eti_base< typename apply_wrap2< - plus_impl< - typename plus_tag::type - , typename plus_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct plus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::plus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/quote.hpp deleted file mode 100644 index b85880ffdd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +++ /dev/null @@ -1,116 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { -template< bool > struct quote_impl -{ - template< typename T > struct result_ - : T - { - }; -}; - -template<> struct quote_impl -{ - template< typename T > struct result_ - { - typedef T type; - }; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - : quote_impl< aux::has_type< F >::value > - ::template result_< F > - - { - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - : quote_impl< aux::has_type< F< U1,U2 > >::value > - ::template result_< F< U1,U2 > > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - : quote_impl< aux::has_type< F< U1,U2,U3 > >::value > - ::template result_< F< U1,U2,U3 > > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value > - ::template result_< F< U1,U2,U3,U4 > > - - { - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value > - ::template result_< F< U1,U2,U3,U4,U5 > > - - { - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp deleted file mode 100644 index 7a07414adf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< long N > -struct reverse_fold_chunk; - -template<> struct reverse_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step; - -template< - typename Last - , typename State - > -struct reverse_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_fold_null_step< Last,State > - , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step -{ - typedef reverse_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl - : reverse_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp deleted file mode 100644 index 39a4057b77..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< long N > -struct reverse_iter_fold_chunk; - -template<> struct reverse_iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step; - -template< - typename Last - , typename State - > -struct reverse_iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_iter_fold_null_step< Last,State > - , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step -{ - typedef reverse_iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl - : reverse_iter_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/set.hpp deleted file mode 100644 index 95aaa5cbdf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/set.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct set_chooser; - -} - -namespace aux { - -template<> -struct set_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef set0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_set_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_set_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct set_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set_impl -{ - typedef aux::set_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::set_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set - : aux::set_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::set_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp deleted file mode 100644 index 1ff34f9032..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct set_c_chooser; - -} - -namespace aux { - -template<> -struct set_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set1_c< - T, C0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set2_c< - T, C0, C1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set3_c< - T, C0, C1, C2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set4_c< - T, C0, C1, C2, C3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set5_c< - T, C0, C1, C2, C3, C4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set6_c< - T, C0, C1, C2, C3, C4, C5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set7_c< - T, C0, C1, C2, C3, C4, C5, C6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set8_c< - T, C0, C1, C2, C3, C4, C5, C6, C7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set9_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set10_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set11_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set12_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set13_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_set_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_set_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct set_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c_impl -{ - typedef aux::set_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::set_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c - : aux::set_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::set_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp deleted file mode 100644 index 176fc00007..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +++ /dev/null @@ -1,114 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct shift_left_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_left_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_left_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - : aux::msvc_eti_base< typename apply_wrap2< - shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, typename Shift, T n, Shift s > -struct shift_left_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n << s)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - : aux::shift_left_wknd< - typename N::value_type - , typename S::value_type - , N::value - , S::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp deleted file mode 100644 index 6b6e01ff36..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +++ /dev/null @@ -1,114 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct shift_right_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_right_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_right_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag - : tag< T,na > -{ -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - : aux::msvc_eti_base< typename apply_wrap2< - shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, typename Shift, T n, Shift s > -struct shift_right_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n >> s)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - : aux::shift_right_wknd< - typename N::value_type - , typename S::value_type - , N::value - , S::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp deleted file mode 100644 index 1668771349..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -template<> -struct template_arity - : mpl::int_< -1 > -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/times.hpp deleted file mode 100644 index a6ae333cca..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/times.hpp +++ /dev/null @@ -1,150 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - - , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value - , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value - > -struct times_impl - : if_c< - ( tag1_ > tag2_ ) - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct times_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct times_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag - : tag< T,na > -{ -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct times2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - - : aux::msvc_eti_base< typename if_< - - is_na - , times2< N1,N2 > - , times< - times2< N1,N2 > - , N3, N4, N5 - > - >::type - - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct times2 - : aux::msvc_eti_base< typename apply_wrap2< - times_impl< - typename times_tag::type - , typename times_tag::type - > - , N1 - , N2 - >::type >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct times_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::times_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp deleted file mode 100644 index 26533dd423..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +++ /dev/null @@ -1,109 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl -{ - template< typename F, typename Args > struct apply; -}; - -template<> struct unpack_args_impl<0> -{ - template< typename F, typename Args > struct apply - : apply0< - F - > - { - }; -}; - -template<> struct unpack_args_impl<1> -{ - template< typename F, typename Args > struct apply - : apply1< - F - , typename at_c< Args,0 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<2> -{ - template< typename F, typename Args > struct apply - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<3> -{ - template< typename F, typename Args > struct apply - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<4> -{ - template< typename F, typename Args > struct apply - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<5> -{ - template< typename F, typename Args > struct apply - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > - { - }; -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value > - ::template apply< F,Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/vector.hpp deleted file mode 100644 index a6c7b6219a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct vector_chooser; - -} - -namespace aux { - -template<> -struct vector_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef vector0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_vector_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_vector_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct vector_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector_impl -{ - typedef aux::vector_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::vector_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector - : aux::vector_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::vector_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp deleted file mode 100644 index c522d0826f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct vector_c_chooser; - -} - -namespace aux { - -template<> -struct vector_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector1_c< - T, T(C0) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector2_c< - T, T(C0), T(C1) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector3_c< - T, T(C0), T(C1), T(C2) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector4_c< - T, T(C0), T(C1), T(C2), T(C3) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector5_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector6_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector7_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector8_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector9_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector10_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector11_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector12_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector13_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector14_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector15_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector16_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector17_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector18_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector19_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector20_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_vector_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_vector_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct vector_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c_impl -{ - typedef aux::vector_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::vector_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c - : aux::vector_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::vector_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/and.hpp deleted file mode 100644 index 010ad1fc84..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply.hpp deleted file mode 100644 index e08eaccf03..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp deleted file mode 100644 index b2ed5d5130..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp deleted file mode 100644 index 2ffe7091bc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +++ /dev/null @@ -1,456 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - int N, typename F - > -struct apply_wrap_impl0; - -template< - typename F - > -struct apply_wrap_impl0< - 0 - , F - - > -{ - typedef typename F::template apply< - -/// since the defaults are "lost", we have to pass *something* even for nullary -/// metafunction classes - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 1 - , F - - > -{ - typedef typename F::template apply< - - na - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 2 - , F - - > -{ - typedef typename F::template apply< - - na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 3 - , F - - > -{ - typedef typename F::template apply< - - na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 4 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap_impl0< - 5 - , F - - > -{ - typedef typename F::template apply< - - na, na, na, na, na - - > type; -}; - -template< - typename F - > -struct apply_wrap0 - : apply_wrap_impl0< - ::boost::mpl::aux::arity< F,0 >::value - , F - - >::type -{ -}; - -template< - int N, typename F, typename T1 - > -struct apply_wrap_impl1; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 1 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 2 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 3 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 4 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap_impl1< - 5 - , F - , T1 - > -{ - typedef typename F::template apply< - T1 - , na, na, na, na - - > type; -}; - -template< - typename F, typename T1 - > -struct apply_wrap1 - : apply_wrap_impl1< - ::boost::mpl::aux::arity< F,1 >::value - , F - , T1 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2 - > -struct apply_wrap_impl2; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 2 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 3 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 4 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap_impl2< - 5 - , F - , T1, T2 - > -{ - typedef typename F::template apply< - T1, T2 - - , na, na, na - - > type; -}; - -template< - typename F, typename T1, typename T2 - > -struct apply_wrap2 - : apply_wrap_impl2< - ::boost::mpl::aux::arity< F,2 >::value - , F - , T1, T2 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 3 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 4 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap_impl3< - 5 - , F - , T1, T2, T3 - > -{ - typedef typename F::template apply< - T1, T2, T3 - - , na, na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply_wrap3 - : apply_wrap_impl3< - ::boost::mpl::aux::arity< F,3 >::value - , F - , T1, T2, T3 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 4 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap_impl4< - 5 - , F - , T1, T2, T3, T4 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4 - - , na - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply_wrap4 - : apply_wrap_impl4< - ::boost::mpl::aux::arity< F,4 >::value - , F - , T1, T2, T3, T4 - >::type -{ -}; - -template< - int N, typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap_impl5< - 5 - , F - , T1, T2, T3, T4, T5 - > -{ - typedef typename F::template apply< - T1, T2, T3, T4, T5 - - > type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply_wrap5 - : apply_wrap_impl5< - ::boost::mpl::aux::arity< F,5 >::value - , F - , T1, T2, T3, T4, T5 - >::type -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp deleted file mode 100644 index b0702324aa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +++ /dev/null @@ -1,440 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -template< - template< typename T1, typename T2, typename T3 > class F, typename Tag - > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct eval_if; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< eval_if,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename eval_if< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bind.hpp deleted file mode 100644 index 0e9513a649..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +++ /dev/null @@ -1,561 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -template< - template< typename T1, typename T2, typename T3 > class F, typename Tag - > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct eval_if; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< eval_if,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename eval_if< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp deleted file mode 100644 index c4a5060ff8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct bind; - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp deleted file mode 100644 index 0bbf54ea26..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp deleted file mode 100644 index 55b31cb8a9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp deleted file mode 100644 index ec1939151d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/deque.hpp deleted file mode 100644 index de67398a37..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/divides.hpp deleted file mode 100644 index 86f16826f7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp deleted file mode 100644 index 62c994589f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp deleted file mode 100644 index 9e7a29300d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp deleted file mode 100644 index bf818731eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +++ /dev/null @@ -1,554 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars - -template< - typename F, typename Tag1, typename Tag2 - > -struct lambda< - lambda< F,Tag1 > - , Tag2 - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef aux::le_result2 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/greater.hpp deleted file mode 100644 index 14d8e08bff..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp deleted file mode 100644 index 2603f9184a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp deleted file mode 100644 index 00f31c4226..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp deleted file mode 100644 index 805790e86d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/less.hpp deleted file mode 100644 index 4fe3cd17c4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp deleted file mode 100644 index ca2894f6f9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/list.hpp deleted file mode 100644 index 4e8ad53d21..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp deleted file mode 100644 index 0b48a7f8e1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/map.hpp deleted file mode 100644 index 837e013771..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/minus.hpp deleted file mode 100644 index 71d4913766..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp deleted file mode 100644 index 224b34930c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp deleted file mode 100644 index 98b21b1e22..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/or.hpp deleted file mode 100644 index 31e1aaa4e6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/plus.hpp deleted file mode 100644 index a9f6ee79a5..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/quote.hpp deleted file mode 100644 index d7d0420e4d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< typename T, bool has_type_ > -struct quote_impl - : T -{ -}; - -template< typename T > -struct quote_impl< T,false > -{ - typedef T type; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - : quote_impl< - F - , aux::has_type< F >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - : quote_impl< - F< U1,U2 > - , aux::has_type< F< U1,U2 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - : quote_impl< - F< U1,U2,U3 > - , aux::has_type< F< U1,U2,U3 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4 > - , aux::has_type< F< U1,U2,U3,U4 > >::value - > - - { - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4,U5 > - , aux::has_type< F< U1,U2,U3,U4,U5 > >::value - > - - { - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp deleted file mode 100644 index c468684c91..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp deleted file mode 100644 index 658f92a7c3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/set.hpp deleted file mode 100644 index 5721922e11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp deleted file mode 100644 index cbeb932c13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp deleted file mode 100644 index b5b181ce19..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp deleted file mode 100644 index f7a342e989..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp deleted file mode 100644 index a23fc23846..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/times.hpp deleted file mode 100644 index cb97cc4e13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/times.hpp +++ /dev/null @@ -1,146 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp deleted file mode 100644 index 2194ce9d11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value,F, Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/vector.hpp deleted file mode 100644 index bfa9565a53..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp deleted file mode 100644 index 0f1560d7f1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/and.hpp deleted file mode 100644 index 555c800167..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool C_ > struct and_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : false_ - { - }; -}; - -template<> struct and_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,true_ > - { - }; -}; - -template<> -struct and_impl - ::result_< true_,true_,true_,true_ > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,T5 > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp deleted file mode 100644 index 9838e799b5..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +++ /dev/null @@ -1,268 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -namespace aux { - -template<> -struct apply_chooser<0> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef apply0< - F - > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -namespace aux { - -template<> -struct apply_chooser<1> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef apply1< - F, T1 - > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -namespace aux { - -template<> -struct apply_chooser<2> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef apply2< - F, T1, T2 - > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -namespace aux { - -template<> -struct apply_chooser<3> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef apply3< - F, T1, T2, T3 - > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -namespace aux { - -template<> -struct apply_chooser<4> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef apply4< - F, T1, T2, T3, T4 - > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -namespace aux { - -template<> -struct apply_chooser<5> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef apply5< - F, T1, T2, T3, T4, T5 - > type; - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_apply_arg -{ - static bool const value = true; -}; - -template<> -struct is_apply_arg -{ - static bool const value = false; -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - > -struct apply_count_args -{ - static int const value = is_apply_arg::value + is_apply_arg::value + is_apply_arg::value + is_apply_arg::value + is_apply_arg::value; - -}; - -} - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply - : aux::apply_chooser< - aux::apply_count_args< T1,T2,T3,T4,T5 >::value - >::template result_< F,T1,T2,T3,T4,T5 >::type -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp deleted file mode 100644 index 7de6dad088..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +++ /dev/null @@ -1,50 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser; -} - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp deleted file mode 100644 index efa213dfed..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +++ /dev/null @@ -1,78 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - - : F::template apply< > -{ -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - - : F::template apply -{ -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - - : F::template apply< T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - - : F::template apply< T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - - : F::template apply< T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - - : F::template apply< T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp deleted file mode 100644 index 254e5b8886..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +++ /dev/null @@ -1,486 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool > -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef T type; - }; -}; - -template<> -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef typename apply_wrap5< - T - , U1, U2, U3, U4, U5 - >::type type; - }; -}; - -template< typename T > struct is_bind_template; - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg - : resolve_arg_impl< is_bind_template::value > - ::template result_< T,U1,U2,U3,U4,U5 > -{ -}; - -template< int arity_ > struct bind_chooser; - -aux::no_tag is_bind_helper(...); -template< typename T > aux::no_tag is_bind_helper(protect*); - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*); - -template< int N > -aux::yes_tag is_bind_helper(arg*); - -template< bool is_ref_ = true > -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template<> -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(aux::is_bind_helper(static_cast(0))) - == sizeof(aux::yes_tag) - ); - }; -}; - -template< typename T > struct is_bind_template - : is_bind_template_impl< ::boost::detail::is_reference_impl::value > - ::template result_ -{ -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F - > -aux::yes_tag -is_bind_helper(bind0*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -namespace aux { - -template<> -struct bind_chooser<0> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind0 type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1 - > -aux::yes_tag -is_bind_helper(bind1< F,T1 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -namespace aux { - -template<> -struct bind_chooser<1> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind1< F,T1 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2 - > -aux::yes_tag -is_bind_helper(bind2< F,T1,T2 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -namespace aux { - -template<> -struct bind_chooser<2> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind2< F,T1,T2 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3 - > -aux::yes_tag -is_bind_helper(bind3< F,T1,T2,T3 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -namespace aux { - -template<> -struct bind_chooser<3> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind3< F,T1,T2,T3 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -aux::yes_tag -is_bind_helper(bind4< F,T1,T2,T3,T4 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -namespace aux { - -template<> -struct bind_chooser<4> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind4< F,T1,T2,T3,T4 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag -is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -namespace aux { - -template<> -struct bind_chooser<5> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind5< F,T1,T2,T3,T4,T5 > type; - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_bind_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_bind_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - > -struct bind_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_bind_arg::value + is_bind_arg::value - + is_bind_arg::value + is_bind_arg::value - + is_bind_arg::value - ); - -}; - -} - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : aux::bind_chooser< - aux::bind_count_args< T1,T2,T3,T4,T5 >::value - >::template result_< F,T1,T2,T3,T4,T5 >::type -{ -}; - -BOOST_MPL_AUX_ARITY_SPEC( - 6 - , bind - ) - -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( - 6 - , bind - ) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp deleted file mode 100644 index 12062b425b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +++ /dev/null @@ -1,590 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool > -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef T type; - }; -}; - -template<> -struct resolve_arg_impl -{ - template< - typename T, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > - struct result_ - { - typedef typename apply_wrap5< - T - , U1, U2, U3, U4, U5 - >::type type; - }; -}; - -template< typename T > struct is_bind_template; - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg - : resolve_arg_impl< is_bind_template::value > - ::template result_< T,U1,U2,U3,U4,U5 > -{ -}; - -template< typename T > -struct replace_unnamed_arg_impl -{ - template< typename Arg > struct result_ - { - typedef Arg next; - typedef T type; - }; -}; - -template<> -struct replace_unnamed_arg_impl< arg< -1 > > -{ - template< typename Arg > struct result_ - { - typedef typename next::type next; - typedef Arg type; - }; -}; - -template< typename T, typename Arg > -struct replace_unnamed_arg - : replace_unnamed_arg_impl::template result_ -{ -}; - -template< int arity_ > struct bind_chooser; - -aux::no_tag is_bind_helper(...); -template< typename T > aux::no_tag is_bind_helper(protect*); - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*); - -template< int N > -aux::yes_tag is_bind_helper(arg*); - -template< bool is_ref_ = true > -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template<> -struct is_bind_template_impl -{ - template< typename T > struct result_ - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(aux::is_bind_helper(static_cast(0))) - == sizeof(aux::yes_tag) - ); - }; -}; - -template< typename T > struct is_bind_template - : is_bind_template_impl< ::boost::detail::is_reference_impl::value > - ::template result_ -{ -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F - > -aux::yes_tag -is_bind_helper(bind0*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -namespace aux { - -template<> -struct bind_chooser<0> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind0 type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1 - > -aux::yes_tag -is_bind_helper(bind1< F,T1 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -namespace aux { - -template<> -struct bind_chooser<1> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind1< F,T1 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2 - > -aux::yes_tag -is_bind_helper(bind2< F,T1,T2 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -namespace aux { - -template<> -struct bind_chooser<2> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind2< F,T1,T2 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3 - > -aux::yes_tag -is_bind_helper(bind3< F,T1,T2,T3 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -namespace aux { - -template<> -struct bind_chooser<3> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind3< F,T1,T2,T3 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -aux::yes_tag -is_bind_helper(bind4< F,T1,T2,T3,T4 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -namespace aux { - -template<> -struct bind_chooser<4> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind4< F,T1,T2,T3,T4 > type; - }; -}; - -} // namespace aux - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -aux::yes_tag -is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -namespace aux { - -template<> -struct bind_chooser<5> -{ - template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > - struct result_ - { - typedef bind5< F,T1,T2,T3,T4,T5 > type; - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_bind_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_bind_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - > -struct bind_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_bind_arg::value + is_bind_arg::value - + is_bind_arg::value + is_bind_arg::value - + is_bind_arg::value - ); - -}; - -} - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : aux::bind_chooser< - aux::bind_count_args< T1,T2,T3,T4,T5 >::value - >::template result_< F,T1,T2,T3,T4,T5 >::type -{ -}; - -BOOST_MPL_AUX_ARITY_SPEC( - 6 - , bind - ) - -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( - 6 - , bind - ) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp deleted file mode 100644 index c4a5060ff8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct bind; - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp deleted file mode 100644 index 020d6ba4c6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +++ /dev/null @@ -1,134 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitand_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitand_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitand_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - - : if_< - - is_na - , bitand_2< N1,N2 > - , bitand_< - bitand_2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitand_2 - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp deleted file mode 100644 index 0474877675..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +++ /dev/null @@ -1,134 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitor_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitor_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitor_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - - : if_< - - is_na - , bitor_2< N1,N2 > - , bitor_< - bitor_2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitor_2 - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp deleted file mode 100644 index 42a9758bbd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +++ /dev/null @@ -1,134 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitxor_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct bitxor_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct bitxor_2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - - : if_< - - is_na - , bitxor_2< N1,N2 > - , bitxor_< - bitxor_2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct bitxor_2 - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp deleted file mode 100644 index a0445d9dfd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct deque_chooser; - -} - -namespace aux { - -template<> -struct deque_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef vector0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct deque_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_deque_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_deque_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct deque_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - + is_deque_arg::value + is_deque_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque_impl -{ - typedef aux::deque_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::deque_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque - : aux::deque_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::deque_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp deleted file mode 100644 index 00636dcbf2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct divides_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct divides_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct divides2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - - : if_< - - is_na - , divides2< N1,N2 > - , divides< - divides2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct divides2 - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp deleted file mode 100644 index b14cdda3b9..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct equal_to_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct equal_to_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp deleted file mode 100644 index 58066d81f6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +++ /dev/null @@ -1,245 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< int N > -struct fold_chunk; - -template<> struct fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; - }; -}; - -template<> struct fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; - }; -}; - -template<> struct fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; - }; -}; - -template<> struct fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; - }; -}; - -template< int N > -struct fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_step; - -template< - typename Last - , typename State - > -struct fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , fold_null_step< Last,State > - , fold_step< First,Last,State,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_step -{ - typedef fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > chunk_; - - typedef typename chunk_::state state; - typedef typename chunk_::iterator iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl - : fold_chunk - ::template result_< First,Last,State,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp deleted file mode 100644 index bf818731eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +++ /dev/null @@ -1,554 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars - -template< - typename F, typename Tag1, typename Tag2 - > -struct lambda< - lambda< F,Tag1 > - , Tag2 - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef aux::le_result2 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp deleted file mode 100644 index 6fdf8badbe..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp deleted file mode 100644 index f848eef98c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_equal_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct greater_equal_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp deleted file mode 100644 index 233a1ec30c..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +++ /dev/null @@ -1,166 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C1, bool C2 > -struct inherit2_impl -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T1, T2 - { - typedef Derived type_; - }; -}; - -template<> -struct inherit2_impl< false,true > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T1 - { - typedef T1 type_; - }; -}; - -template<> -struct inherit2_impl< true,false > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - : T2 - { - typedef T2 type_; - }; -}; - -template<> -struct inherit2_impl< true,true > -{ - template< typename Derived, typename T1, typename T2 > struct result_ - { - typedef T1 type_; - }; -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : aux::inherit2_impl< - is_empty_base::value - , is_empty_base::value - >::template result_< inherit2< T1,T2 >,T1, T2 > -{ - typedef typename inherit2::type_ type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp deleted file mode 100644 index 50ea754f2e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +++ /dev/null @@ -1,245 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< int N > -struct iter_fold_chunk; - -template<> struct iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; - }; -}; - -template<> struct iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; - }; -}; - -template<> struct iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; - }; -}; - -template<> struct iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; - }; -}; - -template< int N > -struct iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_step; - -template< - typename Last - , typename State - > -struct iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , iter_fold_null_step< Last,State > - , iter_fold_step< First,Last,State,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_step -{ - typedef iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > chunk_; - - typedef typename chunk_::state state; - typedef typename chunk_::iterator iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl - : iter_fold_chunk - ::template result_< First,Last,State,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/less.hpp deleted file mode 100644 index 7fb35e1077..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp deleted file mode 100644 index 206ecdcf93..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_equal_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct less_equal_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/list.hpp deleted file mode 100644 index e5ea456c9e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct list_chooser; - -} - -namespace aux { - -template<> -struct list_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef list0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_list_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_list_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct list_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - + is_list_arg::value + is_list_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list_impl -{ - typedef aux::list_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::list_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list - : aux::list_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::list_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp deleted file mode 100644 index ab25482f55..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct list_c_chooser; - -} - -namespace aux { - -template<> -struct list_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list1_c< - T, C0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list2_c< - T, C0, C1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list3_c< - T, C0, C1, C2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list4_c< - T, C0, C1, C2, C3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list5_c< - T, C0, C1, C2, C3, C4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list6_c< - T, C0, C1, C2, C3, C4, C5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list7_c< - T, C0, C1, C2, C3, C4, C5, C6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list8_c< - T, C0, C1, C2, C3, C4, C5, C6, C7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list9_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list10_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list11_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list12_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list13_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct list_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_list_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_list_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct list_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - + is_list_c_arg::value + is_list_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c_impl -{ - typedef aux::list_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::list_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c - : aux::list_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::list_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/map.hpp deleted file mode 100644 index 970e0b7602..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct map_chooser; - -} - -namespace aux { - -template<> -struct map_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef map0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct map_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_map_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_map_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct map_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - + is_map_arg::value + is_map_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map_impl -{ - typedef aux::map_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::map_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map - : aux::map_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::map_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp deleted file mode 100644 index 7b49450a55..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct minus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct minus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct minus2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - - : if_< - - is_na - , minus2< N1,N2 > - , minus< - minus2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct minus2 - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp deleted file mode 100644 index 8badbab5b1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +++ /dev/null @@ -1,101 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct modulus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct modulus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp deleted file mode 100644 index d87d8cd11e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct not_equal_to_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct not_equal_to_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/or.hpp deleted file mode 100644 index 3f7394e7cc..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +++ /dev/null @@ -1,73 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< bool C_ > struct or_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : true_ - { - }; -}; - -template<> struct or_impl -{ - template< - typename T1, typename T2, typename T3, typename T4 - > - struct result_ - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,false_ > - { - }; -}; - -template<> -struct or_impl - ::result_< false_,false_,false_,false_ > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< T2,T3,T4,T5 > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp deleted file mode 100644 index a55b24c450..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct plus_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct plus_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct plus2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - - : if_< - - is_na - , plus2< N1,N2 > - , plus< - plus2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct plus2 - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp deleted file mode 100644 index b85880ffdd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +++ /dev/null @@ -1,116 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { -template< bool > struct quote_impl -{ - template< typename T > struct result_ - : T - { - }; -}; - -template<> struct quote_impl -{ - template< typename T > struct result_ - { - typedef T type; - }; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - : quote_impl< aux::has_type< F >::value > - ::template result_< F > - - { - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - : quote_impl< aux::has_type< F< U1,U2 > >::value > - ::template result_< F< U1,U2 > > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - : quote_impl< aux::has_type< F< U1,U2,U3 > >::value > - ::template result_< F< U1,U2,U3 > > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value > - ::template result_< F< U1,U2,U3,U4 > > - - { - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value > - ::template result_< F< U1,U2,U3,U4,U5 > > - - { - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp deleted file mode 100644 index 7a07414adf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< long N > -struct reverse_fold_chunk; - -template<> struct reverse_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step; - -template< - typename Last - , typename State - > -struct reverse_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_fold_null_step< Last,State > - , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_step -{ - typedef reverse_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl - : reverse_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp deleted file mode 100644 index 39a4057b77..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,295 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< long N > -struct reverse_iter_fold_chunk; - -template<> struct reverse_iter_fold_chunk<0> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<1> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<2> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<3> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; - }; -}; - -template<> struct reverse_iter_fold_chunk<4> -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; - }; -}; - -template< long N > -struct reverse_iter_fold_chunk -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step; - -template< - typename Last - , typename State - > -struct reverse_iter_fold_null_step -{ - typedef Last iterator; - typedef State state; -}; - -template<> -struct reverse_iter_fold_chunk< -1 > -{ - template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > - struct result_ - { - typedef typename if_< - typename is_same< First,Last >::type - , reverse_iter_fold_null_step< Last,State > - , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > - >::type res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; - }; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_step -{ - typedef reverse_iter_fold_chunk< -1 >::template result_< - typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl - : reverse_iter_fold_chunk - ::template result_< First,Last,State,BackwardOp,ForwardOp > -{ -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/set.hpp deleted file mode 100644 index 95aaa5cbdf..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct set_chooser; - -} - -namespace aux { - -template<> -struct set_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef set0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_set_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_set_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct set_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - + is_set_arg::value + is_set_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set_impl -{ - typedef aux::set_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::set_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set - : aux::set_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::set_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp deleted file mode 100644 index 1ff34f9032..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct set_c_chooser; - -} - -namespace aux { - -template<> -struct set_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set1_c< - T, C0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set2_c< - T, C0, C1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set3_c< - T, C0, C1, C2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set4_c< - T, C0, C1, C2, C3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set5_c< - T, C0, C1, C2, C3, C4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set6_c< - T, C0, C1, C2, C3, C4, C5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set7_c< - T, C0, C1, C2, C3, C4, C5, C6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set8_c< - T, C0, C1, C2, C3, C4, C5, C6, C7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set9_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set10_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set11_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set12_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set13_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct set_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_set_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_set_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct set_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - + is_set_c_arg::value + is_set_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c_impl -{ - typedef aux::set_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::set_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c - : aux::set_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::set_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp deleted file mode 100644 index d14a5e4886..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_left_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_left_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp deleted file mode 100644 index 08c4915ebd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_right_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct shift_right_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp deleted file mode 100644 index 1164f0f8c2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/times.hpp deleted file mode 100644 index fd773cc842..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct times_impl< na,integral_c_tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template<> struct times_impl< integral_c_tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -/// forward declaration - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct times2; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - - : if_< - - is_na - , times2< N1,N2 > - , times< - times2< N1,N2 > - , N3, N4, N5 - > - >::type - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1 - , typename N2 - > -struct times2 - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp deleted file mode 100644 index 26533dd423..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +++ /dev/null @@ -1,109 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl -{ - template< typename F, typename Args > struct apply; -}; - -template<> struct unpack_args_impl<0> -{ - template< typename F, typename Args > struct apply - : apply0< - F - > - { - }; -}; - -template<> struct unpack_args_impl<1> -{ - template< typename F, typename Args > struct apply - : apply1< - F - , typename at_c< Args,0 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<2> -{ - template< typename F, typename Args > struct apply - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<3> -{ - template< typename F, typename Args > struct apply - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<4> -{ - template< typename F, typename Args > struct apply - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > - { - }; -}; - -template<> struct unpack_args_impl<5> -{ - template< typename F, typename Args > struct apply - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > - { - }; -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value > - ::template apply< F,Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp deleted file mode 100644 index a6c7b6219a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +++ /dev/null @@ -1,556 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct vector_chooser; - -} - -namespace aux { - -template<> -struct vector_chooser<0> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef vector0< - - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<1> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector1< - T0 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<2> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector2< - T0, T1 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<3> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector3< - T0, T1, T2 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<4> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector4< - T0, T1, T2, T3 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<5> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector5< - T0, T1, T2, T3, T4 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<6> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector6< - T0, T1, T2, T3, T4, T5 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<7> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector7< - T0, T1, T2, T3, T4, T5, T6 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<8> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector8< - T0, T1, T2, T3, T4, T5, T6, T7 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<9> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector9< - T0, T1, T2, T3, T4, T5, T6, T7, T8 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<10> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector10< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<11> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector11< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<12> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector12< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<13> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector13< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<14> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector14< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<15> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<16> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<17> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<18> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<19> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_chooser<20> -{ - template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > - struct result_ - { - typedef typename vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< typename T > -struct is_vector_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_vector_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - typename T1, typename T2, typename T3, typename T4, typename T5 - , typename T6, typename T7, typename T8, typename T9, typename T10 - , typename T11, typename T12, typename T13, typename T14, typename T15 - , typename T16, typename T17, typename T18, typename T19, typename T20 - > -struct vector_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - + is_vector_arg::value + is_vector_arg::value - ); - -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector_impl -{ - typedef aux::vector_count_args< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - > arg_num_; - - typedef typename aux::vector_chooser< arg_num_::value > - ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -} // namespace aux - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector - : aux::vector_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type -{ - typedef typename aux::vector_impl< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp deleted file mode 100644 index c522d0826f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +++ /dev/null @@ -1,534 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { -template< int N > -struct vector_c_chooser; - -} - -namespace aux { - -template<> -struct vector_c_chooser<0> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector0_c< - T - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<1> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector1_c< - T, T(C0) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<2> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector2_c< - T, T(C0), T(C1) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<3> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector3_c< - T, T(C0), T(C1), T(C2) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<4> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector4_c< - T, T(C0), T(C1), T(C2), T(C3) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<5> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector5_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<6> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector6_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<7> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector7_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<8> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector8_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<9> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector9_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<10> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector10_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<11> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector11_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<12> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector12_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<13> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector13_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<14> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector14_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<15> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector15_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<16> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector16_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<17> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector17_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<18> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector18_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<19> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector19_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template<> -struct vector_c_chooser<20> -{ - template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > - struct result_ - { - typedef typename vector20_c< - T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) - >::type type; - - }; -}; - -} // namespace aux - -namespace aux { - -template< long C > -struct is_vector_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template<> -struct is_vector_c_arg -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template< - long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 - , long C9, long C10, long C11, long C12, long C13, long C14, long C15 - , long C16, long C17, long C18, long C19, long C20 - > -struct vector_c_count_args -{ - BOOST_STATIC_CONSTANT(int, value = - is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - + is_vector_c_arg::value + is_vector_c_arg::value - ); - -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c_impl -{ - typedef aux::vector_c_count_args< - C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - > arg_num_; - - typedef typename aux::vector_c_chooser< arg_num_::value > - ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -} // namespace aux - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c - : aux::vector_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type -{ - typedef typename aux::vector_c_impl< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 - >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/and.hpp deleted file mode 100644 index 010ad1fc84..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , and_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp deleted file mode 100644 index e08eaccf03..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 1 - , apply0 - , (F ) - ) -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 2 - , apply1 - , (F, T1) - ) -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , apply2 - , (F, T1, T2) - ) -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , apply3 - , (F, T1, T2, T3) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , apply4 - , (F, T1, T2, T3, T4) - ) -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 6 - , apply5 - , (F, T1, T2, T3, T4, T5) - ) -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp deleted file mode 100644 index b2ed5d5130..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp deleted file mode 100644 index 34d51a1a58..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +++ /dev/null @@ -1,84 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - - : F::template apply< > -{ -}; - -template< typename F > -struct apply_wrap0< F,true_ > - : F::apply -{ -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - - : F::template apply -{ -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - - : F::template apply< T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - - : F::template apply< T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - - : F::template apply< T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - - : F::template apply< T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp deleted file mode 100644 index 095b84dd9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +++ /dev/null @@ -1,369 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp deleted file mode 100644 index 28914408ab..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +++ /dev/null @@ -1,466 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp deleted file mode 100644 index c4a5060ff8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct bind; - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp deleted file mode 100644 index 282771bce5..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +++ /dev/null @@ -1,157 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitand_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitand_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitand_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp deleted file mode 100644 index bc9c1989db..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +++ /dev/null @@ -1,157 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitor_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitor_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp deleted file mode 100644 index 76ce540b4e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +++ /dev/null @@ -1,157 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , bitxor_ - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct bitxor_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::bitxor_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp deleted file mode 100644 index de67398a37..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp deleted file mode 100644 index 9bc7fb192a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +++ /dev/null @@ -1,156 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , divides - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct divides_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::divides_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp deleted file mode 100644 index fa2dc4a25a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp deleted file mode 100644 index 9e7a29300d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp deleted file mode 100644 index bf818731eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +++ /dev/null @@ -1,554 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars - -template< - typename F, typename Tag1, typename Tag2 - > -struct lambda< - lambda< F,Tag1 > - , Tag2 - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef aux::le_result2 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp deleted file mode 100644 index faa3f2ba9a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp deleted file mode 100644 index 392d142d92..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp deleted file mode 100644 index 00f31c4226..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 3 - , inherit3 - , ( T1, T2, T3) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 4 - , inherit4 - , ( T1, T2, T3, T4) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , inherit5 - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp deleted file mode 100644 index 805790e86d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp deleted file mode 100644 index 890a198a46..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; - BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/less.hpp deleted file mode 100644 index 6451680fe8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > - BOOST_MPL_AUX_VALUE_WKND(N1)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp deleted file mode 100644 index 00ae0d3ecb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/list.hpp deleted file mode 100644 index 4e8ad53d21..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp deleted file mode 100644 index 0b48a7f8e1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/map.hpp deleted file mode 100644 index 837e013771..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp deleted file mode 100644 index bb67c59a52..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +++ /dev/null @@ -1,156 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , minus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct minus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::minus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp deleted file mode 100644 index 6fd0cab37a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +++ /dev/null @@ -1,111 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct modulus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::modulus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp deleted file mode 100644 index 7c940a5b07..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +++ /dev/null @@ -1,98 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - { - BOOST_STATIC_CONSTANT(bool, value = - ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != - BOOST_MPL_AUX_VALUE_WKND(N2)::value ) - ); - typedef bool_ type; - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/or.hpp deleted file mode 100644 index 31e1aaa4e6..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +++ /dev/null @@ -1,69 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , or_ - , ( T1, T2, T3, T4, T5) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp deleted file mode 100644 index cecead75ab..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +++ /dev/null @@ -1,156 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , plus - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct plus_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::plus_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp deleted file mode 100644 index e7a7f00196..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp deleted file mode 100644 index c468684c91..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp deleted file mode 100644 index 658f92a7c3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/set.hpp deleted file mode 100644 index 5721922e11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp deleted file mode 100644 index cbeb932c13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp deleted file mode 100644 index 7ef4672522..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +++ /dev/null @@ -1,110 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, typename Shift, T n, Shift s > -struct shift_left_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n << s)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - : aux::shift_left_wknd< - typename N::value_type - , typename S::value_type - , N::value - , S::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp deleted file mode 100644 index 91a98f7385..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +++ /dev/null @@ -1,110 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, typename Shift, T n, Shift s > -struct shift_right_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n >> s)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - : aux::shift_right_wknd< - typename N::value_type - , typename S::value_type - , N::value - , S::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp deleted file mode 100644 index 1164f0f8c2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +++ /dev/null @@ -1,40 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_< -1 > - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/times.hpp deleted file mode 100644 index d019b57247..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +++ /dev/null @@ -1,156 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - 5 - , times - , ( N1, N2, N3, N4, N5 ) - ) -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { - -namespace aux { -template< typename T, T n1, T n2 > -struct times_wknd -{ - BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); - typedef integral_c< T,value > type; -}; - -} - -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - : aux::times_wknd< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , N1::value - , N2::value - >::type - - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp deleted file mode 100644 index 2194ce9d11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value,F, Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp deleted file mode 100644 index bfa9565a53..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp deleted file mode 100644 index 0f1560d7f1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp deleted file mode 100644 index 26de94cea1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_backward; -template<> -struct advance_backward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_backward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_backward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_backward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_backward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename prior::type iter1; - typedef typename prior::type iter2; - typedef typename prior::type iter3; - typedef typename prior::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_backward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_backward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_backward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp deleted file mode 100644 index b137cc72af..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< long N > struct advance_forward; -template<> -struct advance_forward<0> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef iter0 type; - }; -}; - -template<> -struct advance_forward<1> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef iter1 type; - }; -}; - -template<> -struct advance_forward<2> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef iter2 type; - }; -}; - -template<> -struct advance_forward<3> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef iter3 type; - }; -}; - -template<> -struct advance_forward<4> -{ - template< typename Iterator > struct apply - { - typedef Iterator iter0; - typedef typename next::type iter1; - typedef typename next::type iter2; - typedef typename next::type iter3; - typedef typename next::type iter4; - typedef iter4 type; - }; -}; - -template< long N > -struct advance_forward -{ - template< typename Iterator > struct apply - { - typedef typename apply_wrap1< - advance_forward<4> - , Iterator - >::type chunk_result_; - - typedef typename apply_wrap1< - advance_forward<( - (N - 4) < 0 - ? 0 - : N - 4 - )> - , chunk_result_ - >::type type; - }; -}; - -}}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/and.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/and.hpp deleted file mode 100644 index 163913f81a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/and.hpp +++ /dev/null @@ -1,64 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/and.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct and_impl - : false_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct and_impl< true,T1,T2,T3,T4 > - : and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , true_ - > -{ -}; - -template<> -struct and_impl< - true - , true_, true_, true_, true_ - > - : true_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = true_, typename T4 = true_, typename T5 = true_ - > -struct and_ - - : aux::and_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , and_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply.hpp deleted file mode 100644 index 89d9e4b4ea..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply.hpp +++ /dev/null @@ -1,139 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - > -struct apply0 - - : apply_wrap0< - typename lambda::type - - > -{ -}; - -template< - typename F - > -struct apply< F,na,na,na,na,na > - : apply0 -{ -}; - -template< - typename F, typename T1 - > -struct apply1 - - : apply_wrap1< - typename lambda::type - , T1 - > -{ -}; - -template< - typename F, typename T1 - > -struct apply< F,T1,na,na,na,na > - : apply1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply2 - - : apply_wrap2< - typename lambda::type - , T1, T2 - > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct apply< F,T1,T2,na,na,na > - : apply2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3 - - : apply_wrap3< - typename lambda::type - , T1, T2, T3 - > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply< F,T1,T2,T3,na,na > - : apply3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4 - - : apply_wrap4< - typename lambda::type - , T1, T2, T3, T4 - > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply< F,T1,T2,T3,T4,na > - : apply4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5 - - : apply_wrap5< - typename lambda::type - , T1, T2, T3, T4, T5 - > -{ -}; - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply - : apply5< F,T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp deleted file mode 100644 index b2ed5d5130..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct apply; - -template< - typename F - > -struct apply0; - -template< - typename F, typename T1 - > -struct apply1; - -template< - typename F, typename T1, typename T2 - > -struct apply2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct apply3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct apply4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct apply5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp deleted file mode 100644 index 34d51a1a58..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +++ /dev/null @@ -1,84 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/apply_wrap.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F - - , typename has_apply_ = typename aux::has_apply::type - - > -struct apply_wrap0 - - : F::template apply< > -{ -}; - -template< typename F > -struct apply_wrap0< F,true_ > - : F::apply -{ -}; - -template< - typename F, typename T1 - - > -struct apply_wrap1 - - : F::template apply -{ -}; - -template< - typename F, typename T1, typename T2 - - > -struct apply_wrap2 - - : F::template apply< T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - - > -struct apply_wrap3 - - : F::template apply< T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - - > -struct apply_wrap4 - - : F::template apply< T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - - > -struct apply_wrap5 - - : F::template apply< T1,T2,T3,T4,T5 > -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/arg.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/arg.hpp deleted file mode 100644 index 6f2f8a8070..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/arg.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/arg.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -template<> struct arg< -1 > -{ - BOOST_STATIC_CONSTANT(int, value = -1); - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<1> -{ - BOOST_STATIC_CONSTANT(int, value = 1); - typedef arg<2> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U1 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<2> -{ - BOOST_STATIC_CONSTANT(int, value = 2); - typedef arg<3> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U2 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<3> -{ - BOOST_STATIC_CONSTANT(int, value = 3); - typedef arg<4> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U3 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<4> -{ - BOOST_STATIC_CONSTANT(int, value = 4); - typedef arg<5> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U4 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -template<> struct arg<5> -{ - BOOST_STATIC_CONSTANT(int, value = 5); - typedef arg<6> next; - BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) - BOOST_MPL_AUX_ARG_TYPEDEF(na, type) - - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - typedef U5 type; - BOOST_MPL_AUX_ASSERT_NOT_NA(type); - }; -}; - -BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp deleted file mode 100644 index b0702324aa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +++ /dev/null @@ -1,440 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; - typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; - - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -template< - template< typename T1, typename T2, typename T3 > class F, typename Tag - > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct eval_if; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< eval_if,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; - typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; - typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; - typedef typename eval_if< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bind.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bind.hpp deleted file mode 100644 index 0e9513a649..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bind.hpp +++ /dev/null @@ -1,561 +0,0 @@ - -// Copyright Peter Dimov 2001 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - typename T, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg -{ - typedef T type; -}; - -template< - typename T - , typename Arg - > -struct replace_unnamed_arg -{ - typedef Arg next; - typedef T type; -}; - -template< - typename Arg - > -struct replace_unnamed_arg< arg< -1 >, Arg > -{ - typedef typename Arg::next next; - typedef Arg type; -}; - -template< - int N, typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > -{ - typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > -{ - typedef bind< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -template< - typename F - > -struct bind0 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - public: - typedef typename apply_wrap0< - f_ - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind0, U1, U2, U3, U4, U5 - > -{ - typedef bind0 f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(1, bind0) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) - -template< - typename F - > -struct bind< F,na,na,na,na,na > - : bind0 -{ -}; - -template< - typename F, typename T1 - > -struct bind1 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - public: - typedef typename apply_wrap1< - f_ - , typename t1::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename U1, typename U2, typename U3 - , typename U4, typename U5 - > -struct resolve_bind_arg< - bind1< F,T1 >, U1, U2, U3, U4, U5 - > -{ - typedef bind1< F,T1 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(2, bind1) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) - -template< - typename F, typename T1 - > -struct bind< F,T1,na,na,na,na > - : bind1< F,T1 > -{ -}; - -template< - typename F, typename T1, typename T2 - > -struct bind2 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - public: - typedef typename apply_wrap2< - f_ - , typename t1::type, typename t2::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename U1, typename U2 - , typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind2< F,T1,T2 >, U1, U2, U3, U4, U5 - > -{ - typedef bind2< F,T1,T2 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(3, bind2) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) - -template< - typename F, typename T1, typename T2 - > -struct bind< F,T1,T2,na,na,na > - : bind2< F,T1,T2 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - public: - typedef typename apply_wrap3< - f_ - , typename t1::type, typename t2::type, typename t3::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename U1 - , typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 - > -{ - typedef bind3< F,T1,T2,T3 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(4, bind3) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind< F,T1,T2,T3,na,na > - : bind3< F,T1,T2,T3 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - public: - typedef typename apply_wrap4< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename U1, typename U2, typename U3, typename U4, typename U5 - > -struct resolve_bind_arg< - bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 - > -{ - typedef bind4< F,T1,T2,T3,T4 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(5, bind4) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind< F,T1,T2,T3,T4,na > - : bind4< F,T1,T2,T3,T4 > -{ -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5 -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; - typedef typename r0::type a0; - typedef typename r0::next n1; - typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; - /// - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef aux::replace_unnamed_arg< T4,n4 > r4; - typedef typename r4::type a4; - typedef typename r4::next n5; - typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; - /// - typedef aux::replace_unnamed_arg< T5,n5 > r5; - typedef typename r5::type a5; - typedef typename r5::next n6; - typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; - /// - public: - typedef typename apply_wrap5< - f_ - , typename t1::type, typename t2::type, typename t3::type - , typename t4::type, typename t5::type - >::type type; - - }; -}; - -namespace aux { - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename U1, typename U2, typename U3, typename U4 - , typename U5 - > -struct resolve_bind_arg< - bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 - > -{ - typedef bind5< F,T1,T2,T3,T4,T5 > f_; - typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; -}; - -} // namespace aux - -BOOST_MPL_AUX_ARITY_SPEC(6, bind5) -BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) - -/// primary template (not a specialization!) - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind - : bind5< F,T1,T2,T3,T4,T5 > -{ -}; - -/// if_/eval_if specializations -template< template< typename T1, typename T2, typename T3 > class F, typename Tag > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct if_; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< if_,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename if_< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -template< - template< typename T1, typename T2, typename T3 > class F, typename Tag - > -struct quote3; - -template< typename T1, typename T2, typename T3 > struct eval_if; - -template< - typename Tag, typename T1, typename T2, typename T3 - > -struct bind3< - quote3< eval_if,Tag > - , T1, T2, T3 - > -{ - template< - typename U1 = na, typename U2 = na, typename U3 = na - , typename U4 = na, typename U5 = na - > - struct apply - { - private: - typedef mpl::arg<1> n1; - typedef aux::replace_unnamed_arg< T1,n1 > r1; - typedef typename r1::type a1; - typedef typename r1::next n2; - typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; - /// - typedef aux::replace_unnamed_arg< T2,n2 > r2; - typedef typename r2::type a2; - typedef typename r2::next n3; - typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; - /// - typedef aux::replace_unnamed_arg< T3,n3 > r3; - typedef typename r3::type a3; - typedef typename r3::next n4; - typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; - /// - typedef typename eval_if< - typename t1::type - , t2, t3 - >::type f_; - - public: - typedef typename f_::type type; - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp deleted file mode 100644 index c4a5060ff8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bind_fwd.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename F, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na - > -struct bind; - -template< - typename F - > -struct bind0; - -template< - typename F, typename T1 - > -struct bind1; - -template< - typename F, typename T1, typename T2 - > -struct bind2; - -template< - typename F, typename T1, typename T2, typename T3 - > -struct bind3; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - > -struct bind4; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct bind5; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitand.hpp deleted file mode 100644 index ee40fb3d3f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitand.hpp +++ /dev/null @@ -1,142 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitand.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitand_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitand_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitand_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitand_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitand_ - : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitand_< N1,N2,N3,N4,na > - - : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitand_< N1,N2,N3,na,na > - - : bitand_< bitand_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitand_< N1,N2,na,na,na > - : bitand_impl< - typename bitand_tag::type - , typename bitand_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitand_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitand_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - & BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitor.hpp deleted file mode 100644 index 1e28d3b07e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitor.hpp +++ /dev/null @@ -1,142 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitor_ - : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitor_< N1,N2,N3,N4,na > - - : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitor_< N1,N2,N3,na,na > - - : bitor_< bitor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitor_< N1,N2,na,na,na > - : bitor_impl< - typename bitor_tag::type - , typename bitor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - | BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitxor.hpp deleted file mode 100644 index 2ba879d67b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +++ /dev/null @@ -1,142 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/bitxor.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct bitxor_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct bitxor_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct bitxor_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct bitxor_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct bitxor_ - : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct bitxor_< N1,N2,N3,N4,na > - - : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct bitxor_< N1,N2,N3,na,na > - - : bitxor_< bitxor_< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct bitxor_< N1,N2,na,na,na > - : bitxor_impl< - typename bitxor_tag::type - , typename bitxor_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , bitxor_ - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) - -}} - -namespace boost { namespace mpl { -template<> -struct bitxor_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/deque.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/deque.hpp deleted file mode 100644 index de67398a37..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/deque.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/deque.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct deque; - -template< - - > -struct deque< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct deque< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct deque< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct deque< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct deque< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct deque< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct deque< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct deque< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct deque - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/divides.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/divides.hpp deleted file mode 100644 index f365d62dfa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/divides.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/divides.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct divides_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct divides_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct divides_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct divides_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct divides - : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct divides< N1,N2,N3,N4,na > - - : divides< divides< divides< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct divides< N1,N2,N3,na,na > - - : divides< divides< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct divides< N1,N2,na,na,na > - : divides_impl< - typename divides_tag::type - , typename divides_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , divides - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) - -}} - -namespace boost { namespace mpl { -template<> -struct divides_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - / BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/equal_to.hpp deleted file mode 100644 index bbc6bf0dc1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct equal_to - - : equal_to_impl< - typename equal_to_tag::type - , typename equal_to_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp deleted file mode 100644 index 9e7a29300d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl -{ - typedef fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,First,Last,State,ForwardOp > - : fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp deleted file mode 100644 index bf818731eb..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +++ /dev/null @@ -1,554 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -} // namespace aux - -template< - typename T - , typename Tag - - > -struct lambda -{ - typedef false_ is_le; - typedef T result_; - typedef T type; -}; - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -template< int N, typename Tag > -struct lambda< arg, Tag > -{ - typedef true_ is_le; - typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 - typedef mpl::protect type; -}; - -template< - typename F - , typename Tag - > -struct lambda< - bind0 - , Tag - - > -{ - typedef false_ is_le; - typedef bind0< - F - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1 -{ - typedef F< - typename L1::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1 > class F - , typename L1 - > -struct le_result1< true_,Tag,F,L1 > -{ - typedef bind1< - quote1< F,Tag > - , typename L1::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1 > class F - , typename T1 - , typename Tag - > -struct lambda< - F - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef typename l1::is_le is_le1; - typedef typename aux::lambda_or< - is_le1::value - >::type is_le; - - typedef aux::le_result1< - is_le, Tag, F, l1 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1 - , typename Tag - > -struct lambda< - bind1< F,T1 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind1< - F - , T1 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2 -{ - typedef F< - typename L1::type, typename L2::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2 > class F - , typename L1, typename L2 - > -struct le_result2< true_,Tag,F,L1,L2 > -{ - typedef bind2< - quote2< F,Tag > - , typename L1::result_, typename L2::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2 > class F - , typename T1, typename T2 - , typename Tag - > -struct lambda< - F< T1,T2 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value - >::type is_le; - - typedef aux::le_result2< - is_le, Tag, F, l1, l2 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2 - , typename Tag - > -struct lambda< - bind2< F,T1,T2 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind2< - F - , T1, T2 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3 > class F - , typename L1, typename L2, typename L3 - > -struct le_result3< true_,Tag,F,L1,L2,L3 > -{ - typedef bind3< - quote3< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3 > class F - , typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - F< T1,T2,T3 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value - >::type is_le; - - typedef aux::le_result3< - is_le, Tag, F, l1, l2, l3 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3 - , typename Tag - > -struct lambda< - bind3< F,T1,T2,T3 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind3< - F - , T1, T2, T3 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4 > class F - , typename L1, typename L2, typename L3, typename L4 - > -struct le_result4< true_,Tag,F,L1,L2,L3,L4 > -{ - typedef bind4< - quote4< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - >::type is_le; - - typedef aux::le_result4< - is_le, Tag, F, l1, l2, l3, l4 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename Tag - > -struct lambda< - bind4< F,T1,T2,T3,T4 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind4< - F - , T1, T2, T3, T4 - > result_; - - typedef result_ type; -}; - -namespace aux { - -template< - typename IsLE, typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5 -{ - typedef F< - typename L1::type, typename L2::type, typename L3::type - , typename L4::type, typename L5::type - > result_; - - typedef result_ type; -}; - -template< - typename Tag - , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F - , typename L1, typename L2, typename L3, typename L4, typename L5 - > -struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > -{ - typedef bind5< - quote5< F,Tag > - , typename L1::result_, typename L2::result_, typename L3::result_ - , typename L4::result_, typename L5::result_ - > result_; - - typedef mpl::protect type; -}; - -} // namespace aux - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename T1, typename T2, typename T3, typename T4, typename T5 - , typename Tag - > -struct lambda< - F< T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef lambda< T1,Tag > l1; - typedef lambda< T2,Tag > l2; - typedef lambda< T3,Tag > l3; - typedef lambda< T4,Tag > l4; - typedef lambda< T5,Tag > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef typename aux::lambda_or< - is_le1::value, is_le2::value, is_le3::value, is_le4::value - , is_le5::value - >::type is_le; - - typedef aux::le_result5< - is_le, Tag, F, l1, l2, l3, l4, l5 - > le_result_; - - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind5< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind5< - F - , T1, T2, T3, T4, T5 - > result_; - - typedef result_ type; -}; - -/// special case for 'protect' -template< typename T, typename Tag > -struct lambda< mpl::protect, Tag > -{ - typedef false_ is_le; - typedef mpl::protect result_; - typedef result_ type; -}; - -/// specializations for the main 'bind' form - -template< - typename F, typename T1, typename T2, typename T3, typename T4 - , typename T5 - , typename Tag - > -struct lambda< - bind< F,T1,T2,T3,T4,T5 > - , Tag - - > -{ - typedef false_ is_le; - typedef bind< F,T1,T2,T3,T4,T5 > result_; - typedef result_ type; -}; - -/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars - -template< - typename F, typename Tag1, typename Tag2 - > -struct lambda< - lambda< F,Tag1 > - , Tag2 - > -{ - typedef lambda< F,Tag2 > l1; - typedef lambda< Tag1,Tag2 > l2; - typedef typename l1::is_le is_le; - typedef aux::le_result2 le_result_; - typedef typename le_result_::result_ result_; - typedef typename le_result_::type type; -}; - -BOOST_MPL_AUX_NA_SPEC(2, lambda) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/greater.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/greater.hpp deleted file mode 100644 index 38c8bb3add..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/greater.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater - - : greater_impl< - typename greater_tag::type - , typename greater_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp deleted file mode 100644 index 2aa8370f0f..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/greater_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct greater_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct greater_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct greater_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct greater_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct greater_equal - - : greater_equal_impl< - typename greater_equal_tag::type - , typename greater_equal_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct greater_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/inherit.hpp deleted file mode 100644 index 8b34e718c3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/inherit.hpp +++ /dev/null @@ -1,125 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/inherit.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct inherit2 - : T1, T2 -{ - typedef inherit2 type; -}; - -template< typename T1 > -struct inherit2< T1,empty_base > -{ - typedef T1 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) -}; - -template< typename T2 > -struct inherit2< empty_base,T2 > -{ - typedef T2 type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) -}; - -template<> -struct inherit2< empty_base,empty_base > -{ - typedef empty_base type; - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) -}; - -BOOST_MPL_AUX_NA_SPEC(2, inherit2) - -template< - typename T1 = na, typename T2 = na, typename T3 = na - > -struct inherit3 - : inherit2< - typename inherit2< - T1, T2 - >::type - , T3 - > -{ -}; - -BOOST_MPL_AUX_NA_SPEC(3, inherit3) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - > -struct inherit4 - : inherit2< - typename inherit3< - T1, T2, T3 - >::type - , T4 - > -{ -}; - -BOOST_MPL_AUX_NA_SPEC(4, inherit4) - -template< - typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na - , typename T5 = na - > -struct inherit5 - : inherit2< - typename inherit4< - T1, T2, T3, T4 - >::type - , T5 - > -{ -}; - -BOOST_MPL_AUX_NA_SPEC(5, inherit5) - -/// primary template - -template< - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - > -struct inherit - : inherit5< T1,T2,T3,T4,T5 > -{ -}; - -template<> -struct inherit< na,na,na,na,na > -{ - template< - - typename T1 = empty_base, typename T2 = empty_base - , typename T3 = empty_base, typename T4 = empty_base - , typename T5 = empty_base - - > - struct apply - : inherit< T1,T2,T3,T4,T5 > - { - }; -}; - -BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) -BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp deleted file mode 100644 index 695179584d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +++ /dev/null @@ -1,133 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright David Abrahams 2001-2002 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -template< typename Iterator, typename State > -struct iter_fold_if_null_step -{ - typedef State state; - typedef Iterator iterator; -}; - -template< bool > -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef typename apply2< StateOp,State,Iterator >::type state; - typedef typename IteratorOp::type iterator; - }; -}; - -template<> -struct iter_fold_if_step_impl -{ - template< - typename Iterator - , typename State - , typename StateOp - , typename IteratorOp - > - struct result_ - { - typedef State state; - typedef Iterator iterator; - }; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename Predicate - > -struct iter_fold_if_forward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename BackwardOp - , typename Predicate - > -struct iter_fold_if_backward_step -{ - typedef typename apply2< Predicate,State,Iterator >::type not_last; - typedef typename iter_fold_if_step_impl< - BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value - >::template result_< Iterator,State,BackwardOp, identity > impl_; - - typedef typename impl_::state state; - typedef typename impl_::iterator iterator; -}; - -template< - typename Iterator - , typename State - , typename ForwardOp - , typename ForwardPredicate - , typename BackwardOp - , typename BackwardPredicate - > -struct iter_fold_if_impl -{ - private: - typedef iter_fold_if_null_step< Iterator,State > forward_step0; - typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; - typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; - typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; - typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; - - - typedef typename if_< - typename forward_step4::not_last - , iter_fold_if_impl< - typename forward_step4::iterator - , typename forward_step4::state - , ForwardOp - , ForwardPredicate - , BackwardOp - , BackwardPredicate - > - , iter_fold_if_null_step< - typename forward_step4::iterator - , typename forward_step4::state - > - >::type backward_step4; - - typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; - typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; - typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; - typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; - - - public: - typedef typename backward_step0::state state; - typedef typename backward_step4::iterator iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp deleted file mode 100644 index 805790e86d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +++ /dev/null @@ -1,180 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 0,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 1,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - - - typedef state1 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 2,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - - - typedef state2 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 3,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - - - typedef state3 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< 4,First,Last,State,ForwardOp > -{ - typedef First iter0; - typedef State state0; - typedef typename apply2< ForwardOp,state0,iter0 >::type state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,state1,iter1 >::type state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,state2,iter2 >::type state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,state3,iter3 >::type state4; - typedef typename mpl::next::type iter4; - - - typedef state4 state; - typedef iter4 iterator; -}; - -template< - int N - , typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl -{ - typedef iter_fold_impl< - 4 - , First - , Last - , State - , ForwardOp - > chunk_; - - typedef iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , typename chunk_::iterator - , Last - , typename chunk_::state - , ForwardOp - > res_; - - typedef typename res_::state state; - typedef typename res_::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,First,Last,State,ForwardOp > - : iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , ForwardOp - > -{ -}; - -template< - typename Last - , typename State - , typename ForwardOp - > -struct iter_fold_impl< -1,Last,Last,State,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp deleted file mode 100644 index f8f109c2bd..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +++ /dev/null @@ -1,228 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< - bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false - , bool C5 = false - > -struct lambda_or - : true_ -{ -}; - -template<> -struct lambda_or< false,false,false,false,false > - : false_ -{ -}; - -template< typename Arity > struct lambda_impl -{ - template< typename T, typename Tag, typename Protect > struct result_ - { - typedef T type; - typedef is_placeholder is_le; - }; -}; - -template<> struct lambda_impl< int_<1> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef typename l1::is_le is_le1; - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value - > is_le; - - typedef bind1< - typename F::rebind - , typename l1::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<2> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value - > is_le; - - typedef bind2< - typename F::rebind - , typename l1::type, typename l2::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<3> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value - > is_le; - - typedef bind3< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<4> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value - > is_le; - - typedef bind4< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -template<> struct lambda_impl< int_<5> > -{ - template< typename F, typename Tag, typename Protect > struct result_ - { - typedef lambda< typename F::arg1, Tag, false_ > l1; - typedef lambda< typename F::arg2, Tag, false_ > l2; - typedef lambda< typename F::arg3, Tag, false_ > l3; - typedef lambda< typename F::arg4, Tag, false_ > l4; - typedef lambda< typename F::arg5, Tag, false_ > l5; - - typedef typename l1::is_le is_le1; - typedef typename l2::is_le is_le2; - typedef typename l3::is_le is_le3; - typedef typename l4::is_le is_le4; - typedef typename l5::is_le is_le5; - - - typedef aux::lambda_or< - BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value - > is_le; - - typedef bind5< - typename F::rebind - , typename l1::type, typename l2::type, typename l3::type - , typename l4::type, typename l5::type - > bind_; - - typedef typename if_< - is_le - , if_< Protect, mpl::protect, bind_ > - , identity - >::type type_; - - typedef typename type_::type type; - }; -}; - -} // namespace aux - -template< - typename T - , typename Tag - , typename Protect - > -struct lambda -{ - /// Metafunction forwarding confuses MSVC 6.x - typedef typename aux::template_arity::type arity_; - typedef typename aux::lambda_impl - ::template result_< T,Tag,Protect > l_; - - typedef typename l_::type type; - typedef typename l_::is_le is_le; -}; - -BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) - -template< - typename T - > -struct is_lambda_expression - : lambda::is_le -{ -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/less.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/less.hpp deleted file mode 100644 index 928d0e3087..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/less.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less - - : less_impl< - typename less_tag::type - , typename less_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/less_equal.hpp deleted file mode 100644 index 364cd967a7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/less_equal.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct less_equal_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct less_equal_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct less_equal_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct less_equal_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct less_equal - - : less_equal_impl< - typename less_equal_tag::type - , typename less_equal_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) - -}} - -namespace boost { namespace mpl { - -template<> -struct less_equal_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/list.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/list.hpp deleted file mode 100644 index 4e8ad53d21..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/list.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct list; - -template< - - > -struct list< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list0< > -{ - typedef list0< >::type type; -}; - -template< - typename T0 - > -struct list< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list1 -{ - typedef typename list1::type type; -}; - -template< - typename T0, typename T1 - > -struct list< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list2< T0,T1 > -{ - typedef typename list2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list3< T0,T1,T2 > -{ - typedef typename list3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list4< T0,T1,T2,T3 > -{ - typedef typename list4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list5< T0,T1,T2,T3,T4 > -{ - typedef typename list5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : list8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : list15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : list16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : list17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : list18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : list19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list - : list20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/list_c.hpp deleted file mode 100644 index 0b48a7f8e1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/list_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct list_c; - -template< - typename T - > -struct list_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list0_c -{ - typedef typename list0_c::type type; -}; - -template< - typename T, long C0 - > -struct list_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list1_c< T,C0 > -{ - typedef typename list1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct list_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list2_c< T,C0,C1 > -{ - typedef typename list2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct list_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list3_c< T,C0,C1,C2 > -{ - typedef typename list3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct list_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list4_c< T,C0,C1,C2,C3 > -{ - typedef typename list4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct list_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : list16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : list17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : list18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct list_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : list19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct list_c - : list20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/map.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/map.hpp deleted file mode 100644 index 837e013771..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/map.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/map.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct map; - -template< - - > -struct map< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map0< > -{ - typedef map0< >::type type; -}; - -template< - typename T0 - > -struct map< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map1 -{ - typedef typename map1::type type; -}; - -template< - typename T0, typename T1 - > -struct map< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map2< T0,T1 > -{ - typedef typename map2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct map< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map3< T0,T1,T2 > -{ - typedef typename map3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct map< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map4< T0,T1,T2,T3 > -{ - typedef typename map4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct map< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map5< T0,T1,T2,T3,T4 > -{ - typedef typename map5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct map< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : map8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : map15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : map16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : map17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : map18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct map< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : map19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct map - : map20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/minus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/minus.hpp deleted file mode 100644 index 0b8b5ceeb7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/minus.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/minus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct minus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct minus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct minus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct minus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct minus - : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct minus< N1,N2,N3,N4,na > - - : minus< minus< minus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct minus< N1,N2,N3,na,na > - - : minus< minus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct minus< N1,N2,na,na,na > - : minus_impl< - typename minus_tag::type - , typename minus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , minus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) - -}} - -namespace boost { namespace mpl { -template<> -struct minus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - - BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/modulus.hpp deleted file mode 100644 index 6a64e49a81..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/modulus.hpp +++ /dev/null @@ -1,99 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/modulus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct modulus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct modulus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct modulus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct modulus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct modulus - - : modulus_impl< - typename modulus_tag::type - , typename modulus_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) - -}} - -namespace boost { namespace mpl { -template<> -struct modulus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - % BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp deleted file mode 100644 index c08d7f06d7..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/not_equal_to.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct not_equal_to_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct not_equal_to_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct not_equal_to_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct not_equal_to_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct not_equal_to - - : not_equal_to_impl< - typename not_equal_to_tag::type - , typename not_equal_to_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) - -}} - -namespace boost { namespace mpl { - -template<> -struct not_equal_to_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/or.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/or.hpp deleted file mode 100644 index 986b2e0ea4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/or.hpp +++ /dev/null @@ -1,64 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/or.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< bool C_, typename T1, typename T2, typename T3, typename T4 > -struct or_impl - : true_ -{ -}; - -template< typename T1, typename T2, typename T3, typename T4 > -struct or_impl< false,T1,T2,T3,T4 > - : or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4 - , false_ - > -{ -}; - -template<> -struct or_impl< - false - , false_, false_, false_, false_ - > - : false_ -{ -}; - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename T3 = false_, typename T4 = false_, typename T5 = false_ - > -struct or_ - - : aux::or_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , T2, T3, T4, T5 - > - -{ -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , 5 - , or_ - ) - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/placeholders.hpp deleted file mode 100644 index ff97364b9b..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +++ /dev/null @@ -1,105 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// Copyright Peter Dimov 2001-2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/placeholders.hpp" header -// -- DO NOT modify by hand! - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg< -1 > _; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; -} - -}} - -/// agurt, 17/mar/02: one more placeholder for the last 'apply#' -/// specialization -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<1> _1; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<2> _2; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<3> _3; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<4> _4; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<5> _5; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; -} - -}} -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -typedef arg<6> _6; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -namespace boost { namespace mpl { - -BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) - -namespace placeholders { -using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; -} - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/plus.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/plus.hpp deleted file mode 100644 index ed2e432dc8..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/plus.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/plus.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct plus_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct plus_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct plus_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct plus_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct plus - : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct plus< N1,N2,N3,N4,na > - - : plus< plus< plus< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct plus< N1,N2,N3,na,na > - - : plus< plus< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct plus< N1,N2,na,na,na > - : plus_impl< - typename plus_tag::type - , typename plus_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , plus - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) - -}} - -namespace boost { namespace mpl { -template<> -struct plus_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - + BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/quote.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/quote.hpp deleted file mode 100644 index d7d0420e4d..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/quote.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/quote.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< typename T, bool has_type_ > -struct quote_impl - : T -{ -}; - -template< typename T > -struct quote_impl< T,false > -{ - typedef T type; -}; - -template< - template< typename P1 > class F - , typename Tag = void_ - > -struct quote1 -{ - template< typename U1 > struct apply - - : quote_impl< - F - , aux::has_type< F >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2 > class F - , typename Tag = void_ - > -struct quote2 -{ - template< typename U1, typename U2 > struct apply - - : quote_impl< - F< U1,U2 > - , aux::has_type< F< U1,U2 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3 > class F - , typename Tag = void_ - > -struct quote3 -{ - template< typename U1, typename U2, typename U3 > struct apply - - : quote_impl< - F< U1,U2,U3 > - , aux::has_type< F< U1,U2,U3 > >::value - > - - { - }; -}; - -template< - template< typename P1, typename P2, typename P3, typename P4 > class F - , typename Tag = void_ - > -struct quote4 -{ - template< - typename U1, typename U2, typename U3, typename U4 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4 > - , aux::has_type< F< U1,U2,U3,U4 > >::value - > - - { - }; -}; - -template< - template< - typename P1, typename P2, typename P3, typename P4 - , typename P5 - > - class F - , typename Tag = void_ - > -struct quote5 -{ - template< - typename U1, typename U2, typename U3, typename U4 - , typename U5 - > - struct apply - - : quote_impl< - F< U1,U2,U3,U4,U5 > - , aux::has_type< F< U1,U2,U3,U4,U5 > >::value - > - - { - }; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp deleted file mode 100644 index c468684c91..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; - typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; - typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; - typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2::type>::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , typename deref::type - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp deleted file mode 100644 index 658f92a7c3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +++ /dev/null @@ -1,231 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { namespace aux { - -/// forward declaration - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef fwd_state0 bkwd_state0; - typedef bkwd_state0 state; - typedef iter0 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - - - typedef fwd_state1 bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - typedef bkwd_state0 state; - typedef iter1 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - - - typedef fwd_state2 bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter2 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - - - typedef fwd_state3 bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter3 iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef fwd_state4 bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef iter4 iterator; -}; - -template< - long N - , typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl -{ - typedef First iter0; - typedef State fwd_state0; - typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; - typedef typename mpl::next::type iter1; - typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; - typedef typename mpl::next::type iter2; - typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; - typedef typename mpl::next::type iter3; - typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; - typedef typename mpl::next::type iter4; - - - typedef reverse_iter_fold_impl< - ( (N - 4) < 0 ? 0 : N - 4 ) - , iter4 - , Last - , fwd_state4 - , BackwardOp - , ForwardOp - > nested_chunk; - - typedef typename nested_chunk::state bkwd_state4; - typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; - typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; - typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; - typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; - - - typedef bkwd_state0 state; - typedef typename nested_chunk::iterator iterator; -}; - -template< - typename First - , typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > -{ - typedef reverse_iter_fold_impl< - -1 - , typename mpl::next::type - , Last - , typename apply2< ForwardOp,State,First >::type - , BackwardOp - , ForwardOp - > nested_step; - - typedef typename apply2< - BackwardOp - , typename nested_step::state - , First - >::type state; - - typedef typename nested_step::iterator iterator; -}; - -template< - typename Last - , typename State - , typename BackwardOp - , typename ForwardOp - > -struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > -{ - typedef State state; - typedef Last iterator; -}; - -}}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/set.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/set.hpp deleted file mode 100644 index 5721922e11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/set.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct set; - -template< - - > -struct set< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set0< > -{ - typedef set0< >::type type; -}; - -template< - typename T0 - > -struct set< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set1 -{ - typedef typename set1::type type; -}; - -template< - typename T0, typename T1 - > -struct set< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set2< T0,T1 > -{ - typedef typename set2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct set< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set3< T0,T1,T2 > -{ - typedef typename set3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct set< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set4< T0,T1,T2,T3 > -{ - typedef typename set4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct set< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set5< T0,T1,T2,T3,T4 > -{ - typedef typename set5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct set< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : set8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : set15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : set16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : set17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : set18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct set< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : set19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct set - : set20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/set_c.hpp deleted file mode 100644 index cbeb932c13..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/set_c.hpp +++ /dev/null @@ -1,328 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/set_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct set_c; - -template< - typename T - > -struct set_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set0_c -{ - typedef typename set0_c::type type; -}; - -template< - typename T, long C0 - > -struct set_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set1_c< T,C0 > -{ - typedef typename set1_c< T,C0 >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct set_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set2_c< T,C0,C1 > -{ - typedef typename set2_c< T,C0,C1 >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct set_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set3_c< T,C0,C1,C2 > -{ - typedef typename set3_c< T,C0,C1,C2 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct set_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set4_c< T,C0,C1,C2,C3 > -{ - typedef typename set4_c< T,C0,C1,C2,C3 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct set_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set5_c< T,C0,C1,C2,C3,C4 > -{ - typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set6_c< T,C0,C1,C2,C3,C4,C5 > -{ - typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > -{ - typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > -{ - typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > -{ - typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > -{ - typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > -{ - typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > -{ - typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > -{ - typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set14_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - > -{ - typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set15_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - > -{ - typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : set16_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15 - > -{ - typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : set17_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16 - > -{ - typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : set18_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17 - > -{ - typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct set_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : set19_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18 - > -{ - typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct set_c - : set20_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, C19 - > -{ - typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/shift_left.hpp deleted file mode 100644 index cf9c837d6a..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_left.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_left_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_left_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_left_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_left_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_left - - : shift_left_impl< - typename shift_left_tag::type - , typename shift_left_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_left_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - << BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/shift_right.hpp deleted file mode 100644 index 477229f24e..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +++ /dev/null @@ -1,97 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Jaap Suter 2003 -// -// 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) -// - -// Preprocessed version of "boost/mpl/shift_right.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct shift_right_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct shift_right_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct shift_right_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct shift_right_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - > -struct shift_right - - : shift_right_impl< - typename shift_right_tag::type - , typename shift_right_tag::type - >::template apply< N1,N2 >::type -{ -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) - -}} - -namespace boost { namespace mpl { -template<> -struct shift_right_impl< integral_c_tag,integral_c_tag > -{ - template< typename N, typename S > struct apply - - : integral_c< - typename N::value_type - , ( BOOST_MPL_AUX_VALUE_WKND(N)::value - >> BOOST_MPL_AUX_VALUE_WKND(S)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/template_arity.hpp deleted file mode 100644 index a23fc23846..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +++ /dev/null @@ -1,11 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header -// -- DO NOT modify by hand! - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/times.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/times.hpp deleted file mode 100644 index ca88d405f0..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/times.hpp +++ /dev/null @@ -1,141 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/times.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename Tag1 - , typename Tag2 - > -struct times_impl - : if_c< - ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) - > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) - ) - - , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > - , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > - >::type -{ -}; - -/// for Digital Mars C++/compilers with no CTPS/TTP support -template<> struct times_impl< na,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< na,Tag > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename Tag > struct times_impl< Tag,na > -{ - template< typename U1, typename U2 > struct apply - { - typedef apply type; - BOOST_STATIC_CONSTANT(int, value = 0); - }; -}; - -template< typename T > struct times_tag -{ - typedef typename T::tag type; -}; - -template< - typename BOOST_MPL_AUX_NA_PARAM(N1) - , typename BOOST_MPL_AUX_NA_PARAM(N2) - , typename N3 = na, typename N4 = na, typename N5 = na - > -struct times - : times< times< times< times< N1,N2 >, N3>, N4>, N5> -{ -}; - -template< - typename N1, typename N2, typename N3, typename N4 - > -struct times< N1,N2,N3,N4,na > - - : times< times< times< N1,N2 >, N3>, N4> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, N4, na ) - ) -}; - -template< - typename N1, typename N2, typename N3 - > -struct times< N1,N2,N3,na,na > - - : times< times< N1,N2 >, N3> -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, N3, na, na ) - ) -}; - -template< - typename N1, typename N2 - > -struct times< N1,N2,na,na,na > - : times_impl< - typename times_tag::type - , typename times_tag::type - >::template apply< N1,N2 >::type -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( - 5 - , times - , ( N1, N2, na, na, na ) - ) - -}; - -BOOST_MPL_AUX_NA_SPEC2(2, 5, times) - -}} - -namespace boost { namespace mpl { -template<> -struct times_impl< integral_c_tag,integral_c_tag > -{ - template< typename N1, typename N2 > struct apply - - : integral_c< - typename aux::largest_int< - typename N1::value_type - , typename N2::value_type - >::type - , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value - * BOOST_MPL_AUX_VALUE_WKND(N2)::value - ) - > - { - }; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp deleted file mode 100644 index 2194ce9d11..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +++ /dev/null @@ -1,94 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/unpack_args.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -namespace aux { - -template< int size, typename F, typename Args > -struct unpack_args_impl; - -template< typename F, typename Args > -struct unpack_args_impl< 0,F,Args > - : apply0< - F - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 1,F,Args > - : apply1< - F - , typename at_c< Args,0 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 2,F,Args > - : apply2< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 3,F,Args > - : apply3< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 4,F,Args > - : apply4< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - > -{ -}; - -template< typename F, typename Args > -struct unpack_args_impl< 5,F,Args > - : apply5< - F - , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type - , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type - , typename at_c< Args,4 >::type - > -{ -}; - -} - -template< - typename F - > -struct unpack_args -{ - template< typename Args > struct apply - - : aux::unpack_args_impl< size::value,F, Args > - - { - }; -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/vector.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/vector.hpp deleted file mode 100644 index bfa9565a53..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/vector.hpp +++ /dev/null @@ -1,323 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na - , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na - , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na - , typename T12 = na, typename T13 = na, typename T14 = na - , typename T15 = na, typename T16 = na, typename T17 = na - , typename T18 = na, typename T19 = na - > -struct vector; - -template< - - > -struct vector< - na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector0< > -{ - typedef vector0< >::type type; -}; - -template< - typename T0 - > -struct vector< - T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector1 -{ - typedef typename vector1::type type; -}; - -template< - typename T0, typename T1 - > -struct vector< - T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector2< T0,T1 > -{ - typedef typename vector2< T0,T1 >::type type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct vector< - T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector3< T0,T1,T2 > -{ - typedef typename vector3< T0,T1,T2 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct vector< - T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector4< T0,T1,T2,T3 > -{ - typedef typename vector4< T0,T1,T2,T3 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct vector< - T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector5< T0,T1,T2,T3,T4 > -{ - typedef typename vector5< T0,T1,T2,T3,T4 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct vector< - T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector6< T0,T1,T2,T3,T4,T5 > -{ - typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector7< T0,T1,T2,T3,T4,T5,T6 > -{ - typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na - , na, na, na - > - : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > -{ - typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na - , na, na, na - > - : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > -{ - typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na - , na, na, na - > - : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > -{ - typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na - , na, na, na - > - : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > -{ - typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na - , na, na, na, na - > - : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > -{ - typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na - , na, na, na, na - > - : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > -{ - typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na - , na, na, na, na - > - : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > -{ - typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na - , na, na, na, na - > - : vector15< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - > -{ - typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, na, na, na, na - > - : vector16< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15 - > -{ - typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, na, na, na - > - : vector17< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16 - > -{ - typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, na, na - > - : vector18< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17 - > -{ - typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct vector< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, na - > - : vector19< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18 - > -{ - typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct vector - : vector20< - T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 - , T15, T16, T17, T18, T19 - > -{ - typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/vector_c.hpp deleted file mode 100644 index 0f1560d7f1..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +++ /dev/null @@ -1,309 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/vector_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX - , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX - , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX - , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX - , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX - , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX - , long C18 = LONG_MAX, long C19 = LONG_MAX - > -struct vector_c; - -template< - typename T - > -struct vector_c< - T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector0_c -{ - typedef typename vector0_c::type type; -}; - -template< - typename T, long C0 - > -struct vector_c< - T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector1_c< T, T(C0) > -{ - typedef typename vector1_c< T, T(C0) >::type type; -}; - -template< - typename T, long C0, long C1 - > -struct vector_c< - T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector2_c< T, T(C0), T(C1) > -{ - typedef typename vector2_c< T, T(C0), T(C1) >::type type; -}; - -template< - typename T, long C0, long C1, long C2 - > -struct vector_c< - T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector3_c< T, T(C0), T(C1), T(C2) > -{ - typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3 - > -struct vector_c< - T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > -{ - typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4 - > -struct vector_c< - T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > -{ - typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > -{ - typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX - > - : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > -{ - typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX - > - : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > -{ - typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > -{ - typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - , LONG_MAX - > - : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > -{ - typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > -{ - typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > -{ - typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > -{ - typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > -{ - typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > -{ - typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > -{ - typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX - > - : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > -{ - typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, LONG_MAX, LONG_MAX - > - : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > -{ - typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; -}; - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18 - > -struct vector_c< - T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 - , C15, C16, C17, C18, LONG_MAX - > - : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > -{ - typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; -}; - -/// primary template (not a specialization!) - -template< - typename T, long C0, long C1, long C2, long C3, long C4, long C5 - , long C6, long C7, long C8, long C9, long C10, long C11, long C12 - , long C13, long C14, long C15, long C16, long C17, long C18, long C19 - > -struct vector_c - : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > -{ - typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; -}; - -}} - diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/sub.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessor/sub.hpp deleted file mode 100644 index c794c749fa..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/sub.hpp +++ /dev/null @@ -1,65 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include - -#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) -# include - -# define BOOST_MPL_PP_SUB(i,j) \ - BOOST_MPL_PP_SUB_DELAY(i,j) \ - /**/ - -# define BOOST_MPL_PP_SUB_DELAY(i,j) \ - BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \ - /**/ -#else -# define BOOST_MPL_PP_SUB(i,j) \ - BOOST_MPL_PP_SUB_DELAY(i,j) \ - /**/ - -# define BOOST_MPL_PP_SUB_DELAY(i,j) \ - BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \ - /**/ -#endif - -# define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10) -# define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9) -# define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8) -# define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7) -# define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6) -# define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5) -# define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4) -# define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3) -# define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2) -# define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1) -# define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0) - -#else - -# include - -# define BOOST_MPL_PP_SUB(i,j) \ - BOOST_PP_SUB(i,j) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/tuple.hpp b/external/include/boost_1_75/boost/mpl/aux_/preprocessor/tuple.hpp deleted file mode 100644 index 755bbc58e4..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/tuple.hpp +++ /dev/null @@ -1,29 +0,0 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0 -#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1 -#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2 -#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3 -#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4 -#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5 -#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6 -#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7 -#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8 -#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9 -#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10 - -#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/template_arity.hpp b/external/include/boost_1_75/boost/mpl/aux_/template_arity.hpp deleted file mode 100644 index f011159825..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/template_arity.hpp +++ /dev/null @@ -1,189 +0,0 @@ - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED -#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) -# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) -# include -# endif -# else -# include -# endif -#endif - -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp -# include - -#else - -# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) -# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) - -# include -# include -# include -# include -# include - -# include -# include -# include -# include -# include - -# define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) - -namespace boost { namespace mpl { namespace aux { - -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag -{ - typedef char (&type)[N + 1]; -}; - -# define AUX778076_MAX_ARITY_OP(unused, state, i_) \ - ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \ -/**/ - -template< - BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C)) - > -struct max_arity -{ - BOOST_STATIC_CONSTANT(int, value = - BOOST_PP_SEQ_FOLD_LEFT( - AUX778076_MAX_ARITY_OP - , -1 - , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY) - ) - ); -}; - -# undef AUX778076_MAX_ARITY_OP - -arity_tag<0>::type arity_helper(...); - -# define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY) -# define BOOST_PP_FILENAME_1 -# include BOOST_PP_ITERATE() - -template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > -struct template_arity_impl -{ - BOOST_STATIC_CONSTANT(int, value = - sizeof(::boost::mpl::aux::arity_helper(type_wrapper(),arity_tag())) - 1 - ); -}; - -# define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \ - BOOST_PP_COMMA_IF(i_) template_arity_impl::value \ -/**/ - -template< typename F > -struct template_arity -{ - BOOST_STATIC_CONSTANT(int, value = ( - max_arity< BOOST_MPL_PP_REPEAT( - AUX778076_ARITY - , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION - , F - ) >::value - )); - - typedef mpl::int_ type; -}; - -# undef AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION - -# undef AUX778076_ARITY - -}}} - -# endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING -# else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -# include - -namespace boost { namespace mpl { namespace aux { - -template< bool > -struct template_arity_impl -{ - template< typename F > struct result_ - : mpl::int_<-1> - { - }; -}; - -template<> -struct template_arity_impl -{ - template< typename F > struct result_ - : F::arity - { - }; -}; - -template< typename F > -struct template_arity - : template_arity_impl< ::boost::mpl::aux::has_rebind::value > - ::template result_ -{ -}; - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) -template<> -struct template_arity - : mpl::int_<-1> -{ -}; -#endif - -}}} - -# endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED - -///// iteration - -#else -#define i_ BOOST_PP_FRAME_ITERATION(1) - -template< - template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F - , BOOST_MPL_PP_PARAMS(i_, typename T) - > -typename arity_tag::type -arity_helper(type_wrapper< F >, arity_tag); - -#undef i_ -#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/mpl/aux_/unwrap.hpp b/external/include/boost_1_75/boost/mpl/aux_/unwrap.hpp deleted file mode 100644 index caeb97d7d3..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/unwrap.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -#ifndef BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED -#define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED - -// Copyright Peter Dimov and Multi Media Ltd 2001, 2002 -// Copyright David Abrahams 2001 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { namespace aux { - -template< typename F > -BOOST_MPL_CFG_GPU_ENABLED -inline -F& unwrap(F& f, long) -{ - return f; -} - -template< typename F > -BOOST_MPL_CFG_GPU_ENABLED -inline -F& -unwrap(reference_wrapper& f, int) -{ - return f; -} - -template< typename F > -BOOST_MPL_CFG_GPU_ENABLED -inline -F& -unwrap(reference_wrapper const& f, int) -{ - return f; -} - -}}} - -#endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/yes_no.hpp b/external/include/boost_1_75/boost/mpl/aux_/yes_no.hpp deleted file mode 100644 index 21a18a21c2..0000000000 --- a/external/include/boost_1_75/boost/mpl/aux_/yes_no.hpp +++ /dev/null @@ -1,58 +0,0 @@ - -#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED -#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - - -namespace boost { namespace mpl { namespace aux { - -typedef char (&no_tag)[1]; -typedef char (&yes_tag)[2]; - -template< bool C_ > struct yes_no_tag -{ - typedef no_tag type; -}; - -template<> struct yes_no_tag -{ - typedef yes_tag type; -}; - - -template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag -{ -#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) - typedef char (&type)[n]; -#else - char buf[n]; - typedef weighted_tag type; -#endif -}; - -#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) -template<> struct weighted_tag<0> -{ - typedef char (&type)[1]; -}; -#endif - -}}} - -#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/bool.hpp b/external/include/boost_1_75/boost/mpl/bool.hpp deleted file mode 100644 index 0a6180cedf..0000000000 --- a/external/include/boost_1_75/boost/mpl/bool.hpp +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef BOOST_MPL_BOOL_HPP_INCLUDED -#define BOOST_MPL_BOOL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< bool C_ > struct bool_ -{ - BOOST_STATIC_CONSTANT(bool, value = C_); - typedef integral_c_tag tag; - typedef bool_ type; - typedef bool value_type; - BOOST_CONSTEXPR operator bool() const { return this->value; } -}; - -#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) -template< bool C_ > -bool const bool_::value; -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -#endif // BOOST_MPL_BOOL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/for_each.hpp b/external/include/boost_1_75/boost/mpl/for_each.hpp deleted file mode 100644 index 6b40ce1663..0000000000 --- a/external/include/boost_1_75/boost/mpl/for_each.hpp +++ /dev/null @@ -1,123 +0,0 @@ - -#ifndef BOOST_MPL_FOR_EACH_HPP_INCLUDED -#define BOOST_MPL_FOR_EACH_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2008 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace boost { namespace mpl { - -namespace aux { - -template< bool done = true > -struct for_each_impl -{ - template< - typename Iterator - , typename LastIterator - , typename TransformFunc - , typename F - > - BOOST_MPL_CFG_GPU_ENABLED - static void execute( - Iterator* - , LastIterator* - , TransformFunc* - , F - ) - { - } -}; - -template<> -struct for_each_impl -{ - template< - typename Iterator - , typename LastIterator - , typename TransformFunc - , typename F - > - BOOST_MPL_CFG_GPU_ENABLED - static void execute( - Iterator* - , LastIterator* - , TransformFunc* - , F f - ) - { - typedef typename deref::type item; - typedef typename apply1::type arg; - - // dwa 2002/9/10 -- make sure not to invoke undefined behavior - // when we pass arg. - value_initialized x; - aux::unwrap(f, 0)(boost::get(x)); - - typedef typename mpl::next::type iter; - for_each_impl::value> - ::execute( static_cast(0), static_cast(0), static_cast(0), f); - } -}; - -} // namespace aux - -// agurt, 17/mar/02: pointer default parameters are necessary to workaround -// MSVC 6.5 function template signature's mangling bug -template< - typename Sequence - , typename TransformOp - , typename F - > -BOOST_MPL_CFG_GPU_ENABLED -inline -void for_each(F f, Sequence* = 0, TransformOp* = 0) -{ - BOOST_MPL_ASSERT(( is_sequence )); - - typedef typename begin::type first; - typedef typename end::type last; - - aux::for_each_impl< boost::is_same::value > - ::execute(static_cast(0), static_cast(0), static_cast(0), f); -} - -template< - typename Sequence - , typename F - > -BOOST_MPL_CFG_GPU_ENABLED -inline -void for_each(F f, Sequence* = 0) -{ - // jfalcou: fully qualifying this call so it doesnt clash with phoenix::for_each - // ons ome compilers -- done on 02/28/2011 - boost::mpl::for_each >(f); -} - -}} - -#endif // BOOST_MPL_FOR_EACH_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/has_xxx.hpp b/external/include/boost_1_75/boost/mpl/has_xxx.hpp deleted file mode 100644 index a59c35d0af..0000000000 --- a/external/include/boost_1_75/boost/mpl/has_xxx.hpp +++ /dev/null @@ -1,647 +0,0 @@ - -#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED -#define BOOST_MPL_HAS_XXX_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2006 -// Copyright David Abrahams 2002-2003 -// Copyright Daniel Walker 2007 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#if BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x590) ) -# include -#endif - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) - -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - -// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET -// newsgroup's posting by John Madsen (comp.lang.c++.moderated, -// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but -// it works way more reliably than the SFINAE-based implementation - -// Modified dwa 8/Oct/02 to handle reference types. - -# include -# include - -namespace boost { namespace mpl { namespace aux { - -struct has_xxx_tag; - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) -template< typename U > struct msvc_incomplete_array -{ - typedef char (&type)[sizeof(U) + 1]; -}; -#endif - -template< typename T > -struct msvc_is_incomplete -{ - // MSVC is capable of some kinds of SFINAE. If U is an incomplete - // type, it won't pick the second overload - static char tester(...); - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) - template< typename U > - static typename msvc_incomplete_array::type tester(type_wrapper); -#else - template< typename U > - static char (& tester(type_wrapper) )[sizeof(U)+1]; -#endif - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(tester(type_wrapper())) == 1 - ); -}; - -template<> -struct msvc_is_incomplete -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -}}} - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \ -template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \ -struct BOOST_PP_CAT(trait,_impl) : T \ -{ \ - static boost::mpl::aux::no_tag \ - test(void(*)(::boost::mpl::aux::has_xxx_tag)); \ - \ - static boost::mpl::aux::yes_tag test(...); \ - \ - BOOST_STATIC_CONSTANT(bool, value = \ - sizeof(test(static_cast(0))) \ - != sizeof(boost::mpl::aux::no_tag) \ - ); \ - typedef boost::mpl::bool_ type; \ -}; \ -\ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ - : boost::mpl::if_c< \ - boost::mpl::aux::msvc_is_incomplete::value \ - , boost::mpl::bool_ \ - , BOOST_PP_CAT(trait,_impl) \ - >::type \ -{ \ -}; \ -\ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \ -BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \ -/**/ - -# define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \ -template<> struct trait \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = false); \ - typedef boost::mpl::bool_ type; \ -}; \ -/**/ - -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ - BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \ -/**/ -#else -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ -/**/ -#endif - - -// SFINAE-based implementations below are derived from a USENET newsgroup's -// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST) - -# elif BOOST_WORKAROUND(BOOST_MSVC, <= 1400) \ - || (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1800)) && defined(__CUDACC__)) \ - || BOOST_WORKAROUND(__IBMCPP__, <= 700) - -// MSVC 7.1 & MSVC 8.0 & VACPP - -// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE -// applied to partial specialization to fix some apparently random failures -// (thanks to Daniel Wallin for researching this!) - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ -template< typename T > \ -struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \ -{ \ - typedef void type; \ -};\ -\ -template< typename T, typename U = void > \ -struct BOOST_PP_CAT(trait,_impl_) \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = false); \ - typedef boost::mpl::bool_ type; \ -}; \ -\ -template< typename T > \ -struct BOOST_PP_CAT(trait,_impl_)< \ - T \ - , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \ - > \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = true); \ - typedef boost::mpl::bool_ type; \ -}; \ -\ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ - : BOOST_PP_CAT(trait,_impl_) \ -{ \ -}; \ -/**/ - -# elif BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x590) ) - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \ -template< typename T, bool IS_CLASS > \ -struct trait_tester \ -{ \ - BOOST_STATIC_CONSTANT( bool, value = false ); \ -}; \ -template< typename T > \ -struct trait_tester< T, true > \ -{ \ - struct trait_tester_impl \ - { \ - template < class U > \ - static int resolve( boost::mpl::aux::type_wrapper const volatile * \ - , boost::mpl::aux::type_wrapper* = 0 ); \ - static char resolve( ... ); \ - }; \ - typedef boost::mpl::aux::type_wrapper t_; \ - BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \ -}; \ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ -{ \ - BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) ); \ - typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \ -}; - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \ - , BOOST_PP_CAT(trait,_tester) \ - , name \ - , default_ ) \ -/**/ - -# else // other SFINAE-capable compilers - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ -{ \ - struct gcc_3_2_wknd \ - { \ - template< typename U > \ - static boost::mpl::aux::yes_tag test( \ - boost::mpl::aux::type_wrapper const volatile* \ - , boost::mpl::aux::type_wrapper* = 0 \ - ); \ - \ - static boost::mpl::aux::no_tag test(...); \ - }; \ - \ - typedef boost::mpl::aux::type_wrapper t_; \ - BOOST_STATIC_CONSTANT(bool, value = \ - sizeof(gcc_3_2_wknd::test(static_cast(0))) \ - == sizeof(boost::mpl::aux::yes_tag) \ - ); \ - typedef boost::mpl::bool_ type; \ -}; \ -/**/ - -# endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - - -#else // BOOST_MPL_CFG_NO_HAS_XXX - -// placeholder implementation - -# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ -template< typename T, typename fallback_ = boost::mpl::bool_ > \ -struct trait \ -{ \ - BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ - typedef fallback_ type; \ -}; \ -/**/ - -#endif - -#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \ - BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \ -/**/ - - -#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE) - -// Create a boolean Metafunction to detect a nested template -// member. This implementation is based on a USENET newsgroup's -// posting by Aleksey Gurtovoy (comp.lang.c++.moderated, 2002-03-19), -// Rani Sharoni's USENET posting cited above, the non-template has_xxx -// implementations above, and discussion on the Boost mailing list. - -# if !defined(BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES) -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1 -# else -# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 0 -# endif -# endif - -# if !defined(BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION) -# if (defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)) -# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1 -# else -# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 0 -# endif -# endif - -# if !defined(BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE) -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1 -# else -# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 0 -# endif -# endif - -// NOTE: Many internal implementation macros take a Boost.Preprocessor -// array argument called args which is of the following form. -// ( 4, ( trait, name, max_arity, default_ ) ) - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \ - BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ - BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \ - BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \ - /**/ - -// Thanks to Guillaume Melquiond for pointing out the need for the -// "substitute" template as an argument to the overloaded test -// functions to get SFINAE to work for member templates with the -// correct name but different number of arguments. -# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \ - template< \ - template< BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), typename V) > class V \ - > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \ - , args \ - ) \ - /**/ - -# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION -# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ - template< typename V > \ - static boost::mpl::aux::no_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ - static boost::mpl::aux::no_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \ - /**/ -# endif - -# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES -# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \ - template< typename V > \ - static boost::mpl::aux::yes_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - boost::mpl::aux::type_wrapper< V > const volatile* \ - , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \ - V::template BOOST_PP_ARRAY_ELEM(1, args) \ - >* = 0 \ - ); \ - /**/ -# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \ - , args \ - ) \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ - template< typename V > \ - static boost::mpl::aux::yes_tag \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - V const volatile* \ - , member_macro(args, V, T)* = 0 \ - ); \ - /**/ -# endif - -# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION -# define BOOST_MPL_HAS_MEMBER_TEST(args) \ - sizeof(BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \ - == sizeof(boost::mpl::aux::yes_tag) \ - /**/ -# else -# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES -# define BOOST_MPL_HAS_MEMBER_TEST(args) \ - sizeof( \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - static_cast< boost::mpl::aux::type_wrapper< U >* >(0) \ - ) \ - ) == sizeof(boost::mpl::aux::yes_tag) \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_TEST(args) \ - sizeof( \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ - static_cast< U* >(0) \ - ) \ - ) == sizeof(boost::mpl::aux::yes_tag) \ - /**/ -# endif -# endif - -# define BOOST_MPL_HAS_MEMBER_INTROSPECT( \ - args, substitute_macro, member_macro \ - ) \ - template< typename U > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \ - BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \ - BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ - BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ - BOOST_STATIC_CONSTANT( \ - bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \ - ); \ - typedef boost::mpl::bool_< value > type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ - args, introspect_macro, substitute_macro, member_macro \ - ) \ - template< \ - typename T \ - , typename fallback_ \ - = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \ - > \ - class BOOST_PP_ARRAY_ELEM(0, args) { \ - introspect_macro(args, substitute_macro, member_macro) \ - public: \ - static const bool value \ - = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \ - typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \ - T \ - >::type type; \ - }; \ - /**/ - -// BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full -// implementation of the function-based metafunction. Compile with -E -// to see the preprocessor output for this macro. -# define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \ - args, substitute_macro, member_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ - args \ - , BOOST_MPL_HAS_MEMBER_INTROSPECT \ - , substitute_macro \ - , member_macro \ - ) \ - /**/ - -# if BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE - -# if !defined(BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE) -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1 -# endif -# endif - -# if !BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - ) \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ - /**/ -# else -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - ) \ - BOOST_PP_CAT( \ - boost_mpl_has_xxx_ \ - , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ - ) \ - /**/ -# endif - -# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \ - args \ - ) \ - BOOST_PP_CAT( \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, 0 \ - ) \ - , _tag \ - ) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ - z, n, args \ - ) \ - template< \ - template< BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), typename U) > class U \ - > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - ) { \ - typedef \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \ - type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro \ - ) \ - typedef void \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \ - , args \ - ) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \ - args, member_macro \ - ) \ - template< \ - typename U \ - , typename V \ - = BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \ - > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \ - BOOST_STATIC_CONSTANT(bool, value = false); \ - typedef boost::mpl::bool_< value > type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \ - z, n, args \ - ) \ - template< typename U > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \ - U \ - , typename \ - BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ - args, n \ - )< \ - BOOST_MSVC_TYPENAME U::BOOST_PP_ARRAY_ELEM(1, args)< > \ - >::type \ - > { \ - BOOST_STATIC_CONSTANT(bool, value = true); \ - typedef boost::mpl::bool_< value > type; \ - }; \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \ - args, member_macro \ - ) \ - BOOST_PP_REPEAT( \ - BOOST_PP_ARRAY_ELEM(2, args) \ - , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \ - , args \ - ) \ - /**/ - -# define BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro, member_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \ - BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \ - template< typename U > \ - struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \ - : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \ - }; \ - /**/ - -// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full -// implementation of the template-based metafunction. Compile with -E -// to see the preprocessor output for this macro. -// -// Note that if BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is -// defined BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs -// to be expanded at namespace level before -// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used. -# define BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro, member_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ - args, substitute_macro \ - ) \ - BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ - args \ - , BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \ - , substitute_macro \ - , member_macro \ - ) \ - /**/ - -# endif // BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE - -// Note: In the current implementation the parameter and access macros -// are no longer expanded. -# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400) -# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ - BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \ - ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \ - ) \ - /**/ -# else -# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ - BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \ - ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \ - , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \ - ) \ - /**/ -# endif - -#else // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE - -// placeholder implementation - -# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ - template< typename T \ - , typename fallback_ = boost::mpl::bool_< default_ > > \ - struct trait { \ - BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ - typedef fallback_ type; \ - }; \ - /**/ - -#endif // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE - -# define BOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \ - BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \ - BOOST_PP_CAT(has_, name), name, false \ - ) \ - /**/ - -#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/if.hpp b/external/include/boost_1_75/boost/mpl/if.hpp deleted file mode 100644 index 3b0ae19228..0000000000 --- a/external/include/boost_1_75/boost/mpl/if.hpp +++ /dev/null @@ -1,135 +0,0 @@ - -#ifndef BOOST_MPL_IF_HPP_INCLUDED -#define BOOST_MPL_IF_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< - bool C - , typename T1 - , typename T2 - > -struct if_c -{ - typedef T1 type; -}; - -template< - typename T1 - , typename T2 - > -struct if_c -{ - typedef T2 type; -}; - -// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars -// (and possibly MWCW < 8.0); see https://lists.boost.org/Archives/boost/2004/09/71383.php -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - , typename BOOST_MPL_AUX_NA_PARAM(T3) - > -struct if_ -{ - private: - // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC - typedef if_c< -#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) - BOOST_MPL_AUX_VALUE_WKND(T1)::value -#else - BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value) -#endif - , T2 - , T3 - > almost_type_; - - public: - typedef typename almost_type_::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3)) -}; - -#else - -// no partial class template specialization - -namespace aux { - -template< bool C > -struct if_impl -{ - template< typename T1, typename T2 > struct result_ - { - typedef T1 type; - }; -}; - -template<> -struct if_impl -{ - template< typename T1, typename T2 > struct result_ - { - typedef T2 type; - }; -}; - -} // namespace aux - -template< - bool C_ - , typename T1 - , typename T2 - > -struct if_c -{ - typedef typename aux::if_impl< C_ > - ::template result_::type type; -}; - -// (almost) copy & paste in order to save one more -// recursively nested template instantiation to user -template< - typename BOOST_MPL_AUX_NA_PARAM(C_) - , typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - > -struct if_ -{ - enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value }; - - typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) > - ::template result_::type type; - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2)) -}; - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -BOOST_MPL_AUX_NA_SPEC(3, if_) - -}} - -#endif // BOOST_MPL_IF_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/limits/arity.hpp b/external/include/boost_1_75/boost/mpl/limits/arity.hpp deleted file mode 100644 index 8c3eb362ce..0000000000 --- a/external/include/boost_1_75/boost/mpl/limits/arity.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED -#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) -# define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5 -#endif - -#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/limits/list.hpp b/external/include/boost_1_75/boost/mpl/limits/list.hpp deleted file mode 100644 index b22d6a7b81..0000000000 --- a/external/include/boost_1_75/boost/mpl/limits/list.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef BOOST_MPL_LIMITS_LIST_HPP_INCLUDED -#define BOOST_MPL_LIMITS_LIST_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_LIMIT_LIST_SIZE) -# define BOOST_MPL_LIMIT_LIST_SIZE 20 -#endif - -#endif // BOOST_MPL_LIMITS_LIST_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list.hpp b/external/include/boost_1_75/boost/mpl/list.hpp deleted file mode 100644 index cff8a4ddd8..0000000000 --- a/external/include/boost_1_75/boost/mpl/list.hpp +++ /dev/null @@ -1,57 +0,0 @@ - -#ifndef BOOST_MPL_LIST_HPP_INCLUDED -#define BOOST_MPL_LIST_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include - -# include -# include -# include - -#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) -# define AUX778076_LIST_HEADER \ - BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \ - /**/ -#else -# define AUX778076_LIST_HEADER \ - BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \ - /**/ -#endif - -# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_HEADER) -# undef AUX778076_LIST_HEADER -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list.hpp -# include - -#else - -# include - -# define AUX778076_SEQUENCE_NAME list -# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE -# include - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_LIST_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/O1_size.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/O1_size.hpp deleted file mode 100644 index ccbc3f1b32..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/O1_size.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { - -template<> -struct O1_size_impl< aux::list_tag > -{ - template< typename List > struct apply - : List::size - { - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/begin_end.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/begin_end.hpp deleted file mode 100644 index b568bee21c..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/begin_end.hpp +++ /dev/null @@ -1,44 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template<> -struct begin_impl< aux::list_tag > -{ - template< typename List > struct apply - { - typedef l_iter type; - }; -}; - -template<> -struct end_impl< aux::list_tag > -{ - template< typename > struct apply - { - typedef l_iter type; - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/clear.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/clear.hpp deleted file mode 100644 index b16162f7c0..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/clear.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -namespace boost { namespace mpl { - -template<> -struct clear_impl< aux::list_tag > -{ - template< typename List > struct apply - { - typedef l_end type; - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/empty.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/empty.hpp deleted file mode 100644 index 95f9243947..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/empty.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -namespace boost { namespace mpl { - -template<> -struct empty_impl< aux::list_tag > -{ - template< typename List > struct apply - : not_ - { - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/front.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/front.hpp deleted file mode 100644 index 9bea1fd342..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/front.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { - -template<> -struct front_impl< aux::list_tag > -{ - template< typename List > struct apply - { - typedef typename List::item type; - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/include_preprocessed.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/include_preprocessed.hpp deleted file mode 100644 index 4f7cab2609..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/include_preprocessed.hpp +++ /dev/null @@ -1,35 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2001-2006 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! - -#include - -#include -#include - -# define AUX778076_HEADER \ - aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \ -/**/ - -#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) -# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER) -# include AUX778076_INCLUDE_STRING -# undef AUX778076_INCLUDE_STRING -#else -# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER) -#endif - -# undef AUX778076_HEADER - -#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/item.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/item.hpp deleted file mode 100644 index 8505deb284..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/item.hpp +++ /dev/null @@ -1,55 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< - typename Size - , typename T - , typename Next - > -struct l_item -{ -// agurt, 17/jul/03: to facilitate the deficient 'is_sequence' implementation -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - typedef int begin; -#endif - typedef aux::list_tag tag; - typedef l_item type; - - typedef Size size; - typedef T item; - typedef Next next; -}; - -struct l_end -{ -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - typedef int begin; -#endif - typedef aux::list_tag tag; - typedef l_end type; - typedef long_<0> size; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/iterator.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/iterator.hpp deleted file mode 100644 index 6b5ea78630..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/iterator.hpp +++ /dev/null @@ -1,76 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< typename Node > -struct l_iter -{ - typedef aux::l_iter_tag tag; - typedef forward_iterator_tag category; -}; - -template< typename Node > -struct deref< l_iter > -{ - typedef typename Node::item type; -}; - -template< typename Node > -struct next< l_iter > -{ - typedef l_iter< typename Node::next > type; -}; - -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -template< typename Node > -struct l_iter -{ - typedef aux::l_iter_tag tag; - typedef forward_iterator_tag category; - typedef typename Node::item type; - typedef l_iter< typename mpl::next::type > next; -}; - -#endif - - -template<> struct l_iter -{ - typedef aux::l_iter_tag tag; - typedef forward_iterator_tag category; -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - typedef na type; - typedef l_iter next; -#endif -}; - -BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter) - -}} - -#endif // BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/numbered.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/numbered.hpp deleted file mode 100644 index 0cd49a6d36..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/numbered.hpp +++ /dev/null @@ -1,68 +0,0 @@ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION - -// Copyright Peter Dimov 2000-2002 -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include - -#define i BOOST_PP_FRAME_ITERATION(1) - -#if i == 1 - -template< - BOOST_PP_ENUM_PARAMS(i, typename T) - > -struct list1 - : l_item< - long_<1> - , T0 - , l_end - > -{ - typedef list1 type; -}; - -#else - -# define MPL_AUX_LIST_TAIL(list, i, T) \ - BOOST_PP_CAT(list,BOOST_PP_DEC(i))< \ - BOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \ - > \ - /**/ - -template< - BOOST_PP_ENUM_PARAMS(i, typename T) - > -struct BOOST_PP_CAT(list,i) - : l_item< - long_ - , T0 - , MPL_AUX_LIST_TAIL(list,i,T) - > -{ - typedef BOOST_PP_CAT(list,i) type; -}; - -# undef MPL_AUX_LIST_TAIL - -#endif // i == 1 - -#undef i - -#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/numbered_c.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/numbered_c.hpp deleted file mode 100644 index 0006fd6cfc..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/numbered_c.hpp +++ /dev/null @@ -1,71 +0,0 @@ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include - -#define i BOOST_PP_FRAME_ITERATION(1) - -#if i == 1 - -template< - typename T - , BOOST_PP_ENUM_PARAMS(i, T C) - > -struct list1_c - : l_item< - long_<1> - , integral_c - , l_end - > -{ - typedef list1_c type; - typedef T value_type; -}; - -#else - -# define MPL_AUX_LIST_C_TAIL(list, i, C) \ - BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c) \ - /**/ - -template< - typename T - , BOOST_PP_ENUM_PARAMS(i, T C) - > -struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) - : l_item< - long_ - , integral_c - , MPL_AUX_LIST_C_TAIL(list,i,C) - > -{ - typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type; - typedef T value_type; -}; - -# undef MPL_AUX_LIST_C_TAIL - -#endif // i == 1 - -#undef i - -#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/pop_front.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/pop_front.hpp deleted file mode 100644 index 46a0414569..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/pop_front.hpp +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -namespace boost { namespace mpl { - -template<> -struct pop_front_impl< aux::list_tag > -{ - template< typename List > struct apply - { - typedef typename mpl::next::type type; - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list10.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list10.hpp deleted file mode 100644 index 99368d2c18..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +++ /dev/null @@ -1,149 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list10.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0 - > -struct list1 - : l_item< - long_<1> - , T0 - , l_end - > -{ - typedef list1 type; -}; - -template< - typename T0, typename T1 - > -struct list2 - : l_item< - long_<2> - , T0 - , list1 - > -{ - typedef list2 type; -}; - -template< - typename T0, typename T1, typename T2 - > -struct list3 - : l_item< - long_<3> - , T0 - , list2< T1,T2 > - > -{ - typedef list3 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3 - > -struct list4 - : l_item< - long_<4> - , T0 - , list3< T1,T2,T3 > - > -{ - typedef list4 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - > -struct list5 - : l_item< - long_<5> - , T0 - , list4< T1,T2,T3,T4 > - > -{ - typedef list5 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5 - > -struct list6 - : l_item< - long_<6> - , T0 - , list5< T1,T2,T3,T4,T5 > - > -{ - typedef list6 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6 - > -struct list7 - : l_item< - long_<7> - , T0 - , list6< T1,T2,T3,T4,T5,T6 > - > -{ - typedef list7 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7 - > -struct list8 - : l_item< - long_<8> - , T0 - , list7< T1,T2,T3,T4,T5,T6,T7 > - > -{ - typedef list8 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8 - > -struct list9 - : l_item< - long_<9> - , T0 - , list8< T1,T2,T3,T4,T5,T6,T7,T8 > - > -{ - typedef list9 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - > -struct list10 - : l_item< - long_<10> - , T0 - , list9< T1,T2,T3,T4,T5,T6,T7,T8,T9 > - > -{ - typedef list10 type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp deleted file mode 100644 index 7133d71216..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +++ /dev/null @@ -1,164 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list10_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T - , T C0 - > -struct list1_c - : l_item< - long_<1> - , integral_c< T,C0 > - , l_end - > -{ - typedef list1_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1 - > -struct list2_c - : l_item< - long_<2> - , integral_c< T,C0 > - , list1_c< T,C1 > - > -{ - typedef list2_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2 - > -struct list3_c - : l_item< - long_<3> - , integral_c< T,C0 > - , list2_c< T,C1,C2 > - > -{ - typedef list3_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3 - > -struct list4_c - : l_item< - long_<4> - , integral_c< T,C0 > - , list3_c< T,C1,C2,C3 > - > -{ - typedef list4_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4 - > -struct list5_c - : l_item< - long_<5> - , integral_c< T,C0 > - , list4_c< T,C1,C2,C3,C4 > - > -{ - typedef list5_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5 - > -struct list6_c - : l_item< - long_<6> - , integral_c< T,C0 > - , list5_c< T,C1,C2,C3,C4,C5 > - > -{ - typedef list6_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6 - > -struct list7_c - : l_item< - long_<7> - , integral_c< T,C0 > - , list6_c< T,C1,C2,C3,C4,C5,C6 > - > -{ - typedef list7_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7 - > -struct list8_c - : l_item< - long_<8> - , integral_c< T,C0 > - , list7_c< T,C1,C2,C3,C4,C5,C6,C7 > - > -{ - typedef list8_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8 - > -struct list9_c - : l_item< - long_<9> - , integral_c< T,C0 > - , list8_c< T,C1,C2,C3,C4,C5,C6,C7,C8 > - > -{ - typedef list9_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9 - > -struct list10_c - : l_item< - long_<10> - , integral_c< T,C0 > - , list9_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9 > - > -{ - typedef list10_c type; - typedef T value_type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list20.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list20.hpp deleted file mode 100644 index 750e495f3f..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +++ /dev/null @@ -1,169 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list20.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10 - > -struct list11 - : l_item< - long_<11> - , T0 - , list10< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > - > -{ - typedef list11 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11 - > -struct list12 - : l_item< - long_<12> - , T0 - , list11< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > - > -{ - typedef list12 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12 - > -struct list13 - : l_item< - long_<13> - , T0 - , list12< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > - > -{ - typedef list13 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13 - > -struct list14 - : l_item< - long_<14> - , T0 - , list13< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > - > -{ - typedef list14 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - > -struct list15 - : l_item< - long_<15> - , T0 - , list14< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 > - > -{ - typedef list15 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15 - > -struct list16 - : l_item< - long_<16> - , T0 - , list15< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 > - > -{ - typedef list16 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16 - > -struct list17 - : l_item< - long_<17> - , T0 - , list16< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 > - > -{ - typedef list17 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17 - > -struct list18 - : l_item< - long_<18> - , T0 - , list17< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 > - > -{ - typedef list18 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18 - > -struct list19 - : l_item< - long_<19> - , T0 - , list18< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 > - > -{ - typedef list19 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - > -struct list20 - : l_item< - long_<20> - , T0 - , list19< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 > - > -{ - typedef list20 type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp deleted file mode 100644 index 7f15acf3e9..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +++ /dev/null @@ -1,173 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list20_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - > -struct list11_c - : l_item< - long_<11> - , integral_c< T,C0 > - , list10_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > - > -{ - typedef list11_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11 - > -struct list12_c - : l_item< - long_<12> - , integral_c< T,C0 > - , list11_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > - > -{ - typedef list12_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12 - > -struct list13_c - : l_item< - long_<13> - , integral_c< T,C0 > - , list12_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > - > -{ - typedef list13_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13 - > -struct list14_c - : l_item< - long_<14> - , integral_c< T,C0 > - , list13_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 > - > -{ - typedef list14_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14 - > -struct list15_c - : l_item< - long_<15> - , integral_c< T,C0 > - , list14_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 > - > -{ - typedef list15_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15 - > -struct list16_c - : l_item< - long_<16> - , integral_c< T,C0 > - , list15_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 > - > -{ - typedef list16_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16 - > -struct list17_c - : l_item< - long_<17> - , integral_c< T,C0 > - , list16_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 > - > -{ - typedef list17_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17 - > -struct list18_c - : l_item< - long_<18> - , integral_c< T,C0 > - , list17_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 > - > -{ - typedef list18_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18 - > -struct list19_c - : l_item< - long_<19> - , integral_c< T,C0 > - , list18_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 > - > -{ - typedef list19_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19 - > -struct list20_c - : l_item< - long_<20> - , integral_c< T,C0 > - , list19_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 > - > -{ - typedef list20_c type; - typedef T value_type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list30.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list30.hpp deleted file mode 100644 index 5459101196..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +++ /dev/null @@ -1,189 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list30.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20 - > -struct list21 - : l_item< - long_<21> - , T0 - , list20< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 > - > -{ - typedef list21 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21 - > -struct list22 - : l_item< - long_<22> - , T0 - , list21< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 > - > -{ - typedef list22 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22 - > -struct list23 - : l_item< - long_<23> - , T0 - , list22< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 > - > -{ - typedef list23 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23 - > -struct list24 - : l_item< - long_<24> - , T0 - , list23< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 > - > -{ - typedef list24 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - > -struct list25 - : l_item< - long_<25> - , T0 - , list24< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 > - > -{ - typedef list25 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25 - > -struct list26 - : l_item< - long_<26> - , T0 - , list25< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 > - > -{ - typedef list26 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26 - > -struct list27 - : l_item< - long_<27> - , T0 - , list26< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 > - > -{ - typedef list27 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27 - > -struct list28 - : l_item< - long_<28> - , T0 - , list27< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 > - > -{ - typedef list28 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28 - > -struct list29 - : l_item< - long_<29> - , T0 - , list28< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 > - > -{ - typedef list29 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - > -struct list30 - : l_item< - long_<30> - , T0 - , list29< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 > - > -{ - typedef list30 type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp deleted file mode 100644 index 5393d792bd..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +++ /dev/null @@ -1,183 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list30_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - > -struct list21_c - : l_item< - long_<21> - , integral_c< T,C0 > - , list20_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 > - > -{ - typedef list21_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21 - > -struct list22_c - : l_item< - long_<22> - , integral_c< T,C0 > - , list21_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 > - > -{ - typedef list22_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22 - > -struct list23_c - : l_item< - long_<23> - , integral_c< T,C0 > - , list22_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 > - > -{ - typedef list23_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23 - > -struct list24_c - : l_item< - long_<24> - , integral_c< T,C0 > - , list23_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 > - > -{ - typedef list24_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24 - > -struct list25_c - : l_item< - long_<25> - , integral_c< T,C0 > - , list24_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 > - > -{ - typedef list25_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25 - > -struct list26_c - : l_item< - long_<26> - , integral_c< T,C0 > - , list25_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 > - > -{ - typedef list26_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26 - > -struct list27_c - : l_item< - long_<27> - , integral_c< T,C0 > - , list26_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 > - > -{ - typedef list27_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27 - > -struct list28_c - : l_item< - long_<28> - , integral_c< T,C0 > - , list27_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 > - > -{ - typedef list28_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28 - > -struct list29_c - : l_item< - long_<29> - , integral_c< T,C0 > - , list28_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 > - > -{ - typedef list29_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29 - > -struct list30_c - : l_item< - long_<30> - , integral_c< T,C0 > - , list29_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 > - > -{ - typedef list30_c type; - typedef T value_type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list40.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list40.hpp deleted file mode 100644 index 68c6761364..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +++ /dev/null @@ -1,209 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list40.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30 - > -struct list31 - : l_item< - long_<31> - , T0 - , list30< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 > - > -{ - typedef list31 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31 - > -struct list32 - : l_item< - long_<32> - , T0 - , list31< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31 > - > -{ - typedef list32 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32 - > -struct list33 - : l_item< - long_<33> - , T0 - , list32< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 > - > -{ - typedef list33 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33 - > -struct list34 - : l_item< - long_<34> - , T0 - , list33< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33 > - > -{ - typedef list34 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - > -struct list35 - : l_item< - long_<35> - , T0 - , list34< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34 > - > -{ - typedef list35 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35 - > -struct list36 - : l_item< - long_<36> - , T0 - , list35< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35 > - > -{ - typedef list36 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36 - > -struct list37 - : l_item< - long_<37> - , T0 - , list36< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36 > - > -{ - typedef list37 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37 - > -struct list38 - : l_item< - long_<38> - , T0 - , list37< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 > - > -{ - typedef list38 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38 - > -struct list39 - : l_item< - long_<39> - , T0 - , list38< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38 > - > -{ - typedef list39 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - > -struct list40 - : l_item< - long_<40> - , T0 - , list39< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39 > - > -{ - typedef list40 type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp deleted file mode 100644 index 0c51ba2095..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +++ /dev/null @@ -1,193 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list40_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - > -struct list31_c - : l_item< - long_<31> - , integral_c< T,C0 > - , list30_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 > - > -{ - typedef list31_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31 - > -struct list32_c - : l_item< - long_<32> - , integral_c< T,C0 > - , list31_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 > - > -{ - typedef list32_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32 - > -struct list33_c - : l_item< - long_<33> - , integral_c< T,C0 > - , list32_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 > - > -{ - typedef list33_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33 - > -struct list34_c - : l_item< - long_<34> - , integral_c< T,C0 > - , list33_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 > - > -{ - typedef list34_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34 - > -struct list35_c - : l_item< - long_<35> - , integral_c< T,C0 > - , list34_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 > - > -{ - typedef list35_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35 - > -struct list36_c - : l_item< - long_<36> - , integral_c< T,C0 > - , list35_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 > - > -{ - typedef list36_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36 - > -struct list37_c - : l_item< - long_<37> - , integral_c< T,C0 > - , list36_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 > - > -{ - typedef list37_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37 - > -struct list38_c - : l_item< - long_<38> - , integral_c< T,C0 > - , list37_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 > - > -{ - typedef list38_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38 - > -struct list39_c - : l_item< - long_<39> - , integral_c< T,C0 > - , list38_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 > - > -{ - typedef list39_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39 - > -struct list40_c - : l_item< - long_<40> - , integral_c< T,C0 > - , list39_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 > - > -{ - typedef list40_c type; - typedef T value_type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list50.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list50.hpp deleted file mode 100644 index 4cc22da278..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +++ /dev/null @@ -1,229 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list50.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40 - > -struct list41 - : l_item< - long_<41> - , T0 - , list40< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40 > - > -{ - typedef list41 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41 - > -struct list42 - : l_item< - long_<42> - , T0 - , list41< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41 > - > -{ - typedef list42 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42 - > -struct list43 - : l_item< - long_<43> - , T0 - , list42< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42 > - > -{ - typedef list43 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43 - > -struct list44 - : l_item< - long_<44> - , T0 - , list43< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43 > - > -{ - typedef list44 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43, typename T44 - > -struct list45 - : l_item< - long_<45> - , T0 - , list44< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44 > - > -{ - typedef list45 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43, typename T44 - , typename T45 - > -struct list46 - : l_item< - long_<46> - , T0 - , list45< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45 > - > -{ - typedef list46 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43, typename T44 - , typename T45, typename T46 - > -struct list47 - : l_item< - long_<47> - , T0 - , list46< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46 > - > -{ - typedef list47 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43, typename T44 - , typename T45, typename T46, typename T47 - > -struct list48 - : l_item< - long_<48> - , T0 - , list47< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47 > - > -{ - typedef list48 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43, typename T44 - , typename T45, typename T46, typename T47, typename T48 - > -struct list49 - : l_item< - long_<49> - , T0 - , list48< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48 > - > -{ - typedef list49 type; -}; - -template< - typename T0, typename T1, typename T2, typename T3, typename T4 - , typename T5, typename T6, typename T7, typename T8, typename T9 - , typename T10, typename T11, typename T12, typename T13, typename T14 - , typename T15, typename T16, typename T17, typename T18, typename T19 - , typename T20, typename T21, typename T22, typename T23, typename T24 - , typename T25, typename T26, typename T27, typename T28, typename T29 - , typename T30, typename T31, typename T32, typename T33, typename T34 - , typename T35, typename T36, typename T37, typename T38, typename T39 - , typename T40, typename T41, typename T42, typename T43, typename T44 - , typename T45, typename T46, typename T47, typename T48, typename T49 - > -struct list50 - : l_item< - long_<50> - , T0 - , list49< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49 > - > -{ - typedef list50 type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp deleted file mode 100644 index 28c061d5bf..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +++ /dev/null @@ -1,203 +0,0 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// - -// Preprocessed version of "boost/mpl/list/list50_c.hpp" header -// -- DO NOT modify by hand! - -namespace boost { namespace mpl { - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - > -struct list41_c - : l_item< - long_<41> - , integral_c< T,C0 > - , list40_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 > - > -{ - typedef list41_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41 - > -struct list42_c - : l_item< - long_<42> - , integral_c< T,C0 > - , list41_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 > - > -{ - typedef list42_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42 - > -struct list43_c - : l_item< - long_<43> - , integral_c< T,C0 > - , list42_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 > - > -{ - typedef list43_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43 - > -struct list44_c - : l_item< - long_<44> - , integral_c< T,C0 > - , list43_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 > - > -{ - typedef list44_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43, T C44 - > -struct list45_c - : l_item< - long_<45> - , integral_c< T,C0 > - , list44_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 > - > -{ - typedef list45_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43, T C44, T C45 - > -struct list46_c - : l_item< - long_<46> - , integral_c< T,C0 > - , list45_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 > - > -{ - typedef list46_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43, T C44, T C45, T C46 - > -struct list47_c - : l_item< - long_<47> - , integral_c< T,C0 > - , list46_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 > - > -{ - typedef list47_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43, T C44, T C45, T C46, T C47 - > -struct list48_c - : l_item< - long_<48> - , integral_c< T,C0 > - , list47_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 > - > -{ - typedef list48_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48 - > -struct list49_c - : l_item< - long_<49> - , integral_c< T,C0 > - , list48_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 > - > -{ - typedef list49_c type; - typedef T value_type; -}; - -template< - typename T - , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 - , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 - , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 - , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 - , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49 - > -struct list50_c - : l_item< - long_<50> - , integral_c< T,C0 > - , list49_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49 > - > -{ - typedef list50_c type; - typedef T value_type; -}; - -}} diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/push_back.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/push_back.hpp deleted file mode 100644 index 8f3b73e430..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/push_back.hpp +++ /dev/null @@ -1,36 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -namespace boost { namespace mpl { - -template< typename Tag > struct has_push_back_impl; - -template<> -struct has_push_back_impl< aux::list_tag > -{ - template< typename Seq > struct apply - : false_ - { - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/push_front.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/push_front.hpp deleted file mode 100644 index fcfbe4ab3e..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/push_front.hpp +++ /dev/null @@ -1,39 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template<> -struct push_front_impl< aux::list_tag > -{ - template< typename List, typename T > struct apply - { - typedef l_item< - typename next::type - , T - , typename List::type - > type; - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/size.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/size.hpp deleted file mode 100644 index f5e7feafda..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/size.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { - -template<> -struct size_impl< aux::list_tag > -{ - template< typename List > struct apply - : List::size - { - }; -}; - -}} - -#endif // BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/aux_/tag.hpp b/external/include/boost_1_75/boost/mpl/list/aux_/tag.hpp deleted file mode 100644 index f5ed2bbfe6..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/aux_/tag.hpp +++ /dev/null @@ -1,24 +0,0 @@ - -#ifndef BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED -#define BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -namespace boost { namespace mpl { namespace aux { - -struct list_tag; -struct l_iter_tag; - -}}} - -#endif // BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list0.hpp b/external/include/boost_1_75/boost/mpl/list/list0.hpp deleted file mode 100644 index 8e06b8d088..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list0.hpp +++ /dev/null @@ -1,42 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST0_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST0_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< typename Dummy = na > struct list0; - -template<> struct list0 - : l_end -{ - typedef l_end type; -}; - -}} - -#endif // BOOST_MPL_LIST_LIST0_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list0_c.hpp b/external/include/boost_1_75/boost/mpl/list/list0_c.hpp deleted file mode 100644 index 807ca1c2c9..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list0_c.hpp +++ /dev/null @@ -1,31 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -namespace boost { namespace mpl { - -template< typename T > struct list0_c - : l_end -{ - typedef l_end type; - typedef T value_type; -}; - -}} - -#endif // BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list10.hpp b/external/include/boost_1_75/boost/mpl/list/list10.hpp deleted file mode 100644 index d32d0d8c77..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list10.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST10_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST10_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list10.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(1, 10, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST10_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list10_c.hpp b/external/include/boost_1_75/boost/mpl/list/list10_c.hpp deleted file mode 100644 index 25c8f9defb..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list10_c.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list10_c.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(1, 10, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list20.hpp b/external/include/boost_1_75/boost/mpl/list/list20.hpp deleted file mode 100644 index 724cabd237..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list20.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST20_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST20_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list20.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(11, 20, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST20_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list20_c.hpp b/external/include/boost_1_75/boost/mpl/list/list20_c.hpp deleted file mode 100644 index 0026f695ac..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list20_c.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list20_c.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(11, 20, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list30.hpp b/external/include/boost_1_75/boost/mpl/list/list30.hpp deleted file mode 100644 index a9004c7376..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list30.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST30_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST30_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list30.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(21, 30, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST30_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list30_c.hpp b/external/include/boost_1_75/boost/mpl/list/list30_c.hpp deleted file mode 100644 index c996574778..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list30_c.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list30_c.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(21, 30, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list40.hpp b/external/include/boost_1_75/boost/mpl/list/list40.hpp deleted file mode 100644 index 02f869efbe..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list40.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST40_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST40_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list40.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(31, 40, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST40_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list40_c.hpp b/external/include/boost_1_75/boost/mpl/list/list40_c.hpp deleted file mode 100644 index 808d599dd9..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list40_c.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list40_c.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(31, 40, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list50.hpp b/external/include/boost_1_75/boost/mpl/list/list50.hpp deleted file mode 100644 index f16c68ceba..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list50.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST50_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST50_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list50.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(41, 50, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST50_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/list/list50_c.hpp b/external/include/boost_1_75/boost/mpl/list/list50_c.hpp deleted file mode 100644 index 20692d898e..0000000000 --- a/external/include/boost_1_75/boost/mpl/list/list50_c.hpp +++ /dev/null @@ -1,43 +0,0 @@ - -#ifndef BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED -#define BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -#endif - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# define BOOST_MPL_PREPROCESSED_HEADER list50_c.hpp -# include - -#else - -# include - -namespace boost { namespace mpl { - -# define BOOST_PP_ITERATION_PARAMS_1 \ - (3,(41, 50, )) -# include BOOST_PP_ITERATE() - -}} - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/not.hpp b/external/include/boost_1_75/boost/mpl/not.hpp deleted file mode 100644 index d5f6025579..0000000000 --- a/external/include/boost_1_75/boost/mpl/not.hpp +++ /dev/null @@ -1,51 +0,0 @@ - -#ifndef BOOST_MPL_NOT_HPP_INCLUDED -#define BOOST_MPL_NOT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -namespace aux { - -template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here -struct not_impl - : bool_ -{ -}; - -} // namespace aux - - -template< - typename BOOST_MPL_AUX_NA_PARAM(T) - > -struct not_ - : aux::not_impl< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value - > -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T)) -}; - -BOOST_MPL_AUX_NA_SPEC(1,not_) - -}} - -#endif // BOOST_MPL_NOT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/or.hpp b/external/include/boost_1_75/boost/mpl/or.hpp deleted file mode 100644 index f9704d5166..0000000000 --- a/external/include/boost_1_75/boost/mpl/or.hpp +++ /dev/null @@ -1,61 +0,0 @@ - -#ifndef BOOST_MPL_OR_HPP_INCLUDED -#define BOOST_MPL_OR_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) - -# include -# include -# include -# include -# include - -// agurt, 19/may/04: workaround a conflict with header's -// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)' -// has to be checked in a separate condition, otherwise GCC complains -// about 'or' being an alternative token -#if defined(_MSC_VER) && !defined(__clang__) -#ifndef __GCCXML__ -#if defined(or) -# pragma push_macro("or") -# undef or -# define or(x) -#endif -#endif -#endif - -# define BOOST_MPL_PREPROCESSED_HEADER or.hpp -# include - -#if defined(_MSC_VER) && !defined(__clang__) -#ifndef __GCCXML__ -#if defined(or) -# pragma pop_macro("or") -#endif -#endif -#endif - -#else - -# define AUX778076_OP_NAME or_ -# define AUX778076_OP_VALUE1 true -# define AUX778076_OP_VALUE2 false -# include - -#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif // BOOST_MPL_OR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/none_t.hpp b/external/include/boost_1_75/boost/none_t.hpp deleted file mode 100644 index 6b3c8334dd..0000000000 --- a/external/include/boost_1_75/boost/none_t.hpp +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (C) 2003, Fernando Luis Cacciola Carballal. -// Copyright (C) 2014, 2015 Andrzej Krzemienski. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/libs/optional for documentation. -// -// You are welcome to contact the author at: -// fernando_cacciola@hotmail.com -// -#ifndef BOOST_NONE_T_17SEP2003_HPP -#define BOOST_NONE_T_17SEP2003_HPP - -#include - -namespace boost { - -#ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE - -namespace detail { struct none_helper{}; } -typedef int detail::none_helper::*none_t ; - -#elif defined BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE - -class none_t {}; - -#else - -struct none_t -{ - struct init_tag{}; - explicit BOOST_CONSTEXPR none_t(init_tag){} // to disable default constructor -}; - -#endif // old implementation workarounds - -} // namespace boost - -#endif // header guard diff --git a/external/include/boost_1_75/boost/optional.hpp b/external/include/boost_1_75/boost/optional.hpp deleted file mode 100644 index 40cf12e656..0000000000 --- a/external/include/boost_1_75/boost/optional.hpp +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (C) 2003, Fernando Luis Cacciola Carballal. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/libs/optional for documentation. -// -// You are welcome to contact the author at: -// fernando_cacciola@hotmail.com -// -#ifndef BOOST_OPTIONAL_FLC_19NOV2002_HPP -#define BOOST_OPTIONAL_FLC_19NOV2002_HPP - -#include "boost/optional/optional.hpp" - -#endif - diff --git a/external/include/boost_1_75/boost/optional/detail/old_optional_implementation.hpp b/external/include/boost_1_75/boost/optional/detail/old_optional_implementation.hpp deleted file mode 100644 index 3431e155a4..0000000000 --- a/external/include/boost_1_75/boost/optional/detail/old_optional_implementation.hpp +++ /dev/null @@ -1,1058 +0,0 @@ -// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. -// Copyright (C) 2014-2016 Andrzej Krzemienski. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/libs/optional for documentation. -// -// You are welcome to contact the maintainer at: -// akrzemi1@gmail.com - -#ifndef BOOST_OPTIONAL_DETAIL_OLD_OPTIONAL_IMPLEMENTATION_AJK_28JAN2015_HPP -#define BOOST_OPTIONAL_DETAIL_OLD_OPTIONAL_IMPLEMENTATION_AJK_28JAN2015_HPP - -#include -#include -#include -#include - -namespace boost { - -namespace optional_detail { - - -template -struct types_when_isnt_ref -{ - typedef T const& reference_const_type ; - typedef T & reference_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef T && rval_reference_type ; - typedef T && reference_type_of_temporary_wrapper; -#ifdef BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES - // GCC 4.4 has support for an early draft of rvalue references. The conforming version below - // causes warnings about returning references to a temporary. - static T&& move(T&& r) { return r; } -#else - static rval_reference_type move(reference_type r) { return boost::move(r); } -#endif -#endif - typedef T const* pointer_const_type ; - typedef T * pointer_type ; - typedef T const& argument_type ; -} ; - -template -struct types_when_is_ref -{ - typedef BOOST_DEDUCED_TYPENAME remove_reference::type raw_type ; - - typedef raw_type& reference_const_type ; - typedef raw_type& reference_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef BOOST_DEDUCED_TYPENAME remove_const::type&& rval_reference_type ; - typedef raw_type& reference_type_of_temporary_wrapper; - static reference_type move(reference_type r) { return r; } -#endif - typedef raw_type* pointer_const_type ; - typedef raw_type* pointer_type ; - typedef raw_type& argument_type ; -} ; - -template -void prevent_binding_rvalue_ref_to_optional_lvalue_ref() -{ -#ifndef BOOST_OPTIONAL_CONFIG_ALLOW_BINDING_TO_RVALUES - BOOST_STATIC_ASSERT_MSG( - !boost::is_lvalue_reference::value || !boost::is_rvalue_reference::value, - "binding rvalue references to optional lvalue references is disallowed"); -#endif -} - -struct optional_tag {} ; - -template -class optional_base : public optional_tag -{ - private : - - typedef -#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) - BOOST_DEDUCED_TYPENAME -#endif - ::boost::detail::make_reference_content::type internal_type ; - - typedef aligned_storage storage_type ; - - typedef types_when_isnt_ref types_when_not_ref ; - typedef types_when_is_ref types_when_ref ; - - typedef optional_base this_type ; - - protected : - - typedef T value_type ; - - typedef true_type is_reference_tag ; - typedef false_type is_not_reference_tag ; - - typedef BOOST_DEDUCED_TYPENAME is_reference::type is_reference_predicate ; - - public: - typedef BOOST_DEDUCED_TYPENAME conditional::type types ; - - protected: - typedef BOOST_DEDUCED_TYPENAME types::reference_type reference_type ; - typedef BOOST_DEDUCED_TYPENAME types::reference_const_type reference_const_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef BOOST_DEDUCED_TYPENAME types::rval_reference_type rval_reference_type ; - typedef BOOST_DEDUCED_TYPENAME types::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ; -#endif - typedef BOOST_DEDUCED_TYPENAME types::pointer_type pointer_type ; - typedef BOOST_DEDUCED_TYPENAME types::pointer_const_type pointer_const_type ; - typedef BOOST_DEDUCED_TYPENAME types::argument_type argument_type ; - - // Creates an optional uninitialized. - // No-throw - optional_base() - : - m_initialized(false) {} - - // Creates an optional uninitialized. - // No-throw - optional_base ( none_t ) - : - m_initialized(false) {} - - // Creates an optional initialized with 'val'. - // Can throw if T::T(T const&) does - optional_base ( argument_type val ) - : - m_initialized(false) - { - construct(val); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // move-construct an optional initialized from an rvalue-ref to 'val'. - // Can throw if T::T(T&&) does - optional_base ( rval_reference_type val ) - : - m_initialized(false) - { - construct( boost::move(val) ); - } -#endif - - // Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. - // Can throw if T::T(T const&) does - optional_base ( bool cond, argument_type val ) - : - m_initialized(false) - { - if ( cond ) - construct(val); - } - - // Creates a deep copy of another optional - // Can throw if T::T(T const&) does - optional_base ( optional_base const& rhs ) - : - m_initialized(false) - { - if ( rhs.is_initialized() ) - construct(rhs.get_impl()); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates a deep move of another optional - // Can throw if T::T(T&&) does - optional_base ( optional_base&& rhs ) - : - m_initialized(false) - { - if ( rhs.is_initialized() ) - construct( boost::move(rhs.get_impl()) ); - } -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - template - explicit optional_base ( Expr&& expr, PtrExpr const* tag ) - : - m_initialized(false) - { - construct(boost::forward(expr),tag); - } - -#else - // This is used for both converting and in-place constructions. - // Derived classes use the 'tag' to select the appropriate - // implementation (the correct 'construct()' overload) - template - explicit optional_base ( Expr const& expr, Expr const* tag ) - : - m_initialized(false) - { - construct(expr,tag); - } - -#endif - - - // No-throw (assuming T::~T() doesn't) - ~optional_base() { destroy() ; } - - // Assigns from another optional (deep-copies the rhs value) - void assign ( optional_base const& rhs ) - { - if (is_initialized()) - { - if ( rhs.is_initialized() ) - assign_value(rhs.get_impl(), is_reference_predicate() ); - else destroy(); - } - else - { - if ( rhs.is_initialized() ) - construct(rhs.get_impl()); - } - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from another optional (deep-moves the rhs value) - void assign ( optional_base&& rhs ) - { - if (is_initialized()) - { - if ( rhs.is_initialized() ) - assign_value(boost::move(rhs.get_impl()), is_reference_predicate() ); - else destroy(); - } - else - { - if ( rhs.is_initialized() ) - construct(boost::move(rhs.get_impl())); - } - } -#endif - - // Assigns from another _convertible_ optional (deep-copies the rhs value) - template - void assign ( optional const& rhs ) - { - if (is_initialized()) - { - if ( rhs.is_initialized() ) -#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES - assign_value(rhs.get(), is_reference_predicate() ); -#else - assign_value(static_cast(rhs.get()), is_reference_predicate() ); -#endif - - else destroy(); - } - else - { - if ( rhs.is_initialized() ) -#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES - construct(rhs.get()); -#else - construct(static_cast(rhs.get())); -#endif - } - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // move-assigns from another _convertible_ optional (deep-moves from the rhs value) - template - void assign ( optional&& rhs ) - { - typedef BOOST_DEDUCED_TYPENAME optional::rval_reference_type ref_type; - if (is_initialized()) - { - if ( rhs.is_initialized() ) - assign_value(static_cast(rhs.get()), is_reference_predicate() ); - else destroy(); - } - else - { - if ( rhs.is_initialized() ) - construct(static_cast(rhs.get())); - } - } -#endif - - // Assigns from a T (deep-copies the rhs value) - void assign ( argument_type val ) - { - if (is_initialized()) - assign_value(val, is_reference_predicate() ); - else construct(val); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from a T (deep-moves the rhs value) - void assign ( rval_reference_type val ) - { - if (is_initialized()) - assign_value( boost::move(val), is_reference_predicate() ); - else construct( boost::move(val) ); - } -#endif - - // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - void assign ( none_t ) BOOST_NOEXCEPT { destroy(); } - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - template - void assign_expr ( Expr&& expr, ExprPtr const* tag ) - { - if (is_initialized()) - assign_expr_to_initialized(boost::forward(expr),tag); - else construct(boost::forward(expr),tag); - } -#else - template - void assign_expr ( Expr const& expr, Expr const* tag ) - { - if (is_initialized()) - assign_expr_to_initialized(expr,tag); - else construct(expr,tag); - } -#endif - -#endif - - public : - - // Destroys the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - void reset() BOOST_NOEXCEPT { destroy(); } - - // **DEPPRECATED** Replaces the current value -if any- with 'val' - void reset ( argument_type val ) { assign(val); } - - // Returns a pointer to the value if this is initialized, otherwise, - // returns NULL. - // No-throw - pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; } - pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; } - - bool is_initialized() const { return m_initialized ; } - - protected : - - void construct ( argument_type val ) - { - ::new (m_storage.address()) internal_type(val) ; - m_initialized = true ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - void construct ( rval_reference_type val ) - { - ::new (m_storage.address()) internal_type( types::move(val) ) ; - m_initialized = true ; - } -#endif - - -#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) - // Constructs in-place - // upon exception *this is always uninitialized - template - void emplace_assign ( Args&&... args ) - { - destroy(); - ::new (m_storage.address()) internal_type( boost::forward(args)... ); - m_initialized = true ; - } -#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - template - void emplace_assign ( Arg&& arg ) - { - destroy(); - ::new (m_storage.address()) internal_type( boost::forward(arg) ); - m_initialized = true ; - } - - void emplace_assign () - { - destroy(); - ::new (m_storage.address()) internal_type(); - m_initialized = true ; - } -#else - template - void emplace_assign ( const Arg& arg ) - { - destroy(); - ::new (m_storage.address()) internal_type( arg ); - m_initialized = true ; - } - - template - void emplace_assign ( Arg& arg ) - { - destroy(); - ::new (m_storage.address()) internal_type( arg ); - m_initialized = true ; - } - - void emplace_assign () - { - destroy(); - ::new (m_storage.address()) internal_type(); - m_initialized = true ; - } -#endif - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Constructs in-place using the given factory - template - void construct ( Expr&& factory, in_place_factory_base const* ) - { - BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ; - boost_optional_detail::construct(factory, m_storage.address()); - m_initialized = true ; - } - - // Constructs in-place using the given typed factory - template - void construct ( Expr&& factory, typed_in_place_factory_base const* ) - { - BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ; - factory.apply(m_storage.address()) ; - m_initialized = true ; - } - - template - void assign_expr_to_initialized ( Expr&& factory, in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - - // Constructs in-place using the given typed factory - template - void assign_expr_to_initialized ( Expr&& factory, typed_in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - -#else - // Constructs in-place using the given factory - template - void construct ( Expr const& factory, in_place_factory_base const* ) - { - BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ; - boost_optional_detail::construct(factory, m_storage.address()); - m_initialized = true ; - } - - // Constructs in-place using the given typed factory - template - void construct ( Expr const& factory, typed_in_place_factory_base const* ) - { - BOOST_STATIC_ASSERT ( !is_reference_predicate::value ) ; - factory.apply(m_storage.address()) ; - m_initialized = true ; - } - - template - void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - - // Constructs in-place using the given typed factory - template - void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } -#endif - -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Constructs using any expression implicitly convertible to the single argument - // of a one-argument T constructor. - // Converting constructions of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting constructor of T from U. - template - void construct ( Expr&& expr, void const* ) - { - new (m_storage.address()) internal_type(boost::forward(expr)) ; - m_initialized = true ; - } - - // Assigns using a form any expression implicitly convertible to the single argument - // of a T's assignment operator. - // Converting assignments of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting assignment of T from U. - template - void assign_expr_to_initialized ( Expr&& expr, void const* ) - { - assign_value(boost::forward(expr), is_reference_predicate()); - } -#else - // Constructs using any expression implicitly convertible to the single argument - // of a one-argument T constructor. - // Converting constructions of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting constructor of T from U. - template - void construct ( Expr const& expr, void const* ) - { - new (m_storage.address()) internal_type(expr) ; - m_initialized = true ; - } - - // Assigns using a form any expression implicitly convertible to the single argument - // of a T's assignment operator. - // Converting assignments of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting assignment of T from U. - template - void assign_expr_to_initialized ( Expr const& expr, void const* ) - { - assign_value(expr, is_reference_predicate()); - } - -#endif - -#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION - // BCB5.64 (and probably lower versions) workaround. - // The in-place factories are supported by means of catch-all constructors - // and assignment operators (the functions are parameterized in terms of - // an arbitrary 'Expr' type) - // This compiler incorrectly resolves the overload set and sinks optional and optional - // to the 'Expr'-taking functions even though explicit overloads are present for them. - // Thus, the following overload is needed to properly handle the case when the 'lhs' - // is another optional. - // - // For VC<=70 compilers this workaround dosen't work becasue the comnpiler issues and error - // instead of choosing the wrong overload - // -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Notice that 'Expr' will be optional or optional (but not optional_base<..>) - template - void construct ( Expr&& expr, optional_tag const* ) - { - if ( expr.is_initialized() ) - { - // An exception can be thrown here. - // It it happens, THIS will be left uninitialized. - new (m_storage.address()) internal_type(types::move(expr.get())) ; - m_initialized = true ; - } - } -#else - // Notice that 'Expr' will be optional or optional (but not optional_base<..>) - template - void construct ( Expr const& expr, optional_tag const* ) - { - if ( expr.is_initialized() ) - { - // An exception can be thrown here. - // It it happens, THIS will be left uninitialized. - new (m_storage.address()) internal_type(expr.get()) ; - m_initialized = true ; - } - } -#endif -#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION - - void assign_value ( argument_type val, is_not_reference_tag ) { get_impl() = val; } - void assign_value ( argument_type val, is_reference_tag ) { construct(val); } -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - void assign_value ( rval_reference_type val, is_not_reference_tag ) { get_impl() = static_cast(val); } - void assign_value ( rval_reference_type val, is_reference_tag ) { construct( static_cast(val) ); } -#endif - - void destroy() - { - if ( m_initialized ) - destroy_impl(is_reference_predicate()) ; - } - - reference_const_type get_impl() const { return dereference(get_object(), is_reference_predicate() ) ; } - reference_type get_impl() { return dereference(get_object(), is_reference_predicate() ) ; } - - pointer_const_type get_ptr_impl() const { return cast_ptr(get_object(), is_reference_predicate() ) ; } - pointer_type get_ptr_impl() { return cast_ptr(get_object(), is_reference_predicate() ) ; } - - private : - - // internal_type can be either T or reference_content -#if defined(BOOST_OPTIONAL_DETAIL_USE_ATTRIBUTE_MAY_ALIAS) - // This workaround is supposed to silence GCC warnings about broken strict aliasing rules - internal_type const* get_object() const - { - union { void const* ap_pvoid; internal_type const* as_ptype; } caster = { m_storage.address() }; - return caster.as_ptype; - } - internal_type * get_object() - { - union { void* ap_pvoid; internal_type* as_ptype; } caster = { m_storage.address() }; - return caster.as_ptype; - } -#else - internal_type const* get_object() const { return static_cast(m_storage.address()); } - internal_type * get_object() { return static_cast (m_storage.address()); } -#endif - - // reference_content lacks an implicit conversion to T&, so the following is needed to obtain a proper reference. - reference_const_type dereference( internal_type const* p, is_not_reference_tag ) const { return *p ; } - reference_type dereference( internal_type* p, is_not_reference_tag ) { return *p ; } - reference_const_type dereference( internal_type const* p, is_reference_tag ) const { return p->get() ; } - reference_type dereference( internal_type* p, is_reference_tag ) { return p->get() ; } - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->internal_type::~internal_type() ; m_initialized = false ; } -#else - void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->~T() ; m_initialized = false ; } -#endif - - void destroy_impl ( is_reference_tag ) { m_initialized = false ; } - - // If T is of reference type, trying to get a pointer to the held value must result in a compile-time error. - // Decent compilers should disallow conversions from reference_content* to T*, but just in case, - // the following olverloads are used to filter out the case and guarantee an error in case of T being a reference. - pointer_const_type cast_ptr( internal_type const* p, is_not_reference_tag ) const { return p ; } - pointer_type cast_ptr( internal_type * p, is_not_reference_tag ) { return p ; } - pointer_const_type cast_ptr( internal_type const* p, is_reference_tag ) const { return &p->get() ; } - pointer_type cast_ptr( internal_type * p, is_reference_tag ) { return &p->get() ; } - - bool m_initialized ; - storage_type m_storage ; -} ; - -} // namespace optional_detail - -template -class optional : public optional_detail::optional_base -{ - typedef optional_detail::optional_base base ; - - public : - - typedef optional this_type ; - - typedef BOOST_DEDUCED_TYPENAME base::value_type value_type ; - typedef BOOST_DEDUCED_TYPENAME base::reference_type reference_type ; - typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type rval_reference_type ; - typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ; -#endif - typedef BOOST_DEDUCED_TYPENAME base::pointer_type pointer_type ; - typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type pointer_const_type ; - typedef BOOST_DEDUCED_TYPENAME base::argument_type argument_type ; - - // Creates an optional uninitialized. - // No-throw - optional() BOOST_NOEXCEPT : base() {} - - // Creates an optional uninitialized. - // No-throw - optional( none_t none_ ) BOOST_NOEXCEPT : base(none_) {} - - // Creates an optional initialized with 'val'. - // Can throw if T::T(T const&) does - optional ( argument_type val ) : base(val) {} - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates an optional initialized with 'move(val)'. - // Can throw if T::T(T &&) does - optional ( rval_reference_type val ) : base( boost::forward(val) ) - {optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref();} -#endif - - // Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. - // Can throw if T::T(T const&) does - optional ( bool cond, argument_type val ) : base(cond,val) {} - - // NOTE: MSVC needs templated versions first - - // Creates a deep copy of another convertible optional - // Requires a valid conversion from U to T. - // Can throw if T::T(U const&) does - template - explicit optional ( optional const& rhs ) - : - base() - { - if ( rhs.is_initialized() ) - this->construct(rhs.get()); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates a deep move of another convertible optional - // Requires a valid conversion from U to T. - // Can throw if T::T(U&&) does - template - explicit optional ( optional && rhs ) - : - base() - { - if ( rhs.is_initialized() ) - this->construct( boost::move(rhs.get()) ); - } -#endif - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - // Creates an optional with an expression which can be either - // (a) An instance of InPlaceFactory (i.e. in_place(a,b,...,n); - // (b) An instance of TypedInPlaceFactory ( i.e. in_place(a,b,...,n); - // (c) Any expression implicitly convertible to the single type - // of a one-argument T's constructor. - // (d*) Weak compilers (BCB) might also resolved Expr as optional and optional - // even though explicit overloads are present for these. - // Depending on the above some T ctor is called. - // Can throw if the resolved T ctor throws. -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - - template - explicit optional ( Expr&& expr, - BOOST_DEDUCED_TYPENAME boost::disable_if_c< - (boost::is_base_of::type>::value) || - boost::is_same::type, none_t>::value, bool >::type = true - ) - : base(boost::forward(expr),boost::addressof(expr)) - {optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref();} - -#else - template - explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {} -#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES -#endif // !defined BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - - // Creates a deep copy of another optional - // Can throw if T::T(T const&) does - optional ( optional const& rhs ) : base( static_cast(rhs) ) {} - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates a deep move of another optional - // Can throw if T::T(T&&) does - optional ( optional && rhs ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value) - : base( boost::move(rhs) ) - {} - -#endif - // No-throw (assuming T::~T() doesn't) - ~optional() {} - -#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION) - // Assigns from an expression. See corresponding constructor. - // Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - template - BOOST_DEDUCED_TYPENAME boost::disable_if_c< - boost::is_base_of::type>::value || - boost::is_same::type, none_t>::value, - optional& - >::type - operator= ( Expr&& expr ) - { - optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref(); - this->assign_expr(boost::forward(expr),boost::addressof(expr)); - return *this ; - } - -#else - template - optional& operator= ( Expr const& expr ) - { - this->assign_expr(expr,boost::addressof(expr)); - return *this ; - } -#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES -#endif // !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION) - - // Copy-assigns from another convertible optional (converts && deep-copies the rhs value) - // Requires a valid conversion from U to T. - // Basic Guarantee: If T::T( U const& ) throws, this is left UNINITIALIZED - template - optional& operator= ( optional const& rhs ) - { - this->assign(rhs); - return *this ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Move-assigns from another convertible optional (converts && deep-moves the rhs value) - // Requires a valid conversion from U to T. - // Basic Guarantee: If T::T( U && ) throws, this is left UNINITIALIZED - template - optional& operator= ( optional && rhs ) - { - this->assign(boost::move(rhs)); - return *this ; - } -#endif - - // Assigns from another optional (deep-copies the rhs value) - // Basic Guarantee: If T::T( T const& ) throws, this is left UNINITIALIZED - // (NOTE: On BCB, this operator is not actually called and left is left UNMODIFIED in case of a throw) - optional& operator= ( optional const& rhs ) - { - this->assign( static_cast(rhs) ) ; - return *this ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from another optional (deep-moves the rhs value) - optional& operator= ( optional && rhs ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) - { - this->assign( static_cast(rhs) ) ; - return *this ; - } -#endif - - // Assigns from a T (deep-copies the rhs value) - // Basic Guarantee: If T::( T const& ) throws, this is left UNINITIALIZED - optional& operator= ( argument_type val ) - { - this->assign( val ) ; - return *this ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from a T (deep-moves the rhs value) - optional& operator= ( rval_reference_type val ) - { - optional_detail::prevent_binding_rvalue_ref_to_optional_lvalue_ref(); - this->assign( boost::move(val) ) ; - return *this ; - } -#endif - - // Assigns from a "none" - // Which destroys the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - optional& operator= ( none_t none_ ) BOOST_NOEXCEPT - { - this->assign( none_ ) ; - return *this ; - } - -#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) - // Constructs in-place - // upon exception *this is always uninitialized - template - void emplace ( Args&&... args ) - { - this->emplace_assign( boost::forward(args)... ); - } -#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - template - void emplace ( Arg&& arg ) - { - this->emplace_assign( boost::forward(arg) ); - } - - void emplace () - { - this->emplace_assign(); - } -#else - template - void emplace ( const Arg& arg ) - { - this->emplace_assign( arg ); - } - - template - void emplace ( Arg& arg ) - { - this->emplace_assign( arg ); - } - - void emplace () - { - this->emplace_assign(); - } -#endif - - void swap( optional & arg ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) - { - // allow for Koenig lookup - boost::swap(*this, arg); - } - - - // Returns a reference to the value if this is initialized, otherwise, - // the behaviour is UNDEFINED - // No-throw - reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); } - reference_type get() { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); } - - // Returns a copy of the value if this is initialized, 'v' otherwise - reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; } - reference_type get_value_or ( reference_type v ) { return this->is_initialized() ? get() : v ; } - - // Returns a pointer to the value if this is initialized, otherwise, - // the behaviour is UNDEFINED - // No-throw - pointer_const_type operator->() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; } - pointer_type operator->() { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; } - - // Returns a reference to the value if this is initialized, otherwise, - // the behaviour is UNDEFINED - // No-throw -#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - reference_const_type operator *() const& { return this->get() ; } - reference_type operator *() & { return this->get() ; } - reference_type_of_temporary_wrapper operator *() && { return base::types::move(this->get()) ; } -#else - reference_const_type operator *() const { return this->get() ; } - reference_type operator *() { return this->get() ; } -#endif // !defined BOOST_NO_CXX11_REF_QUALIFIERS - -#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - reference_const_type value() const& - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } - - reference_type value() & - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } - - reference_type_of_temporary_wrapper value() && - { - if (this->is_initialized()) - return base::types::move(this->get()) ; - else - throw_exception(bad_optional_access()); - } - -#else - reference_const_type value() const - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } - - reference_type value() - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } -#endif - - -#ifndef BOOST_NO_CXX11_REF_QUALIFIERS - template - value_type value_or ( U&& v ) const& - { - if (this->is_initialized()) - return get(); - else - return boost::forward(v); - } - - template - value_type value_or ( U&& v ) && - { - if (this->is_initialized()) - return base::types::move(get()); - else - return boost::forward(v); - } -#elif !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - template - value_type value_or ( U&& v ) const - { - if (this->is_initialized()) - return get(); - else - return boost::forward(v); - } -#else - template - value_type value_or ( U const& v ) const - { - if (this->is_initialized()) - return get(); - else - return v; - } - - template - value_type value_or ( U& v ) const - { - if (this->is_initialized()) - return get(); - else - return v; - } -#endif - - -#ifndef BOOST_NO_CXX11_REF_QUALIFIERS - template - value_type value_or_eval ( F f ) const& - { - if (this->is_initialized()) - return get(); - else - return f(); - } - - template - value_type value_or_eval ( F f ) && - { - if (this->is_initialized()) - return base::types::move(get()); - else - return f(); - } -#else - template - value_type value_or_eval ( F f ) const - { - if (this->is_initialized()) - return get(); - else - return f(); - } -#endif - - bool operator!() const BOOST_NOEXCEPT { return !this->is_initialized() ; } - - BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() -} ; - -} // namespace boost - - -#endif // header guard diff --git a/external/include/boost_1_75/boost/optional/detail/optional_trivially_copyable_base.hpp b/external/include/boost_1_75/boost/optional/detail/optional_trivially_copyable_base.hpp deleted file mode 100644 index 2cabf9a7c6..0000000000 --- a/external/include/boost_1_75/boost/optional/detail/optional_trivially_copyable_base.hpp +++ /dev/null @@ -1,499 +0,0 @@ -// trivilally-copyable version of the storage - -template -class tc_optional_base : public optional_tag -{ - private : - - typedef tc_optional_base this_type ; - - protected : - - typedef T value_type ; - - protected: - typedef T & reference_type ; - typedef T const& reference_const_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef T && rval_reference_type ; - typedef T && reference_type_of_temporary_wrapper ; -#endif - typedef T * pointer_type ; - typedef T const* pointer_const_type ; - typedef T const& argument_type ; - - tc_optional_base() - : - m_initialized(false) {} - - tc_optional_base ( none_t ) - : - m_initialized(false) {} - - tc_optional_base ( init_value_tag, argument_type val ) - : - m_initialized(true), m_storage(val) {} - - tc_optional_base ( bool cond, argument_type val ) - : - m_initialized(cond), m_storage(val) {} - - // tc_optional_base ( tc_optional_base const& ) = default; - - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - template - explicit tc_optional_base ( Expr&& expr, PtrExpr const* tag ) - : - m_initialized(false) - { - construct(boost::forward(expr),tag); - } - -#else - // This is used for both converting and in-place constructions. - // Derived classes use the 'tag' to select the appropriate - // implementation (the correct 'construct()' overload) - template - explicit tc_optional_base ( Expr const& expr, Expr const* tag ) - : - m_initialized(false) - { - construct(expr,tag); - } - -#endif - - // tc_optional_base& operator= ( tc_optional_base const& ) = default; - // ~tc_optional_base() = default; - - // Assigns from another optional (deep-copies the rhs value) - void assign ( tc_optional_base const& rhs ) - { - *this = rhs; - } - - // Assigns from another _convertible_ optional (deep-copies the rhs value) - template - void assign ( optional const& rhs ) - { - if ( rhs.is_initialized() ) -#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES - m_storage = rhs.get(); -#else - m_storage = static_cast(rhs.get()); -#endif - - m_initialized = rhs.is_initialized(); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // move-assigns from another _convertible_ optional (deep-moves from the rhs value) - template - void assign ( optional&& rhs ) - { - typedef BOOST_DEDUCED_TYPENAME optional::rval_reference_type ref_type; - if ( rhs.is_initialized() ) - m_storage = static_cast(rhs.get()); - m_initialized = rhs.is_initialized(); - } -#endif - - void assign ( argument_type val ) - { - construct(val); - } - - void assign ( none_t ) { destroy(); } - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - template - void assign_expr ( Expr&& expr, ExprPtr const* tag ) - { - construct(boost::forward(expr),tag); - } -#else - template - void assign_expr ( Expr const& expr, Expr const* tag ) - { - construct(expr,tag); - } -#endif - -#endif - - public : - - // Destroys the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - void reset() BOOST_NOEXCEPT { destroy(); } - - // **DEPPRECATED** Replaces the current value -if any- with 'val' - void reset ( argument_type val ) BOOST_NOEXCEPT { assign(val); } - - // Returns a pointer to the value if this is initialized, otherwise, - // returns NULL. - // No-throw - pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; } - pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; } - - bool is_initialized() const { return m_initialized ; } - - protected : - - void construct ( argument_type val ) - { - m_storage = val ; - m_initialized = true ; - } - - -#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) - // Constructs in-place - // upon exception *this is always uninitialized - template - void construct ( in_place_init_t, Args&&... args ) - { - m_storage = value_type( boost::forward(args)... ) ; - m_initialized = true ; - } - - template - void emplace_assign ( Args&&... args ) - { - construct(in_place_init, boost::forward(args)...); - } - - template - explicit tc_optional_base ( in_place_init_t, Args&&... args ) - : - m_initialized(false) - { - construct(in_place_init, boost::forward(args)...); - } - - template - explicit tc_optional_base ( in_place_init_if_t, bool cond, Args&&... args ) - : - m_initialized(false) - { - if ( cond ) - construct(in_place_init, boost::forward(args)...); - } -#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - template - void construct ( in_place_init_t, Arg&& arg ) - { - m_storage = value_type( boost::forward(arg) ); - m_initialized = true ; - } - - void construct ( in_place_init_t ) - { - m_storage = value_type(); - m_initialized = true ; - } - - template - void emplace_assign ( Arg&& arg ) - { - construct(in_place_init, boost::forward(arg)) ; - } - - void emplace_assign () - { - construct(in_place_init) ; - } - - template - explicit tc_optional_base ( in_place_init_t, Arg&& arg ) - : - m_initialized(false) - { - construct(in_place_init, boost::forward(arg)); - } - - explicit tc_optional_base ( in_place_init_t ) - : - m_initialized(false), m_storage() {} - - template - explicit tc_optional_base ( in_place_init_if_t, bool cond, Arg&& arg ) - : - m_initialized(false) - { - if ( cond ) - construct(in_place_init, boost::forward(arg)); - } - - explicit tc_optional_base ( in_place_init_if_t, bool cond ) - : - m_initialized(false) - { - if ( cond ) - construct(in_place_init); - } - -#else - - template - void construct ( in_place_init_t, const Arg& arg ) - { - m_storage = value_type( arg ); - m_initialized = true ; - } - - template - void construct ( in_place_init_t, Arg& arg ) - { - m_storage = value_type( arg ); - m_initialized = true ; - } - - void construct ( in_place_init_t ) - { - m_storage = value_type(); - m_initialized = true ; - } - - template - void emplace_assign ( const Arg& arg ) - { - construct(in_place_init, arg); - } - - template - void emplace_assign ( Arg& arg ) - { - construct(in_place_init, arg); - } - - void emplace_assign () - { - construct(in_place_init); - } - - template - explicit tc_optional_base ( in_place_init_t, const Arg& arg ) - : m_initialized(false) - { - construct(in_place_init, arg); - } - - template - explicit tc_optional_base ( in_place_init_t, Arg& arg ) - : m_initialized(false) - { - construct(in_place_init, arg); - } - - explicit tc_optional_base ( in_place_init_t ) - : m_initialized(false) - { - construct(in_place_init); - } - - template - explicit tc_optional_base ( in_place_init_if_t, bool cond, const Arg& arg ) - : m_initialized(false) - { - if ( cond ) - construct(in_place_init, arg); - } - - template - explicit tc_optional_base ( in_place_init_if_t, bool cond, Arg& arg ) - : m_initialized(false) - { - if ( cond ) - construct(in_place_init, arg); - } - - explicit tc_optional_base ( in_place_init_if_t, bool cond ) - : m_initialized(false) - { - if ( cond ) - construct(in_place_init); - } -#endif - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Constructs in-place using the given factory - template - void construct ( Expr&& factory, in_place_factory_base const* ) - { - boost_optional_detail::construct(factory, boost::addressof(m_storage)); - m_initialized = true ; - } - - // Constructs in-place using the given typed factory - template - void construct ( Expr&& factory, typed_in_place_factory_base const* ) - { - factory.apply(boost::addressof(m_storage)) ; - m_initialized = true ; - } - - template - void assign_expr_to_initialized ( Expr&& factory, in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - - // Constructs in-place using the given typed factory - template - void assign_expr_to_initialized ( Expr&& factory, typed_in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - -#else - // Constructs in-place using the given factory - template - void construct ( Expr const& factory, in_place_factory_base const* ) - { - boost_optional_detail::construct(factory, boost::addressof(m_storage)); - m_initialized = true ; - } - - // Constructs in-place using the given typed factory - template - void construct ( Expr const& factory, typed_in_place_factory_base const* ) - { - factory.apply(boost::addressof(m_storage)) ; - m_initialized = true ; - } - - template - void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - - // Constructs in-place using the given typed factory - template - void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } -#endif - -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Constructs using any expression implicitly convertible to the single argument - // of a one-argument T constructor. - // Converting constructions of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting constructor of T from U. - template - void construct ( Expr&& expr, void const* ) - { - m_storage = value_type(boost::forward(expr)) ; - m_initialized = true ; - } - - // Assigns using a form any expression implicitly convertible to the single argument - // of a T's assignment operator. - // Converting assignments of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting assignment of T from U. - template - void assign_expr_to_initialized ( Expr&& expr, void const* ) - { - assign_value( boost::forward(expr) ); - } -#else - // Constructs using any expression implicitly convertible to the single argument - // of a one-argument T constructor. - // Converting constructions of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting constructor of T from U. - template - void construct ( Expr const& expr, void const* ) - { - m_storage = value_type(expr) ; - m_initialized = true ; - } - - // Assigns using a form any expression implicitly convertible to the single argument - // of a T's assignment operator. - // Converting assignments of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting assignment of T from U. - template - void assign_expr_to_initialized ( Expr const& expr, void const* ) - { - assign_value(expr); - } - -#endif - -#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION - // BCB5.64 (and probably lower versions) workaround. - // The in-place factories are supported by means of catch-all constructors - // and assignment operators (the functions are parameterized in terms of - // an arbitrary 'Expr' type) - // This compiler incorrectly resolves the overload set and sinks optional and optional - // to the 'Expr'-taking functions even though explicit overloads are present for them. - // Thus, the following overload is needed to properly handle the case when the 'lhs' - // is another optional. - // - // For VC<=70 compilers this workaround dosen't work becasue the comnpiler issues and error - // instead of choosing the wrong overload - // -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Notice that 'Expr' will be optional or optional (but not tc_optional_base<..>) - template - void construct ( Expr&& expr, optional_tag const* ) - { - if ( expr.is_initialized() ) - { - // An exception can be thrown here. - // It it happens, THIS will be left uninitialized. - m_storage = value_type(boost::move(expr.get())) ; - m_initialized = true ; - } - } -#else - // Notice that 'Expr' will be optional or optional (but not tc_optional_base<..>) - template - void construct ( Expr const& expr, optional_tag const* ) - { - if ( expr.is_initialized() ) - { - // An exception can be thrown here. - // It it happens, THIS will be left uninitialized. - m_storage = value_type(expr.get()) ; - m_initialized = true ; - } - } -#endif -#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION - - void assign_value ( argument_type val ) { m_storage = val; } -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - void assign_value ( rval_reference_type val ) { m_storage = static_cast(val); } -#endif - - void destroy() - { - m_initialized = false; - } - - reference_const_type get_impl() const { return m_storage ; } - reference_type get_impl() { return m_storage ; } - - pointer_const_type get_ptr_impl() const { return boost::addressof(m_storage); } - pointer_type get_ptr_impl() { return boost::addressof(m_storage); } - - private : - - bool m_initialized ; - T m_storage ; -} ; diff --git a/external/include/boost_1_75/boost/optional/optional.hpp b/external/include/boost_1_75/boost/optional/optional.hpp deleted file mode 100644 index aadc975a7a..0000000000 --- a/external/include/boost_1_75/boost/optional/optional.hpp +++ /dev/null @@ -1,1605 +0,0 @@ -// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. -// Copyright (C) 2014 - 2018 Andrzej Krzemienski. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/libs/optional for documentation. -// -// You are welcome to contact the author at: -// fernando_cacciola@hotmail.com -// -// Revisions: -// 27 Apr 2008 (improved swap) Fernando Cacciola, Niels Dekker, Thorsten Ottosen -// 05 May 2014 (Added move semantics) Andrzej Krzemienski -// -#ifndef BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP -#define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP - -#include -#include - -#ifdef BOOST_OPTIONAL_DETAIL_USE_STD_TYPE_TRAITS -# include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace optional_detail { - -template -struct optional_value_type -{ -}; - -template -struct optional_value_type< ::boost::optional > -{ - typedef T type; -}; - -}} // namespace boost::optional_detail - -#ifdef BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL -#include -#else -namespace boost { - -namespace optional_ns { - -// a tag for in-place initialization of contained value -struct in_place_init_t -{ - struct init_tag{}; - explicit in_place_init_t(init_tag){} -}; -const in_place_init_t in_place_init ((in_place_init_t::init_tag())); - -// a tag for conditional in-place initialization of contained value -struct in_place_init_if_t -{ - struct init_tag{}; - explicit in_place_init_if_t(init_tag){} -}; -const in_place_init_if_t in_place_init_if ((in_place_init_if_t::init_tag())); - -} // namespace optional_ns - -using optional_ns::in_place_init_t; -using optional_ns::in_place_init; -using optional_ns::in_place_init_if_t; -using optional_ns::in_place_init_if; - -namespace optional_detail { - -struct init_value_tag {}; - -struct optional_tag {}; - - -template -class optional_base : public optional_tag -{ - private : - - typedef aligned_storage storage_type ; - typedef optional_base this_type ; - - protected : - - typedef T value_type ; - - protected: - typedef T & reference_type ; - typedef T const& reference_const_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef T && rval_reference_type ; - typedef T && reference_type_of_temporary_wrapper ; -#endif - typedef T * pointer_type ; - typedef T const* pointer_const_type ; - typedef T const& argument_type ; - - // Creates an optional uninitialized. - // No-throw - optional_base() - : - m_initialized(false) {} - - // Creates an optional uninitialized. - // No-throw - optional_base ( none_t ) - : - m_initialized(false) {} - - // Creates an optional initialized with 'val'. - // Can throw if T::T(T const&) does - optional_base ( init_value_tag, argument_type val ) - : - m_initialized(false) - { - construct(val); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // move-construct an optional initialized from an rvalue-ref to 'val'. - // Can throw if T::T(T&&) does - optional_base ( init_value_tag, rval_reference_type val ) - : - m_initialized(false) - { - construct( boost::move(val) ); - } -#endif - - // Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. - // Can throw if T::T(T const&) does - optional_base ( bool cond, argument_type val ) - : - m_initialized(false) - { - if ( cond ) - construct(val); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates an optional initialized with 'move(val)' IFF cond is true, otherwise creates an uninitialized optional. - // Can throw if T::T(T &&) does - optional_base ( bool cond, rval_reference_type val ) - : - m_initialized(false) - { - if ( cond ) - construct(boost::move(val)); - } -#endif - - // Creates a deep copy of another optional - // Can throw if T::T(T const&) does - optional_base ( optional_base const& rhs ) - : - m_initialized(false) - { - if ( rhs.is_initialized() ) - construct(rhs.get_impl()); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates a deep move of another optional - // Can throw if T::T(T&&) does - optional_base ( optional_base&& rhs ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value) - : - m_initialized(false) - { - if ( rhs.is_initialized() ) - construct( boost::move(rhs.get_impl()) ); - } -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - template - explicit optional_base ( Expr&& expr, PtrExpr const* tag ) - : - m_initialized(false) - { - construct(boost::forward(expr),tag); - } - -#else - // This is used for both converting and in-place constructions. - // Derived classes use the 'tag' to select the appropriate - // implementation (the correct 'construct()' overload) - template - explicit optional_base ( Expr const& expr, Expr const* tag ) - : - m_initialized(false) - { - construct(expr,tag); - } - -#endif - - optional_base& operator= ( optional_base const& rhs ) - { - this->assign(rhs); - return *this; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - optional_base& operator= ( optional_base && rhs ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) - { - this->assign(static_cast(rhs)); - return *this; - } -#endif - - // No-throw (assuming T::~T() doesn't) - ~optional_base() { destroy() ; } - - // Assigns from another optional (deep-copies the rhs value) - void assign ( optional_base const& rhs ) - { - if (is_initialized()) - { - if ( rhs.is_initialized() ) - assign_value(rhs.get_impl()); - else destroy(); - } - else - { - if ( rhs.is_initialized() ) - construct(rhs.get_impl()); - } - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from another optional (deep-moves the rhs value) - void assign ( optional_base&& rhs ) - { - if (is_initialized()) - { - if ( rhs.is_initialized() ) - assign_value( boost::move(rhs.get_impl()) ); - else destroy(); - } - else - { - if ( rhs.is_initialized() ) - construct(boost::move(rhs.get_impl())); - } - } -#endif - - // Assigns from another _convertible_ optional (deep-copies the rhs value) - template - void assign ( optional const& rhs ) - { - if (is_initialized()) - { - if ( rhs.is_initialized() ) -#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES - assign_value( rhs.get() ); -#else - assign_value( static_cast(rhs.get()) ); -#endif - - else destroy(); - } - else - { - if ( rhs.is_initialized() ) -#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES - construct(rhs.get()); -#else - construct(static_cast(rhs.get())); -#endif - } - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // move-assigns from another _convertible_ optional (deep-moves from the rhs value) - template - void assign ( optional&& rhs ) - { - typedef BOOST_DEDUCED_TYPENAME optional::rval_reference_type ref_type; - if (is_initialized()) - { - if ( rhs.is_initialized() ) - assign_value( static_cast(rhs.get()) ); - else destroy(); - } - else - { - if ( rhs.is_initialized() ) - construct(static_cast(rhs.get())); - } - } -#endif - - // Assigns from a T (deep-copies the rhs value) - void assign ( argument_type val ) - { - if (is_initialized()) - assign_value(val); - else construct(val); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from a T (deep-moves the rhs value) - void assign ( rval_reference_type val ) - { - if (is_initialized()) - assign_value( boost::move(val) ); - else construct( boost::move(val) ); - } -#endif - - // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - void assign ( none_t ) BOOST_NOEXCEPT { destroy(); } - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - template - void assign_expr ( Expr&& expr, ExprPtr const* tag ) - { - if (is_initialized()) - assign_expr_to_initialized(boost::forward(expr),tag); - else construct(boost::forward(expr),tag); - } -#else - template - void assign_expr ( Expr const& expr, Expr const* tag ) - { - if (is_initialized()) - assign_expr_to_initialized(expr,tag); - else construct(expr,tag); - } -#endif - -#endif - - public : - - // Destroys the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - void reset() BOOST_NOEXCEPT { destroy(); } - - // **DEPPRECATED** Replaces the current value -if any- with 'val' - void reset ( argument_type val ) { assign(val); } - - // Returns a pointer to the value if this is initialized, otherwise, - // returns NULL. - // No-throw - pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; } - pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; } - - bool is_initialized() const BOOST_NOEXCEPT { return m_initialized ; } - - protected : - - void construct ( argument_type val ) - { - ::new (m_storage.address()) value_type(val) ; - m_initialized = true ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - void construct ( rval_reference_type val ) - { - ::new (m_storage.address()) value_type( boost::move(val) ) ; - m_initialized = true ; - } -#endif - - -#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) - // Constructs in-place - // upon exception *this is always uninitialized - template - void construct ( in_place_init_t, Args&&... args ) - { - ::new (m_storage.address()) value_type( boost::forward(args)... ) ; - m_initialized = true ; - } - - template - void emplace_assign ( Args&&... args ) - { - destroy(); - construct(in_place_init, boost::forward(args)...); - } - - template - explicit optional_base ( in_place_init_t, Args&&... args ) - : - m_initialized(false) - { - construct(in_place_init, boost::forward(args)...); - } - - template - explicit optional_base ( in_place_init_if_t, bool cond, Args&&... args ) - : - m_initialized(false) - { - if ( cond ) - construct(in_place_init, boost::forward(args)...); - } -#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - template - void construct ( in_place_init_t, Arg&& arg ) - { - ::new (m_storage.address()) value_type( boost::forward(arg) ); - m_initialized = true ; - } - - void construct ( in_place_init_t ) - { - ::new (m_storage.address()) value_type(); - m_initialized = true ; - } - - template - void emplace_assign ( Arg&& arg ) - { - destroy(); - construct(in_place_init, boost::forward(arg)) ; - } - - void emplace_assign () - { - destroy(); - construct(in_place_init) ; - } - - template - explicit optional_base ( in_place_init_t, Arg&& arg ) - : - m_initialized(false) - { - construct(in_place_init, boost::forward(arg)); - } - - explicit optional_base ( in_place_init_t ) - : - m_initialized(false) - { - construct(in_place_init); - } - - template - explicit optional_base ( in_place_init_if_t, bool cond, Arg&& arg ) - : - m_initialized(false) - { - if ( cond ) - construct(in_place_init, boost::forward(arg)); - } - - explicit optional_base ( in_place_init_if_t, bool cond ) - : - m_initialized(false) - { - if ( cond ) - construct(in_place_init); - } - -#else - - template - void construct ( in_place_init_t, const Arg& arg ) - { - ::new (m_storage.address()) value_type( arg ); - m_initialized = true ; - } - - template - void construct ( in_place_init_t, Arg& arg ) - { - ::new (m_storage.address()) value_type( arg ); - m_initialized = true ; - } - - void construct ( in_place_init_t ) - { - ::new (m_storage.address()) value_type(); - m_initialized = true ; - } - - template - void emplace_assign ( const Arg& arg ) - { - destroy(); - construct(in_place_init, arg); - } - - template - void emplace_assign ( Arg& arg ) - { - destroy(); - construct(in_place_init, arg); - } - - void emplace_assign () - { - destroy(); - construct(in_place_init); - } - - template - explicit optional_base ( in_place_init_t, const Arg& arg ) - : m_initialized(false) - { - construct(in_place_init, arg); - } - - template - explicit optional_base ( in_place_init_t, Arg& arg ) - : m_initialized(false) - { - construct(in_place_init, arg); - } - - explicit optional_base ( in_place_init_t ) - : m_initialized(false) - { - construct(in_place_init); - } - - template - explicit optional_base ( in_place_init_if_t, bool cond, const Arg& arg ) - : m_initialized(false) - { - if ( cond ) - construct(in_place_init, arg); - } - - template - explicit optional_base ( in_place_init_if_t, bool cond, Arg& arg ) - : m_initialized(false) - { - if ( cond ) - construct(in_place_init, arg); - } - - explicit optional_base ( in_place_init_if_t, bool cond ) - : m_initialized(false) - { - if ( cond ) - construct(in_place_init); - } -#endif - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Constructs in-place using the given factory - template - void construct ( Expr&& factory, in_place_factory_base const* ) - { - boost_optional_detail::construct(factory, m_storage.address()); - m_initialized = true ; - } - - // Constructs in-place using the given typed factory - template - void construct ( Expr&& factory, typed_in_place_factory_base const* ) - { - factory.apply(m_storage.address()) ; - m_initialized = true ; - } - - template - void assign_expr_to_initialized ( Expr&& factory, in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - - // Constructs in-place using the given typed factory - template - void assign_expr_to_initialized ( Expr&& factory, typed_in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - -#else - // Constructs in-place using the given factory - template - void construct ( Expr const& factory, in_place_factory_base const* ) - { - boost_optional_detail::construct(factory, m_storage.address()); - m_initialized = true ; - } - - // Constructs in-place using the given typed factory - template - void construct ( Expr const& factory, typed_in_place_factory_base const* ) - { - factory.apply(m_storage.address()) ; - m_initialized = true ; - } - - template - void assign_expr_to_initialized ( Expr const& factory, in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } - - // Constructs in-place using the given typed factory - template - void assign_expr_to_initialized ( Expr const& factory, typed_in_place_factory_base const* tag ) - { - destroy(); - construct(factory,tag); - } -#endif - -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Constructs using any expression implicitly convertible to the single argument - // of a one-argument T constructor. - // Converting constructions of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting constructor of T from U. - template - void construct ( Expr&& expr, void const* ) - { - new (m_storage.address()) value_type(boost::forward(expr)) ; - m_initialized = true ; - } - - // Assigns using a form any expression implicitly convertible to the single argument - // of a T's assignment operator. - // Converting assignments of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting assignment of T from U. - template - void assign_expr_to_initialized ( Expr&& expr, void const* ) - { - assign_value( boost::forward(expr) ); - } -#else - // Constructs using any expression implicitly convertible to the single argument - // of a one-argument T constructor. - // Converting constructions of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting constructor of T from U. - template - void construct ( Expr const& expr, void const* ) - { - new (m_storage.address()) value_type(expr) ; - m_initialized = true ; - } - - // Assigns using a form any expression implicitly convertible to the single argument - // of a T's assignment operator. - // Converting assignments of optional from optional uses this function with - // 'Expr' being of type 'U' and relying on a converting assignment of T from U. - template - void assign_expr_to_initialized ( Expr const& expr, void const* ) - { - assign_value(expr); - } - -#endif - -#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION - // BCB5.64 (and probably lower versions) workaround. - // The in-place factories are supported by means of catch-all constructors - // and assignment operators (the functions are parameterized in terms of - // an arbitrary 'Expr' type) - // This compiler incorrectly resolves the overload set and sinks optional and optional - // to the 'Expr'-taking functions even though explicit overloads are present for them. - // Thus, the following overload is needed to properly handle the case when the 'lhs' - // is another optional. - // - // For VC<=70 compilers this workaround dosen't work becasue the comnpiler issues and error - // instead of choosing the wrong overload - // -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Notice that 'Expr' will be optional or optional (but not optional_base<..>) - template - void construct ( Expr&& expr, optional_tag const* ) - { - if ( expr.is_initialized() ) - { - // An exception can be thrown here. - // It it happens, THIS will be left uninitialized. - new (m_storage.address()) value_type(boost::move(expr.get())) ; - m_initialized = true ; - } - } -#else - // Notice that 'Expr' will be optional or optional (but not optional_base<..>) - template - void construct ( Expr const& expr, optional_tag const* ) - { - if ( expr.is_initialized() ) - { - // An exception can be thrown here. - // It it happens, THIS will be left uninitialized. - new (m_storage.address()) value_type(expr.get()) ; - m_initialized = true ; - } - } -#endif -#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION - - void assign_value ( argument_type val ) { get_impl() = val; } -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - void assign_value ( rval_reference_type val ) { get_impl() = static_cast(val); } -#endif - - void destroy() - { - if ( m_initialized ) - destroy_impl() ; - } - - reference_const_type get_impl() const { return m_storage.ref() ; } - reference_type get_impl() { return m_storage.ref() ; } - - pointer_const_type get_ptr_impl() const { return m_storage.ptr_ref(); } - pointer_type get_ptr_impl() { return m_storage.ptr_ref(); } - - private : - -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) - void destroy_impl ( ) { m_storage.ptr_ref()->~T() ; m_initialized = false ; } -#else - void destroy_impl ( ) { m_storage.ref().T::~T() ; m_initialized = false ; } -#endif - - bool m_initialized ; - storage_type m_storage ; -} ; - -#include - -// definition of metafunction is_optional_val_init_candidate -template -struct is_optional_related - : boost::conditional< boost::is_base_of::type>::value - || boost::is_same::type, none_t>::value - || boost::is_same::type, in_place_init_t>::value - || boost::is_same::type, in_place_init_if_t>::value, - boost::true_type, boost::false_type>::type -{}; - -#if !defined(BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT) - -template -struct is_convertible_to_T_or_factory - : boost::conditional< boost::is_base_of::type>::value - || boost::is_base_of::type>::value - || (boost::is_constructible::value && !boost::is_same::type>::value) - , boost::true_type, boost::false_type>::type -{}; - -template -struct is_optional_constructible : boost::is_constructible -{}; - -#else - -template -struct is_convertible_to_T_or_factory : boost::true_type -{}; - -template -struct is_optional_constructible : boost::true_type -{}; - -#endif // is_convertible condition - -template ::value> -struct is_optional_val_init_candidate - : boost::false_type -{}; - -template -struct is_optional_val_init_candidate - : boost::conditional< is_convertible_to_T_or_factory::value - , boost::true_type, boost::false_type>::type -{}; - -} // namespace optional_detail - -namespace optional_config { - -template -struct optional_uses_direct_storage_for - : boost::conditional<(boost::is_scalar::value && !boost::is_const::value && !boost::is_volatile::value) - , boost::true_type, boost::false_type>::type -{}; - -} // namespace optional_config - - -#ifndef BOOST_OPTIONAL_DETAIL_NO_DIRECT_STORAGE_SPEC -# define BOOST_OPTIONAL_BASE_TYPE(T) boost::conditional< optional_config::optional_uses_direct_storage_for::value, \ - optional_detail::tc_optional_base, \ - optional_detail::optional_base \ - >::type -#else -# define BOOST_OPTIONAL_BASE_TYPE(T) optional_detail::optional_base -#endif - -template -class optional - : public BOOST_OPTIONAL_BASE_TYPE(T) -{ - typedef typename BOOST_OPTIONAL_BASE_TYPE(T) base ; - - public : - - typedef optional this_type ; - - typedef BOOST_DEDUCED_TYPENAME base::value_type value_type ; - typedef BOOST_DEDUCED_TYPENAME base::reference_type reference_type ; - typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ; -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type rval_reference_type ; - typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ; -#endif - typedef BOOST_DEDUCED_TYPENAME base::pointer_type pointer_type ; - typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type pointer_const_type ; - typedef BOOST_DEDUCED_TYPENAME base::argument_type argument_type ; - - // Creates an optional uninitialized. - // No-throw - optional() BOOST_NOEXCEPT : base() {} - - // Creates an optional uninitialized. - // No-throw - optional( none_t none_ ) BOOST_NOEXCEPT : base(none_) {} - - // Creates an optional initialized with 'val'. - // Can throw if T::T(T const&) does - optional ( argument_type val ) : base(optional_detail::init_value_tag(), val) {} - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates an optional initialized with 'move(val)'. - // Can throw if T::T(T &&) does - optional ( rval_reference_type val ) : base(optional_detail::init_value_tag(), boost::forward(val)) - {} -#endif - - // Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. - // Can throw if T::T(T const&) does - optional ( bool cond, argument_type val ) : base(cond,val) {} - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - /// Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. - // Can throw if T::T(T &&) does - optional ( bool cond, rval_reference_type val ) : base( cond, boost::forward(val) ) - {} -#endif - - // NOTE: MSVC needs templated versions first - - // Creates a deep copy of another convertible optional - // Requires a valid conversion from U to T. - // Can throw if T::T(U const&) does - template - explicit optional ( optional const& rhs -#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS - ,BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_constructible, bool>::type = true -#endif - ) - : - base() - { - if ( rhs.is_initialized() ) - this->construct(rhs.get()); - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates a deep move of another convertible optional - // Requires a valid conversion from U to T. - // Can throw if T::T(U&&) does - template - explicit optional ( optional && rhs -#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS - ,BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_constructible, bool>::type = true -#endif - ) - : - base() - { - if ( rhs.is_initialized() ) - this->construct( boost::move(rhs.get()) ); - } -#endif - -#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - // Creates an optional with an expression which can be either - // (a) An instance of InPlaceFactory (i.e. in_place(a,b,...,n); - // (b) An instance of TypedInPlaceFactory ( i.e. in_place(a,b,...,n); - // (c) Any expression implicitly convertible to the single type - // of a one-argument T's constructor. - // (d*) Weak compilers (BCB) might also resolved Expr as optional and optional - // even though explicit overloads are present for these. - // Depending on the above some T ctor is called. - // Can throw if the resolved T ctor throws. -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - - template - explicit optional ( Expr&& expr, - BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_val_init_candidate, bool>::type = true - ) - : base(boost::forward(expr),boost::addressof(expr)) - {} - -#else - template - explicit optional ( Expr const& expr ) : base(expr,boost::addressof(expr)) {} -#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES -#endif // !defined BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT - - // Creates a deep copy of another optional - // Can throw if T::T(T const&) does -#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS - optional ( optional const& ) = default; -#else - optional ( optional const& rhs ) : base( static_cast(rhs) ) {} -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Creates a deep move of another optional - // Can throw if T::T(T&&) does - -#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS - optional ( optional && ) = default; -#else - optional ( optional && rhs ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value) - : base( boost::move(rhs) ) - {} -#endif - -#endif - -#if BOOST_WORKAROUND(_MSC_VER, <= 1600) - // On old MSVC compilers the implicitly declared dtor is not called - ~optional() {} -#endif - - -#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION) - // Assigns from an expression. See corresponding constructor. - // Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - - template - BOOST_DEDUCED_TYPENAME boost::enable_if, optional&>::type - operator= ( Expr&& expr ) - { - this->assign_expr(boost::forward(expr),boost::addressof(expr)); - return *this ; - } - -#else - template - optional& operator= ( Expr const& expr ) - { - this->assign_expr(expr,boost::addressof(expr)); - return *this ; - } -#endif // !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES -#endif // !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION) - - // Copy-assigns from another convertible optional (converts && deep-copies the rhs value) - // Requires a valid conversion from U to T. - // Basic Guarantee: If T::T( U const& ) throws, this is left UNINITIALIZED - template - optional& operator= ( optional const& rhs ) - { - this->assign(rhs); - return *this ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Move-assigns from another convertible optional (converts && deep-moves the rhs value) - // Requires a valid conversion from U to T. - // Basic Guarantee: If T::T( U && ) throws, this is left UNINITIALIZED - template - optional& operator= ( optional && rhs ) - { - this->assign(boost::move(rhs)); - return *this ; - } -#endif - - // Assigns from another optional (deep-copies the rhs value) - // Basic Guarantee: If T::T( T const& ) throws, this is left UNINITIALIZED - // (NOTE: On BCB, this operator is not actually called and left is left UNMODIFIED in case of a throw) -#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS - optional& operator= ( optional const& rhs ) = default; -#else - optional& operator= ( optional const& rhs ) - { - this->assign( static_cast(rhs) ) ; - return *this ; - } -#endif - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from another optional (deep-moves the rhs value) -#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS - optional& operator= ( optional && ) = default; -#else - optional& operator= ( optional && rhs ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) - { - this->assign( static_cast(rhs) ) ; - return *this ; - } -#endif - -#endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - -#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX - - // Assigns from a T (deep-moves/copies the rhs value) - template - BOOST_DEDUCED_TYPENAME boost::enable_if::type>, optional&>::type - operator= ( T_&& val ) - { - this->assign( boost::forward(val) ) ; - return *this ; - } - -#else - - // Assigns from a T (deep-copies the rhs value) - // Basic Guarantee: If T::( T const& ) throws, this is left UNINITIALIZED - optional& operator= ( argument_type val ) - { - this->assign( val ) ; - return *this ; - } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - // Assigns from a T (deep-moves the rhs value) - optional& operator= ( rval_reference_type val ) - { - this->assign( boost::move(val) ) ; - return *this ; - } -#endif - -#endif // BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX - - // Assigns from a "none" - // Which destroys the current value, if any, leaving this UNINITIALIZED - // No-throw (assuming T::~T() doesn't) - optional& operator= ( none_t none_ ) BOOST_NOEXCEPT - { - this->assign( none_ ) ; - return *this ; - } - -#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) && (!defined BOOST_NO_CXX11_VARIADIC_TEMPLATES) - // Constructs in-place - // upon exception *this is always uninitialized - template - void emplace ( Args&&... args ) - { - this->emplace_assign( boost::forward(args)... ); - } - - template - explicit optional ( in_place_init_t, Args&&... args ) - : base( in_place_init, boost::forward(args)... ) - {} - - template - explicit optional ( in_place_init_if_t, bool cond, Args&&... args ) - : base( in_place_init_if, cond, boost::forward(args)... ) - {} - -#elif (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - template - void emplace ( Arg&& arg ) - { - this->emplace_assign( boost::forward(arg) ); - } - - void emplace () - { - this->emplace_assign(); - } - - template - explicit optional ( in_place_init_t, Args&& args ) - : base( in_place_init, boost::forward(args) ) - {} - - explicit optional ( in_place_init_t ) - : base( in_place_init ) - {} - - template - explicit optional ( in_place_init_if_t, bool cond, Args&& args ) - : base( in_place_init_if, cond, boost::forward(args) ) - {} - - explicit optional ( in_place_init_if_t, bool cond ) - : base( in_place_init_if, cond ) - {} -#else - template - void emplace ( const Arg& arg ) - { - this->emplace_assign( arg ); - } - - template - void emplace ( Arg& arg ) - { - this->emplace_assign( arg ); - } - - void emplace () - { - this->emplace_assign(); - } - - template - explicit optional ( in_place_init_t, const Arg& arg ) - : base( in_place_init, arg ) - {} - - template - explicit optional ( in_place_init_t, Arg& arg ) - : base( in_place_init, arg ) - {} - - explicit optional ( in_place_init_t ) - : base( in_place_init ) - {} - - template - explicit optional ( in_place_init_if_t, bool cond, const Arg& arg ) - : base( in_place_init_if, cond, arg ) - {} - - template - explicit optional ( in_place_init_if_t, bool cond, Arg& arg ) - : base( in_place_init_if, cond, arg ) - {} - - explicit optional ( in_place_init_if_t, bool cond ) - : base( in_place_init_if, cond ) - {} -#endif - - void swap( optional & arg ) - BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) - { - // allow for Koenig lookup - boost::swap(*this, arg); - } - - - // Returns a reference to the value if this is initialized, otherwise, - // the behaviour is UNDEFINED - // No-throw - reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); } - reference_type get() { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); } - - // Returns a copy of the value if this is initialized, 'v' otherwise - reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; } - reference_type get_value_or ( reference_type v ) { return this->is_initialized() ? get() : v ; } - - // Returns a pointer to the value if this is initialized, otherwise, - // the behaviour is UNDEFINED - // No-throw - pointer_const_type operator->() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; } - pointer_type operator->() { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; } - - // Returns a reference to the value if this is initialized, otherwise, - // the behaviour is UNDEFINED - // No-throw -#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - reference_const_type operator *() const& { return this->get() ; } - reference_type operator *() & { return this->get() ; } - reference_type_of_temporary_wrapper operator *() && { return boost::move(this->get()) ; } -#else - reference_const_type operator *() const { return this->get() ; } - reference_type operator *() { return this->get() ; } -#endif // !defined BOOST_NO_CXX11_REF_QUALIFIERS - -#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - reference_const_type value() const& - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } - - reference_type value() & - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } - - reference_type_of_temporary_wrapper value() && - { - if (this->is_initialized()) - return boost::move(this->get()) ; - else - throw_exception(bad_optional_access()); - } - -#else - reference_const_type value() const - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } - - reference_type value() - { - if (this->is_initialized()) - return this->get() ; - else - throw_exception(bad_optional_access()); - } -#endif - - -#ifndef BOOST_NO_CXX11_REF_QUALIFIERS - template - value_type value_or ( U&& v ) const& - { - if (this->is_initialized()) - return get(); - else - return boost::forward(v); - } - - template - value_type value_or ( U&& v ) && - { - if (this->is_initialized()) - return boost::move(get()); - else - return boost::forward(v); - } -#elif !defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - template - value_type value_or ( U&& v ) const - { - if (this->is_initialized()) - return get(); - else - return boost::forward(v); - } -#else - template - value_type value_or ( U const& v ) const - { - if (this->is_initialized()) - return get(); - else - return v; - } - - template - value_type value_or ( U& v ) const - { - if (this->is_initialized()) - return get(); - else - return v; - } -#endif - - -#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) - template - value_type value_or_eval ( F f ) const& - { - if (this->is_initialized()) - return get(); - else - return f(); - } - - template - value_type value_or_eval ( F f ) && - { - if (this->is_initialized()) - return boost::move(get()); - else - return f(); - } - - template - optional::type> map(F f) & - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type> map(F f) const& - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type> map(F f) && - { - if (this->has_value()) - return f(boost::move(this->get())); - else - return none; - } - - template - optional::type>::type> flat_map(F f) & - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type>::type> flat_map(F f) const& - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type>::type> flat_map(F f) && - { - if (this->has_value()) - return f(boost::move(get())); - else - return none; - } - -#else - template - value_type value_or_eval ( F f ) const - { - if (this->is_initialized()) - return get(); - else - return f(); - } - - template - optional::type> map(F f) - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type> map(F f) const - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type>::type> flat_map(F f) - { - if (this->has_value()) - return f(get()); - else - return none; - } - - template - optional::type>::type> flat_map(F f) const - { - if (this->has_value()) - return f(get()); - else - return none; - } - -#endif - - bool has_value() const BOOST_NOEXCEPT { return this->is_initialized() ; } - - bool operator!() const BOOST_NOEXCEPT { return !this->is_initialized() ; } - - BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() -} ; - -} // namespace boost - -#endif // BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL - -namespace boost { - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES -template -class optional -{ - BOOST_STATIC_ASSERT_MSG(sizeof(T) == 0, "Optional rvalue references are illegal."); -} ; -#endif - -} // namespace boost - -#ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS -# include -#endif - -namespace boost { - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - -template -inline -optional::type> make_optional ( T && v ) -{ - return optional::type>(boost::forward(v)); -} - -// Returns optional(cond,v) -template -inline -optional::type> make_optional ( bool cond, T && v ) -{ - return optional::type>(cond,boost::forward(v)); -} - -#else - -// Returns optional(v) -template -inline -optional make_optional ( T const& v ) -{ - return optional(v); -} - -// Returns optional(cond,v) -template -inline -optional make_optional ( bool cond, T const& v ) -{ - return optional(cond,v); -} - -#endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - -// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED. -// No-throw -template -inline -BOOST_DEDUCED_TYPENAME optional::reference_const_type -get ( optional const& opt ) -{ - return opt.get() ; -} - -template -inline -BOOST_DEDUCED_TYPENAME optional::reference_type -get ( optional& opt ) -{ - return opt.get() ; -} - -// Returns a pointer to the value if this is initialized, otherwise, returns NULL. -// No-throw -template -inline -BOOST_DEDUCED_TYPENAME optional::pointer_const_type -get ( optional const* opt ) -{ - return opt->get_ptr() ; -} - -template -inline -BOOST_DEDUCED_TYPENAME optional::pointer_type -get ( optional* opt ) -{ - return opt->get_ptr() ; -} - -// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED. -// No-throw -template -inline -BOOST_DEDUCED_TYPENAME optional::reference_const_type -get_optional_value_or ( optional const& opt, BOOST_DEDUCED_TYPENAME optional::reference_const_type v ) -{ - return opt.get_value_or(v) ; -} - -template -inline -BOOST_DEDUCED_TYPENAME optional::reference_type -get_optional_value_or ( optional& opt, BOOST_DEDUCED_TYPENAME optional::reference_type v ) -{ - return opt.get_value_or(v) ; -} - -// Returns a pointer to the value if this is initialized, otherwise, returns NULL. -// No-throw -template -inline -BOOST_DEDUCED_TYPENAME optional::pointer_const_type -get_pointer ( optional const& opt ) -{ - return opt.get_ptr() ; -} - -template -inline -BOOST_DEDUCED_TYPENAME optional::pointer_type -get_pointer ( optional& opt ) -{ - return opt.get_ptr() ; -} - -} // namespace boost - -namespace boost { - -// The following declaration prevents a bug where operator safe-bool is used upon streaming optional object if you forget the IO header. -template -std::basic_ostream& -operator<<(std::basic_ostream& os, optional_detail::optional_tag const&) -{ - BOOST_STATIC_ASSERT_MSG(sizeof(CharType) == 0, "If you want to output boost::optional, include header "); - return os; -} - -} // namespace boost - -#include -#include - -#endif // header guard diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/dec.hpp b/external/include/boost_1_75/boost/preprocessor/arithmetic/dec.hpp deleted file mode 100644 index d0f2f14733..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/dec.hpp +++ /dev/null @@ -1,322 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# /* BOOST_PP_DEC */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) -# else -# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) -# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par -# endif -# -# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x -# -# define BOOST_PP_DEC_0 0 -# define BOOST_PP_DEC_1 0 -# define BOOST_PP_DEC_2 1 -# define BOOST_PP_DEC_3 2 -# define BOOST_PP_DEC_4 3 -# define BOOST_PP_DEC_5 4 -# define BOOST_PP_DEC_6 5 -# define BOOST_PP_DEC_7 6 -# define BOOST_PP_DEC_8 7 -# define BOOST_PP_DEC_9 8 -# define BOOST_PP_DEC_10 9 -# define BOOST_PP_DEC_11 10 -# define BOOST_PP_DEC_12 11 -# define BOOST_PP_DEC_13 12 -# define BOOST_PP_DEC_14 13 -# define BOOST_PP_DEC_15 14 -# define BOOST_PP_DEC_16 15 -# define BOOST_PP_DEC_17 16 -# define BOOST_PP_DEC_18 17 -# define BOOST_PP_DEC_19 18 -# define BOOST_PP_DEC_20 19 -# define BOOST_PP_DEC_21 20 -# define BOOST_PP_DEC_22 21 -# define BOOST_PP_DEC_23 22 -# define BOOST_PP_DEC_24 23 -# define BOOST_PP_DEC_25 24 -# define BOOST_PP_DEC_26 25 -# define BOOST_PP_DEC_27 26 -# define BOOST_PP_DEC_28 27 -# define BOOST_PP_DEC_29 28 -# define BOOST_PP_DEC_30 29 -# define BOOST_PP_DEC_31 30 -# define BOOST_PP_DEC_32 31 -# define BOOST_PP_DEC_33 32 -# define BOOST_PP_DEC_34 33 -# define BOOST_PP_DEC_35 34 -# define BOOST_PP_DEC_36 35 -# define BOOST_PP_DEC_37 36 -# define BOOST_PP_DEC_38 37 -# define BOOST_PP_DEC_39 38 -# define BOOST_PP_DEC_40 39 -# define BOOST_PP_DEC_41 40 -# define BOOST_PP_DEC_42 41 -# define BOOST_PP_DEC_43 42 -# define BOOST_PP_DEC_44 43 -# define BOOST_PP_DEC_45 44 -# define BOOST_PP_DEC_46 45 -# define BOOST_PP_DEC_47 46 -# define BOOST_PP_DEC_48 47 -# define BOOST_PP_DEC_49 48 -# define BOOST_PP_DEC_50 49 -# define BOOST_PP_DEC_51 50 -# define BOOST_PP_DEC_52 51 -# define BOOST_PP_DEC_53 52 -# define BOOST_PP_DEC_54 53 -# define BOOST_PP_DEC_55 54 -# define BOOST_PP_DEC_56 55 -# define BOOST_PP_DEC_57 56 -# define BOOST_PP_DEC_58 57 -# define BOOST_PP_DEC_59 58 -# define BOOST_PP_DEC_60 59 -# define BOOST_PP_DEC_61 60 -# define BOOST_PP_DEC_62 61 -# define BOOST_PP_DEC_63 62 -# define BOOST_PP_DEC_64 63 -# define BOOST_PP_DEC_65 64 -# define BOOST_PP_DEC_66 65 -# define BOOST_PP_DEC_67 66 -# define BOOST_PP_DEC_68 67 -# define BOOST_PP_DEC_69 68 -# define BOOST_PP_DEC_70 69 -# define BOOST_PP_DEC_71 70 -# define BOOST_PP_DEC_72 71 -# define BOOST_PP_DEC_73 72 -# define BOOST_PP_DEC_74 73 -# define BOOST_PP_DEC_75 74 -# define BOOST_PP_DEC_76 75 -# define BOOST_PP_DEC_77 76 -# define BOOST_PP_DEC_78 77 -# define BOOST_PP_DEC_79 78 -# define BOOST_PP_DEC_80 79 -# define BOOST_PP_DEC_81 80 -# define BOOST_PP_DEC_82 81 -# define BOOST_PP_DEC_83 82 -# define BOOST_PP_DEC_84 83 -# define BOOST_PP_DEC_85 84 -# define BOOST_PP_DEC_86 85 -# define BOOST_PP_DEC_87 86 -# define BOOST_PP_DEC_88 87 -# define BOOST_PP_DEC_89 88 -# define BOOST_PP_DEC_90 89 -# define BOOST_PP_DEC_91 90 -# define BOOST_PP_DEC_92 91 -# define BOOST_PP_DEC_93 92 -# define BOOST_PP_DEC_94 93 -# define BOOST_PP_DEC_95 94 -# define BOOST_PP_DEC_96 95 -# define BOOST_PP_DEC_97 96 -# define BOOST_PP_DEC_98 97 -# define BOOST_PP_DEC_99 98 -# define BOOST_PP_DEC_100 99 -# define BOOST_PP_DEC_101 100 -# define BOOST_PP_DEC_102 101 -# define BOOST_PP_DEC_103 102 -# define BOOST_PP_DEC_104 103 -# define BOOST_PP_DEC_105 104 -# define BOOST_PP_DEC_106 105 -# define BOOST_PP_DEC_107 106 -# define BOOST_PP_DEC_108 107 -# define BOOST_PP_DEC_109 108 -# define BOOST_PP_DEC_110 109 -# define BOOST_PP_DEC_111 110 -# define BOOST_PP_DEC_112 111 -# define BOOST_PP_DEC_113 112 -# define BOOST_PP_DEC_114 113 -# define BOOST_PP_DEC_115 114 -# define BOOST_PP_DEC_116 115 -# define BOOST_PP_DEC_117 116 -# define BOOST_PP_DEC_118 117 -# define BOOST_PP_DEC_119 118 -# define BOOST_PP_DEC_120 119 -# define BOOST_PP_DEC_121 120 -# define BOOST_PP_DEC_122 121 -# define BOOST_PP_DEC_123 122 -# define BOOST_PP_DEC_124 123 -# define BOOST_PP_DEC_125 124 -# define BOOST_PP_DEC_126 125 -# define BOOST_PP_DEC_127 126 -# define BOOST_PP_DEC_128 127 -# define BOOST_PP_DEC_129 128 -# define BOOST_PP_DEC_130 129 -# define BOOST_PP_DEC_131 130 -# define BOOST_PP_DEC_132 131 -# define BOOST_PP_DEC_133 132 -# define BOOST_PP_DEC_134 133 -# define BOOST_PP_DEC_135 134 -# define BOOST_PP_DEC_136 135 -# define BOOST_PP_DEC_137 136 -# define BOOST_PP_DEC_138 137 -# define BOOST_PP_DEC_139 138 -# define BOOST_PP_DEC_140 139 -# define BOOST_PP_DEC_141 140 -# define BOOST_PP_DEC_142 141 -# define BOOST_PP_DEC_143 142 -# define BOOST_PP_DEC_144 143 -# define BOOST_PP_DEC_145 144 -# define BOOST_PP_DEC_146 145 -# define BOOST_PP_DEC_147 146 -# define BOOST_PP_DEC_148 147 -# define BOOST_PP_DEC_149 148 -# define BOOST_PP_DEC_150 149 -# define BOOST_PP_DEC_151 150 -# define BOOST_PP_DEC_152 151 -# define BOOST_PP_DEC_153 152 -# define BOOST_PP_DEC_154 153 -# define BOOST_PP_DEC_155 154 -# define BOOST_PP_DEC_156 155 -# define BOOST_PP_DEC_157 156 -# define BOOST_PP_DEC_158 157 -# define BOOST_PP_DEC_159 158 -# define BOOST_PP_DEC_160 159 -# define BOOST_PP_DEC_161 160 -# define BOOST_PP_DEC_162 161 -# define BOOST_PP_DEC_163 162 -# define BOOST_PP_DEC_164 163 -# define BOOST_PP_DEC_165 164 -# define BOOST_PP_DEC_166 165 -# define BOOST_PP_DEC_167 166 -# define BOOST_PP_DEC_168 167 -# define BOOST_PP_DEC_169 168 -# define BOOST_PP_DEC_170 169 -# define BOOST_PP_DEC_171 170 -# define BOOST_PP_DEC_172 171 -# define BOOST_PP_DEC_173 172 -# define BOOST_PP_DEC_174 173 -# define BOOST_PP_DEC_175 174 -# define BOOST_PP_DEC_176 175 -# define BOOST_PP_DEC_177 176 -# define BOOST_PP_DEC_178 177 -# define BOOST_PP_DEC_179 178 -# define BOOST_PP_DEC_180 179 -# define BOOST_PP_DEC_181 180 -# define BOOST_PP_DEC_182 181 -# define BOOST_PP_DEC_183 182 -# define BOOST_PP_DEC_184 183 -# define BOOST_PP_DEC_185 184 -# define BOOST_PP_DEC_186 185 -# define BOOST_PP_DEC_187 186 -# define BOOST_PP_DEC_188 187 -# define BOOST_PP_DEC_189 188 -# define BOOST_PP_DEC_190 189 -# define BOOST_PP_DEC_191 190 -# define BOOST_PP_DEC_192 191 -# define BOOST_PP_DEC_193 192 -# define BOOST_PP_DEC_194 193 -# define BOOST_PP_DEC_195 194 -# define BOOST_PP_DEC_196 195 -# define BOOST_PP_DEC_197 196 -# define BOOST_PP_DEC_198 197 -# define BOOST_PP_DEC_199 198 -# define BOOST_PP_DEC_200 199 -# define BOOST_PP_DEC_201 200 -# define BOOST_PP_DEC_202 201 -# define BOOST_PP_DEC_203 202 -# define BOOST_PP_DEC_204 203 -# define BOOST_PP_DEC_205 204 -# define BOOST_PP_DEC_206 205 -# define BOOST_PP_DEC_207 206 -# define BOOST_PP_DEC_208 207 -# define BOOST_PP_DEC_209 208 -# define BOOST_PP_DEC_210 209 -# define BOOST_PP_DEC_211 210 -# define BOOST_PP_DEC_212 211 -# define BOOST_PP_DEC_213 212 -# define BOOST_PP_DEC_214 213 -# define BOOST_PP_DEC_215 214 -# define BOOST_PP_DEC_216 215 -# define BOOST_PP_DEC_217 216 -# define BOOST_PP_DEC_218 217 -# define BOOST_PP_DEC_219 218 -# define BOOST_PP_DEC_220 219 -# define BOOST_PP_DEC_221 220 -# define BOOST_PP_DEC_222 221 -# define BOOST_PP_DEC_223 222 -# define BOOST_PP_DEC_224 223 -# define BOOST_PP_DEC_225 224 -# define BOOST_PP_DEC_226 225 -# define BOOST_PP_DEC_227 226 -# define BOOST_PP_DEC_228 227 -# define BOOST_PP_DEC_229 228 -# define BOOST_PP_DEC_230 229 -# define BOOST_PP_DEC_231 230 -# define BOOST_PP_DEC_232 231 -# define BOOST_PP_DEC_233 232 -# define BOOST_PP_DEC_234 233 -# define BOOST_PP_DEC_235 234 -# define BOOST_PP_DEC_236 235 -# define BOOST_PP_DEC_237 236 -# define BOOST_PP_DEC_238 237 -# define BOOST_PP_DEC_239 238 -# define BOOST_PP_DEC_240 239 -# define BOOST_PP_DEC_241 240 -# define BOOST_PP_DEC_242 241 -# define BOOST_PP_DEC_243 242 -# define BOOST_PP_DEC_244 243 -# define BOOST_PP_DEC_245 244 -# define BOOST_PP_DEC_246 245 -# define BOOST_PP_DEC_247 246 -# define BOOST_PP_DEC_248 247 -# define BOOST_PP_DEC_249 248 -# define BOOST_PP_DEC_250 249 -# define BOOST_PP_DEC_251 250 -# define BOOST_PP_DEC_252 251 -# define BOOST_PP_DEC_253 252 -# define BOOST_PP_DEC_254 253 -# define BOOST_PP_DEC_255 254 -# define BOOST_PP_DEC_256 255 -# define BOOST_PP_DEC_257 256 -# -# else -# -# /* BOOST_PP_DEC */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) -# else -# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) -# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par -# endif -# -# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x -# -# include -# -# if BOOST_PP_LIMIT_MAG == 256 -# include -# elif BOOST_PP_LIMIT_MAG == 512 -# include -# include -# elif BOOST_PP_LIMIT_MAG == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_MAG limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/inc.hpp b/external/include/boost_1_75/boost/preprocessor/arithmetic/inc.hpp deleted file mode 100644 index a445be8733..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/inc.hpp +++ /dev/null @@ -1,321 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# /* BOOST_PP_INC */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_INC(x) BOOST_PP_INC_I(x) -# else -# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x)) -# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par -# endif -# -# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x -# -# define BOOST_PP_INC_0 1 -# define BOOST_PP_INC_1 2 -# define BOOST_PP_INC_2 3 -# define BOOST_PP_INC_3 4 -# define BOOST_PP_INC_4 5 -# define BOOST_PP_INC_5 6 -# define BOOST_PP_INC_6 7 -# define BOOST_PP_INC_7 8 -# define BOOST_PP_INC_8 9 -# define BOOST_PP_INC_9 10 -# define BOOST_PP_INC_10 11 -# define BOOST_PP_INC_11 12 -# define BOOST_PP_INC_12 13 -# define BOOST_PP_INC_13 14 -# define BOOST_PP_INC_14 15 -# define BOOST_PP_INC_15 16 -# define BOOST_PP_INC_16 17 -# define BOOST_PP_INC_17 18 -# define BOOST_PP_INC_18 19 -# define BOOST_PP_INC_19 20 -# define BOOST_PP_INC_20 21 -# define BOOST_PP_INC_21 22 -# define BOOST_PP_INC_22 23 -# define BOOST_PP_INC_23 24 -# define BOOST_PP_INC_24 25 -# define BOOST_PP_INC_25 26 -# define BOOST_PP_INC_26 27 -# define BOOST_PP_INC_27 28 -# define BOOST_PP_INC_28 29 -# define BOOST_PP_INC_29 30 -# define BOOST_PP_INC_30 31 -# define BOOST_PP_INC_31 32 -# define BOOST_PP_INC_32 33 -# define BOOST_PP_INC_33 34 -# define BOOST_PP_INC_34 35 -# define BOOST_PP_INC_35 36 -# define BOOST_PP_INC_36 37 -# define BOOST_PP_INC_37 38 -# define BOOST_PP_INC_38 39 -# define BOOST_PP_INC_39 40 -# define BOOST_PP_INC_40 41 -# define BOOST_PP_INC_41 42 -# define BOOST_PP_INC_42 43 -# define BOOST_PP_INC_43 44 -# define BOOST_PP_INC_44 45 -# define BOOST_PP_INC_45 46 -# define BOOST_PP_INC_46 47 -# define BOOST_PP_INC_47 48 -# define BOOST_PP_INC_48 49 -# define BOOST_PP_INC_49 50 -# define BOOST_PP_INC_50 51 -# define BOOST_PP_INC_51 52 -# define BOOST_PP_INC_52 53 -# define BOOST_PP_INC_53 54 -# define BOOST_PP_INC_54 55 -# define BOOST_PP_INC_55 56 -# define BOOST_PP_INC_56 57 -# define BOOST_PP_INC_57 58 -# define BOOST_PP_INC_58 59 -# define BOOST_PP_INC_59 60 -# define BOOST_PP_INC_60 61 -# define BOOST_PP_INC_61 62 -# define BOOST_PP_INC_62 63 -# define BOOST_PP_INC_63 64 -# define BOOST_PP_INC_64 65 -# define BOOST_PP_INC_65 66 -# define BOOST_PP_INC_66 67 -# define BOOST_PP_INC_67 68 -# define BOOST_PP_INC_68 69 -# define BOOST_PP_INC_69 70 -# define BOOST_PP_INC_70 71 -# define BOOST_PP_INC_71 72 -# define BOOST_PP_INC_72 73 -# define BOOST_PP_INC_73 74 -# define BOOST_PP_INC_74 75 -# define BOOST_PP_INC_75 76 -# define BOOST_PP_INC_76 77 -# define BOOST_PP_INC_77 78 -# define BOOST_PP_INC_78 79 -# define BOOST_PP_INC_79 80 -# define BOOST_PP_INC_80 81 -# define BOOST_PP_INC_81 82 -# define BOOST_PP_INC_82 83 -# define BOOST_PP_INC_83 84 -# define BOOST_PP_INC_84 85 -# define BOOST_PP_INC_85 86 -# define BOOST_PP_INC_86 87 -# define BOOST_PP_INC_87 88 -# define BOOST_PP_INC_88 89 -# define BOOST_PP_INC_89 90 -# define BOOST_PP_INC_90 91 -# define BOOST_PP_INC_91 92 -# define BOOST_PP_INC_92 93 -# define BOOST_PP_INC_93 94 -# define BOOST_PP_INC_94 95 -# define BOOST_PP_INC_95 96 -# define BOOST_PP_INC_96 97 -# define BOOST_PP_INC_97 98 -# define BOOST_PP_INC_98 99 -# define BOOST_PP_INC_99 100 -# define BOOST_PP_INC_100 101 -# define BOOST_PP_INC_101 102 -# define BOOST_PP_INC_102 103 -# define BOOST_PP_INC_103 104 -# define BOOST_PP_INC_104 105 -# define BOOST_PP_INC_105 106 -# define BOOST_PP_INC_106 107 -# define BOOST_PP_INC_107 108 -# define BOOST_PP_INC_108 109 -# define BOOST_PP_INC_109 110 -# define BOOST_PP_INC_110 111 -# define BOOST_PP_INC_111 112 -# define BOOST_PP_INC_112 113 -# define BOOST_PP_INC_113 114 -# define BOOST_PP_INC_114 115 -# define BOOST_PP_INC_115 116 -# define BOOST_PP_INC_116 117 -# define BOOST_PP_INC_117 118 -# define BOOST_PP_INC_118 119 -# define BOOST_PP_INC_119 120 -# define BOOST_PP_INC_120 121 -# define BOOST_PP_INC_121 122 -# define BOOST_PP_INC_122 123 -# define BOOST_PP_INC_123 124 -# define BOOST_PP_INC_124 125 -# define BOOST_PP_INC_125 126 -# define BOOST_PP_INC_126 127 -# define BOOST_PP_INC_127 128 -# define BOOST_PP_INC_128 129 -# define BOOST_PP_INC_129 130 -# define BOOST_PP_INC_130 131 -# define BOOST_PP_INC_131 132 -# define BOOST_PP_INC_132 133 -# define BOOST_PP_INC_133 134 -# define BOOST_PP_INC_134 135 -# define BOOST_PP_INC_135 136 -# define BOOST_PP_INC_136 137 -# define BOOST_PP_INC_137 138 -# define BOOST_PP_INC_138 139 -# define BOOST_PP_INC_139 140 -# define BOOST_PP_INC_140 141 -# define BOOST_PP_INC_141 142 -# define BOOST_PP_INC_142 143 -# define BOOST_PP_INC_143 144 -# define BOOST_PP_INC_144 145 -# define BOOST_PP_INC_145 146 -# define BOOST_PP_INC_146 147 -# define BOOST_PP_INC_147 148 -# define BOOST_PP_INC_148 149 -# define BOOST_PP_INC_149 150 -# define BOOST_PP_INC_150 151 -# define BOOST_PP_INC_151 152 -# define BOOST_PP_INC_152 153 -# define BOOST_PP_INC_153 154 -# define BOOST_PP_INC_154 155 -# define BOOST_PP_INC_155 156 -# define BOOST_PP_INC_156 157 -# define BOOST_PP_INC_157 158 -# define BOOST_PP_INC_158 159 -# define BOOST_PP_INC_159 160 -# define BOOST_PP_INC_160 161 -# define BOOST_PP_INC_161 162 -# define BOOST_PP_INC_162 163 -# define BOOST_PP_INC_163 164 -# define BOOST_PP_INC_164 165 -# define BOOST_PP_INC_165 166 -# define BOOST_PP_INC_166 167 -# define BOOST_PP_INC_167 168 -# define BOOST_PP_INC_168 169 -# define BOOST_PP_INC_169 170 -# define BOOST_PP_INC_170 171 -# define BOOST_PP_INC_171 172 -# define BOOST_PP_INC_172 173 -# define BOOST_PP_INC_173 174 -# define BOOST_PP_INC_174 175 -# define BOOST_PP_INC_175 176 -# define BOOST_PP_INC_176 177 -# define BOOST_PP_INC_177 178 -# define BOOST_PP_INC_178 179 -# define BOOST_PP_INC_179 180 -# define BOOST_PP_INC_180 181 -# define BOOST_PP_INC_181 182 -# define BOOST_PP_INC_182 183 -# define BOOST_PP_INC_183 184 -# define BOOST_PP_INC_184 185 -# define BOOST_PP_INC_185 186 -# define BOOST_PP_INC_186 187 -# define BOOST_PP_INC_187 188 -# define BOOST_PP_INC_188 189 -# define BOOST_PP_INC_189 190 -# define BOOST_PP_INC_190 191 -# define BOOST_PP_INC_191 192 -# define BOOST_PP_INC_192 193 -# define BOOST_PP_INC_193 194 -# define BOOST_PP_INC_194 195 -# define BOOST_PP_INC_195 196 -# define BOOST_PP_INC_196 197 -# define BOOST_PP_INC_197 198 -# define BOOST_PP_INC_198 199 -# define BOOST_PP_INC_199 200 -# define BOOST_PP_INC_200 201 -# define BOOST_PP_INC_201 202 -# define BOOST_PP_INC_202 203 -# define BOOST_PP_INC_203 204 -# define BOOST_PP_INC_204 205 -# define BOOST_PP_INC_205 206 -# define BOOST_PP_INC_206 207 -# define BOOST_PP_INC_207 208 -# define BOOST_PP_INC_208 209 -# define BOOST_PP_INC_209 210 -# define BOOST_PP_INC_210 211 -# define BOOST_PP_INC_211 212 -# define BOOST_PP_INC_212 213 -# define BOOST_PP_INC_213 214 -# define BOOST_PP_INC_214 215 -# define BOOST_PP_INC_215 216 -# define BOOST_PP_INC_216 217 -# define BOOST_PP_INC_217 218 -# define BOOST_PP_INC_218 219 -# define BOOST_PP_INC_219 220 -# define BOOST_PP_INC_220 221 -# define BOOST_PP_INC_221 222 -# define BOOST_PP_INC_222 223 -# define BOOST_PP_INC_223 224 -# define BOOST_PP_INC_224 225 -# define BOOST_PP_INC_225 226 -# define BOOST_PP_INC_226 227 -# define BOOST_PP_INC_227 228 -# define BOOST_PP_INC_228 229 -# define BOOST_PP_INC_229 230 -# define BOOST_PP_INC_230 231 -# define BOOST_PP_INC_231 232 -# define BOOST_PP_INC_232 233 -# define BOOST_PP_INC_233 234 -# define BOOST_PP_INC_234 235 -# define BOOST_PP_INC_235 236 -# define BOOST_PP_INC_236 237 -# define BOOST_PP_INC_237 238 -# define BOOST_PP_INC_238 239 -# define BOOST_PP_INC_239 240 -# define BOOST_PP_INC_240 241 -# define BOOST_PP_INC_241 242 -# define BOOST_PP_INC_242 243 -# define BOOST_PP_INC_243 244 -# define BOOST_PP_INC_244 245 -# define BOOST_PP_INC_245 246 -# define BOOST_PP_INC_246 247 -# define BOOST_PP_INC_247 248 -# define BOOST_PP_INC_248 249 -# define BOOST_PP_INC_249 250 -# define BOOST_PP_INC_250 251 -# define BOOST_PP_INC_251 252 -# define BOOST_PP_INC_252 253 -# define BOOST_PP_INC_253 254 -# define BOOST_PP_INC_254 255 -# define BOOST_PP_INC_255 256 -# define BOOST_PP_INC_256 256 -# -# else -# -# /* BOOST_PP_INC */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_INC(x) BOOST_PP_INC_I(x) -# else -# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x)) -# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par -# endif -# -# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x -# -# include -# -# if BOOST_PP_LIMIT_MAG == 256 -# include -# elif BOOST_PP_LIMIT_MAG == 512 -# include -# include -# elif BOOST_PP_LIMIT_MAG == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_MAG limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/sub.hpp b/external/include/boost_1_75/boost/preprocessor/arithmetic/sub.hpp deleted file mode 100644 index 411a1ac440..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/sub.hpp +++ /dev/null @@ -1,100 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# -# /* BOOST_PP_SUB */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# else -# define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y) -# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# endif -# -# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy -# else -# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) -# endif -# -# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y)) -# -# /* BOOST_PP_SUB_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# else -# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y) -# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# endif -# -# else -# -# include -# include -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_SUB */ -# -# define BOOST_PP_SUB(x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(0,2),BOOST_PP_SUB_DO)(x,y) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_SUB_DO(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# else -# define BOOST_PP_SUB_DO(x, y) BOOST_PP_SUB_I(x, y) -# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# endif -# -# define BOOST_PP_SUB_P(d, xy) BOOST_PP_AND(BOOST_PP_TUPLE_ELEM(2, 1, xy),BOOST_PP_TUPLE_ELEM(2, 0, xy)) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy -# else -# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) -# endif -# -# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y)) -# -# /* BOOST_PP_SUB_D */ -# -# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(0,3),BOOST_PP_SUB_DO_D)(d,x,y) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_SUB_DO_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# else -# define BOOST_PP_SUB_DO_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y) -# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/array/elem.hpp b/external/include/boost_1_75/boost/preprocessor/array/elem.hpp deleted file mode 100644 index 105ba24e31..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/array/elem.hpp +++ /dev/null @@ -1,29 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP -# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_ARRAY_ELEM */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) -# else -# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array) -# define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/array/size.hpp b/external/include/boost_1_75/boost/preprocessor/array/size.hpp deleted file mode 100644 index 3f370ee41b..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/array/size.hpp +++ /dev/null @@ -1,28 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP -# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP -# -# include -# include -# -# /* BOOST_PP_ARRAY_SIZE */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array) -# else -# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array) -# define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array -# define BOOST_PP_ARRAY_SIZE_II(size, data) size -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/comma_if.hpp b/external/include/boost_1_75/boost/preprocessor/comma_if.hpp deleted file mode 100644 index 9ceb079555..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/comma_if.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP -# define BOOST_PREPROCESSOR_COMMA_IF_HPP -# -# include -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/config/config.hpp b/external/include/boost_1_75/boost/preprocessor/config/config.hpp deleted file mode 100644 index 1fc29ac509..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/config/config.hpp +++ /dev/null @@ -1,98 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002-2011. * -# * (C) Copyright Edward Diener 2011-2020. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP -# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP -# -# /* BOOST_PP_CONFIG_FLAGS */ -# -# define BOOST_PP_CONFIG_STRICT() 0x0001 -# define BOOST_PP_CONFIG_IDEAL() 0x0002 -# -# define BOOST_PP_CONFIG_MSVC() 0x0004 -# define BOOST_PP_CONFIG_MWCC() 0x0008 -# define BOOST_PP_CONFIG_BCC() 0x0010 -# define BOOST_PP_CONFIG_EDG() 0x0020 -# define BOOST_PP_CONFIG_DMC() 0x0040 -# -# ifndef BOOST_PP_CONFIG_FLAGS -# if defined(__GCCXML__) || defined(__WAVE__) || defined(__MWERKS__) && __MWERKS__ >= 0x3200 -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__EDG__) || defined(__EDG_VERSION__) -# if defined(_MSC_VER) && !defined(__clang__) && (defined(__INTELLISENSE__) || __EDG_VERSION__ >= 308) -# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# endif -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT()) -# endif -# elif defined(_MSC_VER) && defined(__clang__) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__MWERKS__) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC()) -# elif defined(__DMC__) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC()) -# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581 -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC()) -# elif defined(_MSC_VER) -# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# endif -# else -# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) -# endif -# endif -# -# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */ -# -# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO -# define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0 -# endif -# -# /* BOOST_PP_CONFIG_ERRORS */ -# -# ifndef BOOST_PP_CONFIG_ERRORS -# ifdef NDEBUG -# define BOOST_PP_CONFIG_ERRORS 0 -# else -# define BOOST_PP_CONFIG_ERRORS 1 -# endif -# endif -# -# /* BOOST_PP_VARIADICS */ -# -# if defined BOOST_PP_VARIADICS -# undef BOOST_PP_VARIADICS -# endif -# if defined BOOST_PP_VARIADICS_MSVC -# undef BOOST_PP_VARIADICS_MSVC -# endif -# define BOOST_PP_VARIADICS 1 -# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || (defined __NVCC__ && defined __CUDACC__) || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) && (!defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL) -# define BOOST_PP_VARIADICS_MSVC 1 -# else -# define BOOST_PP_VARIADICS_MSVC 0 -# endif -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# define BOOST_PP_IS_STANDARD() 1 -# else -# define BOOST_PP_IS_STANDARD() 0 -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/config/limits.hpp b/external/include/boost_1_75/boost/preprocessor/config/limits.hpp deleted file mode 100644 index b5ba80e27e..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/config/limits.hpp +++ /dev/null @@ -1,163 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2011,2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP -# define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP -# -# include -# -# if defined(BOOST_PP_LIMIT_DIM) -# undef BOOST_PP_LIMIT_DIM -# endif -# if defined(BOOST_PP_LIMIT_ITERATION_DIM) -# undef BOOST_PP_LIMIT_ITERATION_DIM -# endif -# if defined(BOOST_PP_LIMIT_SLOT_SIG) -# undef BOOST_PP_LIMIT_SLOT_SIG -# endif -# if defined(BOOST_PP_LIMIT_SLOT_COUNT) -# undef BOOST_PP_LIMIT_SLOT_COUNT -# endif -# if defined(BOOST_PP_LIMIT_WHILE) -# undef BOOST_PP_LIMIT_WHILE -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# if defined(BOOST_PP_LIMIT_MAG) -# undef BOOST_PP_LIMIT_MAG -# endif -# if defined(BOOST_PP_LIMIT_VARIADIC) -# undef BOOST_PP_LIMIT_VARIADIC -# endif -# if defined(BOOST_PP_LIMIT_TUPLE) -# undef BOOST_PP_LIMIT_TUPLE -# endif -# if defined(BOOST_PP_LIMIT_FOR) -# undef BOOST_PP_LIMIT_FOR -# endif -# if defined(BOOST_PP_LIMIT_REPEAT) -# undef BOOST_PP_LIMIT_REPEAT -# endif -# if defined(BOOST_PP_LIMIT_SEQ) -# undef BOOST_PP_LIMIT_SEQ -# endif -# if defined(BOOST_PP_LIMIT_ITERATION) -# undef BOOST_PP_LIMIT_ITERATION -# endif -# -# define BOOST_PP_LIMIT_MAG 256 -# define BOOST_PP_LIMIT_WHILE 256 -# define BOOST_PP_LIMIT_VARIADIC 64 -# define BOOST_PP_LIMIT_TUPLE 64 -# define BOOST_PP_LIMIT_FOR 256 -# define BOOST_PP_LIMIT_SEQ 256 -# define BOOST_PP_LIMIT_REPEAT 256 -# define BOOST_PP_LIMIT_ITERATION 256 -# -#else -# -# if defined(BOOST_PP_LIMIT_MAG) -# if !(BOOST_PP_LIMIT_MAG == 256 || BOOST_PP_LIMIT_MAG == 512 || BOOST_PP_LIMIT_MAG == 1024) -# undef BOOST_PP_LIMIT_MAG -# define BOOST_PP_LIMIT_MAG 256 -# define BOOST_PP_LIMIT_WHILE 256 -# else -# define BOOST_PP_LIMIT_WHILE BOOST_PP_LIMIT_MAG -# if !defined(BOOST_PP_LIMIT_SEQ) -# define BOOST_PP_LIMIT_SEQ BOOST_PP_LIMIT_MAG -# endif -# endif -# else -# define BOOST_PP_LIMIT_MAG 256 -# define BOOST_PP_LIMIT_WHILE 256 -# endif -# -# if defined(BOOST_PP_LIMIT_VARIADIC) -# if !(BOOST_PP_LIMIT_VARIADIC == 64 || BOOST_PP_LIMIT_VARIADIC == 128 || BOOST_PP_LIMIT_VARIADIC == 256) -# undef BOOST_PP_LIMIT_VARIADIC -# define BOOST_PP_LIMIT_VARIADIC 64 -# endif -# else -# define BOOST_PP_LIMIT_VARIADIC 64 -# endif -# -# if defined(BOOST_PP_LIMIT_TUPLE) -# if !(BOOST_PP_LIMIT_TUPLE == 64 || BOOST_PP_LIMIT_TUPLE == 128 || BOOST_PP_LIMIT_TUPLE == 256) -# undef BOOST_PP_LIMIT_TUPLE -# define BOOST_PP_LIMIT_TUPLE 64 -# elif BOOST_PP_LIMIT_TUPLE > BOOST_PP_LIMIT_VARIADIC -# undef BOOST_PP_LIMIT_VARIADIC -# define BOOST_PP_LIMIT_VARIADIC BOOST_PP_LIMIT_TUPLE -# endif -# else -# define BOOST_PP_LIMIT_TUPLE 64 -# endif -# -# if defined(BOOST_PP_LIMIT_FOR) -# if !(BOOST_PP_LIMIT_FOR == 256 || BOOST_PP_LIMIT_FOR == 512 || BOOST_PP_LIMIT_FOR == 1024) -# undef BOOST_PP_LIMIT_FOR -# define BOOST_PP_LIMIT_FOR 256 -# elif BOOST_PP_LIMIT_FOR > BOOST_PP_LIMIT_MAG -# undef BOOST_PP_LIMIT_FOR -# define BOOST_PP_LIMIT_FOR BOOST_PP_LIMIT_MAG -# endif -# else -# define BOOST_PP_LIMIT_FOR 256 -# endif -# -# if defined(BOOST_PP_LIMIT_REPEAT) -# if !(BOOST_PP_LIMIT_REPEAT == 256 || BOOST_PP_LIMIT_REPEAT == 512 || BOOST_PP_LIMIT_REPEAT == 1024) -# undef BOOST_PP_LIMIT_REPEAT -# define BOOST_PP_LIMIT_REPEAT 256 -# elif BOOST_PP_LIMIT_REPEAT > BOOST_PP_LIMIT_MAG -# undef BOOST_PP_LIMIT_REPEAT -# define BOOST_PP_LIMIT_REPEAT BOOST_PP_LIMIT_MAG -# endif -# else -# define BOOST_PP_LIMIT_REPEAT 256 -# endif -# -# if defined(BOOST_PP_LIMIT_SEQ) -# if !(BOOST_PP_LIMIT_SEQ == 256 || BOOST_PP_LIMIT_SEQ == 512 || BOOST_PP_LIMIT_SEQ == 1024) -# undef BOOST_PP_LIMIT_SEQ -# define BOOST_PP_LIMIT_SEQ 256 -# elif BOOST_PP_LIMIT_SEQ > BOOST_PP_LIMIT_MAG -# undef BOOST_PP_LIMIT_SEQ -# define BOOST_PP_LIMIT_SEQ BOOST_PP_LIMIT_MAG -# endif -# else -# define BOOST_PP_LIMIT_SEQ 256 -# endif -# -# if defined(BOOST_PP_LIMIT_ITERATION) -# if !(BOOST_PP_LIMIT_ITERATION == 256 || BOOST_PP_LIMIT_ITERATION == 512 || BOOST_PP_LIMIT_ITERATION == 1024) -# undef BOOST_PP_LIMIT_ITERATION -# define BOOST_PP_LIMIT_ITERATION 256 -# elif BOOST_PP_LIMIT_ITERATION > BOOST_PP_LIMIT_MAG -# undef BOOST_PP_LIMIT_ITERATION -# define BOOST_PP_LIMIT_ITERATION BOOST_PP_LIMIT_MAG -# endif -# else -# define BOOST_PP_LIMIT_ITERATION 256 -# endif -# -# endif -# -# define BOOST_PP_LIMIT_DIM 3 -# define BOOST_PP_LIMIT_ITERATION_DIM 3 -# define BOOST_PP_LIMIT_SLOT_SIG 10 -# define BOOST_PP_LIMIT_SLOT_COUNT 5 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/dmc/while.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/dmc/while.hpp deleted file mode 100644 index a292847292..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/dmc/while.hpp +++ /dev/null @@ -1,535 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_DMC_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_DMC_WHILE_HPP -# -# include -# include -# include -# -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s) -# -# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s)) -# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s)) -# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s)) -# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s)) -# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s)) -# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s)) -# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s)) -# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s)) -# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s)) -# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s)) -# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s)) -# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s)) -# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s)) -# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s)) -# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s)) -# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s)) -# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s)) -# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s)) -# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s)) -# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s)) -# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s)) -# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s)) -# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s)) -# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s)) -# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s)) -# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s)) -# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s)) -# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s)) -# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s)) -# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s)) -# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s)) -# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s)) -# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s)) -# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s)) -# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s)) -# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s)) -# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s)) -# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s)) -# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s)) -# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s)) -# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s)) -# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s)) -# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s)) -# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s)) -# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s)) -# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s)) -# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s)) -# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s)) -# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s)) -# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s)) -# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s)) -# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s)) -# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s)) -# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s)) -# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s)) -# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s)) -# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s)) -# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s)) -# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s)) -# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s)) -# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s)) -# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s)) -# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s)) -# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s)) -# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s)) -# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s)) -# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s)) -# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s)) -# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s)) -# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s)) -# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s)) -# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s)) -# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s)) -# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s)) -# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s)) -# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s)) -# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s)) -# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s)) -# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s)) -# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s)) -# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s)) -# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s)) -# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s)) -# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s)) -# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s)) -# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s)) -# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s)) -# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s)) -# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s)) -# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s)) -# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s)) -# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s)) -# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s)) -# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s)) -# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s)) -# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s)) -# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s)) -# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s)) -# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s)) -# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s)) -# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s)) -# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s)) -# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s)) -# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s)) -# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s)) -# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s)) -# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s)) -# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s)) -# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s)) -# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s)) -# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s)) -# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s)) -# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s)) -# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s)) -# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s)) -# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s)) -# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s)) -# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s)) -# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s)) -# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s)) -# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s)) -# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s)) -# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s)) -# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s)) -# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s)) -# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s)) -# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s)) -# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s)) -# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s)) -# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s)) -# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s)) -# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s)) -# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s)) -# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s)) -# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s)) -# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s)) -# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s)) -# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s)) -# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s)) -# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s)) -# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s)) -# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s)) -# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s)) -# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s)) -# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s)) -# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s)) -# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s)) -# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s)) -# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s)) -# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s)) -# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s)) -# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s)) -# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s)) -# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s)) -# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s)) -# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s)) -# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s)) -# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s)) -# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s)) -# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s)) -# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s)) -# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s)) -# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s)) -# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s)) -# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s)) -# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s)) -# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s)) -# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s)) -# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s)) -# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s)) -# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s)) -# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s)) -# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s)) -# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s)) -# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s)) -# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s)) -# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s)) -# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s)) -# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s)) -# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s)) -# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s)) -# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s)) -# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s)) -# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s)) -# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s)) -# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s)) -# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s)) -# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s)) -# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s)) -# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s)) -# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s)) -# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s)) -# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s)) -# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s)) -# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s)) -# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s)) -# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s)) -# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s)) -# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s)) -# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s)) -# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s)) -# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s)) -# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s)) -# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s)) -# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s)) -# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s)) -# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s)) -# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s)) -# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s)) -# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s)) -# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s)) -# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s)) -# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s)) -# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s)) -# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s)) -# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s)) -# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s)) -# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s)) -# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s)) -# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s)) -# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s)) -# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s)) -# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s)) -# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s)) -# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s)) -# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s)) -# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s)) -# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s)) -# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s)) -# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s)) -# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s)) -# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s)) -# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s)) -# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s)) -# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s)) -# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s)) -# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s)) -# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s)) -# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s)) -# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s)) -# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s)) -# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s)) -# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s)) -# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s)) -# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s)) -# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s)) -# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s)) -# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s)) -# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s)) -# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s)) -# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s)) -# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s)) -# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s)) -# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s)) -# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s)) -# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_1024.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_1024.hpp deleted file mode 100644 index 6642a2ee92..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_1024.hpp +++ /dev/null @@ -1,1044 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_1024_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_1024_HPP -# -# define BOOST_PP_WHILE_513(p, o, s) BOOST_PP_WHILE_513_I(p, o, s) -# define BOOST_PP_WHILE_514(p, o, s) BOOST_PP_WHILE_514_I(p, o, s) -# define BOOST_PP_WHILE_515(p, o, s) BOOST_PP_WHILE_515_I(p, o, s) -# define BOOST_PP_WHILE_516(p, o, s) BOOST_PP_WHILE_516_I(p, o, s) -# define BOOST_PP_WHILE_517(p, o, s) BOOST_PP_WHILE_517_I(p, o, s) -# define BOOST_PP_WHILE_518(p, o, s) BOOST_PP_WHILE_518_I(p, o, s) -# define BOOST_PP_WHILE_519(p, o, s) BOOST_PP_WHILE_519_I(p, o, s) -# define BOOST_PP_WHILE_520(p, o, s) BOOST_PP_WHILE_520_I(p, o, s) -# define BOOST_PP_WHILE_521(p, o, s) BOOST_PP_WHILE_521_I(p, o, s) -# define BOOST_PP_WHILE_522(p, o, s) BOOST_PP_WHILE_522_I(p, o, s) -# define BOOST_PP_WHILE_523(p, o, s) BOOST_PP_WHILE_523_I(p, o, s) -# define BOOST_PP_WHILE_524(p, o, s) BOOST_PP_WHILE_524_I(p, o, s) -# define BOOST_PP_WHILE_525(p, o, s) BOOST_PP_WHILE_525_I(p, o, s) -# define BOOST_PP_WHILE_526(p, o, s) BOOST_PP_WHILE_526_I(p, o, s) -# define BOOST_PP_WHILE_527(p, o, s) BOOST_PP_WHILE_527_I(p, o, s) -# define BOOST_PP_WHILE_528(p, o, s) BOOST_PP_WHILE_528_I(p, o, s) -# define BOOST_PP_WHILE_529(p, o, s) BOOST_PP_WHILE_529_I(p, o, s) -# define BOOST_PP_WHILE_530(p, o, s) BOOST_PP_WHILE_530_I(p, o, s) -# define BOOST_PP_WHILE_531(p, o, s) BOOST_PP_WHILE_531_I(p, o, s) -# define BOOST_PP_WHILE_532(p, o, s) BOOST_PP_WHILE_532_I(p, o, s) -# define BOOST_PP_WHILE_533(p, o, s) BOOST_PP_WHILE_533_I(p, o, s) -# define BOOST_PP_WHILE_534(p, o, s) BOOST_PP_WHILE_534_I(p, o, s) -# define BOOST_PP_WHILE_535(p, o, s) BOOST_PP_WHILE_535_I(p, o, s) -# define BOOST_PP_WHILE_536(p, o, s) BOOST_PP_WHILE_536_I(p, o, s) -# define BOOST_PP_WHILE_537(p, o, s) BOOST_PP_WHILE_537_I(p, o, s) -# define BOOST_PP_WHILE_538(p, o, s) BOOST_PP_WHILE_538_I(p, o, s) -# define BOOST_PP_WHILE_539(p, o, s) BOOST_PP_WHILE_539_I(p, o, s) -# define BOOST_PP_WHILE_540(p, o, s) BOOST_PP_WHILE_540_I(p, o, s) -# define BOOST_PP_WHILE_541(p, o, s) BOOST_PP_WHILE_541_I(p, o, s) -# define BOOST_PP_WHILE_542(p, o, s) BOOST_PP_WHILE_542_I(p, o, s) -# define BOOST_PP_WHILE_543(p, o, s) BOOST_PP_WHILE_543_I(p, o, s) -# define BOOST_PP_WHILE_544(p, o, s) BOOST_PP_WHILE_544_I(p, o, s) -# define BOOST_PP_WHILE_545(p, o, s) BOOST_PP_WHILE_545_I(p, o, s) -# define BOOST_PP_WHILE_546(p, o, s) BOOST_PP_WHILE_546_I(p, o, s) -# define BOOST_PP_WHILE_547(p, o, s) BOOST_PP_WHILE_547_I(p, o, s) -# define BOOST_PP_WHILE_548(p, o, s) BOOST_PP_WHILE_548_I(p, o, s) -# define BOOST_PP_WHILE_549(p, o, s) BOOST_PP_WHILE_549_I(p, o, s) -# define BOOST_PP_WHILE_550(p, o, s) BOOST_PP_WHILE_550_I(p, o, s) -# define BOOST_PP_WHILE_551(p, o, s) BOOST_PP_WHILE_551_I(p, o, s) -# define BOOST_PP_WHILE_552(p, o, s) BOOST_PP_WHILE_552_I(p, o, s) -# define BOOST_PP_WHILE_553(p, o, s) BOOST_PP_WHILE_553_I(p, o, s) -# define BOOST_PP_WHILE_554(p, o, s) BOOST_PP_WHILE_554_I(p, o, s) -# define BOOST_PP_WHILE_555(p, o, s) BOOST_PP_WHILE_555_I(p, o, s) -# define BOOST_PP_WHILE_556(p, o, s) BOOST_PP_WHILE_556_I(p, o, s) -# define BOOST_PP_WHILE_557(p, o, s) BOOST_PP_WHILE_557_I(p, o, s) -# define BOOST_PP_WHILE_558(p, o, s) BOOST_PP_WHILE_558_I(p, o, s) -# define BOOST_PP_WHILE_559(p, o, s) BOOST_PP_WHILE_559_I(p, o, s) -# define BOOST_PP_WHILE_560(p, o, s) BOOST_PP_WHILE_560_I(p, o, s) -# define BOOST_PP_WHILE_561(p, o, s) BOOST_PP_WHILE_561_I(p, o, s) -# define BOOST_PP_WHILE_562(p, o, s) BOOST_PP_WHILE_562_I(p, o, s) -# define BOOST_PP_WHILE_563(p, o, s) BOOST_PP_WHILE_563_I(p, o, s) -# define BOOST_PP_WHILE_564(p, o, s) BOOST_PP_WHILE_564_I(p, o, s) -# define BOOST_PP_WHILE_565(p, o, s) BOOST_PP_WHILE_565_I(p, o, s) -# define BOOST_PP_WHILE_566(p, o, s) BOOST_PP_WHILE_566_I(p, o, s) -# define BOOST_PP_WHILE_567(p, o, s) BOOST_PP_WHILE_567_I(p, o, s) -# define BOOST_PP_WHILE_568(p, o, s) BOOST_PP_WHILE_568_I(p, o, s) -# define BOOST_PP_WHILE_569(p, o, s) BOOST_PP_WHILE_569_I(p, o, s) -# define BOOST_PP_WHILE_570(p, o, s) BOOST_PP_WHILE_570_I(p, o, s) -# define BOOST_PP_WHILE_571(p, o, s) BOOST_PP_WHILE_571_I(p, o, s) -# define BOOST_PP_WHILE_572(p, o, s) BOOST_PP_WHILE_572_I(p, o, s) -# define BOOST_PP_WHILE_573(p, o, s) BOOST_PP_WHILE_573_I(p, o, s) -# define BOOST_PP_WHILE_574(p, o, s) BOOST_PP_WHILE_574_I(p, o, s) -# define BOOST_PP_WHILE_575(p, o, s) BOOST_PP_WHILE_575_I(p, o, s) -# define BOOST_PP_WHILE_576(p, o, s) BOOST_PP_WHILE_576_I(p, o, s) -# define BOOST_PP_WHILE_577(p, o, s) BOOST_PP_WHILE_577_I(p, o, s) -# define BOOST_PP_WHILE_578(p, o, s) BOOST_PP_WHILE_578_I(p, o, s) -# define BOOST_PP_WHILE_579(p, o, s) BOOST_PP_WHILE_579_I(p, o, s) -# define BOOST_PP_WHILE_580(p, o, s) BOOST_PP_WHILE_580_I(p, o, s) -# define BOOST_PP_WHILE_581(p, o, s) BOOST_PP_WHILE_581_I(p, o, s) -# define BOOST_PP_WHILE_582(p, o, s) BOOST_PP_WHILE_582_I(p, o, s) -# define BOOST_PP_WHILE_583(p, o, s) BOOST_PP_WHILE_583_I(p, o, s) -# define BOOST_PP_WHILE_584(p, o, s) BOOST_PP_WHILE_584_I(p, o, s) -# define BOOST_PP_WHILE_585(p, o, s) BOOST_PP_WHILE_585_I(p, o, s) -# define BOOST_PP_WHILE_586(p, o, s) BOOST_PP_WHILE_586_I(p, o, s) -# define BOOST_PP_WHILE_587(p, o, s) BOOST_PP_WHILE_587_I(p, o, s) -# define BOOST_PP_WHILE_588(p, o, s) BOOST_PP_WHILE_588_I(p, o, s) -# define BOOST_PP_WHILE_589(p, o, s) BOOST_PP_WHILE_589_I(p, o, s) -# define BOOST_PP_WHILE_590(p, o, s) BOOST_PP_WHILE_590_I(p, o, s) -# define BOOST_PP_WHILE_591(p, o, s) BOOST_PP_WHILE_591_I(p, o, s) -# define BOOST_PP_WHILE_592(p, o, s) BOOST_PP_WHILE_592_I(p, o, s) -# define BOOST_PP_WHILE_593(p, o, s) BOOST_PP_WHILE_593_I(p, o, s) -# define BOOST_PP_WHILE_594(p, o, s) BOOST_PP_WHILE_594_I(p, o, s) -# define BOOST_PP_WHILE_595(p, o, s) BOOST_PP_WHILE_595_I(p, o, s) -# define BOOST_PP_WHILE_596(p, o, s) BOOST_PP_WHILE_596_I(p, o, s) -# define BOOST_PP_WHILE_597(p, o, s) BOOST_PP_WHILE_597_I(p, o, s) -# define BOOST_PP_WHILE_598(p, o, s) BOOST_PP_WHILE_598_I(p, o, s) -# define BOOST_PP_WHILE_599(p, o, s) BOOST_PP_WHILE_599_I(p, o, s) -# define BOOST_PP_WHILE_600(p, o, s) BOOST_PP_WHILE_600_I(p, o, s) -# define BOOST_PP_WHILE_601(p, o, s) BOOST_PP_WHILE_601_I(p, o, s) -# define BOOST_PP_WHILE_602(p, o, s) BOOST_PP_WHILE_602_I(p, o, s) -# define BOOST_PP_WHILE_603(p, o, s) BOOST_PP_WHILE_603_I(p, o, s) -# define BOOST_PP_WHILE_604(p, o, s) BOOST_PP_WHILE_604_I(p, o, s) -# define BOOST_PP_WHILE_605(p, o, s) BOOST_PP_WHILE_605_I(p, o, s) -# define BOOST_PP_WHILE_606(p, o, s) BOOST_PP_WHILE_606_I(p, o, s) -# define BOOST_PP_WHILE_607(p, o, s) BOOST_PP_WHILE_607_I(p, o, s) -# define BOOST_PP_WHILE_608(p, o, s) BOOST_PP_WHILE_608_I(p, o, s) -# define BOOST_PP_WHILE_609(p, o, s) BOOST_PP_WHILE_609_I(p, o, s) -# define BOOST_PP_WHILE_610(p, o, s) BOOST_PP_WHILE_610_I(p, o, s) -# define BOOST_PP_WHILE_611(p, o, s) BOOST_PP_WHILE_611_I(p, o, s) -# define BOOST_PP_WHILE_612(p, o, s) BOOST_PP_WHILE_612_I(p, o, s) -# define BOOST_PP_WHILE_613(p, o, s) BOOST_PP_WHILE_613_I(p, o, s) -# define BOOST_PP_WHILE_614(p, o, s) BOOST_PP_WHILE_614_I(p, o, s) -# define BOOST_PP_WHILE_615(p, o, s) BOOST_PP_WHILE_615_I(p, o, s) -# define BOOST_PP_WHILE_616(p, o, s) BOOST_PP_WHILE_616_I(p, o, s) -# define BOOST_PP_WHILE_617(p, o, s) BOOST_PP_WHILE_617_I(p, o, s) -# define BOOST_PP_WHILE_618(p, o, s) BOOST_PP_WHILE_618_I(p, o, s) -# define BOOST_PP_WHILE_619(p, o, s) BOOST_PP_WHILE_619_I(p, o, s) -# define BOOST_PP_WHILE_620(p, o, s) BOOST_PP_WHILE_620_I(p, o, s) -# define BOOST_PP_WHILE_621(p, o, s) BOOST_PP_WHILE_621_I(p, o, s) -# define BOOST_PP_WHILE_622(p, o, s) BOOST_PP_WHILE_622_I(p, o, s) -# define BOOST_PP_WHILE_623(p, o, s) BOOST_PP_WHILE_623_I(p, o, s) -# define BOOST_PP_WHILE_624(p, o, s) BOOST_PP_WHILE_624_I(p, o, s) -# define BOOST_PP_WHILE_625(p, o, s) BOOST_PP_WHILE_625_I(p, o, s) -# define BOOST_PP_WHILE_626(p, o, s) BOOST_PP_WHILE_626_I(p, o, s) -# define BOOST_PP_WHILE_627(p, o, s) BOOST_PP_WHILE_627_I(p, o, s) -# define BOOST_PP_WHILE_628(p, o, s) BOOST_PP_WHILE_628_I(p, o, s) -# define BOOST_PP_WHILE_629(p, o, s) BOOST_PP_WHILE_629_I(p, o, s) -# define BOOST_PP_WHILE_630(p, o, s) BOOST_PP_WHILE_630_I(p, o, s) -# define BOOST_PP_WHILE_631(p, o, s) BOOST_PP_WHILE_631_I(p, o, s) -# define BOOST_PP_WHILE_632(p, o, s) BOOST_PP_WHILE_632_I(p, o, s) -# define BOOST_PP_WHILE_633(p, o, s) BOOST_PP_WHILE_633_I(p, o, s) -# define BOOST_PP_WHILE_634(p, o, s) BOOST_PP_WHILE_634_I(p, o, s) -# define BOOST_PP_WHILE_635(p, o, s) BOOST_PP_WHILE_635_I(p, o, s) -# define BOOST_PP_WHILE_636(p, o, s) BOOST_PP_WHILE_636_I(p, o, s) -# define BOOST_PP_WHILE_637(p, o, s) BOOST_PP_WHILE_637_I(p, o, s) -# define BOOST_PP_WHILE_638(p, o, s) BOOST_PP_WHILE_638_I(p, o, s) -# define BOOST_PP_WHILE_639(p, o, s) BOOST_PP_WHILE_639_I(p, o, s) -# define BOOST_PP_WHILE_640(p, o, s) BOOST_PP_WHILE_640_I(p, o, s) -# define BOOST_PP_WHILE_641(p, o, s) BOOST_PP_WHILE_641_I(p, o, s) -# define BOOST_PP_WHILE_642(p, o, s) BOOST_PP_WHILE_642_I(p, o, s) -# define BOOST_PP_WHILE_643(p, o, s) BOOST_PP_WHILE_643_I(p, o, s) -# define BOOST_PP_WHILE_644(p, o, s) BOOST_PP_WHILE_644_I(p, o, s) -# define BOOST_PP_WHILE_645(p, o, s) BOOST_PP_WHILE_645_I(p, o, s) -# define BOOST_PP_WHILE_646(p, o, s) BOOST_PP_WHILE_646_I(p, o, s) -# define BOOST_PP_WHILE_647(p, o, s) BOOST_PP_WHILE_647_I(p, o, s) -# define BOOST_PP_WHILE_648(p, o, s) BOOST_PP_WHILE_648_I(p, o, s) -# define BOOST_PP_WHILE_649(p, o, s) BOOST_PP_WHILE_649_I(p, o, s) -# define BOOST_PP_WHILE_650(p, o, s) BOOST_PP_WHILE_650_I(p, o, s) -# define BOOST_PP_WHILE_651(p, o, s) BOOST_PP_WHILE_651_I(p, o, s) -# define BOOST_PP_WHILE_652(p, o, s) BOOST_PP_WHILE_652_I(p, o, s) -# define BOOST_PP_WHILE_653(p, o, s) BOOST_PP_WHILE_653_I(p, o, s) -# define BOOST_PP_WHILE_654(p, o, s) BOOST_PP_WHILE_654_I(p, o, s) -# define BOOST_PP_WHILE_655(p, o, s) BOOST_PP_WHILE_655_I(p, o, s) -# define BOOST_PP_WHILE_656(p, o, s) BOOST_PP_WHILE_656_I(p, o, s) -# define BOOST_PP_WHILE_657(p, o, s) BOOST_PP_WHILE_657_I(p, o, s) -# define BOOST_PP_WHILE_658(p, o, s) BOOST_PP_WHILE_658_I(p, o, s) -# define BOOST_PP_WHILE_659(p, o, s) BOOST_PP_WHILE_659_I(p, o, s) -# define BOOST_PP_WHILE_660(p, o, s) BOOST_PP_WHILE_660_I(p, o, s) -# define BOOST_PP_WHILE_661(p, o, s) BOOST_PP_WHILE_661_I(p, o, s) -# define BOOST_PP_WHILE_662(p, o, s) BOOST_PP_WHILE_662_I(p, o, s) -# define BOOST_PP_WHILE_663(p, o, s) BOOST_PP_WHILE_663_I(p, o, s) -# define BOOST_PP_WHILE_664(p, o, s) BOOST_PP_WHILE_664_I(p, o, s) -# define BOOST_PP_WHILE_665(p, o, s) BOOST_PP_WHILE_665_I(p, o, s) -# define BOOST_PP_WHILE_666(p, o, s) BOOST_PP_WHILE_666_I(p, o, s) -# define BOOST_PP_WHILE_667(p, o, s) BOOST_PP_WHILE_667_I(p, o, s) -# define BOOST_PP_WHILE_668(p, o, s) BOOST_PP_WHILE_668_I(p, o, s) -# define BOOST_PP_WHILE_669(p, o, s) BOOST_PP_WHILE_669_I(p, o, s) -# define BOOST_PP_WHILE_670(p, o, s) BOOST_PP_WHILE_670_I(p, o, s) -# define BOOST_PP_WHILE_671(p, o, s) BOOST_PP_WHILE_671_I(p, o, s) -# define BOOST_PP_WHILE_672(p, o, s) BOOST_PP_WHILE_672_I(p, o, s) -# define BOOST_PP_WHILE_673(p, o, s) BOOST_PP_WHILE_673_I(p, o, s) -# define BOOST_PP_WHILE_674(p, o, s) BOOST_PP_WHILE_674_I(p, o, s) -# define BOOST_PP_WHILE_675(p, o, s) BOOST_PP_WHILE_675_I(p, o, s) -# define BOOST_PP_WHILE_676(p, o, s) BOOST_PP_WHILE_676_I(p, o, s) -# define BOOST_PP_WHILE_677(p, o, s) BOOST_PP_WHILE_677_I(p, o, s) -# define BOOST_PP_WHILE_678(p, o, s) BOOST_PP_WHILE_678_I(p, o, s) -# define BOOST_PP_WHILE_679(p, o, s) BOOST_PP_WHILE_679_I(p, o, s) -# define BOOST_PP_WHILE_680(p, o, s) BOOST_PP_WHILE_680_I(p, o, s) -# define BOOST_PP_WHILE_681(p, o, s) BOOST_PP_WHILE_681_I(p, o, s) -# define BOOST_PP_WHILE_682(p, o, s) BOOST_PP_WHILE_682_I(p, o, s) -# define BOOST_PP_WHILE_683(p, o, s) BOOST_PP_WHILE_683_I(p, o, s) -# define BOOST_PP_WHILE_684(p, o, s) BOOST_PP_WHILE_684_I(p, o, s) -# define BOOST_PP_WHILE_685(p, o, s) BOOST_PP_WHILE_685_I(p, o, s) -# define BOOST_PP_WHILE_686(p, o, s) BOOST_PP_WHILE_686_I(p, o, s) -# define BOOST_PP_WHILE_687(p, o, s) BOOST_PP_WHILE_687_I(p, o, s) -# define BOOST_PP_WHILE_688(p, o, s) BOOST_PP_WHILE_688_I(p, o, s) -# define BOOST_PP_WHILE_689(p, o, s) BOOST_PP_WHILE_689_I(p, o, s) -# define BOOST_PP_WHILE_690(p, o, s) BOOST_PP_WHILE_690_I(p, o, s) -# define BOOST_PP_WHILE_691(p, o, s) BOOST_PP_WHILE_691_I(p, o, s) -# define BOOST_PP_WHILE_692(p, o, s) BOOST_PP_WHILE_692_I(p, o, s) -# define BOOST_PP_WHILE_693(p, o, s) BOOST_PP_WHILE_693_I(p, o, s) -# define BOOST_PP_WHILE_694(p, o, s) BOOST_PP_WHILE_694_I(p, o, s) -# define BOOST_PP_WHILE_695(p, o, s) BOOST_PP_WHILE_695_I(p, o, s) -# define BOOST_PP_WHILE_696(p, o, s) BOOST_PP_WHILE_696_I(p, o, s) -# define BOOST_PP_WHILE_697(p, o, s) BOOST_PP_WHILE_697_I(p, o, s) -# define BOOST_PP_WHILE_698(p, o, s) BOOST_PP_WHILE_698_I(p, o, s) -# define BOOST_PP_WHILE_699(p, o, s) BOOST_PP_WHILE_699_I(p, o, s) -# define BOOST_PP_WHILE_700(p, o, s) BOOST_PP_WHILE_700_I(p, o, s) -# define BOOST_PP_WHILE_701(p, o, s) BOOST_PP_WHILE_701_I(p, o, s) -# define BOOST_PP_WHILE_702(p, o, s) BOOST_PP_WHILE_702_I(p, o, s) -# define BOOST_PP_WHILE_703(p, o, s) BOOST_PP_WHILE_703_I(p, o, s) -# define BOOST_PP_WHILE_704(p, o, s) BOOST_PP_WHILE_704_I(p, o, s) -# define BOOST_PP_WHILE_705(p, o, s) BOOST_PP_WHILE_705_I(p, o, s) -# define BOOST_PP_WHILE_706(p, o, s) BOOST_PP_WHILE_706_I(p, o, s) -# define BOOST_PP_WHILE_707(p, o, s) BOOST_PP_WHILE_707_I(p, o, s) -# define BOOST_PP_WHILE_708(p, o, s) BOOST_PP_WHILE_708_I(p, o, s) -# define BOOST_PP_WHILE_709(p, o, s) BOOST_PP_WHILE_709_I(p, o, s) -# define BOOST_PP_WHILE_710(p, o, s) BOOST_PP_WHILE_710_I(p, o, s) -# define BOOST_PP_WHILE_711(p, o, s) BOOST_PP_WHILE_711_I(p, o, s) -# define BOOST_PP_WHILE_712(p, o, s) BOOST_PP_WHILE_712_I(p, o, s) -# define BOOST_PP_WHILE_713(p, o, s) BOOST_PP_WHILE_713_I(p, o, s) -# define BOOST_PP_WHILE_714(p, o, s) BOOST_PP_WHILE_714_I(p, o, s) -# define BOOST_PP_WHILE_715(p, o, s) BOOST_PP_WHILE_715_I(p, o, s) -# define BOOST_PP_WHILE_716(p, o, s) BOOST_PP_WHILE_716_I(p, o, s) -# define BOOST_PP_WHILE_717(p, o, s) BOOST_PP_WHILE_717_I(p, o, s) -# define BOOST_PP_WHILE_718(p, o, s) BOOST_PP_WHILE_718_I(p, o, s) -# define BOOST_PP_WHILE_719(p, o, s) BOOST_PP_WHILE_719_I(p, o, s) -# define BOOST_PP_WHILE_720(p, o, s) BOOST_PP_WHILE_720_I(p, o, s) -# define BOOST_PP_WHILE_721(p, o, s) BOOST_PP_WHILE_721_I(p, o, s) -# define BOOST_PP_WHILE_722(p, o, s) BOOST_PP_WHILE_722_I(p, o, s) -# define BOOST_PP_WHILE_723(p, o, s) BOOST_PP_WHILE_723_I(p, o, s) -# define BOOST_PP_WHILE_724(p, o, s) BOOST_PP_WHILE_724_I(p, o, s) -# define BOOST_PP_WHILE_725(p, o, s) BOOST_PP_WHILE_725_I(p, o, s) -# define BOOST_PP_WHILE_726(p, o, s) BOOST_PP_WHILE_726_I(p, o, s) -# define BOOST_PP_WHILE_727(p, o, s) BOOST_PP_WHILE_727_I(p, o, s) -# define BOOST_PP_WHILE_728(p, o, s) BOOST_PP_WHILE_728_I(p, o, s) -# define BOOST_PP_WHILE_729(p, o, s) BOOST_PP_WHILE_729_I(p, o, s) -# define BOOST_PP_WHILE_730(p, o, s) BOOST_PP_WHILE_730_I(p, o, s) -# define BOOST_PP_WHILE_731(p, o, s) BOOST_PP_WHILE_731_I(p, o, s) -# define BOOST_PP_WHILE_732(p, o, s) BOOST_PP_WHILE_732_I(p, o, s) -# define BOOST_PP_WHILE_733(p, o, s) BOOST_PP_WHILE_733_I(p, o, s) -# define BOOST_PP_WHILE_734(p, o, s) BOOST_PP_WHILE_734_I(p, o, s) -# define BOOST_PP_WHILE_735(p, o, s) BOOST_PP_WHILE_735_I(p, o, s) -# define BOOST_PP_WHILE_736(p, o, s) BOOST_PP_WHILE_736_I(p, o, s) -# define BOOST_PP_WHILE_737(p, o, s) BOOST_PP_WHILE_737_I(p, o, s) -# define BOOST_PP_WHILE_738(p, o, s) BOOST_PP_WHILE_738_I(p, o, s) -# define BOOST_PP_WHILE_739(p, o, s) BOOST_PP_WHILE_739_I(p, o, s) -# define BOOST_PP_WHILE_740(p, o, s) BOOST_PP_WHILE_740_I(p, o, s) -# define BOOST_PP_WHILE_741(p, o, s) BOOST_PP_WHILE_741_I(p, o, s) -# define BOOST_PP_WHILE_742(p, o, s) BOOST_PP_WHILE_742_I(p, o, s) -# define BOOST_PP_WHILE_743(p, o, s) BOOST_PP_WHILE_743_I(p, o, s) -# define BOOST_PP_WHILE_744(p, o, s) BOOST_PP_WHILE_744_I(p, o, s) -# define BOOST_PP_WHILE_745(p, o, s) BOOST_PP_WHILE_745_I(p, o, s) -# define BOOST_PP_WHILE_746(p, o, s) BOOST_PP_WHILE_746_I(p, o, s) -# define BOOST_PP_WHILE_747(p, o, s) BOOST_PP_WHILE_747_I(p, o, s) -# define BOOST_PP_WHILE_748(p, o, s) BOOST_PP_WHILE_748_I(p, o, s) -# define BOOST_PP_WHILE_749(p, o, s) BOOST_PP_WHILE_749_I(p, o, s) -# define BOOST_PP_WHILE_750(p, o, s) BOOST_PP_WHILE_750_I(p, o, s) -# define BOOST_PP_WHILE_751(p, o, s) BOOST_PP_WHILE_751_I(p, o, s) -# define BOOST_PP_WHILE_752(p, o, s) BOOST_PP_WHILE_752_I(p, o, s) -# define BOOST_PP_WHILE_753(p, o, s) BOOST_PP_WHILE_753_I(p, o, s) -# define BOOST_PP_WHILE_754(p, o, s) BOOST_PP_WHILE_754_I(p, o, s) -# define BOOST_PP_WHILE_755(p, o, s) BOOST_PP_WHILE_755_I(p, o, s) -# define BOOST_PP_WHILE_756(p, o, s) BOOST_PP_WHILE_756_I(p, o, s) -# define BOOST_PP_WHILE_757(p, o, s) BOOST_PP_WHILE_757_I(p, o, s) -# define BOOST_PP_WHILE_758(p, o, s) BOOST_PP_WHILE_758_I(p, o, s) -# define BOOST_PP_WHILE_759(p, o, s) BOOST_PP_WHILE_759_I(p, o, s) -# define BOOST_PP_WHILE_760(p, o, s) BOOST_PP_WHILE_760_I(p, o, s) -# define BOOST_PP_WHILE_761(p, o, s) BOOST_PP_WHILE_761_I(p, o, s) -# define BOOST_PP_WHILE_762(p, o, s) BOOST_PP_WHILE_762_I(p, o, s) -# define BOOST_PP_WHILE_763(p, o, s) BOOST_PP_WHILE_763_I(p, o, s) -# define BOOST_PP_WHILE_764(p, o, s) BOOST_PP_WHILE_764_I(p, o, s) -# define BOOST_PP_WHILE_765(p, o, s) BOOST_PP_WHILE_765_I(p, o, s) -# define BOOST_PP_WHILE_766(p, o, s) BOOST_PP_WHILE_766_I(p, o, s) -# define BOOST_PP_WHILE_767(p, o, s) BOOST_PP_WHILE_767_I(p, o, s) -# define BOOST_PP_WHILE_768(p, o, s) BOOST_PP_WHILE_768_I(p, o, s) -# define BOOST_PP_WHILE_769(p, o, s) BOOST_PP_WHILE_769_I(p, o, s) -# define BOOST_PP_WHILE_770(p, o, s) BOOST_PP_WHILE_770_I(p, o, s) -# define BOOST_PP_WHILE_771(p, o, s) BOOST_PP_WHILE_771_I(p, o, s) -# define BOOST_PP_WHILE_772(p, o, s) BOOST_PP_WHILE_772_I(p, o, s) -# define BOOST_PP_WHILE_773(p, o, s) BOOST_PP_WHILE_773_I(p, o, s) -# define BOOST_PP_WHILE_774(p, o, s) BOOST_PP_WHILE_774_I(p, o, s) -# define BOOST_PP_WHILE_775(p, o, s) BOOST_PP_WHILE_775_I(p, o, s) -# define BOOST_PP_WHILE_776(p, o, s) BOOST_PP_WHILE_776_I(p, o, s) -# define BOOST_PP_WHILE_777(p, o, s) BOOST_PP_WHILE_777_I(p, o, s) -# define BOOST_PP_WHILE_778(p, o, s) BOOST_PP_WHILE_778_I(p, o, s) -# define BOOST_PP_WHILE_779(p, o, s) BOOST_PP_WHILE_779_I(p, o, s) -# define BOOST_PP_WHILE_780(p, o, s) BOOST_PP_WHILE_780_I(p, o, s) -# define BOOST_PP_WHILE_781(p, o, s) BOOST_PP_WHILE_781_I(p, o, s) -# define BOOST_PP_WHILE_782(p, o, s) BOOST_PP_WHILE_782_I(p, o, s) -# define BOOST_PP_WHILE_783(p, o, s) BOOST_PP_WHILE_783_I(p, o, s) -# define BOOST_PP_WHILE_784(p, o, s) BOOST_PP_WHILE_784_I(p, o, s) -# define BOOST_PP_WHILE_785(p, o, s) BOOST_PP_WHILE_785_I(p, o, s) -# define BOOST_PP_WHILE_786(p, o, s) BOOST_PP_WHILE_786_I(p, o, s) -# define BOOST_PP_WHILE_787(p, o, s) BOOST_PP_WHILE_787_I(p, o, s) -# define BOOST_PP_WHILE_788(p, o, s) BOOST_PP_WHILE_788_I(p, o, s) -# define BOOST_PP_WHILE_789(p, o, s) BOOST_PP_WHILE_789_I(p, o, s) -# define BOOST_PP_WHILE_790(p, o, s) BOOST_PP_WHILE_790_I(p, o, s) -# define BOOST_PP_WHILE_791(p, o, s) BOOST_PP_WHILE_791_I(p, o, s) -# define BOOST_PP_WHILE_792(p, o, s) BOOST_PP_WHILE_792_I(p, o, s) -# define BOOST_PP_WHILE_793(p, o, s) BOOST_PP_WHILE_793_I(p, o, s) -# define BOOST_PP_WHILE_794(p, o, s) BOOST_PP_WHILE_794_I(p, o, s) -# define BOOST_PP_WHILE_795(p, o, s) BOOST_PP_WHILE_795_I(p, o, s) -# define BOOST_PP_WHILE_796(p, o, s) BOOST_PP_WHILE_796_I(p, o, s) -# define BOOST_PP_WHILE_797(p, o, s) BOOST_PP_WHILE_797_I(p, o, s) -# define BOOST_PP_WHILE_798(p, o, s) BOOST_PP_WHILE_798_I(p, o, s) -# define BOOST_PP_WHILE_799(p, o, s) BOOST_PP_WHILE_799_I(p, o, s) -# define BOOST_PP_WHILE_800(p, o, s) BOOST_PP_WHILE_800_I(p, o, s) -# define BOOST_PP_WHILE_801(p, o, s) BOOST_PP_WHILE_801_I(p, o, s) -# define BOOST_PP_WHILE_802(p, o, s) BOOST_PP_WHILE_802_I(p, o, s) -# define BOOST_PP_WHILE_803(p, o, s) BOOST_PP_WHILE_803_I(p, o, s) -# define BOOST_PP_WHILE_804(p, o, s) BOOST_PP_WHILE_804_I(p, o, s) -# define BOOST_PP_WHILE_805(p, o, s) BOOST_PP_WHILE_805_I(p, o, s) -# define BOOST_PP_WHILE_806(p, o, s) BOOST_PP_WHILE_806_I(p, o, s) -# define BOOST_PP_WHILE_807(p, o, s) BOOST_PP_WHILE_807_I(p, o, s) -# define BOOST_PP_WHILE_808(p, o, s) BOOST_PP_WHILE_808_I(p, o, s) -# define BOOST_PP_WHILE_809(p, o, s) BOOST_PP_WHILE_809_I(p, o, s) -# define BOOST_PP_WHILE_810(p, o, s) BOOST_PP_WHILE_810_I(p, o, s) -# define BOOST_PP_WHILE_811(p, o, s) BOOST_PP_WHILE_811_I(p, o, s) -# define BOOST_PP_WHILE_812(p, o, s) BOOST_PP_WHILE_812_I(p, o, s) -# define BOOST_PP_WHILE_813(p, o, s) BOOST_PP_WHILE_813_I(p, o, s) -# define BOOST_PP_WHILE_814(p, o, s) BOOST_PP_WHILE_814_I(p, o, s) -# define BOOST_PP_WHILE_815(p, o, s) BOOST_PP_WHILE_815_I(p, o, s) -# define BOOST_PP_WHILE_816(p, o, s) BOOST_PP_WHILE_816_I(p, o, s) -# define BOOST_PP_WHILE_817(p, o, s) BOOST_PP_WHILE_817_I(p, o, s) -# define BOOST_PP_WHILE_818(p, o, s) BOOST_PP_WHILE_818_I(p, o, s) -# define BOOST_PP_WHILE_819(p, o, s) BOOST_PP_WHILE_819_I(p, o, s) -# define BOOST_PP_WHILE_820(p, o, s) BOOST_PP_WHILE_820_I(p, o, s) -# define BOOST_PP_WHILE_821(p, o, s) BOOST_PP_WHILE_821_I(p, o, s) -# define BOOST_PP_WHILE_822(p, o, s) BOOST_PP_WHILE_822_I(p, o, s) -# define BOOST_PP_WHILE_823(p, o, s) BOOST_PP_WHILE_823_I(p, o, s) -# define BOOST_PP_WHILE_824(p, o, s) BOOST_PP_WHILE_824_I(p, o, s) -# define BOOST_PP_WHILE_825(p, o, s) BOOST_PP_WHILE_825_I(p, o, s) -# define BOOST_PP_WHILE_826(p, o, s) BOOST_PP_WHILE_826_I(p, o, s) -# define BOOST_PP_WHILE_827(p, o, s) BOOST_PP_WHILE_827_I(p, o, s) -# define BOOST_PP_WHILE_828(p, o, s) BOOST_PP_WHILE_828_I(p, o, s) -# define BOOST_PP_WHILE_829(p, o, s) BOOST_PP_WHILE_829_I(p, o, s) -# define BOOST_PP_WHILE_830(p, o, s) BOOST_PP_WHILE_830_I(p, o, s) -# define BOOST_PP_WHILE_831(p, o, s) BOOST_PP_WHILE_831_I(p, o, s) -# define BOOST_PP_WHILE_832(p, o, s) BOOST_PP_WHILE_832_I(p, o, s) -# define BOOST_PP_WHILE_833(p, o, s) BOOST_PP_WHILE_833_I(p, o, s) -# define BOOST_PP_WHILE_834(p, o, s) BOOST_PP_WHILE_834_I(p, o, s) -# define BOOST_PP_WHILE_835(p, o, s) BOOST_PP_WHILE_835_I(p, o, s) -# define BOOST_PP_WHILE_836(p, o, s) BOOST_PP_WHILE_836_I(p, o, s) -# define BOOST_PP_WHILE_837(p, o, s) BOOST_PP_WHILE_837_I(p, o, s) -# define BOOST_PP_WHILE_838(p, o, s) BOOST_PP_WHILE_838_I(p, o, s) -# define BOOST_PP_WHILE_839(p, o, s) BOOST_PP_WHILE_839_I(p, o, s) -# define BOOST_PP_WHILE_840(p, o, s) BOOST_PP_WHILE_840_I(p, o, s) -# define BOOST_PP_WHILE_841(p, o, s) BOOST_PP_WHILE_841_I(p, o, s) -# define BOOST_PP_WHILE_842(p, o, s) BOOST_PP_WHILE_842_I(p, o, s) -# define BOOST_PP_WHILE_843(p, o, s) BOOST_PP_WHILE_843_I(p, o, s) -# define BOOST_PP_WHILE_844(p, o, s) BOOST_PP_WHILE_844_I(p, o, s) -# define BOOST_PP_WHILE_845(p, o, s) BOOST_PP_WHILE_845_I(p, o, s) -# define BOOST_PP_WHILE_846(p, o, s) BOOST_PP_WHILE_846_I(p, o, s) -# define BOOST_PP_WHILE_847(p, o, s) BOOST_PP_WHILE_847_I(p, o, s) -# define BOOST_PP_WHILE_848(p, o, s) BOOST_PP_WHILE_848_I(p, o, s) -# define BOOST_PP_WHILE_849(p, o, s) BOOST_PP_WHILE_849_I(p, o, s) -# define BOOST_PP_WHILE_850(p, o, s) BOOST_PP_WHILE_850_I(p, o, s) -# define BOOST_PP_WHILE_851(p, o, s) BOOST_PP_WHILE_851_I(p, o, s) -# define BOOST_PP_WHILE_852(p, o, s) BOOST_PP_WHILE_852_I(p, o, s) -# define BOOST_PP_WHILE_853(p, o, s) BOOST_PP_WHILE_853_I(p, o, s) -# define BOOST_PP_WHILE_854(p, o, s) BOOST_PP_WHILE_854_I(p, o, s) -# define BOOST_PP_WHILE_855(p, o, s) BOOST_PP_WHILE_855_I(p, o, s) -# define BOOST_PP_WHILE_856(p, o, s) BOOST_PP_WHILE_856_I(p, o, s) -# define BOOST_PP_WHILE_857(p, o, s) BOOST_PP_WHILE_857_I(p, o, s) -# define BOOST_PP_WHILE_858(p, o, s) BOOST_PP_WHILE_858_I(p, o, s) -# define BOOST_PP_WHILE_859(p, o, s) BOOST_PP_WHILE_859_I(p, o, s) -# define BOOST_PP_WHILE_860(p, o, s) BOOST_PP_WHILE_860_I(p, o, s) -# define BOOST_PP_WHILE_861(p, o, s) BOOST_PP_WHILE_861_I(p, o, s) -# define BOOST_PP_WHILE_862(p, o, s) BOOST_PP_WHILE_862_I(p, o, s) -# define BOOST_PP_WHILE_863(p, o, s) BOOST_PP_WHILE_863_I(p, o, s) -# define BOOST_PP_WHILE_864(p, o, s) BOOST_PP_WHILE_864_I(p, o, s) -# define BOOST_PP_WHILE_865(p, o, s) BOOST_PP_WHILE_865_I(p, o, s) -# define BOOST_PP_WHILE_866(p, o, s) BOOST_PP_WHILE_866_I(p, o, s) -# define BOOST_PP_WHILE_867(p, o, s) BOOST_PP_WHILE_867_I(p, o, s) -# define BOOST_PP_WHILE_868(p, o, s) BOOST_PP_WHILE_868_I(p, o, s) -# define BOOST_PP_WHILE_869(p, o, s) BOOST_PP_WHILE_869_I(p, o, s) -# define BOOST_PP_WHILE_870(p, o, s) BOOST_PP_WHILE_870_I(p, o, s) -# define BOOST_PP_WHILE_871(p, o, s) BOOST_PP_WHILE_871_I(p, o, s) -# define BOOST_PP_WHILE_872(p, o, s) BOOST_PP_WHILE_872_I(p, o, s) -# define BOOST_PP_WHILE_873(p, o, s) BOOST_PP_WHILE_873_I(p, o, s) -# define BOOST_PP_WHILE_874(p, o, s) BOOST_PP_WHILE_874_I(p, o, s) -# define BOOST_PP_WHILE_875(p, o, s) BOOST_PP_WHILE_875_I(p, o, s) -# define BOOST_PP_WHILE_876(p, o, s) BOOST_PP_WHILE_876_I(p, o, s) -# define BOOST_PP_WHILE_877(p, o, s) BOOST_PP_WHILE_877_I(p, o, s) -# define BOOST_PP_WHILE_878(p, o, s) BOOST_PP_WHILE_878_I(p, o, s) -# define BOOST_PP_WHILE_879(p, o, s) BOOST_PP_WHILE_879_I(p, o, s) -# define BOOST_PP_WHILE_880(p, o, s) BOOST_PP_WHILE_880_I(p, o, s) -# define BOOST_PP_WHILE_881(p, o, s) BOOST_PP_WHILE_881_I(p, o, s) -# define BOOST_PP_WHILE_882(p, o, s) BOOST_PP_WHILE_882_I(p, o, s) -# define BOOST_PP_WHILE_883(p, o, s) BOOST_PP_WHILE_883_I(p, o, s) -# define BOOST_PP_WHILE_884(p, o, s) BOOST_PP_WHILE_884_I(p, o, s) -# define BOOST_PP_WHILE_885(p, o, s) BOOST_PP_WHILE_885_I(p, o, s) -# define BOOST_PP_WHILE_886(p, o, s) BOOST_PP_WHILE_886_I(p, o, s) -# define BOOST_PP_WHILE_887(p, o, s) BOOST_PP_WHILE_887_I(p, o, s) -# define BOOST_PP_WHILE_888(p, o, s) BOOST_PP_WHILE_888_I(p, o, s) -# define BOOST_PP_WHILE_889(p, o, s) BOOST_PP_WHILE_889_I(p, o, s) -# define BOOST_PP_WHILE_890(p, o, s) BOOST_PP_WHILE_890_I(p, o, s) -# define BOOST_PP_WHILE_891(p, o, s) BOOST_PP_WHILE_891_I(p, o, s) -# define BOOST_PP_WHILE_892(p, o, s) BOOST_PP_WHILE_892_I(p, o, s) -# define BOOST_PP_WHILE_893(p, o, s) BOOST_PP_WHILE_893_I(p, o, s) -# define BOOST_PP_WHILE_894(p, o, s) BOOST_PP_WHILE_894_I(p, o, s) -# define BOOST_PP_WHILE_895(p, o, s) BOOST_PP_WHILE_895_I(p, o, s) -# define BOOST_PP_WHILE_896(p, o, s) BOOST_PP_WHILE_896_I(p, o, s) -# define BOOST_PP_WHILE_897(p, o, s) BOOST_PP_WHILE_897_I(p, o, s) -# define BOOST_PP_WHILE_898(p, o, s) BOOST_PP_WHILE_898_I(p, o, s) -# define BOOST_PP_WHILE_899(p, o, s) BOOST_PP_WHILE_899_I(p, o, s) -# define BOOST_PP_WHILE_900(p, o, s) BOOST_PP_WHILE_900_I(p, o, s) -# define BOOST_PP_WHILE_901(p, o, s) BOOST_PP_WHILE_901_I(p, o, s) -# define BOOST_PP_WHILE_902(p, o, s) BOOST_PP_WHILE_902_I(p, o, s) -# define BOOST_PP_WHILE_903(p, o, s) BOOST_PP_WHILE_903_I(p, o, s) -# define BOOST_PP_WHILE_904(p, o, s) BOOST_PP_WHILE_904_I(p, o, s) -# define BOOST_PP_WHILE_905(p, o, s) BOOST_PP_WHILE_905_I(p, o, s) -# define BOOST_PP_WHILE_906(p, o, s) BOOST_PP_WHILE_906_I(p, o, s) -# define BOOST_PP_WHILE_907(p, o, s) BOOST_PP_WHILE_907_I(p, o, s) -# define BOOST_PP_WHILE_908(p, o, s) BOOST_PP_WHILE_908_I(p, o, s) -# define BOOST_PP_WHILE_909(p, o, s) BOOST_PP_WHILE_909_I(p, o, s) -# define BOOST_PP_WHILE_910(p, o, s) BOOST_PP_WHILE_910_I(p, o, s) -# define BOOST_PP_WHILE_911(p, o, s) BOOST_PP_WHILE_911_I(p, o, s) -# define BOOST_PP_WHILE_912(p, o, s) BOOST_PP_WHILE_912_I(p, o, s) -# define BOOST_PP_WHILE_913(p, o, s) BOOST_PP_WHILE_913_I(p, o, s) -# define BOOST_PP_WHILE_914(p, o, s) BOOST_PP_WHILE_914_I(p, o, s) -# define BOOST_PP_WHILE_915(p, o, s) BOOST_PP_WHILE_915_I(p, o, s) -# define BOOST_PP_WHILE_916(p, o, s) BOOST_PP_WHILE_916_I(p, o, s) -# define BOOST_PP_WHILE_917(p, o, s) BOOST_PP_WHILE_917_I(p, o, s) -# define BOOST_PP_WHILE_918(p, o, s) BOOST_PP_WHILE_918_I(p, o, s) -# define BOOST_PP_WHILE_919(p, o, s) BOOST_PP_WHILE_919_I(p, o, s) -# define BOOST_PP_WHILE_920(p, o, s) BOOST_PP_WHILE_920_I(p, o, s) -# define BOOST_PP_WHILE_921(p, o, s) BOOST_PP_WHILE_921_I(p, o, s) -# define BOOST_PP_WHILE_922(p, o, s) BOOST_PP_WHILE_922_I(p, o, s) -# define BOOST_PP_WHILE_923(p, o, s) BOOST_PP_WHILE_923_I(p, o, s) -# define BOOST_PP_WHILE_924(p, o, s) BOOST_PP_WHILE_924_I(p, o, s) -# define BOOST_PP_WHILE_925(p, o, s) BOOST_PP_WHILE_925_I(p, o, s) -# define BOOST_PP_WHILE_926(p, o, s) BOOST_PP_WHILE_926_I(p, o, s) -# define BOOST_PP_WHILE_927(p, o, s) BOOST_PP_WHILE_927_I(p, o, s) -# define BOOST_PP_WHILE_928(p, o, s) BOOST_PP_WHILE_928_I(p, o, s) -# define BOOST_PP_WHILE_929(p, o, s) BOOST_PP_WHILE_929_I(p, o, s) -# define BOOST_PP_WHILE_930(p, o, s) BOOST_PP_WHILE_930_I(p, o, s) -# define BOOST_PP_WHILE_931(p, o, s) BOOST_PP_WHILE_931_I(p, o, s) -# define BOOST_PP_WHILE_932(p, o, s) BOOST_PP_WHILE_932_I(p, o, s) -# define BOOST_PP_WHILE_933(p, o, s) BOOST_PP_WHILE_933_I(p, o, s) -# define BOOST_PP_WHILE_934(p, o, s) BOOST_PP_WHILE_934_I(p, o, s) -# define BOOST_PP_WHILE_935(p, o, s) BOOST_PP_WHILE_935_I(p, o, s) -# define BOOST_PP_WHILE_936(p, o, s) BOOST_PP_WHILE_936_I(p, o, s) -# define BOOST_PP_WHILE_937(p, o, s) BOOST_PP_WHILE_937_I(p, o, s) -# define BOOST_PP_WHILE_938(p, o, s) BOOST_PP_WHILE_938_I(p, o, s) -# define BOOST_PP_WHILE_939(p, o, s) BOOST_PP_WHILE_939_I(p, o, s) -# define BOOST_PP_WHILE_940(p, o, s) BOOST_PP_WHILE_940_I(p, o, s) -# define BOOST_PP_WHILE_941(p, o, s) BOOST_PP_WHILE_941_I(p, o, s) -# define BOOST_PP_WHILE_942(p, o, s) BOOST_PP_WHILE_942_I(p, o, s) -# define BOOST_PP_WHILE_943(p, o, s) BOOST_PP_WHILE_943_I(p, o, s) -# define BOOST_PP_WHILE_944(p, o, s) BOOST_PP_WHILE_944_I(p, o, s) -# define BOOST_PP_WHILE_945(p, o, s) BOOST_PP_WHILE_945_I(p, o, s) -# define BOOST_PP_WHILE_946(p, o, s) BOOST_PP_WHILE_946_I(p, o, s) -# define BOOST_PP_WHILE_947(p, o, s) BOOST_PP_WHILE_947_I(p, o, s) -# define BOOST_PP_WHILE_948(p, o, s) BOOST_PP_WHILE_948_I(p, o, s) -# define BOOST_PP_WHILE_949(p, o, s) BOOST_PP_WHILE_949_I(p, o, s) -# define BOOST_PP_WHILE_950(p, o, s) BOOST_PP_WHILE_950_I(p, o, s) -# define BOOST_PP_WHILE_951(p, o, s) BOOST_PP_WHILE_951_I(p, o, s) -# define BOOST_PP_WHILE_952(p, o, s) BOOST_PP_WHILE_952_I(p, o, s) -# define BOOST_PP_WHILE_953(p, o, s) BOOST_PP_WHILE_953_I(p, o, s) -# define BOOST_PP_WHILE_954(p, o, s) BOOST_PP_WHILE_954_I(p, o, s) -# define BOOST_PP_WHILE_955(p, o, s) BOOST_PP_WHILE_955_I(p, o, s) -# define BOOST_PP_WHILE_956(p, o, s) BOOST_PP_WHILE_956_I(p, o, s) -# define BOOST_PP_WHILE_957(p, o, s) BOOST_PP_WHILE_957_I(p, o, s) -# define BOOST_PP_WHILE_958(p, o, s) BOOST_PP_WHILE_958_I(p, o, s) -# define BOOST_PP_WHILE_959(p, o, s) BOOST_PP_WHILE_959_I(p, o, s) -# define BOOST_PP_WHILE_960(p, o, s) BOOST_PP_WHILE_960_I(p, o, s) -# define BOOST_PP_WHILE_961(p, o, s) BOOST_PP_WHILE_961_I(p, o, s) -# define BOOST_PP_WHILE_962(p, o, s) BOOST_PP_WHILE_962_I(p, o, s) -# define BOOST_PP_WHILE_963(p, o, s) BOOST_PP_WHILE_963_I(p, o, s) -# define BOOST_PP_WHILE_964(p, o, s) BOOST_PP_WHILE_964_I(p, o, s) -# define BOOST_PP_WHILE_965(p, o, s) BOOST_PP_WHILE_965_I(p, o, s) -# define BOOST_PP_WHILE_966(p, o, s) BOOST_PP_WHILE_966_I(p, o, s) -# define BOOST_PP_WHILE_967(p, o, s) BOOST_PP_WHILE_967_I(p, o, s) -# define BOOST_PP_WHILE_968(p, o, s) BOOST_PP_WHILE_968_I(p, o, s) -# define BOOST_PP_WHILE_969(p, o, s) BOOST_PP_WHILE_969_I(p, o, s) -# define BOOST_PP_WHILE_970(p, o, s) BOOST_PP_WHILE_970_I(p, o, s) -# define BOOST_PP_WHILE_971(p, o, s) BOOST_PP_WHILE_971_I(p, o, s) -# define BOOST_PP_WHILE_972(p, o, s) BOOST_PP_WHILE_972_I(p, o, s) -# define BOOST_PP_WHILE_973(p, o, s) BOOST_PP_WHILE_973_I(p, o, s) -# define BOOST_PP_WHILE_974(p, o, s) BOOST_PP_WHILE_974_I(p, o, s) -# define BOOST_PP_WHILE_975(p, o, s) BOOST_PP_WHILE_975_I(p, o, s) -# define BOOST_PP_WHILE_976(p, o, s) BOOST_PP_WHILE_976_I(p, o, s) -# define BOOST_PP_WHILE_977(p, o, s) BOOST_PP_WHILE_977_I(p, o, s) -# define BOOST_PP_WHILE_978(p, o, s) BOOST_PP_WHILE_978_I(p, o, s) -# define BOOST_PP_WHILE_979(p, o, s) BOOST_PP_WHILE_979_I(p, o, s) -# define BOOST_PP_WHILE_980(p, o, s) BOOST_PP_WHILE_980_I(p, o, s) -# define BOOST_PP_WHILE_981(p, o, s) BOOST_PP_WHILE_981_I(p, o, s) -# define BOOST_PP_WHILE_982(p, o, s) BOOST_PP_WHILE_982_I(p, o, s) -# define BOOST_PP_WHILE_983(p, o, s) BOOST_PP_WHILE_983_I(p, o, s) -# define BOOST_PP_WHILE_984(p, o, s) BOOST_PP_WHILE_984_I(p, o, s) -# define BOOST_PP_WHILE_985(p, o, s) BOOST_PP_WHILE_985_I(p, o, s) -# define BOOST_PP_WHILE_986(p, o, s) BOOST_PP_WHILE_986_I(p, o, s) -# define BOOST_PP_WHILE_987(p, o, s) BOOST_PP_WHILE_987_I(p, o, s) -# define BOOST_PP_WHILE_988(p, o, s) BOOST_PP_WHILE_988_I(p, o, s) -# define BOOST_PP_WHILE_989(p, o, s) BOOST_PP_WHILE_989_I(p, o, s) -# define BOOST_PP_WHILE_990(p, o, s) BOOST_PP_WHILE_990_I(p, o, s) -# define BOOST_PP_WHILE_991(p, o, s) BOOST_PP_WHILE_991_I(p, o, s) -# define BOOST_PP_WHILE_992(p, o, s) BOOST_PP_WHILE_992_I(p, o, s) -# define BOOST_PP_WHILE_993(p, o, s) BOOST_PP_WHILE_993_I(p, o, s) -# define BOOST_PP_WHILE_994(p, o, s) BOOST_PP_WHILE_994_I(p, o, s) -# define BOOST_PP_WHILE_995(p, o, s) BOOST_PP_WHILE_995_I(p, o, s) -# define BOOST_PP_WHILE_996(p, o, s) BOOST_PP_WHILE_996_I(p, o, s) -# define BOOST_PP_WHILE_997(p, o, s) BOOST_PP_WHILE_997_I(p, o, s) -# define BOOST_PP_WHILE_998(p, o, s) BOOST_PP_WHILE_998_I(p, o, s) -# define BOOST_PP_WHILE_999(p, o, s) BOOST_PP_WHILE_999_I(p, o, s) -# define BOOST_PP_WHILE_1000(p, o, s) BOOST_PP_WHILE_1000_I(p, o, s) -# define BOOST_PP_WHILE_1001(p, o, s) BOOST_PP_WHILE_1001_I(p, o, s) -# define BOOST_PP_WHILE_1002(p, o, s) BOOST_PP_WHILE_1002_I(p, o, s) -# define BOOST_PP_WHILE_1003(p, o, s) BOOST_PP_WHILE_1003_I(p, o, s) -# define BOOST_PP_WHILE_1004(p, o, s) BOOST_PP_WHILE_1004_I(p, o, s) -# define BOOST_PP_WHILE_1005(p, o, s) BOOST_PP_WHILE_1005_I(p, o, s) -# define BOOST_PP_WHILE_1006(p, o, s) BOOST_PP_WHILE_1006_I(p, o, s) -# define BOOST_PP_WHILE_1007(p, o, s) BOOST_PP_WHILE_1007_I(p, o, s) -# define BOOST_PP_WHILE_1008(p, o, s) BOOST_PP_WHILE_1008_I(p, o, s) -# define BOOST_PP_WHILE_1009(p, o, s) BOOST_PP_WHILE_1009_I(p, o, s) -# define BOOST_PP_WHILE_1010(p, o, s) BOOST_PP_WHILE_1010_I(p, o, s) -# define BOOST_PP_WHILE_1011(p, o, s) BOOST_PP_WHILE_1011_I(p, o, s) -# define BOOST_PP_WHILE_1012(p, o, s) BOOST_PP_WHILE_1012_I(p, o, s) -# define BOOST_PP_WHILE_1013(p, o, s) BOOST_PP_WHILE_1013_I(p, o, s) -# define BOOST_PP_WHILE_1014(p, o, s) BOOST_PP_WHILE_1014_I(p, o, s) -# define BOOST_PP_WHILE_1015(p, o, s) BOOST_PP_WHILE_1015_I(p, o, s) -# define BOOST_PP_WHILE_1016(p, o, s) BOOST_PP_WHILE_1016_I(p, o, s) -# define BOOST_PP_WHILE_1017(p, o, s) BOOST_PP_WHILE_1017_I(p, o, s) -# define BOOST_PP_WHILE_1018(p, o, s) BOOST_PP_WHILE_1018_I(p, o, s) -# define BOOST_PP_WHILE_1019(p, o, s) BOOST_PP_WHILE_1019_I(p, o, s) -# define BOOST_PP_WHILE_1020(p, o, s) BOOST_PP_WHILE_1020_I(p, o, s) -# define BOOST_PP_WHILE_1021(p, o, s) BOOST_PP_WHILE_1021_I(p, o, s) -# define BOOST_PP_WHILE_1022(p, o, s) BOOST_PP_WHILE_1022_I(p, o, s) -# define BOOST_PP_WHILE_1023(p, o, s) BOOST_PP_WHILE_1023_I(p, o, s) -# define BOOST_PP_WHILE_1024(p, o, s) BOOST_PP_WHILE_1024_I(p, o, s) -# -# define BOOST_PP_WHILE_513_I(p, o, s) BOOST_PP_IF(p(514, s), BOOST_PP_WHILE_514, s BOOST_PP_TUPLE_EAT_3)(p, o, o(514, s)) -# define BOOST_PP_WHILE_514_I(p, o, s) BOOST_PP_IF(p(515, s), BOOST_PP_WHILE_515, s BOOST_PP_TUPLE_EAT_3)(p, o, o(515, s)) -# define BOOST_PP_WHILE_515_I(p, o, s) BOOST_PP_IF(p(516, s), BOOST_PP_WHILE_516, s BOOST_PP_TUPLE_EAT_3)(p, o, o(516, s)) -# define BOOST_PP_WHILE_516_I(p, o, s) BOOST_PP_IF(p(517, s), BOOST_PP_WHILE_517, s BOOST_PP_TUPLE_EAT_3)(p, o, o(517, s)) -# define BOOST_PP_WHILE_517_I(p, o, s) BOOST_PP_IF(p(518, s), BOOST_PP_WHILE_518, s BOOST_PP_TUPLE_EAT_3)(p, o, o(518, s)) -# define BOOST_PP_WHILE_518_I(p, o, s) BOOST_PP_IF(p(519, s), BOOST_PP_WHILE_519, s BOOST_PP_TUPLE_EAT_3)(p, o, o(519, s)) -# define BOOST_PP_WHILE_519_I(p, o, s) BOOST_PP_IF(p(520, s), BOOST_PP_WHILE_520, s BOOST_PP_TUPLE_EAT_3)(p, o, o(520, s)) -# define BOOST_PP_WHILE_520_I(p, o, s) BOOST_PP_IF(p(521, s), BOOST_PP_WHILE_521, s BOOST_PP_TUPLE_EAT_3)(p, o, o(521, s)) -# define BOOST_PP_WHILE_521_I(p, o, s) BOOST_PP_IF(p(522, s), BOOST_PP_WHILE_522, s BOOST_PP_TUPLE_EAT_3)(p, o, o(522, s)) -# define BOOST_PP_WHILE_522_I(p, o, s) BOOST_PP_IF(p(523, s), BOOST_PP_WHILE_523, s BOOST_PP_TUPLE_EAT_3)(p, o, o(523, s)) -# define BOOST_PP_WHILE_523_I(p, o, s) BOOST_PP_IF(p(524, s), BOOST_PP_WHILE_524, s BOOST_PP_TUPLE_EAT_3)(p, o, o(524, s)) -# define BOOST_PP_WHILE_524_I(p, o, s) BOOST_PP_IF(p(525, s), BOOST_PP_WHILE_525, s BOOST_PP_TUPLE_EAT_3)(p, o, o(525, s)) -# define BOOST_PP_WHILE_525_I(p, o, s) BOOST_PP_IF(p(526, s), BOOST_PP_WHILE_526, s BOOST_PP_TUPLE_EAT_3)(p, o, o(526, s)) -# define BOOST_PP_WHILE_526_I(p, o, s) BOOST_PP_IF(p(527, s), BOOST_PP_WHILE_527, s BOOST_PP_TUPLE_EAT_3)(p, o, o(527, s)) -# define BOOST_PP_WHILE_527_I(p, o, s) BOOST_PP_IF(p(528, s), BOOST_PP_WHILE_528, s BOOST_PP_TUPLE_EAT_3)(p, o, o(528, s)) -# define BOOST_PP_WHILE_528_I(p, o, s) BOOST_PP_IF(p(529, s), BOOST_PP_WHILE_529, s BOOST_PP_TUPLE_EAT_3)(p, o, o(529, s)) -# define BOOST_PP_WHILE_529_I(p, o, s) BOOST_PP_IF(p(530, s), BOOST_PP_WHILE_530, s BOOST_PP_TUPLE_EAT_3)(p, o, o(530, s)) -# define BOOST_PP_WHILE_530_I(p, o, s) BOOST_PP_IF(p(531, s), BOOST_PP_WHILE_531, s BOOST_PP_TUPLE_EAT_3)(p, o, o(531, s)) -# define BOOST_PP_WHILE_531_I(p, o, s) BOOST_PP_IF(p(532, s), BOOST_PP_WHILE_532, s BOOST_PP_TUPLE_EAT_3)(p, o, o(532, s)) -# define BOOST_PP_WHILE_532_I(p, o, s) BOOST_PP_IF(p(533, s), BOOST_PP_WHILE_533, s BOOST_PP_TUPLE_EAT_3)(p, o, o(533, s)) -# define BOOST_PP_WHILE_533_I(p, o, s) BOOST_PP_IF(p(534, s), BOOST_PP_WHILE_534, s BOOST_PP_TUPLE_EAT_3)(p, o, o(534, s)) -# define BOOST_PP_WHILE_534_I(p, o, s) BOOST_PP_IF(p(535, s), BOOST_PP_WHILE_535, s BOOST_PP_TUPLE_EAT_3)(p, o, o(535, s)) -# define BOOST_PP_WHILE_535_I(p, o, s) BOOST_PP_IF(p(536, s), BOOST_PP_WHILE_536, s BOOST_PP_TUPLE_EAT_3)(p, o, o(536, s)) -# define BOOST_PP_WHILE_536_I(p, o, s) BOOST_PP_IF(p(537, s), BOOST_PP_WHILE_537, s BOOST_PP_TUPLE_EAT_3)(p, o, o(537, s)) -# define BOOST_PP_WHILE_537_I(p, o, s) BOOST_PP_IF(p(538, s), BOOST_PP_WHILE_538, s BOOST_PP_TUPLE_EAT_3)(p, o, o(538, s)) -# define BOOST_PP_WHILE_538_I(p, o, s) BOOST_PP_IF(p(539, s), BOOST_PP_WHILE_539, s BOOST_PP_TUPLE_EAT_3)(p, o, o(539, s)) -# define BOOST_PP_WHILE_539_I(p, o, s) BOOST_PP_IF(p(540, s), BOOST_PP_WHILE_540, s BOOST_PP_TUPLE_EAT_3)(p, o, o(540, s)) -# define BOOST_PP_WHILE_540_I(p, o, s) BOOST_PP_IF(p(541, s), BOOST_PP_WHILE_541, s BOOST_PP_TUPLE_EAT_3)(p, o, o(541, s)) -# define BOOST_PP_WHILE_541_I(p, o, s) BOOST_PP_IF(p(542, s), BOOST_PP_WHILE_542, s BOOST_PP_TUPLE_EAT_3)(p, o, o(542, s)) -# define BOOST_PP_WHILE_542_I(p, o, s) BOOST_PP_IF(p(543, s), BOOST_PP_WHILE_543, s BOOST_PP_TUPLE_EAT_3)(p, o, o(543, s)) -# define BOOST_PP_WHILE_543_I(p, o, s) BOOST_PP_IF(p(544, s), BOOST_PP_WHILE_544, s BOOST_PP_TUPLE_EAT_3)(p, o, o(544, s)) -# define BOOST_PP_WHILE_544_I(p, o, s) BOOST_PP_IF(p(545, s), BOOST_PP_WHILE_545, s BOOST_PP_TUPLE_EAT_3)(p, o, o(545, s)) -# define BOOST_PP_WHILE_545_I(p, o, s) BOOST_PP_IF(p(546, s), BOOST_PP_WHILE_546, s BOOST_PP_TUPLE_EAT_3)(p, o, o(546, s)) -# define BOOST_PP_WHILE_546_I(p, o, s) BOOST_PP_IF(p(547, s), BOOST_PP_WHILE_547, s BOOST_PP_TUPLE_EAT_3)(p, o, o(547, s)) -# define BOOST_PP_WHILE_547_I(p, o, s) BOOST_PP_IF(p(548, s), BOOST_PP_WHILE_548, s BOOST_PP_TUPLE_EAT_3)(p, o, o(548, s)) -# define BOOST_PP_WHILE_548_I(p, o, s) BOOST_PP_IF(p(549, s), BOOST_PP_WHILE_549, s BOOST_PP_TUPLE_EAT_3)(p, o, o(549, s)) -# define BOOST_PP_WHILE_549_I(p, o, s) BOOST_PP_IF(p(550, s), BOOST_PP_WHILE_550, s BOOST_PP_TUPLE_EAT_3)(p, o, o(550, s)) -# define BOOST_PP_WHILE_550_I(p, o, s) BOOST_PP_IF(p(551, s), BOOST_PP_WHILE_551, s BOOST_PP_TUPLE_EAT_3)(p, o, o(551, s)) -# define BOOST_PP_WHILE_551_I(p, o, s) BOOST_PP_IF(p(552, s), BOOST_PP_WHILE_552, s BOOST_PP_TUPLE_EAT_3)(p, o, o(552, s)) -# define BOOST_PP_WHILE_552_I(p, o, s) BOOST_PP_IF(p(553, s), BOOST_PP_WHILE_553, s BOOST_PP_TUPLE_EAT_3)(p, o, o(553, s)) -# define BOOST_PP_WHILE_553_I(p, o, s) BOOST_PP_IF(p(554, s), BOOST_PP_WHILE_554, s BOOST_PP_TUPLE_EAT_3)(p, o, o(554, s)) -# define BOOST_PP_WHILE_554_I(p, o, s) BOOST_PP_IF(p(555, s), BOOST_PP_WHILE_555, s BOOST_PP_TUPLE_EAT_3)(p, o, o(555, s)) -# define BOOST_PP_WHILE_555_I(p, o, s) BOOST_PP_IF(p(556, s), BOOST_PP_WHILE_556, s BOOST_PP_TUPLE_EAT_3)(p, o, o(556, s)) -# define BOOST_PP_WHILE_556_I(p, o, s) BOOST_PP_IF(p(557, s), BOOST_PP_WHILE_557, s BOOST_PP_TUPLE_EAT_3)(p, o, o(557, s)) -# define BOOST_PP_WHILE_557_I(p, o, s) BOOST_PP_IF(p(558, s), BOOST_PP_WHILE_558, s BOOST_PP_TUPLE_EAT_3)(p, o, o(558, s)) -# define BOOST_PP_WHILE_558_I(p, o, s) BOOST_PP_IF(p(559, s), BOOST_PP_WHILE_559, s BOOST_PP_TUPLE_EAT_3)(p, o, o(559, s)) -# define BOOST_PP_WHILE_559_I(p, o, s) BOOST_PP_IF(p(560, s), BOOST_PP_WHILE_560, s BOOST_PP_TUPLE_EAT_3)(p, o, o(560, s)) -# define BOOST_PP_WHILE_560_I(p, o, s) BOOST_PP_IF(p(561, s), BOOST_PP_WHILE_561, s BOOST_PP_TUPLE_EAT_3)(p, o, o(561, s)) -# define BOOST_PP_WHILE_561_I(p, o, s) BOOST_PP_IF(p(562, s), BOOST_PP_WHILE_562, s BOOST_PP_TUPLE_EAT_3)(p, o, o(562, s)) -# define BOOST_PP_WHILE_562_I(p, o, s) BOOST_PP_IF(p(563, s), BOOST_PP_WHILE_563, s BOOST_PP_TUPLE_EAT_3)(p, o, o(563, s)) -# define BOOST_PP_WHILE_563_I(p, o, s) BOOST_PP_IF(p(564, s), BOOST_PP_WHILE_564, s BOOST_PP_TUPLE_EAT_3)(p, o, o(564, s)) -# define BOOST_PP_WHILE_564_I(p, o, s) BOOST_PP_IF(p(565, s), BOOST_PP_WHILE_565, s BOOST_PP_TUPLE_EAT_3)(p, o, o(565, s)) -# define BOOST_PP_WHILE_565_I(p, o, s) BOOST_PP_IF(p(566, s), BOOST_PP_WHILE_566, s BOOST_PP_TUPLE_EAT_3)(p, o, o(566, s)) -# define BOOST_PP_WHILE_566_I(p, o, s) BOOST_PP_IF(p(567, s), BOOST_PP_WHILE_567, s BOOST_PP_TUPLE_EAT_3)(p, o, o(567, s)) -# define BOOST_PP_WHILE_567_I(p, o, s) BOOST_PP_IF(p(568, s), BOOST_PP_WHILE_568, s BOOST_PP_TUPLE_EAT_3)(p, o, o(568, s)) -# define BOOST_PP_WHILE_568_I(p, o, s) BOOST_PP_IF(p(569, s), BOOST_PP_WHILE_569, s BOOST_PP_TUPLE_EAT_3)(p, o, o(569, s)) -# define BOOST_PP_WHILE_569_I(p, o, s) BOOST_PP_IF(p(570, s), BOOST_PP_WHILE_570, s BOOST_PP_TUPLE_EAT_3)(p, o, o(570, s)) -# define BOOST_PP_WHILE_570_I(p, o, s) BOOST_PP_IF(p(571, s), BOOST_PP_WHILE_571, s BOOST_PP_TUPLE_EAT_3)(p, o, o(571, s)) -# define BOOST_PP_WHILE_571_I(p, o, s) BOOST_PP_IF(p(572, s), BOOST_PP_WHILE_572, s BOOST_PP_TUPLE_EAT_3)(p, o, o(572, s)) -# define BOOST_PP_WHILE_572_I(p, o, s) BOOST_PP_IF(p(573, s), BOOST_PP_WHILE_573, s BOOST_PP_TUPLE_EAT_3)(p, o, o(573, s)) -# define BOOST_PP_WHILE_573_I(p, o, s) BOOST_PP_IF(p(574, s), BOOST_PP_WHILE_574, s BOOST_PP_TUPLE_EAT_3)(p, o, o(574, s)) -# define BOOST_PP_WHILE_574_I(p, o, s) BOOST_PP_IF(p(575, s), BOOST_PP_WHILE_575, s BOOST_PP_TUPLE_EAT_3)(p, o, o(575, s)) -# define BOOST_PP_WHILE_575_I(p, o, s) BOOST_PP_IF(p(576, s), BOOST_PP_WHILE_576, s BOOST_PP_TUPLE_EAT_3)(p, o, o(576, s)) -# define BOOST_PP_WHILE_576_I(p, o, s) BOOST_PP_IF(p(577, s), BOOST_PP_WHILE_577, s BOOST_PP_TUPLE_EAT_3)(p, o, o(577, s)) -# define BOOST_PP_WHILE_577_I(p, o, s) BOOST_PP_IF(p(578, s), BOOST_PP_WHILE_578, s BOOST_PP_TUPLE_EAT_3)(p, o, o(578, s)) -# define BOOST_PP_WHILE_578_I(p, o, s) BOOST_PP_IF(p(579, s), BOOST_PP_WHILE_579, s BOOST_PP_TUPLE_EAT_3)(p, o, o(579, s)) -# define BOOST_PP_WHILE_579_I(p, o, s) BOOST_PP_IF(p(580, s), BOOST_PP_WHILE_580, s BOOST_PP_TUPLE_EAT_3)(p, o, o(580, s)) -# define BOOST_PP_WHILE_580_I(p, o, s) BOOST_PP_IF(p(581, s), BOOST_PP_WHILE_581, s BOOST_PP_TUPLE_EAT_3)(p, o, o(581, s)) -# define BOOST_PP_WHILE_581_I(p, o, s) BOOST_PP_IF(p(582, s), BOOST_PP_WHILE_582, s BOOST_PP_TUPLE_EAT_3)(p, o, o(582, s)) -# define BOOST_PP_WHILE_582_I(p, o, s) BOOST_PP_IF(p(583, s), BOOST_PP_WHILE_583, s BOOST_PP_TUPLE_EAT_3)(p, o, o(583, s)) -# define BOOST_PP_WHILE_583_I(p, o, s) BOOST_PP_IF(p(584, s), BOOST_PP_WHILE_584, s BOOST_PP_TUPLE_EAT_3)(p, o, o(584, s)) -# define BOOST_PP_WHILE_584_I(p, o, s) BOOST_PP_IF(p(585, s), BOOST_PP_WHILE_585, s BOOST_PP_TUPLE_EAT_3)(p, o, o(585, s)) -# define BOOST_PP_WHILE_585_I(p, o, s) BOOST_PP_IF(p(586, s), BOOST_PP_WHILE_586, s BOOST_PP_TUPLE_EAT_3)(p, o, o(586, s)) -# define BOOST_PP_WHILE_586_I(p, o, s) BOOST_PP_IF(p(587, s), BOOST_PP_WHILE_587, s BOOST_PP_TUPLE_EAT_3)(p, o, o(587, s)) -# define BOOST_PP_WHILE_587_I(p, o, s) BOOST_PP_IF(p(588, s), BOOST_PP_WHILE_588, s BOOST_PP_TUPLE_EAT_3)(p, o, o(588, s)) -# define BOOST_PP_WHILE_588_I(p, o, s) BOOST_PP_IF(p(589, s), BOOST_PP_WHILE_589, s BOOST_PP_TUPLE_EAT_3)(p, o, o(589, s)) -# define BOOST_PP_WHILE_589_I(p, o, s) BOOST_PP_IF(p(590, s), BOOST_PP_WHILE_590, s BOOST_PP_TUPLE_EAT_3)(p, o, o(590, s)) -# define BOOST_PP_WHILE_590_I(p, o, s) BOOST_PP_IF(p(591, s), BOOST_PP_WHILE_591, s BOOST_PP_TUPLE_EAT_3)(p, o, o(591, s)) -# define BOOST_PP_WHILE_591_I(p, o, s) BOOST_PP_IF(p(592, s), BOOST_PP_WHILE_592, s BOOST_PP_TUPLE_EAT_3)(p, o, o(592, s)) -# define BOOST_PP_WHILE_592_I(p, o, s) BOOST_PP_IF(p(593, s), BOOST_PP_WHILE_593, s BOOST_PP_TUPLE_EAT_3)(p, o, o(593, s)) -# define BOOST_PP_WHILE_593_I(p, o, s) BOOST_PP_IF(p(594, s), BOOST_PP_WHILE_594, s BOOST_PP_TUPLE_EAT_3)(p, o, o(594, s)) -# define BOOST_PP_WHILE_594_I(p, o, s) BOOST_PP_IF(p(595, s), BOOST_PP_WHILE_595, s BOOST_PP_TUPLE_EAT_3)(p, o, o(595, s)) -# define BOOST_PP_WHILE_595_I(p, o, s) BOOST_PP_IF(p(596, s), BOOST_PP_WHILE_596, s BOOST_PP_TUPLE_EAT_3)(p, o, o(596, s)) -# define BOOST_PP_WHILE_596_I(p, o, s) BOOST_PP_IF(p(597, s), BOOST_PP_WHILE_597, s BOOST_PP_TUPLE_EAT_3)(p, o, o(597, s)) -# define BOOST_PP_WHILE_597_I(p, o, s) BOOST_PP_IF(p(598, s), BOOST_PP_WHILE_598, s BOOST_PP_TUPLE_EAT_3)(p, o, o(598, s)) -# define BOOST_PP_WHILE_598_I(p, o, s) BOOST_PP_IF(p(599, s), BOOST_PP_WHILE_599, s BOOST_PP_TUPLE_EAT_3)(p, o, o(599, s)) -# define BOOST_PP_WHILE_599_I(p, o, s) BOOST_PP_IF(p(600, s), BOOST_PP_WHILE_600, s BOOST_PP_TUPLE_EAT_3)(p, o, o(600, s)) -# define BOOST_PP_WHILE_600_I(p, o, s) BOOST_PP_IF(p(601, s), BOOST_PP_WHILE_601, s BOOST_PP_TUPLE_EAT_3)(p, o, o(601, s)) -# define BOOST_PP_WHILE_601_I(p, o, s) BOOST_PP_IF(p(602, s), BOOST_PP_WHILE_602, s BOOST_PP_TUPLE_EAT_3)(p, o, o(602, s)) -# define BOOST_PP_WHILE_602_I(p, o, s) BOOST_PP_IF(p(603, s), BOOST_PP_WHILE_603, s BOOST_PP_TUPLE_EAT_3)(p, o, o(603, s)) -# define BOOST_PP_WHILE_603_I(p, o, s) BOOST_PP_IF(p(604, s), BOOST_PP_WHILE_604, s BOOST_PP_TUPLE_EAT_3)(p, o, o(604, s)) -# define BOOST_PP_WHILE_604_I(p, o, s) BOOST_PP_IF(p(605, s), BOOST_PP_WHILE_605, s BOOST_PP_TUPLE_EAT_3)(p, o, o(605, s)) -# define BOOST_PP_WHILE_605_I(p, o, s) BOOST_PP_IF(p(606, s), BOOST_PP_WHILE_606, s BOOST_PP_TUPLE_EAT_3)(p, o, o(606, s)) -# define BOOST_PP_WHILE_606_I(p, o, s) BOOST_PP_IF(p(607, s), BOOST_PP_WHILE_607, s BOOST_PP_TUPLE_EAT_3)(p, o, o(607, s)) -# define BOOST_PP_WHILE_607_I(p, o, s) BOOST_PP_IF(p(608, s), BOOST_PP_WHILE_608, s BOOST_PP_TUPLE_EAT_3)(p, o, o(608, s)) -# define BOOST_PP_WHILE_608_I(p, o, s) BOOST_PP_IF(p(609, s), BOOST_PP_WHILE_609, s BOOST_PP_TUPLE_EAT_3)(p, o, o(609, s)) -# define BOOST_PP_WHILE_609_I(p, o, s) BOOST_PP_IF(p(610, s), BOOST_PP_WHILE_610, s BOOST_PP_TUPLE_EAT_3)(p, o, o(610, s)) -# define BOOST_PP_WHILE_610_I(p, o, s) BOOST_PP_IF(p(611, s), BOOST_PP_WHILE_611, s BOOST_PP_TUPLE_EAT_3)(p, o, o(611, s)) -# define BOOST_PP_WHILE_611_I(p, o, s) BOOST_PP_IF(p(612, s), BOOST_PP_WHILE_612, s BOOST_PP_TUPLE_EAT_3)(p, o, o(612, s)) -# define BOOST_PP_WHILE_612_I(p, o, s) BOOST_PP_IF(p(613, s), BOOST_PP_WHILE_613, s BOOST_PP_TUPLE_EAT_3)(p, o, o(613, s)) -# define BOOST_PP_WHILE_613_I(p, o, s) BOOST_PP_IF(p(614, s), BOOST_PP_WHILE_614, s BOOST_PP_TUPLE_EAT_3)(p, o, o(614, s)) -# define BOOST_PP_WHILE_614_I(p, o, s) BOOST_PP_IF(p(615, s), BOOST_PP_WHILE_615, s BOOST_PP_TUPLE_EAT_3)(p, o, o(615, s)) -# define BOOST_PP_WHILE_615_I(p, o, s) BOOST_PP_IF(p(616, s), BOOST_PP_WHILE_616, s BOOST_PP_TUPLE_EAT_3)(p, o, o(616, s)) -# define BOOST_PP_WHILE_616_I(p, o, s) BOOST_PP_IF(p(617, s), BOOST_PP_WHILE_617, s BOOST_PP_TUPLE_EAT_3)(p, o, o(617, s)) -# define BOOST_PP_WHILE_617_I(p, o, s) BOOST_PP_IF(p(618, s), BOOST_PP_WHILE_618, s BOOST_PP_TUPLE_EAT_3)(p, o, o(618, s)) -# define BOOST_PP_WHILE_618_I(p, o, s) BOOST_PP_IF(p(619, s), BOOST_PP_WHILE_619, s BOOST_PP_TUPLE_EAT_3)(p, o, o(619, s)) -# define BOOST_PP_WHILE_619_I(p, o, s) BOOST_PP_IF(p(620, s), BOOST_PP_WHILE_620, s BOOST_PP_TUPLE_EAT_3)(p, o, o(620, s)) -# define BOOST_PP_WHILE_620_I(p, o, s) BOOST_PP_IF(p(621, s), BOOST_PP_WHILE_621, s BOOST_PP_TUPLE_EAT_3)(p, o, o(621, s)) -# define BOOST_PP_WHILE_621_I(p, o, s) BOOST_PP_IF(p(622, s), BOOST_PP_WHILE_622, s BOOST_PP_TUPLE_EAT_3)(p, o, o(622, s)) -# define BOOST_PP_WHILE_622_I(p, o, s) BOOST_PP_IF(p(623, s), BOOST_PP_WHILE_623, s BOOST_PP_TUPLE_EAT_3)(p, o, o(623, s)) -# define BOOST_PP_WHILE_623_I(p, o, s) BOOST_PP_IF(p(624, s), BOOST_PP_WHILE_624, s BOOST_PP_TUPLE_EAT_3)(p, o, o(624, s)) -# define BOOST_PP_WHILE_624_I(p, o, s) BOOST_PP_IF(p(625, s), BOOST_PP_WHILE_625, s BOOST_PP_TUPLE_EAT_3)(p, o, o(625, s)) -# define BOOST_PP_WHILE_625_I(p, o, s) BOOST_PP_IF(p(626, s), BOOST_PP_WHILE_626, s BOOST_PP_TUPLE_EAT_3)(p, o, o(626, s)) -# define BOOST_PP_WHILE_626_I(p, o, s) BOOST_PP_IF(p(627, s), BOOST_PP_WHILE_627, s BOOST_PP_TUPLE_EAT_3)(p, o, o(627, s)) -# define BOOST_PP_WHILE_627_I(p, o, s) BOOST_PP_IF(p(628, s), BOOST_PP_WHILE_628, s BOOST_PP_TUPLE_EAT_3)(p, o, o(628, s)) -# define BOOST_PP_WHILE_628_I(p, o, s) BOOST_PP_IF(p(629, s), BOOST_PP_WHILE_629, s BOOST_PP_TUPLE_EAT_3)(p, o, o(629, s)) -# define BOOST_PP_WHILE_629_I(p, o, s) BOOST_PP_IF(p(630, s), BOOST_PP_WHILE_630, s BOOST_PP_TUPLE_EAT_3)(p, o, o(630, s)) -# define BOOST_PP_WHILE_630_I(p, o, s) BOOST_PP_IF(p(631, s), BOOST_PP_WHILE_631, s BOOST_PP_TUPLE_EAT_3)(p, o, o(631, s)) -# define BOOST_PP_WHILE_631_I(p, o, s) BOOST_PP_IF(p(632, s), BOOST_PP_WHILE_632, s BOOST_PP_TUPLE_EAT_3)(p, o, o(632, s)) -# define BOOST_PP_WHILE_632_I(p, o, s) BOOST_PP_IF(p(633, s), BOOST_PP_WHILE_633, s BOOST_PP_TUPLE_EAT_3)(p, o, o(633, s)) -# define BOOST_PP_WHILE_633_I(p, o, s) BOOST_PP_IF(p(634, s), BOOST_PP_WHILE_634, s BOOST_PP_TUPLE_EAT_3)(p, o, o(634, s)) -# define BOOST_PP_WHILE_634_I(p, o, s) BOOST_PP_IF(p(635, s), BOOST_PP_WHILE_635, s BOOST_PP_TUPLE_EAT_3)(p, o, o(635, s)) -# define BOOST_PP_WHILE_635_I(p, o, s) BOOST_PP_IF(p(636, s), BOOST_PP_WHILE_636, s BOOST_PP_TUPLE_EAT_3)(p, o, o(636, s)) -# define BOOST_PP_WHILE_636_I(p, o, s) BOOST_PP_IF(p(637, s), BOOST_PP_WHILE_637, s BOOST_PP_TUPLE_EAT_3)(p, o, o(637, s)) -# define BOOST_PP_WHILE_637_I(p, o, s) BOOST_PP_IF(p(638, s), BOOST_PP_WHILE_638, s BOOST_PP_TUPLE_EAT_3)(p, o, o(638, s)) -# define BOOST_PP_WHILE_638_I(p, o, s) BOOST_PP_IF(p(639, s), BOOST_PP_WHILE_639, s BOOST_PP_TUPLE_EAT_3)(p, o, o(639, s)) -# define BOOST_PP_WHILE_639_I(p, o, s) BOOST_PP_IF(p(640, s), BOOST_PP_WHILE_640, s BOOST_PP_TUPLE_EAT_3)(p, o, o(640, s)) -# define BOOST_PP_WHILE_640_I(p, o, s) BOOST_PP_IF(p(641, s), BOOST_PP_WHILE_641, s BOOST_PP_TUPLE_EAT_3)(p, o, o(641, s)) -# define BOOST_PP_WHILE_641_I(p, o, s) BOOST_PP_IF(p(642, s), BOOST_PP_WHILE_642, s BOOST_PP_TUPLE_EAT_3)(p, o, o(642, s)) -# define BOOST_PP_WHILE_642_I(p, o, s) BOOST_PP_IF(p(643, s), BOOST_PP_WHILE_643, s BOOST_PP_TUPLE_EAT_3)(p, o, o(643, s)) -# define BOOST_PP_WHILE_643_I(p, o, s) BOOST_PP_IF(p(644, s), BOOST_PP_WHILE_644, s BOOST_PP_TUPLE_EAT_3)(p, o, o(644, s)) -# define BOOST_PP_WHILE_644_I(p, o, s) BOOST_PP_IF(p(645, s), BOOST_PP_WHILE_645, s BOOST_PP_TUPLE_EAT_3)(p, o, o(645, s)) -# define BOOST_PP_WHILE_645_I(p, o, s) BOOST_PP_IF(p(646, s), BOOST_PP_WHILE_646, s BOOST_PP_TUPLE_EAT_3)(p, o, o(646, s)) -# define BOOST_PP_WHILE_646_I(p, o, s) BOOST_PP_IF(p(647, s), BOOST_PP_WHILE_647, s BOOST_PP_TUPLE_EAT_3)(p, o, o(647, s)) -# define BOOST_PP_WHILE_647_I(p, o, s) BOOST_PP_IF(p(648, s), BOOST_PP_WHILE_648, s BOOST_PP_TUPLE_EAT_3)(p, o, o(648, s)) -# define BOOST_PP_WHILE_648_I(p, o, s) BOOST_PP_IF(p(649, s), BOOST_PP_WHILE_649, s BOOST_PP_TUPLE_EAT_3)(p, o, o(649, s)) -# define BOOST_PP_WHILE_649_I(p, o, s) BOOST_PP_IF(p(650, s), BOOST_PP_WHILE_650, s BOOST_PP_TUPLE_EAT_3)(p, o, o(650, s)) -# define BOOST_PP_WHILE_650_I(p, o, s) BOOST_PP_IF(p(651, s), BOOST_PP_WHILE_651, s BOOST_PP_TUPLE_EAT_3)(p, o, o(651, s)) -# define BOOST_PP_WHILE_651_I(p, o, s) BOOST_PP_IF(p(652, s), BOOST_PP_WHILE_652, s BOOST_PP_TUPLE_EAT_3)(p, o, o(652, s)) -# define BOOST_PP_WHILE_652_I(p, o, s) BOOST_PP_IF(p(653, s), BOOST_PP_WHILE_653, s BOOST_PP_TUPLE_EAT_3)(p, o, o(653, s)) -# define BOOST_PP_WHILE_653_I(p, o, s) BOOST_PP_IF(p(654, s), BOOST_PP_WHILE_654, s BOOST_PP_TUPLE_EAT_3)(p, o, o(654, s)) -# define BOOST_PP_WHILE_654_I(p, o, s) BOOST_PP_IF(p(655, s), BOOST_PP_WHILE_655, s BOOST_PP_TUPLE_EAT_3)(p, o, o(655, s)) -# define BOOST_PP_WHILE_655_I(p, o, s) BOOST_PP_IF(p(656, s), BOOST_PP_WHILE_656, s BOOST_PP_TUPLE_EAT_3)(p, o, o(656, s)) -# define BOOST_PP_WHILE_656_I(p, o, s) BOOST_PP_IF(p(657, s), BOOST_PP_WHILE_657, s BOOST_PP_TUPLE_EAT_3)(p, o, o(657, s)) -# define BOOST_PP_WHILE_657_I(p, o, s) BOOST_PP_IF(p(658, s), BOOST_PP_WHILE_658, s BOOST_PP_TUPLE_EAT_3)(p, o, o(658, s)) -# define BOOST_PP_WHILE_658_I(p, o, s) BOOST_PP_IF(p(659, s), BOOST_PP_WHILE_659, s BOOST_PP_TUPLE_EAT_3)(p, o, o(659, s)) -# define BOOST_PP_WHILE_659_I(p, o, s) BOOST_PP_IF(p(660, s), BOOST_PP_WHILE_660, s BOOST_PP_TUPLE_EAT_3)(p, o, o(660, s)) -# define BOOST_PP_WHILE_660_I(p, o, s) BOOST_PP_IF(p(661, s), BOOST_PP_WHILE_661, s BOOST_PP_TUPLE_EAT_3)(p, o, o(661, s)) -# define BOOST_PP_WHILE_661_I(p, o, s) BOOST_PP_IF(p(662, s), BOOST_PP_WHILE_662, s BOOST_PP_TUPLE_EAT_3)(p, o, o(662, s)) -# define BOOST_PP_WHILE_662_I(p, o, s) BOOST_PP_IF(p(663, s), BOOST_PP_WHILE_663, s BOOST_PP_TUPLE_EAT_3)(p, o, o(663, s)) -# define BOOST_PP_WHILE_663_I(p, o, s) BOOST_PP_IF(p(664, s), BOOST_PP_WHILE_664, s BOOST_PP_TUPLE_EAT_3)(p, o, o(664, s)) -# define BOOST_PP_WHILE_664_I(p, o, s) BOOST_PP_IF(p(665, s), BOOST_PP_WHILE_665, s BOOST_PP_TUPLE_EAT_3)(p, o, o(665, s)) -# define BOOST_PP_WHILE_665_I(p, o, s) BOOST_PP_IF(p(666, s), BOOST_PP_WHILE_666, s BOOST_PP_TUPLE_EAT_3)(p, o, o(666, s)) -# define BOOST_PP_WHILE_666_I(p, o, s) BOOST_PP_IF(p(667, s), BOOST_PP_WHILE_667, s BOOST_PP_TUPLE_EAT_3)(p, o, o(667, s)) -# define BOOST_PP_WHILE_667_I(p, o, s) BOOST_PP_IF(p(668, s), BOOST_PP_WHILE_668, s BOOST_PP_TUPLE_EAT_3)(p, o, o(668, s)) -# define BOOST_PP_WHILE_668_I(p, o, s) BOOST_PP_IF(p(669, s), BOOST_PP_WHILE_669, s BOOST_PP_TUPLE_EAT_3)(p, o, o(669, s)) -# define BOOST_PP_WHILE_669_I(p, o, s) BOOST_PP_IF(p(670, s), BOOST_PP_WHILE_670, s BOOST_PP_TUPLE_EAT_3)(p, o, o(670, s)) -# define BOOST_PP_WHILE_670_I(p, o, s) BOOST_PP_IF(p(671, s), BOOST_PP_WHILE_671, s BOOST_PP_TUPLE_EAT_3)(p, o, o(671, s)) -# define BOOST_PP_WHILE_671_I(p, o, s) BOOST_PP_IF(p(672, s), BOOST_PP_WHILE_672, s BOOST_PP_TUPLE_EAT_3)(p, o, o(672, s)) -# define BOOST_PP_WHILE_672_I(p, o, s) BOOST_PP_IF(p(673, s), BOOST_PP_WHILE_673, s BOOST_PP_TUPLE_EAT_3)(p, o, o(673, s)) -# define BOOST_PP_WHILE_673_I(p, o, s) BOOST_PP_IF(p(674, s), BOOST_PP_WHILE_674, s BOOST_PP_TUPLE_EAT_3)(p, o, o(674, s)) -# define BOOST_PP_WHILE_674_I(p, o, s) BOOST_PP_IF(p(675, s), BOOST_PP_WHILE_675, s BOOST_PP_TUPLE_EAT_3)(p, o, o(675, s)) -# define BOOST_PP_WHILE_675_I(p, o, s) BOOST_PP_IF(p(676, s), BOOST_PP_WHILE_676, s BOOST_PP_TUPLE_EAT_3)(p, o, o(676, s)) -# define BOOST_PP_WHILE_676_I(p, o, s) BOOST_PP_IF(p(677, s), BOOST_PP_WHILE_677, s BOOST_PP_TUPLE_EAT_3)(p, o, o(677, s)) -# define BOOST_PP_WHILE_677_I(p, o, s) BOOST_PP_IF(p(678, s), BOOST_PP_WHILE_678, s BOOST_PP_TUPLE_EAT_3)(p, o, o(678, s)) -# define BOOST_PP_WHILE_678_I(p, o, s) BOOST_PP_IF(p(679, s), BOOST_PP_WHILE_679, s BOOST_PP_TUPLE_EAT_3)(p, o, o(679, s)) -# define BOOST_PP_WHILE_679_I(p, o, s) BOOST_PP_IF(p(680, s), BOOST_PP_WHILE_680, s BOOST_PP_TUPLE_EAT_3)(p, o, o(680, s)) -# define BOOST_PP_WHILE_680_I(p, o, s) BOOST_PP_IF(p(681, s), BOOST_PP_WHILE_681, s BOOST_PP_TUPLE_EAT_3)(p, o, o(681, s)) -# define BOOST_PP_WHILE_681_I(p, o, s) BOOST_PP_IF(p(682, s), BOOST_PP_WHILE_682, s BOOST_PP_TUPLE_EAT_3)(p, o, o(682, s)) -# define BOOST_PP_WHILE_682_I(p, o, s) BOOST_PP_IF(p(683, s), BOOST_PP_WHILE_683, s BOOST_PP_TUPLE_EAT_3)(p, o, o(683, s)) -# define BOOST_PP_WHILE_683_I(p, o, s) BOOST_PP_IF(p(684, s), BOOST_PP_WHILE_684, s BOOST_PP_TUPLE_EAT_3)(p, o, o(684, s)) -# define BOOST_PP_WHILE_684_I(p, o, s) BOOST_PP_IF(p(685, s), BOOST_PP_WHILE_685, s BOOST_PP_TUPLE_EAT_3)(p, o, o(685, s)) -# define BOOST_PP_WHILE_685_I(p, o, s) BOOST_PP_IF(p(686, s), BOOST_PP_WHILE_686, s BOOST_PP_TUPLE_EAT_3)(p, o, o(686, s)) -# define BOOST_PP_WHILE_686_I(p, o, s) BOOST_PP_IF(p(687, s), BOOST_PP_WHILE_687, s BOOST_PP_TUPLE_EAT_3)(p, o, o(687, s)) -# define BOOST_PP_WHILE_687_I(p, o, s) BOOST_PP_IF(p(688, s), BOOST_PP_WHILE_688, s BOOST_PP_TUPLE_EAT_3)(p, o, o(688, s)) -# define BOOST_PP_WHILE_688_I(p, o, s) BOOST_PP_IF(p(689, s), BOOST_PP_WHILE_689, s BOOST_PP_TUPLE_EAT_3)(p, o, o(689, s)) -# define BOOST_PP_WHILE_689_I(p, o, s) BOOST_PP_IF(p(690, s), BOOST_PP_WHILE_690, s BOOST_PP_TUPLE_EAT_3)(p, o, o(690, s)) -# define BOOST_PP_WHILE_690_I(p, o, s) BOOST_PP_IF(p(691, s), BOOST_PP_WHILE_691, s BOOST_PP_TUPLE_EAT_3)(p, o, o(691, s)) -# define BOOST_PP_WHILE_691_I(p, o, s) BOOST_PP_IF(p(692, s), BOOST_PP_WHILE_692, s BOOST_PP_TUPLE_EAT_3)(p, o, o(692, s)) -# define BOOST_PP_WHILE_692_I(p, o, s) BOOST_PP_IF(p(693, s), BOOST_PP_WHILE_693, s BOOST_PP_TUPLE_EAT_3)(p, o, o(693, s)) -# define BOOST_PP_WHILE_693_I(p, o, s) BOOST_PP_IF(p(694, s), BOOST_PP_WHILE_694, s BOOST_PP_TUPLE_EAT_3)(p, o, o(694, s)) -# define BOOST_PP_WHILE_694_I(p, o, s) BOOST_PP_IF(p(695, s), BOOST_PP_WHILE_695, s BOOST_PP_TUPLE_EAT_3)(p, o, o(695, s)) -# define BOOST_PP_WHILE_695_I(p, o, s) BOOST_PP_IF(p(696, s), BOOST_PP_WHILE_696, s BOOST_PP_TUPLE_EAT_3)(p, o, o(696, s)) -# define BOOST_PP_WHILE_696_I(p, o, s) BOOST_PP_IF(p(697, s), BOOST_PP_WHILE_697, s BOOST_PP_TUPLE_EAT_3)(p, o, o(697, s)) -# define BOOST_PP_WHILE_697_I(p, o, s) BOOST_PP_IF(p(698, s), BOOST_PP_WHILE_698, s BOOST_PP_TUPLE_EAT_3)(p, o, o(698, s)) -# define BOOST_PP_WHILE_698_I(p, o, s) BOOST_PP_IF(p(699, s), BOOST_PP_WHILE_699, s BOOST_PP_TUPLE_EAT_3)(p, o, o(699, s)) -# define BOOST_PP_WHILE_699_I(p, o, s) BOOST_PP_IF(p(700, s), BOOST_PP_WHILE_700, s BOOST_PP_TUPLE_EAT_3)(p, o, o(700, s)) -# define BOOST_PP_WHILE_700_I(p, o, s) BOOST_PP_IF(p(701, s), BOOST_PP_WHILE_701, s BOOST_PP_TUPLE_EAT_3)(p, o, o(701, s)) -# define BOOST_PP_WHILE_701_I(p, o, s) BOOST_PP_IF(p(702, s), BOOST_PP_WHILE_702, s BOOST_PP_TUPLE_EAT_3)(p, o, o(702, s)) -# define BOOST_PP_WHILE_702_I(p, o, s) BOOST_PP_IF(p(703, s), BOOST_PP_WHILE_703, s BOOST_PP_TUPLE_EAT_3)(p, o, o(703, s)) -# define BOOST_PP_WHILE_703_I(p, o, s) BOOST_PP_IF(p(704, s), BOOST_PP_WHILE_704, s BOOST_PP_TUPLE_EAT_3)(p, o, o(704, s)) -# define BOOST_PP_WHILE_704_I(p, o, s) BOOST_PP_IF(p(705, s), BOOST_PP_WHILE_705, s BOOST_PP_TUPLE_EAT_3)(p, o, o(705, s)) -# define BOOST_PP_WHILE_705_I(p, o, s) BOOST_PP_IF(p(706, s), BOOST_PP_WHILE_706, s BOOST_PP_TUPLE_EAT_3)(p, o, o(706, s)) -# define BOOST_PP_WHILE_706_I(p, o, s) BOOST_PP_IF(p(707, s), BOOST_PP_WHILE_707, s BOOST_PP_TUPLE_EAT_3)(p, o, o(707, s)) -# define BOOST_PP_WHILE_707_I(p, o, s) BOOST_PP_IF(p(708, s), BOOST_PP_WHILE_708, s BOOST_PP_TUPLE_EAT_3)(p, o, o(708, s)) -# define BOOST_PP_WHILE_708_I(p, o, s) BOOST_PP_IF(p(709, s), BOOST_PP_WHILE_709, s BOOST_PP_TUPLE_EAT_3)(p, o, o(709, s)) -# define BOOST_PP_WHILE_709_I(p, o, s) BOOST_PP_IF(p(710, s), BOOST_PP_WHILE_710, s BOOST_PP_TUPLE_EAT_3)(p, o, o(710, s)) -# define BOOST_PP_WHILE_710_I(p, o, s) BOOST_PP_IF(p(711, s), BOOST_PP_WHILE_711, s BOOST_PP_TUPLE_EAT_3)(p, o, o(711, s)) -# define BOOST_PP_WHILE_711_I(p, o, s) BOOST_PP_IF(p(712, s), BOOST_PP_WHILE_712, s BOOST_PP_TUPLE_EAT_3)(p, o, o(712, s)) -# define BOOST_PP_WHILE_712_I(p, o, s) BOOST_PP_IF(p(713, s), BOOST_PP_WHILE_713, s BOOST_PP_TUPLE_EAT_3)(p, o, o(713, s)) -# define BOOST_PP_WHILE_713_I(p, o, s) BOOST_PP_IF(p(714, s), BOOST_PP_WHILE_714, s BOOST_PP_TUPLE_EAT_3)(p, o, o(714, s)) -# define BOOST_PP_WHILE_714_I(p, o, s) BOOST_PP_IF(p(715, s), BOOST_PP_WHILE_715, s BOOST_PP_TUPLE_EAT_3)(p, o, o(715, s)) -# define BOOST_PP_WHILE_715_I(p, o, s) BOOST_PP_IF(p(716, s), BOOST_PP_WHILE_716, s BOOST_PP_TUPLE_EAT_3)(p, o, o(716, s)) -# define BOOST_PP_WHILE_716_I(p, o, s) BOOST_PP_IF(p(717, s), BOOST_PP_WHILE_717, s BOOST_PP_TUPLE_EAT_3)(p, o, o(717, s)) -# define BOOST_PP_WHILE_717_I(p, o, s) BOOST_PP_IF(p(718, s), BOOST_PP_WHILE_718, s BOOST_PP_TUPLE_EAT_3)(p, o, o(718, s)) -# define BOOST_PP_WHILE_718_I(p, o, s) BOOST_PP_IF(p(719, s), BOOST_PP_WHILE_719, s BOOST_PP_TUPLE_EAT_3)(p, o, o(719, s)) -# define BOOST_PP_WHILE_719_I(p, o, s) BOOST_PP_IF(p(720, s), BOOST_PP_WHILE_720, s BOOST_PP_TUPLE_EAT_3)(p, o, o(720, s)) -# define BOOST_PP_WHILE_720_I(p, o, s) BOOST_PP_IF(p(721, s), BOOST_PP_WHILE_721, s BOOST_PP_TUPLE_EAT_3)(p, o, o(721, s)) -# define BOOST_PP_WHILE_721_I(p, o, s) BOOST_PP_IF(p(722, s), BOOST_PP_WHILE_722, s BOOST_PP_TUPLE_EAT_3)(p, o, o(722, s)) -# define BOOST_PP_WHILE_722_I(p, o, s) BOOST_PP_IF(p(723, s), BOOST_PP_WHILE_723, s BOOST_PP_TUPLE_EAT_3)(p, o, o(723, s)) -# define BOOST_PP_WHILE_723_I(p, o, s) BOOST_PP_IF(p(724, s), BOOST_PP_WHILE_724, s BOOST_PP_TUPLE_EAT_3)(p, o, o(724, s)) -# define BOOST_PP_WHILE_724_I(p, o, s) BOOST_PP_IF(p(725, s), BOOST_PP_WHILE_725, s BOOST_PP_TUPLE_EAT_3)(p, o, o(725, s)) -# define BOOST_PP_WHILE_725_I(p, o, s) BOOST_PP_IF(p(726, s), BOOST_PP_WHILE_726, s BOOST_PP_TUPLE_EAT_3)(p, o, o(726, s)) -# define BOOST_PP_WHILE_726_I(p, o, s) BOOST_PP_IF(p(727, s), BOOST_PP_WHILE_727, s BOOST_PP_TUPLE_EAT_3)(p, o, o(727, s)) -# define BOOST_PP_WHILE_727_I(p, o, s) BOOST_PP_IF(p(728, s), BOOST_PP_WHILE_728, s BOOST_PP_TUPLE_EAT_3)(p, o, o(728, s)) -# define BOOST_PP_WHILE_728_I(p, o, s) BOOST_PP_IF(p(729, s), BOOST_PP_WHILE_729, s BOOST_PP_TUPLE_EAT_3)(p, o, o(729, s)) -# define BOOST_PP_WHILE_729_I(p, o, s) BOOST_PP_IF(p(730, s), BOOST_PP_WHILE_730, s BOOST_PP_TUPLE_EAT_3)(p, o, o(730, s)) -# define BOOST_PP_WHILE_730_I(p, o, s) BOOST_PP_IF(p(731, s), BOOST_PP_WHILE_731, s BOOST_PP_TUPLE_EAT_3)(p, o, o(731, s)) -# define BOOST_PP_WHILE_731_I(p, o, s) BOOST_PP_IF(p(732, s), BOOST_PP_WHILE_732, s BOOST_PP_TUPLE_EAT_3)(p, o, o(732, s)) -# define BOOST_PP_WHILE_732_I(p, o, s) BOOST_PP_IF(p(733, s), BOOST_PP_WHILE_733, s BOOST_PP_TUPLE_EAT_3)(p, o, o(733, s)) -# define BOOST_PP_WHILE_733_I(p, o, s) BOOST_PP_IF(p(734, s), BOOST_PP_WHILE_734, s BOOST_PP_TUPLE_EAT_3)(p, o, o(734, s)) -# define BOOST_PP_WHILE_734_I(p, o, s) BOOST_PP_IF(p(735, s), BOOST_PP_WHILE_735, s BOOST_PP_TUPLE_EAT_3)(p, o, o(735, s)) -# define BOOST_PP_WHILE_735_I(p, o, s) BOOST_PP_IF(p(736, s), BOOST_PP_WHILE_736, s BOOST_PP_TUPLE_EAT_3)(p, o, o(736, s)) -# define BOOST_PP_WHILE_736_I(p, o, s) BOOST_PP_IF(p(737, s), BOOST_PP_WHILE_737, s BOOST_PP_TUPLE_EAT_3)(p, o, o(737, s)) -# define BOOST_PP_WHILE_737_I(p, o, s) BOOST_PP_IF(p(738, s), BOOST_PP_WHILE_738, s BOOST_PP_TUPLE_EAT_3)(p, o, o(738, s)) -# define BOOST_PP_WHILE_738_I(p, o, s) BOOST_PP_IF(p(739, s), BOOST_PP_WHILE_739, s BOOST_PP_TUPLE_EAT_3)(p, o, o(739, s)) -# define BOOST_PP_WHILE_739_I(p, o, s) BOOST_PP_IF(p(740, s), BOOST_PP_WHILE_740, s BOOST_PP_TUPLE_EAT_3)(p, o, o(740, s)) -# define BOOST_PP_WHILE_740_I(p, o, s) BOOST_PP_IF(p(741, s), BOOST_PP_WHILE_741, s BOOST_PP_TUPLE_EAT_3)(p, o, o(741, s)) -# define BOOST_PP_WHILE_741_I(p, o, s) BOOST_PP_IF(p(742, s), BOOST_PP_WHILE_742, s BOOST_PP_TUPLE_EAT_3)(p, o, o(742, s)) -# define BOOST_PP_WHILE_742_I(p, o, s) BOOST_PP_IF(p(743, s), BOOST_PP_WHILE_743, s BOOST_PP_TUPLE_EAT_3)(p, o, o(743, s)) -# define BOOST_PP_WHILE_743_I(p, o, s) BOOST_PP_IF(p(744, s), BOOST_PP_WHILE_744, s BOOST_PP_TUPLE_EAT_3)(p, o, o(744, s)) -# define BOOST_PP_WHILE_744_I(p, o, s) BOOST_PP_IF(p(745, s), BOOST_PP_WHILE_745, s BOOST_PP_TUPLE_EAT_3)(p, o, o(745, s)) -# define BOOST_PP_WHILE_745_I(p, o, s) BOOST_PP_IF(p(746, s), BOOST_PP_WHILE_746, s BOOST_PP_TUPLE_EAT_3)(p, o, o(746, s)) -# define BOOST_PP_WHILE_746_I(p, o, s) BOOST_PP_IF(p(747, s), BOOST_PP_WHILE_747, s BOOST_PP_TUPLE_EAT_3)(p, o, o(747, s)) -# define BOOST_PP_WHILE_747_I(p, o, s) BOOST_PP_IF(p(748, s), BOOST_PP_WHILE_748, s BOOST_PP_TUPLE_EAT_3)(p, o, o(748, s)) -# define BOOST_PP_WHILE_748_I(p, o, s) BOOST_PP_IF(p(749, s), BOOST_PP_WHILE_749, s BOOST_PP_TUPLE_EAT_3)(p, o, o(749, s)) -# define BOOST_PP_WHILE_749_I(p, o, s) BOOST_PP_IF(p(750, s), BOOST_PP_WHILE_750, s BOOST_PP_TUPLE_EAT_3)(p, o, o(750, s)) -# define BOOST_PP_WHILE_750_I(p, o, s) BOOST_PP_IF(p(751, s), BOOST_PP_WHILE_751, s BOOST_PP_TUPLE_EAT_3)(p, o, o(751, s)) -# define BOOST_PP_WHILE_751_I(p, o, s) BOOST_PP_IF(p(752, s), BOOST_PP_WHILE_752, s BOOST_PP_TUPLE_EAT_3)(p, o, o(752, s)) -# define BOOST_PP_WHILE_752_I(p, o, s) BOOST_PP_IF(p(753, s), BOOST_PP_WHILE_753, s BOOST_PP_TUPLE_EAT_3)(p, o, o(753, s)) -# define BOOST_PP_WHILE_753_I(p, o, s) BOOST_PP_IF(p(754, s), BOOST_PP_WHILE_754, s BOOST_PP_TUPLE_EAT_3)(p, o, o(754, s)) -# define BOOST_PP_WHILE_754_I(p, o, s) BOOST_PP_IF(p(755, s), BOOST_PP_WHILE_755, s BOOST_PP_TUPLE_EAT_3)(p, o, o(755, s)) -# define BOOST_PP_WHILE_755_I(p, o, s) BOOST_PP_IF(p(756, s), BOOST_PP_WHILE_756, s BOOST_PP_TUPLE_EAT_3)(p, o, o(756, s)) -# define BOOST_PP_WHILE_756_I(p, o, s) BOOST_PP_IF(p(757, s), BOOST_PP_WHILE_757, s BOOST_PP_TUPLE_EAT_3)(p, o, o(757, s)) -# define BOOST_PP_WHILE_757_I(p, o, s) BOOST_PP_IF(p(758, s), BOOST_PP_WHILE_758, s BOOST_PP_TUPLE_EAT_3)(p, o, o(758, s)) -# define BOOST_PP_WHILE_758_I(p, o, s) BOOST_PP_IF(p(759, s), BOOST_PP_WHILE_759, s BOOST_PP_TUPLE_EAT_3)(p, o, o(759, s)) -# define BOOST_PP_WHILE_759_I(p, o, s) BOOST_PP_IF(p(760, s), BOOST_PP_WHILE_760, s BOOST_PP_TUPLE_EAT_3)(p, o, o(760, s)) -# define BOOST_PP_WHILE_760_I(p, o, s) BOOST_PP_IF(p(761, s), BOOST_PP_WHILE_761, s BOOST_PP_TUPLE_EAT_3)(p, o, o(761, s)) -# define BOOST_PP_WHILE_761_I(p, o, s) BOOST_PP_IF(p(762, s), BOOST_PP_WHILE_762, s BOOST_PP_TUPLE_EAT_3)(p, o, o(762, s)) -# define BOOST_PP_WHILE_762_I(p, o, s) BOOST_PP_IF(p(763, s), BOOST_PP_WHILE_763, s BOOST_PP_TUPLE_EAT_3)(p, o, o(763, s)) -# define BOOST_PP_WHILE_763_I(p, o, s) BOOST_PP_IF(p(764, s), BOOST_PP_WHILE_764, s BOOST_PP_TUPLE_EAT_3)(p, o, o(764, s)) -# define BOOST_PP_WHILE_764_I(p, o, s) BOOST_PP_IF(p(765, s), BOOST_PP_WHILE_765, s BOOST_PP_TUPLE_EAT_3)(p, o, o(765, s)) -# define BOOST_PP_WHILE_765_I(p, o, s) BOOST_PP_IF(p(766, s), BOOST_PP_WHILE_766, s BOOST_PP_TUPLE_EAT_3)(p, o, o(766, s)) -# define BOOST_PP_WHILE_766_I(p, o, s) BOOST_PP_IF(p(767, s), BOOST_PP_WHILE_767, s BOOST_PP_TUPLE_EAT_3)(p, o, o(767, s)) -# define BOOST_PP_WHILE_767_I(p, o, s) BOOST_PP_IF(p(768, s), BOOST_PP_WHILE_768, s BOOST_PP_TUPLE_EAT_3)(p, o, o(768, s)) -# define BOOST_PP_WHILE_768_I(p, o, s) BOOST_PP_IF(p(769, s), BOOST_PP_WHILE_769, s BOOST_PP_TUPLE_EAT_3)(p, o, o(769, s)) -# define BOOST_PP_WHILE_769_I(p, o, s) BOOST_PP_IF(p(770, s), BOOST_PP_WHILE_770, s BOOST_PP_TUPLE_EAT_3)(p, o, o(770, s)) -# define BOOST_PP_WHILE_770_I(p, o, s) BOOST_PP_IF(p(771, s), BOOST_PP_WHILE_771, s BOOST_PP_TUPLE_EAT_3)(p, o, o(771, s)) -# define BOOST_PP_WHILE_771_I(p, o, s) BOOST_PP_IF(p(772, s), BOOST_PP_WHILE_772, s BOOST_PP_TUPLE_EAT_3)(p, o, o(772, s)) -# define BOOST_PP_WHILE_772_I(p, o, s) BOOST_PP_IF(p(773, s), BOOST_PP_WHILE_773, s BOOST_PP_TUPLE_EAT_3)(p, o, o(773, s)) -# define BOOST_PP_WHILE_773_I(p, o, s) BOOST_PP_IF(p(774, s), BOOST_PP_WHILE_774, s BOOST_PP_TUPLE_EAT_3)(p, o, o(774, s)) -# define BOOST_PP_WHILE_774_I(p, o, s) BOOST_PP_IF(p(775, s), BOOST_PP_WHILE_775, s BOOST_PP_TUPLE_EAT_3)(p, o, o(775, s)) -# define BOOST_PP_WHILE_775_I(p, o, s) BOOST_PP_IF(p(776, s), BOOST_PP_WHILE_776, s BOOST_PP_TUPLE_EAT_3)(p, o, o(776, s)) -# define BOOST_PP_WHILE_776_I(p, o, s) BOOST_PP_IF(p(777, s), BOOST_PP_WHILE_777, s BOOST_PP_TUPLE_EAT_3)(p, o, o(777, s)) -# define BOOST_PP_WHILE_777_I(p, o, s) BOOST_PP_IF(p(778, s), BOOST_PP_WHILE_778, s BOOST_PP_TUPLE_EAT_3)(p, o, o(778, s)) -# define BOOST_PP_WHILE_778_I(p, o, s) BOOST_PP_IF(p(779, s), BOOST_PP_WHILE_779, s BOOST_PP_TUPLE_EAT_3)(p, o, o(779, s)) -# define BOOST_PP_WHILE_779_I(p, o, s) BOOST_PP_IF(p(780, s), BOOST_PP_WHILE_780, s BOOST_PP_TUPLE_EAT_3)(p, o, o(780, s)) -# define BOOST_PP_WHILE_780_I(p, o, s) BOOST_PP_IF(p(781, s), BOOST_PP_WHILE_781, s BOOST_PP_TUPLE_EAT_3)(p, o, o(781, s)) -# define BOOST_PP_WHILE_781_I(p, o, s) BOOST_PP_IF(p(782, s), BOOST_PP_WHILE_782, s BOOST_PP_TUPLE_EAT_3)(p, o, o(782, s)) -# define BOOST_PP_WHILE_782_I(p, o, s) BOOST_PP_IF(p(783, s), BOOST_PP_WHILE_783, s BOOST_PP_TUPLE_EAT_3)(p, o, o(783, s)) -# define BOOST_PP_WHILE_783_I(p, o, s) BOOST_PP_IF(p(784, s), BOOST_PP_WHILE_784, s BOOST_PP_TUPLE_EAT_3)(p, o, o(784, s)) -# define BOOST_PP_WHILE_784_I(p, o, s) BOOST_PP_IF(p(785, s), BOOST_PP_WHILE_785, s BOOST_PP_TUPLE_EAT_3)(p, o, o(785, s)) -# define BOOST_PP_WHILE_785_I(p, o, s) BOOST_PP_IF(p(786, s), BOOST_PP_WHILE_786, s BOOST_PP_TUPLE_EAT_3)(p, o, o(786, s)) -# define BOOST_PP_WHILE_786_I(p, o, s) BOOST_PP_IF(p(787, s), BOOST_PP_WHILE_787, s BOOST_PP_TUPLE_EAT_3)(p, o, o(787, s)) -# define BOOST_PP_WHILE_787_I(p, o, s) BOOST_PP_IF(p(788, s), BOOST_PP_WHILE_788, s BOOST_PP_TUPLE_EAT_3)(p, o, o(788, s)) -# define BOOST_PP_WHILE_788_I(p, o, s) BOOST_PP_IF(p(789, s), BOOST_PP_WHILE_789, s BOOST_PP_TUPLE_EAT_3)(p, o, o(789, s)) -# define BOOST_PP_WHILE_789_I(p, o, s) BOOST_PP_IF(p(790, s), BOOST_PP_WHILE_790, s BOOST_PP_TUPLE_EAT_3)(p, o, o(790, s)) -# define BOOST_PP_WHILE_790_I(p, o, s) BOOST_PP_IF(p(791, s), BOOST_PP_WHILE_791, s BOOST_PP_TUPLE_EAT_3)(p, o, o(791, s)) -# define BOOST_PP_WHILE_791_I(p, o, s) BOOST_PP_IF(p(792, s), BOOST_PP_WHILE_792, s BOOST_PP_TUPLE_EAT_3)(p, o, o(792, s)) -# define BOOST_PP_WHILE_792_I(p, o, s) BOOST_PP_IF(p(793, s), BOOST_PP_WHILE_793, s BOOST_PP_TUPLE_EAT_3)(p, o, o(793, s)) -# define BOOST_PP_WHILE_793_I(p, o, s) BOOST_PP_IF(p(794, s), BOOST_PP_WHILE_794, s BOOST_PP_TUPLE_EAT_3)(p, o, o(794, s)) -# define BOOST_PP_WHILE_794_I(p, o, s) BOOST_PP_IF(p(795, s), BOOST_PP_WHILE_795, s BOOST_PP_TUPLE_EAT_3)(p, o, o(795, s)) -# define BOOST_PP_WHILE_795_I(p, o, s) BOOST_PP_IF(p(796, s), BOOST_PP_WHILE_796, s BOOST_PP_TUPLE_EAT_3)(p, o, o(796, s)) -# define BOOST_PP_WHILE_796_I(p, o, s) BOOST_PP_IF(p(797, s), BOOST_PP_WHILE_797, s BOOST_PP_TUPLE_EAT_3)(p, o, o(797, s)) -# define BOOST_PP_WHILE_797_I(p, o, s) BOOST_PP_IF(p(798, s), BOOST_PP_WHILE_798, s BOOST_PP_TUPLE_EAT_3)(p, o, o(798, s)) -# define BOOST_PP_WHILE_798_I(p, o, s) BOOST_PP_IF(p(799, s), BOOST_PP_WHILE_799, s BOOST_PP_TUPLE_EAT_3)(p, o, o(799, s)) -# define BOOST_PP_WHILE_799_I(p, o, s) BOOST_PP_IF(p(800, s), BOOST_PP_WHILE_800, s BOOST_PP_TUPLE_EAT_3)(p, o, o(800, s)) -# define BOOST_PP_WHILE_800_I(p, o, s) BOOST_PP_IF(p(801, s), BOOST_PP_WHILE_801, s BOOST_PP_TUPLE_EAT_3)(p, o, o(801, s)) -# define BOOST_PP_WHILE_801_I(p, o, s) BOOST_PP_IF(p(802, s), BOOST_PP_WHILE_802, s BOOST_PP_TUPLE_EAT_3)(p, o, o(802, s)) -# define BOOST_PP_WHILE_802_I(p, o, s) BOOST_PP_IF(p(803, s), BOOST_PP_WHILE_803, s BOOST_PP_TUPLE_EAT_3)(p, o, o(803, s)) -# define BOOST_PP_WHILE_803_I(p, o, s) BOOST_PP_IF(p(804, s), BOOST_PP_WHILE_804, s BOOST_PP_TUPLE_EAT_3)(p, o, o(804, s)) -# define BOOST_PP_WHILE_804_I(p, o, s) BOOST_PP_IF(p(805, s), BOOST_PP_WHILE_805, s BOOST_PP_TUPLE_EAT_3)(p, o, o(805, s)) -# define BOOST_PP_WHILE_805_I(p, o, s) BOOST_PP_IF(p(806, s), BOOST_PP_WHILE_806, s BOOST_PP_TUPLE_EAT_3)(p, o, o(806, s)) -# define BOOST_PP_WHILE_806_I(p, o, s) BOOST_PP_IF(p(807, s), BOOST_PP_WHILE_807, s BOOST_PP_TUPLE_EAT_3)(p, o, o(807, s)) -# define BOOST_PP_WHILE_807_I(p, o, s) BOOST_PP_IF(p(808, s), BOOST_PP_WHILE_808, s BOOST_PP_TUPLE_EAT_3)(p, o, o(808, s)) -# define BOOST_PP_WHILE_808_I(p, o, s) BOOST_PP_IF(p(809, s), BOOST_PP_WHILE_809, s BOOST_PP_TUPLE_EAT_3)(p, o, o(809, s)) -# define BOOST_PP_WHILE_809_I(p, o, s) BOOST_PP_IF(p(810, s), BOOST_PP_WHILE_810, s BOOST_PP_TUPLE_EAT_3)(p, o, o(810, s)) -# define BOOST_PP_WHILE_810_I(p, o, s) BOOST_PP_IF(p(811, s), BOOST_PP_WHILE_811, s BOOST_PP_TUPLE_EAT_3)(p, o, o(811, s)) -# define BOOST_PP_WHILE_811_I(p, o, s) BOOST_PP_IF(p(812, s), BOOST_PP_WHILE_812, s BOOST_PP_TUPLE_EAT_3)(p, o, o(812, s)) -# define BOOST_PP_WHILE_812_I(p, o, s) BOOST_PP_IF(p(813, s), BOOST_PP_WHILE_813, s BOOST_PP_TUPLE_EAT_3)(p, o, o(813, s)) -# define BOOST_PP_WHILE_813_I(p, o, s) BOOST_PP_IF(p(814, s), BOOST_PP_WHILE_814, s BOOST_PP_TUPLE_EAT_3)(p, o, o(814, s)) -# define BOOST_PP_WHILE_814_I(p, o, s) BOOST_PP_IF(p(815, s), BOOST_PP_WHILE_815, s BOOST_PP_TUPLE_EAT_3)(p, o, o(815, s)) -# define BOOST_PP_WHILE_815_I(p, o, s) BOOST_PP_IF(p(816, s), BOOST_PP_WHILE_816, s BOOST_PP_TUPLE_EAT_3)(p, o, o(816, s)) -# define BOOST_PP_WHILE_816_I(p, o, s) BOOST_PP_IF(p(817, s), BOOST_PP_WHILE_817, s BOOST_PP_TUPLE_EAT_3)(p, o, o(817, s)) -# define BOOST_PP_WHILE_817_I(p, o, s) BOOST_PP_IF(p(818, s), BOOST_PP_WHILE_818, s BOOST_PP_TUPLE_EAT_3)(p, o, o(818, s)) -# define BOOST_PP_WHILE_818_I(p, o, s) BOOST_PP_IF(p(819, s), BOOST_PP_WHILE_819, s BOOST_PP_TUPLE_EAT_3)(p, o, o(819, s)) -# define BOOST_PP_WHILE_819_I(p, o, s) BOOST_PP_IF(p(820, s), BOOST_PP_WHILE_820, s BOOST_PP_TUPLE_EAT_3)(p, o, o(820, s)) -# define BOOST_PP_WHILE_820_I(p, o, s) BOOST_PP_IF(p(821, s), BOOST_PP_WHILE_821, s BOOST_PP_TUPLE_EAT_3)(p, o, o(821, s)) -# define BOOST_PP_WHILE_821_I(p, o, s) BOOST_PP_IF(p(822, s), BOOST_PP_WHILE_822, s BOOST_PP_TUPLE_EAT_3)(p, o, o(822, s)) -# define BOOST_PP_WHILE_822_I(p, o, s) BOOST_PP_IF(p(823, s), BOOST_PP_WHILE_823, s BOOST_PP_TUPLE_EAT_3)(p, o, o(823, s)) -# define BOOST_PP_WHILE_823_I(p, o, s) BOOST_PP_IF(p(824, s), BOOST_PP_WHILE_824, s BOOST_PP_TUPLE_EAT_3)(p, o, o(824, s)) -# define BOOST_PP_WHILE_824_I(p, o, s) BOOST_PP_IF(p(825, s), BOOST_PP_WHILE_825, s BOOST_PP_TUPLE_EAT_3)(p, o, o(825, s)) -# define BOOST_PP_WHILE_825_I(p, o, s) BOOST_PP_IF(p(826, s), BOOST_PP_WHILE_826, s BOOST_PP_TUPLE_EAT_3)(p, o, o(826, s)) -# define BOOST_PP_WHILE_826_I(p, o, s) BOOST_PP_IF(p(827, s), BOOST_PP_WHILE_827, s BOOST_PP_TUPLE_EAT_3)(p, o, o(827, s)) -# define BOOST_PP_WHILE_827_I(p, o, s) BOOST_PP_IF(p(828, s), BOOST_PP_WHILE_828, s BOOST_PP_TUPLE_EAT_3)(p, o, o(828, s)) -# define BOOST_PP_WHILE_828_I(p, o, s) BOOST_PP_IF(p(829, s), BOOST_PP_WHILE_829, s BOOST_PP_TUPLE_EAT_3)(p, o, o(829, s)) -# define BOOST_PP_WHILE_829_I(p, o, s) BOOST_PP_IF(p(830, s), BOOST_PP_WHILE_830, s BOOST_PP_TUPLE_EAT_3)(p, o, o(830, s)) -# define BOOST_PP_WHILE_830_I(p, o, s) BOOST_PP_IF(p(831, s), BOOST_PP_WHILE_831, s BOOST_PP_TUPLE_EAT_3)(p, o, o(831, s)) -# define BOOST_PP_WHILE_831_I(p, o, s) BOOST_PP_IF(p(832, s), BOOST_PP_WHILE_832, s BOOST_PP_TUPLE_EAT_3)(p, o, o(832, s)) -# define BOOST_PP_WHILE_832_I(p, o, s) BOOST_PP_IF(p(833, s), BOOST_PP_WHILE_833, s BOOST_PP_TUPLE_EAT_3)(p, o, o(833, s)) -# define BOOST_PP_WHILE_833_I(p, o, s) BOOST_PP_IF(p(834, s), BOOST_PP_WHILE_834, s BOOST_PP_TUPLE_EAT_3)(p, o, o(834, s)) -# define BOOST_PP_WHILE_834_I(p, o, s) BOOST_PP_IF(p(835, s), BOOST_PP_WHILE_835, s BOOST_PP_TUPLE_EAT_3)(p, o, o(835, s)) -# define BOOST_PP_WHILE_835_I(p, o, s) BOOST_PP_IF(p(836, s), BOOST_PP_WHILE_836, s BOOST_PP_TUPLE_EAT_3)(p, o, o(836, s)) -# define BOOST_PP_WHILE_836_I(p, o, s) BOOST_PP_IF(p(837, s), BOOST_PP_WHILE_837, s BOOST_PP_TUPLE_EAT_3)(p, o, o(837, s)) -# define BOOST_PP_WHILE_837_I(p, o, s) BOOST_PP_IF(p(838, s), BOOST_PP_WHILE_838, s BOOST_PP_TUPLE_EAT_3)(p, o, o(838, s)) -# define BOOST_PP_WHILE_838_I(p, o, s) BOOST_PP_IF(p(839, s), BOOST_PP_WHILE_839, s BOOST_PP_TUPLE_EAT_3)(p, o, o(839, s)) -# define BOOST_PP_WHILE_839_I(p, o, s) BOOST_PP_IF(p(840, s), BOOST_PP_WHILE_840, s BOOST_PP_TUPLE_EAT_3)(p, o, o(840, s)) -# define BOOST_PP_WHILE_840_I(p, o, s) BOOST_PP_IF(p(841, s), BOOST_PP_WHILE_841, s BOOST_PP_TUPLE_EAT_3)(p, o, o(841, s)) -# define BOOST_PP_WHILE_841_I(p, o, s) BOOST_PP_IF(p(842, s), BOOST_PP_WHILE_842, s BOOST_PP_TUPLE_EAT_3)(p, o, o(842, s)) -# define BOOST_PP_WHILE_842_I(p, o, s) BOOST_PP_IF(p(843, s), BOOST_PP_WHILE_843, s BOOST_PP_TUPLE_EAT_3)(p, o, o(843, s)) -# define BOOST_PP_WHILE_843_I(p, o, s) BOOST_PP_IF(p(844, s), BOOST_PP_WHILE_844, s BOOST_PP_TUPLE_EAT_3)(p, o, o(844, s)) -# define BOOST_PP_WHILE_844_I(p, o, s) BOOST_PP_IF(p(845, s), BOOST_PP_WHILE_845, s BOOST_PP_TUPLE_EAT_3)(p, o, o(845, s)) -# define BOOST_PP_WHILE_845_I(p, o, s) BOOST_PP_IF(p(846, s), BOOST_PP_WHILE_846, s BOOST_PP_TUPLE_EAT_3)(p, o, o(846, s)) -# define BOOST_PP_WHILE_846_I(p, o, s) BOOST_PP_IF(p(847, s), BOOST_PP_WHILE_847, s BOOST_PP_TUPLE_EAT_3)(p, o, o(847, s)) -# define BOOST_PP_WHILE_847_I(p, o, s) BOOST_PP_IF(p(848, s), BOOST_PP_WHILE_848, s BOOST_PP_TUPLE_EAT_3)(p, o, o(848, s)) -# define BOOST_PP_WHILE_848_I(p, o, s) BOOST_PP_IF(p(849, s), BOOST_PP_WHILE_849, s BOOST_PP_TUPLE_EAT_3)(p, o, o(849, s)) -# define BOOST_PP_WHILE_849_I(p, o, s) BOOST_PP_IF(p(850, s), BOOST_PP_WHILE_850, s BOOST_PP_TUPLE_EAT_3)(p, o, o(850, s)) -# define BOOST_PP_WHILE_850_I(p, o, s) BOOST_PP_IF(p(851, s), BOOST_PP_WHILE_851, s BOOST_PP_TUPLE_EAT_3)(p, o, o(851, s)) -# define BOOST_PP_WHILE_851_I(p, o, s) BOOST_PP_IF(p(852, s), BOOST_PP_WHILE_852, s BOOST_PP_TUPLE_EAT_3)(p, o, o(852, s)) -# define BOOST_PP_WHILE_852_I(p, o, s) BOOST_PP_IF(p(853, s), BOOST_PP_WHILE_853, s BOOST_PP_TUPLE_EAT_3)(p, o, o(853, s)) -# define BOOST_PP_WHILE_853_I(p, o, s) BOOST_PP_IF(p(854, s), BOOST_PP_WHILE_854, s BOOST_PP_TUPLE_EAT_3)(p, o, o(854, s)) -# define BOOST_PP_WHILE_854_I(p, o, s) BOOST_PP_IF(p(855, s), BOOST_PP_WHILE_855, s BOOST_PP_TUPLE_EAT_3)(p, o, o(855, s)) -# define BOOST_PP_WHILE_855_I(p, o, s) BOOST_PP_IF(p(856, s), BOOST_PP_WHILE_856, s BOOST_PP_TUPLE_EAT_3)(p, o, o(856, s)) -# define BOOST_PP_WHILE_856_I(p, o, s) BOOST_PP_IF(p(857, s), BOOST_PP_WHILE_857, s BOOST_PP_TUPLE_EAT_3)(p, o, o(857, s)) -# define BOOST_PP_WHILE_857_I(p, o, s) BOOST_PP_IF(p(858, s), BOOST_PP_WHILE_858, s BOOST_PP_TUPLE_EAT_3)(p, o, o(858, s)) -# define BOOST_PP_WHILE_858_I(p, o, s) BOOST_PP_IF(p(859, s), BOOST_PP_WHILE_859, s BOOST_PP_TUPLE_EAT_3)(p, o, o(859, s)) -# define BOOST_PP_WHILE_859_I(p, o, s) BOOST_PP_IF(p(860, s), BOOST_PP_WHILE_860, s BOOST_PP_TUPLE_EAT_3)(p, o, o(860, s)) -# define BOOST_PP_WHILE_860_I(p, o, s) BOOST_PP_IF(p(861, s), BOOST_PP_WHILE_861, s BOOST_PP_TUPLE_EAT_3)(p, o, o(861, s)) -# define BOOST_PP_WHILE_861_I(p, o, s) BOOST_PP_IF(p(862, s), BOOST_PP_WHILE_862, s BOOST_PP_TUPLE_EAT_3)(p, o, o(862, s)) -# define BOOST_PP_WHILE_862_I(p, o, s) BOOST_PP_IF(p(863, s), BOOST_PP_WHILE_863, s BOOST_PP_TUPLE_EAT_3)(p, o, o(863, s)) -# define BOOST_PP_WHILE_863_I(p, o, s) BOOST_PP_IF(p(864, s), BOOST_PP_WHILE_864, s BOOST_PP_TUPLE_EAT_3)(p, o, o(864, s)) -# define BOOST_PP_WHILE_864_I(p, o, s) BOOST_PP_IF(p(865, s), BOOST_PP_WHILE_865, s BOOST_PP_TUPLE_EAT_3)(p, o, o(865, s)) -# define BOOST_PP_WHILE_865_I(p, o, s) BOOST_PP_IF(p(866, s), BOOST_PP_WHILE_866, s BOOST_PP_TUPLE_EAT_3)(p, o, o(866, s)) -# define BOOST_PP_WHILE_866_I(p, o, s) BOOST_PP_IF(p(867, s), BOOST_PP_WHILE_867, s BOOST_PP_TUPLE_EAT_3)(p, o, o(867, s)) -# define BOOST_PP_WHILE_867_I(p, o, s) BOOST_PP_IF(p(868, s), BOOST_PP_WHILE_868, s BOOST_PP_TUPLE_EAT_3)(p, o, o(868, s)) -# define BOOST_PP_WHILE_868_I(p, o, s) BOOST_PP_IF(p(869, s), BOOST_PP_WHILE_869, s BOOST_PP_TUPLE_EAT_3)(p, o, o(869, s)) -# define BOOST_PP_WHILE_869_I(p, o, s) BOOST_PP_IF(p(870, s), BOOST_PP_WHILE_870, s BOOST_PP_TUPLE_EAT_3)(p, o, o(870, s)) -# define BOOST_PP_WHILE_870_I(p, o, s) BOOST_PP_IF(p(871, s), BOOST_PP_WHILE_871, s BOOST_PP_TUPLE_EAT_3)(p, o, o(871, s)) -# define BOOST_PP_WHILE_871_I(p, o, s) BOOST_PP_IF(p(872, s), BOOST_PP_WHILE_872, s BOOST_PP_TUPLE_EAT_3)(p, o, o(872, s)) -# define BOOST_PP_WHILE_872_I(p, o, s) BOOST_PP_IF(p(873, s), BOOST_PP_WHILE_873, s BOOST_PP_TUPLE_EAT_3)(p, o, o(873, s)) -# define BOOST_PP_WHILE_873_I(p, o, s) BOOST_PP_IF(p(874, s), BOOST_PP_WHILE_874, s BOOST_PP_TUPLE_EAT_3)(p, o, o(874, s)) -# define BOOST_PP_WHILE_874_I(p, o, s) BOOST_PP_IF(p(875, s), BOOST_PP_WHILE_875, s BOOST_PP_TUPLE_EAT_3)(p, o, o(875, s)) -# define BOOST_PP_WHILE_875_I(p, o, s) BOOST_PP_IF(p(876, s), BOOST_PP_WHILE_876, s BOOST_PP_TUPLE_EAT_3)(p, o, o(876, s)) -# define BOOST_PP_WHILE_876_I(p, o, s) BOOST_PP_IF(p(877, s), BOOST_PP_WHILE_877, s BOOST_PP_TUPLE_EAT_3)(p, o, o(877, s)) -# define BOOST_PP_WHILE_877_I(p, o, s) BOOST_PP_IF(p(878, s), BOOST_PP_WHILE_878, s BOOST_PP_TUPLE_EAT_3)(p, o, o(878, s)) -# define BOOST_PP_WHILE_878_I(p, o, s) BOOST_PP_IF(p(879, s), BOOST_PP_WHILE_879, s BOOST_PP_TUPLE_EAT_3)(p, o, o(879, s)) -# define BOOST_PP_WHILE_879_I(p, o, s) BOOST_PP_IF(p(880, s), BOOST_PP_WHILE_880, s BOOST_PP_TUPLE_EAT_3)(p, o, o(880, s)) -# define BOOST_PP_WHILE_880_I(p, o, s) BOOST_PP_IF(p(881, s), BOOST_PP_WHILE_881, s BOOST_PP_TUPLE_EAT_3)(p, o, o(881, s)) -# define BOOST_PP_WHILE_881_I(p, o, s) BOOST_PP_IF(p(882, s), BOOST_PP_WHILE_882, s BOOST_PP_TUPLE_EAT_3)(p, o, o(882, s)) -# define BOOST_PP_WHILE_882_I(p, o, s) BOOST_PP_IF(p(883, s), BOOST_PP_WHILE_883, s BOOST_PP_TUPLE_EAT_3)(p, o, o(883, s)) -# define BOOST_PP_WHILE_883_I(p, o, s) BOOST_PP_IF(p(884, s), BOOST_PP_WHILE_884, s BOOST_PP_TUPLE_EAT_3)(p, o, o(884, s)) -# define BOOST_PP_WHILE_884_I(p, o, s) BOOST_PP_IF(p(885, s), BOOST_PP_WHILE_885, s BOOST_PP_TUPLE_EAT_3)(p, o, o(885, s)) -# define BOOST_PP_WHILE_885_I(p, o, s) BOOST_PP_IF(p(886, s), BOOST_PP_WHILE_886, s BOOST_PP_TUPLE_EAT_3)(p, o, o(886, s)) -# define BOOST_PP_WHILE_886_I(p, o, s) BOOST_PP_IF(p(887, s), BOOST_PP_WHILE_887, s BOOST_PP_TUPLE_EAT_3)(p, o, o(887, s)) -# define BOOST_PP_WHILE_887_I(p, o, s) BOOST_PP_IF(p(888, s), BOOST_PP_WHILE_888, s BOOST_PP_TUPLE_EAT_3)(p, o, o(888, s)) -# define BOOST_PP_WHILE_888_I(p, o, s) BOOST_PP_IF(p(889, s), BOOST_PP_WHILE_889, s BOOST_PP_TUPLE_EAT_3)(p, o, o(889, s)) -# define BOOST_PP_WHILE_889_I(p, o, s) BOOST_PP_IF(p(890, s), BOOST_PP_WHILE_890, s BOOST_PP_TUPLE_EAT_3)(p, o, o(890, s)) -# define BOOST_PP_WHILE_890_I(p, o, s) BOOST_PP_IF(p(891, s), BOOST_PP_WHILE_891, s BOOST_PP_TUPLE_EAT_3)(p, o, o(891, s)) -# define BOOST_PP_WHILE_891_I(p, o, s) BOOST_PP_IF(p(892, s), BOOST_PP_WHILE_892, s BOOST_PP_TUPLE_EAT_3)(p, o, o(892, s)) -# define BOOST_PP_WHILE_892_I(p, o, s) BOOST_PP_IF(p(893, s), BOOST_PP_WHILE_893, s BOOST_PP_TUPLE_EAT_3)(p, o, o(893, s)) -# define BOOST_PP_WHILE_893_I(p, o, s) BOOST_PP_IF(p(894, s), BOOST_PP_WHILE_894, s BOOST_PP_TUPLE_EAT_3)(p, o, o(894, s)) -# define BOOST_PP_WHILE_894_I(p, o, s) BOOST_PP_IF(p(895, s), BOOST_PP_WHILE_895, s BOOST_PP_TUPLE_EAT_3)(p, o, o(895, s)) -# define BOOST_PP_WHILE_895_I(p, o, s) BOOST_PP_IF(p(896, s), BOOST_PP_WHILE_896, s BOOST_PP_TUPLE_EAT_3)(p, o, o(896, s)) -# define BOOST_PP_WHILE_896_I(p, o, s) BOOST_PP_IF(p(897, s), BOOST_PP_WHILE_897, s BOOST_PP_TUPLE_EAT_3)(p, o, o(897, s)) -# define BOOST_PP_WHILE_897_I(p, o, s) BOOST_PP_IF(p(898, s), BOOST_PP_WHILE_898, s BOOST_PP_TUPLE_EAT_3)(p, o, o(898, s)) -# define BOOST_PP_WHILE_898_I(p, o, s) BOOST_PP_IF(p(899, s), BOOST_PP_WHILE_899, s BOOST_PP_TUPLE_EAT_3)(p, o, o(899, s)) -# define BOOST_PP_WHILE_899_I(p, o, s) BOOST_PP_IF(p(900, s), BOOST_PP_WHILE_900, s BOOST_PP_TUPLE_EAT_3)(p, o, o(900, s)) -# define BOOST_PP_WHILE_900_I(p, o, s) BOOST_PP_IF(p(901, s), BOOST_PP_WHILE_901, s BOOST_PP_TUPLE_EAT_3)(p, o, o(901, s)) -# define BOOST_PP_WHILE_901_I(p, o, s) BOOST_PP_IF(p(902, s), BOOST_PP_WHILE_902, s BOOST_PP_TUPLE_EAT_3)(p, o, o(902, s)) -# define BOOST_PP_WHILE_902_I(p, o, s) BOOST_PP_IF(p(903, s), BOOST_PP_WHILE_903, s BOOST_PP_TUPLE_EAT_3)(p, o, o(903, s)) -# define BOOST_PP_WHILE_903_I(p, o, s) BOOST_PP_IF(p(904, s), BOOST_PP_WHILE_904, s BOOST_PP_TUPLE_EAT_3)(p, o, o(904, s)) -# define BOOST_PP_WHILE_904_I(p, o, s) BOOST_PP_IF(p(905, s), BOOST_PP_WHILE_905, s BOOST_PP_TUPLE_EAT_3)(p, o, o(905, s)) -# define BOOST_PP_WHILE_905_I(p, o, s) BOOST_PP_IF(p(906, s), BOOST_PP_WHILE_906, s BOOST_PP_TUPLE_EAT_3)(p, o, o(906, s)) -# define BOOST_PP_WHILE_906_I(p, o, s) BOOST_PP_IF(p(907, s), BOOST_PP_WHILE_907, s BOOST_PP_TUPLE_EAT_3)(p, o, o(907, s)) -# define BOOST_PP_WHILE_907_I(p, o, s) BOOST_PP_IF(p(908, s), BOOST_PP_WHILE_908, s BOOST_PP_TUPLE_EAT_3)(p, o, o(908, s)) -# define BOOST_PP_WHILE_908_I(p, o, s) BOOST_PP_IF(p(909, s), BOOST_PP_WHILE_909, s BOOST_PP_TUPLE_EAT_3)(p, o, o(909, s)) -# define BOOST_PP_WHILE_909_I(p, o, s) BOOST_PP_IF(p(910, s), BOOST_PP_WHILE_910, s BOOST_PP_TUPLE_EAT_3)(p, o, o(910, s)) -# define BOOST_PP_WHILE_910_I(p, o, s) BOOST_PP_IF(p(911, s), BOOST_PP_WHILE_911, s BOOST_PP_TUPLE_EAT_3)(p, o, o(911, s)) -# define BOOST_PP_WHILE_911_I(p, o, s) BOOST_PP_IF(p(912, s), BOOST_PP_WHILE_912, s BOOST_PP_TUPLE_EAT_3)(p, o, o(912, s)) -# define BOOST_PP_WHILE_912_I(p, o, s) BOOST_PP_IF(p(913, s), BOOST_PP_WHILE_913, s BOOST_PP_TUPLE_EAT_3)(p, o, o(913, s)) -# define BOOST_PP_WHILE_913_I(p, o, s) BOOST_PP_IF(p(914, s), BOOST_PP_WHILE_914, s BOOST_PP_TUPLE_EAT_3)(p, o, o(914, s)) -# define BOOST_PP_WHILE_914_I(p, o, s) BOOST_PP_IF(p(915, s), BOOST_PP_WHILE_915, s BOOST_PP_TUPLE_EAT_3)(p, o, o(915, s)) -# define BOOST_PP_WHILE_915_I(p, o, s) BOOST_PP_IF(p(916, s), BOOST_PP_WHILE_916, s BOOST_PP_TUPLE_EAT_3)(p, o, o(916, s)) -# define BOOST_PP_WHILE_916_I(p, o, s) BOOST_PP_IF(p(917, s), BOOST_PP_WHILE_917, s BOOST_PP_TUPLE_EAT_3)(p, o, o(917, s)) -# define BOOST_PP_WHILE_917_I(p, o, s) BOOST_PP_IF(p(918, s), BOOST_PP_WHILE_918, s BOOST_PP_TUPLE_EAT_3)(p, o, o(918, s)) -# define BOOST_PP_WHILE_918_I(p, o, s) BOOST_PP_IF(p(919, s), BOOST_PP_WHILE_919, s BOOST_PP_TUPLE_EAT_3)(p, o, o(919, s)) -# define BOOST_PP_WHILE_919_I(p, o, s) BOOST_PP_IF(p(920, s), BOOST_PP_WHILE_920, s BOOST_PP_TUPLE_EAT_3)(p, o, o(920, s)) -# define BOOST_PP_WHILE_920_I(p, o, s) BOOST_PP_IF(p(921, s), BOOST_PP_WHILE_921, s BOOST_PP_TUPLE_EAT_3)(p, o, o(921, s)) -# define BOOST_PP_WHILE_921_I(p, o, s) BOOST_PP_IF(p(922, s), BOOST_PP_WHILE_922, s BOOST_PP_TUPLE_EAT_3)(p, o, o(922, s)) -# define BOOST_PP_WHILE_922_I(p, o, s) BOOST_PP_IF(p(923, s), BOOST_PP_WHILE_923, s BOOST_PP_TUPLE_EAT_3)(p, o, o(923, s)) -# define BOOST_PP_WHILE_923_I(p, o, s) BOOST_PP_IF(p(924, s), BOOST_PP_WHILE_924, s BOOST_PP_TUPLE_EAT_3)(p, o, o(924, s)) -# define BOOST_PP_WHILE_924_I(p, o, s) BOOST_PP_IF(p(925, s), BOOST_PP_WHILE_925, s BOOST_PP_TUPLE_EAT_3)(p, o, o(925, s)) -# define BOOST_PP_WHILE_925_I(p, o, s) BOOST_PP_IF(p(926, s), BOOST_PP_WHILE_926, s BOOST_PP_TUPLE_EAT_3)(p, o, o(926, s)) -# define BOOST_PP_WHILE_926_I(p, o, s) BOOST_PP_IF(p(927, s), BOOST_PP_WHILE_927, s BOOST_PP_TUPLE_EAT_3)(p, o, o(927, s)) -# define BOOST_PP_WHILE_927_I(p, o, s) BOOST_PP_IF(p(928, s), BOOST_PP_WHILE_928, s BOOST_PP_TUPLE_EAT_3)(p, o, o(928, s)) -# define BOOST_PP_WHILE_928_I(p, o, s) BOOST_PP_IF(p(929, s), BOOST_PP_WHILE_929, s BOOST_PP_TUPLE_EAT_3)(p, o, o(929, s)) -# define BOOST_PP_WHILE_929_I(p, o, s) BOOST_PP_IF(p(930, s), BOOST_PP_WHILE_930, s BOOST_PP_TUPLE_EAT_3)(p, o, o(930, s)) -# define BOOST_PP_WHILE_930_I(p, o, s) BOOST_PP_IF(p(931, s), BOOST_PP_WHILE_931, s BOOST_PP_TUPLE_EAT_3)(p, o, o(931, s)) -# define BOOST_PP_WHILE_931_I(p, o, s) BOOST_PP_IF(p(932, s), BOOST_PP_WHILE_932, s BOOST_PP_TUPLE_EAT_3)(p, o, o(932, s)) -# define BOOST_PP_WHILE_932_I(p, o, s) BOOST_PP_IF(p(933, s), BOOST_PP_WHILE_933, s BOOST_PP_TUPLE_EAT_3)(p, o, o(933, s)) -# define BOOST_PP_WHILE_933_I(p, o, s) BOOST_PP_IF(p(934, s), BOOST_PP_WHILE_934, s BOOST_PP_TUPLE_EAT_3)(p, o, o(934, s)) -# define BOOST_PP_WHILE_934_I(p, o, s) BOOST_PP_IF(p(935, s), BOOST_PP_WHILE_935, s BOOST_PP_TUPLE_EAT_3)(p, o, o(935, s)) -# define BOOST_PP_WHILE_935_I(p, o, s) BOOST_PP_IF(p(936, s), BOOST_PP_WHILE_936, s BOOST_PP_TUPLE_EAT_3)(p, o, o(936, s)) -# define BOOST_PP_WHILE_936_I(p, o, s) BOOST_PP_IF(p(937, s), BOOST_PP_WHILE_937, s BOOST_PP_TUPLE_EAT_3)(p, o, o(937, s)) -# define BOOST_PP_WHILE_937_I(p, o, s) BOOST_PP_IF(p(938, s), BOOST_PP_WHILE_938, s BOOST_PP_TUPLE_EAT_3)(p, o, o(938, s)) -# define BOOST_PP_WHILE_938_I(p, o, s) BOOST_PP_IF(p(939, s), BOOST_PP_WHILE_939, s BOOST_PP_TUPLE_EAT_3)(p, o, o(939, s)) -# define BOOST_PP_WHILE_939_I(p, o, s) BOOST_PP_IF(p(940, s), BOOST_PP_WHILE_940, s BOOST_PP_TUPLE_EAT_3)(p, o, o(940, s)) -# define BOOST_PP_WHILE_940_I(p, o, s) BOOST_PP_IF(p(941, s), BOOST_PP_WHILE_941, s BOOST_PP_TUPLE_EAT_3)(p, o, o(941, s)) -# define BOOST_PP_WHILE_941_I(p, o, s) BOOST_PP_IF(p(942, s), BOOST_PP_WHILE_942, s BOOST_PP_TUPLE_EAT_3)(p, o, o(942, s)) -# define BOOST_PP_WHILE_942_I(p, o, s) BOOST_PP_IF(p(943, s), BOOST_PP_WHILE_943, s BOOST_PP_TUPLE_EAT_3)(p, o, o(943, s)) -# define BOOST_PP_WHILE_943_I(p, o, s) BOOST_PP_IF(p(944, s), BOOST_PP_WHILE_944, s BOOST_PP_TUPLE_EAT_3)(p, o, o(944, s)) -# define BOOST_PP_WHILE_944_I(p, o, s) BOOST_PP_IF(p(945, s), BOOST_PP_WHILE_945, s BOOST_PP_TUPLE_EAT_3)(p, o, o(945, s)) -# define BOOST_PP_WHILE_945_I(p, o, s) BOOST_PP_IF(p(946, s), BOOST_PP_WHILE_946, s BOOST_PP_TUPLE_EAT_3)(p, o, o(946, s)) -# define BOOST_PP_WHILE_946_I(p, o, s) BOOST_PP_IF(p(947, s), BOOST_PP_WHILE_947, s BOOST_PP_TUPLE_EAT_3)(p, o, o(947, s)) -# define BOOST_PP_WHILE_947_I(p, o, s) BOOST_PP_IF(p(948, s), BOOST_PP_WHILE_948, s BOOST_PP_TUPLE_EAT_3)(p, o, o(948, s)) -# define BOOST_PP_WHILE_948_I(p, o, s) BOOST_PP_IF(p(949, s), BOOST_PP_WHILE_949, s BOOST_PP_TUPLE_EAT_3)(p, o, o(949, s)) -# define BOOST_PP_WHILE_949_I(p, o, s) BOOST_PP_IF(p(950, s), BOOST_PP_WHILE_950, s BOOST_PP_TUPLE_EAT_3)(p, o, o(950, s)) -# define BOOST_PP_WHILE_950_I(p, o, s) BOOST_PP_IF(p(951, s), BOOST_PP_WHILE_951, s BOOST_PP_TUPLE_EAT_3)(p, o, o(951, s)) -# define BOOST_PP_WHILE_951_I(p, o, s) BOOST_PP_IF(p(952, s), BOOST_PP_WHILE_952, s BOOST_PP_TUPLE_EAT_3)(p, o, o(952, s)) -# define BOOST_PP_WHILE_952_I(p, o, s) BOOST_PP_IF(p(953, s), BOOST_PP_WHILE_953, s BOOST_PP_TUPLE_EAT_3)(p, o, o(953, s)) -# define BOOST_PP_WHILE_953_I(p, o, s) BOOST_PP_IF(p(954, s), BOOST_PP_WHILE_954, s BOOST_PP_TUPLE_EAT_3)(p, o, o(954, s)) -# define BOOST_PP_WHILE_954_I(p, o, s) BOOST_PP_IF(p(955, s), BOOST_PP_WHILE_955, s BOOST_PP_TUPLE_EAT_3)(p, o, o(955, s)) -# define BOOST_PP_WHILE_955_I(p, o, s) BOOST_PP_IF(p(956, s), BOOST_PP_WHILE_956, s BOOST_PP_TUPLE_EAT_3)(p, o, o(956, s)) -# define BOOST_PP_WHILE_956_I(p, o, s) BOOST_PP_IF(p(957, s), BOOST_PP_WHILE_957, s BOOST_PP_TUPLE_EAT_3)(p, o, o(957, s)) -# define BOOST_PP_WHILE_957_I(p, o, s) BOOST_PP_IF(p(958, s), BOOST_PP_WHILE_958, s BOOST_PP_TUPLE_EAT_3)(p, o, o(958, s)) -# define BOOST_PP_WHILE_958_I(p, o, s) BOOST_PP_IF(p(959, s), BOOST_PP_WHILE_959, s BOOST_PP_TUPLE_EAT_3)(p, o, o(959, s)) -# define BOOST_PP_WHILE_959_I(p, o, s) BOOST_PP_IF(p(960, s), BOOST_PP_WHILE_960, s BOOST_PP_TUPLE_EAT_3)(p, o, o(960, s)) -# define BOOST_PP_WHILE_960_I(p, o, s) BOOST_PP_IF(p(961, s), BOOST_PP_WHILE_961, s BOOST_PP_TUPLE_EAT_3)(p, o, o(961, s)) -# define BOOST_PP_WHILE_961_I(p, o, s) BOOST_PP_IF(p(962, s), BOOST_PP_WHILE_962, s BOOST_PP_TUPLE_EAT_3)(p, o, o(962, s)) -# define BOOST_PP_WHILE_962_I(p, o, s) BOOST_PP_IF(p(963, s), BOOST_PP_WHILE_963, s BOOST_PP_TUPLE_EAT_3)(p, o, o(963, s)) -# define BOOST_PP_WHILE_963_I(p, o, s) BOOST_PP_IF(p(964, s), BOOST_PP_WHILE_964, s BOOST_PP_TUPLE_EAT_3)(p, o, o(964, s)) -# define BOOST_PP_WHILE_964_I(p, o, s) BOOST_PP_IF(p(965, s), BOOST_PP_WHILE_965, s BOOST_PP_TUPLE_EAT_3)(p, o, o(965, s)) -# define BOOST_PP_WHILE_965_I(p, o, s) BOOST_PP_IF(p(966, s), BOOST_PP_WHILE_966, s BOOST_PP_TUPLE_EAT_3)(p, o, o(966, s)) -# define BOOST_PP_WHILE_966_I(p, o, s) BOOST_PP_IF(p(967, s), BOOST_PP_WHILE_967, s BOOST_PP_TUPLE_EAT_3)(p, o, o(967, s)) -# define BOOST_PP_WHILE_967_I(p, o, s) BOOST_PP_IF(p(968, s), BOOST_PP_WHILE_968, s BOOST_PP_TUPLE_EAT_3)(p, o, o(968, s)) -# define BOOST_PP_WHILE_968_I(p, o, s) BOOST_PP_IF(p(969, s), BOOST_PP_WHILE_969, s BOOST_PP_TUPLE_EAT_3)(p, o, o(969, s)) -# define BOOST_PP_WHILE_969_I(p, o, s) BOOST_PP_IF(p(970, s), BOOST_PP_WHILE_970, s BOOST_PP_TUPLE_EAT_3)(p, o, o(970, s)) -# define BOOST_PP_WHILE_970_I(p, o, s) BOOST_PP_IF(p(971, s), BOOST_PP_WHILE_971, s BOOST_PP_TUPLE_EAT_3)(p, o, o(971, s)) -# define BOOST_PP_WHILE_971_I(p, o, s) BOOST_PP_IF(p(972, s), BOOST_PP_WHILE_972, s BOOST_PP_TUPLE_EAT_3)(p, o, o(972, s)) -# define BOOST_PP_WHILE_972_I(p, o, s) BOOST_PP_IF(p(973, s), BOOST_PP_WHILE_973, s BOOST_PP_TUPLE_EAT_3)(p, o, o(973, s)) -# define BOOST_PP_WHILE_973_I(p, o, s) BOOST_PP_IF(p(974, s), BOOST_PP_WHILE_974, s BOOST_PP_TUPLE_EAT_3)(p, o, o(974, s)) -# define BOOST_PP_WHILE_974_I(p, o, s) BOOST_PP_IF(p(975, s), BOOST_PP_WHILE_975, s BOOST_PP_TUPLE_EAT_3)(p, o, o(975, s)) -# define BOOST_PP_WHILE_975_I(p, o, s) BOOST_PP_IF(p(976, s), BOOST_PP_WHILE_976, s BOOST_PP_TUPLE_EAT_3)(p, o, o(976, s)) -# define BOOST_PP_WHILE_976_I(p, o, s) BOOST_PP_IF(p(977, s), BOOST_PP_WHILE_977, s BOOST_PP_TUPLE_EAT_3)(p, o, o(977, s)) -# define BOOST_PP_WHILE_977_I(p, o, s) BOOST_PP_IF(p(978, s), BOOST_PP_WHILE_978, s BOOST_PP_TUPLE_EAT_3)(p, o, o(978, s)) -# define BOOST_PP_WHILE_978_I(p, o, s) BOOST_PP_IF(p(979, s), BOOST_PP_WHILE_979, s BOOST_PP_TUPLE_EAT_3)(p, o, o(979, s)) -# define BOOST_PP_WHILE_979_I(p, o, s) BOOST_PP_IF(p(980, s), BOOST_PP_WHILE_980, s BOOST_PP_TUPLE_EAT_3)(p, o, o(980, s)) -# define BOOST_PP_WHILE_980_I(p, o, s) BOOST_PP_IF(p(981, s), BOOST_PP_WHILE_981, s BOOST_PP_TUPLE_EAT_3)(p, o, o(981, s)) -# define BOOST_PP_WHILE_981_I(p, o, s) BOOST_PP_IF(p(982, s), BOOST_PP_WHILE_982, s BOOST_PP_TUPLE_EAT_3)(p, o, o(982, s)) -# define BOOST_PP_WHILE_982_I(p, o, s) BOOST_PP_IF(p(983, s), BOOST_PP_WHILE_983, s BOOST_PP_TUPLE_EAT_3)(p, o, o(983, s)) -# define BOOST_PP_WHILE_983_I(p, o, s) BOOST_PP_IF(p(984, s), BOOST_PP_WHILE_984, s BOOST_PP_TUPLE_EAT_3)(p, o, o(984, s)) -# define BOOST_PP_WHILE_984_I(p, o, s) BOOST_PP_IF(p(985, s), BOOST_PP_WHILE_985, s BOOST_PP_TUPLE_EAT_3)(p, o, o(985, s)) -# define BOOST_PP_WHILE_985_I(p, o, s) BOOST_PP_IF(p(986, s), BOOST_PP_WHILE_986, s BOOST_PP_TUPLE_EAT_3)(p, o, o(986, s)) -# define BOOST_PP_WHILE_986_I(p, o, s) BOOST_PP_IF(p(987, s), BOOST_PP_WHILE_987, s BOOST_PP_TUPLE_EAT_3)(p, o, o(987, s)) -# define BOOST_PP_WHILE_987_I(p, o, s) BOOST_PP_IF(p(988, s), BOOST_PP_WHILE_988, s BOOST_PP_TUPLE_EAT_3)(p, o, o(988, s)) -# define BOOST_PP_WHILE_988_I(p, o, s) BOOST_PP_IF(p(989, s), BOOST_PP_WHILE_989, s BOOST_PP_TUPLE_EAT_3)(p, o, o(989, s)) -# define BOOST_PP_WHILE_989_I(p, o, s) BOOST_PP_IF(p(990, s), BOOST_PP_WHILE_990, s BOOST_PP_TUPLE_EAT_3)(p, o, o(990, s)) -# define BOOST_PP_WHILE_990_I(p, o, s) BOOST_PP_IF(p(991, s), BOOST_PP_WHILE_991, s BOOST_PP_TUPLE_EAT_3)(p, o, o(991, s)) -# define BOOST_PP_WHILE_991_I(p, o, s) BOOST_PP_IF(p(992, s), BOOST_PP_WHILE_992, s BOOST_PP_TUPLE_EAT_3)(p, o, o(992, s)) -# define BOOST_PP_WHILE_992_I(p, o, s) BOOST_PP_IF(p(993, s), BOOST_PP_WHILE_993, s BOOST_PP_TUPLE_EAT_3)(p, o, o(993, s)) -# define BOOST_PP_WHILE_993_I(p, o, s) BOOST_PP_IF(p(994, s), BOOST_PP_WHILE_994, s BOOST_PP_TUPLE_EAT_3)(p, o, o(994, s)) -# define BOOST_PP_WHILE_994_I(p, o, s) BOOST_PP_IF(p(995, s), BOOST_PP_WHILE_995, s BOOST_PP_TUPLE_EAT_3)(p, o, o(995, s)) -# define BOOST_PP_WHILE_995_I(p, o, s) BOOST_PP_IF(p(996, s), BOOST_PP_WHILE_996, s BOOST_PP_TUPLE_EAT_3)(p, o, o(996, s)) -# define BOOST_PP_WHILE_996_I(p, o, s) BOOST_PP_IF(p(997, s), BOOST_PP_WHILE_997, s BOOST_PP_TUPLE_EAT_3)(p, o, o(997, s)) -# define BOOST_PP_WHILE_997_I(p, o, s) BOOST_PP_IF(p(998, s), BOOST_PP_WHILE_998, s BOOST_PP_TUPLE_EAT_3)(p, o, o(998, s)) -# define BOOST_PP_WHILE_998_I(p, o, s) BOOST_PP_IF(p(999, s), BOOST_PP_WHILE_999, s BOOST_PP_TUPLE_EAT_3)(p, o, o(999, s)) -# define BOOST_PP_WHILE_999_I(p, o, s) BOOST_PP_IF(p(1000, s), BOOST_PP_WHILE_1000, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1000, s)) -# define BOOST_PP_WHILE_1000_I(p, o, s) BOOST_PP_IF(p(1001, s), BOOST_PP_WHILE_1001, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1001, s)) -# define BOOST_PP_WHILE_1001_I(p, o, s) BOOST_PP_IF(p(1002, s), BOOST_PP_WHILE_1002, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1002, s)) -# define BOOST_PP_WHILE_1002_I(p, o, s) BOOST_PP_IF(p(1003, s), BOOST_PP_WHILE_1003, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1003, s)) -# define BOOST_PP_WHILE_1003_I(p, o, s) BOOST_PP_IF(p(1004, s), BOOST_PP_WHILE_1004, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1004, s)) -# define BOOST_PP_WHILE_1004_I(p, o, s) BOOST_PP_IF(p(1005, s), BOOST_PP_WHILE_1005, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1005, s)) -# define BOOST_PP_WHILE_1005_I(p, o, s) BOOST_PP_IF(p(1006, s), BOOST_PP_WHILE_1006, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1006, s)) -# define BOOST_PP_WHILE_1006_I(p, o, s) BOOST_PP_IF(p(1007, s), BOOST_PP_WHILE_1007, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1007, s)) -# define BOOST_PP_WHILE_1007_I(p, o, s) BOOST_PP_IF(p(1008, s), BOOST_PP_WHILE_1008, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1008, s)) -# define BOOST_PP_WHILE_1008_I(p, o, s) BOOST_PP_IF(p(1009, s), BOOST_PP_WHILE_1009, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1009, s)) -# define BOOST_PP_WHILE_1009_I(p, o, s) BOOST_PP_IF(p(1010, s), BOOST_PP_WHILE_1010, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1010, s)) -# define BOOST_PP_WHILE_1010_I(p, o, s) BOOST_PP_IF(p(1011, s), BOOST_PP_WHILE_1011, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1011, s)) -# define BOOST_PP_WHILE_1011_I(p, o, s) BOOST_PP_IF(p(1012, s), BOOST_PP_WHILE_1012, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1012, s)) -# define BOOST_PP_WHILE_1012_I(p, o, s) BOOST_PP_IF(p(1013, s), BOOST_PP_WHILE_1013, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1013, s)) -# define BOOST_PP_WHILE_1013_I(p, o, s) BOOST_PP_IF(p(1014, s), BOOST_PP_WHILE_1014, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1014, s)) -# define BOOST_PP_WHILE_1014_I(p, o, s) BOOST_PP_IF(p(1015, s), BOOST_PP_WHILE_1015, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1015, s)) -# define BOOST_PP_WHILE_1015_I(p, o, s) BOOST_PP_IF(p(1016, s), BOOST_PP_WHILE_1016, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1016, s)) -# define BOOST_PP_WHILE_1016_I(p, o, s) BOOST_PP_IF(p(1017, s), BOOST_PP_WHILE_1017, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1017, s)) -# define BOOST_PP_WHILE_1017_I(p, o, s) BOOST_PP_IF(p(1018, s), BOOST_PP_WHILE_1018, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1018, s)) -# define BOOST_PP_WHILE_1018_I(p, o, s) BOOST_PP_IF(p(1019, s), BOOST_PP_WHILE_1019, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1019, s)) -# define BOOST_PP_WHILE_1019_I(p, o, s) BOOST_PP_IF(p(1020, s), BOOST_PP_WHILE_1020, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1020, s)) -# define BOOST_PP_WHILE_1020_I(p, o, s) BOOST_PP_IF(p(1021, s), BOOST_PP_WHILE_1021, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1021, s)) -# define BOOST_PP_WHILE_1021_I(p, o, s) BOOST_PP_IF(p(1022, s), BOOST_PP_WHILE_1022, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1022, s)) -# define BOOST_PP_WHILE_1022_I(p, o, s) BOOST_PP_IF(p(1023, s), BOOST_PP_WHILE_1023, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1023, s)) -# define BOOST_PP_WHILE_1023_I(p, o, s) BOOST_PP_IF(p(1024, s), BOOST_PP_WHILE_1024, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1024, s)) -# define BOOST_PP_WHILE_1024_I(p, o, s) BOOST_PP_IF(p(1025, s), BOOST_PP_WHILE_1025, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1025, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_256.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_256.hpp deleted file mode 100644 index 17e8b2346e..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_256.hpp +++ /dev/null @@ -1,533 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_256_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_256_HPP -# -# define BOOST_PP_WHILE_0(p, o, s) BOOST_PP_WHILE_0_I(p, o, s) -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s) -# -# define BOOST_PP_WHILE_0_I(p, o, s) BOOST_PP_IF(p(1, s), BOOST_PP_WHILE_1, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1, s)) -# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) -# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) -# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) -# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) -# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) -# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) -# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) -# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) -# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) -# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) -# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) -# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) -# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) -# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) -# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) -# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) -# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) -# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) -# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) -# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) -# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) -# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) -# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) -# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) -# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) -# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) -# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) -# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) -# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) -# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) -# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) -# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) -# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) -# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) -# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) -# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) -# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) -# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) -# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) -# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) -# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) -# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) -# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) -# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) -# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) -# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) -# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) -# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) -# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) -# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) -# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) -# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) -# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) -# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) -# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) -# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) -# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) -# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) -# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) -# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) -# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) -# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) -# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) -# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) -# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) -# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) -# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) -# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) -# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) -# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) -# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) -# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) -# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) -# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) -# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) -# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) -# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) -# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) -# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) -# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) -# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) -# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) -# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) -# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) -# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) -# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) -# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) -# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) -# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) -# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) -# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) -# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) -# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) -# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) -# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) -# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) -# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) -# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) -# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) -# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) -# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) -# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) -# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) -# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) -# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) -# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) -# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) -# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) -# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) -# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) -# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) -# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) -# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) -# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) -# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) -# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) -# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) -# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) -# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) -# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) -# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) -# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) -# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) -# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) -# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) -# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) -# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) -# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) -# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) -# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) -# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) -# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) -# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) -# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) -# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) -# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) -# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) -# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) -# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) -# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) -# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) -# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) -# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) -# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) -# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) -# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) -# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) -# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) -# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) -# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) -# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) -# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) -# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) -# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) -# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) -# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) -# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) -# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) -# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) -# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) -# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) -# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) -# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) -# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) -# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) -# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) -# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) -# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) -# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) -# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) -# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) -# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) -# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) -# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) -# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) -# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) -# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) -# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) -# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) -# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) -# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) -# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) -# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) -# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) -# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) -# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) -# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) -# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) -# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) -# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) -# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) -# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) -# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) -# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) -# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) -# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) -# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) -# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) -# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) -# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) -# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) -# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) -# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) -# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) -# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) -# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) -# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) -# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) -# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) -# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) -# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) -# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) -# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) -# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) -# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) -# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) -# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) -# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) -# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) -# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) -# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) -# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) -# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) -# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) -# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) -# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) -# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) -# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) -# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) -# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) -# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) -# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) -# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) -# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) -# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) -# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) -# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) -# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) -# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) -# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) -# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) -# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) -# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) -# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) -# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) -# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) -# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) -# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) -# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) -# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) -# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) -# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) -# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) -# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) -# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) -# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_512.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_512.hpp deleted file mode 100644 index 30be55d666..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/limits/while_512.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_512_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_512_HPP -# -# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_WHILE_257_I(p, o, s) -# define BOOST_PP_WHILE_258(p, o, s) BOOST_PP_WHILE_258_I(p, o, s) -# define BOOST_PP_WHILE_259(p, o, s) BOOST_PP_WHILE_259_I(p, o, s) -# define BOOST_PP_WHILE_260(p, o, s) BOOST_PP_WHILE_260_I(p, o, s) -# define BOOST_PP_WHILE_261(p, o, s) BOOST_PP_WHILE_261_I(p, o, s) -# define BOOST_PP_WHILE_262(p, o, s) BOOST_PP_WHILE_262_I(p, o, s) -# define BOOST_PP_WHILE_263(p, o, s) BOOST_PP_WHILE_263_I(p, o, s) -# define BOOST_PP_WHILE_264(p, o, s) BOOST_PP_WHILE_264_I(p, o, s) -# define BOOST_PP_WHILE_265(p, o, s) BOOST_PP_WHILE_265_I(p, o, s) -# define BOOST_PP_WHILE_266(p, o, s) BOOST_PP_WHILE_266_I(p, o, s) -# define BOOST_PP_WHILE_267(p, o, s) BOOST_PP_WHILE_267_I(p, o, s) -# define BOOST_PP_WHILE_268(p, o, s) BOOST_PP_WHILE_268_I(p, o, s) -# define BOOST_PP_WHILE_269(p, o, s) BOOST_PP_WHILE_269_I(p, o, s) -# define BOOST_PP_WHILE_270(p, o, s) BOOST_PP_WHILE_270_I(p, o, s) -# define BOOST_PP_WHILE_271(p, o, s) BOOST_PP_WHILE_271_I(p, o, s) -# define BOOST_PP_WHILE_272(p, o, s) BOOST_PP_WHILE_272_I(p, o, s) -# define BOOST_PP_WHILE_273(p, o, s) BOOST_PP_WHILE_273_I(p, o, s) -# define BOOST_PP_WHILE_274(p, o, s) BOOST_PP_WHILE_274_I(p, o, s) -# define BOOST_PP_WHILE_275(p, o, s) BOOST_PP_WHILE_275_I(p, o, s) -# define BOOST_PP_WHILE_276(p, o, s) BOOST_PP_WHILE_276_I(p, o, s) -# define BOOST_PP_WHILE_277(p, o, s) BOOST_PP_WHILE_277_I(p, o, s) -# define BOOST_PP_WHILE_278(p, o, s) BOOST_PP_WHILE_278_I(p, o, s) -# define BOOST_PP_WHILE_279(p, o, s) BOOST_PP_WHILE_279_I(p, o, s) -# define BOOST_PP_WHILE_280(p, o, s) BOOST_PP_WHILE_280_I(p, o, s) -# define BOOST_PP_WHILE_281(p, o, s) BOOST_PP_WHILE_281_I(p, o, s) -# define BOOST_PP_WHILE_282(p, o, s) BOOST_PP_WHILE_282_I(p, o, s) -# define BOOST_PP_WHILE_283(p, o, s) BOOST_PP_WHILE_283_I(p, o, s) -# define BOOST_PP_WHILE_284(p, o, s) BOOST_PP_WHILE_284_I(p, o, s) -# define BOOST_PP_WHILE_285(p, o, s) BOOST_PP_WHILE_285_I(p, o, s) -# define BOOST_PP_WHILE_286(p, o, s) BOOST_PP_WHILE_286_I(p, o, s) -# define BOOST_PP_WHILE_287(p, o, s) BOOST_PP_WHILE_287_I(p, o, s) -# define BOOST_PP_WHILE_288(p, o, s) BOOST_PP_WHILE_288_I(p, o, s) -# define BOOST_PP_WHILE_289(p, o, s) BOOST_PP_WHILE_289_I(p, o, s) -# define BOOST_PP_WHILE_290(p, o, s) BOOST_PP_WHILE_290_I(p, o, s) -# define BOOST_PP_WHILE_291(p, o, s) BOOST_PP_WHILE_291_I(p, o, s) -# define BOOST_PP_WHILE_292(p, o, s) BOOST_PP_WHILE_292_I(p, o, s) -# define BOOST_PP_WHILE_293(p, o, s) BOOST_PP_WHILE_293_I(p, o, s) -# define BOOST_PP_WHILE_294(p, o, s) BOOST_PP_WHILE_294_I(p, o, s) -# define BOOST_PP_WHILE_295(p, o, s) BOOST_PP_WHILE_295_I(p, o, s) -# define BOOST_PP_WHILE_296(p, o, s) BOOST_PP_WHILE_296_I(p, o, s) -# define BOOST_PP_WHILE_297(p, o, s) BOOST_PP_WHILE_297_I(p, o, s) -# define BOOST_PP_WHILE_298(p, o, s) BOOST_PP_WHILE_298_I(p, o, s) -# define BOOST_PP_WHILE_299(p, o, s) BOOST_PP_WHILE_299_I(p, o, s) -# define BOOST_PP_WHILE_300(p, o, s) BOOST_PP_WHILE_300_I(p, o, s) -# define BOOST_PP_WHILE_301(p, o, s) BOOST_PP_WHILE_301_I(p, o, s) -# define BOOST_PP_WHILE_302(p, o, s) BOOST_PP_WHILE_302_I(p, o, s) -# define BOOST_PP_WHILE_303(p, o, s) BOOST_PP_WHILE_303_I(p, o, s) -# define BOOST_PP_WHILE_304(p, o, s) BOOST_PP_WHILE_304_I(p, o, s) -# define BOOST_PP_WHILE_305(p, o, s) BOOST_PP_WHILE_305_I(p, o, s) -# define BOOST_PP_WHILE_306(p, o, s) BOOST_PP_WHILE_306_I(p, o, s) -# define BOOST_PP_WHILE_307(p, o, s) BOOST_PP_WHILE_307_I(p, o, s) -# define BOOST_PP_WHILE_308(p, o, s) BOOST_PP_WHILE_308_I(p, o, s) -# define BOOST_PP_WHILE_309(p, o, s) BOOST_PP_WHILE_309_I(p, o, s) -# define BOOST_PP_WHILE_310(p, o, s) BOOST_PP_WHILE_310_I(p, o, s) -# define BOOST_PP_WHILE_311(p, o, s) BOOST_PP_WHILE_311_I(p, o, s) -# define BOOST_PP_WHILE_312(p, o, s) BOOST_PP_WHILE_312_I(p, o, s) -# define BOOST_PP_WHILE_313(p, o, s) BOOST_PP_WHILE_313_I(p, o, s) -# define BOOST_PP_WHILE_314(p, o, s) BOOST_PP_WHILE_314_I(p, o, s) -# define BOOST_PP_WHILE_315(p, o, s) BOOST_PP_WHILE_315_I(p, o, s) -# define BOOST_PP_WHILE_316(p, o, s) BOOST_PP_WHILE_316_I(p, o, s) -# define BOOST_PP_WHILE_317(p, o, s) BOOST_PP_WHILE_317_I(p, o, s) -# define BOOST_PP_WHILE_318(p, o, s) BOOST_PP_WHILE_318_I(p, o, s) -# define BOOST_PP_WHILE_319(p, o, s) BOOST_PP_WHILE_319_I(p, o, s) -# define BOOST_PP_WHILE_320(p, o, s) BOOST_PP_WHILE_320_I(p, o, s) -# define BOOST_PP_WHILE_321(p, o, s) BOOST_PP_WHILE_321_I(p, o, s) -# define BOOST_PP_WHILE_322(p, o, s) BOOST_PP_WHILE_322_I(p, o, s) -# define BOOST_PP_WHILE_323(p, o, s) BOOST_PP_WHILE_323_I(p, o, s) -# define BOOST_PP_WHILE_324(p, o, s) BOOST_PP_WHILE_324_I(p, o, s) -# define BOOST_PP_WHILE_325(p, o, s) BOOST_PP_WHILE_325_I(p, o, s) -# define BOOST_PP_WHILE_326(p, o, s) BOOST_PP_WHILE_326_I(p, o, s) -# define BOOST_PP_WHILE_327(p, o, s) BOOST_PP_WHILE_327_I(p, o, s) -# define BOOST_PP_WHILE_328(p, o, s) BOOST_PP_WHILE_328_I(p, o, s) -# define BOOST_PP_WHILE_329(p, o, s) BOOST_PP_WHILE_329_I(p, o, s) -# define BOOST_PP_WHILE_330(p, o, s) BOOST_PP_WHILE_330_I(p, o, s) -# define BOOST_PP_WHILE_331(p, o, s) BOOST_PP_WHILE_331_I(p, o, s) -# define BOOST_PP_WHILE_332(p, o, s) BOOST_PP_WHILE_332_I(p, o, s) -# define BOOST_PP_WHILE_333(p, o, s) BOOST_PP_WHILE_333_I(p, o, s) -# define BOOST_PP_WHILE_334(p, o, s) BOOST_PP_WHILE_334_I(p, o, s) -# define BOOST_PP_WHILE_335(p, o, s) BOOST_PP_WHILE_335_I(p, o, s) -# define BOOST_PP_WHILE_336(p, o, s) BOOST_PP_WHILE_336_I(p, o, s) -# define BOOST_PP_WHILE_337(p, o, s) BOOST_PP_WHILE_337_I(p, o, s) -# define BOOST_PP_WHILE_338(p, o, s) BOOST_PP_WHILE_338_I(p, o, s) -# define BOOST_PP_WHILE_339(p, o, s) BOOST_PP_WHILE_339_I(p, o, s) -# define BOOST_PP_WHILE_340(p, o, s) BOOST_PP_WHILE_340_I(p, o, s) -# define BOOST_PP_WHILE_341(p, o, s) BOOST_PP_WHILE_341_I(p, o, s) -# define BOOST_PP_WHILE_342(p, o, s) BOOST_PP_WHILE_342_I(p, o, s) -# define BOOST_PP_WHILE_343(p, o, s) BOOST_PP_WHILE_343_I(p, o, s) -# define BOOST_PP_WHILE_344(p, o, s) BOOST_PP_WHILE_344_I(p, o, s) -# define BOOST_PP_WHILE_345(p, o, s) BOOST_PP_WHILE_345_I(p, o, s) -# define BOOST_PP_WHILE_346(p, o, s) BOOST_PP_WHILE_346_I(p, o, s) -# define BOOST_PP_WHILE_347(p, o, s) BOOST_PP_WHILE_347_I(p, o, s) -# define BOOST_PP_WHILE_348(p, o, s) BOOST_PP_WHILE_348_I(p, o, s) -# define BOOST_PP_WHILE_349(p, o, s) BOOST_PP_WHILE_349_I(p, o, s) -# define BOOST_PP_WHILE_350(p, o, s) BOOST_PP_WHILE_350_I(p, o, s) -# define BOOST_PP_WHILE_351(p, o, s) BOOST_PP_WHILE_351_I(p, o, s) -# define BOOST_PP_WHILE_352(p, o, s) BOOST_PP_WHILE_352_I(p, o, s) -# define BOOST_PP_WHILE_353(p, o, s) BOOST_PP_WHILE_353_I(p, o, s) -# define BOOST_PP_WHILE_354(p, o, s) BOOST_PP_WHILE_354_I(p, o, s) -# define BOOST_PP_WHILE_355(p, o, s) BOOST_PP_WHILE_355_I(p, o, s) -# define BOOST_PP_WHILE_356(p, o, s) BOOST_PP_WHILE_356_I(p, o, s) -# define BOOST_PP_WHILE_357(p, o, s) BOOST_PP_WHILE_357_I(p, o, s) -# define BOOST_PP_WHILE_358(p, o, s) BOOST_PP_WHILE_358_I(p, o, s) -# define BOOST_PP_WHILE_359(p, o, s) BOOST_PP_WHILE_359_I(p, o, s) -# define BOOST_PP_WHILE_360(p, o, s) BOOST_PP_WHILE_360_I(p, o, s) -# define BOOST_PP_WHILE_361(p, o, s) BOOST_PP_WHILE_361_I(p, o, s) -# define BOOST_PP_WHILE_362(p, o, s) BOOST_PP_WHILE_362_I(p, o, s) -# define BOOST_PP_WHILE_363(p, o, s) BOOST_PP_WHILE_363_I(p, o, s) -# define BOOST_PP_WHILE_364(p, o, s) BOOST_PP_WHILE_364_I(p, o, s) -# define BOOST_PP_WHILE_365(p, o, s) BOOST_PP_WHILE_365_I(p, o, s) -# define BOOST_PP_WHILE_366(p, o, s) BOOST_PP_WHILE_366_I(p, o, s) -# define BOOST_PP_WHILE_367(p, o, s) BOOST_PP_WHILE_367_I(p, o, s) -# define BOOST_PP_WHILE_368(p, o, s) BOOST_PP_WHILE_368_I(p, o, s) -# define BOOST_PP_WHILE_369(p, o, s) BOOST_PP_WHILE_369_I(p, o, s) -# define BOOST_PP_WHILE_370(p, o, s) BOOST_PP_WHILE_370_I(p, o, s) -# define BOOST_PP_WHILE_371(p, o, s) BOOST_PP_WHILE_371_I(p, o, s) -# define BOOST_PP_WHILE_372(p, o, s) BOOST_PP_WHILE_372_I(p, o, s) -# define BOOST_PP_WHILE_373(p, o, s) BOOST_PP_WHILE_373_I(p, o, s) -# define BOOST_PP_WHILE_374(p, o, s) BOOST_PP_WHILE_374_I(p, o, s) -# define BOOST_PP_WHILE_375(p, o, s) BOOST_PP_WHILE_375_I(p, o, s) -# define BOOST_PP_WHILE_376(p, o, s) BOOST_PP_WHILE_376_I(p, o, s) -# define BOOST_PP_WHILE_377(p, o, s) BOOST_PP_WHILE_377_I(p, o, s) -# define BOOST_PP_WHILE_378(p, o, s) BOOST_PP_WHILE_378_I(p, o, s) -# define BOOST_PP_WHILE_379(p, o, s) BOOST_PP_WHILE_379_I(p, o, s) -# define BOOST_PP_WHILE_380(p, o, s) BOOST_PP_WHILE_380_I(p, o, s) -# define BOOST_PP_WHILE_381(p, o, s) BOOST_PP_WHILE_381_I(p, o, s) -# define BOOST_PP_WHILE_382(p, o, s) BOOST_PP_WHILE_382_I(p, o, s) -# define BOOST_PP_WHILE_383(p, o, s) BOOST_PP_WHILE_383_I(p, o, s) -# define BOOST_PP_WHILE_384(p, o, s) BOOST_PP_WHILE_384_I(p, o, s) -# define BOOST_PP_WHILE_385(p, o, s) BOOST_PP_WHILE_385_I(p, o, s) -# define BOOST_PP_WHILE_386(p, o, s) BOOST_PP_WHILE_386_I(p, o, s) -# define BOOST_PP_WHILE_387(p, o, s) BOOST_PP_WHILE_387_I(p, o, s) -# define BOOST_PP_WHILE_388(p, o, s) BOOST_PP_WHILE_388_I(p, o, s) -# define BOOST_PP_WHILE_389(p, o, s) BOOST_PP_WHILE_389_I(p, o, s) -# define BOOST_PP_WHILE_390(p, o, s) BOOST_PP_WHILE_390_I(p, o, s) -# define BOOST_PP_WHILE_391(p, o, s) BOOST_PP_WHILE_391_I(p, o, s) -# define BOOST_PP_WHILE_392(p, o, s) BOOST_PP_WHILE_392_I(p, o, s) -# define BOOST_PP_WHILE_393(p, o, s) BOOST_PP_WHILE_393_I(p, o, s) -# define BOOST_PP_WHILE_394(p, o, s) BOOST_PP_WHILE_394_I(p, o, s) -# define BOOST_PP_WHILE_395(p, o, s) BOOST_PP_WHILE_395_I(p, o, s) -# define BOOST_PP_WHILE_396(p, o, s) BOOST_PP_WHILE_396_I(p, o, s) -# define BOOST_PP_WHILE_397(p, o, s) BOOST_PP_WHILE_397_I(p, o, s) -# define BOOST_PP_WHILE_398(p, o, s) BOOST_PP_WHILE_398_I(p, o, s) -# define BOOST_PP_WHILE_399(p, o, s) BOOST_PP_WHILE_399_I(p, o, s) -# define BOOST_PP_WHILE_400(p, o, s) BOOST_PP_WHILE_400_I(p, o, s) -# define BOOST_PP_WHILE_401(p, o, s) BOOST_PP_WHILE_401_I(p, o, s) -# define BOOST_PP_WHILE_402(p, o, s) BOOST_PP_WHILE_402_I(p, o, s) -# define BOOST_PP_WHILE_403(p, o, s) BOOST_PP_WHILE_403_I(p, o, s) -# define BOOST_PP_WHILE_404(p, o, s) BOOST_PP_WHILE_404_I(p, o, s) -# define BOOST_PP_WHILE_405(p, o, s) BOOST_PP_WHILE_405_I(p, o, s) -# define BOOST_PP_WHILE_406(p, o, s) BOOST_PP_WHILE_406_I(p, o, s) -# define BOOST_PP_WHILE_407(p, o, s) BOOST_PP_WHILE_407_I(p, o, s) -# define BOOST_PP_WHILE_408(p, o, s) BOOST_PP_WHILE_408_I(p, o, s) -# define BOOST_PP_WHILE_409(p, o, s) BOOST_PP_WHILE_409_I(p, o, s) -# define BOOST_PP_WHILE_410(p, o, s) BOOST_PP_WHILE_410_I(p, o, s) -# define BOOST_PP_WHILE_411(p, o, s) BOOST_PP_WHILE_411_I(p, o, s) -# define BOOST_PP_WHILE_412(p, o, s) BOOST_PP_WHILE_412_I(p, o, s) -# define BOOST_PP_WHILE_413(p, o, s) BOOST_PP_WHILE_413_I(p, o, s) -# define BOOST_PP_WHILE_414(p, o, s) BOOST_PP_WHILE_414_I(p, o, s) -# define BOOST_PP_WHILE_415(p, o, s) BOOST_PP_WHILE_415_I(p, o, s) -# define BOOST_PP_WHILE_416(p, o, s) BOOST_PP_WHILE_416_I(p, o, s) -# define BOOST_PP_WHILE_417(p, o, s) BOOST_PP_WHILE_417_I(p, o, s) -# define BOOST_PP_WHILE_418(p, o, s) BOOST_PP_WHILE_418_I(p, o, s) -# define BOOST_PP_WHILE_419(p, o, s) BOOST_PP_WHILE_419_I(p, o, s) -# define BOOST_PP_WHILE_420(p, o, s) BOOST_PP_WHILE_420_I(p, o, s) -# define BOOST_PP_WHILE_421(p, o, s) BOOST_PP_WHILE_421_I(p, o, s) -# define BOOST_PP_WHILE_422(p, o, s) BOOST_PP_WHILE_422_I(p, o, s) -# define BOOST_PP_WHILE_423(p, o, s) BOOST_PP_WHILE_423_I(p, o, s) -# define BOOST_PP_WHILE_424(p, o, s) BOOST_PP_WHILE_424_I(p, o, s) -# define BOOST_PP_WHILE_425(p, o, s) BOOST_PP_WHILE_425_I(p, o, s) -# define BOOST_PP_WHILE_426(p, o, s) BOOST_PP_WHILE_426_I(p, o, s) -# define BOOST_PP_WHILE_427(p, o, s) BOOST_PP_WHILE_427_I(p, o, s) -# define BOOST_PP_WHILE_428(p, o, s) BOOST_PP_WHILE_428_I(p, o, s) -# define BOOST_PP_WHILE_429(p, o, s) BOOST_PP_WHILE_429_I(p, o, s) -# define BOOST_PP_WHILE_430(p, o, s) BOOST_PP_WHILE_430_I(p, o, s) -# define BOOST_PP_WHILE_431(p, o, s) BOOST_PP_WHILE_431_I(p, o, s) -# define BOOST_PP_WHILE_432(p, o, s) BOOST_PP_WHILE_432_I(p, o, s) -# define BOOST_PP_WHILE_433(p, o, s) BOOST_PP_WHILE_433_I(p, o, s) -# define BOOST_PP_WHILE_434(p, o, s) BOOST_PP_WHILE_434_I(p, o, s) -# define BOOST_PP_WHILE_435(p, o, s) BOOST_PP_WHILE_435_I(p, o, s) -# define BOOST_PP_WHILE_436(p, o, s) BOOST_PP_WHILE_436_I(p, o, s) -# define BOOST_PP_WHILE_437(p, o, s) BOOST_PP_WHILE_437_I(p, o, s) -# define BOOST_PP_WHILE_438(p, o, s) BOOST_PP_WHILE_438_I(p, o, s) -# define BOOST_PP_WHILE_439(p, o, s) BOOST_PP_WHILE_439_I(p, o, s) -# define BOOST_PP_WHILE_440(p, o, s) BOOST_PP_WHILE_440_I(p, o, s) -# define BOOST_PP_WHILE_441(p, o, s) BOOST_PP_WHILE_441_I(p, o, s) -# define BOOST_PP_WHILE_442(p, o, s) BOOST_PP_WHILE_442_I(p, o, s) -# define BOOST_PP_WHILE_443(p, o, s) BOOST_PP_WHILE_443_I(p, o, s) -# define BOOST_PP_WHILE_444(p, o, s) BOOST_PP_WHILE_444_I(p, o, s) -# define BOOST_PP_WHILE_445(p, o, s) BOOST_PP_WHILE_445_I(p, o, s) -# define BOOST_PP_WHILE_446(p, o, s) BOOST_PP_WHILE_446_I(p, o, s) -# define BOOST_PP_WHILE_447(p, o, s) BOOST_PP_WHILE_447_I(p, o, s) -# define BOOST_PP_WHILE_448(p, o, s) BOOST_PP_WHILE_448_I(p, o, s) -# define BOOST_PP_WHILE_449(p, o, s) BOOST_PP_WHILE_449_I(p, o, s) -# define BOOST_PP_WHILE_450(p, o, s) BOOST_PP_WHILE_450_I(p, o, s) -# define BOOST_PP_WHILE_451(p, o, s) BOOST_PP_WHILE_451_I(p, o, s) -# define BOOST_PP_WHILE_452(p, o, s) BOOST_PP_WHILE_452_I(p, o, s) -# define BOOST_PP_WHILE_453(p, o, s) BOOST_PP_WHILE_453_I(p, o, s) -# define BOOST_PP_WHILE_454(p, o, s) BOOST_PP_WHILE_454_I(p, o, s) -# define BOOST_PP_WHILE_455(p, o, s) BOOST_PP_WHILE_455_I(p, o, s) -# define BOOST_PP_WHILE_456(p, o, s) BOOST_PP_WHILE_456_I(p, o, s) -# define BOOST_PP_WHILE_457(p, o, s) BOOST_PP_WHILE_457_I(p, o, s) -# define BOOST_PP_WHILE_458(p, o, s) BOOST_PP_WHILE_458_I(p, o, s) -# define BOOST_PP_WHILE_459(p, o, s) BOOST_PP_WHILE_459_I(p, o, s) -# define BOOST_PP_WHILE_460(p, o, s) BOOST_PP_WHILE_460_I(p, o, s) -# define BOOST_PP_WHILE_461(p, o, s) BOOST_PP_WHILE_461_I(p, o, s) -# define BOOST_PP_WHILE_462(p, o, s) BOOST_PP_WHILE_462_I(p, o, s) -# define BOOST_PP_WHILE_463(p, o, s) BOOST_PP_WHILE_463_I(p, o, s) -# define BOOST_PP_WHILE_464(p, o, s) BOOST_PP_WHILE_464_I(p, o, s) -# define BOOST_PP_WHILE_465(p, o, s) BOOST_PP_WHILE_465_I(p, o, s) -# define BOOST_PP_WHILE_466(p, o, s) BOOST_PP_WHILE_466_I(p, o, s) -# define BOOST_PP_WHILE_467(p, o, s) BOOST_PP_WHILE_467_I(p, o, s) -# define BOOST_PP_WHILE_468(p, o, s) BOOST_PP_WHILE_468_I(p, o, s) -# define BOOST_PP_WHILE_469(p, o, s) BOOST_PP_WHILE_469_I(p, o, s) -# define BOOST_PP_WHILE_470(p, o, s) BOOST_PP_WHILE_470_I(p, o, s) -# define BOOST_PP_WHILE_471(p, o, s) BOOST_PP_WHILE_471_I(p, o, s) -# define BOOST_PP_WHILE_472(p, o, s) BOOST_PP_WHILE_472_I(p, o, s) -# define BOOST_PP_WHILE_473(p, o, s) BOOST_PP_WHILE_473_I(p, o, s) -# define BOOST_PP_WHILE_474(p, o, s) BOOST_PP_WHILE_474_I(p, o, s) -# define BOOST_PP_WHILE_475(p, o, s) BOOST_PP_WHILE_475_I(p, o, s) -# define BOOST_PP_WHILE_476(p, o, s) BOOST_PP_WHILE_476_I(p, o, s) -# define BOOST_PP_WHILE_477(p, o, s) BOOST_PP_WHILE_477_I(p, o, s) -# define BOOST_PP_WHILE_478(p, o, s) BOOST_PP_WHILE_478_I(p, o, s) -# define BOOST_PP_WHILE_479(p, o, s) BOOST_PP_WHILE_479_I(p, o, s) -# define BOOST_PP_WHILE_480(p, o, s) BOOST_PP_WHILE_480_I(p, o, s) -# define BOOST_PP_WHILE_481(p, o, s) BOOST_PP_WHILE_481_I(p, o, s) -# define BOOST_PP_WHILE_482(p, o, s) BOOST_PP_WHILE_482_I(p, o, s) -# define BOOST_PP_WHILE_483(p, o, s) BOOST_PP_WHILE_483_I(p, o, s) -# define BOOST_PP_WHILE_484(p, o, s) BOOST_PP_WHILE_484_I(p, o, s) -# define BOOST_PP_WHILE_485(p, o, s) BOOST_PP_WHILE_485_I(p, o, s) -# define BOOST_PP_WHILE_486(p, o, s) BOOST_PP_WHILE_486_I(p, o, s) -# define BOOST_PP_WHILE_487(p, o, s) BOOST_PP_WHILE_487_I(p, o, s) -# define BOOST_PP_WHILE_488(p, o, s) BOOST_PP_WHILE_488_I(p, o, s) -# define BOOST_PP_WHILE_489(p, o, s) BOOST_PP_WHILE_489_I(p, o, s) -# define BOOST_PP_WHILE_490(p, o, s) BOOST_PP_WHILE_490_I(p, o, s) -# define BOOST_PP_WHILE_491(p, o, s) BOOST_PP_WHILE_491_I(p, o, s) -# define BOOST_PP_WHILE_492(p, o, s) BOOST_PP_WHILE_492_I(p, o, s) -# define BOOST_PP_WHILE_493(p, o, s) BOOST_PP_WHILE_493_I(p, o, s) -# define BOOST_PP_WHILE_494(p, o, s) BOOST_PP_WHILE_494_I(p, o, s) -# define BOOST_PP_WHILE_495(p, o, s) BOOST_PP_WHILE_495_I(p, o, s) -# define BOOST_PP_WHILE_496(p, o, s) BOOST_PP_WHILE_496_I(p, o, s) -# define BOOST_PP_WHILE_497(p, o, s) BOOST_PP_WHILE_497_I(p, o, s) -# define BOOST_PP_WHILE_498(p, o, s) BOOST_PP_WHILE_498_I(p, o, s) -# define BOOST_PP_WHILE_499(p, o, s) BOOST_PP_WHILE_499_I(p, o, s) -# define BOOST_PP_WHILE_500(p, o, s) BOOST_PP_WHILE_500_I(p, o, s) -# define BOOST_PP_WHILE_501(p, o, s) BOOST_PP_WHILE_501_I(p, o, s) -# define BOOST_PP_WHILE_502(p, o, s) BOOST_PP_WHILE_502_I(p, o, s) -# define BOOST_PP_WHILE_503(p, o, s) BOOST_PP_WHILE_503_I(p, o, s) -# define BOOST_PP_WHILE_504(p, o, s) BOOST_PP_WHILE_504_I(p, o, s) -# define BOOST_PP_WHILE_505(p, o, s) BOOST_PP_WHILE_505_I(p, o, s) -# define BOOST_PP_WHILE_506(p, o, s) BOOST_PP_WHILE_506_I(p, o, s) -# define BOOST_PP_WHILE_507(p, o, s) BOOST_PP_WHILE_507_I(p, o, s) -# define BOOST_PP_WHILE_508(p, o, s) BOOST_PP_WHILE_508_I(p, o, s) -# define BOOST_PP_WHILE_509(p, o, s) BOOST_PP_WHILE_509_I(p, o, s) -# define BOOST_PP_WHILE_510(p, o, s) BOOST_PP_WHILE_510_I(p, o, s) -# define BOOST_PP_WHILE_511(p, o, s) BOOST_PP_WHILE_511_I(p, o, s) -# define BOOST_PP_WHILE_512(p, o, s) BOOST_PP_WHILE_512_I(p, o, s) -# -# define BOOST_PP_WHILE_257_I(p, o, s) BOOST_PP_IF(p(258, s), BOOST_PP_WHILE_258, s BOOST_PP_TUPLE_EAT_3)(p, o, o(258, s)) -# define BOOST_PP_WHILE_258_I(p, o, s) BOOST_PP_IF(p(259, s), BOOST_PP_WHILE_259, s BOOST_PP_TUPLE_EAT_3)(p, o, o(259, s)) -# define BOOST_PP_WHILE_259_I(p, o, s) BOOST_PP_IF(p(260, s), BOOST_PP_WHILE_260, s BOOST_PP_TUPLE_EAT_3)(p, o, o(260, s)) -# define BOOST_PP_WHILE_260_I(p, o, s) BOOST_PP_IF(p(261, s), BOOST_PP_WHILE_261, s BOOST_PP_TUPLE_EAT_3)(p, o, o(261, s)) -# define BOOST_PP_WHILE_261_I(p, o, s) BOOST_PP_IF(p(262, s), BOOST_PP_WHILE_262, s BOOST_PP_TUPLE_EAT_3)(p, o, o(262, s)) -# define BOOST_PP_WHILE_262_I(p, o, s) BOOST_PP_IF(p(263, s), BOOST_PP_WHILE_263, s BOOST_PP_TUPLE_EAT_3)(p, o, o(263, s)) -# define BOOST_PP_WHILE_263_I(p, o, s) BOOST_PP_IF(p(264, s), BOOST_PP_WHILE_264, s BOOST_PP_TUPLE_EAT_3)(p, o, o(264, s)) -# define BOOST_PP_WHILE_264_I(p, o, s) BOOST_PP_IF(p(265, s), BOOST_PP_WHILE_265, s BOOST_PP_TUPLE_EAT_3)(p, o, o(265, s)) -# define BOOST_PP_WHILE_265_I(p, o, s) BOOST_PP_IF(p(266, s), BOOST_PP_WHILE_266, s BOOST_PP_TUPLE_EAT_3)(p, o, o(266, s)) -# define BOOST_PP_WHILE_266_I(p, o, s) BOOST_PP_IF(p(267, s), BOOST_PP_WHILE_267, s BOOST_PP_TUPLE_EAT_3)(p, o, o(267, s)) -# define BOOST_PP_WHILE_267_I(p, o, s) BOOST_PP_IF(p(268, s), BOOST_PP_WHILE_268, s BOOST_PP_TUPLE_EAT_3)(p, o, o(268, s)) -# define BOOST_PP_WHILE_268_I(p, o, s) BOOST_PP_IF(p(269, s), BOOST_PP_WHILE_269, s BOOST_PP_TUPLE_EAT_3)(p, o, o(269, s)) -# define BOOST_PP_WHILE_269_I(p, o, s) BOOST_PP_IF(p(270, s), BOOST_PP_WHILE_270, s BOOST_PP_TUPLE_EAT_3)(p, o, o(270, s)) -# define BOOST_PP_WHILE_270_I(p, o, s) BOOST_PP_IF(p(271, s), BOOST_PP_WHILE_271, s BOOST_PP_TUPLE_EAT_3)(p, o, o(271, s)) -# define BOOST_PP_WHILE_271_I(p, o, s) BOOST_PP_IF(p(272, s), BOOST_PP_WHILE_272, s BOOST_PP_TUPLE_EAT_3)(p, o, o(272, s)) -# define BOOST_PP_WHILE_272_I(p, o, s) BOOST_PP_IF(p(273, s), BOOST_PP_WHILE_273, s BOOST_PP_TUPLE_EAT_3)(p, o, o(273, s)) -# define BOOST_PP_WHILE_273_I(p, o, s) BOOST_PP_IF(p(274, s), BOOST_PP_WHILE_274, s BOOST_PP_TUPLE_EAT_3)(p, o, o(274, s)) -# define BOOST_PP_WHILE_274_I(p, o, s) BOOST_PP_IF(p(275, s), BOOST_PP_WHILE_275, s BOOST_PP_TUPLE_EAT_3)(p, o, o(275, s)) -# define BOOST_PP_WHILE_275_I(p, o, s) BOOST_PP_IF(p(276, s), BOOST_PP_WHILE_276, s BOOST_PP_TUPLE_EAT_3)(p, o, o(276, s)) -# define BOOST_PP_WHILE_276_I(p, o, s) BOOST_PP_IF(p(277, s), BOOST_PP_WHILE_277, s BOOST_PP_TUPLE_EAT_3)(p, o, o(277, s)) -# define BOOST_PP_WHILE_277_I(p, o, s) BOOST_PP_IF(p(278, s), BOOST_PP_WHILE_278, s BOOST_PP_TUPLE_EAT_3)(p, o, o(278, s)) -# define BOOST_PP_WHILE_278_I(p, o, s) BOOST_PP_IF(p(279, s), BOOST_PP_WHILE_279, s BOOST_PP_TUPLE_EAT_3)(p, o, o(279, s)) -# define BOOST_PP_WHILE_279_I(p, o, s) BOOST_PP_IF(p(280, s), BOOST_PP_WHILE_280, s BOOST_PP_TUPLE_EAT_3)(p, o, o(280, s)) -# define BOOST_PP_WHILE_280_I(p, o, s) BOOST_PP_IF(p(281, s), BOOST_PP_WHILE_281, s BOOST_PP_TUPLE_EAT_3)(p, o, o(281, s)) -# define BOOST_PP_WHILE_281_I(p, o, s) BOOST_PP_IF(p(282, s), BOOST_PP_WHILE_282, s BOOST_PP_TUPLE_EAT_3)(p, o, o(282, s)) -# define BOOST_PP_WHILE_282_I(p, o, s) BOOST_PP_IF(p(283, s), BOOST_PP_WHILE_283, s BOOST_PP_TUPLE_EAT_3)(p, o, o(283, s)) -# define BOOST_PP_WHILE_283_I(p, o, s) BOOST_PP_IF(p(284, s), BOOST_PP_WHILE_284, s BOOST_PP_TUPLE_EAT_3)(p, o, o(284, s)) -# define BOOST_PP_WHILE_284_I(p, o, s) BOOST_PP_IF(p(285, s), BOOST_PP_WHILE_285, s BOOST_PP_TUPLE_EAT_3)(p, o, o(285, s)) -# define BOOST_PP_WHILE_285_I(p, o, s) BOOST_PP_IF(p(286, s), BOOST_PP_WHILE_286, s BOOST_PP_TUPLE_EAT_3)(p, o, o(286, s)) -# define BOOST_PP_WHILE_286_I(p, o, s) BOOST_PP_IF(p(287, s), BOOST_PP_WHILE_287, s BOOST_PP_TUPLE_EAT_3)(p, o, o(287, s)) -# define BOOST_PP_WHILE_287_I(p, o, s) BOOST_PP_IF(p(288, s), BOOST_PP_WHILE_288, s BOOST_PP_TUPLE_EAT_3)(p, o, o(288, s)) -# define BOOST_PP_WHILE_288_I(p, o, s) BOOST_PP_IF(p(289, s), BOOST_PP_WHILE_289, s BOOST_PP_TUPLE_EAT_3)(p, o, o(289, s)) -# define BOOST_PP_WHILE_289_I(p, o, s) BOOST_PP_IF(p(290, s), BOOST_PP_WHILE_290, s BOOST_PP_TUPLE_EAT_3)(p, o, o(290, s)) -# define BOOST_PP_WHILE_290_I(p, o, s) BOOST_PP_IF(p(291, s), BOOST_PP_WHILE_291, s BOOST_PP_TUPLE_EAT_3)(p, o, o(291, s)) -# define BOOST_PP_WHILE_291_I(p, o, s) BOOST_PP_IF(p(292, s), BOOST_PP_WHILE_292, s BOOST_PP_TUPLE_EAT_3)(p, o, o(292, s)) -# define BOOST_PP_WHILE_292_I(p, o, s) BOOST_PP_IF(p(293, s), BOOST_PP_WHILE_293, s BOOST_PP_TUPLE_EAT_3)(p, o, o(293, s)) -# define BOOST_PP_WHILE_293_I(p, o, s) BOOST_PP_IF(p(294, s), BOOST_PP_WHILE_294, s BOOST_PP_TUPLE_EAT_3)(p, o, o(294, s)) -# define BOOST_PP_WHILE_294_I(p, o, s) BOOST_PP_IF(p(295, s), BOOST_PP_WHILE_295, s BOOST_PP_TUPLE_EAT_3)(p, o, o(295, s)) -# define BOOST_PP_WHILE_295_I(p, o, s) BOOST_PP_IF(p(296, s), BOOST_PP_WHILE_296, s BOOST_PP_TUPLE_EAT_3)(p, o, o(296, s)) -# define BOOST_PP_WHILE_296_I(p, o, s) BOOST_PP_IF(p(297, s), BOOST_PP_WHILE_297, s BOOST_PP_TUPLE_EAT_3)(p, o, o(297, s)) -# define BOOST_PP_WHILE_297_I(p, o, s) BOOST_PP_IF(p(298, s), BOOST_PP_WHILE_298, s BOOST_PP_TUPLE_EAT_3)(p, o, o(298, s)) -# define BOOST_PP_WHILE_298_I(p, o, s) BOOST_PP_IF(p(299, s), BOOST_PP_WHILE_299, s BOOST_PP_TUPLE_EAT_3)(p, o, o(299, s)) -# define BOOST_PP_WHILE_299_I(p, o, s) BOOST_PP_IF(p(300, s), BOOST_PP_WHILE_300, s BOOST_PP_TUPLE_EAT_3)(p, o, o(300, s)) -# define BOOST_PP_WHILE_300_I(p, o, s) BOOST_PP_IF(p(301, s), BOOST_PP_WHILE_301, s BOOST_PP_TUPLE_EAT_3)(p, o, o(301, s)) -# define BOOST_PP_WHILE_301_I(p, o, s) BOOST_PP_IF(p(302, s), BOOST_PP_WHILE_302, s BOOST_PP_TUPLE_EAT_3)(p, o, o(302, s)) -# define BOOST_PP_WHILE_302_I(p, o, s) BOOST_PP_IF(p(303, s), BOOST_PP_WHILE_303, s BOOST_PP_TUPLE_EAT_3)(p, o, o(303, s)) -# define BOOST_PP_WHILE_303_I(p, o, s) BOOST_PP_IF(p(304, s), BOOST_PP_WHILE_304, s BOOST_PP_TUPLE_EAT_3)(p, o, o(304, s)) -# define BOOST_PP_WHILE_304_I(p, o, s) BOOST_PP_IF(p(305, s), BOOST_PP_WHILE_305, s BOOST_PP_TUPLE_EAT_3)(p, o, o(305, s)) -# define BOOST_PP_WHILE_305_I(p, o, s) BOOST_PP_IF(p(306, s), BOOST_PP_WHILE_306, s BOOST_PP_TUPLE_EAT_3)(p, o, o(306, s)) -# define BOOST_PP_WHILE_306_I(p, o, s) BOOST_PP_IF(p(307, s), BOOST_PP_WHILE_307, s BOOST_PP_TUPLE_EAT_3)(p, o, o(307, s)) -# define BOOST_PP_WHILE_307_I(p, o, s) BOOST_PP_IF(p(308, s), BOOST_PP_WHILE_308, s BOOST_PP_TUPLE_EAT_3)(p, o, o(308, s)) -# define BOOST_PP_WHILE_308_I(p, o, s) BOOST_PP_IF(p(309, s), BOOST_PP_WHILE_309, s BOOST_PP_TUPLE_EAT_3)(p, o, o(309, s)) -# define BOOST_PP_WHILE_309_I(p, o, s) BOOST_PP_IF(p(310, s), BOOST_PP_WHILE_310, s BOOST_PP_TUPLE_EAT_3)(p, o, o(310, s)) -# define BOOST_PP_WHILE_310_I(p, o, s) BOOST_PP_IF(p(311, s), BOOST_PP_WHILE_311, s BOOST_PP_TUPLE_EAT_3)(p, o, o(311, s)) -# define BOOST_PP_WHILE_311_I(p, o, s) BOOST_PP_IF(p(312, s), BOOST_PP_WHILE_312, s BOOST_PP_TUPLE_EAT_3)(p, o, o(312, s)) -# define BOOST_PP_WHILE_312_I(p, o, s) BOOST_PP_IF(p(313, s), BOOST_PP_WHILE_313, s BOOST_PP_TUPLE_EAT_3)(p, o, o(313, s)) -# define BOOST_PP_WHILE_313_I(p, o, s) BOOST_PP_IF(p(314, s), BOOST_PP_WHILE_314, s BOOST_PP_TUPLE_EAT_3)(p, o, o(314, s)) -# define BOOST_PP_WHILE_314_I(p, o, s) BOOST_PP_IF(p(315, s), BOOST_PP_WHILE_315, s BOOST_PP_TUPLE_EAT_3)(p, o, o(315, s)) -# define BOOST_PP_WHILE_315_I(p, o, s) BOOST_PP_IF(p(316, s), BOOST_PP_WHILE_316, s BOOST_PP_TUPLE_EAT_3)(p, o, o(316, s)) -# define BOOST_PP_WHILE_316_I(p, o, s) BOOST_PP_IF(p(317, s), BOOST_PP_WHILE_317, s BOOST_PP_TUPLE_EAT_3)(p, o, o(317, s)) -# define BOOST_PP_WHILE_317_I(p, o, s) BOOST_PP_IF(p(318, s), BOOST_PP_WHILE_318, s BOOST_PP_TUPLE_EAT_3)(p, o, o(318, s)) -# define BOOST_PP_WHILE_318_I(p, o, s) BOOST_PP_IF(p(319, s), BOOST_PP_WHILE_319, s BOOST_PP_TUPLE_EAT_3)(p, o, o(319, s)) -# define BOOST_PP_WHILE_319_I(p, o, s) BOOST_PP_IF(p(320, s), BOOST_PP_WHILE_320, s BOOST_PP_TUPLE_EAT_3)(p, o, o(320, s)) -# define BOOST_PP_WHILE_320_I(p, o, s) BOOST_PP_IF(p(321, s), BOOST_PP_WHILE_321, s BOOST_PP_TUPLE_EAT_3)(p, o, o(321, s)) -# define BOOST_PP_WHILE_321_I(p, o, s) BOOST_PP_IF(p(322, s), BOOST_PP_WHILE_322, s BOOST_PP_TUPLE_EAT_3)(p, o, o(322, s)) -# define BOOST_PP_WHILE_322_I(p, o, s) BOOST_PP_IF(p(323, s), BOOST_PP_WHILE_323, s BOOST_PP_TUPLE_EAT_3)(p, o, o(323, s)) -# define BOOST_PP_WHILE_323_I(p, o, s) BOOST_PP_IF(p(324, s), BOOST_PP_WHILE_324, s BOOST_PP_TUPLE_EAT_3)(p, o, o(324, s)) -# define BOOST_PP_WHILE_324_I(p, o, s) BOOST_PP_IF(p(325, s), BOOST_PP_WHILE_325, s BOOST_PP_TUPLE_EAT_3)(p, o, o(325, s)) -# define BOOST_PP_WHILE_325_I(p, o, s) BOOST_PP_IF(p(326, s), BOOST_PP_WHILE_326, s BOOST_PP_TUPLE_EAT_3)(p, o, o(326, s)) -# define BOOST_PP_WHILE_326_I(p, o, s) BOOST_PP_IF(p(327, s), BOOST_PP_WHILE_327, s BOOST_PP_TUPLE_EAT_3)(p, o, o(327, s)) -# define BOOST_PP_WHILE_327_I(p, o, s) BOOST_PP_IF(p(328, s), BOOST_PP_WHILE_328, s BOOST_PP_TUPLE_EAT_3)(p, o, o(328, s)) -# define BOOST_PP_WHILE_328_I(p, o, s) BOOST_PP_IF(p(329, s), BOOST_PP_WHILE_329, s BOOST_PP_TUPLE_EAT_3)(p, o, o(329, s)) -# define BOOST_PP_WHILE_329_I(p, o, s) BOOST_PP_IF(p(330, s), BOOST_PP_WHILE_330, s BOOST_PP_TUPLE_EAT_3)(p, o, o(330, s)) -# define BOOST_PP_WHILE_330_I(p, o, s) BOOST_PP_IF(p(331, s), BOOST_PP_WHILE_331, s BOOST_PP_TUPLE_EAT_3)(p, o, o(331, s)) -# define BOOST_PP_WHILE_331_I(p, o, s) BOOST_PP_IF(p(332, s), BOOST_PP_WHILE_332, s BOOST_PP_TUPLE_EAT_3)(p, o, o(332, s)) -# define BOOST_PP_WHILE_332_I(p, o, s) BOOST_PP_IF(p(333, s), BOOST_PP_WHILE_333, s BOOST_PP_TUPLE_EAT_3)(p, o, o(333, s)) -# define BOOST_PP_WHILE_333_I(p, o, s) BOOST_PP_IF(p(334, s), BOOST_PP_WHILE_334, s BOOST_PP_TUPLE_EAT_3)(p, o, o(334, s)) -# define BOOST_PP_WHILE_334_I(p, o, s) BOOST_PP_IF(p(335, s), BOOST_PP_WHILE_335, s BOOST_PP_TUPLE_EAT_3)(p, o, o(335, s)) -# define BOOST_PP_WHILE_335_I(p, o, s) BOOST_PP_IF(p(336, s), BOOST_PP_WHILE_336, s BOOST_PP_TUPLE_EAT_3)(p, o, o(336, s)) -# define BOOST_PP_WHILE_336_I(p, o, s) BOOST_PP_IF(p(337, s), BOOST_PP_WHILE_337, s BOOST_PP_TUPLE_EAT_3)(p, o, o(337, s)) -# define BOOST_PP_WHILE_337_I(p, o, s) BOOST_PP_IF(p(338, s), BOOST_PP_WHILE_338, s BOOST_PP_TUPLE_EAT_3)(p, o, o(338, s)) -# define BOOST_PP_WHILE_338_I(p, o, s) BOOST_PP_IF(p(339, s), BOOST_PP_WHILE_339, s BOOST_PP_TUPLE_EAT_3)(p, o, o(339, s)) -# define BOOST_PP_WHILE_339_I(p, o, s) BOOST_PP_IF(p(340, s), BOOST_PP_WHILE_340, s BOOST_PP_TUPLE_EAT_3)(p, o, o(340, s)) -# define BOOST_PP_WHILE_340_I(p, o, s) BOOST_PP_IF(p(341, s), BOOST_PP_WHILE_341, s BOOST_PP_TUPLE_EAT_3)(p, o, o(341, s)) -# define BOOST_PP_WHILE_341_I(p, o, s) BOOST_PP_IF(p(342, s), BOOST_PP_WHILE_342, s BOOST_PP_TUPLE_EAT_3)(p, o, o(342, s)) -# define BOOST_PP_WHILE_342_I(p, o, s) BOOST_PP_IF(p(343, s), BOOST_PP_WHILE_343, s BOOST_PP_TUPLE_EAT_3)(p, o, o(343, s)) -# define BOOST_PP_WHILE_343_I(p, o, s) BOOST_PP_IF(p(344, s), BOOST_PP_WHILE_344, s BOOST_PP_TUPLE_EAT_3)(p, o, o(344, s)) -# define BOOST_PP_WHILE_344_I(p, o, s) BOOST_PP_IF(p(345, s), BOOST_PP_WHILE_345, s BOOST_PP_TUPLE_EAT_3)(p, o, o(345, s)) -# define BOOST_PP_WHILE_345_I(p, o, s) BOOST_PP_IF(p(346, s), BOOST_PP_WHILE_346, s BOOST_PP_TUPLE_EAT_3)(p, o, o(346, s)) -# define BOOST_PP_WHILE_346_I(p, o, s) BOOST_PP_IF(p(347, s), BOOST_PP_WHILE_347, s BOOST_PP_TUPLE_EAT_3)(p, o, o(347, s)) -# define BOOST_PP_WHILE_347_I(p, o, s) BOOST_PP_IF(p(348, s), BOOST_PP_WHILE_348, s BOOST_PP_TUPLE_EAT_3)(p, o, o(348, s)) -# define BOOST_PP_WHILE_348_I(p, o, s) BOOST_PP_IF(p(349, s), BOOST_PP_WHILE_349, s BOOST_PP_TUPLE_EAT_3)(p, o, o(349, s)) -# define BOOST_PP_WHILE_349_I(p, o, s) BOOST_PP_IF(p(350, s), BOOST_PP_WHILE_350, s BOOST_PP_TUPLE_EAT_3)(p, o, o(350, s)) -# define BOOST_PP_WHILE_350_I(p, o, s) BOOST_PP_IF(p(351, s), BOOST_PP_WHILE_351, s BOOST_PP_TUPLE_EAT_3)(p, o, o(351, s)) -# define BOOST_PP_WHILE_351_I(p, o, s) BOOST_PP_IF(p(352, s), BOOST_PP_WHILE_352, s BOOST_PP_TUPLE_EAT_3)(p, o, o(352, s)) -# define BOOST_PP_WHILE_352_I(p, o, s) BOOST_PP_IF(p(353, s), BOOST_PP_WHILE_353, s BOOST_PP_TUPLE_EAT_3)(p, o, o(353, s)) -# define BOOST_PP_WHILE_353_I(p, o, s) BOOST_PP_IF(p(354, s), BOOST_PP_WHILE_354, s BOOST_PP_TUPLE_EAT_3)(p, o, o(354, s)) -# define BOOST_PP_WHILE_354_I(p, o, s) BOOST_PP_IF(p(355, s), BOOST_PP_WHILE_355, s BOOST_PP_TUPLE_EAT_3)(p, o, o(355, s)) -# define BOOST_PP_WHILE_355_I(p, o, s) BOOST_PP_IF(p(356, s), BOOST_PP_WHILE_356, s BOOST_PP_TUPLE_EAT_3)(p, o, o(356, s)) -# define BOOST_PP_WHILE_356_I(p, o, s) BOOST_PP_IF(p(357, s), BOOST_PP_WHILE_357, s BOOST_PP_TUPLE_EAT_3)(p, o, o(357, s)) -# define BOOST_PP_WHILE_357_I(p, o, s) BOOST_PP_IF(p(358, s), BOOST_PP_WHILE_358, s BOOST_PP_TUPLE_EAT_3)(p, o, o(358, s)) -# define BOOST_PP_WHILE_358_I(p, o, s) BOOST_PP_IF(p(359, s), BOOST_PP_WHILE_359, s BOOST_PP_TUPLE_EAT_3)(p, o, o(359, s)) -# define BOOST_PP_WHILE_359_I(p, o, s) BOOST_PP_IF(p(360, s), BOOST_PP_WHILE_360, s BOOST_PP_TUPLE_EAT_3)(p, o, o(360, s)) -# define BOOST_PP_WHILE_360_I(p, o, s) BOOST_PP_IF(p(361, s), BOOST_PP_WHILE_361, s BOOST_PP_TUPLE_EAT_3)(p, o, o(361, s)) -# define BOOST_PP_WHILE_361_I(p, o, s) BOOST_PP_IF(p(362, s), BOOST_PP_WHILE_362, s BOOST_PP_TUPLE_EAT_3)(p, o, o(362, s)) -# define BOOST_PP_WHILE_362_I(p, o, s) BOOST_PP_IF(p(363, s), BOOST_PP_WHILE_363, s BOOST_PP_TUPLE_EAT_3)(p, o, o(363, s)) -# define BOOST_PP_WHILE_363_I(p, o, s) BOOST_PP_IF(p(364, s), BOOST_PP_WHILE_364, s BOOST_PP_TUPLE_EAT_3)(p, o, o(364, s)) -# define BOOST_PP_WHILE_364_I(p, o, s) BOOST_PP_IF(p(365, s), BOOST_PP_WHILE_365, s BOOST_PP_TUPLE_EAT_3)(p, o, o(365, s)) -# define BOOST_PP_WHILE_365_I(p, o, s) BOOST_PP_IF(p(366, s), BOOST_PP_WHILE_366, s BOOST_PP_TUPLE_EAT_3)(p, o, o(366, s)) -# define BOOST_PP_WHILE_366_I(p, o, s) BOOST_PP_IF(p(367, s), BOOST_PP_WHILE_367, s BOOST_PP_TUPLE_EAT_3)(p, o, o(367, s)) -# define BOOST_PP_WHILE_367_I(p, o, s) BOOST_PP_IF(p(368, s), BOOST_PP_WHILE_368, s BOOST_PP_TUPLE_EAT_3)(p, o, o(368, s)) -# define BOOST_PP_WHILE_368_I(p, o, s) BOOST_PP_IF(p(369, s), BOOST_PP_WHILE_369, s BOOST_PP_TUPLE_EAT_3)(p, o, o(369, s)) -# define BOOST_PP_WHILE_369_I(p, o, s) BOOST_PP_IF(p(370, s), BOOST_PP_WHILE_370, s BOOST_PP_TUPLE_EAT_3)(p, o, o(370, s)) -# define BOOST_PP_WHILE_370_I(p, o, s) BOOST_PP_IF(p(371, s), BOOST_PP_WHILE_371, s BOOST_PP_TUPLE_EAT_3)(p, o, o(371, s)) -# define BOOST_PP_WHILE_371_I(p, o, s) BOOST_PP_IF(p(372, s), BOOST_PP_WHILE_372, s BOOST_PP_TUPLE_EAT_3)(p, o, o(372, s)) -# define BOOST_PP_WHILE_372_I(p, o, s) BOOST_PP_IF(p(373, s), BOOST_PP_WHILE_373, s BOOST_PP_TUPLE_EAT_3)(p, o, o(373, s)) -# define BOOST_PP_WHILE_373_I(p, o, s) BOOST_PP_IF(p(374, s), BOOST_PP_WHILE_374, s BOOST_PP_TUPLE_EAT_3)(p, o, o(374, s)) -# define BOOST_PP_WHILE_374_I(p, o, s) BOOST_PP_IF(p(375, s), BOOST_PP_WHILE_375, s BOOST_PP_TUPLE_EAT_3)(p, o, o(375, s)) -# define BOOST_PP_WHILE_375_I(p, o, s) BOOST_PP_IF(p(376, s), BOOST_PP_WHILE_376, s BOOST_PP_TUPLE_EAT_3)(p, o, o(376, s)) -# define BOOST_PP_WHILE_376_I(p, o, s) BOOST_PP_IF(p(377, s), BOOST_PP_WHILE_377, s BOOST_PP_TUPLE_EAT_3)(p, o, o(377, s)) -# define BOOST_PP_WHILE_377_I(p, o, s) BOOST_PP_IF(p(378, s), BOOST_PP_WHILE_378, s BOOST_PP_TUPLE_EAT_3)(p, o, o(378, s)) -# define BOOST_PP_WHILE_378_I(p, o, s) BOOST_PP_IF(p(379, s), BOOST_PP_WHILE_379, s BOOST_PP_TUPLE_EAT_3)(p, o, o(379, s)) -# define BOOST_PP_WHILE_379_I(p, o, s) BOOST_PP_IF(p(380, s), BOOST_PP_WHILE_380, s BOOST_PP_TUPLE_EAT_3)(p, o, o(380, s)) -# define BOOST_PP_WHILE_380_I(p, o, s) BOOST_PP_IF(p(381, s), BOOST_PP_WHILE_381, s BOOST_PP_TUPLE_EAT_3)(p, o, o(381, s)) -# define BOOST_PP_WHILE_381_I(p, o, s) BOOST_PP_IF(p(382, s), BOOST_PP_WHILE_382, s BOOST_PP_TUPLE_EAT_3)(p, o, o(382, s)) -# define BOOST_PP_WHILE_382_I(p, o, s) BOOST_PP_IF(p(383, s), BOOST_PP_WHILE_383, s BOOST_PP_TUPLE_EAT_3)(p, o, o(383, s)) -# define BOOST_PP_WHILE_383_I(p, o, s) BOOST_PP_IF(p(384, s), BOOST_PP_WHILE_384, s BOOST_PP_TUPLE_EAT_3)(p, o, o(384, s)) -# define BOOST_PP_WHILE_384_I(p, o, s) BOOST_PP_IF(p(385, s), BOOST_PP_WHILE_385, s BOOST_PP_TUPLE_EAT_3)(p, o, o(385, s)) -# define BOOST_PP_WHILE_385_I(p, o, s) BOOST_PP_IF(p(386, s), BOOST_PP_WHILE_386, s BOOST_PP_TUPLE_EAT_3)(p, o, o(386, s)) -# define BOOST_PP_WHILE_386_I(p, o, s) BOOST_PP_IF(p(387, s), BOOST_PP_WHILE_387, s BOOST_PP_TUPLE_EAT_3)(p, o, o(387, s)) -# define BOOST_PP_WHILE_387_I(p, o, s) BOOST_PP_IF(p(388, s), BOOST_PP_WHILE_388, s BOOST_PP_TUPLE_EAT_3)(p, o, o(388, s)) -# define BOOST_PP_WHILE_388_I(p, o, s) BOOST_PP_IF(p(389, s), BOOST_PP_WHILE_389, s BOOST_PP_TUPLE_EAT_3)(p, o, o(389, s)) -# define BOOST_PP_WHILE_389_I(p, o, s) BOOST_PP_IF(p(390, s), BOOST_PP_WHILE_390, s BOOST_PP_TUPLE_EAT_3)(p, o, o(390, s)) -# define BOOST_PP_WHILE_390_I(p, o, s) BOOST_PP_IF(p(391, s), BOOST_PP_WHILE_391, s BOOST_PP_TUPLE_EAT_3)(p, o, o(391, s)) -# define BOOST_PP_WHILE_391_I(p, o, s) BOOST_PP_IF(p(392, s), BOOST_PP_WHILE_392, s BOOST_PP_TUPLE_EAT_3)(p, o, o(392, s)) -# define BOOST_PP_WHILE_392_I(p, o, s) BOOST_PP_IF(p(393, s), BOOST_PP_WHILE_393, s BOOST_PP_TUPLE_EAT_3)(p, o, o(393, s)) -# define BOOST_PP_WHILE_393_I(p, o, s) BOOST_PP_IF(p(394, s), BOOST_PP_WHILE_394, s BOOST_PP_TUPLE_EAT_3)(p, o, o(394, s)) -# define BOOST_PP_WHILE_394_I(p, o, s) BOOST_PP_IF(p(395, s), BOOST_PP_WHILE_395, s BOOST_PP_TUPLE_EAT_3)(p, o, o(395, s)) -# define BOOST_PP_WHILE_395_I(p, o, s) BOOST_PP_IF(p(396, s), BOOST_PP_WHILE_396, s BOOST_PP_TUPLE_EAT_3)(p, o, o(396, s)) -# define BOOST_PP_WHILE_396_I(p, o, s) BOOST_PP_IF(p(397, s), BOOST_PP_WHILE_397, s BOOST_PP_TUPLE_EAT_3)(p, o, o(397, s)) -# define BOOST_PP_WHILE_397_I(p, o, s) BOOST_PP_IF(p(398, s), BOOST_PP_WHILE_398, s BOOST_PP_TUPLE_EAT_3)(p, o, o(398, s)) -# define BOOST_PP_WHILE_398_I(p, o, s) BOOST_PP_IF(p(399, s), BOOST_PP_WHILE_399, s BOOST_PP_TUPLE_EAT_3)(p, o, o(399, s)) -# define BOOST_PP_WHILE_399_I(p, o, s) BOOST_PP_IF(p(400, s), BOOST_PP_WHILE_400, s BOOST_PP_TUPLE_EAT_3)(p, o, o(400, s)) -# define BOOST_PP_WHILE_400_I(p, o, s) BOOST_PP_IF(p(401, s), BOOST_PP_WHILE_401, s BOOST_PP_TUPLE_EAT_3)(p, o, o(401, s)) -# define BOOST_PP_WHILE_401_I(p, o, s) BOOST_PP_IF(p(402, s), BOOST_PP_WHILE_402, s BOOST_PP_TUPLE_EAT_3)(p, o, o(402, s)) -# define BOOST_PP_WHILE_402_I(p, o, s) BOOST_PP_IF(p(403, s), BOOST_PP_WHILE_403, s BOOST_PP_TUPLE_EAT_3)(p, o, o(403, s)) -# define BOOST_PP_WHILE_403_I(p, o, s) BOOST_PP_IF(p(404, s), BOOST_PP_WHILE_404, s BOOST_PP_TUPLE_EAT_3)(p, o, o(404, s)) -# define BOOST_PP_WHILE_404_I(p, o, s) BOOST_PP_IF(p(405, s), BOOST_PP_WHILE_405, s BOOST_PP_TUPLE_EAT_3)(p, o, o(405, s)) -# define BOOST_PP_WHILE_405_I(p, o, s) BOOST_PP_IF(p(406, s), BOOST_PP_WHILE_406, s BOOST_PP_TUPLE_EAT_3)(p, o, o(406, s)) -# define BOOST_PP_WHILE_406_I(p, o, s) BOOST_PP_IF(p(407, s), BOOST_PP_WHILE_407, s BOOST_PP_TUPLE_EAT_3)(p, o, o(407, s)) -# define BOOST_PP_WHILE_407_I(p, o, s) BOOST_PP_IF(p(408, s), BOOST_PP_WHILE_408, s BOOST_PP_TUPLE_EAT_3)(p, o, o(408, s)) -# define BOOST_PP_WHILE_408_I(p, o, s) BOOST_PP_IF(p(409, s), BOOST_PP_WHILE_409, s BOOST_PP_TUPLE_EAT_3)(p, o, o(409, s)) -# define BOOST_PP_WHILE_409_I(p, o, s) BOOST_PP_IF(p(410, s), BOOST_PP_WHILE_410, s BOOST_PP_TUPLE_EAT_3)(p, o, o(410, s)) -# define BOOST_PP_WHILE_410_I(p, o, s) BOOST_PP_IF(p(411, s), BOOST_PP_WHILE_411, s BOOST_PP_TUPLE_EAT_3)(p, o, o(411, s)) -# define BOOST_PP_WHILE_411_I(p, o, s) BOOST_PP_IF(p(412, s), BOOST_PP_WHILE_412, s BOOST_PP_TUPLE_EAT_3)(p, o, o(412, s)) -# define BOOST_PP_WHILE_412_I(p, o, s) BOOST_PP_IF(p(413, s), BOOST_PP_WHILE_413, s BOOST_PP_TUPLE_EAT_3)(p, o, o(413, s)) -# define BOOST_PP_WHILE_413_I(p, o, s) BOOST_PP_IF(p(414, s), BOOST_PP_WHILE_414, s BOOST_PP_TUPLE_EAT_3)(p, o, o(414, s)) -# define BOOST_PP_WHILE_414_I(p, o, s) BOOST_PP_IF(p(415, s), BOOST_PP_WHILE_415, s BOOST_PP_TUPLE_EAT_3)(p, o, o(415, s)) -# define BOOST_PP_WHILE_415_I(p, o, s) BOOST_PP_IF(p(416, s), BOOST_PP_WHILE_416, s BOOST_PP_TUPLE_EAT_3)(p, o, o(416, s)) -# define BOOST_PP_WHILE_416_I(p, o, s) BOOST_PP_IF(p(417, s), BOOST_PP_WHILE_417, s BOOST_PP_TUPLE_EAT_3)(p, o, o(417, s)) -# define BOOST_PP_WHILE_417_I(p, o, s) BOOST_PP_IF(p(418, s), BOOST_PP_WHILE_418, s BOOST_PP_TUPLE_EAT_3)(p, o, o(418, s)) -# define BOOST_PP_WHILE_418_I(p, o, s) BOOST_PP_IF(p(419, s), BOOST_PP_WHILE_419, s BOOST_PP_TUPLE_EAT_3)(p, o, o(419, s)) -# define BOOST_PP_WHILE_419_I(p, o, s) BOOST_PP_IF(p(420, s), BOOST_PP_WHILE_420, s BOOST_PP_TUPLE_EAT_3)(p, o, o(420, s)) -# define BOOST_PP_WHILE_420_I(p, o, s) BOOST_PP_IF(p(421, s), BOOST_PP_WHILE_421, s BOOST_PP_TUPLE_EAT_3)(p, o, o(421, s)) -# define BOOST_PP_WHILE_421_I(p, o, s) BOOST_PP_IF(p(422, s), BOOST_PP_WHILE_422, s BOOST_PP_TUPLE_EAT_3)(p, o, o(422, s)) -# define BOOST_PP_WHILE_422_I(p, o, s) BOOST_PP_IF(p(423, s), BOOST_PP_WHILE_423, s BOOST_PP_TUPLE_EAT_3)(p, o, o(423, s)) -# define BOOST_PP_WHILE_423_I(p, o, s) BOOST_PP_IF(p(424, s), BOOST_PP_WHILE_424, s BOOST_PP_TUPLE_EAT_3)(p, o, o(424, s)) -# define BOOST_PP_WHILE_424_I(p, o, s) BOOST_PP_IF(p(425, s), BOOST_PP_WHILE_425, s BOOST_PP_TUPLE_EAT_3)(p, o, o(425, s)) -# define BOOST_PP_WHILE_425_I(p, o, s) BOOST_PP_IF(p(426, s), BOOST_PP_WHILE_426, s BOOST_PP_TUPLE_EAT_3)(p, o, o(426, s)) -# define BOOST_PP_WHILE_426_I(p, o, s) BOOST_PP_IF(p(427, s), BOOST_PP_WHILE_427, s BOOST_PP_TUPLE_EAT_3)(p, o, o(427, s)) -# define BOOST_PP_WHILE_427_I(p, o, s) BOOST_PP_IF(p(428, s), BOOST_PP_WHILE_428, s BOOST_PP_TUPLE_EAT_3)(p, o, o(428, s)) -# define BOOST_PP_WHILE_428_I(p, o, s) BOOST_PP_IF(p(429, s), BOOST_PP_WHILE_429, s BOOST_PP_TUPLE_EAT_3)(p, o, o(429, s)) -# define BOOST_PP_WHILE_429_I(p, o, s) BOOST_PP_IF(p(430, s), BOOST_PP_WHILE_430, s BOOST_PP_TUPLE_EAT_3)(p, o, o(430, s)) -# define BOOST_PP_WHILE_430_I(p, o, s) BOOST_PP_IF(p(431, s), BOOST_PP_WHILE_431, s BOOST_PP_TUPLE_EAT_3)(p, o, o(431, s)) -# define BOOST_PP_WHILE_431_I(p, o, s) BOOST_PP_IF(p(432, s), BOOST_PP_WHILE_432, s BOOST_PP_TUPLE_EAT_3)(p, o, o(432, s)) -# define BOOST_PP_WHILE_432_I(p, o, s) BOOST_PP_IF(p(433, s), BOOST_PP_WHILE_433, s BOOST_PP_TUPLE_EAT_3)(p, o, o(433, s)) -# define BOOST_PP_WHILE_433_I(p, o, s) BOOST_PP_IF(p(434, s), BOOST_PP_WHILE_434, s BOOST_PP_TUPLE_EAT_3)(p, o, o(434, s)) -# define BOOST_PP_WHILE_434_I(p, o, s) BOOST_PP_IF(p(435, s), BOOST_PP_WHILE_435, s BOOST_PP_TUPLE_EAT_3)(p, o, o(435, s)) -# define BOOST_PP_WHILE_435_I(p, o, s) BOOST_PP_IF(p(436, s), BOOST_PP_WHILE_436, s BOOST_PP_TUPLE_EAT_3)(p, o, o(436, s)) -# define BOOST_PP_WHILE_436_I(p, o, s) BOOST_PP_IF(p(437, s), BOOST_PP_WHILE_437, s BOOST_PP_TUPLE_EAT_3)(p, o, o(437, s)) -# define BOOST_PP_WHILE_437_I(p, o, s) BOOST_PP_IF(p(438, s), BOOST_PP_WHILE_438, s BOOST_PP_TUPLE_EAT_3)(p, o, o(438, s)) -# define BOOST_PP_WHILE_438_I(p, o, s) BOOST_PP_IF(p(439, s), BOOST_PP_WHILE_439, s BOOST_PP_TUPLE_EAT_3)(p, o, o(439, s)) -# define BOOST_PP_WHILE_439_I(p, o, s) BOOST_PP_IF(p(440, s), BOOST_PP_WHILE_440, s BOOST_PP_TUPLE_EAT_3)(p, o, o(440, s)) -# define BOOST_PP_WHILE_440_I(p, o, s) BOOST_PP_IF(p(441, s), BOOST_PP_WHILE_441, s BOOST_PP_TUPLE_EAT_3)(p, o, o(441, s)) -# define BOOST_PP_WHILE_441_I(p, o, s) BOOST_PP_IF(p(442, s), BOOST_PP_WHILE_442, s BOOST_PP_TUPLE_EAT_3)(p, o, o(442, s)) -# define BOOST_PP_WHILE_442_I(p, o, s) BOOST_PP_IF(p(443, s), BOOST_PP_WHILE_443, s BOOST_PP_TUPLE_EAT_3)(p, o, o(443, s)) -# define BOOST_PP_WHILE_443_I(p, o, s) BOOST_PP_IF(p(444, s), BOOST_PP_WHILE_444, s BOOST_PP_TUPLE_EAT_3)(p, o, o(444, s)) -# define BOOST_PP_WHILE_444_I(p, o, s) BOOST_PP_IF(p(445, s), BOOST_PP_WHILE_445, s BOOST_PP_TUPLE_EAT_3)(p, o, o(445, s)) -# define BOOST_PP_WHILE_445_I(p, o, s) BOOST_PP_IF(p(446, s), BOOST_PP_WHILE_446, s BOOST_PP_TUPLE_EAT_3)(p, o, o(446, s)) -# define BOOST_PP_WHILE_446_I(p, o, s) BOOST_PP_IF(p(447, s), BOOST_PP_WHILE_447, s BOOST_PP_TUPLE_EAT_3)(p, o, o(447, s)) -# define BOOST_PP_WHILE_447_I(p, o, s) BOOST_PP_IF(p(448, s), BOOST_PP_WHILE_448, s BOOST_PP_TUPLE_EAT_3)(p, o, o(448, s)) -# define BOOST_PP_WHILE_448_I(p, o, s) BOOST_PP_IF(p(449, s), BOOST_PP_WHILE_449, s BOOST_PP_TUPLE_EAT_3)(p, o, o(449, s)) -# define BOOST_PP_WHILE_449_I(p, o, s) BOOST_PP_IF(p(450, s), BOOST_PP_WHILE_450, s BOOST_PP_TUPLE_EAT_3)(p, o, o(450, s)) -# define BOOST_PP_WHILE_450_I(p, o, s) BOOST_PP_IF(p(451, s), BOOST_PP_WHILE_451, s BOOST_PP_TUPLE_EAT_3)(p, o, o(451, s)) -# define BOOST_PP_WHILE_451_I(p, o, s) BOOST_PP_IF(p(452, s), BOOST_PP_WHILE_452, s BOOST_PP_TUPLE_EAT_3)(p, o, o(452, s)) -# define BOOST_PP_WHILE_452_I(p, o, s) BOOST_PP_IF(p(453, s), BOOST_PP_WHILE_453, s BOOST_PP_TUPLE_EAT_3)(p, o, o(453, s)) -# define BOOST_PP_WHILE_453_I(p, o, s) BOOST_PP_IF(p(454, s), BOOST_PP_WHILE_454, s BOOST_PP_TUPLE_EAT_3)(p, o, o(454, s)) -# define BOOST_PP_WHILE_454_I(p, o, s) BOOST_PP_IF(p(455, s), BOOST_PP_WHILE_455, s BOOST_PP_TUPLE_EAT_3)(p, o, o(455, s)) -# define BOOST_PP_WHILE_455_I(p, o, s) BOOST_PP_IF(p(456, s), BOOST_PP_WHILE_456, s BOOST_PP_TUPLE_EAT_3)(p, o, o(456, s)) -# define BOOST_PP_WHILE_456_I(p, o, s) BOOST_PP_IF(p(457, s), BOOST_PP_WHILE_457, s BOOST_PP_TUPLE_EAT_3)(p, o, o(457, s)) -# define BOOST_PP_WHILE_457_I(p, o, s) BOOST_PP_IF(p(458, s), BOOST_PP_WHILE_458, s BOOST_PP_TUPLE_EAT_3)(p, o, o(458, s)) -# define BOOST_PP_WHILE_458_I(p, o, s) BOOST_PP_IF(p(459, s), BOOST_PP_WHILE_459, s BOOST_PP_TUPLE_EAT_3)(p, o, o(459, s)) -# define BOOST_PP_WHILE_459_I(p, o, s) BOOST_PP_IF(p(460, s), BOOST_PP_WHILE_460, s BOOST_PP_TUPLE_EAT_3)(p, o, o(460, s)) -# define BOOST_PP_WHILE_460_I(p, o, s) BOOST_PP_IF(p(461, s), BOOST_PP_WHILE_461, s BOOST_PP_TUPLE_EAT_3)(p, o, o(461, s)) -# define BOOST_PP_WHILE_461_I(p, o, s) BOOST_PP_IF(p(462, s), BOOST_PP_WHILE_462, s BOOST_PP_TUPLE_EAT_3)(p, o, o(462, s)) -# define BOOST_PP_WHILE_462_I(p, o, s) BOOST_PP_IF(p(463, s), BOOST_PP_WHILE_463, s BOOST_PP_TUPLE_EAT_3)(p, o, o(463, s)) -# define BOOST_PP_WHILE_463_I(p, o, s) BOOST_PP_IF(p(464, s), BOOST_PP_WHILE_464, s BOOST_PP_TUPLE_EAT_3)(p, o, o(464, s)) -# define BOOST_PP_WHILE_464_I(p, o, s) BOOST_PP_IF(p(465, s), BOOST_PP_WHILE_465, s BOOST_PP_TUPLE_EAT_3)(p, o, o(465, s)) -# define BOOST_PP_WHILE_465_I(p, o, s) BOOST_PP_IF(p(466, s), BOOST_PP_WHILE_466, s BOOST_PP_TUPLE_EAT_3)(p, o, o(466, s)) -# define BOOST_PP_WHILE_466_I(p, o, s) BOOST_PP_IF(p(467, s), BOOST_PP_WHILE_467, s BOOST_PP_TUPLE_EAT_3)(p, o, o(467, s)) -# define BOOST_PP_WHILE_467_I(p, o, s) BOOST_PP_IF(p(468, s), BOOST_PP_WHILE_468, s BOOST_PP_TUPLE_EAT_3)(p, o, o(468, s)) -# define BOOST_PP_WHILE_468_I(p, o, s) BOOST_PP_IF(p(469, s), BOOST_PP_WHILE_469, s BOOST_PP_TUPLE_EAT_3)(p, o, o(469, s)) -# define BOOST_PP_WHILE_469_I(p, o, s) BOOST_PP_IF(p(470, s), BOOST_PP_WHILE_470, s BOOST_PP_TUPLE_EAT_3)(p, o, o(470, s)) -# define BOOST_PP_WHILE_470_I(p, o, s) BOOST_PP_IF(p(471, s), BOOST_PP_WHILE_471, s BOOST_PP_TUPLE_EAT_3)(p, o, o(471, s)) -# define BOOST_PP_WHILE_471_I(p, o, s) BOOST_PP_IF(p(472, s), BOOST_PP_WHILE_472, s BOOST_PP_TUPLE_EAT_3)(p, o, o(472, s)) -# define BOOST_PP_WHILE_472_I(p, o, s) BOOST_PP_IF(p(473, s), BOOST_PP_WHILE_473, s BOOST_PP_TUPLE_EAT_3)(p, o, o(473, s)) -# define BOOST_PP_WHILE_473_I(p, o, s) BOOST_PP_IF(p(474, s), BOOST_PP_WHILE_474, s BOOST_PP_TUPLE_EAT_3)(p, o, o(474, s)) -# define BOOST_PP_WHILE_474_I(p, o, s) BOOST_PP_IF(p(475, s), BOOST_PP_WHILE_475, s BOOST_PP_TUPLE_EAT_3)(p, o, o(475, s)) -# define BOOST_PP_WHILE_475_I(p, o, s) BOOST_PP_IF(p(476, s), BOOST_PP_WHILE_476, s BOOST_PP_TUPLE_EAT_3)(p, o, o(476, s)) -# define BOOST_PP_WHILE_476_I(p, o, s) BOOST_PP_IF(p(477, s), BOOST_PP_WHILE_477, s BOOST_PP_TUPLE_EAT_3)(p, o, o(477, s)) -# define BOOST_PP_WHILE_477_I(p, o, s) BOOST_PP_IF(p(478, s), BOOST_PP_WHILE_478, s BOOST_PP_TUPLE_EAT_3)(p, o, o(478, s)) -# define BOOST_PP_WHILE_478_I(p, o, s) BOOST_PP_IF(p(479, s), BOOST_PP_WHILE_479, s BOOST_PP_TUPLE_EAT_3)(p, o, o(479, s)) -# define BOOST_PP_WHILE_479_I(p, o, s) BOOST_PP_IF(p(480, s), BOOST_PP_WHILE_480, s BOOST_PP_TUPLE_EAT_3)(p, o, o(480, s)) -# define BOOST_PP_WHILE_480_I(p, o, s) BOOST_PP_IF(p(481, s), BOOST_PP_WHILE_481, s BOOST_PP_TUPLE_EAT_3)(p, o, o(481, s)) -# define BOOST_PP_WHILE_481_I(p, o, s) BOOST_PP_IF(p(482, s), BOOST_PP_WHILE_482, s BOOST_PP_TUPLE_EAT_3)(p, o, o(482, s)) -# define BOOST_PP_WHILE_482_I(p, o, s) BOOST_PP_IF(p(483, s), BOOST_PP_WHILE_483, s BOOST_PP_TUPLE_EAT_3)(p, o, o(483, s)) -# define BOOST_PP_WHILE_483_I(p, o, s) BOOST_PP_IF(p(484, s), BOOST_PP_WHILE_484, s BOOST_PP_TUPLE_EAT_3)(p, o, o(484, s)) -# define BOOST_PP_WHILE_484_I(p, o, s) BOOST_PP_IF(p(485, s), BOOST_PP_WHILE_485, s BOOST_PP_TUPLE_EAT_3)(p, o, o(485, s)) -# define BOOST_PP_WHILE_485_I(p, o, s) BOOST_PP_IF(p(486, s), BOOST_PP_WHILE_486, s BOOST_PP_TUPLE_EAT_3)(p, o, o(486, s)) -# define BOOST_PP_WHILE_486_I(p, o, s) BOOST_PP_IF(p(487, s), BOOST_PP_WHILE_487, s BOOST_PP_TUPLE_EAT_3)(p, o, o(487, s)) -# define BOOST_PP_WHILE_487_I(p, o, s) BOOST_PP_IF(p(488, s), BOOST_PP_WHILE_488, s BOOST_PP_TUPLE_EAT_3)(p, o, o(488, s)) -# define BOOST_PP_WHILE_488_I(p, o, s) BOOST_PP_IF(p(489, s), BOOST_PP_WHILE_489, s BOOST_PP_TUPLE_EAT_3)(p, o, o(489, s)) -# define BOOST_PP_WHILE_489_I(p, o, s) BOOST_PP_IF(p(490, s), BOOST_PP_WHILE_490, s BOOST_PP_TUPLE_EAT_3)(p, o, o(490, s)) -# define BOOST_PP_WHILE_490_I(p, o, s) BOOST_PP_IF(p(491, s), BOOST_PP_WHILE_491, s BOOST_PP_TUPLE_EAT_3)(p, o, o(491, s)) -# define BOOST_PP_WHILE_491_I(p, o, s) BOOST_PP_IF(p(492, s), BOOST_PP_WHILE_492, s BOOST_PP_TUPLE_EAT_3)(p, o, o(492, s)) -# define BOOST_PP_WHILE_492_I(p, o, s) BOOST_PP_IF(p(493, s), BOOST_PP_WHILE_493, s BOOST_PP_TUPLE_EAT_3)(p, o, o(493, s)) -# define BOOST_PP_WHILE_493_I(p, o, s) BOOST_PP_IF(p(494, s), BOOST_PP_WHILE_494, s BOOST_PP_TUPLE_EAT_3)(p, o, o(494, s)) -# define BOOST_PP_WHILE_494_I(p, o, s) BOOST_PP_IF(p(495, s), BOOST_PP_WHILE_495, s BOOST_PP_TUPLE_EAT_3)(p, o, o(495, s)) -# define BOOST_PP_WHILE_495_I(p, o, s) BOOST_PP_IF(p(496, s), BOOST_PP_WHILE_496, s BOOST_PP_TUPLE_EAT_3)(p, o, o(496, s)) -# define BOOST_PP_WHILE_496_I(p, o, s) BOOST_PP_IF(p(497, s), BOOST_PP_WHILE_497, s BOOST_PP_TUPLE_EAT_3)(p, o, o(497, s)) -# define BOOST_PP_WHILE_497_I(p, o, s) BOOST_PP_IF(p(498, s), BOOST_PP_WHILE_498, s BOOST_PP_TUPLE_EAT_3)(p, o, o(498, s)) -# define BOOST_PP_WHILE_498_I(p, o, s) BOOST_PP_IF(p(499, s), BOOST_PP_WHILE_499, s BOOST_PP_TUPLE_EAT_3)(p, o, o(499, s)) -# define BOOST_PP_WHILE_499_I(p, o, s) BOOST_PP_IF(p(500, s), BOOST_PP_WHILE_500, s BOOST_PP_TUPLE_EAT_3)(p, o, o(500, s)) -# define BOOST_PP_WHILE_500_I(p, o, s) BOOST_PP_IF(p(501, s), BOOST_PP_WHILE_501, s BOOST_PP_TUPLE_EAT_3)(p, o, o(501, s)) -# define BOOST_PP_WHILE_501_I(p, o, s) BOOST_PP_IF(p(502, s), BOOST_PP_WHILE_502, s BOOST_PP_TUPLE_EAT_3)(p, o, o(502, s)) -# define BOOST_PP_WHILE_502_I(p, o, s) BOOST_PP_IF(p(503, s), BOOST_PP_WHILE_503, s BOOST_PP_TUPLE_EAT_3)(p, o, o(503, s)) -# define BOOST_PP_WHILE_503_I(p, o, s) BOOST_PP_IF(p(504, s), BOOST_PP_WHILE_504, s BOOST_PP_TUPLE_EAT_3)(p, o, o(504, s)) -# define BOOST_PP_WHILE_504_I(p, o, s) BOOST_PP_IF(p(505, s), BOOST_PP_WHILE_505, s BOOST_PP_TUPLE_EAT_3)(p, o, o(505, s)) -# define BOOST_PP_WHILE_505_I(p, o, s) BOOST_PP_IF(p(506, s), BOOST_PP_WHILE_506, s BOOST_PP_TUPLE_EAT_3)(p, o, o(506, s)) -# define BOOST_PP_WHILE_506_I(p, o, s) BOOST_PP_IF(p(507, s), BOOST_PP_WHILE_507, s BOOST_PP_TUPLE_EAT_3)(p, o, o(507, s)) -# define BOOST_PP_WHILE_507_I(p, o, s) BOOST_PP_IF(p(508, s), BOOST_PP_WHILE_508, s BOOST_PP_TUPLE_EAT_3)(p, o, o(508, s)) -# define BOOST_PP_WHILE_508_I(p, o, s) BOOST_PP_IF(p(509, s), BOOST_PP_WHILE_509, s BOOST_PP_TUPLE_EAT_3)(p, o, o(509, s)) -# define BOOST_PP_WHILE_509_I(p, o, s) BOOST_PP_IF(p(510, s), BOOST_PP_WHILE_510, s BOOST_PP_TUPLE_EAT_3)(p, o, o(510, s)) -# define BOOST_PP_WHILE_510_I(p, o, s) BOOST_PP_IF(p(511, s), BOOST_PP_WHILE_511, s BOOST_PP_TUPLE_EAT_3)(p, o, o(511, s)) -# define BOOST_PP_WHILE_511_I(p, o, s) BOOST_PP_IF(p(512, s), BOOST_PP_WHILE_512, s BOOST_PP_TUPLE_EAT_3)(p, o, o(512, s)) -# define BOOST_PP_WHILE_512_I(p, o, s) BOOST_PP_IF(p(513, s), BOOST_PP_WHILE_513, s BOOST_PP_TUPLE_EAT_3)(p, o, o(513, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/while.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/edg/while.hpp deleted file mode 100644 index cb02e25538..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/edg/while.hpp +++ /dev/null @@ -1,561 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s) -# -# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) -# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) -# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) -# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) -# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) -# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) -# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) -# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) -# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) -# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) -# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) -# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) -# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) -# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) -# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) -# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) -# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) -# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) -# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) -# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) -# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) -# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) -# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) -# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) -# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) -# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) -# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) -# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) -# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) -# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) -# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) -# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) -# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) -# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) -# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) -# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) -# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) -# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) -# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) -# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) -# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) -# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) -# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) -# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) -# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) -# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) -# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) -# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) -# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) -# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) -# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) -# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) -# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) -# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) -# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) -# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) -# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) -# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) -# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) -# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) -# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) -# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) -# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) -# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) -# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) -# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) -# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) -# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) -# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) -# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) -# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) -# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) -# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) -# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) -# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) -# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) -# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) -# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) -# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) -# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) -# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) -# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) -# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) -# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) -# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) -# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) -# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) -# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) -# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) -# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) -# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) -# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) -# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) -# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) -# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) -# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) -# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) -# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) -# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) -# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) -# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) -# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) -# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) -# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) -# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) -# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) -# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) -# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) -# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) -# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) -# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) -# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) -# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) -# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) -# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) -# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) -# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) -# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) -# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) -# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) -# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) -# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) -# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) -# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) -# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) -# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) -# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) -# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) -# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) -# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) -# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) -# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) -# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) -# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) -# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) -# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) -# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) -# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) -# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) -# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) -# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) -# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) -# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) -# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) -# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) -# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) -# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) -# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) -# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) -# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) -# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) -# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) -# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) -# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) -# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) -# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) -# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) -# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) -# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) -# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) -# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) -# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) -# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) -# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) -# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) -# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) -# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) -# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) -# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) -# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) -# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) -# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) -# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) -# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) -# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) -# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) -# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) -# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) -# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) -# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) -# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) -# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) -# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) -# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) -# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) -# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) -# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) -# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) -# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) -# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) -# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) -# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) -# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) -# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) -# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) -# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) -# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) -# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) -# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) -# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) -# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) -# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) -# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) -# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) -# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) -# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) -# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) -# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) -# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) -# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) -# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) -# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) -# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) -# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) -# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) -# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) -# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) -# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) -# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) -# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) -# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) -# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) -# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) -# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) -# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) -# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) -# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) -# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) -# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) -# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) -# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) -# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) -# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) -# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) -# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) -# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) -# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) -# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) -# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) -# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) -# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) -# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) -# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) -# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) -# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) -# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) -# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) -# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) -# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) -# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) -# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) -# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) -# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) -# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) -# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) -# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) -# -# else -# -# include -# include -# -# include -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_1024.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_1024.hpp deleted file mode 100644 index 5c2b27ef0e..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_1024.hpp +++ /dev/null @@ -1,1044 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_1024_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_1024_HPP -# -# define BOOST_PP_WHILE_513(p, o, s) BOOST_PP_WHILE_513_C(BOOST_PP_BOOL(p(514, s)), p, o, s) -# define BOOST_PP_WHILE_514(p, o, s) BOOST_PP_WHILE_514_C(BOOST_PP_BOOL(p(515, s)), p, o, s) -# define BOOST_PP_WHILE_515(p, o, s) BOOST_PP_WHILE_515_C(BOOST_PP_BOOL(p(516, s)), p, o, s) -# define BOOST_PP_WHILE_516(p, o, s) BOOST_PP_WHILE_516_C(BOOST_PP_BOOL(p(517, s)), p, o, s) -# define BOOST_PP_WHILE_517(p, o, s) BOOST_PP_WHILE_517_C(BOOST_PP_BOOL(p(518, s)), p, o, s) -# define BOOST_PP_WHILE_518(p, o, s) BOOST_PP_WHILE_518_C(BOOST_PP_BOOL(p(519, s)), p, o, s) -# define BOOST_PP_WHILE_519(p, o, s) BOOST_PP_WHILE_519_C(BOOST_PP_BOOL(p(520, s)), p, o, s) -# define BOOST_PP_WHILE_520(p, o, s) BOOST_PP_WHILE_520_C(BOOST_PP_BOOL(p(521, s)), p, o, s) -# define BOOST_PP_WHILE_521(p, o, s) BOOST_PP_WHILE_521_C(BOOST_PP_BOOL(p(522, s)), p, o, s) -# define BOOST_PP_WHILE_522(p, o, s) BOOST_PP_WHILE_522_C(BOOST_PP_BOOL(p(523, s)), p, o, s) -# define BOOST_PP_WHILE_523(p, o, s) BOOST_PP_WHILE_523_C(BOOST_PP_BOOL(p(524, s)), p, o, s) -# define BOOST_PP_WHILE_524(p, o, s) BOOST_PP_WHILE_524_C(BOOST_PP_BOOL(p(525, s)), p, o, s) -# define BOOST_PP_WHILE_525(p, o, s) BOOST_PP_WHILE_525_C(BOOST_PP_BOOL(p(526, s)), p, o, s) -# define BOOST_PP_WHILE_526(p, o, s) BOOST_PP_WHILE_526_C(BOOST_PP_BOOL(p(527, s)), p, o, s) -# define BOOST_PP_WHILE_527(p, o, s) BOOST_PP_WHILE_527_C(BOOST_PP_BOOL(p(528, s)), p, o, s) -# define BOOST_PP_WHILE_528(p, o, s) BOOST_PP_WHILE_528_C(BOOST_PP_BOOL(p(529, s)), p, o, s) -# define BOOST_PP_WHILE_529(p, o, s) BOOST_PP_WHILE_529_C(BOOST_PP_BOOL(p(530, s)), p, o, s) -# define BOOST_PP_WHILE_530(p, o, s) BOOST_PP_WHILE_530_C(BOOST_PP_BOOL(p(531, s)), p, o, s) -# define BOOST_PP_WHILE_531(p, o, s) BOOST_PP_WHILE_531_C(BOOST_PP_BOOL(p(532, s)), p, o, s) -# define BOOST_PP_WHILE_532(p, o, s) BOOST_PP_WHILE_532_C(BOOST_PP_BOOL(p(533, s)), p, o, s) -# define BOOST_PP_WHILE_533(p, o, s) BOOST_PP_WHILE_533_C(BOOST_PP_BOOL(p(534, s)), p, o, s) -# define BOOST_PP_WHILE_534(p, o, s) BOOST_PP_WHILE_534_C(BOOST_PP_BOOL(p(535, s)), p, o, s) -# define BOOST_PP_WHILE_535(p, o, s) BOOST_PP_WHILE_535_C(BOOST_PP_BOOL(p(536, s)), p, o, s) -# define BOOST_PP_WHILE_536(p, o, s) BOOST_PP_WHILE_536_C(BOOST_PP_BOOL(p(537, s)), p, o, s) -# define BOOST_PP_WHILE_537(p, o, s) BOOST_PP_WHILE_537_C(BOOST_PP_BOOL(p(538, s)), p, o, s) -# define BOOST_PP_WHILE_538(p, o, s) BOOST_PP_WHILE_538_C(BOOST_PP_BOOL(p(539, s)), p, o, s) -# define BOOST_PP_WHILE_539(p, o, s) BOOST_PP_WHILE_539_C(BOOST_PP_BOOL(p(540, s)), p, o, s) -# define BOOST_PP_WHILE_540(p, o, s) BOOST_PP_WHILE_540_C(BOOST_PP_BOOL(p(541, s)), p, o, s) -# define BOOST_PP_WHILE_541(p, o, s) BOOST_PP_WHILE_541_C(BOOST_PP_BOOL(p(542, s)), p, o, s) -# define BOOST_PP_WHILE_542(p, o, s) BOOST_PP_WHILE_542_C(BOOST_PP_BOOL(p(543, s)), p, o, s) -# define BOOST_PP_WHILE_543(p, o, s) BOOST_PP_WHILE_543_C(BOOST_PP_BOOL(p(544, s)), p, o, s) -# define BOOST_PP_WHILE_544(p, o, s) BOOST_PP_WHILE_544_C(BOOST_PP_BOOL(p(545, s)), p, o, s) -# define BOOST_PP_WHILE_545(p, o, s) BOOST_PP_WHILE_545_C(BOOST_PP_BOOL(p(546, s)), p, o, s) -# define BOOST_PP_WHILE_546(p, o, s) BOOST_PP_WHILE_546_C(BOOST_PP_BOOL(p(547, s)), p, o, s) -# define BOOST_PP_WHILE_547(p, o, s) BOOST_PP_WHILE_547_C(BOOST_PP_BOOL(p(548, s)), p, o, s) -# define BOOST_PP_WHILE_548(p, o, s) BOOST_PP_WHILE_548_C(BOOST_PP_BOOL(p(549, s)), p, o, s) -# define BOOST_PP_WHILE_549(p, o, s) BOOST_PP_WHILE_549_C(BOOST_PP_BOOL(p(550, s)), p, o, s) -# define BOOST_PP_WHILE_550(p, o, s) BOOST_PP_WHILE_550_C(BOOST_PP_BOOL(p(551, s)), p, o, s) -# define BOOST_PP_WHILE_551(p, o, s) BOOST_PP_WHILE_551_C(BOOST_PP_BOOL(p(552, s)), p, o, s) -# define BOOST_PP_WHILE_552(p, o, s) BOOST_PP_WHILE_552_C(BOOST_PP_BOOL(p(553, s)), p, o, s) -# define BOOST_PP_WHILE_553(p, o, s) BOOST_PP_WHILE_553_C(BOOST_PP_BOOL(p(554, s)), p, o, s) -# define BOOST_PP_WHILE_554(p, o, s) BOOST_PP_WHILE_554_C(BOOST_PP_BOOL(p(555, s)), p, o, s) -# define BOOST_PP_WHILE_555(p, o, s) BOOST_PP_WHILE_555_C(BOOST_PP_BOOL(p(556, s)), p, o, s) -# define BOOST_PP_WHILE_556(p, o, s) BOOST_PP_WHILE_556_C(BOOST_PP_BOOL(p(557, s)), p, o, s) -# define BOOST_PP_WHILE_557(p, o, s) BOOST_PP_WHILE_557_C(BOOST_PP_BOOL(p(558, s)), p, o, s) -# define BOOST_PP_WHILE_558(p, o, s) BOOST_PP_WHILE_558_C(BOOST_PP_BOOL(p(559, s)), p, o, s) -# define BOOST_PP_WHILE_559(p, o, s) BOOST_PP_WHILE_559_C(BOOST_PP_BOOL(p(560, s)), p, o, s) -# define BOOST_PP_WHILE_560(p, o, s) BOOST_PP_WHILE_560_C(BOOST_PP_BOOL(p(561, s)), p, o, s) -# define BOOST_PP_WHILE_561(p, o, s) BOOST_PP_WHILE_561_C(BOOST_PP_BOOL(p(562, s)), p, o, s) -# define BOOST_PP_WHILE_562(p, o, s) BOOST_PP_WHILE_562_C(BOOST_PP_BOOL(p(563, s)), p, o, s) -# define BOOST_PP_WHILE_563(p, o, s) BOOST_PP_WHILE_563_C(BOOST_PP_BOOL(p(564, s)), p, o, s) -# define BOOST_PP_WHILE_564(p, o, s) BOOST_PP_WHILE_564_C(BOOST_PP_BOOL(p(565, s)), p, o, s) -# define BOOST_PP_WHILE_565(p, o, s) BOOST_PP_WHILE_565_C(BOOST_PP_BOOL(p(566, s)), p, o, s) -# define BOOST_PP_WHILE_566(p, o, s) BOOST_PP_WHILE_566_C(BOOST_PP_BOOL(p(567, s)), p, o, s) -# define BOOST_PP_WHILE_567(p, o, s) BOOST_PP_WHILE_567_C(BOOST_PP_BOOL(p(568, s)), p, o, s) -# define BOOST_PP_WHILE_568(p, o, s) BOOST_PP_WHILE_568_C(BOOST_PP_BOOL(p(569, s)), p, o, s) -# define BOOST_PP_WHILE_569(p, o, s) BOOST_PP_WHILE_569_C(BOOST_PP_BOOL(p(570, s)), p, o, s) -# define BOOST_PP_WHILE_570(p, o, s) BOOST_PP_WHILE_570_C(BOOST_PP_BOOL(p(571, s)), p, o, s) -# define BOOST_PP_WHILE_571(p, o, s) BOOST_PP_WHILE_571_C(BOOST_PP_BOOL(p(572, s)), p, o, s) -# define BOOST_PP_WHILE_572(p, o, s) BOOST_PP_WHILE_572_C(BOOST_PP_BOOL(p(573, s)), p, o, s) -# define BOOST_PP_WHILE_573(p, o, s) BOOST_PP_WHILE_573_C(BOOST_PP_BOOL(p(574, s)), p, o, s) -# define BOOST_PP_WHILE_574(p, o, s) BOOST_PP_WHILE_574_C(BOOST_PP_BOOL(p(575, s)), p, o, s) -# define BOOST_PP_WHILE_575(p, o, s) BOOST_PP_WHILE_575_C(BOOST_PP_BOOL(p(576, s)), p, o, s) -# define BOOST_PP_WHILE_576(p, o, s) BOOST_PP_WHILE_576_C(BOOST_PP_BOOL(p(577, s)), p, o, s) -# define BOOST_PP_WHILE_577(p, o, s) BOOST_PP_WHILE_577_C(BOOST_PP_BOOL(p(578, s)), p, o, s) -# define BOOST_PP_WHILE_578(p, o, s) BOOST_PP_WHILE_578_C(BOOST_PP_BOOL(p(579, s)), p, o, s) -# define BOOST_PP_WHILE_579(p, o, s) BOOST_PP_WHILE_579_C(BOOST_PP_BOOL(p(580, s)), p, o, s) -# define BOOST_PP_WHILE_580(p, o, s) BOOST_PP_WHILE_580_C(BOOST_PP_BOOL(p(581, s)), p, o, s) -# define BOOST_PP_WHILE_581(p, o, s) BOOST_PP_WHILE_581_C(BOOST_PP_BOOL(p(582, s)), p, o, s) -# define BOOST_PP_WHILE_582(p, o, s) BOOST_PP_WHILE_582_C(BOOST_PP_BOOL(p(583, s)), p, o, s) -# define BOOST_PP_WHILE_583(p, o, s) BOOST_PP_WHILE_583_C(BOOST_PP_BOOL(p(584, s)), p, o, s) -# define BOOST_PP_WHILE_584(p, o, s) BOOST_PP_WHILE_584_C(BOOST_PP_BOOL(p(585, s)), p, o, s) -# define BOOST_PP_WHILE_585(p, o, s) BOOST_PP_WHILE_585_C(BOOST_PP_BOOL(p(586, s)), p, o, s) -# define BOOST_PP_WHILE_586(p, o, s) BOOST_PP_WHILE_586_C(BOOST_PP_BOOL(p(587, s)), p, o, s) -# define BOOST_PP_WHILE_587(p, o, s) BOOST_PP_WHILE_587_C(BOOST_PP_BOOL(p(588, s)), p, o, s) -# define BOOST_PP_WHILE_588(p, o, s) BOOST_PP_WHILE_588_C(BOOST_PP_BOOL(p(589, s)), p, o, s) -# define BOOST_PP_WHILE_589(p, o, s) BOOST_PP_WHILE_589_C(BOOST_PP_BOOL(p(590, s)), p, o, s) -# define BOOST_PP_WHILE_590(p, o, s) BOOST_PP_WHILE_590_C(BOOST_PP_BOOL(p(591, s)), p, o, s) -# define BOOST_PP_WHILE_591(p, o, s) BOOST_PP_WHILE_591_C(BOOST_PP_BOOL(p(592, s)), p, o, s) -# define BOOST_PP_WHILE_592(p, o, s) BOOST_PP_WHILE_592_C(BOOST_PP_BOOL(p(593, s)), p, o, s) -# define BOOST_PP_WHILE_593(p, o, s) BOOST_PP_WHILE_593_C(BOOST_PP_BOOL(p(594, s)), p, o, s) -# define BOOST_PP_WHILE_594(p, o, s) BOOST_PP_WHILE_594_C(BOOST_PP_BOOL(p(595, s)), p, o, s) -# define BOOST_PP_WHILE_595(p, o, s) BOOST_PP_WHILE_595_C(BOOST_PP_BOOL(p(596, s)), p, o, s) -# define BOOST_PP_WHILE_596(p, o, s) BOOST_PP_WHILE_596_C(BOOST_PP_BOOL(p(597, s)), p, o, s) -# define BOOST_PP_WHILE_597(p, o, s) BOOST_PP_WHILE_597_C(BOOST_PP_BOOL(p(598, s)), p, o, s) -# define BOOST_PP_WHILE_598(p, o, s) BOOST_PP_WHILE_598_C(BOOST_PP_BOOL(p(599, s)), p, o, s) -# define BOOST_PP_WHILE_599(p, o, s) BOOST_PP_WHILE_599_C(BOOST_PP_BOOL(p(600, s)), p, o, s) -# define BOOST_PP_WHILE_600(p, o, s) BOOST_PP_WHILE_600_C(BOOST_PP_BOOL(p(601, s)), p, o, s) -# define BOOST_PP_WHILE_601(p, o, s) BOOST_PP_WHILE_601_C(BOOST_PP_BOOL(p(602, s)), p, o, s) -# define BOOST_PP_WHILE_602(p, o, s) BOOST_PP_WHILE_602_C(BOOST_PP_BOOL(p(603, s)), p, o, s) -# define BOOST_PP_WHILE_603(p, o, s) BOOST_PP_WHILE_603_C(BOOST_PP_BOOL(p(604, s)), p, o, s) -# define BOOST_PP_WHILE_604(p, o, s) BOOST_PP_WHILE_604_C(BOOST_PP_BOOL(p(605, s)), p, o, s) -# define BOOST_PP_WHILE_605(p, o, s) BOOST_PP_WHILE_605_C(BOOST_PP_BOOL(p(606, s)), p, o, s) -# define BOOST_PP_WHILE_606(p, o, s) BOOST_PP_WHILE_606_C(BOOST_PP_BOOL(p(607, s)), p, o, s) -# define BOOST_PP_WHILE_607(p, o, s) BOOST_PP_WHILE_607_C(BOOST_PP_BOOL(p(608, s)), p, o, s) -# define BOOST_PP_WHILE_608(p, o, s) BOOST_PP_WHILE_608_C(BOOST_PP_BOOL(p(609, s)), p, o, s) -# define BOOST_PP_WHILE_609(p, o, s) BOOST_PP_WHILE_609_C(BOOST_PP_BOOL(p(610, s)), p, o, s) -# define BOOST_PP_WHILE_610(p, o, s) BOOST_PP_WHILE_610_C(BOOST_PP_BOOL(p(611, s)), p, o, s) -# define BOOST_PP_WHILE_611(p, o, s) BOOST_PP_WHILE_611_C(BOOST_PP_BOOL(p(612, s)), p, o, s) -# define BOOST_PP_WHILE_612(p, o, s) BOOST_PP_WHILE_612_C(BOOST_PP_BOOL(p(613, s)), p, o, s) -# define BOOST_PP_WHILE_613(p, o, s) BOOST_PP_WHILE_613_C(BOOST_PP_BOOL(p(614, s)), p, o, s) -# define BOOST_PP_WHILE_614(p, o, s) BOOST_PP_WHILE_614_C(BOOST_PP_BOOL(p(615, s)), p, o, s) -# define BOOST_PP_WHILE_615(p, o, s) BOOST_PP_WHILE_615_C(BOOST_PP_BOOL(p(616, s)), p, o, s) -# define BOOST_PP_WHILE_616(p, o, s) BOOST_PP_WHILE_616_C(BOOST_PP_BOOL(p(617, s)), p, o, s) -# define BOOST_PP_WHILE_617(p, o, s) BOOST_PP_WHILE_617_C(BOOST_PP_BOOL(p(618, s)), p, o, s) -# define BOOST_PP_WHILE_618(p, o, s) BOOST_PP_WHILE_618_C(BOOST_PP_BOOL(p(619, s)), p, o, s) -# define BOOST_PP_WHILE_619(p, o, s) BOOST_PP_WHILE_619_C(BOOST_PP_BOOL(p(620, s)), p, o, s) -# define BOOST_PP_WHILE_620(p, o, s) BOOST_PP_WHILE_620_C(BOOST_PP_BOOL(p(621, s)), p, o, s) -# define BOOST_PP_WHILE_621(p, o, s) BOOST_PP_WHILE_621_C(BOOST_PP_BOOL(p(622, s)), p, o, s) -# define BOOST_PP_WHILE_622(p, o, s) BOOST_PP_WHILE_622_C(BOOST_PP_BOOL(p(623, s)), p, o, s) -# define BOOST_PP_WHILE_623(p, o, s) BOOST_PP_WHILE_623_C(BOOST_PP_BOOL(p(624, s)), p, o, s) -# define BOOST_PP_WHILE_624(p, o, s) BOOST_PP_WHILE_624_C(BOOST_PP_BOOL(p(625, s)), p, o, s) -# define BOOST_PP_WHILE_625(p, o, s) BOOST_PP_WHILE_625_C(BOOST_PP_BOOL(p(626, s)), p, o, s) -# define BOOST_PP_WHILE_626(p, o, s) BOOST_PP_WHILE_626_C(BOOST_PP_BOOL(p(627, s)), p, o, s) -# define BOOST_PP_WHILE_627(p, o, s) BOOST_PP_WHILE_627_C(BOOST_PP_BOOL(p(628, s)), p, o, s) -# define BOOST_PP_WHILE_628(p, o, s) BOOST_PP_WHILE_628_C(BOOST_PP_BOOL(p(629, s)), p, o, s) -# define BOOST_PP_WHILE_629(p, o, s) BOOST_PP_WHILE_629_C(BOOST_PP_BOOL(p(630, s)), p, o, s) -# define BOOST_PP_WHILE_630(p, o, s) BOOST_PP_WHILE_630_C(BOOST_PP_BOOL(p(631, s)), p, o, s) -# define BOOST_PP_WHILE_631(p, o, s) BOOST_PP_WHILE_631_C(BOOST_PP_BOOL(p(632, s)), p, o, s) -# define BOOST_PP_WHILE_632(p, o, s) BOOST_PP_WHILE_632_C(BOOST_PP_BOOL(p(633, s)), p, o, s) -# define BOOST_PP_WHILE_633(p, o, s) BOOST_PP_WHILE_633_C(BOOST_PP_BOOL(p(634, s)), p, o, s) -# define BOOST_PP_WHILE_634(p, o, s) BOOST_PP_WHILE_634_C(BOOST_PP_BOOL(p(635, s)), p, o, s) -# define BOOST_PP_WHILE_635(p, o, s) BOOST_PP_WHILE_635_C(BOOST_PP_BOOL(p(636, s)), p, o, s) -# define BOOST_PP_WHILE_636(p, o, s) BOOST_PP_WHILE_636_C(BOOST_PP_BOOL(p(637, s)), p, o, s) -# define BOOST_PP_WHILE_637(p, o, s) BOOST_PP_WHILE_637_C(BOOST_PP_BOOL(p(638, s)), p, o, s) -# define BOOST_PP_WHILE_638(p, o, s) BOOST_PP_WHILE_638_C(BOOST_PP_BOOL(p(639, s)), p, o, s) -# define BOOST_PP_WHILE_639(p, o, s) BOOST_PP_WHILE_639_C(BOOST_PP_BOOL(p(640, s)), p, o, s) -# define BOOST_PP_WHILE_640(p, o, s) BOOST_PP_WHILE_640_C(BOOST_PP_BOOL(p(641, s)), p, o, s) -# define BOOST_PP_WHILE_641(p, o, s) BOOST_PP_WHILE_641_C(BOOST_PP_BOOL(p(642, s)), p, o, s) -# define BOOST_PP_WHILE_642(p, o, s) BOOST_PP_WHILE_642_C(BOOST_PP_BOOL(p(643, s)), p, o, s) -# define BOOST_PP_WHILE_643(p, o, s) BOOST_PP_WHILE_643_C(BOOST_PP_BOOL(p(644, s)), p, o, s) -# define BOOST_PP_WHILE_644(p, o, s) BOOST_PP_WHILE_644_C(BOOST_PP_BOOL(p(645, s)), p, o, s) -# define BOOST_PP_WHILE_645(p, o, s) BOOST_PP_WHILE_645_C(BOOST_PP_BOOL(p(646, s)), p, o, s) -# define BOOST_PP_WHILE_646(p, o, s) BOOST_PP_WHILE_646_C(BOOST_PP_BOOL(p(647, s)), p, o, s) -# define BOOST_PP_WHILE_647(p, o, s) BOOST_PP_WHILE_647_C(BOOST_PP_BOOL(p(648, s)), p, o, s) -# define BOOST_PP_WHILE_648(p, o, s) BOOST_PP_WHILE_648_C(BOOST_PP_BOOL(p(649, s)), p, o, s) -# define BOOST_PP_WHILE_649(p, o, s) BOOST_PP_WHILE_649_C(BOOST_PP_BOOL(p(650, s)), p, o, s) -# define BOOST_PP_WHILE_650(p, o, s) BOOST_PP_WHILE_650_C(BOOST_PP_BOOL(p(651, s)), p, o, s) -# define BOOST_PP_WHILE_651(p, o, s) BOOST_PP_WHILE_651_C(BOOST_PP_BOOL(p(652, s)), p, o, s) -# define BOOST_PP_WHILE_652(p, o, s) BOOST_PP_WHILE_652_C(BOOST_PP_BOOL(p(653, s)), p, o, s) -# define BOOST_PP_WHILE_653(p, o, s) BOOST_PP_WHILE_653_C(BOOST_PP_BOOL(p(654, s)), p, o, s) -# define BOOST_PP_WHILE_654(p, o, s) BOOST_PP_WHILE_654_C(BOOST_PP_BOOL(p(655, s)), p, o, s) -# define BOOST_PP_WHILE_655(p, o, s) BOOST_PP_WHILE_655_C(BOOST_PP_BOOL(p(656, s)), p, o, s) -# define BOOST_PP_WHILE_656(p, o, s) BOOST_PP_WHILE_656_C(BOOST_PP_BOOL(p(657, s)), p, o, s) -# define BOOST_PP_WHILE_657(p, o, s) BOOST_PP_WHILE_657_C(BOOST_PP_BOOL(p(658, s)), p, o, s) -# define BOOST_PP_WHILE_658(p, o, s) BOOST_PP_WHILE_658_C(BOOST_PP_BOOL(p(659, s)), p, o, s) -# define BOOST_PP_WHILE_659(p, o, s) BOOST_PP_WHILE_659_C(BOOST_PP_BOOL(p(660, s)), p, o, s) -# define BOOST_PP_WHILE_660(p, o, s) BOOST_PP_WHILE_660_C(BOOST_PP_BOOL(p(661, s)), p, o, s) -# define BOOST_PP_WHILE_661(p, o, s) BOOST_PP_WHILE_661_C(BOOST_PP_BOOL(p(662, s)), p, o, s) -# define BOOST_PP_WHILE_662(p, o, s) BOOST_PP_WHILE_662_C(BOOST_PP_BOOL(p(663, s)), p, o, s) -# define BOOST_PP_WHILE_663(p, o, s) BOOST_PP_WHILE_663_C(BOOST_PP_BOOL(p(664, s)), p, o, s) -# define BOOST_PP_WHILE_664(p, o, s) BOOST_PP_WHILE_664_C(BOOST_PP_BOOL(p(665, s)), p, o, s) -# define BOOST_PP_WHILE_665(p, o, s) BOOST_PP_WHILE_665_C(BOOST_PP_BOOL(p(666, s)), p, o, s) -# define BOOST_PP_WHILE_666(p, o, s) BOOST_PP_WHILE_666_C(BOOST_PP_BOOL(p(667, s)), p, o, s) -# define BOOST_PP_WHILE_667(p, o, s) BOOST_PP_WHILE_667_C(BOOST_PP_BOOL(p(668, s)), p, o, s) -# define BOOST_PP_WHILE_668(p, o, s) BOOST_PP_WHILE_668_C(BOOST_PP_BOOL(p(669, s)), p, o, s) -# define BOOST_PP_WHILE_669(p, o, s) BOOST_PP_WHILE_669_C(BOOST_PP_BOOL(p(670, s)), p, o, s) -# define BOOST_PP_WHILE_670(p, o, s) BOOST_PP_WHILE_670_C(BOOST_PP_BOOL(p(671, s)), p, o, s) -# define BOOST_PP_WHILE_671(p, o, s) BOOST_PP_WHILE_671_C(BOOST_PP_BOOL(p(672, s)), p, o, s) -# define BOOST_PP_WHILE_672(p, o, s) BOOST_PP_WHILE_672_C(BOOST_PP_BOOL(p(673, s)), p, o, s) -# define BOOST_PP_WHILE_673(p, o, s) BOOST_PP_WHILE_673_C(BOOST_PP_BOOL(p(674, s)), p, o, s) -# define BOOST_PP_WHILE_674(p, o, s) BOOST_PP_WHILE_674_C(BOOST_PP_BOOL(p(675, s)), p, o, s) -# define BOOST_PP_WHILE_675(p, o, s) BOOST_PP_WHILE_675_C(BOOST_PP_BOOL(p(676, s)), p, o, s) -# define BOOST_PP_WHILE_676(p, o, s) BOOST_PP_WHILE_676_C(BOOST_PP_BOOL(p(677, s)), p, o, s) -# define BOOST_PP_WHILE_677(p, o, s) BOOST_PP_WHILE_677_C(BOOST_PP_BOOL(p(678, s)), p, o, s) -# define BOOST_PP_WHILE_678(p, o, s) BOOST_PP_WHILE_678_C(BOOST_PP_BOOL(p(679, s)), p, o, s) -# define BOOST_PP_WHILE_679(p, o, s) BOOST_PP_WHILE_679_C(BOOST_PP_BOOL(p(680, s)), p, o, s) -# define BOOST_PP_WHILE_680(p, o, s) BOOST_PP_WHILE_680_C(BOOST_PP_BOOL(p(681, s)), p, o, s) -# define BOOST_PP_WHILE_681(p, o, s) BOOST_PP_WHILE_681_C(BOOST_PP_BOOL(p(682, s)), p, o, s) -# define BOOST_PP_WHILE_682(p, o, s) BOOST_PP_WHILE_682_C(BOOST_PP_BOOL(p(683, s)), p, o, s) -# define BOOST_PP_WHILE_683(p, o, s) BOOST_PP_WHILE_683_C(BOOST_PP_BOOL(p(684, s)), p, o, s) -# define BOOST_PP_WHILE_684(p, o, s) BOOST_PP_WHILE_684_C(BOOST_PP_BOOL(p(685, s)), p, o, s) -# define BOOST_PP_WHILE_685(p, o, s) BOOST_PP_WHILE_685_C(BOOST_PP_BOOL(p(686, s)), p, o, s) -# define BOOST_PP_WHILE_686(p, o, s) BOOST_PP_WHILE_686_C(BOOST_PP_BOOL(p(687, s)), p, o, s) -# define BOOST_PP_WHILE_687(p, o, s) BOOST_PP_WHILE_687_C(BOOST_PP_BOOL(p(688, s)), p, o, s) -# define BOOST_PP_WHILE_688(p, o, s) BOOST_PP_WHILE_688_C(BOOST_PP_BOOL(p(689, s)), p, o, s) -# define BOOST_PP_WHILE_689(p, o, s) BOOST_PP_WHILE_689_C(BOOST_PP_BOOL(p(690, s)), p, o, s) -# define BOOST_PP_WHILE_690(p, o, s) BOOST_PP_WHILE_690_C(BOOST_PP_BOOL(p(691, s)), p, o, s) -# define BOOST_PP_WHILE_691(p, o, s) BOOST_PP_WHILE_691_C(BOOST_PP_BOOL(p(692, s)), p, o, s) -# define BOOST_PP_WHILE_692(p, o, s) BOOST_PP_WHILE_692_C(BOOST_PP_BOOL(p(693, s)), p, o, s) -# define BOOST_PP_WHILE_693(p, o, s) BOOST_PP_WHILE_693_C(BOOST_PP_BOOL(p(694, s)), p, o, s) -# define BOOST_PP_WHILE_694(p, o, s) BOOST_PP_WHILE_694_C(BOOST_PP_BOOL(p(695, s)), p, o, s) -# define BOOST_PP_WHILE_695(p, o, s) BOOST_PP_WHILE_695_C(BOOST_PP_BOOL(p(696, s)), p, o, s) -# define BOOST_PP_WHILE_696(p, o, s) BOOST_PP_WHILE_696_C(BOOST_PP_BOOL(p(697, s)), p, o, s) -# define BOOST_PP_WHILE_697(p, o, s) BOOST_PP_WHILE_697_C(BOOST_PP_BOOL(p(698, s)), p, o, s) -# define BOOST_PP_WHILE_698(p, o, s) BOOST_PP_WHILE_698_C(BOOST_PP_BOOL(p(699, s)), p, o, s) -# define BOOST_PP_WHILE_699(p, o, s) BOOST_PP_WHILE_699_C(BOOST_PP_BOOL(p(700, s)), p, o, s) -# define BOOST_PP_WHILE_700(p, o, s) BOOST_PP_WHILE_700_C(BOOST_PP_BOOL(p(701, s)), p, o, s) -# define BOOST_PP_WHILE_701(p, o, s) BOOST_PP_WHILE_701_C(BOOST_PP_BOOL(p(702, s)), p, o, s) -# define BOOST_PP_WHILE_702(p, o, s) BOOST_PP_WHILE_702_C(BOOST_PP_BOOL(p(703, s)), p, o, s) -# define BOOST_PP_WHILE_703(p, o, s) BOOST_PP_WHILE_703_C(BOOST_PP_BOOL(p(704, s)), p, o, s) -# define BOOST_PP_WHILE_704(p, o, s) BOOST_PP_WHILE_704_C(BOOST_PP_BOOL(p(705, s)), p, o, s) -# define BOOST_PP_WHILE_705(p, o, s) BOOST_PP_WHILE_705_C(BOOST_PP_BOOL(p(706, s)), p, o, s) -# define BOOST_PP_WHILE_706(p, o, s) BOOST_PP_WHILE_706_C(BOOST_PP_BOOL(p(707, s)), p, o, s) -# define BOOST_PP_WHILE_707(p, o, s) BOOST_PP_WHILE_707_C(BOOST_PP_BOOL(p(708, s)), p, o, s) -# define BOOST_PP_WHILE_708(p, o, s) BOOST_PP_WHILE_708_C(BOOST_PP_BOOL(p(709, s)), p, o, s) -# define BOOST_PP_WHILE_709(p, o, s) BOOST_PP_WHILE_709_C(BOOST_PP_BOOL(p(710, s)), p, o, s) -# define BOOST_PP_WHILE_710(p, o, s) BOOST_PP_WHILE_710_C(BOOST_PP_BOOL(p(711, s)), p, o, s) -# define BOOST_PP_WHILE_711(p, o, s) BOOST_PP_WHILE_711_C(BOOST_PP_BOOL(p(712, s)), p, o, s) -# define BOOST_PP_WHILE_712(p, o, s) BOOST_PP_WHILE_712_C(BOOST_PP_BOOL(p(713, s)), p, o, s) -# define BOOST_PP_WHILE_713(p, o, s) BOOST_PP_WHILE_713_C(BOOST_PP_BOOL(p(714, s)), p, o, s) -# define BOOST_PP_WHILE_714(p, o, s) BOOST_PP_WHILE_714_C(BOOST_PP_BOOL(p(715, s)), p, o, s) -# define BOOST_PP_WHILE_715(p, o, s) BOOST_PP_WHILE_715_C(BOOST_PP_BOOL(p(716, s)), p, o, s) -# define BOOST_PP_WHILE_716(p, o, s) BOOST_PP_WHILE_716_C(BOOST_PP_BOOL(p(717, s)), p, o, s) -# define BOOST_PP_WHILE_717(p, o, s) BOOST_PP_WHILE_717_C(BOOST_PP_BOOL(p(718, s)), p, o, s) -# define BOOST_PP_WHILE_718(p, o, s) BOOST_PP_WHILE_718_C(BOOST_PP_BOOL(p(719, s)), p, o, s) -# define BOOST_PP_WHILE_719(p, o, s) BOOST_PP_WHILE_719_C(BOOST_PP_BOOL(p(720, s)), p, o, s) -# define BOOST_PP_WHILE_720(p, o, s) BOOST_PP_WHILE_720_C(BOOST_PP_BOOL(p(721, s)), p, o, s) -# define BOOST_PP_WHILE_721(p, o, s) BOOST_PP_WHILE_721_C(BOOST_PP_BOOL(p(722, s)), p, o, s) -# define BOOST_PP_WHILE_722(p, o, s) BOOST_PP_WHILE_722_C(BOOST_PP_BOOL(p(723, s)), p, o, s) -# define BOOST_PP_WHILE_723(p, o, s) BOOST_PP_WHILE_723_C(BOOST_PP_BOOL(p(724, s)), p, o, s) -# define BOOST_PP_WHILE_724(p, o, s) BOOST_PP_WHILE_724_C(BOOST_PP_BOOL(p(725, s)), p, o, s) -# define BOOST_PP_WHILE_725(p, o, s) BOOST_PP_WHILE_725_C(BOOST_PP_BOOL(p(726, s)), p, o, s) -# define BOOST_PP_WHILE_726(p, o, s) BOOST_PP_WHILE_726_C(BOOST_PP_BOOL(p(727, s)), p, o, s) -# define BOOST_PP_WHILE_727(p, o, s) BOOST_PP_WHILE_727_C(BOOST_PP_BOOL(p(728, s)), p, o, s) -# define BOOST_PP_WHILE_728(p, o, s) BOOST_PP_WHILE_728_C(BOOST_PP_BOOL(p(729, s)), p, o, s) -# define BOOST_PP_WHILE_729(p, o, s) BOOST_PP_WHILE_729_C(BOOST_PP_BOOL(p(730, s)), p, o, s) -# define BOOST_PP_WHILE_730(p, o, s) BOOST_PP_WHILE_730_C(BOOST_PP_BOOL(p(731, s)), p, o, s) -# define BOOST_PP_WHILE_731(p, o, s) BOOST_PP_WHILE_731_C(BOOST_PP_BOOL(p(732, s)), p, o, s) -# define BOOST_PP_WHILE_732(p, o, s) BOOST_PP_WHILE_732_C(BOOST_PP_BOOL(p(733, s)), p, o, s) -# define BOOST_PP_WHILE_733(p, o, s) BOOST_PP_WHILE_733_C(BOOST_PP_BOOL(p(734, s)), p, o, s) -# define BOOST_PP_WHILE_734(p, o, s) BOOST_PP_WHILE_734_C(BOOST_PP_BOOL(p(735, s)), p, o, s) -# define BOOST_PP_WHILE_735(p, o, s) BOOST_PP_WHILE_735_C(BOOST_PP_BOOL(p(736, s)), p, o, s) -# define BOOST_PP_WHILE_736(p, o, s) BOOST_PP_WHILE_736_C(BOOST_PP_BOOL(p(737, s)), p, o, s) -# define BOOST_PP_WHILE_737(p, o, s) BOOST_PP_WHILE_737_C(BOOST_PP_BOOL(p(738, s)), p, o, s) -# define BOOST_PP_WHILE_738(p, o, s) BOOST_PP_WHILE_738_C(BOOST_PP_BOOL(p(739, s)), p, o, s) -# define BOOST_PP_WHILE_739(p, o, s) BOOST_PP_WHILE_739_C(BOOST_PP_BOOL(p(740, s)), p, o, s) -# define BOOST_PP_WHILE_740(p, o, s) BOOST_PP_WHILE_740_C(BOOST_PP_BOOL(p(741, s)), p, o, s) -# define BOOST_PP_WHILE_741(p, o, s) BOOST_PP_WHILE_741_C(BOOST_PP_BOOL(p(742, s)), p, o, s) -# define BOOST_PP_WHILE_742(p, o, s) BOOST_PP_WHILE_742_C(BOOST_PP_BOOL(p(743, s)), p, o, s) -# define BOOST_PP_WHILE_743(p, o, s) BOOST_PP_WHILE_743_C(BOOST_PP_BOOL(p(744, s)), p, o, s) -# define BOOST_PP_WHILE_744(p, o, s) BOOST_PP_WHILE_744_C(BOOST_PP_BOOL(p(745, s)), p, o, s) -# define BOOST_PP_WHILE_745(p, o, s) BOOST_PP_WHILE_745_C(BOOST_PP_BOOL(p(746, s)), p, o, s) -# define BOOST_PP_WHILE_746(p, o, s) BOOST_PP_WHILE_746_C(BOOST_PP_BOOL(p(747, s)), p, o, s) -# define BOOST_PP_WHILE_747(p, o, s) BOOST_PP_WHILE_747_C(BOOST_PP_BOOL(p(748, s)), p, o, s) -# define BOOST_PP_WHILE_748(p, o, s) BOOST_PP_WHILE_748_C(BOOST_PP_BOOL(p(749, s)), p, o, s) -# define BOOST_PP_WHILE_749(p, o, s) BOOST_PP_WHILE_749_C(BOOST_PP_BOOL(p(750, s)), p, o, s) -# define BOOST_PP_WHILE_750(p, o, s) BOOST_PP_WHILE_750_C(BOOST_PP_BOOL(p(751, s)), p, o, s) -# define BOOST_PP_WHILE_751(p, o, s) BOOST_PP_WHILE_751_C(BOOST_PP_BOOL(p(752, s)), p, o, s) -# define BOOST_PP_WHILE_752(p, o, s) BOOST_PP_WHILE_752_C(BOOST_PP_BOOL(p(753, s)), p, o, s) -# define BOOST_PP_WHILE_753(p, o, s) BOOST_PP_WHILE_753_C(BOOST_PP_BOOL(p(754, s)), p, o, s) -# define BOOST_PP_WHILE_754(p, o, s) BOOST_PP_WHILE_754_C(BOOST_PP_BOOL(p(755, s)), p, o, s) -# define BOOST_PP_WHILE_755(p, o, s) BOOST_PP_WHILE_755_C(BOOST_PP_BOOL(p(756, s)), p, o, s) -# define BOOST_PP_WHILE_756(p, o, s) BOOST_PP_WHILE_756_C(BOOST_PP_BOOL(p(757, s)), p, o, s) -# define BOOST_PP_WHILE_757(p, o, s) BOOST_PP_WHILE_757_C(BOOST_PP_BOOL(p(758, s)), p, o, s) -# define BOOST_PP_WHILE_758(p, o, s) BOOST_PP_WHILE_758_C(BOOST_PP_BOOL(p(759, s)), p, o, s) -# define BOOST_PP_WHILE_759(p, o, s) BOOST_PP_WHILE_759_C(BOOST_PP_BOOL(p(760, s)), p, o, s) -# define BOOST_PP_WHILE_760(p, o, s) BOOST_PP_WHILE_760_C(BOOST_PP_BOOL(p(761, s)), p, o, s) -# define BOOST_PP_WHILE_761(p, o, s) BOOST_PP_WHILE_761_C(BOOST_PP_BOOL(p(762, s)), p, o, s) -# define BOOST_PP_WHILE_762(p, o, s) BOOST_PP_WHILE_762_C(BOOST_PP_BOOL(p(763, s)), p, o, s) -# define BOOST_PP_WHILE_763(p, o, s) BOOST_PP_WHILE_763_C(BOOST_PP_BOOL(p(764, s)), p, o, s) -# define BOOST_PP_WHILE_764(p, o, s) BOOST_PP_WHILE_764_C(BOOST_PP_BOOL(p(765, s)), p, o, s) -# define BOOST_PP_WHILE_765(p, o, s) BOOST_PP_WHILE_765_C(BOOST_PP_BOOL(p(766, s)), p, o, s) -# define BOOST_PP_WHILE_766(p, o, s) BOOST_PP_WHILE_766_C(BOOST_PP_BOOL(p(767, s)), p, o, s) -# define BOOST_PP_WHILE_767(p, o, s) BOOST_PP_WHILE_767_C(BOOST_PP_BOOL(p(768, s)), p, o, s) -# define BOOST_PP_WHILE_768(p, o, s) BOOST_PP_WHILE_768_C(BOOST_PP_BOOL(p(769, s)), p, o, s) -# define BOOST_PP_WHILE_769(p, o, s) BOOST_PP_WHILE_769_C(BOOST_PP_BOOL(p(770, s)), p, o, s) -# define BOOST_PP_WHILE_770(p, o, s) BOOST_PP_WHILE_770_C(BOOST_PP_BOOL(p(771, s)), p, o, s) -# define BOOST_PP_WHILE_771(p, o, s) BOOST_PP_WHILE_771_C(BOOST_PP_BOOL(p(772, s)), p, o, s) -# define BOOST_PP_WHILE_772(p, o, s) BOOST_PP_WHILE_772_C(BOOST_PP_BOOL(p(773, s)), p, o, s) -# define BOOST_PP_WHILE_773(p, o, s) BOOST_PP_WHILE_773_C(BOOST_PP_BOOL(p(774, s)), p, o, s) -# define BOOST_PP_WHILE_774(p, o, s) BOOST_PP_WHILE_774_C(BOOST_PP_BOOL(p(775, s)), p, o, s) -# define BOOST_PP_WHILE_775(p, o, s) BOOST_PP_WHILE_775_C(BOOST_PP_BOOL(p(776, s)), p, o, s) -# define BOOST_PP_WHILE_776(p, o, s) BOOST_PP_WHILE_776_C(BOOST_PP_BOOL(p(777, s)), p, o, s) -# define BOOST_PP_WHILE_777(p, o, s) BOOST_PP_WHILE_777_C(BOOST_PP_BOOL(p(778, s)), p, o, s) -# define BOOST_PP_WHILE_778(p, o, s) BOOST_PP_WHILE_778_C(BOOST_PP_BOOL(p(779, s)), p, o, s) -# define BOOST_PP_WHILE_779(p, o, s) BOOST_PP_WHILE_779_C(BOOST_PP_BOOL(p(780, s)), p, o, s) -# define BOOST_PP_WHILE_780(p, o, s) BOOST_PP_WHILE_780_C(BOOST_PP_BOOL(p(781, s)), p, o, s) -# define BOOST_PP_WHILE_781(p, o, s) BOOST_PP_WHILE_781_C(BOOST_PP_BOOL(p(782, s)), p, o, s) -# define BOOST_PP_WHILE_782(p, o, s) BOOST_PP_WHILE_782_C(BOOST_PP_BOOL(p(783, s)), p, o, s) -# define BOOST_PP_WHILE_783(p, o, s) BOOST_PP_WHILE_783_C(BOOST_PP_BOOL(p(784, s)), p, o, s) -# define BOOST_PP_WHILE_784(p, o, s) BOOST_PP_WHILE_784_C(BOOST_PP_BOOL(p(785, s)), p, o, s) -# define BOOST_PP_WHILE_785(p, o, s) BOOST_PP_WHILE_785_C(BOOST_PP_BOOL(p(786, s)), p, o, s) -# define BOOST_PP_WHILE_786(p, o, s) BOOST_PP_WHILE_786_C(BOOST_PP_BOOL(p(787, s)), p, o, s) -# define BOOST_PP_WHILE_787(p, o, s) BOOST_PP_WHILE_787_C(BOOST_PP_BOOL(p(788, s)), p, o, s) -# define BOOST_PP_WHILE_788(p, o, s) BOOST_PP_WHILE_788_C(BOOST_PP_BOOL(p(789, s)), p, o, s) -# define BOOST_PP_WHILE_789(p, o, s) BOOST_PP_WHILE_789_C(BOOST_PP_BOOL(p(790, s)), p, o, s) -# define BOOST_PP_WHILE_790(p, o, s) BOOST_PP_WHILE_790_C(BOOST_PP_BOOL(p(791, s)), p, o, s) -# define BOOST_PP_WHILE_791(p, o, s) BOOST_PP_WHILE_791_C(BOOST_PP_BOOL(p(792, s)), p, o, s) -# define BOOST_PP_WHILE_792(p, o, s) BOOST_PP_WHILE_792_C(BOOST_PP_BOOL(p(793, s)), p, o, s) -# define BOOST_PP_WHILE_793(p, o, s) BOOST_PP_WHILE_793_C(BOOST_PP_BOOL(p(794, s)), p, o, s) -# define BOOST_PP_WHILE_794(p, o, s) BOOST_PP_WHILE_794_C(BOOST_PP_BOOL(p(795, s)), p, o, s) -# define BOOST_PP_WHILE_795(p, o, s) BOOST_PP_WHILE_795_C(BOOST_PP_BOOL(p(796, s)), p, o, s) -# define BOOST_PP_WHILE_796(p, o, s) BOOST_PP_WHILE_796_C(BOOST_PP_BOOL(p(797, s)), p, o, s) -# define BOOST_PP_WHILE_797(p, o, s) BOOST_PP_WHILE_797_C(BOOST_PP_BOOL(p(798, s)), p, o, s) -# define BOOST_PP_WHILE_798(p, o, s) BOOST_PP_WHILE_798_C(BOOST_PP_BOOL(p(799, s)), p, o, s) -# define BOOST_PP_WHILE_799(p, o, s) BOOST_PP_WHILE_799_C(BOOST_PP_BOOL(p(800, s)), p, o, s) -# define BOOST_PP_WHILE_800(p, o, s) BOOST_PP_WHILE_800_C(BOOST_PP_BOOL(p(801, s)), p, o, s) -# define BOOST_PP_WHILE_801(p, o, s) BOOST_PP_WHILE_801_C(BOOST_PP_BOOL(p(802, s)), p, o, s) -# define BOOST_PP_WHILE_802(p, o, s) BOOST_PP_WHILE_802_C(BOOST_PP_BOOL(p(803, s)), p, o, s) -# define BOOST_PP_WHILE_803(p, o, s) BOOST_PP_WHILE_803_C(BOOST_PP_BOOL(p(804, s)), p, o, s) -# define BOOST_PP_WHILE_804(p, o, s) BOOST_PP_WHILE_804_C(BOOST_PP_BOOL(p(805, s)), p, o, s) -# define BOOST_PP_WHILE_805(p, o, s) BOOST_PP_WHILE_805_C(BOOST_PP_BOOL(p(806, s)), p, o, s) -# define BOOST_PP_WHILE_806(p, o, s) BOOST_PP_WHILE_806_C(BOOST_PP_BOOL(p(807, s)), p, o, s) -# define BOOST_PP_WHILE_807(p, o, s) BOOST_PP_WHILE_807_C(BOOST_PP_BOOL(p(808, s)), p, o, s) -# define BOOST_PP_WHILE_808(p, o, s) BOOST_PP_WHILE_808_C(BOOST_PP_BOOL(p(809, s)), p, o, s) -# define BOOST_PP_WHILE_809(p, o, s) BOOST_PP_WHILE_809_C(BOOST_PP_BOOL(p(810, s)), p, o, s) -# define BOOST_PP_WHILE_810(p, o, s) BOOST_PP_WHILE_810_C(BOOST_PP_BOOL(p(811, s)), p, o, s) -# define BOOST_PP_WHILE_811(p, o, s) BOOST_PP_WHILE_811_C(BOOST_PP_BOOL(p(812, s)), p, o, s) -# define BOOST_PP_WHILE_812(p, o, s) BOOST_PP_WHILE_812_C(BOOST_PP_BOOL(p(813, s)), p, o, s) -# define BOOST_PP_WHILE_813(p, o, s) BOOST_PP_WHILE_813_C(BOOST_PP_BOOL(p(814, s)), p, o, s) -# define BOOST_PP_WHILE_814(p, o, s) BOOST_PP_WHILE_814_C(BOOST_PP_BOOL(p(815, s)), p, o, s) -# define BOOST_PP_WHILE_815(p, o, s) BOOST_PP_WHILE_815_C(BOOST_PP_BOOL(p(816, s)), p, o, s) -# define BOOST_PP_WHILE_816(p, o, s) BOOST_PP_WHILE_816_C(BOOST_PP_BOOL(p(817, s)), p, o, s) -# define BOOST_PP_WHILE_817(p, o, s) BOOST_PP_WHILE_817_C(BOOST_PP_BOOL(p(818, s)), p, o, s) -# define BOOST_PP_WHILE_818(p, o, s) BOOST_PP_WHILE_818_C(BOOST_PP_BOOL(p(819, s)), p, o, s) -# define BOOST_PP_WHILE_819(p, o, s) BOOST_PP_WHILE_819_C(BOOST_PP_BOOL(p(820, s)), p, o, s) -# define BOOST_PP_WHILE_820(p, o, s) BOOST_PP_WHILE_820_C(BOOST_PP_BOOL(p(821, s)), p, o, s) -# define BOOST_PP_WHILE_821(p, o, s) BOOST_PP_WHILE_821_C(BOOST_PP_BOOL(p(822, s)), p, o, s) -# define BOOST_PP_WHILE_822(p, o, s) BOOST_PP_WHILE_822_C(BOOST_PP_BOOL(p(823, s)), p, o, s) -# define BOOST_PP_WHILE_823(p, o, s) BOOST_PP_WHILE_823_C(BOOST_PP_BOOL(p(824, s)), p, o, s) -# define BOOST_PP_WHILE_824(p, o, s) BOOST_PP_WHILE_824_C(BOOST_PP_BOOL(p(825, s)), p, o, s) -# define BOOST_PP_WHILE_825(p, o, s) BOOST_PP_WHILE_825_C(BOOST_PP_BOOL(p(826, s)), p, o, s) -# define BOOST_PP_WHILE_826(p, o, s) BOOST_PP_WHILE_826_C(BOOST_PP_BOOL(p(827, s)), p, o, s) -# define BOOST_PP_WHILE_827(p, o, s) BOOST_PP_WHILE_827_C(BOOST_PP_BOOL(p(828, s)), p, o, s) -# define BOOST_PP_WHILE_828(p, o, s) BOOST_PP_WHILE_828_C(BOOST_PP_BOOL(p(829, s)), p, o, s) -# define BOOST_PP_WHILE_829(p, o, s) BOOST_PP_WHILE_829_C(BOOST_PP_BOOL(p(830, s)), p, o, s) -# define BOOST_PP_WHILE_830(p, o, s) BOOST_PP_WHILE_830_C(BOOST_PP_BOOL(p(831, s)), p, o, s) -# define BOOST_PP_WHILE_831(p, o, s) BOOST_PP_WHILE_831_C(BOOST_PP_BOOL(p(832, s)), p, o, s) -# define BOOST_PP_WHILE_832(p, o, s) BOOST_PP_WHILE_832_C(BOOST_PP_BOOL(p(833, s)), p, o, s) -# define BOOST_PP_WHILE_833(p, o, s) BOOST_PP_WHILE_833_C(BOOST_PP_BOOL(p(834, s)), p, o, s) -# define BOOST_PP_WHILE_834(p, o, s) BOOST_PP_WHILE_834_C(BOOST_PP_BOOL(p(835, s)), p, o, s) -# define BOOST_PP_WHILE_835(p, o, s) BOOST_PP_WHILE_835_C(BOOST_PP_BOOL(p(836, s)), p, o, s) -# define BOOST_PP_WHILE_836(p, o, s) BOOST_PP_WHILE_836_C(BOOST_PP_BOOL(p(837, s)), p, o, s) -# define BOOST_PP_WHILE_837(p, o, s) BOOST_PP_WHILE_837_C(BOOST_PP_BOOL(p(838, s)), p, o, s) -# define BOOST_PP_WHILE_838(p, o, s) BOOST_PP_WHILE_838_C(BOOST_PP_BOOL(p(839, s)), p, o, s) -# define BOOST_PP_WHILE_839(p, o, s) BOOST_PP_WHILE_839_C(BOOST_PP_BOOL(p(840, s)), p, o, s) -# define BOOST_PP_WHILE_840(p, o, s) BOOST_PP_WHILE_840_C(BOOST_PP_BOOL(p(841, s)), p, o, s) -# define BOOST_PP_WHILE_841(p, o, s) BOOST_PP_WHILE_841_C(BOOST_PP_BOOL(p(842, s)), p, o, s) -# define BOOST_PP_WHILE_842(p, o, s) BOOST_PP_WHILE_842_C(BOOST_PP_BOOL(p(843, s)), p, o, s) -# define BOOST_PP_WHILE_843(p, o, s) BOOST_PP_WHILE_843_C(BOOST_PP_BOOL(p(844, s)), p, o, s) -# define BOOST_PP_WHILE_844(p, o, s) BOOST_PP_WHILE_844_C(BOOST_PP_BOOL(p(845, s)), p, o, s) -# define BOOST_PP_WHILE_845(p, o, s) BOOST_PP_WHILE_845_C(BOOST_PP_BOOL(p(846, s)), p, o, s) -# define BOOST_PP_WHILE_846(p, o, s) BOOST_PP_WHILE_846_C(BOOST_PP_BOOL(p(847, s)), p, o, s) -# define BOOST_PP_WHILE_847(p, o, s) BOOST_PP_WHILE_847_C(BOOST_PP_BOOL(p(848, s)), p, o, s) -# define BOOST_PP_WHILE_848(p, o, s) BOOST_PP_WHILE_848_C(BOOST_PP_BOOL(p(849, s)), p, o, s) -# define BOOST_PP_WHILE_849(p, o, s) BOOST_PP_WHILE_849_C(BOOST_PP_BOOL(p(850, s)), p, o, s) -# define BOOST_PP_WHILE_850(p, o, s) BOOST_PP_WHILE_850_C(BOOST_PP_BOOL(p(851, s)), p, o, s) -# define BOOST_PP_WHILE_851(p, o, s) BOOST_PP_WHILE_851_C(BOOST_PP_BOOL(p(852, s)), p, o, s) -# define BOOST_PP_WHILE_852(p, o, s) BOOST_PP_WHILE_852_C(BOOST_PP_BOOL(p(853, s)), p, o, s) -# define BOOST_PP_WHILE_853(p, o, s) BOOST_PP_WHILE_853_C(BOOST_PP_BOOL(p(854, s)), p, o, s) -# define BOOST_PP_WHILE_854(p, o, s) BOOST_PP_WHILE_854_C(BOOST_PP_BOOL(p(855, s)), p, o, s) -# define BOOST_PP_WHILE_855(p, o, s) BOOST_PP_WHILE_855_C(BOOST_PP_BOOL(p(856, s)), p, o, s) -# define BOOST_PP_WHILE_856(p, o, s) BOOST_PP_WHILE_856_C(BOOST_PP_BOOL(p(857, s)), p, o, s) -# define BOOST_PP_WHILE_857(p, o, s) BOOST_PP_WHILE_857_C(BOOST_PP_BOOL(p(858, s)), p, o, s) -# define BOOST_PP_WHILE_858(p, o, s) BOOST_PP_WHILE_858_C(BOOST_PP_BOOL(p(859, s)), p, o, s) -# define BOOST_PP_WHILE_859(p, o, s) BOOST_PP_WHILE_859_C(BOOST_PP_BOOL(p(860, s)), p, o, s) -# define BOOST_PP_WHILE_860(p, o, s) BOOST_PP_WHILE_860_C(BOOST_PP_BOOL(p(861, s)), p, o, s) -# define BOOST_PP_WHILE_861(p, o, s) BOOST_PP_WHILE_861_C(BOOST_PP_BOOL(p(862, s)), p, o, s) -# define BOOST_PP_WHILE_862(p, o, s) BOOST_PP_WHILE_862_C(BOOST_PP_BOOL(p(863, s)), p, o, s) -# define BOOST_PP_WHILE_863(p, o, s) BOOST_PP_WHILE_863_C(BOOST_PP_BOOL(p(864, s)), p, o, s) -# define BOOST_PP_WHILE_864(p, o, s) BOOST_PP_WHILE_864_C(BOOST_PP_BOOL(p(865, s)), p, o, s) -# define BOOST_PP_WHILE_865(p, o, s) BOOST_PP_WHILE_865_C(BOOST_PP_BOOL(p(866, s)), p, o, s) -# define BOOST_PP_WHILE_866(p, o, s) BOOST_PP_WHILE_866_C(BOOST_PP_BOOL(p(867, s)), p, o, s) -# define BOOST_PP_WHILE_867(p, o, s) BOOST_PP_WHILE_867_C(BOOST_PP_BOOL(p(868, s)), p, o, s) -# define BOOST_PP_WHILE_868(p, o, s) BOOST_PP_WHILE_868_C(BOOST_PP_BOOL(p(869, s)), p, o, s) -# define BOOST_PP_WHILE_869(p, o, s) BOOST_PP_WHILE_869_C(BOOST_PP_BOOL(p(870, s)), p, o, s) -# define BOOST_PP_WHILE_870(p, o, s) BOOST_PP_WHILE_870_C(BOOST_PP_BOOL(p(871, s)), p, o, s) -# define BOOST_PP_WHILE_871(p, o, s) BOOST_PP_WHILE_871_C(BOOST_PP_BOOL(p(872, s)), p, o, s) -# define BOOST_PP_WHILE_872(p, o, s) BOOST_PP_WHILE_872_C(BOOST_PP_BOOL(p(873, s)), p, o, s) -# define BOOST_PP_WHILE_873(p, o, s) BOOST_PP_WHILE_873_C(BOOST_PP_BOOL(p(874, s)), p, o, s) -# define BOOST_PP_WHILE_874(p, o, s) BOOST_PP_WHILE_874_C(BOOST_PP_BOOL(p(875, s)), p, o, s) -# define BOOST_PP_WHILE_875(p, o, s) BOOST_PP_WHILE_875_C(BOOST_PP_BOOL(p(876, s)), p, o, s) -# define BOOST_PP_WHILE_876(p, o, s) BOOST_PP_WHILE_876_C(BOOST_PP_BOOL(p(877, s)), p, o, s) -# define BOOST_PP_WHILE_877(p, o, s) BOOST_PP_WHILE_877_C(BOOST_PP_BOOL(p(878, s)), p, o, s) -# define BOOST_PP_WHILE_878(p, o, s) BOOST_PP_WHILE_878_C(BOOST_PP_BOOL(p(879, s)), p, o, s) -# define BOOST_PP_WHILE_879(p, o, s) BOOST_PP_WHILE_879_C(BOOST_PP_BOOL(p(880, s)), p, o, s) -# define BOOST_PP_WHILE_880(p, o, s) BOOST_PP_WHILE_880_C(BOOST_PP_BOOL(p(881, s)), p, o, s) -# define BOOST_PP_WHILE_881(p, o, s) BOOST_PP_WHILE_881_C(BOOST_PP_BOOL(p(882, s)), p, o, s) -# define BOOST_PP_WHILE_882(p, o, s) BOOST_PP_WHILE_882_C(BOOST_PP_BOOL(p(883, s)), p, o, s) -# define BOOST_PP_WHILE_883(p, o, s) BOOST_PP_WHILE_883_C(BOOST_PP_BOOL(p(884, s)), p, o, s) -# define BOOST_PP_WHILE_884(p, o, s) BOOST_PP_WHILE_884_C(BOOST_PP_BOOL(p(885, s)), p, o, s) -# define BOOST_PP_WHILE_885(p, o, s) BOOST_PP_WHILE_885_C(BOOST_PP_BOOL(p(886, s)), p, o, s) -# define BOOST_PP_WHILE_886(p, o, s) BOOST_PP_WHILE_886_C(BOOST_PP_BOOL(p(887, s)), p, o, s) -# define BOOST_PP_WHILE_887(p, o, s) BOOST_PP_WHILE_887_C(BOOST_PP_BOOL(p(888, s)), p, o, s) -# define BOOST_PP_WHILE_888(p, o, s) BOOST_PP_WHILE_888_C(BOOST_PP_BOOL(p(889, s)), p, o, s) -# define BOOST_PP_WHILE_889(p, o, s) BOOST_PP_WHILE_889_C(BOOST_PP_BOOL(p(890, s)), p, o, s) -# define BOOST_PP_WHILE_890(p, o, s) BOOST_PP_WHILE_890_C(BOOST_PP_BOOL(p(891, s)), p, o, s) -# define BOOST_PP_WHILE_891(p, o, s) BOOST_PP_WHILE_891_C(BOOST_PP_BOOL(p(892, s)), p, o, s) -# define BOOST_PP_WHILE_892(p, o, s) BOOST_PP_WHILE_892_C(BOOST_PP_BOOL(p(893, s)), p, o, s) -# define BOOST_PP_WHILE_893(p, o, s) BOOST_PP_WHILE_893_C(BOOST_PP_BOOL(p(894, s)), p, o, s) -# define BOOST_PP_WHILE_894(p, o, s) BOOST_PP_WHILE_894_C(BOOST_PP_BOOL(p(895, s)), p, o, s) -# define BOOST_PP_WHILE_895(p, o, s) BOOST_PP_WHILE_895_C(BOOST_PP_BOOL(p(896, s)), p, o, s) -# define BOOST_PP_WHILE_896(p, o, s) BOOST_PP_WHILE_896_C(BOOST_PP_BOOL(p(897, s)), p, o, s) -# define BOOST_PP_WHILE_897(p, o, s) BOOST_PP_WHILE_897_C(BOOST_PP_BOOL(p(898, s)), p, o, s) -# define BOOST_PP_WHILE_898(p, o, s) BOOST_PP_WHILE_898_C(BOOST_PP_BOOL(p(899, s)), p, o, s) -# define BOOST_PP_WHILE_899(p, o, s) BOOST_PP_WHILE_899_C(BOOST_PP_BOOL(p(900, s)), p, o, s) -# define BOOST_PP_WHILE_900(p, o, s) BOOST_PP_WHILE_900_C(BOOST_PP_BOOL(p(901, s)), p, o, s) -# define BOOST_PP_WHILE_901(p, o, s) BOOST_PP_WHILE_901_C(BOOST_PP_BOOL(p(902, s)), p, o, s) -# define BOOST_PP_WHILE_902(p, o, s) BOOST_PP_WHILE_902_C(BOOST_PP_BOOL(p(903, s)), p, o, s) -# define BOOST_PP_WHILE_903(p, o, s) BOOST_PP_WHILE_903_C(BOOST_PP_BOOL(p(904, s)), p, o, s) -# define BOOST_PP_WHILE_904(p, o, s) BOOST_PP_WHILE_904_C(BOOST_PP_BOOL(p(905, s)), p, o, s) -# define BOOST_PP_WHILE_905(p, o, s) BOOST_PP_WHILE_905_C(BOOST_PP_BOOL(p(906, s)), p, o, s) -# define BOOST_PP_WHILE_906(p, o, s) BOOST_PP_WHILE_906_C(BOOST_PP_BOOL(p(907, s)), p, o, s) -# define BOOST_PP_WHILE_907(p, o, s) BOOST_PP_WHILE_907_C(BOOST_PP_BOOL(p(908, s)), p, o, s) -# define BOOST_PP_WHILE_908(p, o, s) BOOST_PP_WHILE_908_C(BOOST_PP_BOOL(p(909, s)), p, o, s) -# define BOOST_PP_WHILE_909(p, o, s) BOOST_PP_WHILE_909_C(BOOST_PP_BOOL(p(910, s)), p, o, s) -# define BOOST_PP_WHILE_910(p, o, s) BOOST_PP_WHILE_910_C(BOOST_PP_BOOL(p(911, s)), p, o, s) -# define BOOST_PP_WHILE_911(p, o, s) BOOST_PP_WHILE_911_C(BOOST_PP_BOOL(p(912, s)), p, o, s) -# define BOOST_PP_WHILE_912(p, o, s) BOOST_PP_WHILE_912_C(BOOST_PP_BOOL(p(913, s)), p, o, s) -# define BOOST_PP_WHILE_913(p, o, s) BOOST_PP_WHILE_913_C(BOOST_PP_BOOL(p(914, s)), p, o, s) -# define BOOST_PP_WHILE_914(p, o, s) BOOST_PP_WHILE_914_C(BOOST_PP_BOOL(p(915, s)), p, o, s) -# define BOOST_PP_WHILE_915(p, o, s) BOOST_PP_WHILE_915_C(BOOST_PP_BOOL(p(916, s)), p, o, s) -# define BOOST_PP_WHILE_916(p, o, s) BOOST_PP_WHILE_916_C(BOOST_PP_BOOL(p(917, s)), p, o, s) -# define BOOST_PP_WHILE_917(p, o, s) BOOST_PP_WHILE_917_C(BOOST_PP_BOOL(p(918, s)), p, o, s) -# define BOOST_PP_WHILE_918(p, o, s) BOOST_PP_WHILE_918_C(BOOST_PP_BOOL(p(919, s)), p, o, s) -# define BOOST_PP_WHILE_919(p, o, s) BOOST_PP_WHILE_919_C(BOOST_PP_BOOL(p(920, s)), p, o, s) -# define BOOST_PP_WHILE_920(p, o, s) BOOST_PP_WHILE_920_C(BOOST_PP_BOOL(p(921, s)), p, o, s) -# define BOOST_PP_WHILE_921(p, o, s) BOOST_PP_WHILE_921_C(BOOST_PP_BOOL(p(922, s)), p, o, s) -# define BOOST_PP_WHILE_922(p, o, s) BOOST_PP_WHILE_922_C(BOOST_PP_BOOL(p(923, s)), p, o, s) -# define BOOST_PP_WHILE_923(p, o, s) BOOST_PP_WHILE_923_C(BOOST_PP_BOOL(p(924, s)), p, o, s) -# define BOOST_PP_WHILE_924(p, o, s) BOOST_PP_WHILE_924_C(BOOST_PP_BOOL(p(925, s)), p, o, s) -# define BOOST_PP_WHILE_925(p, o, s) BOOST_PP_WHILE_925_C(BOOST_PP_BOOL(p(926, s)), p, o, s) -# define BOOST_PP_WHILE_926(p, o, s) BOOST_PP_WHILE_926_C(BOOST_PP_BOOL(p(927, s)), p, o, s) -# define BOOST_PP_WHILE_927(p, o, s) BOOST_PP_WHILE_927_C(BOOST_PP_BOOL(p(928, s)), p, o, s) -# define BOOST_PP_WHILE_928(p, o, s) BOOST_PP_WHILE_928_C(BOOST_PP_BOOL(p(929, s)), p, o, s) -# define BOOST_PP_WHILE_929(p, o, s) BOOST_PP_WHILE_929_C(BOOST_PP_BOOL(p(930, s)), p, o, s) -# define BOOST_PP_WHILE_930(p, o, s) BOOST_PP_WHILE_930_C(BOOST_PP_BOOL(p(931, s)), p, o, s) -# define BOOST_PP_WHILE_931(p, o, s) BOOST_PP_WHILE_931_C(BOOST_PP_BOOL(p(932, s)), p, o, s) -# define BOOST_PP_WHILE_932(p, o, s) BOOST_PP_WHILE_932_C(BOOST_PP_BOOL(p(933, s)), p, o, s) -# define BOOST_PP_WHILE_933(p, o, s) BOOST_PP_WHILE_933_C(BOOST_PP_BOOL(p(934, s)), p, o, s) -# define BOOST_PP_WHILE_934(p, o, s) BOOST_PP_WHILE_934_C(BOOST_PP_BOOL(p(935, s)), p, o, s) -# define BOOST_PP_WHILE_935(p, o, s) BOOST_PP_WHILE_935_C(BOOST_PP_BOOL(p(936, s)), p, o, s) -# define BOOST_PP_WHILE_936(p, o, s) BOOST_PP_WHILE_936_C(BOOST_PP_BOOL(p(937, s)), p, o, s) -# define BOOST_PP_WHILE_937(p, o, s) BOOST_PP_WHILE_937_C(BOOST_PP_BOOL(p(938, s)), p, o, s) -# define BOOST_PP_WHILE_938(p, o, s) BOOST_PP_WHILE_938_C(BOOST_PP_BOOL(p(939, s)), p, o, s) -# define BOOST_PP_WHILE_939(p, o, s) BOOST_PP_WHILE_939_C(BOOST_PP_BOOL(p(940, s)), p, o, s) -# define BOOST_PP_WHILE_940(p, o, s) BOOST_PP_WHILE_940_C(BOOST_PP_BOOL(p(941, s)), p, o, s) -# define BOOST_PP_WHILE_941(p, o, s) BOOST_PP_WHILE_941_C(BOOST_PP_BOOL(p(942, s)), p, o, s) -# define BOOST_PP_WHILE_942(p, o, s) BOOST_PP_WHILE_942_C(BOOST_PP_BOOL(p(943, s)), p, o, s) -# define BOOST_PP_WHILE_943(p, o, s) BOOST_PP_WHILE_943_C(BOOST_PP_BOOL(p(944, s)), p, o, s) -# define BOOST_PP_WHILE_944(p, o, s) BOOST_PP_WHILE_944_C(BOOST_PP_BOOL(p(945, s)), p, o, s) -# define BOOST_PP_WHILE_945(p, o, s) BOOST_PP_WHILE_945_C(BOOST_PP_BOOL(p(946, s)), p, o, s) -# define BOOST_PP_WHILE_946(p, o, s) BOOST_PP_WHILE_946_C(BOOST_PP_BOOL(p(947, s)), p, o, s) -# define BOOST_PP_WHILE_947(p, o, s) BOOST_PP_WHILE_947_C(BOOST_PP_BOOL(p(948, s)), p, o, s) -# define BOOST_PP_WHILE_948(p, o, s) BOOST_PP_WHILE_948_C(BOOST_PP_BOOL(p(949, s)), p, o, s) -# define BOOST_PP_WHILE_949(p, o, s) BOOST_PP_WHILE_949_C(BOOST_PP_BOOL(p(950, s)), p, o, s) -# define BOOST_PP_WHILE_950(p, o, s) BOOST_PP_WHILE_950_C(BOOST_PP_BOOL(p(951, s)), p, o, s) -# define BOOST_PP_WHILE_951(p, o, s) BOOST_PP_WHILE_951_C(BOOST_PP_BOOL(p(952, s)), p, o, s) -# define BOOST_PP_WHILE_952(p, o, s) BOOST_PP_WHILE_952_C(BOOST_PP_BOOL(p(953, s)), p, o, s) -# define BOOST_PP_WHILE_953(p, o, s) BOOST_PP_WHILE_953_C(BOOST_PP_BOOL(p(954, s)), p, o, s) -# define BOOST_PP_WHILE_954(p, o, s) BOOST_PP_WHILE_954_C(BOOST_PP_BOOL(p(955, s)), p, o, s) -# define BOOST_PP_WHILE_955(p, o, s) BOOST_PP_WHILE_955_C(BOOST_PP_BOOL(p(956, s)), p, o, s) -# define BOOST_PP_WHILE_956(p, o, s) BOOST_PP_WHILE_956_C(BOOST_PP_BOOL(p(957, s)), p, o, s) -# define BOOST_PP_WHILE_957(p, o, s) BOOST_PP_WHILE_957_C(BOOST_PP_BOOL(p(958, s)), p, o, s) -# define BOOST_PP_WHILE_958(p, o, s) BOOST_PP_WHILE_958_C(BOOST_PP_BOOL(p(959, s)), p, o, s) -# define BOOST_PP_WHILE_959(p, o, s) BOOST_PP_WHILE_959_C(BOOST_PP_BOOL(p(960, s)), p, o, s) -# define BOOST_PP_WHILE_960(p, o, s) BOOST_PP_WHILE_960_C(BOOST_PP_BOOL(p(961, s)), p, o, s) -# define BOOST_PP_WHILE_961(p, o, s) BOOST_PP_WHILE_961_C(BOOST_PP_BOOL(p(962, s)), p, o, s) -# define BOOST_PP_WHILE_962(p, o, s) BOOST_PP_WHILE_962_C(BOOST_PP_BOOL(p(963, s)), p, o, s) -# define BOOST_PP_WHILE_963(p, o, s) BOOST_PP_WHILE_963_C(BOOST_PP_BOOL(p(964, s)), p, o, s) -# define BOOST_PP_WHILE_964(p, o, s) BOOST_PP_WHILE_964_C(BOOST_PP_BOOL(p(965, s)), p, o, s) -# define BOOST_PP_WHILE_965(p, o, s) BOOST_PP_WHILE_965_C(BOOST_PP_BOOL(p(966, s)), p, o, s) -# define BOOST_PP_WHILE_966(p, o, s) BOOST_PP_WHILE_966_C(BOOST_PP_BOOL(p(967, s)), p, o, s) -# define BOOST_PP_WHILE_967(p, o, s) BOOST_PP_WHILE_967_C(BOOST_PP_BOOL(p(968, s)), p, o, s) -# define BOOST_PP_WHILE_968(p, o, s) BOOST_PP_WHILE_968_C(BOOST_PP_BOOL(p(969, s)), p, o, s) -# define BOOST_PP_WHILE_969(p, o, s) BOOST_PP_WHILE_969_C(BOOST_PP_BOOL(p(970, s)), p, o, s) -# define BOOST_PP_WHILE_970(p, o, s) BOOST_PP_WHILE_970_C(BOOST_PP_BOOL(p(971, s)), p, o, s) -# define BOOST_PP_WHILE_971(p, o, s) BOOST_PP_WHILE_971_C(BOOST_PP_BOOL(p(972, s)), p, o, s) -# define BOOST_PP_WHILE_972(p, o, s) BOOST_PP_WHILE_972_C(BOOST_PP_BOOL(p(973, s)), p, o, s) -# define BOOST_PP_WHILE_973(p, o, s) BOOST_PP_WHILE_973_C(BOOST_PP_BOOL(p(974, s)), p, o, s) -# define BOOST_PP_WHILE_974(p, o, s) BOOST_PP_WHILE_974_C(BOOST_PP_BOOL(p(975, s)), p, o, s) -# define BOOST_PP_WHILE_975(p, o, s) BOOST_PP_WHILE_975_C(BOOST_PP_BOOL(p(976, s)), p, o, s) -# define BOOST_PP_WHILE_976(p, o, s) BOOST_PP_WHILE_976_C(BOOST_PP_BOOL(p(977, s)), p, o, s) -# define BOOST_PP_WHILE_977(p, o, s) BOOST_PP_WHILE_977_C(BOOST_PP_BOOL(p(978, s)), p, o, s) -# define BOOST_PP_WHILE_978(p, o, s) BOOST_PP_WHILE_978_C(BOOST_PP_BOOL(p(979, s)), p, o, s) -# define BOOST_PP_WHILE_979(p, o, s) BOOST_PP_WHILE_979_C(BOOST_PP_BOOL(p(980, s)), p, o, s) -# define BOOST_PP_WHILE_980(p, o, s) BOOST_PP_WHILE_980_C(BOOST_PP_BOOL(p(981, s)), p, o, s) -# define BOOST_PP_WHILE_981(p, o, s) BOOST_PP_WHILE_981_C(BOOST_PP_BOOL(p(982, s)), p, o, s) -# define BOOST_PP_WHILE_982(p, o, s) BOOST_PP_WHILE_982_C(BOOST_PP_BOOL(p(983, s)), p, o, s) -# define BOOST_PP_WHILE_983(p, o, s) BOOST_PP_WHILE_983_C(BOOST_PP_BOOL(p(984, s)), p, o, s) -# define BOOST_PP_WHILE_984(p, o, s) BOOST_PP_WHILE_984_C(BOOST_PP_BOOL(p(985, s)), p, o, s) -# define BOOST_PP_WHILE_985(p, o, s) BOOST_PP_WHILE_985_C(BOOST_PP_BOOL(p(986, s)), p, o, s) -# define BOOST_PP_WHILE_986(p, o, s) BOOST_PP_WHILE_986_C(BOOST_PP_BOOL(p(987, s)), p, o, s) -# define BOOST_PP_WHILE_987(p, o, s) BOOST_PP_WHILE_987_C(BOOST_PP_BOOL(p(988, s)), p, o, s) -# define BOOST_PP_WHILE_988(p, o, s) BOOST_PP_WHILE_988_C(BOOST_PP_BOOL(p(989, s)), p, o, s) -# define BOOST_PP_WHILE_989(p, o, s) BOOST_PP_WHILE_989_C(BOOST_PP_BOOL(p(990, s)), p, o, s) -# define BOOST_PP_WHILE_990(p, o, s) BOOST_PP_WHILE_990_C(BOOST_PP_BOOL(p(991, s)), p, o, s) -# define BOOST_PP_WHILE_991(p, o, s) BOOST_PP_WHILE_991_C(BOOST_PP_BOOL(p(992, s)), p, o, s) -# define BOOST_PP_WHILE_992(p, o, s) BOOST_PP_WHILE_992_C(BOOST_PP_BOOL(p(993, s)), p, o, s) -# define BOOST_PP_WHILE_993(p, o, s) BOOST_PP_WHILE_993_C(BOOST_PP_BOOL(p(994, s)), p, o, s) -# define BOOST_PP_WHILE_994(p, o, s) BOOST_PP_WHILE_994_C(BOOST_PP_BOOL(p(995, s)), p, o, s) -# define BOOST_PP_WHILE_995(p, o, s) BOOST_PP_WHILE_995_C(BOOST_PP_BOOL(p(996, s)), p, o, s) -# define BOOST_PP_WHILE_996(p, o, s) BOOST_PP_WHILE_996_C(BOOST_PP_BOOL(p(997, s)), p, o, s) -# define BOOST_PP_WHILE_997(p, o, s) BOOST_PP_WHILE_997_C(BOOST_PP_BOOL(p(998, s)), p, o, s) -# define BOOST_PP_WHILE_998(p, o, s) BOOST_PP_WHILE_998_C(BOOST_PP_BOOL(p(999, s)), p, o, s) -# define BOOST_PP_WHILE_999(p, o, s) BOOST_PP_WHILE_999_C(BOOST_PP_BOOL(p(1000, s)), p, o, s) -# define BOOST_PP_WHILE_1000(p, o, s) BOOST_PP_WHILE_1000_C(BOOST_PP_BOOL(p(1001, s)), p, o, s) -# define BOOST_PP_WHILE_1001(p, o, s) BOOST_PP_WHILE_1001_C(BOOST_PP_BOOL(p(1002, s)), p, o, s) -# define BOOST_PP_WHILE_1002(p, o, s) BOOST_PP_WHILE_1002_C(BOOST_PP_BOOL(p(1003, s)), p, o, s) -# define BOOST_PP_WHILE_1003(p, o, s) BOOST_PP_WHILE_1003_C(BOOST_PP_BOOL(p(1004, s)), p, o, s) -# define BOOST_PP_WHILE_1004(p, o, s) BOOST_PP_WHILE_1004_C(BOOST_PP_BOOL(p(1005, s)), p, o, s) -# define BOOST_PP_WHILE_1005(p, o, s) BOOST_PP_WHILE_1005_C(BOOST_PP_BOOL(p(1006, s)), p, o, s) -# define BOOST_PP_WHILE_1006(p, o, s) BOOST_PP_WHILE_1006_C(BOOST_PP_BOOL(p(1007, s)), p, o, s) -# define BOOST_PP_WHILE_1007(p, o, s) BOOST_PP_WHILE_1007_C(BOOST_PP_BOOL(p(1008, s)), p, o, s) -# define BOOST_PP_WHILE_1008(p, o, s) BOOST_PP_WHILE_1008_C(BOOST_PP_BOOL(p(1009, s)), p, o, s) -# define BOOST_PP_WHILE_1009(p, o, s) BOOST_PP_WHILE_1009_C(BOOST_PP_BOOL(p(1010, s)), p, o, s) -# define BOOST_PP_WHILE_1010(p, o, s) BOOST_PP_WHILE_1010_C(BOOST_PP_BOOL(p(1011, s)), p, o, s) -# define BOOST_PP_WHILE_1011(p, o, s) BOOST_PP_WHILE_1011_C(BOOST_PP_BOOL(p(1012, s)), p, o, s) -# define BOOST_PP_WHILE_1012(p, o, s) BOOST_PP_WHILE_1012_C(BOOST_PP_BOOL(p(1013, s)), p, o, s) -# define BOOST_PP_WHILE_1013(p, o, s) BOOST_PP_WHILE_1013_C(BOOST_PP_BOOL(p(1014, s)), p, o, s) -# define BOOST_PP_WHILE_1014(p, o, s) BOOST_PP_WHILE_1014_C(BOOST_PP_BOOL(p(1015, s)), p, o, s) -# define BOOST_PP_WHILE_1015(p, o, s) BOOST_PP_WHILE_1015_C(BOOST_PP_BOOL(p(1016, s)), p, o, s) -# define BOOST_PP_WHILE_1016(p, o, s) BOOST_PP_WHILE_1016_C(BOOST_PP_BOOL(p(1017, s)), p, o, s) -# define BOOST_PP_WHILE_1017(p, o, s) BOOST_PP_WHILE_1017_C(BOOST_PP_BOOL(p(1018, s)), p, o, s) -# define BOOST_PP_WHILE_1018(p, o, s) BOOST_PP_WHILE_1018_C(BOOST_PP_BOOL(p(1019, s)), p, o, s) -# define BOOST_PP_WHILE_1019(p, o, s) BOOST_PP_WHILE_1019_C(BOOST_PP_BOOL(p(1020, s)), p, o, s) -# define BOOST_PP_WHILE_1020(p, o, s) BOOST_PP_WHILE_1020_C(BOOST_PP_BOOL(p(1021, s)), p, o, s) -# define BOOST_PP_WHILE_1021(p, o, s) BOOST_PP_WHILE_1021_C(BOOST_PP_BOOL(p(1022, s)), p, o, s) -# define BOOST_PP_WHILE_1022(p, o, s) BOOST_PP_WHILE_1022_C(BOOST_PP_BOOL(p(1023, s)), p, o, s) -# define BOOST_PP_WHILE_1023(p, o, s) BOOST_PP_WHILE_1023_C(BOOST_PP_BOOL(p(1024, s)), p, o, s) -# define BOOST_PP_WHILE_1024(p, o, s) BOOST_PP_WHILE_1024_C(BOOST_PP_BOOL(p(1025, s)), p, o, s) -# -# define BOOST_PP_WHILE_513_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_514, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(514, s)) -# define BOOST_PP_WHILE_514_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_515, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(515, s)) -# define BOOST_PP_WHILE_515_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_516, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(516, s)) -# define BOOST_PP_WHILE_516_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_517, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(517, s)) -# define BOOST_PP_WHILE_517_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_518, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(518, s)) -# define BOOST_PP_WHILE_518_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_519, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(519, s)) -# define BOOST_PP_WHILE_519_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_520, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(520, s)) -# define BOOST_PP_WHILE_520_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_521, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(521, s)) -# define BOOST_PP_WHILE_521_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_522, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(522, s)) -# define BOOST_PP_WHILE_522_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_523, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(523, s)) -# define BOOST_PP_WHILE_523_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_524, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(524, s)) -# define BOOST_PP_WHILE_524_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_525, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(525, s)) -# define BOOST_PP_WHILE_525_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_526, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(526, s)) -# define BOOST_PP_WHILE_526_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_527, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(527, s)) -# define BOOST_PP_WHILE_527_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_528, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(528, s)) -# define BOOST_PP_WHILE_528_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_529, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(529, s)) -# define BOOST_PP_WHILE_529_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_530, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(530, s)) -# define BOOST_PP_WHILE_530_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_531, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(531, s)) -# define BOOST_PP_WHILE_531_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_532, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(532, s)) -# define BOOST_PP_WHILE_532_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_533, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(533, s)) -# define BOOST_PP_WHILE_533_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_534, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(534, s)) -# define BOOST_PP_WHILE_534_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_535, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(535, s)) -# define BOOST_PP_WHILE_535_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_536, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(536, s)) -# define BOOST_PP_WHILE_536_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_537, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(537, s)) -# define BOOST_PP_WHILE_537_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_538, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(538, s)) -# define BOOST_PP_WHILE_538_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_539, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(539, s)) -# define BOOST_PP_WHILE_539_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_540, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(540, s)) -# define BOOST_PP_WHILE_540_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_541, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(541, s)) -# define BOOST_PP_WHILE_541_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_542, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(542, s)) -# define BOOST_PP_WHILE_542_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_543, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(543, s)) -# define BOOST_PP_WHILE_543_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_544, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(544, s)) -# define BOOST_PP_WHILE_544_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_545, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(545, s)) -# define BOOST_PP_WHILE_545_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_546, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(546, s)) -# define BOOST_PP_WHILE_546_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_547, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(547, s)) -# define BOOST_PP_WHILE_547_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_548, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(548, s)) -# define BOOST_PP_WHILE_548_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_549, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(549, s)) -# define BOOST_PP_WHILE_549_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_550, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(550, s)) -# define BOOST_PP_WHILE_550_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_551, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(551, s)) -# define BOOST_PP_WHILE_551_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_552, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(552, s)) -# define BOOST_PP_WHILE_552_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_553, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(553, s)) -# define BOOST_PP_WHILE_553_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_554, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(554, s)) -# define BOOST_PP_WHILE_554_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_555, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(555, s)) -# define BOOST_PP_WHILE_555_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_556, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(556, s)) -# define BOOST_PP_WHILE_556_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_557, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(557, s)) -# define BOOST_PP_WHILE_557_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_558, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(558, s)) -# define BOOST_PP_WHILE_558_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_559, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(559, s)) -# define BOOST_PP_WHILE_559_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_560, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(560, s)) -# define BOOST_PP_WHILE_560_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_561, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(561, s)) -# define BOOST_PP_WHILE_561_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_562, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(562, s)) -# define BOOST_PP_WHILE_562_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_563, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(563, s)) -# define BOOST_PP_WHILE_563_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_564, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(564, s)) -# define BOOST_PP_WHILE_564_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_565, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(565, s)) -# define BOOST_PP_WHILE_565_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_566, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(566, s)) -# define BOOST_PP_WHILE_566_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_567, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(567, s)) -# define BOOST_PP_WHILE_567_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_568, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(568, s)) -# define BOOST_PP_WHILE_568_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_569, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(569, s)) -# define BOOST_PP_WHILE_569_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_570, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(570, s)) -# define BOOST_PP_WHILE_570_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_571, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(571, s)) -# define BOOST_PP_WHILE_571_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_572, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(572, s)) -# define BOOST_PP_WHILE_572_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_573, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(573, s)) -# define BOOST_PP_WHILE_573_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_574, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(574, s)) -# define BOOST_PP_WHILE_574_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_575, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(575, s)) -# define BOOST_PP_WHILE_575_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_576, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(576, s)) -# define BOOST_PP_WHILE_576_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_577, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(577, s)) -# define BOOST_PP_WHILE_577_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_578, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(578, s)) -# define BOOST_PP_WHILE_578_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_579, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(579, s)) -# define BOOST_PP_WHILE_579_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_580, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(580, s)) -# define BOOST_PP_WHILE_580_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_581, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(581, s)) -# define BOOST_PP_WHILE_581_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_582, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(582, s)) -# define BOOST_PP_WHILE_582_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_583, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(583, s)) -# define BOOST_PP_WHILE_583_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_584, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(584, s)) -# define BOOST_PP_WHILE_584_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_585, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(585, s)) -# define BOOST_PP_WHILE_585_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_586, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(586, s)) -# define BOOST_PP_WHILE_586_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_587, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(587, s)) -# define BOOST_PP_WHILE_587_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_588, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(588, s)) -# define BOOST_PP_WHILE_588_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_589, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(589, s)) -# define BOOST_PP_WHILE_589_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_590, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(590, s)) -# define BOOST_PP_WHILE_590_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_591, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(591, s)) -# define BOOST_PP_WHILE_591_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_592, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(592, s)) -# define BOOST_PP_WHILE_592_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_593, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(593, s)) -# define BOOST_PP_WHILE_593_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_594, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(594, s)) -# define BOOST_PP_WHILE_594_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_595, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(595, s)) -# define BOOST_PP_WHILE_595_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_596, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(596, s)) -# define BOOST_PP_WHILE_596_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_597, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(597, s)) -# define BOOST_PP_WHILE_597_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_598, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(598, s)) -# define BOOST_PP_WHILE_598_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_599, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(599, s)) -# define BOOST_PP_WHILE_599_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_600, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(600, s)) -# define BOOST_PP_WHILE_600_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_601, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(601, s)) -# define BOOST_PP_WHILE_601_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_602, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(602, s)) -# define BOOST_PP_WHILE_602_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_603, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(603, s)) -# define BOOST_PP_WHILE_603_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_604, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(604, s)) -# define BOOST_PP_WHILE_604_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_605, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(605, s)) -# define BOOST_PP_WHILE_605_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_606, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(606, s)) -# define BOOST_PP_WHILE_606_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_607, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(607, s)) -# define BOOST_PP_WHILE_607_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_608, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(608, s)) -# define BOOST_PP_WHILE_608_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_609, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(609, s)) -# define BOOST_PP_WHILE_609_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_610, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(610, s)) -# define BOOST_PP_WHILE_610_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_611, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(611, s)) -# define BOOST_PP_WHILE_611_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_612, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(612, s)) -# define BOOST_PP_WHILE_612_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_613, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(613, s)) -# define BOOST_PP_WHILE_613_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_614, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(614, s)) -# define BOOST_PP_WHILE_614_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_615, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(615, s)) -# define BOOST_PP_WHILE_615_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_616, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(616, s)) -# define BOOST_PP_WHILE_616_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_617, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(617, s)) -# define BOOST_PP_WHILE_617_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_618, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(618, s)) -# define BOOST_PP_WHILE_618_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_619, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(619, s)) -# define BOOST_PP_WHILE_619_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_620, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(620, s)) -# define BOOST_PP_WHILE_620_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_621, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(621, s)) -# define BOOST_PP_WHILE_621_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_622, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(622, s)) -# define BOOST_PP_WHILE_622_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_623, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(623, s)) -# define BOOST_PP_WHILE_623_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_624, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(624, s)) -# define BOOST_PP_WHILE_624_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_625, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(625, s)) -# define BOOST_PP_WHILE_625_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_626, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(626, s)) -# define BOOST_PP_WHILE_626_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_627, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(627, s)) -# define BOOST_PP_WHILE_627_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_628, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(628, s)) -# define BOOST_PP_WHILE_628_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_629, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(629, s)) -# define BOOST_PP_WHILE_629_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_630, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(630, s)) -# define BOOST_PP_WHILE_630_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_631, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(631, s)) -# define BOOST_PP_WHILE_631_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_632, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(632, s)) -# define BOOST_PP_WHILE_632_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_633, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(633, s)) -# define BOOST_PP_WHILE_633_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_634, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(634, s)) -# define BOOST_PP_WHILE_634_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_635, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(635, s)) -# define BOOST_PP_WHILE_635_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_636, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(636, s)) -# define BOOST_PP_WHILE_636_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_637, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(637, s)) -# define BOOST_PP_WHILE_637_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_638, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(638, s)) -# define BOOST_PP_WHILE_638_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_639, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(639, s)) -# define BOOST_PP_WHILE_639_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_640, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(640, s)) -# define BOOST_PP_WHILE_640_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_641, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(641, s)) -# define BOOST_PP_WHILE_641_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_642, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(642, s)) -# define BOOST_PP_WHILE_642_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_643, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(643, s)) -# define BOOST_PP_WHILE_643_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_644, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(644, s)) -# define BOOST_PP_WHILE_644_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_645, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(645, s)) -# define BOOST_PP_WHILE_645_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_646, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(646, s)) -# define BOOST_PP_WHILE_646_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_647, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(647, s)) -# define BOOST_PP_WHILE_647_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_648, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(648, s)) -# define BOOST_PP_WHILE_648_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_649, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(649, s)) -# define BOOST_PP_WHILE_649_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_650, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(650, s)) -# define BOOST_PP_WHILE_650_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_651, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(651, s)) -# define BOOST_PP_WHILE_651_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_652, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(652, s)) -# define BOOST_PP_WHILE_652_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_653, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(653, s)) -# define BOOST_PP_WHILE_653_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_654, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(654, s)) -# define BOOST_PP_WHILE_654_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_655, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(655, s)) -# define BOOST_PP_WHILE_655_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_656, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(656, s)) -# define BOOST_PP_WHILE_656_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_657, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(657, s)) -# define BOOST_PP_WHILE_657_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_658, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(658, s)) -# define BOOST_PP_WHILE_658_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_659, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(659, s)) -# define BOOST_PP_WHILE_659_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_660, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(660, s)) -# define BOOST_PP_WHILE_660_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_661, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(661, s)) -# define BOOST_PP_WHILE_661_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_662, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(662, s)) -# define BOOST_PP_WHILE_662_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_663, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(663, s)) -# define BOOST_PP_WHILE_663_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_664, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(664, s)) -# define BOOST_PP_WHILE_664_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_665, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(665, s)) -# define BOOST_PP_WHILE_665_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_666, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(666, s)) -# define BOOST_PP_WHILE_666_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_667, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(667, s)) -# define BOOST_PP_WHILE_667_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_668, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(668, s)) -# define BOOST_PP_WHILE_668_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_669, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(669, s)) -# define BOOST_PP_WHILE_669_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_670, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(670, s)) -# define BOOST_PP_WHILE_670_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_671, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(671, s)) -# define BOOST_PP_WHILE_671_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_672, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(672, s)) -# define BOOST_PP_WHILE_672_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_673, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(673, s)) -# define BOOST_PP_WHILE_673_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_674, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(674, s)) -# define BOOST_PP_WHILE_674_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_675, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(675, s)) -# define BOOST_PP_WHILE_675_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_676, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(676, s)) -# define BOOST_PP_WHILE_676_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_677, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(677, s)) -# define BOOST_PP_WHILE_677_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_678, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(678, s)) -# define BOOST_PP_WHILE_678_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_679, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(679, s)) -# define BOOST_PP_WHILE_679_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_680, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(680, s)) -# define BOOST_PP_WHILE_680_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_681, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(681, s)) -# define BOOST_PP_WHILE_681_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_682, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(682, s)) -# define BOOST_PP_WHILE_682_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_683, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(683, s)) -# define BOOST_PP_WHILE_683_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_684, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(684, s)) -# define BOOST_PP_WHILE_684_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_685, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(685, s)) -# define BOOST_PP_WHILE_685_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_686, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(686, s)) -# define BOOST_PP_WHILE_686_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_687, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(687, s)) -# define BOOST_PP_WHILE_687_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_688, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(688, s)) -# define BOOST_PP_WHILE_688_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_689, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(689, s)) -# define BOOST_PP_WHILE_689_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_690, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(690, s)) -# define BOOST_PP_WHILE_690_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_691, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(691, s)) -# define BOOST_PP_WHILE_691_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_692, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(692, s)) -# define BOOST_PP_WHILE_692_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_693, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(693, s)) -# define BOOST_PP_WHILE_693_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_694, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(694, s)) -# define BOOST_PP_WHILE_694_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_695, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(695, s)) -# define BOOST_PP_WHILE_695_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_696, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(696, s)) -# define BOOST_PP_WHILE_696_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_697, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(697, s)) -# define BOOST_PP_WHILE_697_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_698, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(698, s)) -# define BOOST_PP_WHILE_698_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_699, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(699, s)) -# define BOOST_PP_WHILE_699_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_700, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(700, s)) -# define BOOST_PP_WHILE_700_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_701, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(701, s)) -# define BOOST_PP_WHILE_701_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_702, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(702, s)) -# define BOOST_PP_WHILE_702_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_703, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(703, s)) -# define BOOST_PP_WHILE_703_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_704, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(704, s)) -# define BOOST_PP_WHILE_704_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_705, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(705, s)) -# define BOOST_PP_WHILE_705_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_706, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(706, s)) -# define BOOST_PP_WHILE_706_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_707, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(707, s)) -# define BOOST_PP_WHILE_707_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_708, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(708, s)) -# define BOOST_PP_WHILE_708_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_709, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(709, s)) -# define BOOST_PP_WHILE_709_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_710, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(710, s)) -# define BOOST_PP_WHILE_710_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_711, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(711, s)) -# define BOOST_PP_WHILE_711_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_712, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(712, s)) -# define BOOST_PP_WHILE_712_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_713, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(713, s)) -# define BOOST_PP_WHILE_713_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_714, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(714, s)) -# define BOOST_PP_WHILE_714_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_715, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(715, s)) -# define BOOST_PP_WHILE_715_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_716, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(716, s)) -# define BOOST_PP_WHILE_716_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_717, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(717, s)) -# define BOOST_PP_WHILE_717_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_718, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(718, s)) -# define BOOST_PP_WHILE_718_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_719, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(719, s)) -# define BOOST_PP_WHILE_719_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_720, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(720, s)) -# define BOOST_PP_WHILE_720_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_721, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(721, s)) -# define BOOST_PP_WHILE_721_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_722, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(722, s)) -# define BOOST_PP_WHILE_722_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_723, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(723, s)) -# define BOOST_PP_WHILE_723_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_724, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(724, s)) -# define BOOST_PP_WHILE_724_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_725, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(725, s)) -# define BOOST_PP_WHILE_725_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_726, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(726, s)) -# define BOOST_PP_WHILE_726_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_727, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(727, s)) -# define BOOST_PP_WHILE_727_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_728, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(728, s)) -# define BOOST_PP_WHILE_728_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_729, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(729, s)) -# define BOOST_PP_WHILE_729_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_730, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(730, s)) -# define BOOST_PP_WHILE_730_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_731, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(731, s)) -# define BOOST_PP_WHILE_731_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_732, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(732, s)) -# define BOOST_PP_WHILE_732_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_733, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(733, s)) -# define BOOST_PP_WHILE_733_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_734, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(734, s)) -# define BOOST_PP_WHILE_734_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_735, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(735, s)) -# define BOOST_PP_WHILE_735_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_736, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(736, s)) -# define BOOST_PP_WHILE_736_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_737, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(737, s)) -# define BOOST_PP_WHILE_737_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_738, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(738, s)) -# define BOOST_PP_WHILE_738_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_739, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(739, s)) -# define BOOST_PP_WHILE_739_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_740, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(740, s)) -# define BOOST_PP_WHILE_740_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_741, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(741, s)) -# define BOOST_PP_WHILE_741_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_742, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(742, s)) -# define BOOST_PP_WHILE_742_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_743, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(743, s)) -# define BOOST_PP_WHILE_743_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_744, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(744, s)) -# define BOOST_PP_WHILE_744_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_745, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(745, s)) -# define BOOST_PP_WHILE_745_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_746, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(746, s)) -# define BOOST_PP_WHILE_746_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_747, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(747, s)) -# define BOOST_PP_WHILE_747_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_748, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(748, s)) -# define BOOST_PP_WHILE_748_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_749, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(749, s)) -# define BOOST_PP_WHILE_749_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_750, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(750, s)) -# define BOOST_PP_WHILE_750_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_751, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(751, s)) -# define BOOST_PP_WHILE_751_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_752, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(752, s)) -# define BOOST_PP_WHILE_752_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_753, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(753, s)) -# define BOOST_PP_WHILE_753_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_754, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(754, s)) -# define BOOST_PP_WHILE_754_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_755, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(755, s)) -# define BOOST_PP_WHILE_755_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_756, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(756, s)) -# define BOOST_PP_WHILE_756_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_757, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(757, s)) -# define BOOST_PP_WHILE_757_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_758, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(758, s)) -# define BOOST_PP_WHILE_758_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_759, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(759, s)) -# define BOOST_PP_WHILE_759_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_760, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(760, s)) -# define BOOST_PP_WHILE_760_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_761, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(761, s)) -# define BOOST_PP_WHILE_761_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_762, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(762, s)) -# define BOOST_PP_WHILE_762_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_763, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(763, s)) -# define BOOST_PP_WHILE_763_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_764, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(764, s)) -# define BOOST_PP_WHILE_764_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_765, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(765, s)) -# define BOOST_PP_WHILE_765_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_766, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(766, s)) -# define BOOST_PP_WHILE_766_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_767, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(767, s)) -# define BOOST_PP_WHILE_767_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_768, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(768, s)) -# define BOOST_PP_WHILE_768_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_769, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(769, s)) -# define BOOST_PP_WHILE_769_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_770, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(770, s)) -# define BOOST_PP_WHILE_770_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_771, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(771, s)) -# define BOOST_PP_WHILE_771_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_772, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(772, s)) -# define BOOST_PP_WHILE_772_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_773, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(773, s)) -# define BOOST_PP_WHILE_773_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_774, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(774, s)) -# define BOOST_PP_WHILE_774_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_775, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(775, s)) -# define BOOST_PP_WHILE_775_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_776, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(776, s)) -# define BOOST_PP_WHILE_776_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_777, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(777, s)) -# define BOOST_PP_WHILE_777_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_778, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(778, s)) -# define BOOST_PP_WHILE_778_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_779, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(779, s)) -# define BOOST_PP_WHILE_779_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_780, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(780, s)) -# define BOOST_PP_WHILE_780_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_781, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(781, s)) -# define BOOST_PP_WHILE_781_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_782, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(782, s)) -# define BOOST_PP_WHILE_782_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_783, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(783, s)) -# define BOOST_PP_WHILE_783_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_784, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(784, s)) -# define BOOST_PP_WHILE_784_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_785, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(785, s)) -# define BOOST_PP_WHILE_785_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_786, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(786, s)) -# define BOOST_PP_WHILE_786_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_787, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(787, s)) -# define BOOST_PP_WHILE_787_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_788, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(788, s)) -# define BOOST_PP_WHILE_788_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_789, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(789, s)) -# define BOOST_PP_WHILE_789_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_790, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(790, s)) -# define BOOST_PP_WHILE_790_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_791, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(791, s)) -# define BOOST_PP_WHILE_791_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_792, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(792, s)) -# define BOOST_PP_WHILE_792_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_793, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(793, s)) -# define BOOST_PP_WHILE_793_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_794, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(794, s)) -# define BOOST_PP_WHILE_794_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_795, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(795, s)) -# define BOOST_PP_WHILE_795_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_796, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(796, s)) -# define BOOST_PP_WHILE_796_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_797, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(797, s)) -# define BOOST_PP_WHILE_797_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_798, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(798, s)) -# define BOOST_PP_WHILE_798_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_799, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(799, s)) -# define BOOST_PP_WHILE_799_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_800, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(800, s)) -# define BOOST_PP_WHILE_800_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_801, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(801, s)) -# define BOOST_PP_WHILE_801_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_802, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(802, s)) -# define BOOST_PP_WHILE_802_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_803, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(803, s)) -# define BOOST_PP_WHILE_803_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_804, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(804, s)) -# define BOOST_PP_WHILE_804_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_805, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(805, s)) -# define BOOST_PP_WHILE_805_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_806, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(806, s)) -# define BOOST_PP_WHILE_806_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_807, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(807, s)) -# define BOOST_PP_WHILE_807_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_808, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(808, s)) -# define BOOST_PP_WHILE_808_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_809, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(809, s)) -# define BOOST_PP_WHILE_809_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_810, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(810, s)) -# define BOOST_PP_WHILE_810_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_811, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(811, s)) -# define BOOST_PP_WHILE_811_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_812, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(812, s)) -# define BOOST_PP_WHILE_812_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_813, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(813, s)) -# define BOOST_PP_WHILE_813_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_814, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(814, s)) -# define BOOST_PP_WHILE_814_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_815, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(815, s)) -# define BOOST_PP_WHILE_815_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_816, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(816, s)) -# define BOOST_PP_WHILE_816_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_817, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(817, s)) -# define BOOST_PP_WHILE_817_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_818, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(818, s)) -# define BOOST_PP_WHILE_818_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_819, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(819, s)) -# define BOOST_PP_WHILE_819_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_820, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(820, s)) -# define BOOST_PP_WHILE_820_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_821, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(821, s)) -# define BOOST_PP_WHILE_821_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_822, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(822, s)) -# define BOOST_PP_WHILE_822_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_823, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(823, s)) -# define BOOST_PP_WHILE_823_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_824, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(824, s)) -# define BOOST_PP_WHILE_824_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_825, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(825, s)) -# define BOOST_PP_WHILE_825_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_826, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(826, s)) -# define BOOST_PP_WHILE_826_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_827, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(827, s)) -# define BOOST_PP_WHILE_827_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_828, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(828, s)) -# define BOOST_PP_WHILE_828_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_829, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(829, s)) -# define BOOST_PP_WHILE_829_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_830, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(830, s)) -# define BOOST_PP_WHILE_830_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_831, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(831, s)) -# define BOOST_PP_WHILE_831_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_832, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(832, s)) -# define BOOST_PP_WHILE_832_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_833, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(833, s)) -# define BOOST_PP_WHILE_833_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_834, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(834, s)) -# define BOOST_PP_WHILE_834_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_835, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(835, s)) -# define BOOST_PP_WHILE_835_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_836, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(836, s)) -# define BOOST_PP_WHILE_836_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_837, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(837, s)) -# define BOOST_PP_WHILE_837_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_838, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(838, s)) -# define BOOST_PP_WHILE_838_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_839, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(839, s)) -# define BOOST_PP_WHILE_839_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_840, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(840, s)) -# define BOOST_PP_WHILE_840_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_841, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(841, s)) -# define BOOST_PP_WHILE_841_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_842, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(842, s)) -# define BOOST_PP_WHILE_842_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_843, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(843, s)) -# define BOOST_PP_WHILE_843_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_844, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(844, s)) -# define BOOST_PP_WHILE_844_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_845, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(845, s)) -# define BOOST_PP_WHILE_845_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_846, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(846, s)) -# define BOOST_PP_WHILE_846_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_847, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(847, s)) -# define BOOST_PP_WHILE_847_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_848, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(848, s)) -# define BOOST_PP_WHILE_848_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_849, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(849, s)) -# define BOOST_PP_WHILE_849_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_850, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(850, s)) -# define BOOST_PP_WHILE_850_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_851, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(851, s)) -# define BOOST_PP_WHILE_851_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_852, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(852, s)) -# define BOOST_PP_WHILE_852_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_853, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(853, s)) -# define BOOST_PP_WHILE_853_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_854, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(854, s)) -# define BOOST_PP_WHILE_854_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_855, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(855, s)) -# define BOOST_PP_WHILE_855_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_856, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(856, s)) -# define BOOST_PP_WHILE_856_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_857, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(857, s)) -# define BOOST_PP_WHILE_857_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_858, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(858, s)) -# define BOOST_PP_WHILE_858_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_859, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(859, s)) -# define BOOST_PP_WHILE_859_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_860, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(860, s)) -# define BOOST_PP_WHILE_860_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_861, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(861, s)) -# define BOOST_PP_WHILE_861_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_862, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(862, s)) -# define BOOST_PP_WHILE_862_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_863, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(863, s)) -# define BOOST_PP_WHILE_863_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_864, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(864, s)) -# define BOOST_PP_WHILE_864_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_865, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(865, s)) -# define BOOST_PP_WHILE_865_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_866, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(866, s)) -# define BOOST_PP_WHILE_866_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_867, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(867, s)) -# define BOOST_PP_WHILE_867_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_868, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(868, s)) -# define BOOST_PP_WHILE_868_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_869, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(869, s)) -# define BOOST_PP_WHILE_869_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_870, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(870, s)) -# define BOOST_PP_WHILE_870_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_871, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(871, s)) -# define BOOST_PP_WHILE_871_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_872, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(872, s)) -# define BOOST_PP_WHILE_872_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_873, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(873, s)) -# define BOOST_PP_WHILE_873_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_874, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(874, s)) -# define BOOST_PP_WHILE_874_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_875, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(875, s)) -# define BOOST_PP_WHILE_875_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_876, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(876, s)) -# define BOOST_PP_WHILE_876_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_877, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(877, s)) -# define BOOST_PP_WHILE_877_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_878, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(878, s)) -# define BOOST_PP_WHILE_878_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_879, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(879, s)) -# define BOOST_PP_WHILE_879_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_880, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(880, s)) -# define BOOST_PP_WHILE_880_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_881, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(881, s)) -# define BOOST_PP_WHILE_881_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_882, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(882, s)) -# define BOOST_PP_WHILE_882_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_883, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(883, s)) -# define BOOST_PP_WHILE_883_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_884, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(884, s)) -# define BOOST_PP_WHILE_884_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_885, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(885, s)) -# define BOOST_PP_WHILE_885_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_886, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(886, s)) -# define BOOST_PP_WHILE_886_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_887, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(887, s)) -# define BOOST_PP_WHILE_887_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_888, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(888, s)) -# define BOOST_PP_WHILE_888_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_889, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(889, s)) -# define BOOST_PP_WHILE_889_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_890, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(890, s)) -# define BOOST_PP_WHILE_890_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_891, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(891, s)) -# define BOOST_PP_WHILE_891_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_892, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(892, s)) -# define BOOST_PP_WHILE_892_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_893, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(893, s)) -# define BOOST_PP_WHILE_893_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_894, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(894, s)) -# define BOOST_PP_WHILE_894_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_895, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(895, s)) -# define BOOST_PP_WHILE_895_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_896, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(896, s)) -# define BOOST_PP_WHILE_896_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_897, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(897, s)) -# define BOOST_PP_WHILE_897_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_898, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(898, s)) -# define BOOST_PP_WHILE_898_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_899, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(899, s)) -# define BOOST_PP_WHILE_899_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_900, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(900, s)) -# define BOOST_PP_WHILE_900_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_901, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(901, s)) -# define BOOST_PP_WHILE_901_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_902, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(902, s)) -# define BOOST_PP_WHILE_902_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_903, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(903, s)) -# define BOOST_PP_WHILE_903_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_904, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(904, s)) -# define BOOST_PP_WHILE_904_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_905, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(905, s)) -# define BOOST_PP_WHILE_905_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_906, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(906, s)) -# define BOOST_PP_WHILE_906_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_907, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(907, s)) -# define BOOST_PP_WHILE_907_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_908, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(908, s)) -# define BOOST_PP_WHILE_908_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_909, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(909, s)) -# define BOOST_PP_WHILE_909_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_910, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(910, s)) -# define BOOST_PP_WHILE_910_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_911, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(911, s)) -# define BOOST_PP_WHILE_911_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_912, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(912, s)) -# define BOOST_PP_WHILE_912_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_913, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(913, s)) -# define BOOST_PP_WHILE_913_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_914, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(914, s)) -# define BOOST_PP_WHILE_914_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_915, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(915, s)) -# define BOOST_PP_WHILE_915_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_916, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(916, s)) -# define BOOST_PP_WHILE_916_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_917, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(917, s)) -# define BOOST_PP_WHILE_917_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_918, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(918, s)) -# define BOOST_PP_WHILE_918_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_919, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(919, s)) -# define BOOST_PP_WHILE_919_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_920, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(920, s)) -# define BOOST_PP_WHILE_920_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_921, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(921, s)) -# define BOOST_PP_WHILE_921_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_922, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(922, s)) -# define BOOST_PP_WHILE_922_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_923, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(923, s)) -# define BOOST_PP_WHILE_923_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_924, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(924, s)) -# define BOOST_PP_WHILE_924_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_925, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(925, s)) -# define BOOST_PP_WHILE_925_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_926, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(926, s)) -# define BOOST_PP_WHILE_926_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_927, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(927, s)) -# define BOOST_PP_WHILE_927_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_928, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(928, s)) -# define BOOST_PP_WHILE_928_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_929, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(929, s)) -# define BOOST_PP_WHILE_929_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_930, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(930, s)) -# define BOOST_PP_WHILE_930_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_931, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(931, s)) -# define BOOST_PP_WHILE_931_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_932, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(932, s)) -# define BOOST_PP_WHILE_932_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_933, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(933, s)) -# define BOOST_PP_WHILE_933_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_934, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(934, s)) -# define BOOST_PP_WHILE_934_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_935, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(935, s)) -# define BOOST_PP_WHILE_935_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_936, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(936, s)) -# define BOOST_PP_WHILE_936_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_937, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(937, s)) -# define BOOST_PP_WHILE_937_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_938, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(938, s)) -# define BOOST_PP_WHILE_938_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_939, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(939, s)) -# define BOOST_PP_WHILE_939_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_940, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(940, s)) -# define BOOST_PP_WHILE_940_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_941, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(941, s)) -# define BOOST_PP_WHILE_941_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_942, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(942, s)) -# define BOOST_PP_WHILE_942_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_943, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(943, s)) -# define BOOST_PP_WHILE_943_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_944, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(944, s)) -# define BOOST_PP_WHILE_944_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_945, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(945, s)) -# define BOOST_PP_WHILE_945_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_946, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(946, s)) -# define BOOST_PP_WHILE_946_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_947, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(947, s)) -# define BOOST_PP_WHILE_947_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_948, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(948, s)) -# define BOOST_PP_WHILE_948_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_949, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(949, s)) -# define BOOST_PP_WHILE_949_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_950, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(950, s)) -# define BOOST_PP_WHILE_950_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_951, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(951, s)) -# define BOOST_PP_WHILE_951_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_952, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(952, s)) -# define BOOST_PP_WHILE_952_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_953, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(953, s)) -# define BOOST_PP_WHILE_953_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_954, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(954, s)) -# define BOOST_PP_WHILE_954_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_955, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(955, s)) -# define BOOST_PP_WHILE_955_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_956, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(956, s)) -# define BOOST_PP_WHILE_956_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_957, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(957, s)) -# define BOOST_PP_WHILE_957_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_958, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(958, s)) -# define BOOST_PP_WHILE_958_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_959, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(959, s)) -# define BOOST_PP_WHILE_959_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_960, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(960, s)) -# define BOOST_PP_WHILE_960_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_961, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(961, s)) -# define BOOST_PP_WHILE_961_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_962, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(962, s)) -# define BOOST_PP_WHILE_962_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_963, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(963, s)) -# define BOOST_PP_WHILE_963_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_964, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(964, s)) -# define BOOST_PP_WHILE_964_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_965, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(965, s)) -# define BOOST_PP_WHILE_965_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_966, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(966, s)) -# define BOOST_PP_WHILE_966_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_967, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(967, s)) -# define BOOST_PP_WHILE_967_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_968, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(968, s)) -# define BOOST_PP_WHILE_968_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_969, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(969, s)) -# define BOOST_PP_WHILE_969_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_970, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(970, s)) -# define BOOST_PP_WHILE_970_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_971, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(971, s)) -# define BOOST_PP_WHILE_971_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_972, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(972, s)) -# define BOOST_PP_WHILE_972_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_973, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(973, s)) -# define BOOST_PP_WHILE_973_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_974, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(974, s)) -# define BOOST_PP_WHILE_974_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_975, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(975, s)) -# define BOOST_PP_WHILE_975_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_976, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(976, s)) -# define BOOST_PP_WHILE_976_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_977, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(977, s)) -# define BOOST_PP_WHILE_977_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_978, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(978, s)) -# define BOOST_PP_WHILE_978_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_979, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(979, s)) -# define BOOST_PP_WHILE_979_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_980, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(980, s)) -# define BOOST_PP_WHILE_980_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_981, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(981, s)) -# define BOOST_PP_WHILE_981_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_982, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(982, s)) -# define BOOST_PP_WHILE_982_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_983, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(983, s)) -# define BOOST_PP_WHILE_983_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_984, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(984, s)) -# define BOOST_PP_WHILE_984_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_985, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(985, s)) -# define BOOST_PP_WHILE_985_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_986, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(986, s)) -# define BOOST_PP_WHILE_986_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_987, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(987, s)) -# define BOOST_PP_WHILE_987_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_988, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(988, s)) -# define BOOST_PP_WHILE_988_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_989, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(989, s)) -# define BOOST_PP_WHILE_989_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_990, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(990, s)) -# define BOOST_PP_WHILE_990_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_991, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(991, s)) -# define BOOST_PP_WHILE_991_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_992, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(992, s)) -# define BOOST_PP_WHILE_992_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_993, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(993, s)) -# define BOOST_PP_WHILE_993_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_994, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(994, s)) -# define BOOST_PP_WHILE_994_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_995, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(995, s)) -# define BOOST_PP_WHILE_995_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_996, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(996, s)) -# define BOOST_PP_WHILE_996_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_997, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(997, s)) -# define BOOST_PP_WHILE_997_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_998, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(998, s)) -# define BOOST_PP_WHILE_998_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_999, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(999, s)) -# define BOOST_PP_WHILE_999_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1000, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1000, s)) -# define BOOST_PP_WHILE_1000_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1001, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1001, s)) -# define BOOST_PP_WHILE_1001_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1002, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1002, s)) -# define BOOST_PP_WHILE_1002_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1003, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1003, s)) -# define BOOST_PP_WHILE_1003_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1004, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1004, s)) -# define BOOST_PP_WHILE_1004_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1005, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1005, s)) -# define BOOST_PP_WHILE_1005_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1006, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1006, s)) -# define BOOST_PP_WHILE_1006_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1007, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1007, s)) -# define BOOST_PP_WHILE_1007_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1008, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1008, s)) -# define BOOST_PP_WHILE_1008_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1009, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1009, s)) -# define BOOST_PP_WHILE_1009_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1010, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1010, s)) -# define BOOST_PP_WHILE_1010_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1011, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1011, s)) -# define BOOST_PP_WHILE_1011_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1012, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1012, s)) -# define BOOST_PP_WHILE_1012_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1013, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1013, s)) -# define BOOST_PP_WHILE_1013_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1014, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1014, s)) -# define BOOST_PP_WHILE_1014_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1015, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1015, s)) -# define BOOST_PP_WHILE_1015_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1016, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1016, s)) -# define BOOST_PP_WHILE_1016_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1017, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1017, s)) -# define BOOST_PP_WHILE_1017_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1018, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1018, s)) -# define BOOST_PP_WHILE_1018_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1019, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1019, s)) -# define BOOST_PP_WHILE_1019_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1020, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1020, s)) -# define BOOST_PP_WHILE_1020_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1021, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1021, s)) -# define BOOST_PP_WHILE_1021_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1022, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1022, s)) -# define BOOST_PP_WHILE_1022_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1023, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1023, s)) -# define BOOST_PP_WHILE_1023_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1024, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1024, s)) -# define BOOST_PP_WHILE_1024_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1025, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1025, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_256.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_256.hpp deleted file mode 100644 index 6ae85dd027..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_256.hpp +++ /dev/null @@ -1,533 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_256_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_256_HPP -# -# define BOOST_PP_WHILE_0(p, o, s) BOOST_PP_WHILE_0_C(BOOST_PP_BOOL(p(1, s)), p, o, s) -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s) -# -# define BOOST_PP_WHILE_0_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1, s)) -# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s)) -# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s)) -# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s)) -# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s)) -# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s)) -# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s)) -# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s)) -# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s)) -# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s)) -# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s)) -# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s)) -# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s)) -# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s)) -# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s)) -# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s)) -# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s)) -# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s)) -# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s)) -# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s)) -# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s)) -# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s)) -# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s)) -# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s)) -# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s)) -# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s)) -# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s)) -# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s)) -# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s)) -# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s)) -# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s)) -# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s)) -# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s)) -# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s)) -# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s)) -# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s)) -# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s)) -# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s)) -# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s)) -# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s)) -# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s)) -# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s)) -# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s)) -# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s)) -# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s)) -# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s)) -# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s)) -# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s)) -# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s)) -# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s)) -# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s)) -# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s)) -# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s)) -# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s)) -# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s)) -# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s)) -# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s)) -# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s)) -# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s)) -# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s)) -# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s)) -# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s)) -# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s)) -# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s)) -# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s)) -# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s)) -# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s)) -# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s)) -# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s)) -# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s)) -# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s)) -# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s)) -# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s)) -# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s)) -# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s)) -# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s)) -# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s)) -# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s)) -# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s)) -# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s)) -# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s)) -# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s)) -# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s)) -# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s)) -# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s)) -# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s)) -# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s)) -# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s)) -# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s)) -# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s)) -# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s)) -# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s)) -# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s)) -# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s)) -# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s)) -# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s)) -# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s)) -# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s)) -# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s)) -# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s)) -# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s)) -# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s)) -# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s)) -# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s)) -# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s)) -# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s)) -# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s)) -# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s)) -# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s)) -# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s)) -# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s)) -# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s)) -# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s)) -# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s)) -# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s)) -# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s)) -# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s)) -# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s)) -# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s)) -# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s)) -# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s)) -# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s)) -# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s)) -# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s)) -# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s)) -# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s)) -# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s)) -# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s)) -# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s)) -# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s)) -# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s)) -# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s)) -# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s)) -# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s)) -# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s)) -# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s)) -# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s)) -# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s)) -# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s)) -# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s)) -# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s)) -# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s)) -# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s)) -# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s)) -# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s)) -# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s)) -# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s)) -# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s)) -# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s)) -# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s)) -# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s)) -# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s)) -# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s)) -# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s)) -# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s)) -# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s)) -# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s)) -# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s)) -# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s)) -# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s)) -# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s)) -# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s)) -# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s)) -# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s)) -# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s)) -# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s)) -# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s)) -# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s)) -# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s)) -# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s)) -# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s)) -# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s)) -# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s)) -# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s)) -# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s)) -# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s)) -# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s)) -# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s)) -# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s)) -# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s)) -# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s)) -# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s)) -# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s)) -# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s)) -# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s)) -# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s)) -# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s)) -# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s)) -# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s)) -# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s)) -# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s)) -# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s)) -# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s)) -# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s)) -# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s)) -# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s)) -# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s)) -# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s)) -# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s)) -# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s)) -# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s)) -# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s)) -# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s)) -# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s)) -# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s)) -# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s)) -# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s)) -# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s)) -# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s)) -# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s)) -# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s)) -# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s)) -# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s)) -# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s)) -# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s)) -# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s)) -# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s)) -# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s)) -# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s)) -# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s)) -# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s)) -# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s)) -# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s)) -# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s)) -# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s)) -# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s)) -# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s)) -# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s)) -# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s)) -# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s)) -# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s)) -# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s)) -# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s)) -# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s)) -# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s)) -# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s)) -# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s)) -# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s)) -# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s)) -# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s)) -# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s)) -# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s)) -# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s)) -# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s)) -# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s)) -# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s)) -# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s)) -# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s)) -# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s)) -# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s)) -# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s)) -# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s)) -# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s)) -# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s)) -# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s)) -# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s)) -# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_512.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_512.hpp deleted file mode 100644 index 72b4817154..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/limits/while_512.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_512_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_512_HPP -# -# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_WHILE_257_C(BOOST_PP_BOOL(p(258, s)), p, o, s) -# define BOOST_PP_WHILE_258(p, o, s) BOOST_PP_WHILE_258_C(BOOST_PP_BOOL(p(259, s)), p, o, s) -# define BOOST_PP_WHILE_259(p, o, s) BOOST_PP_WHILE_259_C(BOOST_PP_BOOL(p(260, s)), p, o, s) -# define BOOST_PP_WHILE_260(p, o, s) BOOST_PP_WHILE_260_C(BOOST_PP_BOOL(p(261, s)), p, o, s) -# define BOOST_PP_WHILE_261(p, o, s) BOOST_PP_WHILE_261_C(BOOST_PP_BOOL(p(262, s)), p, o, s) -# define BOOST_PP_WHILE_262(p, o, s) BOOST_PP_WHILE_262_C(BOOST_PP_BOOL(p(263, s)), p, o, s) -# define BOOST_PP_WHILE_263(p, o, s) BOOST_PP_WHILE_263_C(BOOST_PP_BOOL(p(264, s)), p, o, s) -# define BOOST_PP_WHILE_264(p, o, s) BOOST_PP_WHILE_264_C(BOOST_PP_BOOL(p(265, s)), p, o, s) -# define BOOST_PP_WHILE_265(p, o, s) BOOST_PP_WHILE_265_C(BOOST_PP_BOOL(p(266, s)), p, o, s) -# define BOOST_PP_WHILE_266(p, o, s) BOOST_PP_WHILE_266_C(BOOST_PP_BOOL(p(267, s)), p, o, s) -# define BOOST_PP_WHILE_267(p, o, s) BOOST_PP_WHILE_267_C(BOOST_PP_BOOL(p(268, s)), p, o, s) -# define BOOST_PP_WHILE_268(p, o, s) BOOST_PP_WHILE_268_C(BOOST_PP_BOOL(p(269, s)), p, o, s) -# define BOOST_PP_WHILE_269(p, o, s) BOOST_PP_WHILE_269_C(BOOST_PP_BOOL(p(270, s)), p, o, s) -# define BOOST_PP_WHILE_270(p, o, s) BOOST_PP_WHILE_270_C(BOOST_PP_BOOL(p(271, s)), p, o, s) -# define BOOST_PP_WHILE_271(p, o, s) BOOST_PP_WHILE_271_C(BOOST_PP_BOOL(p(272, s)), p, o, s) -# define BOOST_PP_WHILE_272(p, o, s) BOOST_PP_WHILE_272_C(BOOST_PP_BOOL(p(273, s)), p, o, s) -# define BOOST_PP_WHILE_273(p, o, s) BOOST_PP_WHILE_273_C(BOOST_PP_BOOL(p(274, s)), p, o, s) -# define BOOST_PP_WHILE_274(p, o, s) BOOST_PP_WHILE_274_C(BOOST_PP_BOOL(p(275, s)), p, o, s) -# define BOOST_PP_WHILE_275(p, o, s) BOOST_PP_WHILE_275_C(BOOST_PP_BOOL(p(276, s)), p, o, s) -# define BOOST_PP_WHILE_276(p, o, s) BOOST_PP_WHILE_276_C(BOOST_PP_BOOL(p(277, s)), p, o, s) -# define BOOST_PP_WHILE_277(p, o, s) BOOST_PP_WHILE_277_C(BOOST_PP_BOOL(p(278, s)), p, o, s) -# define BOOST_PP_WHILE_278(p, o, s) BOOST_PP_WHILE_278_C(BOOST_PP_BOOL(p(279, s)), p, o, s) -# define BOOST_PP_WHILE_279(p, o, s) BOOST_PP_WHILE_279_C(BOOST_PP_BOOL(p(280, s)), p, o, s) -# define BOOST_PP_WHILE_280(p, o, s) BOOST_PP_WHILE_280_C(BOOST_PP_BOOL(p(281, s)), p, o, s) -# define BOOST_PP_WHILE_281(p, o, s) BOOST_PP_WHILE_281_C(BOOST_PP_BOOL(p(282, s)), p, o, s) -# define BOOST_PP_WHILE_282(p, o, s) BOOST_PP_WHILE_282_C(BOOST_PP_BOOL(p(283, s)), p, o, s) -# define BOOST_PP_WHILE_283(p, o, s) BOOST_PP_WHILE_283_C(BOOST_PP_BOOL(p(284, s)), p, o, s) -# define BOOST_PP_WHILE_284(p, o, s) BOOST_PP_WHILE_284_C(BOOST_PP_BOOL(p(285, s)), p, o, s) -# define BOOST_PP_WHILE_285(p, o, s) BOOST_PP_WHILE_285_C(BOOST_PP_BOOL(p(286, s)), p, o, s) -# define BOOST_PP_WHILE_286(p, o, s) BOOST_PP_WHILE_286_C(BOOST_PP_BOOL(p(287, s)), p, o, s) -# define BOOST_PP_WHILE_287(p, o, s) BOOST_PP_WHILE_287_C(BOOST_PP_BOOL(p(288, s)), p, o, s) -# define BOOST_PP_WHILE_288(p, o, s) BOOST_PP_WHILE_288_C(BOOST_PP_BOOL(p(289, s)), p, o, s) -# define BOOST_PP_WHILE_289(p, o, s) BOOST_PP_WHILE_289_C(BOOST_PP_BOOL(p(290, s)), p, o, s) -# define BOOST_PP_WHILE_290(p, o, s) BOOST_PP_WHILE_290_C(BOOST_PP_BOOL(p(291, s)), p, o, s) -# define BOOST_PP_WHILE_291(p, o, s) BOOST_PP_WHILE_291_C(BOOST_PP_BOOL(p(292, s)), p, o, s) -# define BOOST_PP_WHILE_292(p, o, s) BOOST_PP_WHILE_292_C(BOOST_PP_BOOL(p(293, s)), p, o, s) -# define BOOST_PP_WHILE_293(p, o, s) BOOST_PP_WHILE_293_C(BOOST_PP_BOOL(p(294, s)), p, o, s) -# define BOOST_PP_WHILE_294(p, o, s) BOOST_PP_WHILE_294_C(BOOST_PP_BOOL(p(295, s)), p, o, s) -# define BOOST_PP_WHILE_295(p, o, s) BOOST_PP_WHILE_295_C(BOOST_PP_BOOL(p(296, s)), p, o, s) -# define BOOST_PP_WHILE_296(p, o, s) BOOST_PP_WHILE_296_C(BOOST_PP_BOOL(p(297, s)), p, o, s) -# define BOOST_PP_WHILE_297(p, o, s) BOOST_PP_WHILE_297_C(BOOST_PP_BOOL(p(298, s)), p, o, s) -# define BOOST_PP_WHILE_298(p, o, s) BOOST_PP_WHILE_298_C(BOOST_PP_BOOL(p(299, s)), p, o, s) -# define BOOST_PP_WHILE_299(p, o, s) BOOST_PP_WHILE_299_C(BOOST_PP_BOOL(p(300, s)), p, o, s) -# define BOOST_PP_WHILE_300(p, o, s) BOOST_PP_WHILE_300_C(BOOST_PP_BOOL(p(301, s)), p, o, s) -# define BOOST_PP_WHILE_301(p, o, s) BOOST_PP_WHILE_301_C(BOOST_PP_BOOL(p(302, s)), p, o, s) -# define BOOST_PP_WHILE_302(p, o, s) BOOST_PP_WHILE_302_C(BOOST_PP_BOOL(p(303, s)), p, o, s) -# define BOOST_PP_WHILE_303(p, o, s) BOOST_PP_WHILE_303_C(BOOST_PP_BOOL(p(304, s)), p, o, s) -# define BOOST_PP_WHILE_304(p, o, s) BOOST_PP_WHILE_304_C(BOOST_PP_BOOL(p(305, s)), p, o, s) -# define BOOST_PP_WHILE_305(p, o, s) BOOST_PP_WHILE_305_C(BOOST_PP_BOOL(p(306, s)), p, o, s) -# define BOOST_PP_WHILE_306(p, o, s) BOOST_PP_WHILE_306_C(BOOST_PP_BOOL(p(307, s)), p, o, s) -# define BOOST_PP_WHILE_307(p, o, s) BOOST_PP_WHILE_307_C(BOOST_PP_BOOL(p(308, s)), p, o, s) -# define BOOST_PP_WHILE_308(p, o, s) BOOST_PP_WHILE_308_C(BOOST_PP_BOOL(p(309, s)), p, o, s) -# define BOOST_PP_WHILE_309(p, o, s) BOOST_PP_WHILE_309_C(BOOST_PP_BOOL(p(310, s)), p, o, s) -# define BOOST_PP_WHILE_310(p, o, s) BOOST_PP_WHILE_310_C(BOOST_PP_BOOL(p(311, s)), p, o, s) -# define BOOST_PP_WHILE_311(p, o, s) BOOST_PP_WHILE_311_C(BOOST_PP_BOOL(p(312, s)), p, o, s) -# define BOOST_PP_WHILE_312(p, o, s) BOOST_PP_WHILE_312_C(BOOST_PP_BOOL(p(313, s)), p, o, s) -# define BOOST_PP_WHILE_313(p, o, s) BOOST_PP_WHILE_313_C(BOOST_PP_BOOL(p(314, s)), p, o, s) -# define BOOST_PP_WHILE_314(p, o, s) BOOST_PP_WHILE_314_C(BOOST_PP_BOOL(p(315, s)), p, o, s) -# define BOOST_PP_WHILE_315(p, o, s) BOOST_PP_WHILE_315_C(BOOST_PP_BOOL(p(316, s)), p, o, s) -# define BOOST_PP_WHILE_316(p, o, s) BOOST_PP_WHILE_316_C(BOOST_PP_BOOL(p(317, s)), p, o, s) -# define BOOST_PP_WHILE_317(p, o, s) BOOST_PP_WHILE_317_C(BOOST_PP_BOOL(p(318, s)), p, o, s) -# define BOOST_PP_WHILE_318(p, o, s) BOOST_PP_WHILE_318_C(BOOST_PP_BOOL(p(319, s)), p, o, s) -# define BOOST_PP_WHILE_319(p, o, s) BOOST_PP_WHILE_319_C(BOOST_PP_BOOL(p(320, s)), p, o, s) -# define BOOST_PP_WHILE_320(p, o, s) BOOST_PP_WHILE_320_C(BOOST_PP_BOOL(p(321, s)), p, o, s) -# define BOOST_PP_WHILE_321(p, o, s) BOOST_PP_WHILE_321_C(BOOST_PP_BOOL(p(322, s)), p, o, s) -# define BOOST_PP_WHILE_322(p, o, s) BOOST_PP_WHILE_322_C(BOOST_PP_BOOL(p(323, s)), p, o, s) -# define BOOST_PP_WHILE_323(p, o, s) BOOST_PP_WHILE_323_C(BOOST_PP_BOOL(p(324, s)), p, o, s) -# define BOOST_PP_WHILE_324(p, o, s) BOOST_PP_WHILE_324_C(BOOST_PP_BOOL(p(325, s)), p, o, s) -# define BOOST_PP_WHILE_325(p, o, s) BOOST_PP_WHILE_325_C(BOOST_PP_BOOL(p(326, s)), p, o, s) -# define BOOST_PP_WHILE_326(p, o, s) BOOST_PP_WHILE_326_C(BOOST_PP_BOOL(p(327, s)), p, o, s) -# define BOOST_PP_WHILE_327(p, o, s) BOOST_PP_WHILE_327_C(BOOST_PP_BOOL(p(328, s)), p, o, s) -# define BOOST_PP_WHILE_328(p, o, s) BOOST_PP_WHILE_328_C(BOOST_PP_BOOL(p(329, s)), p, o, s) -# define BOOST_PP_WHILE_329(p, o, s) BOOST_PP_WHILE_329_C(BOOST_PP_BOOL(p(330, s)), p, o, s) -# define BOOST_PP_WHILE_330(p, o, s) BOOST_PP_WHILE_330_C(BOOST_PP_BOOL(p(331, s)), p, o, s) -# define BOOST_PP_WHILE_331(p, o, s) BOOST_PP_WHILE_331_C(BOOST_PP_BOOL(p(332, s)), p, o, s) -# define BOOST_PP_WHILE_332(p, o, s) BOOST_PP_WHILE_332_C(BOOST_PP_BOOL(p(333, s)), p, o, s) -# define BOOST_PP_WHILE_333(p, o, s) BOOST_PP_WHILE_333_C(BOOST_PP_BOOL(p(334, s)), p, o, s) -# define BOOST_PP_WHILE_334(p, o, s) BOOST_PP_WHILE_334_C(BOOST_PP_BOOL(p(335, s)), p, o, s) -# define BOOST_PP_WHILE_335(p, o, s) BOOST_PP_WHILE_335_C(BOOST_PP_BOOL(p(336, s)), p, o, s) -# define BOOST_PP_WHILE_336(p, o, s) BOOST_PP_WHILE_336_C(BOOST_PP_BOOL(p(337, s)), p, o, s) -# define BOOST_PP_WHILE_337(p, o, s) BOOST_PP_WHILE_337_C(BOOST_PP_BOOL(p(338, s)), p, o, s) -# define BOOST_PP_WHILE_338(p, o, s) BOOST_PP_WHILE_338_C(BOOST_PP_BOOL(p(339, s)), p, o, s) -# define BOOST_PP_WHILE_339(p, o, s) BOOST_PP_WHILE_339_C(BOOST_PP_BOOL(p(340, s)), p, o, s) -# define BOOST_PP_WHILE_340(p, o, s) BOOST_PP_WHILE_340_C(BOOST_PP_BOOL(p(341, s)), p, o, s) -# define BOOST_PP_WHILE_341(p, o, s) BOOST_PP_WHILE_341_C(BOOST_PP_BOOL(p(342, s)), p, o, s) -# define BOOST_PP_WHILE_342(p, o, s) BOOST_PP_WHILE_342_C(BOOST_PP_BOOL(p(343, s)), p, o, s) -# define BOOST_PP_WHILE_343(p, o, s) BOOST_PP_WHILE_343_C(BOOST_PP_BOOL(p(344, s)), p, o, s) -# define BOOST_PP_WHILE_344(p, o, s) BOOST_PP_WHILE_344_C(BOOST_PP_BOOL(p(345, s)), p, o, s) -# define BOOST_PP_WHILE_345(p, o, s) BOOST_PP_WHILE_345_C(BOOST_PP_BOOL(p(346, s)), p, o, s) -# define BOOST_PP_WHILE_346(p, o, s) BOOST_PP_WHILE_346_C(BOOST_PP_BOOL(p(347, s)), p, o, s) -# define BOOST_PP_WHILE_347(p, o, s) BOOST_PP_WHILE_347_C(BOOST_PP_BOOL(p(348, s)), p, o, s) -# define BOOST_PP_WHILE_348(p, o, s) BOOST_PP_WHILE_348_C(BOOST_PP_BOOL(p(349, s)), p, o, s) -# define BOOST_PP_WHILE_349(p, o, s) BOOST_PP_WHILE_349_C(BOOST_PP_BOOL(p(350, s)), p, o, s) -# define BOOST_PP_WHILE_350(p, o, s) BOOST_PP_WHILE_350_C(BOOST_PP_BOOL(p(351, s)), p, o, s) -# define BOOST_PP_WHILE_351(p, o, s) BOOST_PP_WHILE_351_C(BOOST_PP_BOOL(p(352, s)), p, o, s) -# define BOOST_PP_WHILE_352(p, o, s) BOOST_PP_WHILE_352_C(BOOST_PP_BOOL(p(353, s)), p, o, s) -# define BOOST_PP_WHILE_353(p, o, s) BOOST_PP_WHILE_353_C(BOOST_PP_BOOL(p(354, s)), p, o, s) -# define BOOST_PP_WHILE_354(p, o, s) BOOST_PP_WHILE_354_C(BOOST_PP_BOOL(p(355, s)), p, o, s) -# define BOOST_PP_WHILE_355(p, o, s) BOOST_PP_WHILE_355_C(BOOST_PP_BOOL(p(356, s)), p, o, s) -# define BOOST_PP_WHILE_356(p, o, s) BOOST_PP_WHILE_356_C(BOOST_PP_BOOL(p(357, s)), p, o, s) -# define BOOST_PP_WHILE_357(p, o, s) BOOST_PP_WHILE_357_C(BOOST_PP_BOOL(p(358, s)), p, o, s) -# define BOOST_PP_WHILE_358(p, o, s) BOOST_PP_WHILE_358_C(BOOST_PP_BOOL(p(359, s)), p, o, s) -# define BOOST_PP_WHILE_359(p, o, s) BOOST_PP_WHILE_359_C(BOOST_PP_BOOL(p(360, s)), p, o, s) -# define BOOST_PP_WHILE_360(p, o, s) BOOST_PP_WHILE_360_C(BOOST_PP_BOOL(p(361, s)), p, o, s) -# define BOOST_PP_WHILE_361(p, o, s) BOOST_PP_WHILE_361_C(BOOST_PP_BOOL(p(362, s)), p, o, s) -# define BOOST_PP_WHILE_362(p, o, s) BOOST_PP_WHILE_362_C(BOOST_PP_BOOL(p(363, s)), p, o, s) -# define BOOST_PP_WHILE_363(p, o, s) BOOST_PP_WHILE_363_C(BOOST_PP_BOOL(p(364, s)), p, o, s) -# define BOOST_PP_WHILE_364(p, o, s) BOOST_PP_WHILE_364_C(BOOST_PP_BOOL(p(365, s)), p, o, s) -# define BOOST_PP_WHILE_365(p, o, s) BOOST_PP_WHILE_365_C(BOOST_PP_BOOL(p(366, s)), p, o, s) -# define BOOST_PP_WHILE_366(p, o, s) BOOST_PP_WHILE_366_C(BOOST_PP_BOOL(p(367, s)), p, o, s) -# define BOOST_PP_WHILE_367(p, o, s) BOOST_PP_WHILE_367_C(BOOST_PP_BOOL(p(368, s)), p, o, s) -# define BOOST_PP_WHILE_368(p, o, s) BOOST_PP_WHILE_368_C(BOOST_PP_BOOL(p(369, s)), p, o, s) -# define BOOST_PP_WHILE_369(p, o, s) BOOST_PP_WHILE_369_C(BOOST_PP_BOOL(p(370, s)), p, o, s) -# define BOOST_PP_WHILE_370(p, o, s) BOOST_PP_WHILE_370_C(BOOST_PP_BOOL(p(371, s)), p, o, s) -# define BOOST_PP_WHILE_371(p, o, s) BOOST_PP_WHILE_371_C(BOOST_PP_BOOL(p(372, s)), p, o, s) -# define BOOST_PP_WHILE_372(p, o, s) BOOST_PP_WHILE_372_C(BOOST_PP_BOOL(p(373, s)), p, o, s) -# define BOOST_PP_WHILE_373(p, o, s) BOOST_PP_WHILE_373_C(BOOST_PP_BOOL(p(374, s)), p, o, s) -# define BOOST_PP_WHILE_374(p, o, s) BOOST_PP_WHILE_374_C(BOOST_PP_BOOL(p(375, s)), p, o, s) -# define BOOST_PP_WHILE_375(p, o, s) BOOST_PP_WHILE_375_C(BOOST_PP_BOOL(p(376, s)), p, o, s) -# define BOOST_PP_WHILE_376(p, o, s) BOOST_PP_WHILE_376_C(BOOST_PP_BOOL(p(377, s)), p, o, s) -# define BOOST_PP_WHILE_377(p, o, s) BOOST_PP_WHILE_377_C(BOOST_PP_BOOL(p(378, s)), p, o, s) -# define BOOST_PP_WHILE_378(p, o, s) BOOST_PP_WHILE_378_C(BOOST_PP_BOOL(p(379, s)), p, o, s) -# define BOOST_PP_WHILE_379(p, o, s) BOOST_PP_WHILE_379_C(BOOST_PP_BOOL(p(380, s)), p, o, s) -# define BOOST_PP_WHILE_380(p, o, s) BOOST_PP_WHILE_380_C(BOOST_PP_BOOL(p(381, s)), p, o, s) -# define BOOST_PP_WHILE_381(p, o, s) BOOST_PP_WHILE_381_C(BOOST_PP_BOOL(p(382, s)), p, o, s) -# define BOOST_PP_WHILE_382(p, o, s) BOOST_PP_WHILE_382_C(BOOST_PP_BOOL(p(383, s)), p, o, s) -# define BOOST_PP_WHILE_383(p, o, s) BOOST_PP_WHILE_383_C(BOOST_PP_BOOL(p(384, s)), p, o, s) -# define BOOST_PP_WHILE_384(p, o, s) BOOST_PP_WHILE_384_C(BOOST_PP_BOOL(p(385, s)), p, o, s) -# define BOOST_PP_WHILE_385(p, o, s) BOOST_PP_WHILE_385_C(BOOST_PP_BOOL(p(386, s)), p, o, s) -# define BOOST_PP_WHILE_386(p, o, s) BOOST_PP_WHILE_386_C(BOOST_PP_BOOL(p(387, s)), p, o, s) -# define BOOST_PP_WHILE_387(p, o, s) BOOST_PP_WHILE_387_C(BOOST_PP_BOOL(p(388, s)), p, o, s) -# define BOOST_PP_WHILE_388(p, o, s) BOOST_PP_WHILE_388_C(BOOST_PP_BOOL(p(389, s)), p, o, s) -# define BOOST_PP_WHILE_389(p, o, s) BOOST_PP_WHILE_389_C(BOOST_PP_BOOL(p(390, s)), p, o, s) -# define BOOST_PP_WHILE_390(p, o, s) BOOST_PP_WHILE_390_C(BOOST_PP_BOOL(p(391, s)), p, o, s) -# define BOOST_PP_WHILE_391(p, o, s) BOOST_PP_WHILE_391_C(BOOST_PP_BOOL(p(392, s)), p, o, s) -# define BOOST_PP_WHILE_392(p, o, s) BOOST_PP_WHILE_392_C(BOOST_PP_BOOL(p(393, s)), p, o, s) -# define BOOST_PP_WHILE_393(p, o, s) BOOST_PP_WHILE_393_C(BOOST_PP_BOOL(p(394, s)), p, o, s) -# define BOOST_PP_WHILE_394(p, o, s) BOOST_PP_WHILE_394_C(BOOST_PP_BOOL(p(395, s)), p, o, s) -# define BOOST_PP_WHILE_395(p, o, s) BOOST_PP_WHILE_395_C(BOOST_PP_BOOL(p(396, s)), p, o, s) -# define BOOST_PP_WHILE_396(p, o, s) BOOST_PP_WHILE_396_C(BOOST_PP_BOOL(p(397, s)), p, o, s) -# define BOOST_PP_WHILE_397(p, o, s) BOOST_PP_WHILE_397_C(BOOST_PP_BOOL(p(398, s)), p, o, s) -# define BOOST_PP_WHILE_398(p, o, s) BOOST_PP_WHILE_398_C(BOOST_PP_BOOL(p(399, s)), p, o, s) -# define BOOST_PP_WHILE_399(p, o, s) BOOST_PP_WHILE_399_C(BOOST_PP_BOOL(p(400, s)), p, o, s) -# define BOOST_PP_WHILE_400(p, o, s) BOOST_PP_WHILE_400_C(BOOST_PP_BOOL(p(401, s)), p, o, s) -# define BOOST_PP_WHILE_401(p, o, s) BOOST_PP_WHILE_401_C(BOOST_PP_BOOL(p(402, s)), p, o, s) -# define BOOST_PP_WHILE_402(p, o, s) BOOST_PP_WHILE_402_C(BOOST_PP_BOOL(p(403, s)), p, o, s) -# define BOOST_PP_WHILE_403(p, o, s) BOOST_PP_WHILE_403_C(BOOST_PP_BOOL(p(404, s)), p, o, s) -# define BOOST_PP_WHILE_404(p, o, s) BOOST_PP_WHILE_404_C(BOOST_PP_BOOL(p(405, s)), p, o, s) -# define BOOST_PP_WHILE_405(p, o, s) BOOST_PP_WHILE_405_C(BOOST_PP_BOOL(p(406, s)), p, o, s) -# define BOOST_PP_WHILE_406(p, o, s) BOOST_PP_WHILE_406_C(BOOST_PP_BOOL(p(407, s)), p, o, s) -# define BOOST_PP_WHILE_407(p, o, s) BOOST_PP_WHILE_407_C(BOOST_PP_BOOL(p(408, s)), p, o, s) -# define BOOST_PP_WHILE_408(p, o, s) BOOST_PP_WHILE_408_C(BOOST_PP_BOOL(p(409, s)), p, o, s) -# define BOOST_PP_WHILE_409(p, o, s) BOOST_PP_WHILE_409_C(BOOST_PP_BOOL(p(410, s)), p, o, s) -# define BOOST_PP_WHILE_410(p, o, s) BOOST_PP_WHILE_410_C(BOOST_PP_BOOL(p(411, s)), p, o, s) -# define BOOST_PP_WHILE_411(p, o, s) BOOST_PP_WHILE_411_C(BOOST_PP_BOOL(p(412, s)), p, o, s) -# define BOOST_PP_WHILE_412(p, o, s) BOOST_PP_WHILE_412_C(BOOST_PP_BOOL(p(413, s)), p, o, s) -# define BOOST_PP_WHILE_413(p, o, s) BOOST_PP_WHILE_413_C(BOOST_PP_BOOL(p(414, s)), p, o, s) -# define BOOST_PP_WHILE_414(p, o, s) BOOST_PP_WHILE_414_C(BOOST_PP_BOOL(p(415, s)), p, o, s) -# define BOOST_PP_WHILE_415(p, o, s) BOOST_PP_WHILE_415_C(BOOST_PP_BOOL(p(416, s)), p, o, s) -# define BOOST_PP_WHILE_416(p, o, s) BOOST_PP_WHILE_416_C(BOOST_PP_BOOL(p(417, s)), p, o, s) -# define BOOST_PP_WHILE_417(p, o, s) BOOST_PP_WHILE_417_C(BOOST_PP_BOOL(p(418, s)), p, o, s) -# define BOOST_PP_WHILE_418(p, o, s) BOOST_PP_WHILE_418_C(BOOST_PP_BOOL(p(419, s)), p, o, s) -# define BOOST_PP_WHILE_419(p, o, s) BOOST_PP_WHILE_419_C(BOOST_PP_BOOL(p(420, s)), p, o, s) -# define BOOST_PP_WHILE_420(p, o, s) BOOST_PP_WHILE_420_C(BOOST_PP_BOOL(p(421, s)), p, o, s) -# define BOOST_PP_WHILE_421(p, o, s) BOOST_PP_WHILE_421_C(BOOST_PP_BOOL(p(422, s)), p, o, s) -# define BOOST_PP_WHILE_422(p, o, s) BOOST_PP_WHILE_422_C(BOOST_PP_BOOL(p(423, s)), p, o, s) -# define BOOST_PP_WHILE_423(p, o, s) BOOST_PP_WHILE_423_C(BOOST_PP_BOOL(p(424, s)), p, o, s) -# define BOOST_PP_WHILE_424(p, o, s) BOOST_PP_WHILE_424_C(BOOST_PP_BOOL(p(425, s)), p, o, s) -# define BOOST_PP_WHILE_425(p, o, s) BOOST_PP_WHILE_425_C(BOOST_PP_BOOL(p(426, s)), p, o, s) -# define BOOST_PP_WHILE_426(p, o, s) BOOST_PP_WHILE_426_C(BOOST_PP_BOOL(p(427, s)), p, o, s) -# define BOOST_PP_WHILE_427(p, o, s) BOOST_PP_WHILE_427_C(BOOST_PP_BOOL(p(428, s)), p, o, s) -# define BOOST_PP_WHILE_428(p, o, s) BOOST_PP_WHILE_428_C(BOOST_PP_BOOL(p(429, s)), p, o, s) -# define BOOST_PP_WHILE_429(p, o, s) BOOST_PP_WHILE_429_C(BOOST_PP_BOOL(p(430, s)), p, o, s) -# define BOOST_PP_WHILE_430(p, o, s) BOOST_PP_WHILE_430_C(BOOST_PP_BOOL(p(431, s)), p, o, s) -# define BOOST_PP_WHILE_431(p, o, s) BOOST_PP_WHILE_431_C(BOOST_PP_BOOL(p(432, s)), p, o, s) -# define BOOST_PP_WHILE_432(p, o, s) BOOST_PP_WHILE_432_C(BOOST_PP_BOOL(p(433, s)), p, o, s) -# define BOOST_PP_WHILE_433(p, o, s) BOOST_PP_WHILE_433_C(BOOST_PP_BOOL(p(434, s)), p, o, s) -# define BOOST_PP_WHILE_434(p, o, s) BOOST_PP_WHILE_434_C(BOOST_PP_BOOL(p(435, s)), p, o, s) -# define BOOST_PP_WHILE_435(p, o, s) BOOST_PP_WHILE_435_C(BOOST_PP_BOOL(p(436, s)), p, o, s) -# define BOOST_PP_WHILE_436(p, o, s) BOOST_PP_WHILE_436_C(BOOST_PP_BOOL(p(437, s)), p, o, s) -# define BOOST_PP_WHILE_437(p, o, s) BOOST_PP_WHILE_437_C(BOOST_PP_BOOL(p(438, s)), p, o, s) -# define BOOST_PP_WHILE_438(p, o, s) BOOST_PP_WHILE_438_C(BOOST_PP_BOOL(p(439, s)), p, o, s) -# define BOOST_PP_WHILE_439(p, o, s) BOOST_PP_WHILE_439_C(BOOST_PP_BOOL(p(440, s)), p, o, s) -# define BOOST_PP_WHILE_440(p, o, s) BOOST_PP_WHILE_440_C(BOOST_PP_BOOL(p(441, s)), p, o, s) -# define BOOST_PP_WHILE_441(p, o, s) BOOST_PP_WHILE_441_C(BOOST_PP_BOOL(p(442, s)), p, o, s) -# define BOOST_PP_WHILE_442(p, o, s) BOOST_PP_WHILE_442_C(BOOST_PP_BOOL(p(443, s)), p, o, s) -# define BOOST_PP_WHILE_443(p, o, s) BOOST_PP_WHILE_443_C(BOOST_PP_BOOL(p(444, s)), p, o, s) -# define BOOST_PP_WHILE_444(p, o, s) BOOST_PP_WHILE_444_C(BOOST_PP_BOOL(p(445, s)), p, o, s) -# define BOOST_PP_WHILE_445(p, o, s) BOOST_PP_WHILE_445_C(BOOST_PP_BOOL(p(446, s)), p, o, s) -# define BOOST_PP_WHILE_446(p, o, s) BOOST_PP_WHILE_446_C(BOOST_PP_BOOL(p(447, s)), p, o, s) -# define BOOST_PP_WHILE_447(p, o, s) BOOST_PP_WHILE_447_C(BOOST_PP_BOOL(p(448, s)), p, o, s) -# define BOOST_PP_WHILE_448(p, o, s) BOOST_PP_WHILE_448_C(BOOST_PP_BOOL(p(449, s)), p, o, s) -# define BOOST_PP_WHILE_449(p, o, s) BOOST_PP_WHILE_449_C(BOOST_PP_BOOL(p(450, s)), p, o, s) -# define BOOST_PP_WHILE_450(p, o, s) BOOST_PP_WHILE_450_C(BOOST_PP_BOOL(p(451, s)), p, o, s) -# define BOOST_PP_WHILE_451(p, o, s) BOOST_PP_WHILE_451_C(BOOST_PP_BOOL(p(452, s)), p, o, s) -# define BOOST_PP_WHILE_452(p, o, s) BOOST_PP_WHILE_452_C(BOOST_PP_BOOL(p(453, s)), p, o, s) -# define BOOST_PP_WHILE_453(p, o, s) BOOST_PP_WHILE_453_C(BOOST_PP_BOOL(p(454, s)), p, o, s) -# define BOOST_PP_WHILE_454(p, o, s) BOOST_PP_WHILE_454_C(BOOST_PP_BOOL(p(455, s)), p, o, s) -# define BOOST_PP_WHILE_455(p, o, s) BOOST_PP_WHILE_455_C(BOOST_PP_BOOL(p(456, s)), p, o, s) -# define BOOST_PP_WHILE_456(p, o, s) BOOST_PP_WHILE_456_C(BOOST_PP_BOOL(p(457, s)), p, o, s) -# define BOOST_PP_WHILE_457(p, o, s) BOOST_PP_WHILE_457_C(BOOST_PP_BOOL(p(458, s)), p, o, s) -# define BOOST_PP_WHILE_458(p, o, s) BOOST_PP_WHILE_458_C(BOOST_PP_BOOL(p(459, s)), p, o, s) -# define BOOST_PP_WHILE_459(p, o, s) BOOST_PP_WHILE_459_C(BOOST_PP_BOOL(p(460, s)), p, o, s) -# define BOOST_PP_WHILE_460(p, o, s) BOOST_PP_WHILE_460_C(BOOST_PP_BOOL(p(461, s)), p, o, s) -# define BOOST_PP_WHILE_461(p, o, s) BOOST_PP_WHILE_461_C(BOOST_PP_BOOL(p(462, s)), p, o, s) -# define BOOST_PP_WHILE_462(p, o, s) BOOST_PP_WHILE_462_C(BOOST_PP_BOOL(p(463, s)), p, o, s) -# define BOOST_PP_WHILE_463(p, o, s) BOOST_PP_WHILE_463_C(BOOST_PP_BOOL(p(464, s)), p, o, s) -# define BOOST_PP_WHILE_464(p, o, s) BOOST_PP_WHILE_464_C(BOOST_PP_BOOL(p(465, s)), p, o, s) -# define BOOST_PP_WHILE_465(p, o, s) BOOST_PP_WHILE_465_C(BOOST_PP_BOOL(p(466, s)), p, o, s) -# define BOOST_PP_WHILE_466(p, o, s) BOOST_PP_WHILE_466_C(BOOST_PP_BOOL(p(467, s)), p, o, s) -# define BOOST_PP_WHILE_467(p, o, s) BOOST_PP_WHILE_467_C(BOOST_PP_BOOL(p(468, s)), p, o, s) -# define BOOST_PP_WHILE_468(p, o, s) BOOST_PP_WHILE_468_C(BOOST_PP_BOOL(p(469, s)), p, o, s) -# define BOOST_PP_WHILE_469(p, o, s) BOOST_PP_WHILE_469_C(BOOST_PP_BOOL(p(470, s)), p, o, s) -# define BOOST_PP_WHILE_470(p, o, s) BOOST_PP_WHILE_470_C(BOOST_PP_BOOL(p(471, s)), p, o, s) -# define BOOST_PP_WHILE_471(p, o, s) BOOST_PP_WHILE_471_C(BOOST_PP_BOOL(p(472, s)), p, o, s) -# define BOOST_PP_WHILE_472(p, o, s) BOOST_PP_WHILE_472_C(BOOST_PP_BOOL(p(473, s)), p, o, s) -# define BOOST_PP_WHILE_473(p, o, s) BOOST_PP_WHILE_473_C(BOOST_PP_BOOL(p(474, s)), p, o, s) -# define BOOST_PP_WHILE_474(p, o, s) BOOST_PP_WHILE_474_C(BOOST_PP_BOOL(p(475, s)), p, o, s) -# define BOOST_PP_WHILE_475(p, o, s) BOOST_PP_WHILE_475_C(BOOST_PP_BOOL(p(476, s)), p, o, s) -# define BOOST_PP_WHILE_476(p, o, s) BOOST_PP_WHILE_476_C(BOOST_PP_BOOL(p(477, s)), p, o, s) -# define BOOST_PP_WHILE_477(p, o, s) BOOST_PP_WHILE_477_C(BOOST_PP_BOOL(p(478, s)), p, o, s) -# define BOOST_PP_WHILE_478(p, o, s) BOOST_PP_WHILE_478_C(BOOST_PP_BOOL(p(479, s)), p, o, s) -# define BOOST_PP_WHILE_479(p, o, s) BOOST_PP_WHILE_479_C(BOOST_PP_BOOL(p(480, s)), p, o, s) -# define BOOST_PP_WHILE_480(p, o, s) BOOST_PP_WHILE_480_C(BOOST_PP_BOOL(p(481, s)), p, o, s) -# define BOOST_PP_WHILE_481(p, o, s) BOOST_PP_WHILE_481_C(BOOST_PP_BOOL(p(482, s)), p, o, s) -# define BOOST_PP_WHILE_482(p, o, s) BOOST_PP_WHILE_482_C(BOOST_PP_BOOL(p(483, s)), p, o, s) -# define BOOST_PP_WHILE_483(p, o, s) BOOST_PP_WHILE_483_C(BOOST_PP_BOOL(p(484, s)), p, o, s) -# define BOOST_PP_WHILE_484(p, o, s) BOOST_PP_WHILE_484_C(BOOST_PP_BOOL(p(485, s)), p, o, s) -# define BOOST_PP_WHILE_485(p, o, s) BOOST_PP_WHILE_485_C(BOOST_PP_BOOL(p(486, s)), p, o, s) -# define BOOST_PP_WHILE_486(p, o, s) BOOST_PP_WHILE_486_C(BOOST_PP_BOOL(p(487, s)), p, o, s) -# define BOOST_PP_WHILE_487(p, o, s) BOOST_PP_WHILE_487_C(BOOST_PP_BOOL(p(488, s)), p, o, s) -# define BOOST_PP_WHILE_488(p, o, s) BOOST_PP_WHILE_488_C(BOOST_PP_BOOL(p(489, s)), p, o, s) -# define BOOST_PP_WHILE_489(p, o, s) BOOST_PP_WHILE_489_C(BOOST_PP_BOOL(p(490, s)), p, o, s) -# define BOOST_PP_WHILE_490(p, o, s) BOOST_PP_WHILE_490_C(BOOST_PP_BOOL(p(491, s)), p, o, s) -# define BOOST_PP_WHILE_491(p, o, s) BOOST_PP_WHILE_491_C(BOOST_PP_BOOL(p(492, s)), p, o, s) -# define BOOST_PP_WHILE_492(p, o, s) BOOST_PP_WHILE_492_C(BOOST_PP_BOOL(p(493, s)), p, o, s) -# define BOOST_PP_WHILE_493(p, o, s) BOOST_PP_WHILE_493_C(BOOST_PP_BOOL(p(494, s)), p, o, s) -# define BOOST_PP_WHILE_494(p, o, s) BOOST_PP_WHILE_494_C(BOOST_PP_BOOL(p(495, s)), p, o, s) -# define BOOST_PP_WHILE_495(p, o, s) BOOST_PP_WHILE_495_C(BOOST_PP_BOOL(p(496, s)), p, o, s) -# define BOOST_PP_WHILE_496(p, o, s) BOOST_PP_WHILE_496_C(BOOST_PP_BOOL(p(497, s)), p, o, s) -# define BOOST_PP_WHILE_497(p, o, s) BOOST_PP_WHILE_497_C(BOOST_PP_BOOL(p(498, s)), p, o, s) -# define BOOST_PP_WHILE_498(p, o, s) BOOST_PP_WHILE_498_C(BOOST_PP_BOOL(p(499, s)), p, o, s) -# define BOOST_PP_WHILE_499(p, o, s) BOOST_PP_WHILE_499_C(BOOST_PP_BOOL(p(500, s)), p, o, s) -# define BOOST_PP_WHILE_500(p, o, s) BOOST_PP_WHILE_500_C(BOOST_PP_BOOL(p(501, s)), p, o, s) -# define BOOST_PP_WHILE_501(p, o, s) BOOST_PP_WHILE_501_C(BOOST_PP_BOOL(p(502, s)), p, o, s) -# define BOOST_PP_WHILE_502(p, o, s) BOOST_PP_WHILE_502_C(BOOST_PP_BOOL(p(503, s)), p, o, s) -# define BOOST_PP_WHILE_503(p, o, s) BOOST_PP_WHILE_503_C(BOOST_PP_BOOL(p(504, s)), p, o, s) -# define BOOST_PP_WHILE_504(p, o, s) BOOST_PP_WHILE_504_C(BOOST_PP_BOOL(p(505, s)), p, o, s) -# define BOOST_PP_WHILE_505(p, o, s) BOOST_PP_WHILE_505_C(BOOST_PP_BOOL(p(506, s)), p, o, s) -# define BOOST_PP_WHILE_506(p, o, s) BOOST_PP_WHILE_506_C(BOOST_PP_BOOL(p(507, s)), p, o, s) -# define BOOST_PP_WHILE_507(p, o, s) BOOST_PP_WHILE_507_C(BOOST_PP_BOOL(p(508, s)), p, o, s) -# define BOOST_PP_WHILE_508(p, o, s) BOOST_PP_WHILE_508_C(BOOST_PP_BOOL(p(509, s)), p, o, s) -# define BOOST_PP_WHILE_509(p, o, s) BOOST_PP_WHILE_509_C(BOOST_PP_BOOL(p(510, s)), p, o, s) -# define BOOST_PP_WHILE_510(p, o, s) BOOST_PP_WHILE_510_C(BOOST_PP_BOOL(p(511, s)), p, o, s) -# define BOOST_PP_WHILE_511(p, o, s) BOOST_PP_WHILE_511_C(BOOST_PP_BOOL(p(512, s)), p, o, s) -# define BOOST_PP_WHILE_512(p, o, s) BOOST_PP_WHILE_512_C(BOOST_PP_BOOL(p(513, s)), p, o, s) -# -# define BOOST_PP_WHILE_257_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_258, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(258, s)) -# define BOOST_PP_WHILE_258_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_259, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(259, s)) -# define BOOST_PP_WHILE_259_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_260, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(260, s)) -# define BOOST_PP_WHILE_260_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_261, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(261, s)) -# define BOOST_PP_WHILE_261_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_262, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(262, s)) -# define BOOST_PP_WHILE_262_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_263, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(263, s)) -# define BOOST_PP_WHILE_263_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_264, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(264, s)) -# define BOOST_PP_WHILE_264_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_265, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(265, s)) -# define BOOST_PP_WHILE_265_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_266, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(266, s)) -# define BOOST_PP_WHILE_266_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_267, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(267, s)) -# define BOOST_PP_WHILE_267_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_268, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(268, s)) -# define BOOST_PP_WHILE_268_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_269, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(269, s)) -# define BOOST_PP_WHILE_269_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_270, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(270, s)) -# define BOOST_PP_WHILE_270_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_271, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(271, s)) -# define BOOST_PP_WHILE_271_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_272, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(272, s)) -# define BOOST_PP_WHILE_272_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_273, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(273, s)) -# define BOOST_PP_WHILE_273_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_274, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(274, s)) -# define BOOST_PP_WHILE_274_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_275, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(275, s)) -# define BOOST_PP_WHILE_275_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_276, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(276, s)) -# define BOOST_PP_WHILE_276_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_277, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(277, s)) -# define BOOST_PP_WHILE_277_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_278, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(278, s)) -# define BOOST_PP_WHILE_278_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_279, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(279, s)) -# define BOOST_PP_WHILE_279_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_280, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(280, s)) -# define BOOST_PP_WHILE_280_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_281, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(281, s)) -# define BOOST_PP_WHILE_281_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_282, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(282, s)) -# define BOOST_PP_WHILE_282_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_283, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(283, s)) -# define BOOST_PP_WHILE_283_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_284, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(284, s)) -# define BOOST_PP_WHILE_284_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_285, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(285, s)) -# define BOOST_PP_WHILE_285_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_286, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(286, s)) -# define BOOST_PP_WHILE_286_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_287, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(287, s)) -# define BOOST_PP_WHILE_287_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_288, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(288, s)) -# define BOOST_PP_WHILE_288_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_289, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(289, s)) -# define BOOST_PP_WHILE_289_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_290, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(290, s)) -# define BOOST_PP_WHILE_290_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_291, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(291, s)) -# define BOOST_PP_WHILE_291_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_292, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(292, s)) -# define BOOST_PP_WHILE_292_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_293, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(293, s)) -# define BOOST_PP_WHILE_293_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_294, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(294, s)) -# define BOOST_PP_WHILE_294_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_295, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(295, s)) -# define BOOST_PP_WHILE_295_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_296, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(296, s)) -# define BOOST_PP_WHILE_296_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_297, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(297, s)) -# define BOOST_PP_WHILE_297_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_298, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(298, s)) -# define BOOST_PP_WHILE_298_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_299, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(299, s)) -# define BOOST_PP_WHILE_299_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_300, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(300, s)) -# define BOOST_PP_WHILE_300_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_301, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(301, s)) -# define BOOST_PP_WHILE_301_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_302, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(302, s)) -# define BOOST_PP_WHILE_302_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_303, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(303, s)) -# define BOOST_PP_WHILE_303_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_304, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(304, s)) -# define BOOST_PP_WHILE_304_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_305, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(305, s)) -# define BOOST_PP_WHILE_305_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_306, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(306, s)) -# define BOOST_PP_WHILE_306_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_307, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(307, s)) -# define BOOST_PP_WHILE_307_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_308, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(308, s)) -# define BOOST_PP_WHILE_308_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_309, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(309, s)) -# define BOOST_PP_WHILE_309_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_310, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(310, s)) -# define BOOST_PP_WHILE_310_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_311, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(311, s)) -# define BOOST_PP_WHILE_311_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_312, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(312, s)) -# define BOOST_PP_WHILE_312_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_313, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(313, s)) -# define BOOST_PP_WHILE_313_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_314, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(314, s)) -# define BOOST_PP_WHILE_314_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_315, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(315, s)) -# define BOOST_PP_WHILE_315_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_316, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(316, s)) -# define BOOST_PP_WHILE_316_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_317, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(317, s)) -# define BOOST_PP_WHILE_317_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_318, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(318, s)) -# define BOOST_PP_WHILE_318_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_319, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(319, s)) -# define BOOST_PP_WHILE_319_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_320, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(320, s)) -# define BOOST_PP_WHILE_320_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_321, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(321, s)) -# define BOOST_PP_WHILE_321_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_322, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(322, s)) -# define BOOST_PP_WHILE_322_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_323, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(323, s)) -# define BOOST_PP_WHILE_323_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_324, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(324, s)) -# define BOOST_PP_WHILE_324_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_325, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(325, s)) -# define BOOST_PP_WHILE_325_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_326, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(326, s)) -# define BOOST_PP_WHILE_326_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_327, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(327, s)) -# define BOOST_PP_WHILE_327_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_328, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(328, s)) -# define BOOST_PP_WHILE_328_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_329, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(329, s)) -# define BOOST_PP_WHILE_329_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_330, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(330, s)) -# define BOOST_PP_WHILE_330_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_331, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(331, s)) -# define BOOST_PP_WHILE_331_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_332, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(332, s)) -# define BOOST_PP_WHILE_332_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_333, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(333, s)) -# define BOOST_PP_WHILE_333_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_334, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(334, s)) -# define BOOST_PP_WHILE_334_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_335, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(335, s)) -# define BOOST_PP_WHILE_335_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_336, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(336, s)) -# define BOOST_PP_WHILE_336_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_337, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(337, s)) -# define BOOST_PP_WHILE_337_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_338, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(338, s)) -# define BOOST_PP_WHILE_338_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_339, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(339, s)) -# define BOOST_PP_WHILE_339_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_340, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(340, s)) -# define BOOST_PP_WHILE_340_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_341, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(341, s)) -# define BOOST_PP_WHILE_341_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_342, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(342, s)) -# define BOOST_PP_WHILE_342_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_343, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(343, s)) -# define BOOST_PP_WHILE_343_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_344, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(344, s)) -# define BOOST_PP_WHILE_344_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_345, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(345, s)) -# define BOOST_PP_WHILE_345_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_346, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(346, s)) -# define BOOST_PP_WHILE_346_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_347, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(347, s)) -# define BOOST_PP_WHILE_347_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_348, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(348, s)) -# define BOOST_PP_WHILE_348_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_349, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(349, s)) -# define BOOST_PP_WHILE_349_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_350, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(350, s)) -# define BOOST_PP_WHILE_350_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_351, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(351, s)) -# define BOOST_PP_WHILE_351_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_352, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(352, s)) -# define BOOST_PP_WHILE_352_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_353, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(353, s)) -# define BOOST_PP_WHILE_353_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_354, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(354, s)) -# define BOOST_PP_WHILE_354_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_355, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(355, s)) -# define BOOST_PP_WHILE_355_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_356, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(356, s)) -# define BOOST_PP_WHILE_356_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_357, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(357, s)) -# define BOOST_PP_WHILE_357_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_358, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(358, s)) -# define BOOST_PP_WHILE_358_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_359, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(359, s)) -# define BOOST_PP_WHILE_359_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_360, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(360, s)) -# define BOOST_PP_WHILE_360_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_361, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(361, s)) -# define BOOST_PP_WHILE_361_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_362, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(362, s)) -# define BOOST_PP_WHILE_362_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_363, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(363, s)) -# define BOOST_PP_WHILE_363_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_364, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(364, s)) -# define BOOST_PP_WHILE_364_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_365, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(365, s)) -# define BOOST_PP_WHILE_365_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_366, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(366, s)) -# define BOOST_PP_WHILE_366_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_367, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(367, s)) -# define BOOST_PP_WHILE_367_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_368, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(368, s)) -# define BOOST_PP_WHILE_368_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_369, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(369, s)) -# define BOOST_PP_WHILE_369_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_370, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(370, s)) -# define BOOST_PP_WHILE_370_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_371, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(371, s)) -# define BOOST_PP_WHILE_371_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_372, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(372, s)) -# define BOOST_PP_WHILE_372_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_373, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(373, s)) -# define BOOST_PP_WHILE_373_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_374, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(374, s)) -# define BOOST_PP_WHILE_374_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_375, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(375, s)) -# define BOOST_PP_WHILE_375_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_376, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(376, s)) -# define BOOST_PP_WHILE_376_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_377, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(377, s)) -# define BOOST_PP_WHILE_377_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_378, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(378, s)) -# define BOOST_PP_WHILE_378_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_379, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(379, s)) -# define BOOST_PP_WHILE_379_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_380, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(380, s)) -# define BOOST_PP_WHILE_380_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_381, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(381, s)) -# define BOOST_PP_WHILE_381_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_382, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(382, s)) -# define BOOST_PP_WHILE_382_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_383, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(383, s)) -# define BOOST_PP_WHILE_383_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_384, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(384, s)) -# define BOOST_PP_WHILE_384_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_385, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(385, s)) -# define BOOST_PP_WHILE_385_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_386, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(386, s)) -# define BOOST_PP_WHILE_386_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_387, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(387, s)) -# define BOOST_PP_WHILE_387_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_388, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(388, s)) -# define BOOST_PP_WHILE_388_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_389, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(389, s)) -# define BOOST_PP_WHILE_389_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_390, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(390, s)) -# define BOOST_PP_WHILE_390_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_391, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(391, s)) -# define BOOST_PP_WHILE_391_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_392, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(392, s)) -# define BOOST_PP_WHILE_392_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_393, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(393, s)) -# define BOOST_PP_WHILE_393_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_394, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(394, s)) -# define BOOST_PP_WHILE_394_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_395, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(395, s)) -# define BOOST_PP_WHILE_395_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_396, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(396, s)) -# define BOOST_PP_WHILE_396_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_397, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(397, s)) -# define BOOST_PP_WHILE_397_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_398, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(398, s)) -# define BOOST_PP_WHILE_398_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_399, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(399, s)) -# define BOOST_PP_WHILE_399_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_400, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(400, s)) -# define BOOST_PP_WHILE_400_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_401, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(401, s)) -# define BOOST_PP_WHILE_401_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_402, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(402, s)) -# define BOOST_PP_WHILE_402_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_403, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(403, s)) -# define BOOST_PP_WHILE_403_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_404, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(404, s)) -# define BOOST_PP_WHILE_404_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_405, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(405, s)) -# define BOOST_PP_WHILE_405_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_406, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(406, s)) -# define BOOST_PP_WHILE_406_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_407, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(407, s)) -# define BOOST_PP_WHILE_407_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_408, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(408, s)) -# define BOOST_PP_WHILE_408_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_409, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(409, s)) -# define BOOST_PP_WHILE_409_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_410, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(410, s)) -# define BOOST_PP_WHILE_410_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_411, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(411, s)) -# define BOOST_PP_WHILE_411_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_412, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(412, s)) -# define BOOST_PP_WHILE_412_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_413, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(413, s)) -# define BOOST_PP_WHILE_413_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_414, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(414, s)) -# define BOOST_PP_WHILE_414_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_415, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(415, s)) -# define BOOST_PP_WHILE_415_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_416, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(416, s)) -# define BOOST_PP_WHILE_416_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_417, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(417, s)) -# define BOOST_PP_WHILE_417_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_418, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(418, s)) -# define BOOST_PP_WHILE_418_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_419, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(419, s)) -# define BOOST_PP_WHILE_419_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_420, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(420, s)) -# define BOOST_PP_WHILE_420_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_421, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(421, s)) -# define BOOST_PP_WHILE_421_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_422, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(422, s)) -# define BOOST_PP_WHILE_422_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_423, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(423, s)) -# define BOOST_PP_WHILE_423_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_424, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(424, s)) -# define BOOST_PP_WHILE_424_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_425, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(425, s)) -# define BOOST_PP_WHILE_425_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_426, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(426, s)) -# define BOOST_PP_WHILE_426_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_427, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(427, s)) -# define BOOST_PP_WHILE_427_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_428, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(428, s)) -# define BOOST_PP_WHILE_428_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_429, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(429, s)) -# define BOOST_PP_WHILE_429_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_430, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(430, s)) -# define BOOST_PP_WHILE_430_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_431, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(431, s)) -# define BOOST_PP_WHILE_431_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_432, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(432, s)) -# define BOOST_PP_WHILE_432_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_433, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(433, s)) -# define BOOST_PP_WHILE_433_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_434, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(434, s)) -# define BOOST_PP_WHILE_434_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_435, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(435, s)) -# define BOOST_PP_WHILE_435_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_436, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(436, s)) -# define BOOST_PP_WHILE_436_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_437, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(437, s)) -# define BOOST_PP_WHILE_437_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_438, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(438, s)) -# define BOOST_PP_WHILE_438_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_439, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(439, s)) -# define BOOST_PP_WHILE_439_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_440, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(440, s)) -# define BOOST_PP_WHILE_440_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_441, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(441, s)) -# define BOOST_PP_WHILE_441_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_442, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(442, s)) -# define BOOST_PP_WHILE_442_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_443, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(443, s)) -# define BOOST_PP_WHILE_443_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_444, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(444, s)) -# define BOOST_PP_WHILE_444_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_445, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(445, s)) -# define BOOST_PP_WHILE_445_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_446, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(446, s)) -# define BOOST_PP_WHILE_446_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_447, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(447, s)) -# define BOOST_PP_WHILE_447_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_448, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(448, s)) -# define BOOST_PP_WHILE_448_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_449, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(449, s)) -# define BOOST_PP_WHILE_449_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_450, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(450, s)) -# define BOOST_PP_WHILE_450_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_451, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(451, s)) -# define BOOST_PP_WHILE_451_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_452, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(452, s)) -# define BOOST_PP_WHILE_452_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_453, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(453, s)) -# define BOOST_PP_WHILE_453_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_454, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(454, s)) -# define BOOST_PP_WHILE_454_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_455, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(455, s)) -# define BOOST_PP_WHILE_455_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_456, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(456, s)) -# define BOOST_PP_WHILE_456_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_457, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(457, s)) -# define BOOST_PP_WHILE_457_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_458, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(458, s)) -# define BOOST_PP_WHILE_458_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_459, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(459, s)) -# define BOOST_PP_WHILE_459_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_460, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(460, s)) -# define BOOST_PP_WHILE_460_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_461, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(461, s)) -# define BOOST_PP_WHILE_461_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_462, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(462, s)) -# define BOOST_PP_WHILE_462_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_463, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(463, s)) -# define BOOST_PP_WHILE_463_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_464, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(464, s)) -# define BOOST_PP_WHILE_464_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_465, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(465, s)) -# define BOOST_PP_WHILE_465_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_466, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(466, s)) -# define BOOST_PP_WHILE_466_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_467, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(467, s)) -# define BOOST_PP_WHILE_467_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_468, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(468, s)) -# define BOOST_PP_WHILE_468_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_469, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(469, s)) -# define BOOST_PP_WHILE_469_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_470, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(470, s)) -# define BOOST_PP_WHILE_470_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_471, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(471, s)) -# define BOOST_PP_WHILE_471_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_472, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(472, s)) -# define BOOST_PP_WHILE_472_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_473, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(473, s)) -# define BOOST_PP_WHILE_473_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_474, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(474, s)) -# define BOOST_PP_WHILE_474_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_475, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(475, s)) -# define BOOST_PP_WHILE_475_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_476, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(476, s)) -# define BOOST_PP_WHILE_476_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_477, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(477, s)) -# define BOOST_PP_WHILE_477_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_478, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(478, s)) -# define BOOST_PP_WHILE_478_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_479, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(479, s)) -# define BOOST_PP_WHILE_479_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_480, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(480, s)) -# define BOOST_PP_WHILE_480_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_481, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(481, s)) -# define BOOST_PP_WHILE_481_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_482, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(482, s)) -# define BOOST_PP_WHILE_482_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_483, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(483, s)) -# define BOOST_PP_WHILE_483_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_484, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(484, s)) -# define BOOST_PP_WHILE_484_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_485, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(485, s)) -# define BOOST_PP_WHILE_485_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_486, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(486, s)) -# define BOOST_PP_WHILE_486_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_487, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(487, s)) -# define BOOST_PP_WHILE_487_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_488, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(488, s)) -# define BOOST_PP_WHILE_488_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_489, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(489, s)) -# define BOOST_PP_WHILE_489_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_490, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(490, s)) -# define BOOST_PP_WHILE_490_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_491, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(491, s)) -# define BOOST_PP_WHILE_491_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_492, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(492, s)) -# define BOOST_PP_WHILE_492_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_493, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(493, s)) -# define BOOST_PP_WHILE_493_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_494, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(494, s)) -# define BOOST_PP_WHILE_494_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_495, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(495, s)) -# define BOOST_PP_WHILE_495_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_496, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(496, s)) -# define BOOST_PP_WHILE_496_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_497, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(497, s)) -# define BOOST_PP_WHILE_497_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_498, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(498, s)) -# define BOOST_PP_WHILE_498_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_499, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(499, s)) -# define BOOST_PP_WHILE_499_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_500, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(500, s)) -# define BOOST_PP_WHILE_500_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_501, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(501, s)) -# define BOOST_PP_WHILE_501_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_502, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(502, s)) -# define BOOST_PP_WHILE_502_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_503, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(503, s)) -# define BOOST_PP_WHILE_503_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_504, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(504, s)) -# define BOOST_PP_WHILE_504_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_505, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(505, s)) -# define BOOST_PP_WHILE_505_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_506, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(506, s)) -# define BOOST_PP_WHILE_506_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_507, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(507, s)) -# define BOOST_PP_WHILE_507_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_508, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(508, s)) -# define BOOST_PP_WHILE_508_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_509, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(509, s)) -# define BOOST_PP_WHILE_509_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_510, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(510, s)) -# define BOOST_PP_WHILE_510_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_511, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(511, s)) -# define BOOST_PP_WHILE_511_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_512, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(512, s)) -# define BOOST_PP_WHILE_512_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_513, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(513, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/msvc/while.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/msvc/while.hpp deleted file mode 100644 index e543e41b71..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/msvc/while.hpp +++ /dev/null @@ -1,277 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP -# -# include -# include -# -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/detail/while.hpp b/external/include/boost_1_75/boost/preprocessor/control/detail/while.hpp deleted file mode 100644 index faa056fc36..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/detail/while.hpp +++ /dev/null @@ -1,563 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# -# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s) -# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s) -# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s) -# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s) -# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s) -# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s) -# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s) -# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s) -# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s) -# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s) -# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s) -# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s) -# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s) -# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s) -# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s) -# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s) -# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s) -# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s) -# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s) -# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s) -# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s) -# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s) -# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s) -# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s) -# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s) -# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s) -# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s) -# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s) -# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s) -# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s) -# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s) -# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s) -# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s) -# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s) -# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s) -# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s) -# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s) -# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s) -# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s) -# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s) -# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s) -# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s) -# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s) -# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s) -# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s) -# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s) -# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s) -# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s) -# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s) -# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s) -# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s) -# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s) -# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s) -# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s) -# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s) -# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s) -# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s) -# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s) -# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s) -# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s) -# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s) -# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s) -# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s) -# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s) -# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s) -# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s) -# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s) -# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s) -# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s) -# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s) -# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s) -# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s) -# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s) -# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s) -# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s) -# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s) -# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s) -# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s) -# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s) -# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s) -# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s) -# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s) -# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s) -# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s) -# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s) -# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s) -# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s) -# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s) -# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s) -# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s) -# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s) -# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s) -# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s) -# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s) -# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s) -# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s) -# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s) -# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s) -# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s) -# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s) -# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s) -# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s) -# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s) -# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s) -# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s) -# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s) -# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s) -# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s) -# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s) -# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s) -# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s) -# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s) -# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s) -# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s) -# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s) -# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s) -# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s) -# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s) -# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s) -# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s) -# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s) -# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s) -# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s) -# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s) -# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s) -# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s) -# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s) -# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s) -# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s) -# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s) -# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s) -# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s) -# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s) -# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s) -# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s) -# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s) -# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s) -# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s) -# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s) -# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s) -# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s) -# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s) -# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s) -# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s) -# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s) -# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s) -# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s) -# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s) -# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s) -# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s) -# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s) -# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s) -# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s) -# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s) -# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s) -# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s) -# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s) -# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s) -# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s) -# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s) -# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s) -# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s) -# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s) -# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s) -# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s) -# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s) -# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s) -# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s) -# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s) -# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s) -# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s) -# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s) -# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s) -# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s) -# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s) -# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s) -# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s) -# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s) -# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s) -# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s) -# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s) -# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s) -# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s) -# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s) -# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s) -# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s) -# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s) -# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s) -# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s) -# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s) -# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s) -# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s) -# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s) -# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s) -# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s) -# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s) -# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s) -# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s) -# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s) -# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s) -# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s) -# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s) -# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s) -# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s) -# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s) -# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s) -# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s) -# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s) -# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s) -# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s) -# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s) -# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s) -# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s) -# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s) -# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s) -# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s) -# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s) -# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s) -# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s) -# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s) -# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s) -# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s) -# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s) -# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s) -# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s) -# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s) -# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s) -# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s) -# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s) -# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s) -# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s) -# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s) -# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s) -# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s) -# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s) -# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s) -# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s) -# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s) -# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s) -# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s) -# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s) -# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s) -# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s) -# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s) -# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s) -# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s) -# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s) -# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s) -# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s) -# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s) -# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s) -# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s) -# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s) -# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s) -# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s) -# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s) -# -# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s)) -# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s)) -# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s)) -# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s)) -# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s)) -# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s)) -# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s)) -# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s)) -# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s)) -# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s)) -# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s)) -# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s)) -# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s)) -# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s)) -# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s)) -# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s)) -# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s)) -# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s)) -# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s)) -# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s)) -# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s)) -# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s)) -# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s)) -# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s)) -# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s)) -# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s)) -# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s)) -# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s)) -# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s)) -# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s)) -# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s)) -# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s)) -# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s)) -# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s)) -# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s)) -# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s)) -# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s)) -# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s)) -# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s)) -# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s)) -# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s)) -# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s)) -# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s)) -# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s)) -# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s)) -# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s)) -# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s)) -# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s)) -# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s)) -# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s)) -# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s)) -# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s)) -# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s)) -# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s)) -# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s)) -# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s)) -# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s)) -# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s)) -# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s)) -# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s)) -# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s)) -# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s)) -# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s)) -# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s)) -# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s)) -# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s)) -# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s)) -# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s)) -# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s)) -# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s)) -# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s)) -# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s)) -# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s)) -# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s)) -# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s)) -# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s)) -# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s)) -# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s)) -# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s)) -# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s)) -# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s)) -# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s)) -# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s)) -# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s)) -# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s)) -# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s)) -# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s)) -# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s)) -# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s)) -# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s)) -# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s)) -# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s)) -# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s)) -# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s)) -# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s)) -# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s)) -# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s)) -# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s)) -# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s)) -# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s)) -# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s)) -# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s)) -# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s)) -# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s)) -# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s)) -# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s)) -# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s)) -# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s)) -# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s)) -# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s)) -# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s)) -# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s)) -# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s)) -# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s)) -# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s)) -# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s)) -# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s)) -# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s)) -# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s)) -# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s)) -# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s)) -# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s)) -# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s)) -# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s)) -# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s)) -# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s)) -# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s)) -# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s)) -# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s)) -# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s)) -# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s)) -# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s)) -# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s)) -# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s)) -# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s)) -# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s)) -# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s)) -# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s)) -# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s)) -# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s)) -# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s)) -# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s)) -# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s)) -# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s)) -# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s)) -# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s)) -# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s)) -# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s)) -# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s)) -# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s)) -# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s)) -# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s)) -# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s)) -# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s)) -# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s)) -# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s)) -# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s)) -# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s)) -# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s)) -# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s)) -# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s)) -# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s)) -# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s)) -# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s)) -# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s)) -# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s)) -# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s)) -# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s)) -# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s)) -# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s)) -# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s)) -# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s)) -# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s)) -# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s)) -# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s)) -# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s)) -# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s)) -# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s)) -# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s)) -# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s)) -# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s)) -# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s)) -# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s)) -# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s)) -# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s)) -# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s)) -# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s)) -# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s)) -# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s)) -# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s)) -# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s)) -# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s)) -# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s)) -# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s)) -# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s)) -# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s)) -# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s)) -# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s)) -# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s)) -# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s)) -# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s)) -# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s)) -# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s)) -# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s)) -# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s)) -# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s)) -# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s)) -# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s)) -# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s)) -# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s)) -# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s)) -# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s)) -# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s)) -# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s)) -# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s)) -# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s)) -# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s)) -# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s)) -# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s)) -# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s)) -# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s)) -# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s)) -# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s)) -# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s)) -# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s)) -# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s)) -# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s)) -# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s)) -# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s)) -# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s)) -# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s)) -# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s)) -# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s)) -# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s)) -# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s)) -# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s)) -# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s)) -# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s)) -# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s)) -# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s)) -# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s)) -# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s)) -# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s)) -# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s)) -# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s)) -# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s)) -# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s)) -# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s)) -# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s)) -# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s)) -# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s)) -# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s)) -# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s)) -# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s)) -# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s)) -# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s)) -# -# else -# -# include -# include -# include -# -# include -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/if.hpp b/external/include/boost_1_75/boost/preprocessor/control/if.hpp deleted file mode 100644 index 52cfc3dabb..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/if.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP -# define BOOST_PREPROCESSOR_CONTROL_IF_HPP -# -# include -# include -# include -# -# /* BOOST_PP_IF */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) -# else -# define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f) -# define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/limits/while_1024.hpp b/external/include/boost_1_75/boost/preprocessor/control/limits/while_1024.hpp deleted file mode 100644 index e064bbb4d2..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/limits/while_1024.hpp +++ /dev/null @@ -1,531 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_1024_HPP -# define BOOST_PREPROCESSOR_CONTROL_WHILE_1024_HPP -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_513(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_514(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_515(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_516(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_517(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_518(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_519(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_520(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_521(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_522(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_523(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_524(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_525(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_526(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_527(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_528(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_529(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_530(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_531(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_532(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_533(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_534(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_535(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_536(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_537(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_538(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_539(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_540(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_541(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_542(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_543(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_544(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_545(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_546(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_547(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_548(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_549(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_550(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_551(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_552(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_553(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_554(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_555(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_556(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_557(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_558(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_559(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_560(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_561(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_562(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_563(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_564(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_565(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_566(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_567(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_568(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_569(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_570(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_571(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_572(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_573(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_574(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_575(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_576(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_577(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_578(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_579(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_580(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_581(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_582(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_583(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_584(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_585(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_586(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_587(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_588(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_589(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_590(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_591(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_592(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_593(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_594(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_595(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_596(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_597(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_598(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_599(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_600(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_601(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_602(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_603(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_604(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_605(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_606(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_607(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_608(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_609(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_610(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_611(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_612(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_613(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_614(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_615(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_616(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_617(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_618(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_619(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_620(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_621(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_622(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_623(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_624(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_625(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_626(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_627(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_628(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_629(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_630(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_631(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_632(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_633(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_634(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_635(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_636(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_637(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_638(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_639(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_640(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_641(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_642(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_643(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_644(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_645(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_646(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_647(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_648(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_649(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_650(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_651(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_652(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_653(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_654(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_655(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_656(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_657(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_658(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_659(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_660(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_661(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_662(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_663(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_664(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_665(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_666(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_667(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_668(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_669(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_670(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_671(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_672(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_673(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_674(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_675(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_676(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_677(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_678(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_679(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_680(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_681(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_682(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_683(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_684(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_685(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_686(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_687(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_688(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_689(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_690(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_691(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_692(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_693(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_694(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_695(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_696(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_697(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_698(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_699(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_700(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_701(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_702(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_703(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_704(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_705(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_706(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_707(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_708(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_709(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_710(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_711(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_712(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_713(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_714(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_715(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_716(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_717(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_718(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_719(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_720(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_721(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_722(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_723(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_724(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_725(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_726(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_727(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_728(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_729(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_730(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_731(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_732(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_733(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_734(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_735(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_736(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_737(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_738(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_739(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_740(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_741(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_742(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_743(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_744(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_745(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_746(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_747(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_748(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_749(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_750(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_751(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_752(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_753(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_754(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_755(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_756(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_757(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_758(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_759(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_760(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_761(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_762(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_763(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_764(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_765(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_766(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_767(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_768(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_769(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_770(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_771(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_772(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_773(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_774(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_775(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_776(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_777(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_778(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_779(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_780(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_781(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_782(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_783(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_784(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_785(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_786(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_787(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_788(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_789(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_790(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_791(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_792(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_793(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_794(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_795(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_796(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_797(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_798(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_799(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_800(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_801(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_802(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_803(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_804(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_805(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_806(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_807(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_808(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_809(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_810(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_811(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_812(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_813(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_814(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_815(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_816(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_817(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_818(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_819(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_820(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_821(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_822(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_823(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_824(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_825(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_826(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_827(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_828(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_829(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_830(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_831(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_832(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_833(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_834(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_835(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_836(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_837(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_838(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_839(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_840(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_841(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_842(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_843(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_844(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_845(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_846(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_847(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_848(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_849(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_850(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_851(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_852(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_853(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_854(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_855(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_856(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_857(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_858(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_859(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_860(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_861(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_862(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_863(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_864(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_865(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_866(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_867(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_868(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_869(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_870(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_871(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_872(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_873(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_874(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_875(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_876(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_877(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_878(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_879(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_880(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_881(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_882(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_883(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_884(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_885(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_886(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_887(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_888(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_889(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_890(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_891(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_892(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_893(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_894(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_895(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_896(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_897(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_898(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_899(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_900(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_901(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_902(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_903(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_904(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_905(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_906(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_907(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_908(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_909(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_910(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_911(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_912(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_913(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_914(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_915(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_916(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_917(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_918(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_919(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_920(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_921(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_922(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_923(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_924(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_925(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_926(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_927(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_928(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_929(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_930(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_931(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_932(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_933(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_934(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_935(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_936(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_937(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_938(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_939(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_940(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_941(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_942(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_943(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_944(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_945(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_946(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_947(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_948(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_949(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_950(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_951(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_952(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_953(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_954(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_955(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_956(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_957(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_958(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_959(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_960(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_961(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_962(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_963(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_964(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_965(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_966(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_967(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_968(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_969(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_970(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_971(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_972(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_973(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_974(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_975(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_976(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_977(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_978(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_979(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_980(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_981(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_982(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_983(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_984(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_985(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_986(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_987(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_988(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_989(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_990(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_991(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_992(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_993(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_994(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_995(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_996(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_997(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_998(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_999(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1000(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1001(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1002(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1003(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1004(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1005(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1006(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1007(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1008(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1009(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1010(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1011(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1012(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1013(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1014(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1015(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1016(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1017(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1018(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1019(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1020(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1021(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1022(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1023(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1024(p, o, s) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/limits/while_256.hpp b/external/include/boost_1_75/boost/preprocessor/control/limits/while_256.hpp deleted file mode 100644 index 11ef91d3ca..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/limits/while_256.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_256_HPP -# define BOOST_PREPROCESSOR_CONTROL_WHILE_256_HPP -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_0(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/limits/while_512.hpp b/external/include/boost_1_75/boost/preprocessor/control/limits/while_512.hpp deleted file mode 100644 index 02e46dcbd7..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/limits/while_512.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_512_HPP -# define BOOST_PREPROCESSOR_CONTROL_WHILE_512_HPP -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_257(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_258(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_259(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_260(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_261(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_262(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_263(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_264(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_265(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_266(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_267(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_268(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_269(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_270(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_271(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_272(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_273(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_274(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_275(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_276(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_277(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_278(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_279(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_280(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_281(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_282(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_283(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_284(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_285(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_286(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_287(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_288(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_289(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_290(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_291(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_292(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_293(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_294(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_295(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_296(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_297(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_298(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_299(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_300(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_301(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_302(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_303(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_304(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_305(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_306(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_307(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_308(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_309(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_310(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_311(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_312(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_313(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_314(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_315(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_316(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_317(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_318(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_319(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_320(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_321(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_322(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_323(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_324(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_325(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_326(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_327(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_328(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_329(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_330(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_331(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_332(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_333(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_334(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_335(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_336(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_337(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_338(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_339(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_340(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_341(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_342(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_343(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_344(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_345(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_346(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_347(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_348(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_349(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_350(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_351(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_352(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_353(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_354(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_355(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_356(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_357(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_358(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_359(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_360(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_361(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_362(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_363(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_364(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_365(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_366(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_367(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_368(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_369(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_370(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_371(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_372(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_373(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_374(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_375(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_376(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_377(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_378(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_379(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_380(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_381(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_382(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_383(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_384(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_385(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_386(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_387(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_388(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_389(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_390(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_391(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_392(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_393(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_394(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_395(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_396(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_397(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_398(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_399(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_400(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_401(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_402(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_403(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_404(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_405(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_406(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_407(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_408(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_409(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_410(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_411(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_412(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_413(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_414(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_415(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_416(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_417(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_418(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_419(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_420(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_421(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_422(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_423(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_424(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_425(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_426(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_427(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_428(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_429(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_430(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_431(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_432(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_433(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_434(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_435(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_436(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_437(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_438(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_439(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_440(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_441(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_442(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_443(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_444(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_445(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_446(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_447(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_448(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_449(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_450(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_451(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_452(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_453(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_454(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_455(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_456(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_457(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_458(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_459(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_460(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_461(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_462(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_463(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_464(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_465(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_466(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_467(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_468(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_469(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_470(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_471(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_472(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_473(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_474(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_475(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_476(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_477(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_478(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_479(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_480(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_481(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_482(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_483(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_484(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_485(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_486(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_487(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_488(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_489(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_490(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_491(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_492(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_493(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_494(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_495(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_496(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_497(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_498(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_499(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_500(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_501(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_502(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_503(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_504(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_505(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_506(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_507(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_508(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_509(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_510(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_511(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_512(p, o, s) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/while.hpp b/external/include/boost_1_75/boost/preprocessor/control/while.hpp deleted file mode 100644 index a8a3ebb153..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/control/while.hpp +++ /dev/null @@ -1,387 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP -# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_WHILE */ -# -# if 0 -# define BOOST_PP_WHILE(pred, op, state) -# endif -# -# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))) -# else -# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))) -# endif -# -# define BOOST_PP_WHILE_F(d, _) 0 -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001) -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0 -# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0 -# -# else -# -# include -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_WHILE */ -# -# if 0 -# define BOOST_PP_WHILE(pred, op, state) -# endif -# -# if BOOST_PP_LIMIT_WHILE == 256 -# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))) -# elif BOOST_PP_LIMIT_WHILE == 512 -# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 512))) -# elif BOOST_PP_LIMIT_WHILE == 1024 -# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 1024))) -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# define BOOST_PP_WHILE_P(n) BOOST_PP_WHILE_P_DEC(BOOST_PP_DEC(n)) -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_WHILE_P_DEC(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_CAT(BOOST_PP_WHILE_ , n)(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_ , n)(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_ , n)(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))) -# else -# define BOOST_PP_WHILE_P_DEC(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_CAT(BOOST_PP_WHILE_ , n)(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_ , n)(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))) -# endif -# -# define BOOST_PP_WHILE_F(d, _) 0 -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# if BOOST_PP_LIMIT_WHILE == 256 -# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001) -# elif BOOST_PP_LIMIT_WHILE == 512 -# define BOOST_PP_WHILE_513(p, o, s) BOOST_PP_ERROR(0x0001) -# elif BOOST_PP_LIMIT_WHILE == 1024 -# define BOOST_PP_WHILE_1025(p, o, s) BOOST_PP_ERROR(0x0001) -# endif -# -# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1 -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/debug/error.hpp b/external/include/boost_1_75/boost/preprocessor/debug/error.hpp deleted file mode 100644 index c8ae5e7505..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/debug/error.hpp +++ /dev/null @@ -1,33 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP -# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP -# -# include -# include -# -# /* BOOST_PP_ERROR */ -# -# if BOOST_PP_CONFIG_ERRORS -# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code) -# endif -# -# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS) -# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW) -# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW) -# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW) -# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW) -# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW) -# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW) -# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/dec.hpp b/external/include/boost_1_75/boost/preprocessor/dec.hpp deleted file mode 100644 index d57206470b..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/dec.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DEC_HPP -# define BOOST_PREPROCESSOR_DEC_HPP -# -# include -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/auto_rec.hpp b/external/include/boost_1_75/boost/preprocessor/detail/auto_rec.hpp deleted file mode 100644 index 3b1388075b..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/detail/auto_rec.hpp +++ /dev/null @@ -1,334 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# -# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP -# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP -# -# include -# -# /* BOOST_PP_AUTO_REC */ -# -# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) -# -# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) -# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) -# -# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) -# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) -# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) -# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) -# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) -# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) -# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) -# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2) -# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4) -# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) -# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6) -# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8) -# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) -# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) -# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10) -# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12) -# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) -# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14) -# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16) -# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) -# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) -# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) -# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18) -# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20) -# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) -# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22) -# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24) -# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) -# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) -# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26) -# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28) -# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) -# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30) -# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32) -# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) -# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) -# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) -# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) -# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34) -# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36) -# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) -# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38) -# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40) -# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) -# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) -# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42) -# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44) -# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) -# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46) -# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48) -# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) -# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) -# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) -# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50) -# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52) -# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) -# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54) -# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56) -# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) -# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) -# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58) -# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60) -# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) -# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62) -# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64) -# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) -# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) -# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) -# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) -# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) -# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66) -# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68) -# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) -# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70) -# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72) -# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) -# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) -# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74) -# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76) -# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) -# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78) -# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80) -# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) -# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) -# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) -# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82) -# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84) -# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) -# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86) -# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88) -# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) -# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) -# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90) -# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92) -# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) -# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94) -# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96) -# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) -# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) -# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) -# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) -# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98) -# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100) -# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) -# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102) -# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104) -# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) -# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) -# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106) -# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108) -# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) -# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110) -# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112) -# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) -# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) -# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) -# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114) -# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116) -# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) -# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118) -# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120) -# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) -# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) -# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122) -# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124) -# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) -# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126) -# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128) -# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) -# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) -# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) -# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) -# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) -# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) -# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130) -# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132) -# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) -# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134) -# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136) -# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) -# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) -# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138) -# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140) -# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) -# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142) -# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144) -# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) -# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) -# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) -# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146) -# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148) -# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) -# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150) -# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152) -# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) -# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) -# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154) -# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156) -# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) -# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158) -# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160) -# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) -# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) -# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) -# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) -# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162) -# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164) -# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) -# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166) -# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168) -# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) -# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) -# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170) -# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172) -# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) -# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174) -# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176) -# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) -# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) -# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) -# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178) -# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180) -# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) -# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182) -# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184) -# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) -# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) -# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186) -# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188) -# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) -# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190) -# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192) -# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) -# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) -# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) -# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) -# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) -# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194) -# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196) -# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) -# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198) -# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200) -# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) -# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) -# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202) -# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204) -# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) -# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206) -# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208) -# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) -# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) -# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) -# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210) -# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212) -# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) -# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214) -# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216) -# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) -# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) -# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218) -# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220) -# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) -# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222) -# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224) -# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) -# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) -# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) -# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) -# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226) -# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228) -# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) -# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230) -# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232) -# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) -# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) -# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234) -# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236) -# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) -# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238) -# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240) -# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) -# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) -# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) -# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242) -# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244) -# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) -# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246) -# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248) -# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) -# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) -# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250) -# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252) -# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) -# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254) -# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256) -# -# endif -# -# endif -# -# else -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# -# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP -# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP -# -# /* BOOST_PP_AUTO_REC */ -# -# include -# -# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) -# -# include -# -# if BOOST_PP_LIMIT_MAG == 256 -# include -# elif BOOST_PP_LIMIT_MAG == 512 -# include -# include -# elif BOOST_PP_LIMIT_MAG == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_MAG limit -# endif -# -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/dmc/auto_rec.hpp b/external/include/boost_1_75/boost/preprocessor/detail/dmc/auto_rec.hpp deleted file mode 100644 index 32baa19b4b..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/detail/dmc/auto_rec.hpp +++ /dev/null @@ -1,286 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_DMC_AUTO_REC_HPP -# define BOOST_PREPROCESSOR_DETAIL_DMC_AUTO_REC_HPP -# -# include -# -# /* BOOST_PP_AUTO_REC */ -# -# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) -# -# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) -# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) -# -# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) -# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) -# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) -# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) -# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) -# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) -# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) -# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2) -# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4) -# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) -# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6) -# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8) -# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) -# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) -# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10) -# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12) -# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) -# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14) -# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16) -# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) -# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) -# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) -# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18) -# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20) -# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) -# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22) -# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24) -# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) -# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) -# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26) -# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28) -# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) -# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30) -# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32) -# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) -# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) -# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) -# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) -# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34) -# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36) -# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) -# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38) -# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40) -# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) -# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) -# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42) -# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44) -# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) -# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46) -# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48) -# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) -# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) -# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) -# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50) -# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52) -# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) -# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54) -# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56) -# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) -# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) -# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58) -# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60) -# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) -# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62) -# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64) -# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) -# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) -# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) -# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) -# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) -# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66) -# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68) -# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) -# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70) -# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72) -# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) -# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) -# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74) -# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76) -# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) -# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78) -# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80) -# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) -# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) -# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) -# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82) -# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84) -# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) -# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86) -# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88) -# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) -# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) -# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90) -# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92) -# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) -# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94) -# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96) -# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) -# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) -# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) -# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) -# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98) -# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100) -# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) -# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102) -# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104) -# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) -# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) -# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106) -# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108) -# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) -# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110) -# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112) -# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) -# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) -# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) -# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114) -# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116) -# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) -# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118) -# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120) -# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) -# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) -# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122) -# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124) -# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) -# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126) -# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128) -# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) -# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) -# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) -# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) -# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) -# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) -# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130) -# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132) -# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) -# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134) -# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136) -# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) -# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) -# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138) -# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140) -# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) -# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142) -# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144) -# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) -# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) -# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) -# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146) -# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148) -# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) -# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150) -# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152) -# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) -# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) -# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154) -# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156) -# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) -# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158) -# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160) -# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) -# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) -# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) -# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) -# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162) -# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164) -# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) -# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166) -# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168) -# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) -# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) -# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170) -# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172) -# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) -# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174) -# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176) -# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) -# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) -# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) -# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178) -# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180) -# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) -# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182) -# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184) -# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) -# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) -# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186) -# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188) -# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) -# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190) -# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192) -# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) -# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) -# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) -# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) -# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) -# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194) -# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196) -# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) -# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198) -# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200) -# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) -# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) -# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202) -# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204) -# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) -# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206) -# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208) -# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) -# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) -# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) -# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210) -# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212) -# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) -# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214) -# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216) -# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) -# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) -# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218) -# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220) -# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) -# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222) -# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224) -# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) -# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) -# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) -# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) -# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226) -# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228) -# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) -# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230) -# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232) -# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) -# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) -# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234) -# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236) -# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) -# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238) -# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240) -# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) -# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) -# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) -# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242) -# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244) -# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) -# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246) -# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248) -# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) -# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) -# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250) -# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252) -# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) -# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254) -# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/empty.hpp b/external/include/boost_1_75/boost/preprocessor/empty.hpp deleted file mode 100644 index 116ef744e0..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/empty.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_EMPTY_HPP -# define BOOST_PREPROCESSOR_EMPTY_HPP -# -# include -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/detail/is_empty.hpp b/external/include/boost_1_75/boost/preprocessor/facilities/detail/is_empty.hpp deleted file mode 100644 index ce16732527..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/facilities/detail/is_empty.hpp +++ /dev/null @@ -1,55 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2014. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -#ifndef BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP -#define BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP - -#include - -#if BOOST_PP_VARIADICS_MSVC - -# pragma warning(once:4002) - -#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b -#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t - -#else - -#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__ -#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t - -#endif - -#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 - -#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(param) \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \ - ) \ -/**/ - -#else - -#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(...) \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \ - ) \ -/**/ - -#endif - -#define BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b -#define BOOST_PP_DETAIL_IS_EMPTY_IIF(bit) BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_PP_DETAIL_IS_EMPTY_IIF_,bit) -#define BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) () - -#endif /* BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/empty.hpp b/external/include/boost_1_75/boost/preprocessor/facilities/empty.hpp deleted file mode 100644 index 6f215dc511..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/facilities/empty.hpp +++ /dev/null @@ -1,23 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP -# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP -# -# include -# -# /* BOOST_PP_EMPTY */ -# -# define BOOST_PP_EMPTY() -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/identity.hpp b/external/include/boost_1_75/boost/preprocessor/facilities/identity.hpp deleted file mode 100644 index 8a7834d4a5..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/facilities/identity.hpp +++ /dev/null @@ -1,27 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2015) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP -# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP -# -# include -# include -# -# /* BOOST_PP_IDENTITY */ -# -# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY -# -# define BOOST_PP_IDENTITY_N(item,n) item BOOST_PP_TUPLE_EAT_N(n) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/is_empty.hpp b/external/include/boost_1_75/boost/preprocessor/facilities/is_empty.hpp deleted file mode 100644 index 2fc3fadd18..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/facilities/is_empty.hpp +++ /dev/null @@ -1,19 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2003. -# * (C) Copyright Edward Diener 2014. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP -# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP -# -# include -# include -# -# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/identity.hpp b/external/include/boost_1_75/boost/preprocessor/identity.hpp deleted file mode 100644 index 847dd13296..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/identity.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP -# define BOOST_PREPROCESSOR_IDENTITY_HPP -# -# include -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/inc.hpp b/external/include/boost_1_75/boost/preprocessor/inc.hpp deleted file mode 100644 index b98d3a67c5..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/inc.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_INC_HPP -# define BOOST_PREPROCESSOR_INC_HPP -# -# include -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/dmc/fold_left.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/dmc/fold_left.hpp deleted file mode 100644 index 54b11deac2..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/dmc/fold_left.hpp +++ /dev/null @@ -1,280 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_DMC_FOLD_LEFT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_DMC_FOLD_LEFT_HPP -# -# include -# include -# include -# include -# -# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/fold_left.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/fold_left.hpp deleted file mode 100644 index cb21ba009f..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/fold_left.hpp +++ /dev/null @@ -1,564 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# -# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# else -# -# include -# include -# include -# include -# include -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/fold_right.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/fold_right.hpp deleted file mode 100644 index 30ff8cb2d6..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/fold_right.hpp +++ /dev/null @@ -1,823 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# -# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0 -# -# else -# -# include -# include -# include -# include -# -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1 -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp deleted file mode 100644 index db0f065d0e..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp +++ /dev/null @@ -1,1044 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_1024_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_1024_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) BOOST_PP_LIST_FOLD_LEFT_513_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_514(o, s, l) BOOST_PP_LIST_FOLD_LEFT_514_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_515(o, s, l) BOOST_PP_LIST_FOLD_LEFT_515_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_516(o, s, l) BOOST_PP_LIST_FOLD_LEFT_516_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_517(o, s, l) BOOST_PP_LIST_FOLD_LEFT_517_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_518(o, s, l) BOOST_PP_LIST_FOLD_LEFT_518_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_519(o, s, l) BOOST_PP_LIST_FOLD_LEFT_519_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_520(o, s, l) BOOST_PP_LIST_FOLD_LEFT_520_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_521(o, s, l) BOOST_PP_LIST_FOLD_LEFT_521_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_522(o, s, l) BOOST_PP_LIST_FOLD_LEFT_522_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_523(o, s, l) BOOST_PP_LIST_FOLD_LEFT_523_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_524(o, s, l) BOOST_PP_LIST_FOLD_LEFT_524_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_525(o, s, l) BOOST_PP_LIST_FOLD_LEFT_525_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_526(o, s, l) BOOST_PP_LIST_FOLD_LEFT_526_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_527(o, s, l) BOOST_PP_LIST_FOLD_LEFT_527_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_528(o, s, l) BOOST_PP_LIST_FOLD_LEFT_528_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_529(o, s, l) BOOST_PP_LIST_FOLD_LEFT_529_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_530(o, s, l) BOOST_PP_LIST_FOLD_LEFT_530_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_531(o, s, l) BOOST_PP_LIST_FOLD_LEFT_531_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_532(o, s, l) BOOST_PP_LIST_FOLD_LEFT_532_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_533(o, s, l) BOOST_PP_LIST_FOLD_LEFT_533_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_534(o, s, l) BOOST_PP_LIST_FOLD_LEFT_534_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_535(o, s, l) BOOST_PP_LIST_FOLD_LEFT_535_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_536(o, s, l) BOOST_PP_LIST_FOLD_LEFT_536_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_537(o, s, l) BOOST_PP_LIST_FOLD_LEFT_537_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_538(o, s, l) BOOST_PP_LIST_FOLD_LEFT_538_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_539(o, s, l) BOOST_PP_LIST_FOLD_LEFT_539_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_540(o, s, l) BOOST_PP_LIST_FOLD_LEFT_540_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_541(o, s, l) BOOST_PP_LIST_FOLD_LEFT_541_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_542(o, s, l) BOOST_PP_LIST_FOLD_LEFT_542_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_543(o, s, l) BOOST_PP_LIST_FOLD_LEFT_543_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_544(o, s, l) BOOST_PP_LIST_FOLD_LEFT_544_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_545(o, s, l) BOOST_PP_LIST_FOLD_LEFT_545_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_546(o, s, l) BOOST_PP_LIST_FOLD_LEFT_546_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_547(o, s, l) BOOST_PP_LIST_FOLD_LEFT_547_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_548(o, s, l) BOOST_PP_LIST_FOLD_LEFT_548_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_549(o, s, l) BOOST_PP_LIST_FOLD_LEFT_549_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_550(o, s, l) BOOST_PP_LIST_FOLD_LEFT_550_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_551(o, s, l) BOOST_PP_LIST_FOLD_LEFT_551_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_552(o, s, l) BOOST_PP_LIST_FOLD_LEFT_552_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_553(o, s, l) BOOST_PP_LIST_FOLD_LEFT_553_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_554(o, s, l) BOOST_PP_LIST_FOLD_LEFT_554_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_555(o, s, l) BOOST_PP_LIST_FOLD_LEFT_555_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_556(o, s, l) BOOST_PP_LIST_FOLD_LEFT_556_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_557(o, s, l) BOOST_PP_LIST_FOLD_LEFT_557_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_558(o, s, l) BOOST_PP_LIST_FOLD_LEFT_558_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_559(o, s, l) BOOST_PP_LIST_FOLD_LEFT_559_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_560(o, s, l) BOOST_PP_LIST_FOLD_LEFT_560_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_561(o, s, l) BOOST_PP_LIST_FOLD_LEFT_561_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_562(o, s, l) BOOST_PP_LIST_FOLD_LEFT_562_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_563(o, s, l) BOOST_PP_LIST_FOLD_LEFT_563_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_564(o, s, l) BOOST_PP_LIST_FOLD_LEFT_564_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_565(o, s, l) BOOST_PP_LIST_FOLD_LEFT_565_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_566(o, s, l) BOOST_PP_LIST_FOLD_LEFT_566_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_567(o, s, l) BOOST_PP_LIST_FOLD_LEFT_567_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_568(o, s, l) BOOST_PP_LIST_FOLD_LEFT_568_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_569(o, s, l) BOOST_PP_LIST_FOLD_LEFT_569_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_570(o, s, l) BOOST_PP_LIST_FOLD_LEFT_570_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_571(o, s, l) BOOST_PP_LIST_FOLD_LEFT_571_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_572(o, s, l) BOOST_PP_LIST_FOLD_LEFT_572_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_573(o, s, l) BOOST_PP_LIST_FOLD_LEFT_573_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_574(o, s, l) BOOST_PP_LIST_FOLD_LEFT_574_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_575(o, s, l) BOOST_PP_LIST_FOLD_LEFT_575_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_576(o, s, l) BOOST_PP_LIST_FOLD_LEFT_576_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_577(o, s, l) BOOST_PP_LIST_FOLD_LEFT_577_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_578(o, s, l) BOOST_PP_LIST_FOLD_LEFT_578_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_579(o, s, l) BOOST_PP_LIST_FOLD_LEFT_579_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_580(o, s, l) BOOST_PP_LIST_FOLD_LEFT_580_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_581(o, s, l) BOOST_PP_LIST_FOLD_LEFT_581_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_582(o, s, l) BOOST_PP_LIST_FOLD_LEFT_582_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_583(o, s, l) BOOST_PP_LIST_FOLD_LEFT_583_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_584(o, s, l) BOOST_PP_LIST_FOLD_LEFT_584_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_585(o, s, l) BOOST_PP_LIST_FOLD_LEFT_585_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_586(o, s, l) BOOST_PP_LIST_FOLD_LEFT_586_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_587(o, s, l) BOOST_PP_LIST_FOLD_LEFT_587_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_588(o, s, l) BOOST_PP_LIST_FOLD_LEFT_588_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_589(o, s, l) BOOST_PP_LIST_FOLD_LEFT_589_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_590(o, s, l) BOOST_PP_LIST_FOLD_LEFT_590_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_591(o, s, l) BOOST_PP_LIST_FOLD_LEFT_591_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_592(o, s, l) BOOST_PP_LIST_FOLD_LEFT_592_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_593(o, s, l) BOOST_PP_LIST_FOLD_LEFT_593_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_594(o, s, l) BOOST_PP_LIST_FOLD_LEFT_594_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_595(o, s, l) BOOST_PP_LIST_FOLD_LEFT_595_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_596(o, s, l) BOOST_PP_LIST_FOLD_LEFT_596_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_597(o, s, l) BOOST_PP_LIST_FOLD_LEFT_597_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_598(o, s, l) BOOST_PP_LIST_FOLD_LEFT_598_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_599(o, s, l) BOOST_PP_LIST_FOLD_LEFT_599_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_600(o, s, l) BOOST_PP_LIST_FOLD_LEFT_600_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_601(o, s, l) BOOST_PP_LIST_FOLD_LEFT_601_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_602(o, s, l) BOOST_PP_LIST_FOLD_LEFT_602_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_603(o, s, l) BOOST_PP_LIST_FOLD_LEFT_603_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_604(o, s, l) BOOST_PP_LIST_FOLD_LEFT_604_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_605(o, s, l) BOOST_PP_LIST_FOLD_LEFT_605_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_606(o, s, l) BOOST_PP_LIST_FOLD_LEFT_606_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_607(o, s, l) BOOST_PP_LIST_FOLD_LEFT_607_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_608(o, s, l) BOOST_PP_LIST_FOLD_LEFT_608_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_609(o, s, l) BOOST_PP_LIST_FOLD_LEFT_609_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_610(o, s, l) BOOST_PP_LIST_FOLD_LEFT_610_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_611(o, s, l) BOOST_PP_LIST_FOLD_LEFT_611_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_612(o, s, l) BOOST_PP_LIST_FOLD_LEFT_612_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_613(o, s, l) BOOST_PP_LIST_FOLD_LEFT_613_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_614(o, s, l) BOOST_PP_LIST_FOLD_LEFT_614_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_615(o, s, l) BOOST_PP_LIST_FOLD_LEFT_615_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_616(o, s, l) BOOST_PP_LIST_FOLD_LEFT_616_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_617(o, s, l) BOOST_PP_LIST_FOLD_LEFT_617_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_618(o, s, l) BOOST_PP_LIST_FOLD_LEFT_618_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_619(o, s, l) BOOST_PP_LIST_FOLD_LEFT_619_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_620(o, s, l) BOOST_PP_LIST_FOLD_LEFT_620_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_621(o, s, l) BOOST_PP_LIST_FOLD_LEFT_621_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_622(o, s, l) BOOST_PP_LIST_FOLD_LEFT_622_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_623(o, s, l) BOOST_PP_LIST_FOLD_LEFT_623_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_624(o, s, l) BOOST_PP_LIST_FOLD_LEFT_624_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_625(o, s, l) BOOST_PP_LIST_FOLD_LEFT_625_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_626(o, s, l) BOOST_PP_LIST_FOLD_LEFT_626_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_627(o, s, l) BOOST_PP_LIST_FOLD_LEFT_627_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_628(o, s, l) BOOST_PP_LIST_FOLD_LEFT_628_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_629(o, s, l) BOOST_PP_LIST_FOLD_LEFT_629_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_630(o, s, l) BOOST_PP_LIST_FOLD_LEFT_630_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_631(o, s, l) BOOST_PP_LIST_FOLD_LEFT_631_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_632(o, s, l) BOOST_PP_LIST_FOLD_LEFT_632_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_633(o, s, l) BOOST_PP_LIST_FOLD_LEFT_633_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_634(o, s, l) BOOST_PP_LIST_FOLD_LEFT_634_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_635(o, s, l) BOOST_PP_LIST_FOLD_LEFT_635_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_636(o, s, l) BOOST_PP_LIST_FOLD_LEFT_636_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_637(o, s, l) BOOST_PP_LIST_FOLD_LEFT_637_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_638(o, s, l) BOOST_PP_LIST_FOLD_LEFT_638_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_639(o, s, l) BOOST_PP_LIST_FOLD_LEFT_639_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_640(o, s, l) BOOST_PP_LIST_FOLD_LEFT_640_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_641(o, s, l) BOOST_PP_LIST_FOLD_LEFT_641_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_642(o, s, l) BOOST_PP_LIST_FOLD_LEFT_642_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_643(o, s, l) BOOST_PP_LIST_FOLD_LEFT_643_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_644(o, s, l) BOOST_PP_LIST_FOLD_LEFT_644_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_645(o, s, l) BOOST_PP_LIST_FOLD_LEFT_645_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_646(o, s, l) BOOST_PP_LIST_FOLD_LEFT_646_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_647(o, s, l) BOOST_PP_LIST_FOLD_LEFT_647_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_648(o, s, l) BOOST_PP_LIST_FOLD_LEFT_648_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_649(o, s, l) BOOST_PP_LIST_FOLD_LEFT_649_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_650(o, s, l) BOOST_PP_LIST_FOLD_LEFT_650_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_651(o, s, l) BOOST_PP_LIST_FOLD_LEFT_651_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_652(o, s, l) BOOST_PP_LIST_FOLD_LEFT_652_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_653(o, s, l) BOOST_PP_LIST_FOLD_LEFT_653_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_654(o, s, l) BOOST_PP_LIST_FOLD_LEFT_654_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_655(o, s, l) BOOST_PP_LIST_FOLD_LEFT_655_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_656(o, s, l) BOOST_PP_LIST_FOLD_LEFT_656_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_657(o, s, l) BOOST_PP_LIST_FOLD_LEFT_657_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_658(o, s, l) BOOST_PP_LIST_FOLD_LEFT_658_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_659(o, s, l) BOOST_PP_LIST_FOLD_LEFT_659_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_660(o, s, l) BOOST_PP_LIST_FOLD_LEFT_660_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_661(o, s, l) BOOST_PP_LIST_FOLD_LEFT_661_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_662(o, s, l) BOOST_PP_LIST_FOLD_LEFT_662_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_663(o, s, l) BOOST_PP_LIST_FOLD_LEFT_663_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_664(o, s, l) BOOST_PP_LIST_FOLD_LEFT_664_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_665(o, s, l) BOOST_PP_LIST_FOLD_LEFT_665_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_666(o, s, l) BOOST_PP_LIST_FOLD_LEFT_666_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_667(o, s, l) BOOST_PP_LIST_FOLD_LEFT_667_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_668(o, s, l) BOOST_PP_LIST_FOLD_LEFT_668_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_669(o, s, l) BOOST_PP_LIST_FOLD_LEFT_669_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_670(o, s, l) BOOST_PP_LIST_FOLD_LEFT_670_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_671(o, s, l) BOOST_PP_LIST_FOLD_LEFT_671_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_672(o, s, l) BOOST_PP_LIST_FOLD_LEFT_672_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_673(o, s, l) BOOST_PP_LIST_FOLD_LEFT_673_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_674(o, s, l) BOOST_PP_LIST_FOLD_LEFT_674_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_675(o, s, l) BOOST_PP_LIST_FOLD_LEFT_675_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_676(o, s, l) BOOST_PP_LIST_FOLD_LEFT_676_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_677(o, s, l) BOOST_PP_LIST_FOLD_LEFT_677_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_678(o, s, l) BOOST_PP_LIST_FOLD_LEFT_678_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_679(o, s, l) BOOST_PP_LIST_FOLD_LEFT_679_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_680(o, s, l) BOOST_PP_LIST_FOLD_LEFT_680_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_681(o, s, l) BOOST_PP_LIST_FOLD_LEFT_681_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_682(o, s, l) BOOST_PP_LIST_FOLD_LEFT_682_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_683(o, s, l) BOOST_PP_LIST_FOLD_LEFT_683_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_684(o, s, l) BOOST_PP_LIST_FOLD_LEFT_684_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_685(o, s, l) BOOST_PP_LIST_FOLD_LEFT_685_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_686(o, s, l) BOOST_PP_LIST_FOLD_LEFT_686_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_687(o, s, l) BOOST_PP_LIST_FOLD_LEFT_687_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_688(o, s, l) BOOST_PP_LIST_FOLD_LEFT_688_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_689(o, s, l) BOOST_PP_LIST_FOLD_LEFT_689_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_690(o, s, l) BOOST_PP_LIST_FOLD_LEFT_690_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_691(o, s, l) BOOST_PP_LIST_FOLD_LEFT_691_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_692(o, s, l) BOOST_PP_LIST_FOLD_LEFT_692_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_693(o, s, l) BOOST_PP_LIST_FOLD_LEFT_693_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_694(o, s, l) BOOST_PP_LIST_FOLD_LEFT_694_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_695(o, s, l) BOOST_PP_LIST_FOLD_LEFT_695_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_696(o, s, l) BOOST_PP_LIST_FOLD_LEFT_696_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_697(o, s, l) BOOST_PP_LIST_FOLD_LEFT_697_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_698(o, s, l) BOOST_PP_LIST_FOLD_LEFT_698_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_699(o, s, l) BOOST_PP_LIST_FOLD_LEFT_699_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_700(o, s, l) BOOST_PP_LIST_FOLD_LEFT_700_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_701(o, s, l) BOOST_PP_LIST_FOLD_LEFT_701_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_702(o, s, l) BOOST_PP_LIST_FOLD_LEFT_702_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_703(o, s, l) BOOST_PP_LIST_FOLD_LEFT_703_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_704(o, s, l) BOOST_PP_LIST_FOLD_LEFT_704_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_705(o, s, l) BOOST_PP_LIST_FOLD_LEFT_705_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_706(o, s, l) BOOST_PP_LIST_FOLD_LEFT_706_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_707(o, s, l) BOOST_PP_LIST_FOLD_LEFT_707_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_708(o, s, l) BOOST_PP_LIST_FOLD_LEFT_708_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_709(o, s, l) BOOST_PP_LIST_FOLD_LEFT_709_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_710(o, s, l) BOOST_PP_LIST_FOLD_LEFT_710_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_711(o, s, l) BOOST_PP_LIST_FOLD_LEFT_711_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_712(o, s, l) BOOST_PP_LIST_FOLD_LEFT_712_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_713(o, s, l) BOOST_PP_LIST_FOLD_LEFT_713_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_714(o, s, l) BOOST_PP_LIST_FOLD_LEFT_714_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_715(o, s, l) BOOST_PP_LIST_FOLD_LEFT_715_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_716(o, s, l) BOOST_PP_LIST_FOLD_LEFT_716_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_717(o, s, l) BOOST_PP_LIST_FOLD_LEFT_717_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_718(o, s, l) BOOST_PP_LIST_FOLD_LEFT_718_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_719(o, s, l) BOOST_PP_LIST_FOLD_LEFT_719_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_720(o, s, l) BOOST_PP_LIST_FOLD_LEFT_720_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_721(o, s, l) BOOST_PP_LIST_FOLD_LEFT_721_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_722(o, s, l) BOOST_PP_LIST_FOLD_LEFT_722_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_723(o, s, l) BOOST_PP_LIST_FOLD_LEFT_723_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_724(o, s, l) BOOST_PP_LIST_FOLD_LEFT_724_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_725(o, s, l) BOOST_PP_LIST_FOLD_LEFT_725_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_726(o, s, l) BOOST_PP_LIST_FOLD_LEFT_726_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_727(o, s, l) BOOST_PP_LIST_FOLD_LEFT_727_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_728(o, s, l) BOOST_PP_LIST_FOLD_LEFT_728_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_729(o, s, l) BOOST_PP_LIST_FOLD_LEFT_729_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_730(o, s, l) BOOST_PP_LIST_FOLD_LEFT_730_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_731(o, s, l) BOOST_PP_LIST_FOLD_LEFT_731_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_732(o, s, l) BOOST_PP_LIST_FOLD_LEFT_732_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_733(o, s, l) BOOST_PP_LIST_FOLD_LEFT_733_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_734(o, s, l) BOOST_PP_LIST_FOLD_LEFT_734_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_735(o, s, l) BOOST_PP_LIST_FOLD_LEFT_735_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_736(o, s, l) BOOST_PP_LIST_FOLD_LEFT_736_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_737(o, s, l) BOOST_PP_LIST_FOLD_LEFT_737_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_738(o, s, l) BOOST_PP_LIST_FOLD_LEFT_738_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_739(o, s, l) BOOST_PP_LIST_FOLD_LEFT_739_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_740(o, s, l) BOOST_PP_LIST_FOLD_LEFT_740_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_741(o, s, l) BOOST_PP_LIST_FOLD_LEFT_741_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_742(o, s, l) BOOST_PP_LIST_FOLD_LEFT_742_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_743(o, s, l) BOOST_PP_LIST_FOLD_LEFT_743_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_744(o, s, l) BOOST_PP_LIST_FOLD_LEFT_744_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_745(o, s, l) BOOST_PP_LIST_FOLD_LEFT_745_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_746(o, s, l) BOOST_PP_LIST_FOLD_LEFT_746_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_747(o, s, l) BOOST_PP_LIST_FOLD_LEFT_747_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_748(o, s, l) BOOST_PP_LIST_FOLD_LEFT_748_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_749(o, s, l) BOOST_PP_LIST_FOLD_LEFT_749_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_750(o, s, l) BOOST_PP_LIST_FOLD_LEFT_750_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_751(o, s, l) BOOST_PP_LIST_FOLD_LEFT_751_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_752(o, s, l) BOOST_PP_LIST_FOLD_LEFT_752_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_753(o, s, l) BOOST_PP_LIST_FOLD_LEFT_753_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_754(o, s, l) BOOST_PP_LIST_FOLD_LEFT_754_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_755(o, s, l) BOOST_PP_LIST_FOLD_LEFT_755_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_756(o, s, l) BOOST_PP_LIST_FOLD_LEFT_756_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_757(o, s, l) BOOST_PP_LIST_FOLD_LEFT_757_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_758(o, s, l) BOOST_PP_LIST_FOLD_LEFT_758_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_759(o, s, l) BOOST_PP_LIST_FOLD_LEFT_759_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_760(o, s, l) BOOST_PP_LIST_FOLD_LEFT_760_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_761(o, s, l) BOOST_PP_LIST_FOLD_LEFT_761_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_762(o, s, l) BOOST_PP_LIST_FOLD_LEFT_762_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_763(o, s, l) BOOST_PP_LIST_FOLD_LEFT_763_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_764(o, s, l) BOOST_PP_LIST_FOLD_LEFT_764_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_765(o, s, l) BOOST_PP_LIST_FOLD_LEFT_765_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_766(o, s, l) BOOST_PP_LIST_FOLD_LEFT_766_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_767(o, s, l) BOOST_PP_LIST_FOLD_LEFT_767_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_768(o, s, l) BOOST_PP_LIST_FOLD_LEFT_768_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_769(o, s, l) BOOST_PP_LIST_FOLD_LEFT_769_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_770(o, s, l) BOOST_PP_LIST_FOLD_LEFT_770_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_771(o, s, l) BOOST_PP_LIST_FOLD_LEFT_771_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_772(o, s, l) BOOST_PP_LIST_FOLD_LEFT_772_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_773(o, s, l) BOOST_PP_LIST_FOLD_LEFT_773_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_774(o, s, l) BOOST_PP_LIST_FOLD_LEFT_774_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_775(o, s, l) BOOST_PP_LIST_FOLD_LEFT_775_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_776(o, s, l) BOOST_PP_LIST_FOLD_LEFT_776_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_777(o, s, l) BOOST_PP_LIST_FOLD_LEFT_777_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_778(o, s, l) BOOST_PP_LIST_FOLD_LEFT_778_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_779(o, s, l) BOOST_PP_LIST_FOLD_LEFT_779_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_780(o, s, l) BOOST_PP_LIST_FOLD_LEFT_780_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_781(o, s, l) BOOST_PP_LIST_FOLD_LEFT_781_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_782(o, s, l) BOOST_PP_LIST_FOLD_LEFT_782_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_783(o, s, l) BOOST_PP_LIST_FOLD_LEFT_783_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_784(o, s, l) BOOST_PP_LIST_FOLD_LEFT_784_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_785(o, s, l) BOOST_PP_LIST_FOLD_LEFT_785_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_786(o, s, l) BOOST_PP_LIST_FOLD_LEFT_786_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_787(o, s, l) BOOST_PP_LIST_FOLD_LEFT_787_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_788(o, s, l) BOOST_PP_LIST_FOLD_LEFT_788_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_789(o, s, l) BOOST_PP_LIST_FOLD_LEFT_789_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_790(o, s, l) BOOST_PP_LIST_FOLD_LEFT_790_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_791(o, s, l) BOOST_PP_LIST_FOLD_LEFT_791_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_792(o, s, l) BOOST_PP_LIST_FOLD_LEFT_792_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_793(o, s, l) BOOST_PP_LIST_FOLD_LEFT_793_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_794(o, s, l) BOOST_PP_LIST_FOLD_LEFT_794_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_795(o, s, l) BOOST_PP_LIST_FOLD_LEFT_795_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_796(o, s, l) BOOST_PP_LIST_FOLD_LEFT_796_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_797(o, s, l) BOOST_PP_LIST_FOLD_LEFT_797_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_798(o, s, l) BOOST_PP_LIST_FOLD_LEFT_798_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_799(o, s, l) BOOST_PP_LIST_FOLD_LEFT_799_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_800(o, s, l) BOOST_PP_LIST_FOLD_LEFT_800_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_801(o, s, l) BOOST_PP_LIST_FOLD_LEFT_801_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_802(o, s, l) BOOST_PP_LIST_FOLD_LEFT_802_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_803(o, s, l) BOOST_PP_LIST_FOLD_LEFT_803_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_804(o, s, l) BOOST_PP_LIST_FOLD_LEFT_804_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_805(o, s, l) BOOST_PP_LIST_FOLD_LEFT_805_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_806(o, s, l) BOOST_PP_LIST_FOLD_LEFT_806_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_807(o, s, l) BOOST_PP_LIST_FOLD_LEFT_807_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_808(o, s, l) BOOST_PP_LIST_FOLD_LEFT_808_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_809(o, s, l) BOOST_PP_LIST_FOLD_LEFT_809_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_810(o, s, l) BOOST_PP_LIST_FOLD_LEFT_810_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_811(o, s, l) BOOST_PP_LIST_FOLD_LEFT_811_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_812(o, s, l) BOOST_PP_LIST_FOLD_LEFT_812_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_813(o, s, l) BOOST_PP_LIST_FOLD_LEFT_813_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_814(o, s, l) BOOST_PP_LIST_FOLD_LEFT_814_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_815(o, s, l) BOOST_PP_LIST_FOLD_LEFT_815_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_816(o, s, l) BOOST_PP_LIST_FOLD_LEFT_816_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_817(o, s, l) BOOST_PP_LIST_FOLD_LEFT_817_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_818(o, s, l) BOOST_PP_LIST_FOLD_LEFT_818_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_819(o, s, l) BOOST_PP_LIST_FOLD_LEFT_819_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_820(o, s, l) BOOST_PP_LIST_FOLD_LEFT_820_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_821(o, s, l) BOOST_PP_LIST_FOLD_LEFT_821_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_822(o, s, l) BOOST_PP_LIST_FOLD_LEFT_822_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_823(o, s, l) BOOST_PP_LIST_FOLD_LEFT_823_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_824(o, s, l) BOOST_PP_LIST_FOLD_LEFT_824_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_825(o, s, l) BOOST_PP_LIST_FOLD_LEFT_825_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_826(o, s, l) BOOST_PP_LIST_FOLD_LEFT_826_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_827(o, s, l) BOOST_PP_LIST_FOLD_LEFT_827_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_828(o, s, l) BOOST_PP_LIST_FOLD_LEFT_828_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_829(o, s, l) BOOST_PP_LIST_FOLD_LEFT_829_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_830(o, s, l) BOOST_PP_LIST_FOLD_LEFT_830_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_831(o, s, l) BOOST_PP_LIST_FOLD_LEFT_831_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_832(o, s, l) BOOST_PP_LIST_FOLD_LEFT_832_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_833(o, s, l) BOOST_PP_LIST_FOLD_LEFT_833_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_834(o, s, l) BOOST_PP_LIST_FOLD_LEFT_834_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_835(o, s, l) BOOST_PP_LIST_FOLD_LEFT_835_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_836(o, s, l) BOOST_PP_LIST_FOLD_LEFT_836_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_837(o, s, l) BOOST_PP_LIST_FOLD_LEFT_837_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_838(o, s, l) BOOST_PP_LIST_FOLD_LEFT_838_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_839(o, s, l) BOOST_PP_LIST_FOLD_LEFT_839_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_840(o, s, l) BOOST_PP_LIST_FOLD_LEFT_840_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_841(o, s, l) BOOST_PP_LIST_FOLD_LEFT_841_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_842(o, s, l) BOOST_PP_LIST_FOLD_LEFT_842_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_843(o, s, l) BOOST_PP_LIST_FOLD_LEFT_843_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_844(o, s, l) BOOST_PP_LIST_FOLD_LEFT_844_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_845(o, s, l) BOOST_PP_LIST_FOLD_LEFT_845_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_846(o, s, l) BOOST_PP_LIST_FOLD_LEFT_846_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_847(o, s, l) BOOST_PP_LIST_FOLD_LEFT_847_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_848(o, s, l) BOOST_PP_LIST_FOLD_LEFT_848_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_849(o, s, l) BOOST_PP_LIST_FOLD_LEFT_849_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_850(o, s, l) BOOST_PP_LIST_FOLD_LEFT_850_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_851(o, s, l) BOOST_PP_LIST_FOLD_LEFT_851_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_852(o, s, l) BOOST_PP_LIST_FOLD_LEFT_852_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_853(o, s, l) BOOST_PP_LIST_FOLD_LEFT_853_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_854(o, s, l) BOOST_PP_LIST_FOLD_LEFT_854_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_855(o, s, l) BOOST_PP_LIST_FOLD_LEFT_855_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_856(o, s, l) BOOST_PP_LIST_FOLD_LEFT_856_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_857(o, s, l) BOOST_PP_LIST_FOLD_LEFT_857_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_858(o, s, l) BOOST_PP_LIST_FOLD_LEFT_858_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_859(o, s, l) BOOST_PP_LIST_FOLD_LEFT_859_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_860(o, s, l) BOOST_PP_LIST_FOLD_LEFT_860_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_861(o, s, l) BOOST_PP_LIST_FOLD_LEFT_861_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_862(o, s, l) BOOST_PP_LIST_FOLD_LEFT_862_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_863(o, s, l) BOOST_PP_LIST_FOLD_LEFT_863_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_864(o, s, l) BOOST_PP_LIST_FOLD_LEFT_864_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_865(o, s, l) BOOST_PP_LIST_FOLD_LEFT_865_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_866(o, s, l) BOOST_PP_LIST_FOLD_LEFT_866_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_867(o, s, l) BOOST_PP_LIST_FOLD_LEFT_867_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_868(o, s, l) BOOST_PP_LIST_FOLD_LEFT_868_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_869(o, s, l) BOOST_PP_LIST_FOLD_LEFT_869_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_870(o, s, l) BOOST_PP_LIST_FOLD_LEFT_870_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_871(o, s, l) BOOST_PP_LIST_FOLD_LEFT_871_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_872(o, s, l) BOOST_PP_LIST_FOLD_LEFT_872_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_873(o, s, l) BOOST_PP_LIST_FOLD_LEFT_873_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_874(o, s, l) BOOST_PP_LIST_FOLD_LEFT_874_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_875(o, s, l) BOOST_PP_LIST_FOLD_LEFT_875_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_876(o, s, l) BOOST_PP_LIST_FOLD_LEFT_876_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_877(o, s, l) BOOST_PP_LIST_FOLD_LEFT_877_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_878(o, s, l) BOOST_PP_LIST_FOLD_LEFT_878_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_879(o, s, l) BOOST_PP_LIST_FOLD_LEFT_879_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_880(o, s, l) BOOST_PP_LIST_FOLD_LEFT_880_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_881(o, s, l) BOOST_PP_LIST_FOLD_LEFT_881_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_882(o, s, l) BOOST_PP_LIST_FOLD_LEFT_882_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_883(o, s, l) BOOST_PP_LIST_FOLD_LEFT_883_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_884(o, s, l) BOOST_PP_LIST_FOLD_LEFT_884_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_885(o, s, l) BOOST_PP_LIST_FOLD_LEFT_885_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_886(o, s, l) BOOST_PP_LIST_FOLD_LEFT_886_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_887(o, s, l) BOOST_PP_LIST_FOLD_LEFT_887_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_888(o, s, l) BOOST_PP_LIST_FOLD_LEFT_888_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_889(o, s, l) BOOST_PP_LIST_FOLD_LEFT_889_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_890(o, s, l) BOOST_PP_LIST_FOLD_LEFT_890_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_891(o, s, l) BOOST_PP_LIST_FOLD_LEFT_891_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_892(o, s, l) BOOST_PP_LIST_FOLD_LEFT_892_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_893(o, s, l) BOOST_PP_LIST_FOLD_LEFT_893_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_894(o, s, l) BOOST_PP_LIST_FOLD_LEFT_894_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_895(o, s, l) BOOST_PP_LIST_FOLD_LEFT_895_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_896(o, s, l) BOOST_PP_LIST_FOLD_LEFT_896_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_897(o, s, l) BOOST_PP_LIST_FOLD_LEFT_897_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_898(o, s, l) BOOST_PP_LIST_FOLD_LEFT_898_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_899(o, s, l) BOOST_PP_LIST_FOLD_LEFT_899_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_900(o, s, l) BOOST_PP_LIST_FOLD_LEFT_900_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_901(o, s, l) BOOST_PP_LIST_FOLD_LEFT_901_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_902(o, s, l) BOOST_PP_LIST_FOLD_LEFT_902_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_903(o, s, l) BOOST_PP_LIST_FOLD_LEFT_903_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_904(o, s, l) BOOST_PP_LIST_FOLD_LEFT_904_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_905(o, s, l) BOOST_PP_LIST_FOLD_LEFT_905_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_906(o, s, l) BOOST_PP_LIST_FOLD_LEFT_906_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_907(o, s, l) BOOST_PP_LIST_FOLD_LEFT_907_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_908(o, s, l) BOOST_PP_LIST_FOLD_LEFT_908_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_909(o, s, l) BOOST_PP_LIST_FOLD_LEFT_909_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_910(o, s, l) BOOST_PP_LIST_FOLD_LEFT_910_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_911(o, s, l) BOOST_PP_LIST_FOLD_LEFT_911_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_912(o, s, l) BOOST_PP_LIST_FOLD_LEFT_912_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_913(o, s, l) BOOST_PP_LIST_FOLD_LEFT_913_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_914(o, s, l) BOOST_PP_LIST_FOLD_LEFT_914_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_915(o, s, l) BOOST_PP_LIST_FOLD_LEFT_915_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_916(o, s, l) BOOST_PP_LIST_FOLD_LEFT_916_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_917(o, s, l) BOOST_PP_LIST_FOLD_LEFT_917_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_918(o, s, l) BOOST_PP_LIST_FOLD_LEFT_918_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_919(o, s, l) BOOST_PP_LIST_FOLD_LEFT_919_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_920(o, s, l) BOOST_PP_LIST_FOLD_LEFT_920_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_921(o, s, l) BOOST_PP_LIST_FOLD_LEFT_921_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_922(o, s, l) BOOST_PP_LIST_FOLD_LEFT_922_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_923(o, s, l) BOOST_PP_LIST_FOLD_LEFT_923_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_924(o, s, l) BOOST_PP_LIST_FOLD_LEFT_924_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_925(o, s, l) BOOST_PP_LIST_FOLD_LEFT_925_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_926(o, s, l) BOOST_PP_LIST_FOLD_LEFT_926_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_927(o, s, l) BOOST_PP_LIST_FOLD_LEFT_927_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_928(o, s, l) BOOST_PP_LIST_FOLD_LEFT_928_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_929(o, s, l) BOOST_PP_LIST_FOLD_LEFT_929_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_930(o, s, l) BOOST_PP_LIST_FOLD_LEFT_930_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_931(o, s, l) BOOST_PP_LIST_FOLD_LEFT_931_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_932(o, s, l) BOOST_PP_LIST_FOLD_LEFT_932_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_933(o, s, l) BOOST_PP_LIST_FOLD_LEFT_933_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_934(o, s, l) BOOST_PP_LIST_FOLD_LEFT_934_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_935(o, s, l) BOOST_PP_LIST_FOLD_LEFT_935_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_936(o, s, l) BOOST_PP_LIST_FOLD_LEFT_936_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_937(o, s, l) BOOST_PP_LIST_FOLD_LEFT_937_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_938(o, s, l) BOOST_PP_LIST_FOLD_LEFT_938_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_939(o, s, l) BOOST_PP_LIST_FOLD_LEFT_939_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_940(o, s, l) BOOST_PP_LIST_FOLD_LEFT_940_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_941(o, s, l) BOOST_PP_LIST_FOLD_LEFT_941_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_942(o, s, l) BOOST_PP_LIST_FOLD_LEFT_942_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_943(o, s, l) BOOST_PP_LIST_FOLD_LEFT_943_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_944(o, s, l) BOOST_PP_LIST_FOLD_LEFT_944_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_945(o, s, l) BOOST_PP_LIST_FOLD_LEFT_945_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_946(o, s, l) BOOST_PP_LIST_FOLD_LEFT_946_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_947(o, s, l) BOOST_PP_LIST_FOLD_LEFT_947_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_948(o, s, l) BOOST_PP_LIST_FOLD_LEFT_948_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_949(o, s, l) BOOST_PP_LIST_FOLD_LEFT_949_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_950(o, s, l) BOOST_PP_LIST_FOLD_LEFT_950_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_951(o, s, l) BOOST_PP_LIST_FOLD_LEFT_951_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_952(o, s, l) BOOST_PP_LIST_FOLD_LEFT_952_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_953(o, s, l) BOOST_PP_LIST_FOLD_LEFT_953_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_954(o, s, l) BOOST_PP_LIST_FOLD_LEFT_954_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_955(o, s, l) BOOST_PP_LIST_FOLD_LEFT_955_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_956(o, s, l) BOOST_PP_LIST_FOLD_LEFT_956_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_957(o, s, l) BOOST_PP_LIST_FOLD_LEFT_957_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_958(o, s, l) BOOST_PP_LIST_FOLD_LEFT_958_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_959(o, s, l) BOOST_PP_LIST_FOLD_LEFT_959_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_960(o, s, l) BOOST_PP_LIST_FOLD_LEFT_960_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_961(o, s, l) BOOST_PP_LIST_FOLD_LEFT_961_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_962(o, s, l) BOOST_PP_LIST_FOLD_LEFT_962_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_963(o, s, l) BOOST_PP_LIST_FOLD_LEFT_963_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_964(o, s, l) BOOST_PP_LIST_FOLD_LEFT_964_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_965(o, s, l) BOOST_PP_LIST_FOLD_LEFT_965_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_966(o, s, l) BOOST_PP_LIST_FOLD_LEFT_966_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_967(o, s, l) BOOST_PP_LIST_FOLD_LEFT_967_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_968(o, s, l) BOOST_PP_LIST_FOLD_LEFT_968_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_969(o, s, l) BOOST_PP_LIST_FOLD_LEFT_969_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_970(o, s, l) BOOST_PP_LIST_FOLD_LEFT_970_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_971(o, s, l) BOOST_PP_LIST_FOLD_LEFT_971_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_972(o, s, l) BOOST_PP_LIST_FOLD_LEFT_972_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_973(o, s, l) BOOST_PP_LIST_FOLD_LEFT_973_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_974(o, s, l) BOOST_PP_LIST_FOLD_LEFT_974_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_975(o, s, l) BOOST_PP_LIST_FOLD_LEFT_975_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_976(o, s, l) BOOST_PP_LIST_FOLD_LEFT_976_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_977(o, s, l) BOOST_PP_LIST_FOLD_LEFT_977_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_978(o, s, l) BOOST_PP_LIST_FOLD_LEFT_978_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_979(o, s, l) BOOST_PP_LIST_FOLD_LEFT_979_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_980(o, s, l) BOOST_PP_LIST_FOLD_LEFT_980_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_981(o, s, l) BOOST_PP_LIST_FOLD_LEFT_981_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_982(o, s, l) BOOST_PP_LIST_FOLD_LEFT_982_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_983(o, s, l) BOOST_PP_LIST_FOLD_LEFT_983_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_984(o, s, l) BOOST_PP_LIST_FOLD_LEFT_984_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_985(o, s, l) BOOST_PP_LIST_FOLD_LEFT_985_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_986(o, s, l) BOOST_PP_LIST_FOLD_LEFT_986_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_987(o, s, l) BOOST_PP_LIST_FOLD_LEFT_987_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_988(o, s, l) BOOST_PP_LIST_FOLD_LEFT_988_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_989(o, s, l) BOOST_PP_LIST_FOLD_LEFT_989_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_990(o, s, l) BOOST_PP_LIST_FOLD_LEFT_990_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_991(o, s, l) BOOST_PP_LIST_FOLD_LEFT_991_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_992(o, s, l) BOOST_PP_LIST_FOLD_LEFT_992_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_993(o, s, l) BOOST_PP_LIST_FOLD_LEFT_993_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_994(o, s, l) BOOST_PP_LIST_FOLD_LEFT_994_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_995(o, s, l) BOOST_PP_LIST_FOLD_LEFT_995_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_996(o, s, l) BOOST_PP_LIST_FOLD_LEFT_996_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_997(o, s, l) BOOST_PP_LIST_FOLD_LEFT_997_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_998(o, s, l) BOOST_PP_LIST_FOLD_LEFT_998_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_999(o, s, l) BOOST_PP_LIST_FOLD_LEFT_999_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1000(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1000_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1001(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1001_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1002(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1002_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1003(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1003_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1004(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1004_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1005(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1005_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1006(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1006_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1007(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1007_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1008(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1008_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1009(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1009_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1010(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1010_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1011(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1011_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1012(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1012_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1013(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1013_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1014(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1014_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1015(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1015_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1016(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1016_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1017(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1017_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1018(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1018_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1019(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1019_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1020(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1020_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1021(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1021_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1022(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1022_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1023(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1023_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1024(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1024_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_LEFT_513_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_514, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(514, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_514_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_515, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(515, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_515_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_516, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(516, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_516_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_517, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(517, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_517_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_518, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(518, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_518_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_519, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(519, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_519_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_520, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(520, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_520_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_521, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(521, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_521_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_522, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(522, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_522_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_523, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(523, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_523_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_524, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(524, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_524_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_525, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(525, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_525_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_526, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(526, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_526_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_527, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(527, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_527_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_528, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(528, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_528_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_529, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(529, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_529_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_530, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(530, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_530_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_531, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(531, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_531_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_532, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(532, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_532_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_533, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(533, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_533_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_534, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(534, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_534_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_535, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(535, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_535_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_536, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(536, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_536_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_537, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(537, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_537_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_538, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(538, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_538_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_539, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(539, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_539_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_540, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(540, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_540_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_541, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(541, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_541_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_542, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(542, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_542_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_543, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(543, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_543_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_544, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(544, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_544_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_545, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(545, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_545_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_546, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(546, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_546_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_547, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(547, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_547_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_548, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(548, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_548_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_549, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(549, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_549_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_550, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(550, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_550_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_551, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(551, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_551_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_552, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(552, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_552_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_553, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(553, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_553_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_554, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(554, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_554_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_555, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(555, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_555_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_556, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(556, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_556_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_557, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(557, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_557_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_558, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(558, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_558_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_559, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(559, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_559_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_560, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(560, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_560_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_561, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(561, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_561_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_562, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(562, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_562_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_563, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(563, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_563_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_564, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(564, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_564_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_565, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(565, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_565_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_566, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(566, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_566_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_567, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(567, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_567_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_568, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(568, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_568_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_569, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(569, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_569_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_570, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(570, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_570_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_571, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(571, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_571_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_572, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(572, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_572_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_573, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(573, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_573_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_574, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(574, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_574_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_575, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(575, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_575_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_576, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(576, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_576_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_577, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(577, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_577_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_578, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(578, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_578_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_579, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(579, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_579_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_580, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(580, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_580_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_581, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(581, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_581_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_582, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(582, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_582_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_583, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(583, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_583_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_584, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(584, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_584_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_585, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(585, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_585_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_586, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(586, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_586_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_587, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(587, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_587_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_588, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(588, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_588_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_589, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(589, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_589_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_590, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(590, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_590_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_591, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(591, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_591_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_592, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(592, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_592_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_593, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(593, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_593_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_594, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(594, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_594_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_595, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(595, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_595_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_596, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(596, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_596_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_597, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(597, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_597_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_598, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(598, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_598_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_599, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(599, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_599_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_600, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(600, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_600_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_601, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(601, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_601_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_602, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(602, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_602_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_603, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(603, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_603_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_604, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(604, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_604_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_605, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(605, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_605_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_606, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(606, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_606_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_607, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(607, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_607_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_608, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(608, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_608_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_609, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(609, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_609_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_610, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(610, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_610_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_611, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(611, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_611_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_612, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(612, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_612_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_613, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(613, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_613_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_614, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(614, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_614_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_615, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(615, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_615_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_616, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(616, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_616_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_617, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(617, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_617_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_618, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(618, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_618_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_619, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(619, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_619_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_620, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(620, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_620_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_621, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(621, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_621_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_622, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(622, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_622_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_623, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(623, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_623_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_624, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(624, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_624_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_625, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(625, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_625_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_626, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(626, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_626_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_627, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(627, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_627_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_628, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(628, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_628_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_629, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(629, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_629_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_630, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(630, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_630_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_631, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(631, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_631_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_632, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(632, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_632_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_633, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(633, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_633_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_634, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(634, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_634_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_635, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(635, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_635_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_636, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(636, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_636_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_637, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(637, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_637_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_638, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(638, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_638_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_639, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(639, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_639_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_640, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(640, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_640_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_641, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(641, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_641_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_642, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(642, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_642_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_643, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(643, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_643_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_644, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(644, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_644_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_645, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(645, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_645_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_646, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(646, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_646_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_647, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(647, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_647_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_648, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(648, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_648_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_649, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(649, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_649_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_650, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(650, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_650_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_651, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(651, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_651_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_652, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(652, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_652_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_653, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(653, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_653_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_654, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(654, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_654_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_655, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(655, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_655_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_656, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(656, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_656_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_657, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(657, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_657_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_658, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(658, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_658_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_659, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(659, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_659_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_660, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(660, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_660_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_661, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(661, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_661_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_662, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(662, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_662_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_663, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(663, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_663_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_664, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(664, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_664_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_665, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(665, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_665_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_666, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(666, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_666_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_667, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(667, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_667_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_668, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(668, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_668_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_669, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(669, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_669_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_670, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(670, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_670_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_671, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(671, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_671_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_672, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(672, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_672_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_673, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(673, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_673_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_674, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(674, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_674_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_675, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(675, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_675_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_676, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(676, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_676_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_677, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(677, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_677_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_678, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(678, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_678_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_679, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(679, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_679_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_680, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(680, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_680_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_681, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(681, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_681_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_682, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(682, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_682_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_683, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(683, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_683_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_684, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(684, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_684_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_685, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(685, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_685_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_686, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(686, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_686_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_687, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(687, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_687_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_688, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(688, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_688_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_689, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(689, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_689_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_690, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(690, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_690_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_691, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(691, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_691_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_692, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(692, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_692_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_693, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(693, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_693_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_694, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(694, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_694_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_695, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(695, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_695_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_696, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(696, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_696_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_697, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(697, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_697_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_698, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(698, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_698_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_699, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(699, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_699_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_700, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(700, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_700_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_701, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(701, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_701_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_702, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(702, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_702_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_703, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(703, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_703_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_704, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(704, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_704_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_705, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(705, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_705_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_706, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(706, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_706_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_707, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(707, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_707_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_708, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(708, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_708_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_709, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(709, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_709_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_710, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(710, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_710_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_711, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(711, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_711_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_712, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(712, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_712_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_713, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(713, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_713_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_714, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(714, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_714_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_715, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(715, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_715_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_716, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(716, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_716_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_717, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(717, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_717_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_718, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(718, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_718_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_719, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(719, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_719_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_720, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(720, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_720_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_721, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(721, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_721_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_722, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(722, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_722_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_723, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(723, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_723_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_724, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(724, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_724_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_725, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(725, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_725_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_726, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(726, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_726_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_727, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(727, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_727_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_728, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(728, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_728_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_729, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(729, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_729_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_730, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(730, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_730_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_731, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(731, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_731_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_732, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(732, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_732_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_733, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(733, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_733_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_734, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(734, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_734_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_735, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(735, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_735_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_736, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(736, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_736_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_737, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(737, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_737_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_738, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(738, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_738_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_739, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(739, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_739_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_740, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(740, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_740_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_741, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(741, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_741_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_742, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(742, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_742_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_743, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(743, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_743_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_744, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(744, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_744_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_745, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(745, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_745_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_746, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(746, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_746_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_747, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(747, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_747_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_748, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(748, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_748_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_749, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(749, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_749_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_750, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(750, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_750_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_751, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(751, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_751_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_752, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(752, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_752_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_753, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(753, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_753_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_754, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(754, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_754_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_755, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(755, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_755_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_756, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(756, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_756_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_757, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(757, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_757_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_758, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(758, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_758_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_759, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(759, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_759_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_760, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(760, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_760_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_761, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(761, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_761_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_762, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(762, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_762_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_763, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(763, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_763_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_764, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(764, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_764_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_765, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(765, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_765_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_766, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(766, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_766_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_767, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(767, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_767_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_768, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(768, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_768_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_769, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(769, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_769_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_770, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(770, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_770_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_771, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(771, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_771_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_772, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(772, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_772_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_773, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(773, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_773_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_774, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(774, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_774_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_775, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(775, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_775_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_776, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(776, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_776_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_777, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(777, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_777_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_778, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(778, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_778_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_779, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(779, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_779_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_780, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(780, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_780_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_781, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(781, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_781_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_782, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(782, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_782_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_783, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(783, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_783_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_784, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(784, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_784_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_785, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(785, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_785_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_786, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(786, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_786_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_787, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(787, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_787_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_788, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(788, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_788_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_789, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(789, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_789_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_790, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(790, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_790_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_791, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(791, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_791_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_792, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(792, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_792_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_793, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(793, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_793_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_794, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(794, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_794_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_795, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(795, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_795_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_796, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(796, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_796_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_797, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(797, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_797_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_798, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(798, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_798_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_799, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(799, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_799_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_800, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(800, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_800_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_801, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(801, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_801_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_802, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(802, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_802_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_803, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(803, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_803_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_804, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(804, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_804_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_805, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(805, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_805_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_806, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(806, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_806_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_807, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(807, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_807_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_808, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(808, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_808_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_809, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(809, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_809_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_810, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(810, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_810_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_811, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(811, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_811_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_812, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(812, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_812_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_813, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(813, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_813_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_814, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(814, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_814_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_815, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(815, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_815_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_816, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(816, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_816_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_817, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(817, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_817_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_818, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(818, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_818_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_819, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(819, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_819_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_820, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(820, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_820_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_821, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(821, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_821_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_822, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(822, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_822_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_823, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(823, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_823_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_824, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(824, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_824_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_825, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(825, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_825_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_826, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(826, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_826_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_827, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(827, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_827_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_828, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(828, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_828_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_829, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(829, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_829_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_830, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(830, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_830_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_831, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(831, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_831_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_832, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(832, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_832_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_833, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(833, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_833_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_834, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(834, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_834_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_835, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(835, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_835_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_836, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(836, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_836_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_837, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(837, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_837_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_838, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(838, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_838_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_839, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(839, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_839_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_840, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(840, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_840_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_841, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(841, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_841_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_842, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(842, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_842_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_843, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(843, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_843_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_844, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(844, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_844_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_845, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(845, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_845_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_846, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(846, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_846_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_847, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(847, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_847_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_848, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(848, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_848_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_849, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(849, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_849_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_850, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(850, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_850_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_851, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(851, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_851_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_852, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(852, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_852_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_853, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(853, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_853_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_854, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(854, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_854_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_855, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(855, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_855_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_856, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(856, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_856_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_857, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(857, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_857_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_858, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(858, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_858_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_859, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(859, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_859_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_860, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(860, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_860_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_861, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(861, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_861_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_862, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(862, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_862_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_863, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(863, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_863_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_864, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(864, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_864_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_865, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(865, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_865_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_866, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(866, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_866_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_867, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(867, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_867_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_868, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(868, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_868_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_869, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(869, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_869_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_870, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(870, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_870_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_871, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(871, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_871_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_872, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(872, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_872_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_873, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(873, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_873_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_874, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(874, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_874_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_875, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(875, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_875_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_876, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(876, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_876_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_877, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(877, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_877_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_878, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(878, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_878_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_879, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(879, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_879_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_880, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(880, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_880_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_881, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(881, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_881_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_882, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(882, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_882_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_883, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(883, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_883_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_884, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(884, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_884_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_885, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(885, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_885_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_886, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(886, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_886_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_887, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(887, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_887_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_888, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(888, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_888_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_889, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(889, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_889_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_890, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(890, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_890_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_891, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(891, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_891_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_892, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(892, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_892_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_893, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(893, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_893_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_894, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(894, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_894_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_895, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(895, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_895_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_896, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(896, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_896_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_897, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(897, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_897_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_898, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(898, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_898_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_899, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(899, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_899_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_900, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(900, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_900_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_901, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(901, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_901_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_902, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(902, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_902_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_903, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(903, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_903_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_904, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(904, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_904_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_905, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(905, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_905_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_906, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(906, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_906_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_907, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(907, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_907_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_908, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(908, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_908_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_909, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(909, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_909_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_910, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(910, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_910_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_911, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(911, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_911_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_912, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(912, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_912_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_913, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(913, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_913_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_914, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(914, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_914_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_915, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(915, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_915_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_916, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(916, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_916_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_917, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(917, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_917_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_918, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(918, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_918_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_919, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(919, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_919_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_920, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(920, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_920_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_921, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(921, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_921_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_922, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(922, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_922_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_923, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(923, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_923_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_924, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(924, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_924_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_925, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(925, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_925_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_926, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(926, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_926_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_927, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(927, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_927_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_928, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(928, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_928_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_929, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(929, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_929_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_930, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(930, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_930_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_931, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(931, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_931_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_932, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(932, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_932_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_933, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(933, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_933_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_934, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(934, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_934_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_935, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(935, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_935_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_936, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(936, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_936_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_937, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(937, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_937_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_938, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(938, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_938_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_939, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(939, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_939_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_940, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(940, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_940_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_941, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(941, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_941_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_942, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(942, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_942_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_943, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(943, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_943_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_944, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(944, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_944_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_945, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(945, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_945_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_946, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(946, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_946_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_947, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(947, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_947_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_948, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(948, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_948_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_949, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(949, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_949_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_950, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(950, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_950_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_951, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(951, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_951_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_952, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(952, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_952_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_953, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(953, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_953_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_954, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(954, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_954_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_955, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(955, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_955_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_956, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(956, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_956_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_957, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(957, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_957_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_958, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(958, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_958_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_959, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(959, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_959_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_960, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(960, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_960_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_961, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(961, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_961_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_962, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(962, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_962_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_963, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(963, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_963_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_964, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(964, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_964_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_965, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(965, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_965_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_966, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(966, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_966_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_967, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(967, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_967_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_968, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(968, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_968_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_969, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(969, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_969_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_970, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(970, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_970_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_971, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(971, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_971_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_972, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(972, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_972_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_973, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(973, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_973_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_974, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(974, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_974_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_975, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(975, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_975_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_976, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(976, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_976_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_977, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(977, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_977_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_978, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(978, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_978_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_979, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(979, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_979_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_980, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(980, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_980_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_981, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(981, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_981_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_982, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(982, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_982_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_983, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(983, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_983_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_984, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(984, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_984_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_985, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(985, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_985_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_986, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(986, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_986_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_987, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(987, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_987_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_988, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(988, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_988_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_989, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(989, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_989_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_990, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(990, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_990_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_991, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(991, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_991_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_992, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(992, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_992_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_993, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(993, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_993_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_994, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(994, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_994_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_995, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(995, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_995_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_996, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(996, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_996_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_997, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(997, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_997_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_998, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(998, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_998_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_999, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(999, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_999_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1000, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1000, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1000_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1001, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1001, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1001_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1002, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1002, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1002_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1003, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1003, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1003_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1004, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1004, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1004_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1005, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1005, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1005_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1006, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1006, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1006_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1007, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1007, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1007_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1008, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1008, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1008_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1009, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1009, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1009_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1010, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1010, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1010_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1011, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1011, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1011_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1012, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1012, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1012_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1013, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1013, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1013_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1014, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1014, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1014_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1015, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1015, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1015_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1016, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1016, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1016_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1017, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1017, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1017_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1018, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1018, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1018_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1019, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1019, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1019_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1020, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1020, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1020_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1021, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1021, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1021_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1022, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1022, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1022_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1023, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1023, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1023_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1024, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1024, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1024_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1025, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1025, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp deleted file mode 100644 index d8729ca41c..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp +++ /dev/null @@ -1,533 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_256_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_256_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_0(o, s, l) BOOST_PP_LIST_FOLD_LEFT_0_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_LEFT_0_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp deleted file mode 100644 index 8b4f074b1c..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_512_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_512_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_LIST_FOLD_LEFT_257_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_258(o, s, l) BOOST_PP_LIST_FOLD_LEFT_258_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_259(o, s, l) BOOST_PP_LIST_FOLD_LEFT_259_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_260(o, s, l) BOOST_PP_LIST_FOLD_LEFT_260_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_261(o, s, l) BOOST_PP_LIST_FOLD_LEFT_261_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_262(o, s, l) BOOST_PP_LIST_FOLD_LEFT_262_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_263(o, s, l) BOOST_PP_LIST_FOLD_LEFT_263_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_264(o, s, l) BOOST_PP_LIST_FOLD_LEFT_264_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_265(o, s, l) BOOST_PP_LIST_FOLD_LEFT_265_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_266(o, s, l) BOOST_PP_LIST_FOLD_LEFT_266_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_267(o, s, l) BOOST_PP_LIST_FOLD_LEFT_267_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_268(o, s, l) BOOST_PP_LIST_FOLD_LEFT_268_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_269(o, s, l) BOOST_PP_LIST_FOLD_LEFT_269_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_270(o, s, l) BOOST_PP_LIST_FOLD_LEFT_270_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_271(o, s, l) BOOST_PP_LIST_FOLD_LEFT_271_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_272(o, s, l) BOOST_PP_LIST_FOLD_LEFT_272_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_273(o, s, l) BOOST_PP_LIST_FOLD_LEFT_273_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_274(o, s, l) BOOST_PP_LIST_FOLD_LEFT_274_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_275(o, s, l) BOOST_PP_LIST_FOLD_LEFT_275_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_276(o, s, l) BOOST_PP_LIST_FOLD_LEFT_276_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_277(o, s, l) BOOST_PP_LIST_FOLD_LEFT_277_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_278(o, s, l) BOOST_PP_LIST_FOLD_LEFT_278_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_279(o, s, l) BOOST_PP_LIST_FOLD_LEFT_279_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_280(o, s, l) BOOST_PP_LIST_FOLD_LEFT_280_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_281(o, s, l) BOOST_PP_LIST_FOLD_LEFT_281_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_282(o, s, l) BOOST_PP_LIST_FOLD_LEFT_282_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_283(o, s, l) BOOST_PP_LIST_FOLD_LEFT_283_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_284(o, s, l) BOOST_PP_LIST_FOLD_LEFT_284_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_285(o, s, l) BOOST_PP_LIST_FOLD_LEFT_285_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_286(o, s, l) BOOST_PP_LIST_FOLD_LEFT_286_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_287(o, s, l) BOOST_PP_LIST_FOLD_LEFT_287_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_288(o, s, l) BOOST_PP_LIST_FOLD_LEFT_288_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_289(o, s, l) BOOST_PP_LIST_FOLD_LEFT_289_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_290(o, s, l) BOOST_PP_LIST_FOLD_LEFT_290_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_291(o, s, l) BOOST_PP_LIST_FOLD_LEFT_291_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_292(o, s, l) BOOST_PP_LIST_FOLD_LEFT_292_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_293(o, s, l) BOOST_PP_LIST_FOLD_LEFT_293_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_294(o, s, l) BOOST_PP_LIST_FOLD_LEFT_294_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_295(o, s, l) BOOST_PP_LIST_FOLD_LEFT_295_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_296(o, s, l) BOOST_PP_LIST_FOLD_LEFT_296_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_297(o, s, l) BOOST_PP_LIST_FOLD_LEFT_297_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_298(o, s, l) BOOST_PP_LIST_FOLD_LEFT_298_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_299(o, s, l) BOOST_PP_LIST_FOLD_LEFT_299_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_300(o, s, l) BOOST_PP_LIST_FOLD_LEFT_300_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_301(o, s, l) BOOST_PP_LIST_FOLD_LEFT_301_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_302(o, s, l) BOOST_PP_LIST_FOLD_LEFT_302_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_303(o, s, l) BOOST_PP_LIST_FOLD_LEFT_303_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_304(o, s, l) BOOST_PP_LIST_FOLD_LEFT_304_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_305(o, s, l) BOOST_PP_LIST_FOLD_LEFT_305_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_306(o, s, l) BOOST_PP_LIST_FOLD_LEFT_306_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_307(o, s, l) BOOST_PP_LIST_FOLD_LEFT_307_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_308(o, s, l) BOOST_PP_LIST_FOLD_LEFT_308_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_309(o, s, l) BOOST_PP_LIST_FOLD_LEFT_309_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_310(o, s, l) BOOST_PP_LIST_FOLD_LEFT_310_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_311(o, s, l) BOOST_PP_LIST_FOLD_LEFT_311_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_312(o, s, l) BOOST_PP_LIST_FOLD_LEFT_312_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_313(o, s, l) BOOST_PP_LIST_FOLD_LEFT_313_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_314(o, s, l) BOOST_PP_LIST_FOLD_LEFT_314_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_315(o, s, l) BOOST_PP_LIST_FOLD_LEFT_315_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_316(o, s, l) BOOST_PP_LIST_FOLD_LEFT_316_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_317(o, s, l) BOOST_PP_LIST_FOLD_LEFT_317_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_318(o, s, l) BOOST_PP_LIST_FOLD_LEFT_318_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_319(o, s, l) BOOST_PP_LIST_FOLD_LEFT_319_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_320(o, s, l) BOOST_PP_LIST_FOLD_LEFT_320_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_321(o, s, l) BOOST_PP_LIST_FOLD_LEFT_321_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_322(o, s, l) BOOST_PP_LIST_FOLD_LEFT_322_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_323(o, s, l) BOOST_PP_LIST_FOLD_LEFT_323_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_324(o, s, l) BOOST_PP_LIST_FOLD_LEFT_324_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_325(o, s, l) BOOST_PP_LIST_FOLD_LEFT_325_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_326(o, s, l) BOOST_PP_LIST_FOLD_LEFT_326_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_327(o, s, l) BOOST_PP_LIST_FOLD_LEFT_327_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_328(o, s, l) BOOST_PP_LIST_FOLD_LEFT_328_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_329(o, s, l) BOOST_PP_LIST_FOLD_LEFT_329_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_330(o, s, l) BOOST_PP_LIST_FOLD_LEFT_330_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_331(o, s, l) BOOST_PP_LIST_FOLD_LEFT_331_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_332(o, s, l) BOOST_PP_LIST_FOLD_LEFT_332_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_333(o, s, l) BOOST_PP_LIST_FOLD_LEFT_333_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_334(o, s, l) BOOST_PP_LIST_FOLD_LEFT_334_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_335(o, s, l) BOOST_PP_LIST_FOLD_LEFT_335_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_336(o, s, l) BOOST_PP_LIST_FOLD_LEFT_336_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_337(o, s, l) BOOST_PP_LIST_FOLD_LEFT_337_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_338(o, s, l) BOOST_PP_LIST_FOLD_LEFT_338_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_339(o, s, l) BOOST_PP_LIST_FOLD_LEFT_339_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_340(o, s, l) BOOST_PP_LIST_FOLD_LEFT_340_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_341(o, s, l) BOOST_PP_LIST_FOLD_LEFT_341_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_342(o, s, l) BOOST_PP_LIST_FOLD_LEFT_342_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_343(o, s, l) BOOST_PP_LIST_FOLD_LEFT_343_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_344(o, s, l) BOOST_PP_LIST_FOLD_LEFT_344_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_345(o, s, l) BOOST_PP_LIST_FOLD_LEFT_345_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_346(o, s, l) BOOST_PP_LIST_FOLD_LEFT_346_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_347(o, s, l) BOOST_PP_LIST_FOLD_LEFT_347_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_348(o, s, l) BOOST_PP_LIST_FOLD_LEFT_348_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_349(o, s, l) BOOST_PP_LIST_FOLD_LEFT_349_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_350(o, s, l) BOOST_PP_LIST_FOLD_LEFT_350_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_351(o, s, l) BOOST_PP_LIST_FOLD_LEFT_351_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_352(o, s, l) BOOST_PP_LIST_FOLD_LEFT_352_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_353(o, s, l) BOOST_PP_LIST_FOLD_LEFT_353_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_354(o, s, l) BOOST_PP_LIST_FOLD_LEFT_354_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_355(o, s, l) BOOST_PP_LIST_FOLD_LEFT_355_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_356(o, s, l) BOOST_PP_LIST_FOLD_LEFT_356_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_357(o, s, l) BOOST_PP_LIST_FOLD_LEFT_357_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_358(o, s, l) BOOST_PP_LIST_FOLD_LEFT_358_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_359(o, s, l) BOOST_PP_LIST_FOLD_LEFT_359_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_360(o, s, l) BOOST_PP_LIST_FOLD_LEFT_360_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_361(o, s, l) BOOST_PP_LIST_FOLD_LEFT_361_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_362(o, s, l) BOOST_PP_LIST_FOLD_LEFT_362_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_363(o, s, l) BOOST_PP_LIST_FOLD_LEFT_363_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_364(o, s, l) BOOST_PP_LIST_FOLD_LEFT_364_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_365(o, s, l) BOOST_PP_LIST_FOLD_LEFT_365_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_366(o, s, l) BOOST_PP_LIST_FOLD_LEFT_366_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_367(o, s, l) BOOST_PP_LIST_FOLD_LEFT_367_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_368(o, s, l) BOOST_PP_LIST_FOLD_LEFT_368_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_369(o, s, l) BOOST_PP_LIST_FOLD_LEFT_369_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_370(o, s, l) BOOST_PP_LIST_FOLD_LEFT_370_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_371(o, s, l) BOOST_PP_LIST_FOLD_LEFT_371_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_372(o, s, l) BOOST_PP_LIST_FOLD_LEFT_372_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_373(o, s, l) BOOST_PP_LIST_FOLD_LEFT_373_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_374(o, s, l) BOOST_PP_LIST_FOLD_LEFT_374_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_375(o, s, l) BOOST_PP_LIST_FOLD_LEFT_375_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_376(o, s, l) BOOST_PP_LIST_FOLD_LEFT_376_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_377(o, s, l) BOOST_PP_LIST_FOLD_LEFT_377_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_378(o, s, l) BOOST_PP_LIST_FOLD_LEFT_378_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_379(o, s, l) BOOST_PP_LIST_FOLD_LEFT_379_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_380(o, s, l) BOOST_PP_LIST_FOLD_LEFT_380_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_381(o, s, l) BOOST_PP_LIST_FOLD_LEFT_381_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_382(o, s, l) BOOST_PP_LIST_FOLD_LEFT_382_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_383(o, s, l) BOOST_PP_LIST_FOLD_LEFT_383_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_384(o, s, l) BOOST_PP_LIST_FOLD_LEFT_384_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_385(o, s, l) BOOST_PP_LIST_FOLD_LEFT_385_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_386(o, s, l) BOOST_PP_LIST_FOLD_LEFT_386_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_387(o, s, l) BOOST_PP_LIST_FOLD_LEFT_387_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_388(o, s, l) BOOST_PP_LIST_FOLD_LEFT_388_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_389(o, s, l) BOOST_PP_LIST_FOLD_LEFT_389_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_390(o, s, l) BOOST_PP_LIST_FOLD_LEFT_390_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_391(o, s, l) BOOST_PP_LIST_FOLD_LEFT_391_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_392(o, s, l) BOOST_PP_LIST_FOLD_LEFT_392_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_393(o, s, l) BOOST_PP_LIST_FOLD_LEFT_393_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_394(o, s, l) BOOST_PP_LIST_FOLD_LEFT_394_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_395(o, s, l) BOOST_PP_LIST_FOLD_LEFT_395_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_396(o, s, l) BOOST_PP_LIST_FOLD_LEFT_396_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_397(o, s, l) BOOST_PP_LIST_FOLD_LEFT_397_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_398(o, s, l) BOOST_PP_LIST_FOLD_LEFT_398_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_399(o, s, l) BOOST_PP_LIST_FOLD_LEFT_399_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_400(o, s, l) BOOST_PP_LIST_FOLD_LEFT_400_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_401(o, s, l) BOOST_PP_LIST_FOLD_LEFT_401_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_402(o, s, l) BOOST_PP_LIST_FOLD_LEFT_402_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_403(o, s, l) BOOST_PP_LIST_FOLD_LEFT_403_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_404(o, s, l) BOOST_PP_LIST_FOLD_LEFT_404_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_405(o, s, l) BOOST_PP_LIST_FOLD_LEFT_405_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_406(o, s, l) BOOST_PP_LIST_FOLD_LEFT_406_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_407(o, s, l) BOOST_PP_LIST_FOLD_LEFT_407_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_408(o, s, l) BOOST_PP_LIST_FOLD_LEFT_408_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_409(o, s, l) BOOST_PP_LIST_FOLD_LEFT_409_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_410(o, s, l) BOOST_PP_LIST_FOLD_LEFT_410_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_411(o, s, l) BOOST_PP_LIST_FOLD_LEFT_411_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_412(o, s, l) BOOST_PP_LIST_FOLD_LEFT_412_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_413(o, s, l) BOOST_PP_LIST_FOLD_LEFT_413_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_414(o, s, l) BOOST_PP_LIST_FOLD_LEFT_414_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_415(o, s, l) BOOST_PP_LIST_FOLD_LEFT_415_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_416(o, s, l) BOOST_PP_LIST_FOLD_LEFT_416_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_417(o, s, l) BOOST_PP_LIST_FOLD_LEFT_417_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_418(o, s, l) BOOST_PP_LIST_FOLD_LEFT_418_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_419(o, s, l) BOOST_PP_LIST_FOLD_LEFT_419_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_420(o, s, l) BOOST_PP_LIST_FOLD_LEFT_420_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_421(o, s, l) BOOST_PP_LIST_FOLD_LEFT_421_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_422(o, s, l) BOOST_PP_LIST_FOLD_LEFT_422_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_423(o, s, l) BOOST_PP_LIST_FOLD_LEFT_423_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_424(o, s, l) BOOST_PP_LIST_FOLD_LEFT_424_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_425(o, s, l) BOOST_PP_LIST_FOLD_LEFT_425_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_426(o, s, l) BOOST_PP_LIST_FOLD_LEFT_426_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_427(o, s, l) BOOST_PP_LIST_FOLD_LEFT_427_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_428(o, s, l) BOOST_PP_LIST_FOLD_LEFT_428_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_429(o, s, l) BOOST_PP_LIST_FOLD_LEFT_429_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_430(o, s, l) BOOST_PP_LIST_FOLD_LEFT_430_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_431(o, s, l) BOOST_PP_LIST_FOLD_LEFT_431_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_432(o, s, l) BOOST_PP_LIST_FOLD_LEFT_432_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_433(o, s, l) BOOST_PP_LIST_FOLD_LEFT_433_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_434(o, s, l) BOOST_PP_LIST_FOLD_LEFT_434_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_435(o, s, l) BOOST_PP_LIST_FOLD_LEFT_435_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_436(o, s, l) BOOST_PP_LIST_FOLD_LEFT_436_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_437(o, s, l) BOOST_PP_LIST_FOLD_LEFT_437_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_438(o, s, l) BOOST_PP_LIST_FOLD_LEFT_438_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_439(o, s, l) BOOST_PP_LIST_FOLD_LEFT_439_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_440(o, s, l) BOOST_PP_LIST_FOLD_LEFT_440_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_441(o, s, l) BOOST_PP_LIST_FOLD_LEFT_441_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_442(o, s, l) BOOST_PP_LIST_FOLD_LEFT_442_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_443(o, s, l) BOOST_PP_LIST_FOLD_LEFT_443_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_444(o, s, l) BOOST_PP_LIST_FOLD_LEFT_444_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_445(o, s, l) BOOST_PP_LIST_FOLD_LEFT_445_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_446(o, s, l) BOOST_PP_LIST_FOLD_LEFT_446_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_447(o, s, l) BOOST_PP_LIST_FOLD_LEFT_447_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_448(o, s, l) BOOST_PP_LIST_FOLD_LEFT_448_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_449(o, s, l) BOOST_PP_LIST_FOLD_LEFT_449_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_450(o, s, l) BOOST_PP_LIST_FOLD_LEFT_450_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_451(o, s, l) BOOST_PP_LIST_FOLD_LEFT_451_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_452(o, s, l) BOOST_PP_LIST_FOLD_LEFT_452_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_453(o, s, l) BOOST_PP_LIST_FOLD_LEFT_453_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_454(o, s, l) BOOST_PP_LIST_FOLD_LEFT_454_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_455(o, s, l) BOOST_PP_LIST_FOLD_LEFT_455_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_456(o, s, l) BOOST_PP_LIST_FOLD_LEFT_456_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_457(o, s, l) BOOST_PP_LIST_FOLD_LEFT_457_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_458(o, s, l) BOOST_PP_LIST_FOLD_LEFT_458_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_459(o, s, l) BOOST_PP_LIST_FOLD_LEFT_459_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_460(o, s, l) BOOST_PP_LIST_FOLD_LEFT_460_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_461(o, s, l) BOOST_PP_LIST_FOLD_LEFT_461_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_462(o, s, l) BOOST_PP_LIST_FOLD_LEFT_462_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_463(o, s, l) BOOST_PP_LIST_FOLD_LEFT_463_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_464(o, s, l) BOOST_PP_LIST_FOLD_LEFT_464_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_465(o, s, l) BOOST_PP_LIST_FOLD_LEFT_465_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_466(o, s, l) BOOST_PP_LIST_FOLD_LEFT_466_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_467(o, s, l) BOOST_PP_LIST_FOLD_LEFT_467_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_468(o, s, l) BOOST_PP_LIST_FOLD_LEFT_468_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_469(o, s, l) BOOST_PP_LIST_FOLD_LEFT_469_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_470(o, s, l) BOOST_PP_LIST_FOLD_LEFT_470_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_471(o, s, l) BOOST_PP_LIST_FOLD_LEFT_471_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_472(o, s, l) BOOST_PP_LIST_FOLD_LEFT_472_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_473(o, s, l) BOOST_PP_LIST_FOLD_LEFT_473_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_474(o, s, l) BOOST_PP_LIST_FOLD_LEFT_474_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_475(o, s, l) BOOST_PP_LIST_FOLD_LEFT_475_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_476(o, s, l) BOOST_PP_LIST_FOLD_LEFT_476_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_477(o, s, l) BOOST_PP_LIST_FOLD_LEFT_477_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_478(o, s, l) BOOST_PP_LIST_FOLD_LEFT_478_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_479(o, s, l) BOOST_PP_LIST_FOLD_LEFT_479_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_480(o, s, l) BOOST_PP_LIST_FOLD_LEFT_480_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_481(o, s, l) BOOST_PP_LIST_FOLD_LEFT_481_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_482(o, s, l) BOOST_PP_LIST_FOLD_LEFT_482_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_483(o, s, l) BOOST_PP_LIST_FOLD_LEFT_483_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_484(o, s, l) BOOST_PP_LIST_FOLD_LEFT_484_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_485(o, s, l) BOOST_PP_LIST_FOLD_LEFT_485_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_486(o, s, l) BOOST_PP_LIST_FOLD_LEFT_486_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_487(o, s, l) BOOST_PP_LIST_FOLD_LEFT_487_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_488(o, s, l) BOOST_PP_LIST_FOLD_LEFT_488_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_489(o, s, l) BOOST_PP_LIST_FOLD_LEFT_489_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_490(o, s, l) BOOST_PP_LIST_FOLD_LEFT_490_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_491(o, s, l) BOOST_PP_LIST_FOLD_LEFT_491_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_492(o, s, l) BOOST_PP_LIST_FOLD_LEFT_492_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_493(o, s, l) BOOST_PP_LIST_FOLD_LEFT_493_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_494(o, s, l) BOOST_PP_LIST_FOLD_LEFT_494_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_495(o, s, l) BOOST_PP_LIST_FOLD_LEFT_495_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_496(o, s, l) BOOST_PP_LIST_FOLD_LEFT_496_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_497(o, s, l) BOOST_PP_LIST_FOLD_LEFT_497_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_498(o, s, l) BOOST_PP_LIST_FOLD_LEFT_498_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_499(o, s, l) BOOST_PP_LIST_FOLD_LEFT_499_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_500(o, s, l) BOOST_PP_LIST_FOLD_LEFT_500_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_501(o, s, l) BOOST_PP_LIST_FOLD_LEFT_501_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_502(o, s, l) BOOST_PP_LIST_FOLD_LEFT_502_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_503(o, s, l) BOOST_PP_LIST_FOLD_LEFT_503_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_504(o, s, l) BOOST_PP_LIST_FOLD_LEFT_504_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_505(o, s, l) BOOST_PP_LIST_FOLD_LEFT_505_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_506(o, s, l) BOOST_PP_LIST_FOLD_LEFT_506_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_507(o, s, l) BOOST_PP_LIST_FOLD_LEFT_507_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_508(o, s, l) BOOST_PP_LIST_FOLD_LEFT_508_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_509(o, s, l) BOOST_PP_LIST_FOLD_LEFT_509_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_510(o, s, l) BOOST_PP_LIST_FOLD_LEFT_510_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_511(o, s, l) BOOST_PP_LIST_FOLD_LEFT_511_D(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_512(o, s, l) BOOST_PP_LIST_FOLD_LEFT_512_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_LEFT_257_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_258, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(258, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_258_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_259, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(259, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_259_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_260, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(260, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_260_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_261, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(261, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_261_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_262, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(262, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_262_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_263, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(263, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_263_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_264, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(264, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_264_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_265, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(265, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_265_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_266, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(266, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_266_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_267, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(267, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_267_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_268, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(268, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_268_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_269, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(269, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_269_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_270, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(270, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_270_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_271, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(271, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_271_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_272, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(272, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_272_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_273, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(273, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_273_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_274, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(274, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_274_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_275, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(275, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_275_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_276, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(276, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_276_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_277, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(277, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_277_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_278, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(278, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_278_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_279, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(279, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_279_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_280, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(280, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_280_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_281, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(281, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_281_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_282, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(282, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_282_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_283, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(283, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_283_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_284, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(284, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_284_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_285, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(285, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_285_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_286, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(286, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_286_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_287, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(287, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_287_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_288, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(288, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_288_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_289, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(289, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_289_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_290, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(290, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_290_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_291, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(291, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_291_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_292, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(292, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_292_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_293, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(293, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_293_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_294, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(294, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_294_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_295, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(295, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_295_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_296, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(296, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_296_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_297, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(297, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_297_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_298, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(298, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_298_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_299, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(299, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_299_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_300, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(300, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_300_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_301, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(301, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_301_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_302, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(302, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_302_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_303, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(303, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_303_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_304, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(304, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_304_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_305, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(305, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_305_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_306, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(306, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_306_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_307, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(307, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_307_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_308, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(308, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_308_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_309, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(309, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_309_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_310, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(310, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_310_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_311, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(311, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_311_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_312, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(312, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_312_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_313, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(313, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_313_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_314, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(314, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_314_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_315, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(315, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_315_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_316, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(316, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_316_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_317, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(317, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_317_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_318, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(318, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_318_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_319, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(319, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_319_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_320, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(320, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_320_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_321, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(321, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_321_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_322, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(322, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_322_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_323, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(323, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_323_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_324, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(324, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_324_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_325, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(325, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_325_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_326, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(326, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_326_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_327, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(327, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_327_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_328, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(328, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_328_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_329, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(329, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_329_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_330, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(330, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_330_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_331, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(331, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_331_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_332, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(332, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_332_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_333, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(333, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_333_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_334, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(334, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_334_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_335, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(335, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_335_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_336, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(336, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_336_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_337, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(337, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_337_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_338, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(338, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_338_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_339, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(339, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_339_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_340, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(340, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_340_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_341, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(341, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_341_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_342, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(342, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_342_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_343, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(343, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_343_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_344, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(344, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_344_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_345, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(345, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_345_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_346, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(346, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_346_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_347, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(347, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_347_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_348, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(348, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_348_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_349, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(349, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_349_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_350, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(350, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_350_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_351, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(351, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_351_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_352, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(352, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_352_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_353, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(353, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_353_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_354, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(354, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_354_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_355, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(355, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_355_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_356, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(356, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_356_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_357, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(357, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_357_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_358, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(358, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_358_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_359, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(359, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_359_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_360, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(360, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_360_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_361, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(361, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_361_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_362, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(362, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_362_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_363, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(363, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_363_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_364, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(364, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_364_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_365, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(365, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_365_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_366, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(366, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_366_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_367, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(367, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_367_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_368, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(368, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_368_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_369, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(369, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_369_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_370, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(370, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_370_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_371, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(371, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_371_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_372, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(372, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_372_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_373, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(373, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_373_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_374, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(374, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_374_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_375, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(375, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_375_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_376, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(376, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_376_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_377, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(377, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_377_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_378, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(378, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_378_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_379, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(379, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_379_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_380, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(380, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_380_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_381, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(381, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_381_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_382, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(382, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_382_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_383, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(383, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_383_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_384, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(384, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_384_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_385, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(385, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_385_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_386, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(386, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_386_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_387, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(387, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_387_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_388, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(388, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_388_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_389, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(389, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_389_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_390, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(390, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_390_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_391, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(391, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_391_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_392, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(392, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_392_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_393, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(393, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_393_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_394, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(394, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_394_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_395, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(395, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_395_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_396, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(396, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_396_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_397, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(397, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_397_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_398, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(398, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_398_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_399, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(399, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_399_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_400, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(400, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_400_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_401, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(401, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_401_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_402, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(402, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_402_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_403, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(403, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_403_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_404, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(404, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_404_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_405, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(405, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_405_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_406, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(406, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_406_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_407, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(407, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_407_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_408, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(408, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_408_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_409, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(409, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_409_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_410, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(410, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_410_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_411, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(411, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_411_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_412, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(412, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_412_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_413, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(413, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_413_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_414, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(414, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_414_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_415, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(415, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_415_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_416, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(416, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_416_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_417, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(417, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_417_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_418, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(418, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_418_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_419, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(419, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_419_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_420, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(420, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_420_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_421, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(421, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_421_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_422, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(422, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_422_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_423, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(423, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_423_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_424, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(424, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_424_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_425, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(425, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_425_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_426, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(426, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_426_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_427, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(427, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_427_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_428, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(428, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_428_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_429, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(429, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_429_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_430, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(430, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_430_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_431, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(431, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_431_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_432, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(432, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_432_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_433, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(433, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_433_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_434, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(434, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_434_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_435, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(435, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_435_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_436, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(436, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_436_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_437, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(437, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_437_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_438, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(438, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_438_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_439, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(439, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_439_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_440, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(440, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_440_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_441, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(441, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_441_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_442, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(442, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_442_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_443, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(443, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_443_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_444, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(444, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_444_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_445, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(445, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_445_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_446, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(446, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_446_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_447, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(447, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_447_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_448, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(448, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_448_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_449, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(449, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_449_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_450, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(450, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_450_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_451, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(451, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_451_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_452, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(452, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_452_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_453, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(453, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_453_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_454, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(454, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_454_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_455, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(455, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_455_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_456, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(456, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_456_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_457, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(457, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_457_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_458, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(458, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_458_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_459, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(459, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_459_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_460, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(460, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_460_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_461, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(461, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_461_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_462, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(462, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_462_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_463, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(463, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_463_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_464, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(464, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_464_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_465, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(465, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_465_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_466, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(466, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_466_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_467, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(467, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_467_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_468, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(468, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_468_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_469, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(469, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_469_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_470, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(470, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_470_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_471, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(471, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_471_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_472, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(472, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_472_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_473, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(473, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_473_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_474, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(474, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_474_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_475, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(475, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_475_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_476, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(476, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_476_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_477, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(477, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_477_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_478, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(478, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_478_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_479, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(479, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_479_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_480, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(480, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_480_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_481, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(481, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_481_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_482, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(482, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_482_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_483, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(483, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_483_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_484, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(484, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_484_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_485, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(485, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_485_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_486, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(486, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_486_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_487, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(487, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_487_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_488, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(488, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_488_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_489, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(489, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_489_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_490, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(490, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_490_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_491, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(491, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_491_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_492, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(492, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_492_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_493, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(493, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_493_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_494, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(494, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_494_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_495, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(495, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_495_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_496, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(496, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_496_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_497, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(497, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_497_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_498, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(498, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_498_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_499, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(499, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_499_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_500, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(500, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_500_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_501, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(501, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_501_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_502, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(502, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_502_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_503, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(503, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_503_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_504, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(504, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_504_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_505, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(505, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_505_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_506, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(506, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_506_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_507, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(507, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_507_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_508, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(508, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_508_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_509, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(509, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_509_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_510, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(510, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_510_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_511, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(511, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_511_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_512, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(512, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_512_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_513, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(513, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp deleted file mode 100644 index 008e866683..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp +++ /dev/null @@ -1,1557 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_1024_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_1024_HPP -# -# define BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_513_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_514(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_514_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_515(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_515_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_516(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_516_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_517(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_517_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_518(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_518_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_519(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_519_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_520(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_520_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_521(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_521_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_522(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_522_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_523(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_523_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_524(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_524_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_525(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_525_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_526(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_526_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_527(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_527_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_528(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_528_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_529(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_529_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_530(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_530_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_531(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_531_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_532(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_532_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_533(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_533_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_534(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_534_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_535(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_535_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_536(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_536_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_537(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_537_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_538(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_538_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_539(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_539_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_540(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_540_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_541(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_541_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_542(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_542_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_543(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_543_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_544(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_544_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_545(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_545_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_546(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_546_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_547(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_547_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_548(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_548_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_549(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_549_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_550(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_550_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_551(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_551_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_552(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_552_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_553(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_553_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_554(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_554_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_555(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_555_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_556(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_556_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_557(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_557_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_558(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_558_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_559(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_559_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_560(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_560_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_561(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_561_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_562(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_562_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_563(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_563_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_564(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_564_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_565(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_565_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_566(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_566_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_567(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_567_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_568(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_568_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_569(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_569_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_570(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_570_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_571(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_571_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_572(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_572_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_573(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_573_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_574(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_574_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_575(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_575_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_576(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_576_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_577(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_577_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_578(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_578_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_579(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_579_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_580(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_580_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_581(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_581_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_582(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_582_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_583(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_583_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_584(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_584_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_585(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_585_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_586(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_586_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_587(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_587_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_588(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_588_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_589(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_589_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_590(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_590_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_591(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_591_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_592(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_592_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_593(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_593_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_594(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_594_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_595(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_595_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_596(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_596_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_597(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_597_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_598(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_598_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_599(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_599_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_600(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_600_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_601(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_601_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_602(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_602_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_603(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_603_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_604(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_604_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_605(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_605_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_606(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_606_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_607(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_607_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_608(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_608_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_609(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_609_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_610(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_610_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_611(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_611_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_612(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_612_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_613(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_613_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_614(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_614_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_615(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_615_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_616(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_616_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_617(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_617_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_618(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_618_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_619(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_619_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_620(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_620_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_621(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_621_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_622(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_622_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_623(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_623_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_624(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_624_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_625(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_625_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_626(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_626_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_627(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_627_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_628(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_628_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_629(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_629_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_630(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_630_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_631(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_631_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_632(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_632_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_633(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_633_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_634(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_634_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_635(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_635_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_636(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_636_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_637(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_637_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_638(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_638_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_639(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_639_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_640(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_640_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_641(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_641_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_642(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_642_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_643(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_643_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_644(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_644_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_645(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_645_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_646(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_646_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_647(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_647_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_648(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_648_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_649(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_649_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_650(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_650_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_651(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_651_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_652(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_652_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_653(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_653_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_654(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_654_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_655(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_655_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_656(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_656_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_657(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_657_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_658(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_658_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_659(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_659_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_660(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_660_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_661(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_661_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_662(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_662_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_663(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_663_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_664(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_664_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_665(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_665_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_666(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_666_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_667(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_667_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_668(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_668_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_669(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_669_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_670(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_670_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_671(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_671_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_672(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_672_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_673(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_673_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_674(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_674_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_675(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_675_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_676(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_676_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_677(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_677_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_678(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_678_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_679(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_679_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_680(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_680_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_681(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_681_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_682(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_682_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_683(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_683_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_684(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_684_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_685(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_685_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_686(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_686_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_687(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_687_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_688(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_688_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_689(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_689_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_690(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_690_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_691(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_691_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_692(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_692_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_693(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_693_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_694(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_694_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_695(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_695_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_696(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_696_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_697(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_697_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_698(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_698_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_699(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_699_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_700(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_700_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_701(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_701_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_702(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_702_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_703(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_703_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_704(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_704_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_705(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_705_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_706(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_706_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_707(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_707_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_708(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_708_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_709(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_709_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_710(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_710_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_711(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_711_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_712(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_712_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_713(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_713_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_714(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_714_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_715(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_715_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_716(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_716_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_717(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_717_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_718(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_718_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_719(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_719_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_720(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_720_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_721(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_721_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_722(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_722_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_723(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_723_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_724(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_724_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_725(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_725_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_726(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_726_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_727(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_727_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_728(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_728_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_729(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_729_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_730(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_730_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_731(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_731_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_732(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_732_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_733(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_733_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_734(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_734_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_735(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_735_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_736(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_736_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_737(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_737_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_738(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_738_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_739(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_739_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_740(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_740_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_741(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_741_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_742(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_742_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_743(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_743_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_744(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_744_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_745(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_745_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_746(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_746_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_747(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_747_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_748(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_748_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_749(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_749_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_750(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_750_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_751(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_751_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_752(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_752_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_753(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_753_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_754(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_754_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_755(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_755_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_756(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_756_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_757(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_757_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_758(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_758_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_759(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_759_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_760(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_760_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_761(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_761_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_762(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_762_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_763(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_763_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_764(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_764_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_765(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_765_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_766(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_766_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_767(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_767_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_768(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_768_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_769(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_769_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_770(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_770_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_771(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_771_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_772(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_772_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_773(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_773_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_774(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_774_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_775(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_775_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_776(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_776_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_777(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_777_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_778(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_778_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_779(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_779_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_780(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_780_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_781(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_781_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_782(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_782_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_783(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_783_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_784(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_784_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_785(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_785_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_786(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_786_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_787(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_787_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_788(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_788_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_789(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_789_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_790(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_790_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_791(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_791_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_792(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_792_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_793(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_793_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_794(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_794_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_795(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_795_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_796(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_796_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_797(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_797_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_798(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_798_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_799(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_799_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_800(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_800_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_801(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_801_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_802(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_802_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_803(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_803_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_804(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_804_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_805(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_805_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_806(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_806_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_807(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_807_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_808(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_808_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_809(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_809_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_810(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_810_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_811(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_811_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_812(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_812_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_813(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_813_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_814(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_814_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_815(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_815_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_816(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_816_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_817(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_817_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_818(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_818_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_819(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_819_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_820(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_820_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_821(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_821_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_822(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_822_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_823(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_823_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_824(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_824_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_825(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_825_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_826(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_826_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_827(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_827_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_828(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_828_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_829(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_829_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_830(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_830_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_831(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_831_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_832(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_832_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_833(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_833_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_834(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_834_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_835(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_835_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_836(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_836_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_837(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_837_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_838(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_838_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_839(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_839_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_840(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_840_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_841(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_841_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_842(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_842_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_843(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_843_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_844(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_844_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_845(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_845_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_846(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_846_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_847(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_847_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_848(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_848_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_849(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_849_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_850(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_850_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_851(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_851_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_852(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_852_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_853(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_853_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_854(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_854_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_855(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_855_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_856(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_856_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_857(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_857_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_858(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_858_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_859(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_859_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_860(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_860_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_861(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_861_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_862(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_862_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_863(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_863_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_864(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_864_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_865(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_865_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_866(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_866_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_867(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_867_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_868(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_868_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_869(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_869_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_870(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_870_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_871(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_871_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_872(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_872_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_873(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_873_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_874(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_874_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_875(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_875_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_876(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_876_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_877(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_877_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_878(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_878_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_879(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_879_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_880(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_880_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_881(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_881_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_882(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_882_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_883(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_883_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_884(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_884_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_885(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_885_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_886(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_886_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_887(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_887_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_888(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_888_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_889(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_889_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_890(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_890_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_891(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_891_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_892(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_892_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_893(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_893_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_894(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_894_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_895(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_895_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_896(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_896_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_897(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_897_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_898(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_898_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_899(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_899_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_900(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_900_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_901(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_901_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_902(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_902_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_903(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_903_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_904(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_904_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_905(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_905_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_906(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_906_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_907(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_907_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_908(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_908_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_909(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_909_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_910(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_910_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_911(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_911_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_912(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_912_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_913(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_913_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_914(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_914_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_915(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_915_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_916(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_916_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_917(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_917_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_918(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_918_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_919(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_919_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_920(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_920_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_921(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_921_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_922(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_922_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_923(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_923_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_924(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_924_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_925(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_925_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_926(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_926_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_927(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_927_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_928(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_928_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_929(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_929_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_930(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_930_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_931(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_931_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_932(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_932_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_933(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_933_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_934(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_934_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_935(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_935_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_936(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_936_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_937(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_937_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_938(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_938_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_939(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_939_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_940(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_940_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_941(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_941_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_942(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_942_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_943(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_943_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_944(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_944_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_945(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_945_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_946(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_946_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_947(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_947_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_948(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_948_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_949(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_949_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_950(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_950_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_951(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_951_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_952(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_952_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_953(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_953_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_954(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_954_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_955(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_955_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_956(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_956_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_957(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_957_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_958(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_958_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_959(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_959_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_960(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_960_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_961(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_961_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_962(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_962_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_963(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_963_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_964(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_964_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_965(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_965_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_966(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_966_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_967(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_967_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_968(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_968_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_969(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_969_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_970(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_970_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_971(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_971_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_972(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_972_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_973(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_973_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_974(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_974_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_975(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_975_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_976(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_976_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_977(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_977_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_978(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_978_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_979(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_979_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_980(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_980_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_981(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_981_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_982(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_982_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_983(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_983_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_984(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_984_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_985(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_985_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_986(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_986_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_987(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_987_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_988(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_988_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_989(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_989_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_990(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_990_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_991(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_991_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_992(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_992_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_993(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_993_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_994(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_994_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_995(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_995_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_996(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_996_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_997(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_997_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_998(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_998_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_999(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_999_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1000(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1000_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1001(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1001_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1002(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1002_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1003(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1003_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1004(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1004_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1005(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1005_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1006(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1006_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1007(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1007_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1008(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1008_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1009(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1009_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1010(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1010_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1011(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1011_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1012(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1012_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1013(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1013_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1014(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1014_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1015(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1015_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1016(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1016_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1017(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1017_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1018(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1018_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1019(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1019_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1020(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1020_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1021(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1021_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1022(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1022_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1023(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1023_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1024(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1024_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_RIGHT_513_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(514, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_514, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_514_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(515, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_515, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_515_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(516, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_516, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_516_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(517, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_517, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_517_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(518, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_518, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_518_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(519, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_519, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_519_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(520, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_520, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_520_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(521, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_521, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_521_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(522, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_522, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_522_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(523, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_523, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_523_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(524, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_524, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_524_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(525, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_525, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_525_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(526, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_526, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_526_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(527, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_527, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_527_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(528, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_528, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_528_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(529, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_529, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_529_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(530, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_530, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_530_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(531, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_531, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_531_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(532, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_532, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_532_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(533, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_533, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_533_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(534, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_534, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_534_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(535, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_535, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_535_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(536, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_536, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_536_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(537, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_537, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_537_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(538, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_538, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_538_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(539, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_539, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_539_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(540, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_540, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_540_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(541, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_541, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_541_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(542, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_542, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_542_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(543, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_543, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_543_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(544, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_544, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_544_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(545, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_545, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_545_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(546, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_546, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_546_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(547, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_547, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_547_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(548, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_548, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_548_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(549, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_549, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_549_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(550, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_550, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_550_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(551, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_551, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_551_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(552, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_552, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_552_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(553, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_553, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_553_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(554, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_554, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_554_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(555, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_555, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_555_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(556, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_556, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_556_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(557, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_557, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_557_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(558, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_558, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_558_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(559, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_559, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_559_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(560, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_560, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_560_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(561, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_561, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_561_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(562, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_562, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_562_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(563, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_563, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_563_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(564, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_564, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_564_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(565, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_565, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_565_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(566, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_566, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_566_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(567, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_567, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_567_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(568, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_568, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_568_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(569, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_569, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_569_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(570, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_570, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_570_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(571, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_571, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_571_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(572, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_572, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_572_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(573, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_573, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_573_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(574, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_574, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_574_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(575, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_575, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_575_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(576, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_576, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_576_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(577, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_577, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_577_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(578, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_578, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_578_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(579, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_579, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_579_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(580, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_580, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_580_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(581, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_581, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_581_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(582, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_582, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_582_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(583, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_583, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_583_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(584, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_584, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_584_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(585, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_585, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_585_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(586, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_586, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_586_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(587, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_587, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_587_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(588, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_588, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_588_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(589, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_589, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_589_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(590, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_590, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_590_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(591, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_591, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_591_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(592, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_592, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_592_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(593, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_593, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_593_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(594, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_594, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_594_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(595, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_595, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_595_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(596, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_596, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_596_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(597, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_597, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_597_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(598, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_598, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_598_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(599, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_599, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_599_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(600, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_600, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_600_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(601, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_601, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_601_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(602, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_602, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_602_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(603, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_603, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_603_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(604, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_604, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_604_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(605, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_605, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_605_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(606, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_606, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_606_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(607, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_607, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_607_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(608, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_608, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_608_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(609, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_609, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_609_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(610, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_610, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_610_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(611, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_611, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_611_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(612, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_612, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_612_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(613, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_613, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_613_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(614, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_614, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_614_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(615, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_615, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_615_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(616, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_616, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_616_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(617, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_617, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_617_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(618, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_618, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_618_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(619, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_619, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_619_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(620, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_620, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_620_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(621, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_621, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_621_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(622, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_622, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_622_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(623, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_623, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_623_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(624, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_624, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_624_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(625, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_625, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_625_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(626, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_626, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_626_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(627, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_627, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_627_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(628, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_628, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_628_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(629, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_629, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_629_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(630, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_630, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_630_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(631, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_631, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_631_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(632, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_632, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_632_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(633, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_633, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_633_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(634, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_634, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_634_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(635, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_635, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_635_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(636, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_636, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_636_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(637, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_637, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_637_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(638, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_638, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_638_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(639, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_639, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_639_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(640, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_640, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_640_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(641, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_641, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_641_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(642, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_642, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_642_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(643, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_643, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_643_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(644, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_644, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_644_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(645, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_645, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_645_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(646, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_646, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_646_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(647, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_647, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_647_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(648, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_648, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_648_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(649, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_649, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_649_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(650, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_650, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_650_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(651, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_651, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_651_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(652, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_652, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_652_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(653, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_653, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_653_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(654, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_654, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_654_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(655, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_655, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_655_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(656, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_656, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_656_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(657, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_657, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_657_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(658, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_658, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_658_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(659, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_659, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_659_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(660, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_660, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_660_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(661, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_661, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_661_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(662, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_662, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_662_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(663, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_663, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_663_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(664, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_664, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_664_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(665, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_665, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_665_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(666, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_666, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_666_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(667, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_667, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_667_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(668, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_668, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_668_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(669, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_669, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_669_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(670, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_670, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_670_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(671, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_671, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_671_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(672, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_672, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_672_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(673, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_673, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_673_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(674, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_674, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_674_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(675, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_675, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_675_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(676, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_676, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_676_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(677, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_677, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_677_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(678, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_678, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_678_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(679, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_679, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_679_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(680, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_680, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_680_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(681, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_681, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_681_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(682, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_682, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_682_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(683, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_683, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_683_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(684, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_684, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_684_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(685, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_685, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_685_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(686, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_686, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_686_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(687, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_687, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_687_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(688, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_688, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_688_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(689, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_689, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_689_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(690, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_690, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_690_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(691, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_691, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_691_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(692, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_692, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_692_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(693, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_693, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_693_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(694, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_694, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_694_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(695, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_695, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_695_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(696, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_696, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_696_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(697, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_697, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_697_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(698, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_698, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_698_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(699, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_699, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_699_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(700, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_700, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_700_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(701, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_701, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_701_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(702, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_702, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_702_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(703, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_703, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_703_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(704, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_704, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_704_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(705, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_705, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_705_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(706, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_706, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_706_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(707, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_707, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_707_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(708, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_708, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_708_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(709, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_709, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_709_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(710, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_710, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_710_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(711, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_711, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_711_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(712, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_712, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_712_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(713, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_713, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_713_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(714, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_714, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_714_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(715, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_715, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_715_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(716, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_716, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_716_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(717, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_717, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_717_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(718, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_718, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_718_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(719, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_719, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_719_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(720, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_720, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_720_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(721, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_721, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_721_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(722, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_722, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_722_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(723, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_723, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_723_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(724, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_724, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_724_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(725, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_725, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_725_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(726, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_726, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_726_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(727, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_727, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_727_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(728, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_728, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_728_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(729, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_729, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_729_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(730, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_730, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_730_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(731, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_731, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_731_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(732, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_732, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_732_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(733, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_733, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_733_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(734, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_734, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_734_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(735, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_735, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_735_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(736, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_736, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_736_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(737, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_737, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_737_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(738, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_738, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_738_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(739, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_739, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_739_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(740, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_740, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_740_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(741, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_741, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_741_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(742, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_742, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_742_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(743, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_743, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_743_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(744, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_744, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_744_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(745, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_745, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_745_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(746, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_746, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_746_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(747, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_747, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_747_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(748, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_748, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_748_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(749, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_749, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_749_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(750, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_750, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_750_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(751, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_751, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_751_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(752, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_752, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_752_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(753, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_753, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_753_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(754, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_754, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_754_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(755, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_755, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_755_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(756, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_756, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_756_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(757, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_757, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_757_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(758, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_758, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_758_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(759, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_759, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_759_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(760, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_760, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_760_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(761, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_761, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_761_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(762, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_762, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_762_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(763, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_763, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_763_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(764, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_764, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_764_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(765, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_765, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_765_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(766, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_766, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_766_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(767, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_767, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_767_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(768, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_768, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_768_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(769, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_769, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_769_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(770, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_770, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_770_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(771, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_771, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_771_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(772, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_772, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_772_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(773, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_773, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_773_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(774, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_774, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_774_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(775, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_775, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_775_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(776, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_776, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_776_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(777, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_777, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_777_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(778, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_778, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_778_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(779, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_779, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_779_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(780, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_780, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_780_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(781, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_781, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_781_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(782, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_782, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_782_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(783, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_783, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_783_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(784, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_784, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_784_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(785, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_785, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_785_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(786, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_786, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_786_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(787, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_787, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_787_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(788, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_788, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_788_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(789, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_789, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_789_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(790, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_790, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_790_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(791, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_791, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_791_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(792, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_792, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_792_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(793, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_793, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_793_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(794, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_794, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_794_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(795, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_795, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_795_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(796, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_796, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_796_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(797, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_797, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_797_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(798, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_798, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_798_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(799, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_799, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_799_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(800, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_800, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_800_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(801, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_801, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_801_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(802, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_802, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_802_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(803, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_803, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_803_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(804, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_804, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_804_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(805, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_805, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_805_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(806, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_806, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_806_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(807, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_807, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_807_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(808, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_808, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_808_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(809, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_809, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_809_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(810, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_810, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_810_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(811, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_811, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_811_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(812, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_812, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_812_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(813, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_813, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_813_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(814, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_814, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_814_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(815, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_815, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_815_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(816, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_816, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_816_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(817, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_817, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_817_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(818, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_818, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_818_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(819, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_819, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_819_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(820, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_820, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_820_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(821, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_821, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_821_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(822, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_822, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_822_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(823, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_823, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_823_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(824, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_824, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_824_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(825, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_825, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_825_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(826, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_826, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_826_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(827, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_827, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_827_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(828, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_828, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_828_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(829, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_829, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_829_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(830, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_830, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_830_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(831, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_831, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_831_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(832, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_832, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_832_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(833, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_833, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_833_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(834, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_834, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_834_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(835, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_835, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_835_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(836, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_836, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_836_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(837, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_837, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_837_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(838, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_838, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_838_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(839, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_839, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_839_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(840, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_840, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_840_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(841, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_841, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_841_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(842, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_842, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_842_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(843, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_843, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_843_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(844, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_844, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_844_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(845, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_845, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_845_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(846, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_846, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_846_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(847, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_847, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_847_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(848, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_848, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_848_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(849, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_849, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_849_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(850, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_850, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_850_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(851, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_851, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_851_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(852, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_852, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_852_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(853, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_853, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_853_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(854, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_854, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_854_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(855, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_855, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_855_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(856, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_856, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_856_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(857, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_857, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_857_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(858, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_858, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_858_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(859, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_859, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_859_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(860, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_860, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_860_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(861, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_861, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_861_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(862, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_862, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_862_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(863, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_863, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_863_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(864, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_864, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_864_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(865, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_865, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_865_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(866, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_866, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_866_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(867, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_867, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_867_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(868, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_868, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_868_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(869, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_869, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_869_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(870, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_870, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_870_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(871, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_871, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_871_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(872, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_872, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_872_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(873, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_873, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_873_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(874, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_874, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_874_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(875, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_875, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_875_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(876, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_876, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_876_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(877, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_877, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_877_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(878, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_878, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_878_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(879, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_879, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_879_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(880, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_880, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_880_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(881, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_881, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_881_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(882, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_882, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_882_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(883, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_883, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_883_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(884, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_884, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_884_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(885, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_885, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_885_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(886, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_886, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_886_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(887, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_887, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_887_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(888, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_888, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_888_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(889, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_889, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_889_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(890, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_890, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_890_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(891, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_891, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_891_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(892, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_892, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_892_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(893, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_893, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_893_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(894, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_894, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_894_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(895, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_895, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_895_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(896, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_896, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_896_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(897, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_897, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_897_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(898, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_898, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_898_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(899, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_899, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_899_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(900, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_900, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_900_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(901, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_901, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_901_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(902, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_902, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_902_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(903, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_903, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_903_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(904, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_904, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_904_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(905, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_905, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_905_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(906, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_906, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_906_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(907, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_907, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_907_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(908, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_908, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_908_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(909, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_909, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_909_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(910, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_910, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_910_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(911, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_911, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_911_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(912, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_912, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_912_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(913, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_913, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_913_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(914, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_914, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_914_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(915, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_915, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_915_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(916, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_916, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_916_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(917, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_917, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_917_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(918, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_918, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_918_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(919, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_919, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_919_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(920, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_920, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_920_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(921, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_921, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_921_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(922, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_922, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_922_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(923, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_923, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_923_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(924, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_924, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_924_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(925, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_925, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_925_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(926, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_926, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_926_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(927, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_927, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_927_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(928, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_928, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_928_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(929, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_929, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_929_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(930, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_930, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_930_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(931, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_931, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_931_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(932, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_932, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_932_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(933, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_933, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_933_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(934, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_934, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_934_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(935, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_935, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_935_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(936, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_936, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_936_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(937, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_937, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_937_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(938, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_938, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_938_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(939, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_939, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_939_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(940, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_940, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_940_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(941, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_941, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_941_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(942, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_942, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_942_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(943, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_943, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_943_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(944, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_944, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_944_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(945, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_945, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_945_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(946, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_946, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_946_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(947, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_947, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_947_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(948, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_948, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_948_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(949, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_949, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_949_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(950, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_950, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_950_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(951, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_951, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_951_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(952, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_952, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_952_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(953, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_953, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_953_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(954, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_954, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_954_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(955, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_955, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_955_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(956, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_956, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_956_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(957, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_957, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_957_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(958, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_958, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_958_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(959, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_959, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_959_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(960, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_960, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_960_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(961, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_961, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_961_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(962, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_962, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_962_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(963, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_963, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_963_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(964, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_964, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_964_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(965, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_965, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_965_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(966, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_966, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_966_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(967, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_967, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_967_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(968, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_968, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_968_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(969, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_969, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_969_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(970, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_970, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_970_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(971, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_971, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_971_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(972, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_972, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_972_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(973, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_973, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_973_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(974, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_974, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_974_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(975, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_975, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_975_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(976, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_976, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_976_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(977, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_977, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_977_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(978, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_978, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_978_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(979, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_979, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_979_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(980, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_980, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_980_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(981, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_981, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_981_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(982, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_982, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_982_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(983, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_983, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_983_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(984, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_984, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_984_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(985, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_985, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_985_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(986, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_986, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_986_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(987, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_987, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_987_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(988, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_988, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_988_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(989, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_989, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_989_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(990, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_990, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_990_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(991, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_991, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_991_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(992, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_992, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_992_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(993, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_993, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_993_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(994, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_994, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_994_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(995, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_995, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_995_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(996, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_996, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_996_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(997, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_997, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_997_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(998, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_998, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_998_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(999, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_999, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_999_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1000, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1000, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1000_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1001, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1001, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1001_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1002, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1002, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1002_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1003, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1003, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1003_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1004, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1004, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1004_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1005, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1005, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1005_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1006, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1006, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1006_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1007, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1007, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1007_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1008, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1008, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1008_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1009, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1009, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1009_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1010, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1010, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1010_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1011, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1011, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1011_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1012, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1012, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1012_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1013, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1013, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1013_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1014, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1014, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1014_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1015, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1015, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1015_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1016, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1016, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1016_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1017, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1017, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1017_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1018, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1018, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1018_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1019, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1019, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1019_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1020, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1020, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1020_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1021, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1021, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1021_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1022, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1022, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1022_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1023, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1023, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1023_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1024, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1024, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1024_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1025, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1025, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_514(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_515(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_516(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_517(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_518(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_519(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_520(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_521(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_522(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_523(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_524(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_525(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_526(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_527(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_528(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_529(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_530(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_531(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_532(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_533(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_534(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_535(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_536(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_537(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_538(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_539(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_540(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_541(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_542(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_543(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_544(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_545(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_546(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_547(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_548(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_549(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_550(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_551(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_552(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_553(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_554(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_555(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_556(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_557(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_558(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_559(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_560(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_561(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_562(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_563(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_564(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_565(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_566(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_567(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_568(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_569(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_570(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_571(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_572(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_573(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_574(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_575(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_576(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_577(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_578(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_579(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_580(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_581(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_582(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_583(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_584(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_585(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_586(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_587(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_588(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_589(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_590(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_591(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_592(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_593(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_594(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_595(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_596(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_597(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_598(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_599(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_600(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_601(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_602(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_603(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_604(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_605(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_606(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_607(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_608(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_609(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_610(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_611(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_612(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_613(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_614(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_615(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_616(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_617(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_618(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_619(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_620(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_621(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_622(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_623(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_624(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_625(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_626(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_627(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_628(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_629(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_630(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_631(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_632(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_633(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_634(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_635(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_636(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_637(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_638(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_639(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_640(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_641(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_642(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_643(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_644(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_645(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_646(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_647(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_648(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_649(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_650(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_651(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_652(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_653(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_654(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_655(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_656(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_657(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_658(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_659(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_660(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_661(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_662(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_663(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_664(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_665(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_666(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_667(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_668(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_669(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_670(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_671(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_672(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_673(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_674(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_675(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_676(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_677(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_678(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_679(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_680(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_681(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_682(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_683(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_684(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_685(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_686(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_687(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_688(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_689(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_690(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_691(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_692(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_693(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_694(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_695(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_696(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_697(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_698(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_699(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_700(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_701(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_702(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_703(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_704(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_705(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_706(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_707(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_708(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_709(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_710(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_711(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_712(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_713(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_714(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_715(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_716(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_717(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_718(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_719(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_720(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_721(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_722(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_723(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_724(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_725(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_726(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_727(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_728(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_729(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_730(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_731(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_732(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_733(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_734(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_735(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_736(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_737(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_738(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_739(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_740(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_741(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_742(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_743(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_744(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_745(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_746(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_747(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_748(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_749(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_750(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_751(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_752(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_753(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_754(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_755(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_756(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_757(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_758(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_759(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_760(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_761(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_762(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_763(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_764(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_765(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_766(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_767(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_768(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_769(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_770(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_771(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_772(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_773(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_774(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_775(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_776(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_777(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_778(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_779(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_780(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_781(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_782(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_783(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_784(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_785(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_786(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_787(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_788(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_789(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_790(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_791(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_792(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_793(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_794(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_795(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_796(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_797(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_798(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_799(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_800(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_801(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_802(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_803(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_804(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_805(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_806(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_807(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_808(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_809(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_810(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_811(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_812(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_813(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_814(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_815(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_816(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_817(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_818(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_819(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_820(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_821(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_822(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_823(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_824(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_825(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_826(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_827(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_828(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_829(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_830(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_831(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_832(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_833(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_834(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_835(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_836(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_837(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_838(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_839(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_840(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_841(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_842(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_843(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_844(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_845(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_846(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_847(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_848(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_849(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_850(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_851(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_852(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_853(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_854(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_855(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_856(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_857(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_858(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_859(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_860(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_861(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_862(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_863(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_864(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_865(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_866(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_867(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_868(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_869(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_870(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_871(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_872(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_873(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_874(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_875(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_876(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_877(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_878(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_879(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_880(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_881(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_882(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_883(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_884(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_885(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_886(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_887(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_888(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_889(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_890(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_891(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_892(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_893(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_894(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_895(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_896(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_897(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_898(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_899(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_900(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_901(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_902(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_903(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_904(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_905(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_906(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_907(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_908(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_909(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_910(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_911(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_912(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_913(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_914(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_915(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_916(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_917(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_918(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_919(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_920(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_921(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_922(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_923(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_924(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_925(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_926(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_927(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_928(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_929(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_930(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_931(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_932(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_933(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_934(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_935(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_936(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_937(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_938(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_939(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_940(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_941(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_942(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_943(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_944(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_945(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_946(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_947(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_948(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_949(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_950(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_951(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_952(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_953(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_954(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_955(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_956(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_957(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_958(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_959(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_960(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_961(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_962(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_963(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_964(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_965(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_966(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_967(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_968(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_969(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_970(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_971(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_972(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_973(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_974(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_975(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_976(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_977(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_978(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_979(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_980(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_981(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_982(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_983(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_984(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_985(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_986(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_987(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_988(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_989(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_990(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_991(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_992(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_993(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_994(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_995(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_996(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_997(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_998(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_999(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1000(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1001(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1002(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1003(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1004(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1005(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1006(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1007(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1008(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1009(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1010(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1011(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1012(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1013(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1014(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1015(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1016(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1017(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1018(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1019(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1020(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1021(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1022(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1023(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1024(o, s, l) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp deleted file mode 100644 index 66d51126f4..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp +++ /dev/null @@ -1,791 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_256_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_256_HPP -# -# define BOOST_PP_LIST_FOLD_RIGHT_0(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_0_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_RIGHT_0_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_0(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp deleted file mode 100644 index 25138eb5f0..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp +++ /dev/null @@ -1,789 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_512_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_512_HPP -# -# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_257_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_258(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_258_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_259(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_259_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_260(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_260_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_261(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_261_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_262(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_262_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_263(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_263_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_264(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_264_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_265(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_265_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_266(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_266_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_267(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_267_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_268(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_268_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_269(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_269_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_270(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_270_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_271(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_271_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_272(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_272_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_273(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_273_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_274(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_274_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_275(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_275_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_276(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_276_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_277(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_277_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_278(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_278_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_279(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_279_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_280(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_280_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_281(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_281_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_282(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_282_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_283(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_283_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_284(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_284_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_285(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_285_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_286(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_286_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_287(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_287_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_288(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_288_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_289(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_289_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_290(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_290_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_291(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_291_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_292(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_292_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_293(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_293_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_294(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_294_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_295(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_295_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_296(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_296_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_297(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_297_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_298(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_298_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_299(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_299_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_300(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_300_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_301(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_301_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_302(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_302_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_303(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_303_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_304(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_304_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_305(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_305_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_306(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_306_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_307(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_307_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_308(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_308_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_309(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_309_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_310(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_310_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_311(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_311_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_312(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_312_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_313(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_313_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_314(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_314_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_315(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_315_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_316(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_316_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_317(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_317_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_318(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_318_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_319(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_319_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_320(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_320_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_321(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_321_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_322(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_322_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_323(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_323_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_324(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_324_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_325(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_325_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_326(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_326_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_327(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_327_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_328(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_328_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_329(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_329_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_330(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_330_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_331(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_331_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_332(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_332_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_333(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_333_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_334(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_334_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_335(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_335_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_336(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_336_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_337(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_337_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_338(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_338_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_339(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_339_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_340(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_340_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_341(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_341_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_342(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_342_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_343(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_343_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_344(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_344_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_345(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_345_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_346(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_346_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_347(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_347_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_348(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_348_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_349(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_349_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_350(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_350_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_351(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_351_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_352(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_352_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_353(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_353_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_354(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_354_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_355(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_355_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_356(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_356_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_357(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_357_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_358(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_358_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_359(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_359_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_360(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_360_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_361(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_361_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_362(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_362_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_363(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_363_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_364(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_364_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_365(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_365_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_366(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_366_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_367(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_367_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_368(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_368_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_369(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_369_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_370(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_370_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_371(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_371_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_372(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_372_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_373(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_373_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_374(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_374_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_375(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_375_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_376(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_376_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_377(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_377_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_378(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_378_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_379(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_379_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_380(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_380_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_381(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_381_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_382(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_382_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_383(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_383_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_384(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_384_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_385(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_385_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_386(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_386_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_387(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_387_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_388(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_388_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_389(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_389_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_390(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_390_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_391(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_391_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_392(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_392_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_393(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_393_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_394(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_394_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_395(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_395_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_396(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_396_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_397(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_397_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_398(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_398_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_399(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_399_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_400(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_400_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_401(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_401_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_402(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_402_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_403(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_403_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_404(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_404_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_405(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_405_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_406(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_406_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_407(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_407_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_408(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_408_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_409(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_409_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_410(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_410_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_411(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_411_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_412(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_412_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_413(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_413_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_414(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_414_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_415(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_415_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_416(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_416_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_417(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_417_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_418(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_418_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_419(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_419_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_420(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_420_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_421(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_421_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_422(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_422_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_423(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_423_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_424(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_424_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_425(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_425_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_426(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_426_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_427(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_427_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_428(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_428_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_429(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_429_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_430(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_430_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_431(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_431_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_432(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_432_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_433(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_433_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_434(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_434_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_435(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_435_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_436(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_436_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_437(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_437_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_438(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_438_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_439(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_439_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_440(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_440_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_441(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_441_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_442(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_442_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_443(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_443_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_444(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_444_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_445(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_445_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_446(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_446_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_447(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_447_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_448(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_448_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_449(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_449_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_450(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_450_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_451(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_451_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_452(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_452_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_453(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_453_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_454(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_454_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_455(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_455_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_456(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_456_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_457(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_457_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_458(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_458_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_459(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_459_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_460(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_460_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_461(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_461_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_462(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_462_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_463(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_463_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_464(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_464_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_465(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_465_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_466(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_466_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_467(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_467_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_468(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_468_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_469(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_469_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_470(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_470_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_471(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_471_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_472(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_472_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_473(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_473_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_474(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_474_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_475(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_475_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_476(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_476_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_477(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_477_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_478(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_478_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_479(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_479_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_480(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_480_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_481(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_481_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_482(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_482_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_483(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_483_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_484(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_484_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_485(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_485_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_486(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_486_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_487(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_487_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_488(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_488_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_489(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_489_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_490(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_490_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_491(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_491_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_492(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_492_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_493(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_493_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_494(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_494_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_495(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_495_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_496(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_496_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_497(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_497_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_498(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_498_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_499(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_499_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_500(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_500_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_501(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_501_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_502(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_502_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_503(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_503_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_504(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_504_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_505(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_505_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_506(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_506_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_507(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_507_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_508(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_508_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_509(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_509_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_510(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_510_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_511(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_511_D(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_512(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_512_D(o, s, l) -# -# define BOOST_PP_LIST_FOLD_RIGHT_257_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(258, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_258, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_258_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(259, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_259, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_259_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(260, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_260, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_260_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(261, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_261, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_261_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(262, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_262, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_262_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(263, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_263, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_263_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(264, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_264, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_264_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(265, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_265, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_265_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(266, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_266, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_266_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(267, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_267, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_267_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(268, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_268, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_268_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(269, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_269, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_269_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(270, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_270, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_270_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(271, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_271, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_271_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(272, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_272, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_272_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(273, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_273, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_273_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(274, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_274, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_274_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(275, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_275, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_275_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(276, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_276, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_276_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(277, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_277, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_277_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(278, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_278, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_278_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(279, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_279, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_279_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(280, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_280, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_280_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(281, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_281, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_281_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(282, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_282, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_282_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(283, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_283, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_283_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(284, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_284, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_284_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(285, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_285, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_285_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(286, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_286, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_286_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(287, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_287, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_287_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(288, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_288, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_288_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(289, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_289, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_289_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(290, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_290, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_290_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(291, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_291, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_291_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(292, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_292, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_292_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(293, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_293, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_293_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(294, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_294, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_294_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(295, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_295, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_295_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(296, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_296, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_296_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(297, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_297, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_297_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(298, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_298, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_298_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(299, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_299, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_299_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(300, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_300, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_300_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(301, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_301, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_301_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(302, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_302, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_302_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(303, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_303, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_303_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(304, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_304, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_304_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(305, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_305, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_305_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(306, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_306, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_306_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(307, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_307, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_307_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(308, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_308, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_308_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(309, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_309, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_309_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(310, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_310, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_310_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(311, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_311, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_311_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(312, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_312, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_312_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(313, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_313, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_313_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(314, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_314, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_314_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(315, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_315, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_315_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(316, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_316, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_316_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(317, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_317, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_317_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(318, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_318, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_318_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(319, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_319, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_319_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(320, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_320, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_320_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(321, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_321, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_321_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(322, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_322, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_322_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(323, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_323, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_323_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(324, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_324, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_324_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(325, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_325, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_325_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(326, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_326, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_326_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(327, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_327, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_327_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(328, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_328, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_328_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(329, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_329, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_329_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(330, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_330, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_330_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(331, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_331, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_331_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(332, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_332, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_332_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(333, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_333, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_333_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(334, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_334, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_334_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(335, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_335, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_335_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(336, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_336, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_336_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(337, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_337, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_337_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(338, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_338, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_338_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(339, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_339, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_339_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(340, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_340, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_340_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(341, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_341, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_341_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(342, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_342, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_342_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(343, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_343, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_343_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(344, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_344, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_344_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(345, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_345, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_345_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(346, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_346, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_346_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(347, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_347, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_347_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(348, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_348, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_348_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(349, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_349, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_349_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(350, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_350, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_350_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(351, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_351, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_351_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(352, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_352, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_352_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(353, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_353, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_353_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(354, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_354, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_354_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(355, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_355, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_355_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(356, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_356, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_356_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(357, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_357, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_357_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(358, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_358, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_358_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(359, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_359, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_359_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(360, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_360, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_360_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(361, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_361, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_361_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(362, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_362, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_362_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(363, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_363, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_363_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(364, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_364, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_364_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(365, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_365, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_365_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(366, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_366, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_366_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(367, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_367, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_367_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(368, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_368, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_368_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(369, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_369, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_369_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(370, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_370, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_370_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(371, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_371, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_371_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(372, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_372, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_372_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(373, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_373, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_373_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(374, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_374, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_374_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(375, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_375, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_375_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(376, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_376, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_376_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(377, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_377, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_377_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(378, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_378, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_378_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(379, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_379, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_379_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(380, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_380, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_380_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(381, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_381, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_381_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(382, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_382, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_382_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(383, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_383, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_383_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(384, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_384, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_384_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(385, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_385, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_385_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(386, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_386, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_386_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(387, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_387, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_387_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(388, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_388, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_388_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(389, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_389, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_389_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(390, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_390, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_390_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(391, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_391, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_391_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(392, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_392, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_392_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(393, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_393, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_393_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(394, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_394, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_394_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(395, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_395, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_395_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(396, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_396, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_396_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(397, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_397, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_397_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(398, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_398, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_398_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(399, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_399, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_399_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(400, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_400, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_400_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(401, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_401, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_401_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(402, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_402, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_402_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(403, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_403, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_403_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(404, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_404, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_404_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(405, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_405, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_405_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(406, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_406, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_406_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(407, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_407, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_407_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(408, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_408, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_408_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(409, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_409, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_409_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(410, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_410, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_410_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(411, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_411, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_411_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(412, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_412, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_412_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(413, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_413, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_413_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(414, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_414, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_414_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(415, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_415, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_415_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(416, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_416, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_416_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(417, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_417, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_417_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(418, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_418, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_418_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(419, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_419, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_419_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(420, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_420, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_420_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(421, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_421, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_421_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(422, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_422, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_422_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(423, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_423, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_423_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(424, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_424, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_424_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(425, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_425, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_425_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(426, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_426, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_426_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(427, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_427, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_427_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(428, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_428, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_428_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(429, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_429, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_429_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(430, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_430, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_430_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(431, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_431, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_431_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(432, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_432, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_432_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(433, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_433, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_433_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(434, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_434, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_434_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(435, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_435, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_435_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(436, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_436, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_436_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(437, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_437, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_437_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(438, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_438, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_438_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(439, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_439, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_439_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(440, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_440, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_440_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(441, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_441, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_441_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(442, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_442, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_442_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(443, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_443, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_443_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(444, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_444, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_444_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(445, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_445, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_445_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(446, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_446, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_446_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(447, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_447, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_447_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(448, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_448, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_448_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(449, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_449, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_449_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(450, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_450, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_450_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(451, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_451, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_451_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(452, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_452, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_452_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(453, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_453, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_453_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(454, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_454, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_454_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(455, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_455, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_455_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(456, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_456, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_456_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(457, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_457, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_457_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(458, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_458, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_458_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(459, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_459, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_459_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(460, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_460, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_460_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(461, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_461, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_461_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(462, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_462, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_462_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(463, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_463, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_463_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(464, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_464, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_464_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(465, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_465, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_465_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(466, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_466, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_466_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(467, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_467, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_467_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(468, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_468, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_468_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(469, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_469, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_469_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(470, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_470, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_470_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(471, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_471, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_471_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(472, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_472, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_472_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(473, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_473, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_473_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(474, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_474, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_474_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(475, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_475, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_475_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(476, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_476, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_476_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(477, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_477, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_477_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(478, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_478, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_478_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(479, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_479, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_479_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(480, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_480, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_480_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(481, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_481, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_481_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(482, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_482, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_482_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(483, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_483, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_483_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(484, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_484, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_484_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(485, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_485, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_485_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(486, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_486, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_486_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(487, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_487, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_487_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(488, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_488, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_488_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(489, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_489, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_489_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(490, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_490, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_490_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(491, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_491, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_491_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(492, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_492, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_492_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(493, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_493, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_493_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(494, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_494, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_494_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(495, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_495, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_495_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(496, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_496, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_496_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(497, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_497, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_497_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(498, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_498, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_498_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(499, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_499, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_499_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(500, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_500, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_500_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(501, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_501, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_501_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(502, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_502, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_502_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(503, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_503, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_503_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(504, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_504, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_504_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(505, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_505, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_505_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(506, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_506, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_506_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(507, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_507, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_507_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(508, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_508, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_508_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(509, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_509, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_509_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(510, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_510, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_510_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(511, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_511, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_511_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(512, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_512, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# define BOOST_PP_LIST_FOLD_RIGHT_512_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(513, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_513, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) -# -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_258(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_259(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_260(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_261(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_262(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_263(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_264(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_265(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_266(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_267(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_268(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_269(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_270(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_271(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_272(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_273(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_274(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_275(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_276(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_277(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_278(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_279(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_280(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_281(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_282(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_283(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_284(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_285(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_286(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_287(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_288(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_289(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_290(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_291(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_292(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_293(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_294(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_295(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_296(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_297(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_298(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_299(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_300(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_301(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_302(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_303(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_304(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_305(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_306(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_307(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_308(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_309(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_310(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_311(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_312(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_313(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_314(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_315(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_316(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_317(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_318(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_319(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_320(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_321(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_322(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_323(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_324(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_325(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_326(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_327(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_328(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_329(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_330(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_331(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_332(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_333(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_334(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_335(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_336(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_337(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_338(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_339(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_340(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_341(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_342(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_343(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_344(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_345(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_346(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_347(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_348(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_349(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_350(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_351(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_352(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_353(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_354(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_355(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_356(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_357(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_358(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_359(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_360(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_361(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_362(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_363(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_364(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_365(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_366(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_367(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_368(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_369(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_370(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_371(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_372(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_373(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_374(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_375(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_376(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_377(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_378(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_379(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_380(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_381(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_382(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_383(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_384(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_385(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_386(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_387(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_388(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_389(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_390(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_391(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_392(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_393(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_394(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_395(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_396(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_397(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_398(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_399(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_400(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_401(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_402(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_403(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_404(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_405(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_406(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_407(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_408(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_409(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_410(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_411(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_412(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_413(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_414(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_415(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_416(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_417(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_418(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_419(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_420(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_421(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_422(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_423(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_424(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_425(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_426(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_427(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_428(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_429(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_430(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_431(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_432(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_433(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_434(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_435(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_436(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_437(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_438(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_439(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_440(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_441(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_442(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_443(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_444(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_445(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_446(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_447(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_448(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_449(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_450(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_451(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_452(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_453(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_454(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_455(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_456(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_457(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_458(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_459(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_460(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_461(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_462(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_463(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_464(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_465(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_466(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_467(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_468(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_469(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_470(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_471(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_472(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_473(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_474(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_475(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_476(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_477(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_478(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_479(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_480(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_481(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_482(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_483(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_484(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_485(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_486(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_487(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_488(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_489(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_490(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_491(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_492(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_493(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_494(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_495(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_496(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_497(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_498(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_499(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_500(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_501(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_502(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_503(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_504(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_505(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_506(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_507(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_508(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_509(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_510(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_511(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_512(o, s, l) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/fold_left.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/fold_left.hpp deleted file mode 100644 index fa7e31d0d1..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/fold_left.hpp +++ /dev/null @@ -1,307 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# -# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# else -# -# include -# include -# include -# include -# include -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/fold_right.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/fold_right.hpp deleted file mode 100644 index 3024dc9afb..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/fold_right.hpp +++ /dev/null @@ -1,303 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# -# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l)) -# -# else -# -# include -# include -# include -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_1024.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_1024.hpp deleted file mode 100644 index 34c02a1e17..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_1024.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_1024_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_1024_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_514, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(514, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_514(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_515, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(515, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_515(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_516, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(516, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_516(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_517, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(517, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_517(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_518, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(518, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_518(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_519, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(519, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_519(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_520, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(520, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_520(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_521, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(521, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_521(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_522, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(522, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_522(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_523, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(523, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_523(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_524, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(524, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_524(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_525, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(525, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_525(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_526, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(526, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_526(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_527, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(527, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_527(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_528, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(528, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_528(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_529, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(529, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_529(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_530, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(530, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_530(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_531, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(531, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_531(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_532, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(532, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_532(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_533, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(533, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_533(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_534, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(534, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_534(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_535, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(535, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_535(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_536, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(536, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_536(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_537, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(537, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_537(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_538, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(538, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_538(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_539, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(539, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_539(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_540, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(540, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_540(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_541, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(541, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_541(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_542, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(542, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_542(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_543, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(543, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_543(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_544, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(544, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_544(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_545, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(545, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_545(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_546, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(546, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_546(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_547, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(547, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_547(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_548, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(548, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_548(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_549, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(549, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_549(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_550, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(550, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_550(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_551, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(551, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_551(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_552, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(552, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_552(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_553, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(553, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_553(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_554, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(554, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_554(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_555, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(555, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_555(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_556, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(556, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_556(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_557, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(557, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_557(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_558, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(558, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_558(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_559, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(559, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_559(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_560, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(560, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_560(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_561, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(561, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_561(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_562, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(562, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_562(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_563, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(563, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_563(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_564, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(564, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_564(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_565, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(565, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_565(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_566, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(566, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_566(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_567, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(567, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_567(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_568, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(568, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_568(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_569, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(569, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_569(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_570, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(570, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_570(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_571, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(571, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_571(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_572, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(572, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_572(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_573, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(573, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_573(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_574, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(574, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_574(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_575, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(575, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_575(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_576, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(576, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_576(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_577, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(577, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_577(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_578, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(578, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_578(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_579, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(579, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_579(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_580, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(580, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_580(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_581, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(581, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_581(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_582, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(582, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_582(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_583, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(583, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_583(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_584, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(584, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_584(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_585, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(585, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_585(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_586, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(586, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_586(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_587, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(587, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_587(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_588, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(588, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_588(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_589, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(589, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_589(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_590, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(590, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_590(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_591, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(591, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_591(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_592, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(592, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_592(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_593, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(593, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_593(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_594, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(594, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_594(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_595, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(595, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_595(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_596, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(596, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_596(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_597, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(597, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_597(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_598, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(598, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_598(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_599, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(599, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_599(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_600, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(600, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_600(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_601, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(601, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_601(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_602, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(602, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_602(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_603, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(603, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_603(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_604, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(604, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_604(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_605, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(605, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_605(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_606, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(606, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_606(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_607, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(607, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_607(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_608, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(608, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_608(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_609, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(609, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_609(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_610, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(610, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_610(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_611, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(611, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_611(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_612, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(612, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_612(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_613, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(613, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_613(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_614, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(614, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_614(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_615, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(615, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_615(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_616, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(616, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_616(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_617, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(617, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_617(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_618, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(618, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_618(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_619, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(619, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_619(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_620, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(620, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_620(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_621, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(621, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_621(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_622, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(622, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_622(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_623, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(623, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_623(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_624, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(624, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_624(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_625, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(625, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_625(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_626, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(626, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_626(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_627, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(627, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_627(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_628, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(628, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_628(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_629, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(629, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_629(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_630, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(630, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_630(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_631, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(631, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_631(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_632, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(632, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_632(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_633, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(633, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_633(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_634, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(634, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_634(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_635, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(635, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_635(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_636, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(636, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_636(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_637, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(637, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_637(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_638, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(638, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_638(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_639, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(639, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_639(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_640, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(640, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_640(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_641, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(641, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_641(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_642, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(642, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_642(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_643, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(643, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_643(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_644, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(644, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_644(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_645, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(645, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_645(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_646, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(646, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_646(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_647, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(647, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_647(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_648, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(648, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_648(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_649, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(649, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_649(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_650, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(650, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_650(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_651, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(651, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_651(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_652, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(652, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_652(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_653, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(653, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_653(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_654, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(654, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_654(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_655, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(655, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_655(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_656, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(656, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_656(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_657, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(657, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_657(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_658, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(658, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_658(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_659, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(659, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_659(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_660, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(660, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_660(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_661, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(661, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_661(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_662, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(662, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_662(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_663, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(663, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_663(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_664, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(664, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_664(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_665, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(665, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_665(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_666, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(666, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_666(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_667, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(667, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_667(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_668, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(668, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_668(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_669, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(669, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_669(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_670, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(670, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_670(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_671, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(671, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_671(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_672, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(672, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_672(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_673, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(673, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_673(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_674, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(674, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_674(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_675, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(675, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_675(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_676, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(676, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_676(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_677, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(677, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_677(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_678, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(678, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_678(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_679, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(679, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_679(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_680, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(680, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_680(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_681, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(681, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_681(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_682, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(682, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_682(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_683, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(683, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_683(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_684, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(684, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_684(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_685, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(685, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_685(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_686, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(686, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_686(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_687, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(687, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_687(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_688, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(688, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_688(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_689, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(689, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_689(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_690, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(690, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_690(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_691, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(691, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_691(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_692, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(692, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_692(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_693, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(693, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_693(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_694, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(694, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_694(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_695, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(695, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_695(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_696, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(696, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_696(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_697, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(697, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_697(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_698, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(698, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_698(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_699, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(699, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_699(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_700, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(700, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_700(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_701, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(701, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_701(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_702, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(702, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_702(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_703, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(703, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_703(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_704, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(704, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_704(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_705, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(705, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_705(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_706, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(706, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_706(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_707, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(707, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_707(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_708, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(708, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_708(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_709, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(709, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_709(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_710, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(710, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_710(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_711, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(711, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_711(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_712, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(712, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_712(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_713, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(713, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_713(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_714, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(714, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_714(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_715, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(715, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_715(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_716, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(716, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_716(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_717, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(717, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_717(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_718, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(718, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_718(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_719, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(719, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_719(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_720, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(720, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_720(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_721, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(721, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_721(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_722, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(722, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_722(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_723, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(723, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_723(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_724, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(724, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_724(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_725, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(725, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_725(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_726, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(726, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_726(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_727, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(727, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_727(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_728, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(728, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_728(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_729, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(729, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_729(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_730, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(730, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_730(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_731, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(731, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_731(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_732, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(732, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_732(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_733, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(733, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_733(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_734, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(734, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_734(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_735, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(735, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_735(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_736, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(736, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_736(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_737, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(737, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_737(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_738, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(738, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_738(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_739, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(739, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_739(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_740, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(740, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_740(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_741, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(741, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_741(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_742, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(742, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_742(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_743, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(743, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_743(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_744, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(744, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_744(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_745, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(745, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_745(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_746, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(746, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_746(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_747, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(747, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_747(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_748, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(748, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_748(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_749, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(749, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_749(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_750, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(750, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_750(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_751, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(751, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_751(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_752, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(752, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_752(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_753, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(753, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_753(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_754, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(754, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_754(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_755, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(755, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_755(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_756, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(756, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_756(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_757, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(757, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_757(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_758, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(758, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_758(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_759, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(759, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_759(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_760, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(760, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_760(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_761, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(761, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_761(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_762, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(762, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_762(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_763, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(763, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_763(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_764, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(764, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_764(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_765, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(765, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_765(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_766, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(766, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_766(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_767, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(767, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_767(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_768, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(768, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_768(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_769, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(769, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_769(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_770, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(770, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_770(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_771, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(771, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_771(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_772, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(772, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_772(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_773, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(773, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_773(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_774, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(774, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_774(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_775, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(775, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_775(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_776, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(776, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_776(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_777, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(777, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_777(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_778, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(778, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_778(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_779, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(779, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_779(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_780, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(780, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_780(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_781, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(781, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_781(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_782, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(782, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_782(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_783, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(783, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_783(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_784, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(784, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_784(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_785, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(785, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_785(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_786, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(786, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_786(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_787, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(787, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_787(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_788, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(788, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_788(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_789, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(789, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_789(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_790, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(790, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_790(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_791, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(791, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_791(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_792, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(792, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_792(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_793, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(793, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_793(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_794, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(794, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_794(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_795, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(795, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_795(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_796, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(796, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_796(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_797, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(797, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_797(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_798, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(798, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_798(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_799, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(799, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_799(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_800, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(800, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_800(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_801, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(801, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_801(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_802, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(802, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_802(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_803, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(803, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_803(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_804, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(804, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_804(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_805, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(805, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_805(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_806, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(806, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_806(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_807, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(807, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_807(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_808, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(808, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_808(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_809, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(809, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_809(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_810, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(810, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_810(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_811, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(811, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_811(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_812, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(812, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_812(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_813, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(813, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_813(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_814, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(814, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_814(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_815, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(815, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_815(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_816, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(816, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_816(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_817, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(817, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_817(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_818, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(818, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_818(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_819, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(819, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_819(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_820, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(820, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_820(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_821, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(821, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_821(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_822, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(822, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_822(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_823, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(823, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_823(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_824, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(824, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_824(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_825, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(825, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_825(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_826, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(826, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_826(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_827, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(827, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_827(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_828, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(828, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_828(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_829, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(829, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_829(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_830, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(830, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_830(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_831, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(831, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_831(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_832, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(832, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_832(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_833, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(833, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_833(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_834, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(834, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_834(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_835, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(835, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_835(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_836, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(836, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_836(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_837, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(837, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_837(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_838, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(838, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_838(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_839, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(839, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_839(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_840, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(840, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_840(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_841, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(841, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_841(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_842, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(842, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_842(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_843, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(843, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_843(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_844, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(844, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_844(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_845, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(845, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_845(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_846, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(846, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_846(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_847, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(847, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_847(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_848, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(848, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_848(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_849, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(849, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_849(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_850, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(850, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_850(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_851, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(851, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_851(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_852, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(852, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_852(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_853, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(853, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_853(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_854, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(854, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_854(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_855, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(855, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_855(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_856, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(856, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_856(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_857, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(857, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_857(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_858, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(858, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_858(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_859, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(859, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_859(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_860, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(860, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_860(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_861, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(861, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_861(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_862, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(862, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_862(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_863, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(863, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_863(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_864, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(864, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_864(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_865, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(865, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_865(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_866, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(866, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_866(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_867, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(867, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_867(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_868, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(868, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_868(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_869, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(869, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_869(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_870, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(870, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_870(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_871, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(871, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_871(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_872, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(872, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_872(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_873, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(873, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_873(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_874, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(874, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_874(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_875, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(875, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_875(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_876, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(876, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_876(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_877, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(877, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_877(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_878, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(878, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_878(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_879, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(879, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_879(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_880, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(880, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_880(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_881, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(881, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_881(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_882, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(882, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_882(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_883, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(883, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_883(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_884, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(884, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_884(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_885, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(885, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_885(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_886, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(886, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_886(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_887, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(887, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_887(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_888, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(888, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_888(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_889, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(889, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_889(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_890, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(890, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_890(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_891, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(891, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_891(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_892, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(892, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_892(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_893, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(893, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_893(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_894, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(894, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_894(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_895, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(895, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_895(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_896, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(896, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_896(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_897, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(897, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_897(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_898, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(898, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_898(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_899, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(899, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_899(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_900, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(900, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_900(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_901, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(901, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_901(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_902, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(902, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_902(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_903, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(903, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_903(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_904, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(904, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_904(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_905, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(905, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_905(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_906, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(906, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_906(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_907, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(907, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_907(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_908, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(908, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_908(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_909, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(909, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_909(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_910, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(910, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_910(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_911, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(911, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_911(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_912, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(912, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_912(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_913, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(913, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_913(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_914, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(914, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_914(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_915, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(915, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_915(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_916, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(916, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_916(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_917, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(917, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_917(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_918, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(918, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_918(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_919, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(919, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_919(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_920, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(920, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_920(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_921, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(921, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_921(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_922, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(922, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_922(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_923, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(923, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_923(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_924, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(924, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_924(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_925, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(925, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_925(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_926, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(926, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_926(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_927, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(927, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_927(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_928, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(928, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_928(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_929, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(929, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_929(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_930, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(930, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_930(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_931, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(931, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_931(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_932, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(932, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_932(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_933, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(933, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_933(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_934, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(934, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_934(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_935, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(935, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_935(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_936, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(936, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_936(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_937, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(937, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_937(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_938, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(938, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_938(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_939, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(939, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_939(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_940, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(940, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_940(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_941, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(941, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_941(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_942, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(942, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_942(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_943, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(943, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_943(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_944, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(944, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_944(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_945, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(945, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_945(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_946, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(946, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_946(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_947, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(947, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_947(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_948, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(948, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_948(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_949, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(949, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_949(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_950, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(950, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_950(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_951, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(951, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_951(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_952, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(952, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_952(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_953, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(953, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_953(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_954, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(954, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_954(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_955, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(955, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_955(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_956, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(956, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_956(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_957, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(957, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_957(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_958, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(958, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_958(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_959, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(959, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_959(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_960, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(960, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_960(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_961, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(961, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_961(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_962, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(962, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_962(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_963, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(963, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_963(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_964, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(964, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_964(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_965, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(965, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_965(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_966, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(966, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_966(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_967, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(967, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_967(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_968, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(968, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_968(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_969, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(969, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_969(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_970, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(970, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_970(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_971, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(971, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_971(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_972, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(972, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_972(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_973, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(973, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_973(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_974, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(974, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_974(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_975, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(975, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_975(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_976, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(976, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_976(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_977, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(977, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_977(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_978, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(978, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_978(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_979, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(979, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_979(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_980, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(980, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_980(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_981, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(981, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_981(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_982, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(982, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_982(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_983, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(983, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_983(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_984, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(984, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_984(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_985, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(985, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_985(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_986, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(986, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_986(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_987, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(987, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_987(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_988, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(988, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_988(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_989, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(989, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_989(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_990, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(990, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_990(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_991, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(991, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_991(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_992, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(992, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_992(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_993, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(993, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_993(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_994, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(994, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_994(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_995, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(995, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_995(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_996, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(996, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_996(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_997, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(997, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_997(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_998, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(998, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_998(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_999, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(999, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_999(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1000, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1000, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1000(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1001, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1001, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1001(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1002, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1002, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1002(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1003, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1003, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1003(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1004, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1004, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1004(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1005, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1005, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1005(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1006, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1006, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1006(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1007, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1007, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1007(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1008, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1008, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1008(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1009, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1009, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1009(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1010, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1010, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1010(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1011, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1011, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1011(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1012, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1012, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1012(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1013, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1013, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1013(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1014, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1014, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1014(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1015, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1015, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1015(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1016, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1016, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1016(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1017, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1017, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1017(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1018, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1018, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1018(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1019, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1019, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1019(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1020, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1020, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1020(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1021, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1021, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1021(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1022, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1022, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1022(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1023, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1023, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1023(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1024, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1024, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1024(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1025, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1025, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_256.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_256.hpp deleted file mode 100644 index d21982baa3..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_256.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_256_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_256_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_0(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_512.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_512.hpp deleted file mode 100644 index 978cfd3b9a..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_left_512.hpp +++ /dev/null @@ -1,276 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_512_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_512_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_258, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(258, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_258(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_259, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(259, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_259(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_260, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(260, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_260(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_261, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(261, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_261(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_262, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(262, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_262(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_263, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(263, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_263(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_264, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(264, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_264(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_265, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(265, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_265(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_266, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(266, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_266(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_267, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(267, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_267(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_268, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(268, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_268(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_269, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(269, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_269(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_270, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(270, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_270(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_271, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(271, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_271(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_272, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(272, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_272(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_273, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(273, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_273(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_274, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(274, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_274(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_275, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(275, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_275(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_276, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(276, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_276(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_277, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(277, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_277(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_278, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(278, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_278(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_279, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(279, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_279(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_280, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(280, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_280(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_281, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(281, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_281(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_282, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(282, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_282(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_283, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(283, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_283(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_284, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(284, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_284(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_285, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(285, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_285(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_286, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(286, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_286(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_287, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(287, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_287(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_288, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(288, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_288(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_289, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(289, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_289(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_290, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(290, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_290(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_291, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(291, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_291(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_292, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(292, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_292(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_293, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(293, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_293(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_294, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(294, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_294(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_295, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(295, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_295(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_296, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(296, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_296(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_297, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(297, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_297(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_298, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(298, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_298(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_299, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(299, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_299(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_300, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(300, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_300(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_301, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(301, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_301(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_302, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(302, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_302(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_303, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(303, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_303(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_304, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(304, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_304(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_305, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(305, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_305(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_306, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(306, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_306(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_307, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(307, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_307(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_308, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(308, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_308(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_309, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(309, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_309(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_310, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(310, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_310(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_311, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(311, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_311(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_312, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(312, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_312(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_313, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(313, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_313(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_314, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(314, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_314(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_315, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(315, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_315(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_316, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(316, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_316(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_317, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(317, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_317(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_318, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(318, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_318(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_319, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(319, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_319(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_320, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(320, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_320(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_321, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(321, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_321(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_322, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(322, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_322(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_323, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(323, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_323(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_324, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(324, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_324(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_325, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(325, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_325(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_326, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(326, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_326(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_327, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(327, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_327(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_328, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(328, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_328(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_329, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(329, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_329(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_330, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(330, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_330(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_331, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(331, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_331(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_332, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(332, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_332(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_333, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(333, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_333(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_334, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(334, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_334(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_335, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(335, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_335(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_336, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(336, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_336(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_337, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(337, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_337(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_338, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(338, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_338(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_339, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(339, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_339(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_340, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(340, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_340(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_341, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(341, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_341(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_342, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(342, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_342(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_343, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(343, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_343(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_344, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(344, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_344(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_345, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(345, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_345(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_346, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(346, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_346(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_347, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(347, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_347(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_348, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(348, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_348(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_349, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(349, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_349(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_350, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(350, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_350(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_351, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(351, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_351(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_352, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(352, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_352(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_353, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(353, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_353(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_354, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(354, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_354(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_355, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(355, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_355(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_356, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(356, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_356(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_357, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(357, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_357(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_358, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(358, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_358(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_359, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(359, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_359(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_360, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(360, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_360(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_361, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(361, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_361(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_362, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(362, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_362(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_363, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(363, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_363(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_364, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(364, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_364(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_365, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(365, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_365(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_366, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(366, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_366(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_367, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(367, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_367(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_368, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(368, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_368(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_369, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(369, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_369(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_370, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(370, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_370(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_371, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(371, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_371(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_372, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(372, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_372(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_373, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(373, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_373(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_374, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(374, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_374(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_375, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(375, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_375(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_376, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(376, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_376(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_377, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(377, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_377(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_378, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(378, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_378(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_379, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(379, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_379(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_380, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(380, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_380(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_381, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(381, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_381(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_382, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(382, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_382(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_383, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(383, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_383(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_384, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(384, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_384(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_385, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(385, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_385(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_386, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(386, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_386(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_387, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(387, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_387(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_388, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(388, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_388(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_389, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(389, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_389(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_390, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(390, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_390(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_391, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(391, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_391(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_392, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(392, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_392(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_393, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(393, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_393(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_394, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(394, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_394(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_395, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(395, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_395(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_396, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(396, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_396(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_397, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(397, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_397(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_398, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(398, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_398(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_399, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(399, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_399(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_400, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(400, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_400(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_401, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(401, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_401(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_402, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(402, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_402(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_403, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(403, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_403(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_404, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(404, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_404(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_405, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(405, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_405(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_406, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(406, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_406(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_407, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(407, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_407(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_408, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(408, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_408(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_409, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(409, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_409(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_410, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(410, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_410(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_411, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(411, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_411(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_412, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(412, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_412(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_413, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(413, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_413(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_414, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(414, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_414(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_415, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(415, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_415(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_416, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(416, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_416(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_417, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(417, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_417(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_418, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(418, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_418(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_419, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(419, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_419(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_420, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(420, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_420(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_421, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(421, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_421(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_422, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(422, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_422(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_423, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(423, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_423(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_424, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(424, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_424(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_425, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(425, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_425(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_426, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(426, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_426(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_427, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(427, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_427(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_428, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(428, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_428(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_429, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(429, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_429(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_430, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(430, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_430(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_431, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(431, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_431(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_432, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(432, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_432(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_433, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(433, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_433(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_434, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(434, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_434(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_435, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(435, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_435(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_436, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(436, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_436(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_437, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(437, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_437(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_438, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(438, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_438(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_439, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(439, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_439(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_440, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(440, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_440(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_441, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(441, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_441(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_442, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(442, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_442(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_443, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(443, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_443(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_444, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(444, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_444(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_445, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(445, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_445(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_446, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(446, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_446(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_447, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(447, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_447(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_448, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(448, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_448(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_449, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(449, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_449(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_450, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(450, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_450(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_451, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(451, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_451(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_452, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(452, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_452(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_453, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(453, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_453(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_454, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(454, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_454(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_455, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(455, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_455(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_456, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(456, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_456(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_457, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(457, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_457(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_458, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(458, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_458(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_459, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(459, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_459(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_460, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(460, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_460(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_461, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(461, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_461(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_462, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(462, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_462(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_463, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(463, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_463(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_464, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(464, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_464(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_465, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(465, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_465(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_466, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(466, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_466(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_467, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(467, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_467(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_468, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(468, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_468(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_469, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(469, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_469(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_470, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(470, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_470(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_471, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(471, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_471(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_472, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(472, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_472(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_473, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(473, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_473(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_474, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(474, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_474(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_475, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(475, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_475(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_476, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(476, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_476(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_477, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(477, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_477(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_478, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(478, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_478(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_479, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(479, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_479(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_480, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(480, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_480(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_481, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(481, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_481(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_482, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(482, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_482(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_483, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(483, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_483(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_484, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(484, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_484(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_485, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(485, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_485(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_486, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(486, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_486(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_487, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(487, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_487(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_488, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(488, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_488(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_489, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(489, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_489(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_490, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(490, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_490(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_491, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(491, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_491(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_492, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(492, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_492(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_493, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(493, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_493(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_494, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(494, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_494(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_495, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(495, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_495(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_496, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(496, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_496(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_497, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(497, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_497(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_498, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(498, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_498(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_499, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(499, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_499(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_500, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(500, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_500(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_501, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(501, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_501(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_502, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(502, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_502(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_503, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(503, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_503(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_504, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(504, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_504(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_505, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(505, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_505(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_506, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(506, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_506(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_507, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(507, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_507(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_508, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(508, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_508(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_509, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(509, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_509(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_510, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(510, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_510(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_511, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(511, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_511(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_512, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(512, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# define BOOST_PP_LIST_FOLD_LEFT_512(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_513, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(513, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_1024.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_1024.hpp deleted file mode 100644 index 1a33bc9404..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_1024.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_1024_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_1024_HPP -# -# define BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) BOOST_PP_LIST_FOLD_LEFT_513(o, s, BOOST_PP_LIST_REVERSE_D(513, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_514(o, s, l) BOOST_PP_LIST_FOLD_LEFT_514(o, s, BOOST_PP_LIST_REVERSE_D(514, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_515(o, s, l) BOOST_PP_LIST_FOLD_LEFT_515(o, s, BOOST_PP_LIST_REVERSE_D(515, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_516(o, s, l) BOOST_PP_LIST_FOLD_LEFT_516(o, s, BOOST_PP_LIST_REVERSE_D(516, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_517(o, s, l) BOOST_PP_LIST_FOLD_LEFT_517(o, s, BOOST_PP_LIST_REVERSE_D(517, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_518(o, s, l) BOOST_PP_LIST_FOLD_LEFT_518(o, s, BOOST_PP_LIST_REVERSE_D(518, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_519(o, s, l) BOOST_PP_LIST_FOLD_LEFT_519(o, s, BOOST_PP_LIST_REVERSE_D(519, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_520(o, s, l) BOOST_PP_LIST_FOLD_LEFT_520(o, s, BOOST_PP_LIST_REVERSE_D(520, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_521(o, s, l) BOOST_PP_LIST_FOLD_LEFT_521(o, s, BOOST_PP_LIST_REVERSE_D(521, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_522(o, s, l) BOOST_PP_LIST_FOLD_LEFT_522(o, s, BOOST_PP_LIST_REVERSE_D(522, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_523(o, s, l) BOOST_PP_LIST_FOLD_LEFT_523(o, s, BOOST_PP_LIST_REVERSE_D(523, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_524(o, s, l) BOOST_PP_LIST_FOLD_LEFT_524(o, s, BOOST_PP_LIST_REVERSE_D(524, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_525(o, s, l) BOOST_PP_LIST_FOLD_LEFT_525(o, s, BOOST_PP_LIST_REVERSE_D(525, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_526(o, s, l) BOOST_PP_LIST_FOLD_LEFT_526(o, s, BOOST_PP_LIST_REVERSE_D(526, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_527(o, s, l) BOOST_PP_LIST_FOLD_LEFT_527(o, s, BOOST_PP_LIST_REVERSE_D(527, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_528(o, s, l) BOOST_PP_LIST_FOLD_LEFT_528(o, s, BOOST_PP_LIST_REVERSE_D(528, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_529(o, s, l) BOOST_PP_LIST_FOLD_LEFT_529(o, s, BOOST_PP_LIST_REVERSE_D(529, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_530(o, s, l) BOOST_PP_LIST_FOLD_LEFT_530(o, s, BOOST_PP_LIST_REVERSE_D(530, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_531(o, s, l) BOOST_PP_LIST_FOLD_LEFT_531(o, s, BOOST_PP_LIST_REVERSE_D(531, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_532(o, s, l) BOOST_PP_LIST_FOLD_LEFT_532(o, s, BOOST_PP_LIST_REVERSE_D(532, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_533(o, s, l) BOOST_PP_LIST_FOLD_LEFT_533(o, s, BOOST_PP_LIST_REVERSE_D(533, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_534(o, s, l) BOOST_PP_LIST_FOLD_LEFT_534(o, s, BOOST_PP_LIST_REVERSE_D(534, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_535(o, s, l) BOOST_PP_LIST_FOLD_LEFT_535(o, s, BOOST_PP_LIST_REVERSE_D(535, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_536(o, s, l) BOOST_PP_LIST_FOLD_LEFT_536(o, s, BOOST_PP_LIST_REVERSE_D(536, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_537(o, s, l) BOOST_PP_LIST_FOLD_LEFT_537(o, s, BOOST_PP_LIST_REVERSE_D(537, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_538(o, s, l) BOOST_PP_LIST_FOLD_LEFT_538(o, s, BOOST_PP_LIST_REVERSE_D(538, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_539(o, s, l) BOOST_PP_LIST_FOLD_LEFT_539(o, s, BOOST_PP_LIST_REVERSE_D(539, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_540(o, s, l) BOOST_PP_LIST_FOLD_LEFT_540(o, s, BOOST_PP_LIST_REVERSE_D(540, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_541(o, s, l) BOOST_PP_LIST_FOLD_LEFT_541(o, s, BOOST_PP_LIST_REVERSE_D(541, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_542(o, s, l) BOOST_PP_LIST_FOLD_LEFT_542(o, s, BOOST_PP_LIST_REVERSE_D(542, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_543(o, s, l) BOOST_PP_LIST_FOLD_LEFT_543(o, s, BOOST_PP_LIST_REVERSE_D(543, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_544(o, s, l) BOOST_PP_LIST_FOLD_LEFT_544(o, s, BOOST_PP_LIST_REVERSE_D(544, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_545(o, s, l) BOOST_PP_LIST_FOLD_LEFT_545(o, s, BOOST_PP_LIST_REVERSE_D(545, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_546(o, s, l) BOOST_PP_LIST_FOLD_LEFT_546(o, s, BOOST_PP_LIST_REVERSE_D(546, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_547(o, s, l) BOOST_PP_LIST_FOLD_LEFT_547(o, s, BOOST_PP_LIST_REVERSE_D(547, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_548(o, s, l) BOOST_PP_LIST_FOLD_LEFT_548(o, s, BOOST_PP_LIST_REVERSE_D(548, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_549(o, s, l) BOOST_PP_LIST_FOLD_LEFT_549(o, s, BOOST_PP_LIST_REVERSE_D(549, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_550(o, s, l) BOOST_PP_LIST_FOLD_LEFT_550(o, s, BOOST_PP_LIST_REVERSE_D(550, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_551(o, s, l) BOOST_PP_LIST_FOLD_LEFT_551(o, s, BOOST_PP_LIST_REVERSE_D(551, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_552(o, s, l) BOOST_PP_LIST_FOLD_LEFT_552(o, s, BOOST_PP_LIST_REVERSE_D(552, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_553(o, s, l) BOOST_PP_LIST_FOLD_LEFT_553(o, s, BOOST_PP_LIST_REVERSE_D(553, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_554(o, s, l) BOOST_PP_LIST_FOLD_LEFT_554(o, s, BOOST_PP_LIST_REVERSE_D(554, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_555(o, s, l) BOOST_PP_LIST_FOLD_LEFT_555(o, s, BOOST_PP_LIST_REVERSE_D(555, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_556(o, s, l) BOOST_PP_LIST_FOLD_LEFT_556(o, s, BOOST_PP_LIST_REVERSE_D(556, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_557(o, s, l) BOOST_PP_LIST_FOLD_LEFT_557(o, s, BOOST_PP_LIST_REVERSE_D(557, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_558(o, s, l) BOOST_PP_LIST_FOLD_LEFT_558(o, s, BOOST_PP_LIST_REVERSE_D(558, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_559(o, s, l) BOOST_PP_LIST_FOLD_LEFT_559(o, s, BOOST_PP_LIST_REVERSE_D(559, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_560(o, s, l) BOOST_PP_LIST_FOLD_LEFT_560(o, s, BOOST_PP_LIST_REVERSE_D(560, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_561(o, s, l) BOOST_PP_LIST_FOLD_LEFT_561(o, s, BOOST_PP_LIST_REVERSE_D(561, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_562(o, s, l) BOOST_PP_LIST_FOLD_LEFT_562(o, s, BOOST_PP_LIST_REVERSE_D(562, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_563(o, s, l) BOOST_PP_LIST_FOLD_LEFT_563(o, s, BOOST_PP_LIST_REVERSE_D(563, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_564(o, s, l) BOOST_PP_LIST_FOLD_LEFT_564(o, s, BOOST_PP_LIST_REVERSE_D(564, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_565(o, s, l) BOOST_PP_LIST_FOLD_LEFT_565(o, s, BOOST_PP_LIST_REVERSE_D(565, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_566(o, s, l) BOOST_PP_LIST_FOLD_LEFT_566(o, s, BOOST_PP_LIST_REVERSE_D(566, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_567(o, s, l) BOOST_PP_LIST_FOLD_LEFT_567(o, s, BOOST_PP_LIST_REVERSE_D(567, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_568(o, s, l) BOOST_PP_LIST_FOLD_LEFT_568(o, s, BOOST_PP_LIST_REVERSE_D(568, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_569(o, s, l) BOOST_PP_LIST_FOLD_LEFT_569(o, s, BOOST_PP_LIST_REVERSE_D(569, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_570(o, s, l) BOOST_PP_LIST_FOLD_LEFT_570(o, s, BOOST_PP_LIST_REVERSE_D(570, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_571(o, s, l) BOOST_PP_LIST_FOLD_LEFT_571(o, s, BOOST_PP_LIST_REVERSE_D(571, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_572(o, s, l) BOOST_PP_LIST_FOLD_LEFT_572(o, s, BOOST_PP_LIST_REVERSE_D(572, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_573(o, s, l) BOOST_PP_LIST_FOLD_LEFT_573(o, s, BOOST_PP_LIST_REVERSE_D(573, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_574(o, s, l) BOOST_PP_LIST_FOLD_LEFT_574(o, s, BOOST_PP_LIST_REVERSE_D(574, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_575(o, s, l) BOOST_PP_LIST_FOLD_LEFT_575(o, s, BOOST_PP_LIST_REVERSE_D(575, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_576(o, s, l) BOOST_PP_LIST_FOLD_LEFT_576(o, s, BOOST_PP_LIST_REVERSE_D(576, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_577(o, s, l) BOOST_PP_LIST_FOLD_LEFT_577(o, s, BOOST_PP_LIST_REVERSE_D(577, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_578(o, s, l) BOOST_PP_LIST_FOLD_LEFT_578(o, s, BOOST_PP_LIST_REVERSE_D(578, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_579(o, s, l) BOOST_PP_LIST_FOLD_LEFT_579(o, s, BOOST_PP_LIST_REVERSE_D(579, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_580(o, s, l) BOOST_PP_LIST_FOLD_LEFT_580(o, s, BOOST_PP_LIST_REVERSE_D(580, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_581(o, s, l) BOOST_PP_LIST_FOLD_LEFT_581(o, s, BOOST_PP_LIST_REVERSE_D(581, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_582(o, s, l) BOOST_PP_LIST_FOLD_LEFT_582(o, s, BOOST_PP_LIST_REVERSE_D(582, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_583(o, s, l) BOOST_PP_LIST_FOLD_LEFT_583(o, s, BOOST_PP_LIST_REVERSE_D(583, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_584(o, s, l) BOOST_PP_LIST_FOLD_LEFT_584(o, s, BOOST_PP_LIST_REVERSE_D(584, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_585(o, s, l) BOOST_PP_LIST_FOLD_LEFT_585(o, s, BOOST_PP_LIST_REVERSE_D(585, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_586(o, s, l) BOOST_PP_LIST_FOLD_LEFT_586(o, s, BOOST_PP_LIST_REVERSE_D(586, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_587(o, s, l) BOOST_PP_LIST_FOLD_LEFT_587(o, s, BOOST_PP_LIST_REVERSE_D(587, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_588(o, s, l) BOOST_PP_LIST_FOLD_LEFT_588(o, s, BOOST_PP_LIST_REVERSE_D(588, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_589(o, s, l) BOOST_PP_LIST_FOLD_LEFT_589(o, s, BOOST_PP_LIST_REVERSE_D(589, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_590(o, s, l) BOOST_PP_LIST_FOLD_LEFT_590(o, s, BOOST_PP_LIST_REVERSE_D(590, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_591(o, s, l) BOOST_PP_LIST_FOLD_LEFT_591(o, s, BOOST_PP_LIST_REVERSE_D(591, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_592(o, s, l) BOOST_PP_LIST_FOLD_LEFT_592(o, s, BOOST_PP_LIST_REVERSE_D(592, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_593(o, s, l) BOOST_PP_LIST_FOLD_LEFT_593(o, s, BOOST_PP_LIST_REVERSE_D(593, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_594(o, s, l) BOOST_PP_LIST_FOLD_LEFT_594(o, s, BOOST_PP_LIST_REVERSE_D(594, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_595(o, s, l) BOOST_PP_LIST_FOLD_LEFT_595(o, s, BOOST_PP_LIST_REVERSE_D(595, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_596(o, s, l) BOOST_PP_LIST_FOLD_LEFT_596(o, s, BOOST_PP_LIST_REVERSE_D(596, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_597(o, s, l) BOOST_PP_LIST_FOLD_LEFT_597(o, s, BOOST_PP_LIST_REVERSE_D(597, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_598(o, s, l) BOOST_PP_LIST_FOLD_LEFT_598(o, s, BOOST_PP_LIST_REVERSE_D(598, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_599(o, s, l) BOOST_PP_LIST_FOLD_LEFT_599(o, s, BOOST_PP_LIST_REVERSE_D(599, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_600(o, s, l) BOOST_PP_LIST_FOLD_LEFT_600(o, s, BOOST_PP_LIST_REVERSE_D(600, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_601(o, s, l) BOOST_PP_LIST_FOLD_LEFT_601(o, s, BOOST_PP_LIST_REVERSE_D(601, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_602(o, s, l) BOOST_PP_LIST_FOLD_LEFT_602(o, s, BOOST_PP_LIST_REVERSE_D(602, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_603(o, s, l) BOOST_PP_LIST_FOLD_LEFT_603(o, s, BOOST_PP_LIST_REVERSE_D(603, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_604(o, s, l) BOOST_PP_LIST_FOLD_LEFT_604(o, s, BOOST_PP_LIST_REVERSE_D(604, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_605(o, s, l) BOOST_PP_LIST_FOLD_LEFT_605(o, s, BOOST_PP_LIST_REVERSE_D(605, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_606(o, s, l) BOOST_PP_LIST_FOLD_LEFT_606(o, s, BOOST_PP_LIST_REVERSE_D(606, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_607(o, s, l) BOOST_PP_LIST_FOLD_LEFT_607(o, s, BOOST_PP_LIST_REVERSE_D(607, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_608(o, s, l) BOOST_PP_LIST_FOLD_LEFT_608(o, s, BOOST_PP_LIST_REVERSE_D(608, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_609(o, s, l) BOOST_PP_LIST_FOLD_LEFT_609(o, s, BOOST_PP_LIST_REVERSE_D(609, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_610(o, s, l) BOOST_PP_LIST_FOLD_LEFT_610(o, s, BOOST_PP_LIST_REVERSE_D(610, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_611(o, s, l) BOOST_PP_LIST_FOLD_LEFT_611(o, s, BOOST_PP_LIST_REVERSE_D(611, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_612(o, s, l) BOOST_PP_LIST_FOLD_LEFT_612(o, s, BOOST_PP_LIST_REVERSE_D(612, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_613(o, s, l) BOOST_PP_LIST_FOLD_LEFT_613(o, s, BOOST_PP_LIST_REVERSE_D(613, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_614(o, s, l) BOOST_PP_LIST_FOLD_LEFT_614(o, s, BOOST_PP_LIST_REVERSE_D(614, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_615(o, s, l) BOOST_PP_LIST_FOLD_LEFT_615(o, s, BOOST_PP_LIST_REVERSE_D(615, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_616(o, s, l) BOOST_PP_LIST_FOLD_LEFT_616(o, s, BOOST_PP_LIST_REVERSE_D(616, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_617(o, s, l) BOOST_PP_LIST_FOLD_LEFT_617(o, s, BOOST_PP_LIST_REVERSE_D(617, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_618(o, s, l) BOOST_PP_LIST_FOLD_LEFT_618(o, s, BOOST_PP_LIST_REVERSE_D(618, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_619(o, s, l) BOOST_PP_LIST_FOLD_LEFT_619(o, s, BOOST_PP_LIST_REVERSE_D(619, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_620(o, s, l) BOOST_PP_LIST_FOLD_LEFT_620(o, s, BOOST_PP_LIST_REVERSE_D(620, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_621(o, s, l) BOOST_PP_LIST_FOLD_LEFT_621(o, s, BOOST_PP_LIST_REVERSE_D(621, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_622(o, s, l) BOOST_PP_LIST_FOLD_LEFT_622(o, s, BOOST_PP_LIST_REVERSE_D(622, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_623(o, s, l) BOOST_PP_LIST_FOLD_LEFT_623(o, s, BOOST_PP_LIST_REVERSE_D(623, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_624(o, s, l) BOOST_PP_LIST_FOLD_LEFT_624(o, s, BOOST_PP_LIST_REVERSE_D(624, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_625(o, s, l) BOOST_PP_LIST_FOLD_LEFT_625(o, s, BOOST_PP_LIST_REVERSE_D(625, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_626(o, s, l) BOOST_PP_LIST_FOLD_LEFT_626(o, s, BOOST_PP_LIST_REVERSE_D(626, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_627(o, s, l) BOOST_PP_LIST_FOLD_LEFT_627(o, s, BOOST_PP_LIST_REVERSE_D(627, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_628(o, s, l) BOOST_PP_LIST_FOLD_LEFT_628(o, s, BOOST_PP_LIST_REVERSE_D(628, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_629(o, s, l) BOOST_PP_LIST_FOLD_LEFT_629(o, s, BOOST_PP_LIST_REVERSE_D(629, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_630(o, s, l) BOOST_PP_LIST_FOLD_LEFT_630(o, s, BOOST_PP_LIST_REVERSE_D(630, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_631(o, s, l) BOOST_PP_LIST_FOLD_LEFT_631(o, s, BOOST_PP_LIST_REVERSE_D(631, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_632(o, s, l) BOOST_PP_LIST_FOLD_LEFT_632(o, s, BOOST_PP_LIST_REVERSE_D(632, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_633(o, s, l) BOOST_PP_LIST_FOLD_LEFT_633(o, s, BOOST_PP_LIST_REVERSE_D(633, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_634(o, s, l) BOOST_PP_LIST_FOLD_LEFT_634(o, s, BOOST_PP_LIST_REVERSE_D(634, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_635(o, s, l) BOOST_PP_LIST_FOLD_LEFT_635(o, s, BOOST_PP_LIST_REVERSE_D(635, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_636(o, s, l) BOOST_PP_LIST_FOLD_LEFT_636(o, s, BOOST_PP_LIST_REVERSE_D(636, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_637(o, s, l) BOOST_PP_LIST_FOLD_LEFT_637(o, s, BOOST_PP_LIST_REVERSE_D(637, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_638(o, s, l) BOOST_PP_LIST_FOLD_LEFT_638(o, s, BOOST_PP_LIST_REVERSE_D(638, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_639(o, s, l) BOOST_PP_LIST_FOLD_LEFT_639(o, s, BOOST_PP_LIST_REVERSE_D(639, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_640(o, s, l) BOOST_PP_LIST_FOLD_LEFT_640(o, s, BOOST_PP_LIST_REVERSE_D(640, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_641(o, s, l) BOOST_PP_LIST_FOLD_LEFT_641(o, s, BOOST_PP_LIST_REVERSE_D(641, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_642(o, s, l) BOOST_PP_LIST_FOLD_LEFT_642(o, s, BOOST_PP_LIST_REVERSE_D(642, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_643(o, s, l) BOOST_PP_LIST_FOLD_LEFT_643(o, s, BOOST_PP_LIST_REVERSE_D(643, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_644(o, s, l) BOOST_PP_LIST_FOLD_LEFT_644(o, s, BOOST_PP_LIST_REVERSE_D(644, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_645(o, s, l) BOOST_PP_LIST_FOLD_LEFT_645(o, s, BOOST_PP_LIST_REVERSE_D(645, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_646(o, s, l) BOOST_PP_LIST_FOLD_LEFT_646(o, s, BOOST_PP_LIST_REVERSE_D(646, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_647(o, s, l) BOOST_PP_LIST_FOLD_LEFT_647(o, s, BOOST_PP_LIST_REVERSE_D(647, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_648(o, s, l) BOOST_PP_LIST_FOLD_LEFT_648(o, s, BOOST_PP_LIST_REVERSE_D(648, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_649(o, s, l) BOOST_PP_LIST_FOLD_LEFT_649(o, s, BOOST_PP_LIST_REVERSE_D(649, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_650(o, s, l) BOOST_PP_LIST_FOLD_LEFT_650(o, s, BOOST_PP_LIST_REVERSE_D(650, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_651(o, s, l) BOOST_PP_LIST_FOLD_LEFT_651(o, s, BOOST_PP_LIST_REVERSE_D(651, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_652(o, s, l) BOOST_PP_LIST_FOLD_LEFT_652(o, s, BOOST_PP_LIST_REVERSE_D(652, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_653(o, s, l) BOOST_PP_LIST_FOLD_LEFT_653(o, s, BOOST_PP_LIST_REVERSE_D(653, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_654(o, s, l) BOOST_PP_LIST_FOLD_LEFT_654(o, s, BOOST_PP_LIST_REVERSE_D(654, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_655(o, s, l) BOOST_PP_LIST_FOLD_LEFT_655(o, s, BOOST_PP_LIST_REVERSE_D(655, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_656(o, s, l) BOOST_PP_LIST_FOLD_LEFT_656(o, s, BOOST_PP_LIST_REVERSE_D(656, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_657(o, s, l) BOOST_PP_LIST_FOLD_LEFT_657(o, s, BOOST_PP_LIST_REVERSE_D(657, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_658(o, s, l) BOOST_PP_LIST_FOLD_LEFT_658(o, s, BOOST_PP_LIST_REVERSE_D(658, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_659(o, s, l) BOOST_PP_LIST_FOLD_LEFT_659(o, s, BOOST_PP_LIST_REVERSE_D(659, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_660(o, s, l) BOOST_PP_LIST_FOLD_LEFT_660(o, s, BOOST_PP_LIST_REVERSE_D(660, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_661(o, s, l) BOOST_PP_LIST_FOLD_LEFT_661(o, s, BOOST_PP_LIST_REVERSE_D(661, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_662(o, s, l) BOOST_PP_LIST_FOLD_LEFT_662(o, s, BOOST_PP_LIST_REVERSE_D(662, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_663(o, s, l) BOOST_PP_LIST_FOLD_LEFT_663(o, s, BOOST_PP_LIST_REVERSE_D(663, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_664(o, s, l) BOOST_PP_LIST_FOLD_LEFT_664(o, s, BOOST_PP_LIST_REVERSE_D(664, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_665(o, s, l) BOOST_PP_LIST_FOLD_LEFT_665(o, s, BOOST_PP_LIST_REVERSE_D(665, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_666(o, s, l) BOOST_PP_LIST_FOLD_LEFT_666(o, s, BOOST_PP_LIST_REVERSE_D(666, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_667(o, s, l) BOOST_PP_LIST_FOLD_LEFT_667(o, s, BOOST_PP_LIST_REVERSE_D(667, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_668(o, s, l) BOOST_PP_LIST_FOLD_LEFT_668(o, s, BOOST_PP_LIST_REVERSE_D(668, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_669(o, s, l) BOOST_PP_LIST_FOLD_LEFT_669(o, s, BOOST_PP_LIST_REVERSE_D(669, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_670(o, s, l) BOOST_PP_LIST_FOLD_LEFT_670(o, s, BOOST_PP_LIST_REVERSE_D(670, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_671(o, s, l) BOOST_PP_LIST_FOLD_LEFT_671(o, s, BOOST_PP_LIST_REVERSE_D(671, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_672(o, s, l) BOOST_PP_LIST_FOLD_LEFT_672(o, s, BOOST_PP_LIST_REVERSE_D(672, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_673(o, s, l) BOOST_PP_LIST_FOLD_LEFT_673(o, s, BOOST_PP_LIST_REVERSE_D(673, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_674(o, s, l) BOOST_PP_LIST_FOLD_LEFT_674(o, s, BOOST_PP_LIST_REVERSE_D(674, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_675(o, s, l) BOOST_PP_LIST_FOLD_LEFT_675(o, s, BOOST_PP_LIST_REVERSE_D(675, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_676(o, s, l) BOOST_PP_LIST_FOLD_LEFT_676(o, s, BOOST_PP_LIST_REVERSE_D(676, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_677(o, s, l) BOOST_PP_LIST_FOLD_LEFT_677(o, s, BOOST_PP_LIST_REVERSE_D(677, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_678(o, s, l) BOOST_PP_LIST_FOLD_LEFT_678(o, s, BOOST_PP_LIST_REVERSE_D(678, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_679(o, s, l) BOOST_PP_LIST_FOLD_LEFT_679(o, s, BOOST_PP_LIST_REVERSE_D(679, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_680(o, s, l) BOOST_PP_LIST_FOLD_LEFT_680(o, s, BOOST_PP_LIST_REVERSE_D(680, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_681(o, s, l) BOOST_PP_LIST_FOLD_LEFT_681(o, s, BOOST_PP_LIST_REVERSE_D(681, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_682(o, s, l) BOOST_PP_LIST_FOLD_LEFT_682(o, s, BOOST_PP_LIST_REVERSE_D(682, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_683(o, s, l) BOOST_PP_LIST_FOLD_LEFT_683(o, s, BOOST_PP_LIST_REVERSE_D(683, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_684(o, s, l) BOOST_PP_LIST_FOLD_LEFT_684(o, s, BOOST_PP_LIST_REVERSE_D(684, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_685(o, s, l) BOOST_PP_LIST_FOLD_LEFT_685(o, s, BOOST_PP_LIST_REVERSE_D(685, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_686(o, s, l) BOOST_PP_LIST_FOLD_LEFT_686(o, s, BOOST_PP_LIST_REVERSE_D(686, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_687(o, s, l) BOOST_PP_LIST_FOLD_LEFT_687(o, s, BOOST_PP_LIST_REVERSE_D(687, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_688(o, s, l) BOOST_PP_LIST_FOLD_LEFT_688(o, s, BOOST_PP_LIST_REVERSE_D(688, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_689(o, s, l) BOOST_PP_LIST_FOLD_LEFT_689(o, s, BOOST_PP_LIST_REVERSE_D(689, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_690(o, s, l) BOOST_PP_LIST_FOLD_LEFT_690(o, s, BOOST_PP_LIST_REVERSE_D(690, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_691(o, s, l) BOOST_PP_LIST_FOLD_LEFT_691(o, s, BOOST_PP_LIST_REVERSE_D(691, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_692(o, s, l) BOOST_PP_LIST_FOLD_LEFT_692(o, s, BOOST_PP_LIST_REVERSE_D(692, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_693(o, s, l) BOOST_PP_LIST_FOLD_LEFT_693(o, s, BOOST_PP_LIST_REVERSE_D(693, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_694(o, s, l) BOOST_PP_LIST_FOLD_LEFT_694(o, s, BOOST_PP_LIST_REVERSE_D(694, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_695(o, s, l) BOOST_PP_LIST_FOLD_LEFT_695(o, s, BOOST_PP_LIST_REVERSE_D(695, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_696(o, s, l) BOOST_PP_LIST_FOLD_LEFT_696(o, s, BOOST_PP_LIST_REVERSE_D(696, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_697(o, s, l) BOOST_PP_LIST_FOLD_LEFT_697(o, s, BOOST_PP_LIST_REVERSE_D(697, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_698(o, s, l) BOOST_PP_LIST_FOLD_LEFT_698(o, s, BOOST_PP_LIST_REVERSE_D(698, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_699(o, s, l) BOOST_PP_LIST_FOLD_LEFT_699(o, s, BOOST_PP_LIST_REVERSE_D(699, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_700(o, s, l) BOOST_PP_LIST_FOLD_LEFT_700(o, s, BOOST_PP_LIST_REVERSE_D(700, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_701(o, s, l) BOOST_PP_LIST_FOLD_LEFT_701(o, s, BOOST_PP_LIST_REVERSE_D(701, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_702(o, s, l) BOOST_PP_LIST_FOLD_LEFT_702(o, s, BOOST_PP_LIST_REVERSE_D(702, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_703(o, s, l) BOOST_PP_LIST_FOLD_LEFT_703(o, s, BOOST_PP_LIST_REVERSE_D(703, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_704(o, s, l) BOOST_PP_LIST_FOLD_LEFT_704(o, s, BOOST_PP_LIST_REVERSE_D(704, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_705(o, s, l) BOOST_PP_LIST_FOLD_LEFT_705(o, s, BOOST_PP_LIST_REVERSE_D(705, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_706(o, s, l) BOOST_PP_LIST_FOLD_LEFT_706(o, s, BOOST_PP_LIST_REVERSE_D(706, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_707(o, s, l) BOOST_PP_LIST_FOLD_LEFT_707(o, s, BOOST_PP_LIST_REVERSE_D(707, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_708(o, s, l) BOOST_PP_LIST_FOLD_LEFT_708(o, s, BOOST_PP_LIST_REVERSE_D(708, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_709(o, s, l) BOOST_PP_LIST_FOLD_LEFT_709(o, s, BOOST_PP_LIST_REVERSE_D(709, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_710(o, s, l) BOOST_PP_LIST_FOLD_LEFT_710(o, s, BOOST_PP_LIST_REVERSE_D(710, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_711(o, s, l) BOOST_PP_LIST_FOLD_LEFT_711(o, s, BOOST_PP_LIST_REVERSE_D(711, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_712(o, s, l) BOOST_PP_LIST_FOLD_LEFT_712(o, s, BOOST_PP_LIST_REVERSE_D(712, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_713(o, s, l) BOOST_PP_LIST_FOLD_LEFT_713(o, s, BOOST_PP_LIST_REVERSE_D(713, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_714(o, s, l) BOOST_PP_LIST_FOLD_LEFT_714(o, s, BOOST_PP_LIST_REVERSE_D(714, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_715(o, s, l) BOOST_PP_LIST_FOLD_LEFT_715(o, s, BOOST_PP_LIST_REVERSE_D(715, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_716(o, s, l) BOOST_PP_LIST_FOLD_LEFT_716(o, s, BOOST_PP_LIST_REVERSE_D(716, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_717(o, s, l) BOOST_PP_LIST_FOLD_LEFT_717(o, s, BOOST_PP_LIST_REVERSE_D(717, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_718(o, s, l) BOOST_PP_LIST_FOLD_LEFT_718(o, s, BOOST_PP_LIST_REVERSE_D(718, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_719(o, s, l) BOOST_PP_LIST_FOLD_LEFT_719(o, s, BOOST_PP_LIST_REVERSE_D(719, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_720(o, s, l) BOOST_PP_LIST_FOLD_LEFT_720(o, s, BOOST_PP_LIST_REVERSE_D(720, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_721(o, s, l) BOOST_PP_LIST_FOLD_LEFT_721(o, s, BOOST_PP_LIST_REVERSE_D(721, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_722(o, s, l) BOOST_PP_LIST_FOLD_LEFT_722(o, s, BOOST_PP_LIST_REVERSE_D(722, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_723(o, s, l) BOOST_PP_LIST_FOLD_LEFT_723(o, s, BOOST_PP_LIST_REVERSE_D(723, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_724(o, s, l) BOOST_PP_LIST_FOLD_LEFT_724(o, s, BOOST_PP_LIST_REVERSE_D(724, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_725(o, s, l) BOOST_PP_LIST_FOLD_LEFT_725(o, s, BOOST_PP_LIST_REVERSE_D(725, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_726(o, s, l) BOOST_PP_LIST_FOLD_LEFT_726(o, s, BOOST_PP_LIST_REVERSE_D(726, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_727(o, s, l) BOOST_PP_LIST_FOLD_LEFT_727(o, s, BOOST_PP_LIST_REVERSE_D(727, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_728(o, s, l) BOOST_PP_LIST_FOLD_LEFT_728(o, s, BOOST_PP_LIST_REVERSE_D(728, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_729(o, s, l) BOOST_PP_LIST_FOLD_LEFT_729(o, s, BOOST_PP_LIST_REVERSE_D(729, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_730(o, s, l) BOOST_PP_LIST_FOLD_LEFT_730(o, s, BOOST_PP_LIST_REVERSE_D(730, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_731(o, s, l) BOOST_PP_LIST_FOLD_LEFT_731(o, s, BOOST_PP_LIST_REVERSE_D(731, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_732(o, s, l) BOOST_PP_LIST_FOLD_LEFT_732(o, s, BOOST_PP_LIST_REVERSE_D(732, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_733(o, s, l) BOOST_PP_LIST_FOLD_LEFT_733(o, s, BOOST_PP_LIST_REVERSE_D(733, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_734(o, s, l) BOOST_PP_LIST_FOLD_LEFT_734(o, s, BOOST_PP_LIST_REVERSE_D(734, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_735(o, s, l) BOOST_PP_LIST_FOLD_LEFT_735(o, s, BOOST_PP_LIST_REVERSE_D(735, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_736(o, s, l) BOOST_PP_LIST_FOLD_LEFT_736(o, s, BOOST_PP_LIST_REVERSE_D(736, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_737(o, s, l) BOOST_PP_LIST_FOLD_LEFT_737(o, s, BOOST_PP_LIST_REVERSE_D(737, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_738(o, s, l) BOOST_PP_LIST_FOLD_LEFT_738(o, s, BOOST_PP_LIST_REVERSE_D(738, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_739(o, s, l) BOOST_PP_LIST_FOLD_LEFT_739(o, s, BOOST_PP_LIST_REVERSE_D(739, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_740(o, s, l) BOOST_PP_LIST_FOLD_LEFT_740(o, s, BOOST_PP_LIST_REVERSE_D(740, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_741(o, s, l) BOOST_PP_LIST_FOLD_LEFT_741(o, s, BOOST_PP_LIST_REVERSE_D(741, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_742(o, s, l) BOOST_PP_LIST_FOLD_LEFT_742(o, s, BOOST_PP_LIST_REVERSE_D(742, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_743(o, s, l) BOOST_PP_LIST_FOLD_LEFT_743(o, s, BOOST_PP_LIST_REVERSE_D(743, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_744(o, s, l) BOOST_PP_LIST_FOLD_LEFT_744(o, s, BOOST_PP_LIST_REVERSE_D(744, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_745(o, s, l) BOOST_PP_LIST_FOLD_LEFT_745(o, s, BOOST_PP_LIST_REVERSE_D(745, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_746(o, s, l) BOOST_PP_LIST_FOLD_LEFT_746(o, s, BOOST_PP_LIST_REVERSE_D(746, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_747(o, s, l) BOOST_PP_LIST_FOLD_LEFT_747(o, s, BOOST_PP_LIST_REVERSE_D(747, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_748(o, s, l) BOOST_PP_LIST_FOLD_LEFT_748(o, s, BOOST_PP_LIST_REVERSE_D(748, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_749(o, s, l) BOOST_PP_LIST_FOLD_LEFT_749(o, s, BOOST_PP_LIST_REVERSE_D(749, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_750(o, s, l) BOOST_PP_LIST_FOLD_LEFT_750(o, s, BOOST_PP_LIST_REVERSE_D(750, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_751(o, s, l) BOOST_PP_LIST_FOLD_LEFT_751(o, s, BOOST_PP_LIST_REVERSE_D(751, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_752(o, s, l) BOOST_PP_LIST_FOLD_LEFT_752(o, s, BOOST_PP_LIST_REVERSE_D(752, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_753(o, s, l) BOOST_PP_LIST_FOLD_LEFT_753(o, s, BOOST_PP_LIST_REVERSE_D(753, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_754(o, s, l) BOOST_PP_LIST_FOLD_LEFT_754(o, s, BOOST_PP_LIST_REVERSE_D(754, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_755(o, s, l) BOOST_PP_LIST_FOLD_LEFT_755(o, s, BOOST_PP_LIST_REVERSE_D(755, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_756(o, s, l) BOOST_PP_LIST_FOLD_LEFT_756(o, s, BOOST_PP_LIST_REVERSE_D(756, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_757(o, s, l) BOOST_PP_LIST_FOLD_LEFT_757(o, s, BOOST_PP_LIST_REVERSE_D(757, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_758(o, s, l) BOOST_PP_LIST_FOLD_LEFT_758(o, s, BOOST_PP_LIST_REVERSE_D(758, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_759(o, s, l) BOOST_PP_LIST_FOLD_LEFT_759(o, s, BOOST_PP_LIST_REVERSE_D(759, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_760(o, s, l) BOOST_PP_LIST_FOLD_LEFT_760(o, s, BOOST_PP_LIST_REVERSE_D(760, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_761(o, s, l) BOOST_PP_LIST_FOLD_LEFT_761(o, s, BOOST_PP_LIST_REVERSE_D(761, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_762(o, s, l) BOOST_PP_LIST_FOLD_LEFT_762(o, s, BOOST_PP_LIST_REVERSE_D(762, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_763(o, s, l) BOOST_PP_LIST_FOLD_LEFT_763(o, s, BOOST_PP_LIST_REVERSE_D(763, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_764(o, s, l) BOOST_PP_LIST_FOLD_LEFT_764(o, s, BOOST_PP_LIST_REVERSE_D(764, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_765(o, s, l) BOOST_PP_LIST_FOLD_LEFT_765(o, s, BOOST_PP_LIST_REVERSE_D(765, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_766(o, s, l) BOOST_PP_LIST_FOLD_LEFT_766(o, s, BOOST_PP_LIST_REVERSE_D(766, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_767(o, s, l) BOOST_PP_LIST_FOLD_LEFT_767(o, s, BOOST_PP_LIST_REVERSE_D(767, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_768(o, s, l) BOOST_PP_LIST_FOLD_LEFT_768(o, s, BOOST_PP_LIST_REVERSE_D(768, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_769(o, s, l) BOOST_PP_LIST_FOLD_LEFT_769(o, s, BOOST_PP_LIST_REVERSE_D(769, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_770(o, s, l) BOOST_PP_LIST_FOLD_LEFT_770(o, s, BOOST_PP_LIST_REVERSE_D(770, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_771(o, s, l) BOOST_PP_LIST_FOLD_LEFT_771(o, s, BOOST_PP_LIST_REVERSE_D(771, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_772(o, s, l) BOOST_PP_LIST_FOLD_LEFT_772(o, s, BOOST_PP_LIST_REVERSE_D(772, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_773(o, s, l) BOOST_PP_LIST_FOLD_LEFT_773(o, s, BOOST_PP_LIST_REVERSE_D(773, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_774(o, s, l) BOOST_PP_LIST_FOLD_LEFT_774(o, s, BOOST_PP_LIST_REVERSE_D(774, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_775(o, s, l) BOOST_PP_LIST_FOLD_LEFT_775(o, s, BOOST_PP_LIST_REVERSE_D(775, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_776(o, s, l) BOOST_PP_LIST_FOLD_LEFT_776(o, s, BOOST_PP_LIST_REVERSE_D(776, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_777(o, s, l) BOOST_PP_LIST_FOLD_LEFT_777(o, s, BOOST_PP_LIST_REVERSE_D(777, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_778(o, s, l) BOOST_PP_LIST_FOLD_LEFT_778(o, s, BOOST_PP_LIST_REVERSE_D(778, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_779(o, s, l) BOOST_PP_LIST_FOLD_LEFT_779(o, s, BOOST_PP_LIST_REVERSE_D(779, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_780(o, s, l) BOOST_PP_LIST_FOLD_LEFT_780(o, s, BOOST_PP_LIST_REVERSE_D(780, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_781(o, s, l) BOOST_PP_LIST_FOLD_LEFT_781(o, s, BOOST_PP_LIST_REVERSE_D(781, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_782(o, s, l) BOOST_PP_LIST_FOLD_LEFT_782(o, s, BOOST_PP_LIST_REVERSE_D(782, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_783(o, s, l) BOOST_PP_LIST_FOLD_LEFT_783(o, s, BOOST_PP_LIST_REVERSE_D(783, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_784(o, s, l) BOOST_PP_LIST_FOLD_LEFT_784(o, s, BOOST_PP_LIST_REVERSE_D(784, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_785(o, s, l) BOOST_PP_LIST_FOLD_LEFT_785(o, s, BOOST_PP_LIST_REVERSE_D(785, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_786(o, s, l) BOOST_PP_LIST_FOLD_LEFT_786(o, s, BOOST_PP_LIST_REVERSE_D(786, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_787(o, s, l) BOOST_PP_LIST_FOLD_LEFT_787(o, s, BOOST_PP_LIST_REVERSE_D(787, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_788(o, s, l) BOOST_PP_LIST_FOLD_LEFT_788(o, s, BOOST_PP_LIST_REVERSE_D(788, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_789(o, s, l) BOOST_PP_LIST_FOLD_LEFT_789(o, s, BOOST_PP_LIST_REVERSE_D(789, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_790(o, s, l) BOOST_PP_LIST_FOLD_LEFT_790(o, s, BOOST_PP_LIST_REVERSE_D(790, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_791(o, s, l) BOOST_PP_LIST_FOLD_LEFT_791(o, s, BOOST_PP_LIST_REVERSE_D(791, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_792(o, s, l) BOOST_PP_LIST_FOLD_LEFT_792(o, s, BOOST_PP_LIST_REVERSE_D(792, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_793(o, s, l) BOOST_PP_LIST_FOLD_LEFT_793(o, s, BOOST_PP_LIST_REVERSE_D(793, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_794(o, s, l) BOOST_PP_LIST_FOLD_LEFT_794(o, s, BOOST_PP_LIST_REVERSE_D(794, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_795(o, s, l) BOOST_PP_LIST_FOLD_LEFT_795(o, s, BOOST_PP_LIST_REVERSE_D(795, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_796(o, s, l) BOOST_PP_LIST_FOLD_LEFT_796(o, s, BOOST_PP_LIST_REVERSE_D(796, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_797(o, s, l) BOOST_PP_LIST_FOLD_LEFT_797(o, s, BOOST_PP_LIST_REVERSE_D(797, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_798(o, s, l) BOOST_PP_LIST_FOLD_LEFT_798(o, s, BOOST_PP_LIST_REVERSE_D(798, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_799(o, s, l) BOOST_PP_LIST_FOLD_LEFT_799(o, s, BOOST_PP_LIST_REVERSE_D(799, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_800(o, s, l) BOOST_PP_LIST_FOLD_LEFT_800(o, s, BOOST_PP_LIST_REVERSE_D(800, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_801(o, s, l) BOOST_PP_LIST_FOLD_LEFT_801(o, s, BOOST_PP_LIST_REVERSE_D(801, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_802(o, s, l) BOOST_PP_LIST_FOLD_LEFT_802(o, s, BOOST_PP_LIST_REVERSE_D(802, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_803(o, s, l) BOOST_PP_LIST_FOLD_LEFT_803(o, s, BOOST_PP_LIST_REVERSE_D(803, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_804(o, s, l) BOOST_PP_LIST_FOLD_LEFT_804(o, s, BOOST_PP_LIST_REVERSE_D(804, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_805(o, s, l) BOOST_PP_LIST_FOLD_LEFT_805(o, s, BOOST_PP_LIST_REVERSE_D(805, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_806(o, s, l) BOOST_PP_LIST_FOLD_LEFT_806(o, s, BOOST_PP_LIST_REVERSE_D(806, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_807(o, s, l) BOOST_PP_LIST_FOLD_LEFT_807(o, s, BOOST_PP_LIST_REVERSE_D(807, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_808(o, s, l) BOOST_PP_LIST_FOLD_LEFT_808(o, s, BOOST_PP_LIST_REVERSE_D(808, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_809(o, s, l) BOOST_PP_LIST_FOLD_LEFT_809(o, s, BOOST_PP_LIST_REVERSE_D(809, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_810(o, s, l) BOOST_PP_LIST_FOLD_LEFT_810(o, s, BOOST_PP_LIST_REVERSE_D(810, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_811(o, s, l) BOOST_PP_LIST_FOLD_LEFT_811(o, s, BOOST_PP_LIST_REVERSE_D(811, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_812(o, s, l) BOOST_PP_LIST_FOLD_LEFT_812(o, s, BOOST_PP_LIST_REVERSE_D(812, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_813(o, s, l) BOOST_PP_LIST_FOLD_LEFT_813(o, s, BOOST_PP_LIST_REVERSE_D(813, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_814(o, s, l) BOOST_PP_LIST_FOLD_LEFT_814(o, s, BOOST_PP_LIST_REVERSE_D(814, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_815(o, s, l) BOOST_PP_LIST_FOLD_LEFT_815(o, s, BOOST_PP_LIST_REVERSE_D(815, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_816(o, s, l) BOOST_PP_LIST_FOLD_LEFT_816(o, s, BOOST_PP_LIST_REVERSE_D(816, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_817(o, s, l) BOOST_PP_LIST_FOLD_LEFT_817(o, s, BOOST_PP_LIST_REVERSE_D(817, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_818(o, s, l) BOOST_PP_LIST_FOLD_LEFT_818(o, s, BOOST_PP_LIST_REVERSE_D(818, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_819(o, s, l) BOOST_PP_LIST_FOLD_LEFT_819(o, s, BOOST_PP_LIST_REVERSE_D(819, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_820(o, s, l) BOOST_PP_LIST_FOLD_LEFT_820(o, s, BOOST_PP_LIST_REVERSE_D(820, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_821(o, s, l) BOOST_PP_LIST_FOLD_LEFT_821(o, s, BOOST_PP_LIST_REVERSE_D(821, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_822(o, s, l) BOOST_PP_LIST_FOLD_LEFT_822(o, s, BOOST_PP_LIST_REVERSE_D(822, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_823(o, s, l) BOOST_PP_LIST_FOLD_LEFT_823(o, s, BOOST_PP_LIST_REVERSE_D(823, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_824(o, s, l) BOOST_PP_LIST_FOLD_LEFT_824(o, s, BOOST_PP_LIST_REVERSE_D(824, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_825(o, s, l) BOOST_PP_LIST_FOLD_LEFT_825(o, s, BOOST_PP_LIST_REVERSE_D(825, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_826(o, s, l) BOOST_PP_LIST_FOLD_LEFT_826(o, s, BOOST_PP_LIST_REVERSE_D(826, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_827(o, s, l) BOOST_PP_LIST_FOLD_LEFT_827(o, s, BOOST_PP_LIST_REVERSE_D(827, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_828(o, s, l) BOOST_PP_LIST_FOLD_LEFT_828(o, s, BOOST_PP_LIST_REVERSE_D(828, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_829(o, s, l) BOOST_PP_LIST_FOLD_LEFT_829(o, s, BOOST_PP_LIST_REVERSE_D(829, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_830(o, s, l) BOOST_PP_LIST_FOLD_LEFT_830(o, s, BOOST_PP_LIST_REVERSE_D(830, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_831(o, s, l) BOOST_PP_LIST_FOLD_LEFT_831(o, s, BOOST_PP_LIST_REVERSE_D(831, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_832(o, s, l) BOOST_PP_LIST_FOLD_LEFT_832(o, s, BOOST_PP_LIST_REVERSE_D(832, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_833(o, s, l) BOOST_PP_LIST_FOLD_LEFT_833(o, s, BOOST_PP_LIST_REVERSE_D(833, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_834(o, s, l) BOOST_PP_LIST_FOLD_LEFT_834(o, s, BOOST_PP_LIST_REVERSE_D(834, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_835(o, s, l) BOOST_PP_LIST_FOLD_LEFT_835(o, s, BOOST_PP_LIST_REVERSE_D(835, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_836(o, s, l) BOOST_PP_LIST_FOLD_LEFT_836(o, s, BOOST_PP_LIST_REVERSE_D(836, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_837(o, s, l) BOOST_PP_LIST_FOLD_LEFT_837(o, s, BOOST_PP_LIST_REVERSE_D(837, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_838(o, s, l) BOOST_PP_LIST_FOLD_LEFT_838(o, s, BOOST_PP_LIST_REVERSE_D(838, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_839(o, s, l) BOOST_PP_LIST_FOLD_LEFT_839(o, s, BOOST_PP_LIST_REVERSE_D(839, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_840(o, s, l) BOOST_PP_LIST_FOLD_LEFT_840(o, s, BOOST_PP_LIST_REVERSE_D(840, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_841(o, s, l) BOOST_PP_LIST_FOLD_LEFT_841(o, s, BOOST_PP_LIST_REVERSE_D(841, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_842(o, s, l) BOOST_PP_LIST_FOLD_LEFT_842(o, s, BOOST_PP_LIST_REVERSE_D(842, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_843(o, s, l) BOOST_PP_LIST_FOLD_LEFT_843(o, s, BOOST_PP_LIST_REVERSE_D(843, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_844(o, s, l) BOOST_PP_LIST_FOLD_LEFT_844(o, s, BOOST_PP_LIST_REVERSE_D(844, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_845(o, s, l) BOOST_PP_LIST_FOLD_LEFT_845(o, s, BOOST_PP_LIST_REVERSE_D(845, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_846(o, s, l) BOOST_PP_LIST_FOLD_LEFT_846(o, s, BOOST_PP_LIST_REVERSE_D(846, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_847(o, s, l) BOOST_PP_LIST_FOLD_LEFT_847(o, s, BOOST_PP_LIST_REVERSE_D(847, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_848(o, s, l) BOOST_PP_LIST_FOLD_LEFT_848(o, s, BOOST_PP_LIST_REVERSE_D(848, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_849(o, s, l) BOOST_PP_LIST_FOLD_LEFT_849(o, s, BOOST_PP_LIST_REVERSE_D(849, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_850(o, s, l) BOOST_PP_LIST_FOLD_LEFT_850(o, s, BOOST_PP_LIST_REVERSE_D(850, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_851(o, s, l) BOOST_PP_LIST_FOLD_LEFT_851(o, s, BOOST_PP_LIST_REVERSE_D(851, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_852(o, s, l) BOOST_PP_LIST_FOLD_LEFT_852(o, s, BOOST_PP_LIST_REVERSE_D(852, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_853(o, s, l) BOOST_PP_LIST_FOLD_LEFT_853(o, s, BOOST_PP_LIST_REVERSE_D(853, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_854(o, s, l) BOOST_PP_LIST_FOLD_LEFT_854(o, s, BOOST_PP_LIST_REVERSE_D(854, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_855(o, s, l) BOOST_PP_LIST_FOLD_LEFT_855(o, s, BOOST_PP_LIST_REVERSE_D(855, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_856(o, s, l) BOOST_PP_LIST_FOLD_LEFT_856(o, s, BOOST_PP_LIST_REVERSE_D(856, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_857(o, s, l) BOOST_PP_LIST_FOLD_LEFT_857(o, s, BOOST_PP_LIST_REVERSE_D(857, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_858(o, s, l) BOOST_PP_LIST_FOLD_LEFT_858(o, s, BOOST_PP_LIST_REVERSE_D(858, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_859(o, s, l) BOOST_PP_LIST_FOLD_LEFT_859(o, s, BOOST_PP_LIST_REVERSE_D(859, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_860(o, s, l) BOOST_PP_LIST_FOLD_LEFT_860(o, s, BOOST_PP_LIST_REVERSE_D(860, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_861(o, s, l) BOOST_PP_LIST_FOLD_LEFT_861(o, s, BOOST_PP_LIST_REVERSE_D(861, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_862(o, s, l) BOOST_PP_LIST_FOLD_LEFT_862(o, s, BOOST_PP_LIST_REVERSE_D(862, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_863(o, s, l) BOOST_PP_LIST_FOLD_LEFT_863(o, s, BOOST_PP_LIST_REVERSE_D(863, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_864(o, s, l) BOOST_PP_LIST_FOLD_LEFT_864(o, s, BOOST_PP_LIST_REVERSE_D(864, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_865(o, s, l) BOOST_PP_LIST_FOLD_LEFT_865(o, s, BOOST_PP_LIST_REVERSE_D(865, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_866(o, s, l) BOOST_PP_LIST_FOLD_LEFT_866(o, s, BOOST_PP_LIST_REVERSE_D(866, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_867(o, s, l) BOOST_PP_LIST_FOLD_LEFT_867(o, s, BOOST_PP_LIST_REVERSE_D(867, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_868(o, s, l) BOOST_PP_LIST_FOLD_LEFT_868(o, s, BOOST_PP_LIST_REVERSE_D(868, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_869(o, s, l) BOOST_PP_LIST_FOLD_LEFT_869(o, s, BOOST_PP_LIST_REVERSE_D(869, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_870(o, s, l) BOOST_PP_LIST_FOLD_LEFT_870(o, s, BOOST_PP_LIST_REVERSE_D(870, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_871(o, s, l) BOOST_PP_LIST_FOLD_LEFT_871(o, s, BOOST_PP_LIST_REVERSE_D(871, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_872(o, s, l) BOOST_PP_LIST_FOLD_LEFT_872(o, s, BOOST_PP_LIST_REVERSE_D(872, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_873(o, s, l) BOOST_PP_LIST_FOLD_LEFT_873(o, s, BOOST_PP_LIST_REVERSE_D(873, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_874(o, s, l) BOOST_PP_LIST_FOLD_LEFT_874(o, s, BOOST_PP_LIST_REVERSE_D(874, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_875(o, s, l) BOOST_PP_LIST_FOLD_LEFT_875(o, s, BOOST_PP_LIST_REVERSE_D(875, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_876(o, s, l) BOOST_PP_LIST_FOLD_LEFT_876(o, s, BOOST_PP_LIST_REVERSE_D(876, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_877(o, s, l) BOOST_PP_LIST_FOLD_LEFT_877(o, s, BOOST_PP_LIST_REVERSE_D(877, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_878(o, s, l) BOOST_PP_LIST_FOLD_LEFT_878(o, s, BOOST_PP_LIST_REVERSE_D(878, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_879(o, s, l) BOOST_PP_LIST_FOLD_LEFT_879(o, s, BOOST_PP_LIST_REVERSE_D(879, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_880(o, s, l) BOOST_PP_LIST_FOLD_LEFT_880(o, s, BOOST_PP_LIST_REVERSE_D(880, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_881(o, s, l) BOOST_PP_LIST_FOLD_LEFT_881(o, s, BOOST_PP_LIST_REVERSE_D(881, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_882(o, s, l) BOOST_PP_LIST_FOLD_LEFT_882(o, s, BOOST_PP_LIST_REVERSE_D(882, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_883(o, s, l) BOOST_PP_LIST_FOLD_LEFT_883(o, s, BOOST_PP_LIST_REVERSE_D(883, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_884(o, s, l) BOOST_PP_LIST_FOLD_LEFT_884(o, s, BOOST_PP_LIST_REVERSE_D(884, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_885(o, s, l) BOOST_PP_LIST_FOLD_LEFT_885(o, s, BOOST_PP_LIST_REVERSE_D(885, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_886(o, s, l) BOOST_PP_LIST_FOLD_LEFT_886(o, s, BOOST_PP_LIST_REVERSE_D(886, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_887(o, s, l) BOOST_PP_LIST_FOLD_LEFT_887(o, s, BOOST_PP_LIST_REVERSE_D(887, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_888(o, s, l) BOOST_PP_LIST_FOLD_LEFT_888(o, s, BOOST_PP_LIST_REVERSE_D(888, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_889(o, s, l) BOOST_PP_LIST_FOLD_LEFT_889(o, s, BOOST_PP_LIST_REVERSE_D(889, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_890(o, s, l) BOOST_PP_LIST_FOLD_LEFT_890(o, s, BOOST_PP_LIST_REVERSE_D(890, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_891(o, s, l) BOOST_PP_LIST_FOLD_LEFT_891(o, s, BOOST_PP_LIST_REVERSE_D(891, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_892(o, s, l) BOOST_PP_LIST_FOLD_LEFT_892(o, s, BOOST_PP_LIST_REVERSE_D(892, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_893(o, s, l) BOOST_PP_LIST_FOLD_LEFT_893(o, s, BOOST_PP_LIST_REVERSE_D(893, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_894(o, s, l) BOOST_PP_LIST_FOLD_LEFT_894(o, s, BOOST_PP_LIST_REVERSE_D(894, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_895(o, s, l) BOOST_PP_LIST_FOLD_LEFT_895(o, s, BOOST_PP_LIST_REVERSE_D(895, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_896(o, s, l) BOOST_PP_LIST_FOLD_LEFT_896(o, s, BOOST_PP_LIST_REVERSE_D(896, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_897(o, s, l) BOOST_PP_LIST_FOLD_LEFT_897(o, s, BOOST_PP_LIST_REVERSE_D(897, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_898(o, s, l) BOOST_PP_LIST_FOLD_LEFT_898(o, s, BOOST_PP_LIST_REVERSE_D(898, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_899(o, s, l) BOOST_PP_LIST_FOLD_LEFT_899(o, s, BOOST_PP_LIST_REVERSE_D(899, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_900(o, s, l) BOOST_PP_LIST_FOLD_LEFT_900(o, s, BOOST_PP_LIST_REVERSE_D(900, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_901(o, s, l) BOOST_PP_LIST_FOLD_LEFT_901(o, s, BOOST_PP_LIST_REVERSE_D(901, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_902(o, s, l) BOOST_PP_LIST_FOLD_LEFT_902(o, s, BOOST_PP_LIST_REVERSE_D(902, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_903(o, s, l) BOOST_PP_LIST_FOLD_LEFT_903(o, s, BOOST_PP_LIST_REVERSE_D(903, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_904(o, s, l) BOOST_PP_LIST_FOLD_LEFT_904(o, s, BOOST_PP_LIST_REVERSE_D(904, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_905(o, s, l) BOOST_PP_LIST_FOLD_LEFT_905(o, s, BOOST_PP_LIST_REVERSE_D(905, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_906(o, s, l) BOOST_PP_LIST_FOLD_LEFT_906(o, s, BOOST_PP_LIST_REVERSE_D(906, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_907(o, s, l) BOOST_PP_LIST_FOLD_LEFT_907(o, s, BOOST_PP_LIST_REVERSE_D(907, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_908(o, s, l) BOOST_PP_LIST_FOLD_LEFT_908(o, s, BOOST_PP_LIST_REVERSE_D(908, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_909(o, s, l) BOOST_PP_LIST_FOLD_LEFT_909(o, s, BOOST_PP_LIST_REVERSE_D(909, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_910(o, s, l) BOOST_PP_LIST_FOLD_LEFT_910(o, s, BOOST_PP_LIST_REVERSE_D(910, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_911(o, s, l) BOOST_PP_LIST_FOLD_LEFT_911(o, s, BOOST_PP_LIST_REVERSE_D(911, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_912(o, s, l) BOOST_PP_LIST_FOLD_LEFT_912(o, s, BOOST_PP_LIST_REVERSE_D(912, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_913(o, s, l) BOOST_PP_LIST_FOLD_LEFT_913(o, s, BOOST_PP_LIST_REVERSE_D(913, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_914(o, s, l) BOOST_PP_LIST_FOLD_LEFT_914(o, s, BOOST_PP_LIST_REVERSE_D(914, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_915(o, s, l) BOOST_PP_LIST_FOLD_LEFT_915(o, s, BOOST_PP_LIST_REVERSE_D(915, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_916(o, s, l) BOOST_PP_LIST_FOLD_LEFT_916(o, s, BOOST_PP_LIST_REVERSE_D(916, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_917(o, s, l) BOOST_PP_LIST_FOLD_LEFT_917(o, s, BOOST_PP_LIST_REVERSE_D(917, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_918(o, s, l) BOOST_PP_LIST_FOLD_LEFT_918(o, s, BOOST_PP_LIST_REVERSE_D(918, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_919(o, s, l) BOOST_PP_LIST_FOLD_LEFT_919(o, s, BOOST_PP_LIST_REVERSE_D(919, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_920(o, s, l) BOOST_PP_LIST_FOLD_LEFT_920(o, s, BOOST_PP_LIST_REVERSE_D(920, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_921(o, s, l) BOOST_PP_LIST_FOLD_LEFT_921(o, s, BOOST_PP_LIST_REVERSE_D(921, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_922(o, s, l) BOOST_PP_LIST_FOLD_LEFT_922(o, s, BOOST_PP_LIST_REVERSE_D(922, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_923(o, s, l) BOOST_PP_LIST_FOLD_LEFT_923(o, s, BOOST_PP_LIST_REVERSE_D(923, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_924(o, s, l) BOOST_PP_LIST_FOLD_LEFT_924(o, s, BOOST_PP_LIST_REVERSE_D(924, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_925(o, s, l) BOOST_PP_LIST_FOLD_LEFT_925(o, s, BOOST_PP_LIST_REVERSE_D(925, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_926(o, s, l) BOOST_PP_LIST_FOLD_LEFT_926(o, s, BOOST_PP_LIST_REVERSE_D(926, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_927(o, s, l) BOOST_PP_LIST_FOLD_LEFT_927(o, s, BOOST_PP_LIST_REVERSE_D(927, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_928(o, s, l) BOOST_PP_LIST_FOLD_LEFT_928(o, s, BOOST_PP_LIST_REVERSE_D(928, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_929(o, s, l) BOOST_PP_LIST_FOLD_LEFT_929(o, s, BOOST_PP_LIST_REVERSE_D(929, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_930(o, s, l) BOOST_PP_LIST_FOLD_LEFT_930(o, s, BOOST_PP_LIST_REVERSE_D(930, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_931(o, s, l) BOOST_PP_LIST_FOLD_LEFT_931(o, s, BOOST_PP_LIST_REVERSE_D(931, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_932(o, s, l) BOOST_PP_LIST_FOLD_LEFT_932(o, s, BOOST_PP_LIST_REVERSE_D(932, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_933(o, s, l) BOOST_PP_LIST_FOLD_LEFT_933(o, s, BOOST_PP_LIST_REVERSE_D(933, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_934(o, s, l) BOOST_PP_LIST_FOLD_LEFT_934(o, s, BOOST_PP_LIST_REVERSE_D(934, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_935(o, s, l) BOOST_PP_LIST_FOLD_LEFT_935(o, s, BOOST_PP_LIST_REVERSE_D(935, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_936(o, s, l) BOOST_PP_LIST_FOLD_LEFT_936(o, s, BOOST_PP_LIST_REVERSE_D(936, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_937(o, s, l) BOOST_PP_LIST_FOLD_LEFT_937(o, s, BOOST_PP_LIST_REVERSE_D(937, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_938(o, s, l) BOOST_PP_LIST_FOLD_LEFT_938(o, s, BOOST_PP_LIST_REVERSE_D(938, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_939(o, s, l) BOOST_PP_LIST_FOLD_LEFT_939(o, s, BOOST_PP_LIST_REVERSE_D(939, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_940(o, s, l) BOOST_PP_LIST_FOLD_LEFT_940(o, s, BOOST_PP_LIST_REVERSE_D(940, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_941(o, s, l) BOOST_PP_LIST_FOLD_LEFT_941(o, s, BOOST_PP_LIST_REVERSE_D(941, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_942(o, s, l) BOOST_PP_LIST_FOLD_LEFT_942(o, s, BOOST_PP_LIST_REVERSE_D(942, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_943(o, s, l) BOOST_PP_LIST_FOLD_LEFT_943(o, s, BOOST_PP_LIST_REVERSE_D(943, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_944(o, s, l) BOOST_PP_LIST_FOLD_LEFT_944(o, s, BOOST_PP_LIST_REVERSE_D(944, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_945(o, s, l) BOOST_PP_LIST_FOLD_LEFT_945(o, s, BOOST_PP_LIST_REVERSE_D(945, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_946(o, s, l) BOOST_PP_LIST_FOLD_LEFT_946(o, s, BOOST_PP_LIST_REVERSE_D(946, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_947(o, s, l) BOOST_PP_LIST_FOLD_LEFT_947(o, s, BOOST_PP_LIST_REVERSE_D(947, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_948(o, s, l) BOOST_PP_LIST_FOLD_LEFT_948(o, s, BOOST_PP_LIST_REVERSE_D(948, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_949(o, s, l) BOOST_PP_LIST_FOLD_LEFT_949(o, s, BOOST_PP_LIST_REVERSE_D(949, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_950(o, s, l) BOOST_PP_LIST_FOLD_LEFT_950(o, s, BOOST_PP_LIST_REVERSE_D(950, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_951(o, s, l) BOOST_PP_LIST_FOLD_LEFT_951(o, s, BOOST_PP_LIST_REVERSE_D(951, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_952(o, s, l) BOOST_PP_LIST_FOLD_LEFT_952(o, s, BOOST_PP_LIST_REVERSE_D(952, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_953(o, s, l) BOOST_PP_LIST_FOLD_LEFT_953(o, s, BOOST_PP_LIST_REVERSE_D(953, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_954(o, s, l) BOOST_PP_LIST_FOLD_LEFT_954(o, s, BOOST_PP_LIST_REVERSE_D(954, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_955(o, s, l) BOOST_PP_LIST_FOLD_LEFT_955(o, s, BOOST_PP_LIST_REVERSE_D(955, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_956(o, s, l) BOOST_PP_LIST_FOLD_LEFT_956(o, s, BOOST_PP_LIST_REVERSE_D(956, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_957(o, s, l) BOOST_PP_LIST_FOLD_LEFT_957(o, s, BOOST_PP_LIST_REVERSE_D(957, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_958(o, s, l) BOOST_PP_LIST_FOLD_LEFT_958(o, s, BOOST_PP_LIST_REVERSE_D(958, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_959(o, s, l) BOOST_PP_LIST_FOLD_LEFT_959(o, s, BOOST_PP_LIST_REVERSE_D(959, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_960(o, s, l) BOOST_PP_LIST_FOLD_LEFT_960(o, s, BOOST_PP_LIST_REVERSE_D(960, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_961(o, s, l) BOOST_PP_LIST_FOLD_LEFT_961(o, s, BOOST_PP_LIST_REVERSE_D(961, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_962(o, s, l) BOOST_PP_LIST_FOLD_LEFT_962(o, s, BOOST_PP_LIST_REVERSE_D(962, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_963(o, s, l) BOOST_PP_LIST_FOLD_LEFT_963(o, s, BOOST_PP_LIST_REVERSE_D(963, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_964(o, s, l) BOOST_PP_LIST_FOLD_LEFT_964(o, s, BOOST_PP_LIST_REVERSE_D(964, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_965(o, s, l) BOOST_PP_LIST_FOLD_LEFT_965(o, s, BOOST_PP_LIST_REVERSE_D(965, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_966(o, s, l) BOOST_PP_LIST_FOLD_LEFT_966(o, s, BOOST_PP_LIST_REVERSE_D(966, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_967(o, s, l) BOOST_PP_LIST_FOLD_LEFT_967(o, s, BOOST_PP_LIST_REVERSE_D(967, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_968(o, s, l) BOOST_PP_LIST_FOLD_LEFT_968(o, s, BOOST_PP_LIST_REVERSE_D(968, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_969(o, s, l) BOOST_PP_LIST_FOLD_LEFT_969(o, s, BOOST_PP_LIST_REVERSE_D(969, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_970(o, s, l) BOOST_PP_LIST_FOLD_LEFT_970(o, s, BOOST_PP_LIST_REVERSE_D(970, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_971(o, s, l) BOOST_PP_LIST_FOLD_LEFT_971(o, s, BOOST_PP_LIST_REVERSE_D(971, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_972(o, s, l) BOOST_PP_LIST_FOLD_LEFT_972(o, s, BOOST_PP_LIST_REVERSE_D(972, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_973(o, s, l) BOOST_PP_LIST_FOLD_LEFT_973(o, s, BOOST_PP_LIST_REVERSE_D(973, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_974(o, s, l) BOOST_PP_LIST_FOLD_LEFT_974(o, s, BOOST_PP_LIST_REVERSE_D(974, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_975(o, s, l) BOOST_PP_LIST_FOLD_LEFT_975(o, s, BOOST_PP_LIST_REVERSE_D(975, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_976(o, s, l) BOOST_PP_LIST_FOLD_LEFT_976(o, s, BOOST_PP_LIST_REVERSE_D(976, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_977(o, s, l) BOOST_PP_LIST_FOLD_LEFT_977(o, s, BOOST_PP_LIST_REVERSE_D(977, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_978(o, s, l) BOOST_PP_LIST_FOLD_LEFT_978(o, s, BOOST_PP_LIST_REVERSE_D(978, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_979(o, s, l) BOOST_PP_LIST_FOLD_LEFT_979(o, s, BOOST_PP_LIST_REVERSE_D(979, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_980(o, s, l) BOOST_PP_LIST_FOLD_LEFT_980(o, s, BOOST_PP_LIST_REVERSE_D(980, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_981(o, s, l) BOOST_PP_LIST_FOLD_LEFT_981(o, s, BOOST_PP_LIST_REVERSE_D(981, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_982(o, s, l) BOOST_PP_LIST_FOLD_LEFT_982(o, s, BOOST_PP_LIST_REVERSE_D(982, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_983(o, s, l) BOOST_PP_LIST_FOLD_LEFT_983(o, s, BOOST_PP_LIST_REVERSE_D(983, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_984(o, s, l) BOOST_PP_LIST_FOLD_LEFT_984(o, s, BOOST_PP_LIST_REVERSE_D(984, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_985(o, s, l) BOOST_PP_LIST_FOLD_LEFT_985(o, s, BOOST_PP_LIST_REVERSE_D(985, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_986(o, s, l) BOOST_PP_LIST_FOLD_LEFT_986(o, s, BOOST_PP_LIST_REVERSE_D(986, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_987(o, s, l) BOOST_PP_LIST_FOLD_LEFT_987(o, s, BOOST_PP_LIST_REVERSE_D(987, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_988(o, s, l) BOOST_PP_LIST_FOLD_LEFT_988(o, s, BOOST_PP_LIST_REVERSE_D(988, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_989(o, s, l) BOOST_PP_LIST_FOLD_LEFT_989(o, s, BOOST_PP_LIST_REVERSE_D(989, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_990(o, s, l) BOOST_PP_LIST_FOLD_LEFT_990(o, s, BOOST_PP_LIST_REVERSE_D(990, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_991(o, s, l) BOOST_PP_LIST_FOLD_LEFT_991(o, s, BOOST_PP_LIST_REVERSE_D(991, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_992(o, s, l) BOOST_PP_LIST_FOLD_LEFT_992(o, s, BOOST_PP_LIST_REVERSE_D(992, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_993(o, s, l) BOOST_PP_LIST_FOLD_LEFT_993(o, s, BOOST_PP_LIST_REVERSE_D(993, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_994(o, s, l) BOOST_PP_LIST_FOLD_LEFT_994(o, s, BOOST_PP_LIST_REVERSE_D(994, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_995(o, s, l) BOOST_PP_LIST_FOLD_LEFT_995(o, s, BOOST_PP_LIST_REVERSE_D(995, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_996(o, s, l) BOOST_PP_LIST_FOLD_LEFT_996(o, s, BOOST_PP_LIST_REVERSE_D(996, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_997(o, s, l) BOOST_PP_LIST_FOLD_LEFT_997(o, s, BOOST_PP_LIST_REVERSE_D(997, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_998(o, s, l) BOOST_PP_LIST_FOLD_LEFT_998(o, s, BOOST_PP_LIST_REVERSE_D(998, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_999(o, s, l) BOOST_PP_LIST_FOLD_LEFT_999(o, s, BOOST_PP_LIST_REVERSE_D(999, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1000(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1000(o, s, BOOST_PP_LIST_REVERSE_D(1000, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1001(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1001(o, s, BOOST_PP_LIST_REVERSE_D(1001, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1002(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1002(o, s, BOOST_PP_LIST_REVERSE_D(1002, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1003(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1003(o, s, BOOST_PP_LIST_REVERSE_D(1003, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1004(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1004(o, s, BOOST_PP_LIST_REVERSE_D(1004, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1005(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1005(o, s, BOOST_PP_LIST_REVERSE_D(1005, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1006(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1006(o, s, BOOST_PP_LIST_REVERSE_D(1006, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1007(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1007(o, s, BOOST_PP_LIST_REVERSE_D(1007, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1008(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1008(o, s, BOOST_PP_LIST_REVERSE_D(1008, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1009(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1009(o, s, BOOST_PP_LIST_REVERSE_D(1009, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1010(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1010(o, s, BOOST_PP_LIST_REVERSE_D(1010, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1011(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1011(o, s, BOOST_PP_LIST_REVERSE_D(1011, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1012(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1012(o, s, BOOST_PP_LIST_REVERSE_D(1012, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1013(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1013(o, s, BOOST_PP_LIST_REVERSE_D(1013, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1014(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1014(o, s, BOOST_PP_LIST_REVERSE_D(1014, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1015(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1015(o, s, BOOST_PP_LIST_REVERSE_D(1015, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1016(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1016(o, s, BOOST_PP_LIST_REVERSE_D(1016, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1017(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1017(o, s, BOOST_PP_LIST_REVERSE_D(1017, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1018(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1018(o, s, BOOST_PP_LIST_REVERSE_D(1018, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1019(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1019(o, s, BOOST_PP_LIST_REVERSE_D(1019, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1020(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1020(o, s, BOOST_PP_LIST_REVERSE_D(1020, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1021(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1021(o, s, BOOST_PP_LIST_REVERSE_D(1021, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1022(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1022(o, s, BOOST_PP_LIST_REVERSE_D(1022, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1023(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1023(o, s, BOOST_PP_LIST_REVERSE_D(1023, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1024(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1024(o, s, BOOST_PP_LIST_REVERSE_D(1024, l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_256.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_256.hpp deleted file mode 100644 index 4664cfd0a6..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_256.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_256_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_256_HPP -# -# define BOOST_PP_LIST_FOLD_RIGHT_0(o, s, l) BOOST_PP_LIST_FOLD_LEFT_0(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_512.hpp b/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_512.hpp deleted file mode 100644 index 81393d78d7..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/detail/limits/fold_right_512.hpp +++ /dev/null @@ -1,276 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_512_HPP -# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_512_HPP -# -# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_LIST_FOLD_LEFT_257(o, s, BOOST_PP_LIST_REVERSE_D(257, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_258(o, s, l) BOOST_PP_LIST_FOLD_LEFT_258(o, s, BOOST_PP_LIST_REVERSE_D(258, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_259(o, s, l) BOOST_PP_LIST_FOLD_LEFT_259(o, s, BOOST_PP_LIST_REVERSE_D(259, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_260(o, s, l) BOOST_PP_LIST_FOLD_LEFT_260(o, s, BOOST_PP_LIST_REVERSE_D(260, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_261(o, s, l) BOOST_PP_LIST_FOLD_LEFT_261(o, s, BOOST_PP_LIST_REVERSE_D(261, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_262(o, s, l) BOOST_PP_LIST_FOLD_LEFT_262(o, s, BOOST_PP_LIST_REVERSE_D(262, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_263(o, s, l) BOOST_PP_LIST_FOLD_LEFT_263(o, s, BOOST_PP_LIST_REVERSE_D(263, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_264(o, s, l) BOOST_PP_LIST_FOLD_LEFT_264(o, s, BOOST_PP_LIST_REVERSE_D(264, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_265(o, s, l) BOOST_PP_LIST_FOLD_LEFT_265(o, s, BOOST_PP_LIST_REVERSE_D(265, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_266(o, s, l) BOOST_PP_LIST_FOLD_LEFT_266(o, s, BOOST_PP_LIST_REVERSE_D(266, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_267(o, s, l) BOOST_PP_LIST_FOLD_LEFT_267(o, s, BOOST_PP_LIST_REVERSE_D(267, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_268(o, s, l) BOOST_PP_LIST_FOLD_LEFT_268(o, s, BOOST_PP_LIST_REVERSE_D(268, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_269(o, s, l) BOOST_PP_LIST_FOLD_LEFT_269(o, s, BOOST_PP_LIST_REVERSE_D(269, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_270(o, s, l) BOOST_PP_LIST_FOLD_LEFT_270(o, s, BOOST_PP_LIST_REVERSE_D(270, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_271(o, s, l) BOOST_PP_LIST_FOLD_LEFT_271(o, s, BOOST_PP_LIST_REVERSE_D(271, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_272(o, s, l) BOOST_PP_LIST_FOLD_LEFT_272(o, s, BOOST_PP_LIST_REVERSE_D(272, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_273(o, s, l) BOOST_PP_LIST_FOLD_LEFT_273(o, s, BOOST_PP_LIST_REVERSE_D(273, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_274(o, s, l) BOOST_PP_LIST_FOLD_LEFT_274(o, s, BOOST_PP_LIST_REVERSE_D(274, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_275(o, s, l) BOOST_PP_LIST_FOLD_LEFT_275(o, s, BOOST_PP_LIST_REVERSE_D(275, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_276(o, s, l) BOOST_PP_LIST_FOLD_LEFT_276(o, s, BOOST_PP_LIST_REVERSE_D(276, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_277(o, s, l) BOOST_PP_LIST_FOLD_LEFT_277(o, s, BOOST_PP_LIST_REVERSE_D(277, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_278(o, s, l) BOOST_PP_LIST_FOLD_LEFT_278(o, s, BOOST_PP_LIST_REVERSE_D(278, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_279(o, s, l) BOOST_PP_LIST_FOLD_LEFT_279(o, s, BOOST_PP_LIST_REVERSE_D(279, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_280(o, s, l) BOOST_PP_LIST_FOLD_LEFT_280(o, s, BOOST_PP_LIST_REVERSE_D(280, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_281(o, s, l) BOOST_PP_LIST_FOLD_LEFT_281(o, s, BOOST_PP_LIST_REVERSE_D(281, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_282(o, s, l) BOOST_PP_LIST_FOLD_LEFT_282(o, s, BOOST_PP_LIST_REVERSE_D(282, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_283(o, s, l) BOOST_PP_LIST_FOLD_LEFT_283(o, s, BOOST_PP_LIST_REVERSE_D(283, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_284(o, s, l) BOOST_PP_LIST_FOLD_LEFT_284(o, s, BOOST_PP_LIST_REVERSE_D(284, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_285(o, s, l) BOOST_PP_LIST_FOLD_LEFT_285(o, s, BOOST_PP_LIST_REVERSE_D(285, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_286(o, s, l) BOOST_PP_LIST_FOLD_LEFT_286(o, s, BOOST_PP_LIST_REVERSE_D(286, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_287(o, s, l) BOOST_PP_LIST_FOLD_LEFT_287(o, s, BOOST_PP_LIST_REVERSE_D(287, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_288(o, s, l) BOOST_PP_LIST_FOLD_LEFT_288(o, s, BOOST_PP_LIST_REVERSE_D(288, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_289(o, s, l) BOOST_PP_LIST_FOLD_LEFT_289(o, s, BOOST_PP_LIST_REVERSE_D(289, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_290(o, s, l) BOOST_PP_LIST_FOLD_LEFT_290(o, s, BOOST_PP_LIST_REVERSE_D(290, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_291(o, s, l) BOOST_PP_LIST_FOLD_LEFT_291(o, s, BOOST_PP_LIST_REVERSE_D(291, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_292(o, s, l) BOOST_PP_LIST_FOLD_LEFT_292(o, s, BOOST_PP_LIST_REVERSE_D(292, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_293(o, s, l) BOOST_PP_LIST_FOLD_LEFT_293(o, s, BOOST_PP_LIST_REVERSE_D(293, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_294(o, s, l) BOOST_PP_LIST_FOLD_LEFT_294(o, s, BOOST_PP_LIST_REVERSE_D(294, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_295(o, s, l) BOOST_PP_LIST_FOLD_LEFT_295(o, s, BOOST_PP_LIST_REVERSE_D(295, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_296(o, s, l) BOOST_PP_LIST_FOLD_LEFT_296(o, s, BOOST_PP_LIST_REVERSE_D(296, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_297(o, s, l) BOOST_PP_LIST_FOLD_LEFT_297(o, s, BOOST_PP_LIST_REVERSE_D(297, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_298(o, s, l) BOOST_PP_LIST_FOLD_LEFT_298(o, s, BOOST_PP_LIST_REVERSE_D(298, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_299(o, s, l) BOOST_PP_LIST_FOLD_LEFT_299(o, s, BOOST_PP_LIST_REVERSE_D(299, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_300(o, s, l) BOOST_PP_LIST_FOLD_LEFT_300(o, s, BOOST_PP_LIST_REVERSE_D(300, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_301(o, s, l) BOOST_PP_LIST_FOLD_LEFT_301(o, s, BOOST_PP_LIST_REVERSE_D(301, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_302(o, s, l) BOOST_PP_LIST_FOLD_LEFT_302(o, s, BOOST_PP_LIST_REVERSE_D(302, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_303(o, s, l) BOOST_PP_LIST_FOLD_LEFT_303(o, s, BOOST_PP_LIST_REVERSE_D(303, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_304(o, s, l) BOOST_PP_LIST_FOLD_LEFT_304(o, s, BOOST_PP_LIST_REVERSE_D(304, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_305(o, s, l) BOOST_PP_LIST_FOLD_LEFT_305(o, s, BOOST_PP_LIST_REVERSE_D(305, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_306(o, s, l) BOOST_PP_LIST_FOLD_LEFT_306(o, s, BOOST_PP_LIST_REVERSE_D(306, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_307(o, s, l) BOOST_PP_LIST_FOLD_LEFT_307(o, s, BOOST_PP_LIST_REVERSE_D(307, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_308(o, s, l) BOOST_PP_LIST_FOLD_LEFT_308(o, s, BOOST_PP_LIST_REVERSE_D(308, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_309(o, s, l) BOOST_PP_LIST_FOLD_LEFT_309(o, s, BOOST_PP_LIST_REVERSE_D(309, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_310(o, s, l) BOOST_PP_LIST_FOLD_LEFT_310(o, s, BOOST_PP_LIST_REVERSE_D(310, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_311(o, s, l) BOOST_PP_LIST_FOLD_LEFT_311(o, s, BOOST_PP_LIST_REVERSE_D(311, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_312(o, s, l) BOOST_PP_LIST_FOLD_LEFT_312(o, s, BOOST_PP_LIST_REVERSE_D(312, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_313(o, s, l) BOOST_PP_LIST_FOLD_LEFT_313(o, s, BOOST_PP_LIST_REVERSE_D(313, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_314(o, s, l) BOOST_PP_LIST_FOLD_LEFT_314(o, s, BOOST_PP_LIST_REVERSE_D(314, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_315(o, s, l) BOOST_PP_LIST_FOLD_LEFT_315(o, s, BOOST_PP_LIST_REVERSE_D(315, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_316(o, s, l) BOOST_PP_LIST_FOLD_LEFT_316(o, s, BOOST_PP_LIST_REVERSE_D(316, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_317(o, s, l) BOOST_PP_LIST_FOLD_LEFT_317(o, s, BOOST_PP_LIST_REVERSE_D(317, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_318(o, s, l) BOOST_PP_LIST_FOLD_LEFT_318(o, s, BOOST_PP_LIST_REVERSE_D(318, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_319(o, s, l) BOOST_PP_LIST_FOLD_LEFT_319(o, s, BOOST_PP_LIST_REVERSE_D(319, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_320(o, s, l) BOOST_PP_LIST_FOLD_LEFT_320(o, s, BOOST_PP_LIST_REVERSE_D(320, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_321(o, s, l) BOOST_PP_LIST_FOLD_LEFT_321(o, s, BOOST_PP_LIST_REVERSE_D(321, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_322(o, s, l) BOOST_PP_LIST_FOLD_LEFT_322(o, s, BOOST_PP_LIST_REVERSE_D(322, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_323(o, s, l) BOOST_PP_LIST_FOLD_LEFT_323(o, s, BOOST_PP_LIST_REVERSE_D(323, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_324(o, s, l) BOOST_PP_LIST_FOLD_LEFT_324(o, s, BOOST_PP_LIST_REVERSE_D(324, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_325(o, s, l) BOOST_PP_LIST_FOLD_LEFT_325(o, s, BOOST_PP_LIST_REVERSE_D(325, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_326(o, s, l) BOOST_PP_LIST_FOLD_LEFT_326(o, s, BOOST_PP_LIST_REVERSE_D(326, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_327(o, s, l) BOOST_PP_LIST_FOLD_LEFT_327(o, s, BOOST_PP_LIST_REVERSE_D(327, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_328(o, s, l) BOOST_PP_LIST_FOLD_LEFT_328(o, s, BOOST_PP_LIST_REVERSE_D(328, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_329(o, s, l) BOOST_PP_LIST_FOLD_LEFT_329(o, s, BOOST_PP_LIST_REVERSE_D(329, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_330(o, s, l) BOOST_PP_LIST_FOLD_LEFT_330(o, s, BOOST_PP_LIST_REVERSE_D(330, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_331(o, s, l) BOOST_PP_LIST_FOLD_LEFT_331(o, s, BOOST_PP_LIST_REVERSE_D(331, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_332(o, s, l) BOOST_PP_LIST_FOLD_LEFT_332(o, s, BOOST_PP_LIST_REVERSE_D(332, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_333(o, s, l) BOOST_PP_LIST_FOLD_LEFT_333(o, s, BOOST_PP_LIST_REVERSE_D(333, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_334(o, s, l) BOOST_PP_LIST_FOLD_LEFT_334(o, s, BOOST_PP_LIST_REVERSE_D(334, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_335(o, s, l) BOOST_PP_LIST_FOLD_LEFT_335(o, s, BOOST_PP_LIST_REVERSE_D(335, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_336(o, s, l) BOOST_PP_LIST_FOLD_LEFT_336(o, s, BOOST_PP_LIST_REVERSE_D(336, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_337(o, s, l) BOOST_PP_LIST_FOLD_LEFT_337(o, s, BOOST_PP_LIST_REVERSE_D(337, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_338(o, s, l) BOOST_PP_LIST_FOLD_LEFT_338(o, s, BOOST_PP_LIST_REVERSE_D(338, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_339(o, s, l) BOOST_PP_LIST_FOLD_LEFT_339(o, s, BOOST_PP_LIST_REVERSE_D(339, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_340(o, s, l) BOOST_PP_LIST_FOLD_LEFT_340(o, s, BOOST_PP_LIST_REVERSE_D(340, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_341(o, s, l) BOOST_PP_LIST_FOLD_LEFT_341(o, s, BOOST_PP_LIST_REVERSE_D(341, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_342(o, s, l) BOOST_PP_LIST_FOLD_LEFT_342(o, s, BOOST_PP_LIST_REVERSE_D(342, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_343(o, s, l) BOOST_PP_LIST_FOLD_LEFT_343(o, s, BOOST_PP_LIST_REVERSE_D(343, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_344(o, s, l) BOOST_PP_LIST_FOLD_LEFT_344(o, s, BOOST_PP_LIST_REVERSE_D(344, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_345(o, s, l) BOOST_PP_LIST_FOLD_LEFT_345(o, s, BOOST_PP_LIST_REVERSE_D(345, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_346(o, s, l) BOOST_PP_LIST_FOLD_LEFT_346(o, s, BOOST_PP_LIST_REVERSE_D(346, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_347(o, s, l) BOOST_PP_LIST_FOLD_LEFT_347(o, s, BOOST_PP_LIST_REVERSE_D(347, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_348(o, s, l) BOOST_PP_LIST_FOLD_LEFT_348(o, s, BOOST_PP_LIST_REVERSE_D(348, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_349(o, s, l) BOOST_PP_LIST_FOLD_LEFT_349(o, s, BOOST_PP_LIST_REVERSE_D(349, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_350(o, s, l) BOOST_PP_LIST_FOLD_LEFT_350(o, s, BOOST_PP_LIST_REVERSE_D(350, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_351(o, s, l) BOOST_PP_LIST_FOLD_LEFT_351(o, s, BOOST_PP_LIST_REVERSE_D(351, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_352(o, s, l) BOOST_PP_LIST_FOLD_LEFT_352(o, s, BOOST_PP_LIST_REVERSE_D(352, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_353(o, s, l) BOOST_PP_LIST_FOLD_LEFT_353(o, s, BOOST_PP_LIST_REVERSE_D(353, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_354(o, s, l) BOOST_PP_LIST_FOLD_LEFT_354(o, s, BOOST_PP_LIST_REVERSE_D(354, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_355(o, s, l) BOOST_PP_LIST_FOLD_LEFT_355(o, s, BOOST_PP_LIST_REVERSE_D(355, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_356(o, s, l) BOOST_PP_LIST_FOLD_LEFT_356(o, s, BOOST_PP_LIST_REVERSE_D(356, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_357(o, s, l) BOOST_PP_LIST_FOLD_LEFT_357(o, s, BOOST_PP_LIST_REVERSE_D(357, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_358(o, s, l) BOOST_PP_LIST_FOLD_LEFT_358(o, s, BOOST_PP_LIST_REVERSE_D(358, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_359(o, s, l) BOOST_PP_LIST_FOLD_LEFT_359(o, s, BOOST_PP_LIST_REVERSE_D(359, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_360(o, s, l) BOOST_PP_LIST_FOLD_LEFT_360(o, s, BOOST_PP_LIST_REVERSE_D(360, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_361(o, s, l) BOOST_PP_LIST_FOLD_LEFT_361(o, s, BOOST_PP_LIST_REVERSE_D(361, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_362(o, s, l) BOOST_PP_LIST_FOLD_LEFT_362(o, s, BOOST_PP_LIST_REVERSE_D(362, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_363(o, s, l) BOOST_PP_LIST_FOLD_LEFT_363(o, s, BOOST_PP_LIST_REVERSE_D(363, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_364(o, s, l) BOOST_PP_LIST_FOLD_LEFT_364(o, s, BOOST_PP_LIST_REVERSE_D(364, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_365(o, s, l) BOOST_PP_LIST_FOLD_LEFT_365(o, s, BOOST_PP_LIST_REVERSE_D(365, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_366(o, s, l) BOOST_PP_LIST_FOLD_LEFT_366(o, s, BOOST_PP_LIST_REVERSE_D(366, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_367(o, s, l) BOOST_PP_LIST_FOLD_LEFT_367(o, s, BOOST_PP_LIST_REVERSE_D(367, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_368(o, s, l) BOOST_PP_LIST_FOLD_LEFT_368(o, s, BOOST_PP_LIST_REVERSE_D(368, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_369(o, s, l) BOOST_PP_LIST_FOLD_LEFT_369(o, s, BOOST_PP_LIST_REVERSE_D(369, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_370(o, s, l) BOOST_PP_LIST_FOLD_LEFT_370(o, s, BOOST_PP_LIST_REVERSE_D(370, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_371(o, s, l) BOOST_PP_LIST_FOLD_LEFT_371(o, s, BOOST_PP_LIST_REVERSE_D(371, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_372(o, s, l) BOOST_PP_LIST_FOLD_LEFT_372(o, s, BOOST_PP_LIST_REVERSE_D(372, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_373(o, s, l) BOOST_PP_LIST_FOLD_LEFT_373(o, s, BOOST_PP_LIST_REVERSE_D(373, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_374(o, s, l) BOOST_PP_LIST_FOLD_LEFT_374(o, s, BOOST_PP_LIST_REVERSE_D(374, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_375(o, s, l) BOOST_PP_LIST_FOLD_LEFT_375(o, s, BOOST_PP_LIST_REVERSE_D(375, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_376(o, s, l) BOOST_PP_LIST_FOLD_LEFT_376(o, s, BOOST_PP_LIST_REVERSE_D(376, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_377(o, s, l) BOOST_PP_LIST_FOLD_LEFT_377(o, s, BOOST_PP_LIST_REVERSE_D(377, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_378(o, s, l) BOOST_PP_LIST_FOLD_LEFT_378(o, s, BOOST_PP_LIST_REVERSE_D(378, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_379(o, s, l) BOOST_PP_LIST_FOLD_LEFT_379(o, s, BOOST_PP_LIST_REVERSE_D(379, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_380(o, s, l) BOOST_PP_LIST_FOLD_LEFT_380(o, s, BOOST_PP_LIST_REVERSE_D(380, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_381(o, s, l) BOOST_PP_LIST_FOLD_LEFT_381(o, s, BOOST_PP_LIST_REVERSE_D(381, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_382(o, s, l) BOOST_PP_LIST_FOLD_LEFT_382(o, s, BOOST_PP_LIST_REVERSE_D(382, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_383(o, s, l) BOOST_PP_LIST_FOLD_LEFT_383(o, s, BOOST_PP_LIST_REVERSE_D(383, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_384(o, s, l) BOOST_PP_LIST_FOLD_LEFT_384(o, s, BOOST_PP_LIST_REVERSE_D(384, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_385(o, s, l) BOOST_PP_LIST_FOLD_LEFT_385(o, s, BOOST_PP_LIST_REVERSE_D(385, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_386(o, s, l) BOOST_PP_LIST_FOLD_LEFT_386(o, s, BOOST_PP_LIST_REVERSE_D(386, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_387(o, s, l) BOOST_PP_LIST_FOLD_LEFT_387(o, s, BOOST_PP_LIST_REVERSE_D(387, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_388(o, s, l) BOOST_PP_LIST_FOLD_LEFT_388(o, s, BOOST_PP_LIST_REVERSE_D(388, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_389(o, s, l) BOOST_PP_LIST_FOLD_LEFT_389(o, s, BOOST_PP_LIST_REVERSE_D(389, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_390(o, s, l) BOOST_PP_LIST_FOLD_LEFT_390(o, s, BOOST_PP_LIST_REVERSE_D(390, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_391(o, s, l) BOOST_PP_LIST_FOLD_LEFT_391(o, s, BOOST_PP_LIST_REVERSE_D(391, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_392(o, s, l) BOOST_PP_LIST_FOLD_LEFT_392(o, s, BOOST_PP_LIST_REVERSE_D(392, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_393(o, s, l) BOOST_PP_LIST_FOLD_LEFT_393(o, s, BOOST_PP_LIST_REVERSE_D(393, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_394(o, s, l) BOOST_PP_LIST_FOLD_LEFT_394(o, s, BOOST_PP_LIST_REVERSE_D(394, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_395(o, s, l) BOOST_PP_LIST_FOLD_LEFT_395(o, s, BOOST_PP_LIST_REVERSE_D(395, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_396(o, s, l) BOOST_PP_LIST_FOLD_LEFT_396(o, s, BOOST_PP_LIST_REVERSE_D(396, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_397(o, s, l) BOOST_PP_LIST_FOLD_LEFT_397(o, s, BOOST_PP_LIST_REVERSE_D(397, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_398(o, s, l) BOOST_PP_LIST_FOLD_LEFT_398(o, s, BOOST_PP_LIST_REVERSE_D(398, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_399(o, s, l) BOOST_PP_LIST_FOLD_LEFT_399(o, s, BOOST_PP_LIST_REVERSE_D(399, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_400(o, s, l) BOOST_PP_LIST_FOLD_LEFT_400(o, s, BOOST_PP_LIST_REVERSE_D(400, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_401(o, s, l) BOOST_PP_LIST_FOLD_LEFT_401(o, s, BOOST_PP_LIST_REVERSE_D(401, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_402(o, s, l) BOOST_PP_LIST_FOLD_LEFT_402(o, s, BOOST_PP_LIST_REVERSE_D(402, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_403(o, s, l) BOOST_PP_LIST_FOLD_LEFT_403(o, s, BOOST_PP_LIST_REVERSE_D(403, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_404(o, s, l) BOOST_PP_LIST_FOLD_LEFT_404(o, s, BOOST_PP_LIST_REVERSE_D(404, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_405(o, s, l) BOOST_PP_LIST_FOLD_LEFT_405(o, s, BOOST_PP_LIST_REVERSE_D(405, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_406(o, s, l) BOOST_PP_LIST_FOLD_LEFT_406(o, s, BOOST_PP_LIST_REVERSE_D(406, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_407(o, s, l) BOOST_PP_LIST_FOLD_LEFT_407(o, s, BOOST_PP_LIST_REVERSE_D(407, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_408(o, s, l) BOOST_PP_LIST_FOLD_LEFT_408(o, s, BOOST_PP_LIST_REVERSE_D(408, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_409(o, s, l) BOOST_PP_LIST_FOLD_LEFT_409(o, s, BOOST_PP_LIST_REVERSE_D(409, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_410(o, s, l) BOOST_PP_LIST_FOLD_LEFT_410(o, s, BOOST_PP_LIST_REVERSE_D(410, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_411(o, s, l) BOOST_PP_LIST_FOLD_LEFT_411(o, s, BOOST_PP_LIST_REVERSE_D(411, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_412(o, s, l) BOOST_PP_LIST_FOLD_LEFT_412(o, s, BOOST_PP_LIST_REVERSE_D(412, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_413(o, s, l) BOOST_PP_LIST_FOLD_LEFT_413(o, s, BOOST_PP_LIST_REVERSE_D(413, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_414(o, s, l) BOOST_PP_LIST_FOLD_LEFT_414(o, s, BOOST_PP_LIST_REVERSE_D(414, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_415(o, s, l) BOOST_PP_LIST_FOLD_LEFT_415(o, s, BOOST_PP_LIST_REVERSE_D(415, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_416(o, s, l) BOOST_PP_LIST_FOLD_LEFT_416(o, s, BOOST_PP_LIST_REVERSE_D(416, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_417(o, s, l) BOOST_PP_LIST_FOLD_LEFT_417(o, s, BOOST_PP_LIST_REVERSE_D(417, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_418(o, s, l) BOOST_PP_LIST_FOLD_LEFT_418(o, s, BOOST_PP_LIST_REVERSE_D(418, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_419(o, s, l) BOOST_PP_LIST_FOLD_LEFT_419(o, s, BOOST_PP_LIST_REVERSE_D(419, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_420(o, s, l) BOOST_PP_LIST_FOLD_LEFT_420(o, s, BOOST_PP_LIST_REVERSE_D(420, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_421(o, s, l) BOOST_PP_LIST_FOLD_LEFT_421(o, s, BOOST_PP_LIST_REVERSE_D(421, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_422(o, s, l) BOOST_PP_LIST_FOLD_LEFT_422(o, s, BOOST_PP_LIST_REVERSE_D(422, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_423(o, s, l) BOOST_PP_LIST_FOLD_LEFT_423(o, s, BOOST_PP_LIST_REVERSE_D(423, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_424(o, s, l) BOOST_PP_LIST_FOLD_LEFT_424(o, s, BOOST_PP_LIST_REVERSE_D(424, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_425(o, s, l) BOOST_PP_LIST_FOLD_LEFT_425(o, s, BOOST_PP_LIST_REVERSE_D(425, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_426(o, s, l) BOOST_PP_LIST_FOLD_LEFT_426(o, s, BOOST_PP_LIST_REVERSE_D(426, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_427(o, s, l) BOOST_PP_LIST_FOLD_LEFT_427(o, s, BOOST_PP_LIST_REVERSE_D(427, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_428(o, s, l) BOOST_PP_LIST_FOLD_LEFT_428(o, s, BOOST_PP_LIST_REVERSE_D(428, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_429(o, s, l) BOOST_PP_LIST_FOLD_LEFT_429(o, s, BOOST_PP_LIST_REVERSE_D(429, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_430(o, s, l) BOOST_PP_LIST_FOLD_LEFT_430(o, s, BOOST_PP_LIST_REVERSE_D(430, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_431(o, s, l) BOOST_PP_LIST_FOLD_LEFT_431(o, s, BOOST_PP_LIST_REVERSE_D(431, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_432(o, s, l) BOOST_PP_LIST_FOLD_LEFT_432(o, s, BOOST_PP_LIST_REVERSE_D(432, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_433(o, s, l) BOOST_PP_LIST_FOLD_LEFT_433(o, s, BOOST_PP_LIST_REVERSE_D(433, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_434(o, s, l) BOOST_PP_LIST_FOLD_LEFT_434(o, s, BOOST_PP_LIST_REVERSE_D(434, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_435(o, s, l) BOOST_PP_LIST_FOLD_LEFT_435(o, s, BOOST_PP_LIST_REVERSE_D(435, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_436(o, s, l) BOOST_PP_LIST_FOLD_LEFT_436(o, s, BOOST_PP_LIST_REVERSE_D(436, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_437(o, s, l) BOOST_PP_LIST_FOLD_LEFT_437(o, s, BOOST_PP_LIST_REVERSE_D(437, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_438(o, s, l) BOOST_PP_LIST_FOLD_LEFT_438(o, s, BOOST_PP_LIST_REVERSE_D(438, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_439(o, s, l) BOOST_PP_LIST_FOLD_LEFT_439(o, s, BOOST_PP_LIST_REVERSE_D(439, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_440(o, s, l) BOOST_PP_LIST_FOLD_LEFT_440(o, s, BOOST_PP_LIST_REVERSE_D(440, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_441(o, s, l) BOOST_PP_LIST_FOLD_LEFT_441(o, s, BOOST_PP_LIST_REVERSE_D(441, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_442(o, s, l) BOOST_PP_LIST_FOLD_LEFT_442(o, s, BOOST_PP_LIST_REVERSE_D(442, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_443(o, s, l) BOOST_PP_LIST_FOLD_LEFT_443(o, s, BOOST_PP_LIST_REVERSE_D(443, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_444(o, s, l) BOOST_PP_LIST_FOLD_LEFT_444(o, s, BOOST_PP_LIST_REVERSE_D(444, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_445(o, s, l) BOOST_PP_LIST_FOLD_LEFT_445(o, s, BOOST_PP_LIST_REVERSE_D(445, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_446(o, s, l) BOOST_PP_LIST_FOLD_LEFT_446(o, s, BOOST_PP_LIST_REVERSE_D(446, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_447(o, s, l) BOOST_PP_LIST_FOLD_LEFT_447(o, s, BOOST_PP_LIST_REVERSE_D(447, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_448(o, s, l) BOOST_PP_LIST_FOLD_LEFT_448(o, s, BOOST_PP_LIST_REVERSE_D(448, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_449(o, s, l) BOOST_PP_LIST_FOLD_LEFT_449(o, s, BOOST_PP_LIST_REVERSE_D(449, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_450(o, s, l) BOOST_PP_LIST_FOLD_LEFT_450(o, s, BOOST_PP_LIST_REVERSE_D(450, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_451(o, s, l) BOOST_PP_LIST_FOLD_LEFT_451(o, s, BOOST_PP_LIST_REVERSE_D(451, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_452(o, s, l) BOOST_PP_LIST_FOLD_LEFT_452(o, s, BOOST_PP_LIST_REVERSE_D(452, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_453(o, s, l) BOOST_PP_LIST_FOLD_LEFT_453(o, s, BOOST_PP_LIST_REVERSE_D(453, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_454(o, s, l) BOOST_PP_LIST_FOLD_LEFT_454(o, s, BOOST_PP_LIST_REVERSE_D(454, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_455(o, s, l) BOOST_PP_LIST_FOLD_LEFT_455(o, s, BOOST_PP_LIST_REVERSE_D(455, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_456(o, s, l) BOOST_PP_LIST_FOLD_LEFT_456(o, s, BOOST_PP_LIST_REVERSE_D(456, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_457(o, s, l) BOOST_PP_LIST_FOLD_LEFT_457(o, s, BOOST_PP_LIST_REVERSE_D(457, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_458(o, s, l) BOOST_PP_LIST_FOLD_LEFT_458(o, s, BOOST_PP_LIST_REVERSE_D(458, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_459(o, s, l) BOOST_PP_LIST_FOLD_LEFT_459(o, s, BOOST_PP_LIST_REVERSE_D(459, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_460(o, s, l) BOOST_PP_LIST_FOLD_LEFT_460(o, s, BOOST_PP_LIST_REVERSE_D(460, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_461(o, s, l) BOOST_PP_LIST_FOLD_LEFT_461(o, s, BOOST_PP_LIST_REVERSE_D(461, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_462(o, s, l) BOOST_PP_LIST_FOLD_LEFT_462(o, s, BOOST_PP_LIST_REVERSE_D(462, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_463(o, s, l) BOOST_PP_LIST_FOLD_LEFT_463(o, s, BOOST_PP_LIST_REVERSE_D(463, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_464(o, s, l) BOOST_PP_LIST_FOLD_LEFT_464(o, s, BOOST_PP_LIST_REVERSE_D(464, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_465(o, s, l) BOOST_PP_LIST_FOLD_LEFT_465(o, s, BOOST_PP_LIST_REVERSE_D(465, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_466(o, s, l) BOOST_PP_LIST_FOLD_LEFT_466(o, s, BOOST_PP_LIST_REVERSE_D(466, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_467(o, s, l) BOOST_PP_LIST_FOLD_LEFT_467(o, s, BOOST_PP_LIST_REVERSE_D(467, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_468(o, s, l) BOOST_PP_LIST_FOLD_LEFT_468(o, s, BOOST_PP_LIST_REVERSE_D(468, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_469(o, s, l) BOOST_PP_LIST_FOLD_LEFT_469(o, s, BOOST_PP_LIST_REVERSE_D(469, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_470(o, s, l) BOOST_PP_LIST_FOLD_LEFT_470(o, s, BOOST_PP_LIST_REVERSE_D(470, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_471(o, s, l) BOOST_PP_LIST_FOLD_LEFT_471(o, s, BOOST_PP_LIST_REVERSE_D(471, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_472(o, s, l) BOOST_PP_LIST_FOLD_LEFT_472(o, s, BOOST_PP_LIST_REVERSE_D(472, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_473(o, s, l) BOOST_PP_LIST_FOLD_LEFT_473(o, s, BOOST_PP_LIST_REVERSE_D(473, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_474(o, s, l) BOOST_PP_LIST_FOLD_LEFT_474(o, s, BOOST_PP_LIST_REVERSE_D(474, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_475(o, s, l) BOOST_PP_LIST_FOLD_LEFT_475(o, s, BOOST_PP_LIST_REVERSE_D(475, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_476(o, s, l) BOOST_PP_LIST_FOLD_LEFT_476(o, s, BOOST_PP_LIST_REVERSE_D(476, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_477(o, s, l) BOOST_PP_LIST_FOLD_LEFT_477(o, s, BOOST_PP_LIST_REVERSE_D(477, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_478(o, s, l) BOOST_PP_LIST_FOLD_LEFT_478(o, s, BOOST_PP_LIST_REVERSE_D(478, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_479(o, s, l) BOOST_PP_LIST_FOLD_LEFT_479(o, s, BOOST_PP_LIST_REVERSE_D(479, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_480(o, s, l) BOOST_PP_LIST_FOLD_LEFT_480(o, s, BOOST_PP_LIST_REVERSE_D(480, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_481(o, s, l) BOOST_PP_LIST_FOLD_LEFT_481(o, s, BOOST_PP_LIST_REVERSE_D(481, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_482(o, s, l) BOOST_PP_LIST_FOLD_LEFT_482(o, s, BOOST_PP_LIST_REVERSE_D(482, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_483(o, s, l) BOOST_PP_LIST_FOLD_LEFT_483(o, s, BOOST_PP_LIST_REVERSE_D(483, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_484(o, s, l) BOOST_PP_LIST_FOLD_LEFT_484(o, s, BOOST_PP_LIST_REVERSE_D(484, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_485(o, s, l) BOOST_PP_LIST_FOLD_LEFT_485(o, s, BOOST_PP_LIST_REVERSE_D(485, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_486(o, s, l) BOOST_PP_LIST_FOLD_LEFT_486(o, s, BOOST_PP_LIST_REVERSE_D(486, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_487(o, s, l) BOOST_PP_LIST_FOLD_LEFT_487(o, s, BOOST_PP_LIST_REVERSE_D(487, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_488(o, s, l) BOOST_PP_LIST_FOLD_LEFT_488(o, s, BOOST_PP_LIST_REVERSE_D(488, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_489(o, s, l) BOOST_PP_LIST_FOLD_LEFT_489(o, s, BOOST_PP_LIST_REVERSE_D(489, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_490(o, s, l) BOOST_PP_LIST_FOLD_LEFT_490(o, s, BOOST_PP_LIST_REVERSE_D(490, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_491(o, s, l) BOOST_PP_LIST_FOLD_LEFT_491(o, s, BOOST_PP_LIST_REVERSE_D(491, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_492(o, s, l) BOOST_PP_LIST_FOLD_LEFT_492(o, s, BOOST_PP_LIST_REVERSE_D(492, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_493(o, s, l) BOOST_PP_LIST_FOLD_LEFT_493(o, s, BOOST_PP_LIST_REVERSE_D(493, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_494(o, s, l) BOOST_PP_LIST_FOLD_LEFT_494(o, s, BOOST_PP_LIST_REVERSE_D(494, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_495(o, s, l) BOOST_PP_LIST_FOLD_LEFT_495(o, s, BOOST_PP_LIST_REVERSE_D(495, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_496(o, s, l) BOOST_PP_LIST_FOLD_LEFT_496(o, s, BOOST_PP_LIST_REVERSE_D(496, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_497(o, s, l) BOOST_PP_LIST_FOLD_LEFT_497(o, s, BOOST_PP_LIST_REVERSE_D(497, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_498(o, s, l) BOOST_PP_LIST_FOLD_LEFT_498(o, s, BOOST_PP_LIST_REVERSE_D(498, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_499(o, s, l) BOOST_PP_LIST_FOLD_LEFT_499(o, s, BOOST_PP_LIST_REVERSE_D(499, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_500(o, s, l) BOOST_PP_LIST_FOLD_LEFT_500(o, s, BOOST_PP_LIST_REVERSE_D(500, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_501(o, s, l) BOOST_PP_LIST_FOLD_LEFT_501(o, s, BOOST_PP_LIST_REVERSE_D(501, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_502(o, s, l) BOOST_PP_LIST_FOLD_LEFT_502(o, s, BOOST_PP_LIST_REVERSE_D(502, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_503(o, s, l) BOOST_PP_LIST_FOLD_LEFT_503(o, s, BOOST_PP_LIST_REVERSE_D(503, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_504(o, s, l) BOOST_PP_LIST_FOLD_LEFT_504(o, s, BOOST_PP_LIST_REVERSE_D(504, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_505(o, s, l) BOOST_PP_LIST_FOLD_LEFT_505(o, s, BOOST_PP_LIST_REVERSE_D(505, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_506(o, s, l) BOOST_PP_LIST_FOLD_LEFT_506(o, s, BOOST_PP_LIST_REVERSE_D(506, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_507(o, s, l) BOOST_PP_LIST_FOLD_LEFT_507(o, s, BOOST_PP_LIST_REVERSE_D(507, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_508(o, s, l) BOOST_PP_LIST_FOLD_LEFT_508(o, s, BOOST_PP_LIST_REVERSE_D(508, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_509(o, s, l) BOOST_PP_LIST_FOLD_LEFT_509(o, s, BOOST_PP_LIST_REVERSE_D(509, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_510(o, s, l) BOOST_PP_LIST_FOLD_LEFT_510(o, s, BOOST_PP_LIST_REVERSE_D(510, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_511(o, s, l) BOOST_PP_LIST_FOLD_LEFT_511(o, s, BOOST_PP_LIST_REVERSE_D(511, l)) -# define BOOST_PP_LIST_FOLD_RIGHT_512(o, s, l) BOOST_PP_LIST_FOLD_LEFT_512(o, s, BOOST_PP_LIST_REVERSE_D(512, l)) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/fold_left.hpp b/external/include/boost_1_75/boost/preprocessor/list/fold_left.hpp deleted file mode 100644 index 0dbea800ba..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/fold_left.hpp +++ /dev/null @@ -1,363 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_FOLD_LEFT */ -# -# if 0 -# define BOOST_PP_LIST_FOLD_LEFT(op, state, list) -# endif -# -# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) -# -# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004) -# -# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT -# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0 -# -# else -# -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_FOLD_LEFT */ -# -# if 0 -# define BOOST_PP_LIST_FOLD_LEFT(op, state, list) -# endif -# -# if BOOST_PP_LIMIT_WHILE == 256 -# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))) -# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004) -# elif BOOST_PP_LIMIT_WHILE == 512 -# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 512))) -# define BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) BOOST_PP_ERROR(0x0004) -# elif BOOST_PP_LIMIT_WHILE == 1024 -# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 1024))) -# define BOOST_PP_LIST_FOLD_LEFT_1025(o, s, l) BOOST_PP_ERROR(0x0004) -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l) -# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT -# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 -# -# if BOOST_PP_LIMIT_WHILE == 256 -# include -# elif BOOST_PP_LIMIT_WHILE == 512 -# include -# include -# elif BOOST_PP_LIMIT_WHILE == 1024 -# include -# include -# include -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/fold_right.hpp b/external/include/boost_1_75/boost/preprocessor/list/fold_right.hpp deleted file mode 100644 index e38847d2bd..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/fold_right.hpp +++ /dev/null @@ -1,84 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# -# if 0 -# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list) -# endif -# -# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) -# -# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004) -# -# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT -# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# else -# include -# endif -# -# else -# -# include -# include -# include -# include -# include -# -# if 0 -# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list) -# endif -# -# include -# -# if BOOST_PP_LIMIT_WHILE == 256 -# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))) -# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004) -# elif BOOST_PP_LIMIT_WHILE == 512 -# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 512))) -# define BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) BOOST_PP_ERROR(0x0004) -# elif BOOST_PP_LIMIT_WHILE == 1024 -# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 1024))) -# define BOOST_PP_LIST_FOLD_RIGHT_1025(o, s, l) BOOST_PP_ERROR(0x0004) -# else -# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit -# endif -# -# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l) -# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT -# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# else -# include -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_1024.hpp b/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_1024.hpp deleted file mode 100644 index 0517cd631e..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_1024.hpp +++ /dev/null @@ -1,531 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_1024_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_1024_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_514(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_515(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_516(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_517(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_518(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_519(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_520(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_521(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_522(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_523(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_524(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_525(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_526(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_527(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_528(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_529(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_530(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_531(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_532(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_533(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_534(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_535(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_536(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_537(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_538(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_539(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_540(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_541(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_542(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_543(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_544(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_545(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_546(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_547(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_548(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_549(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_550(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_551(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_552(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_553(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_554(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_555(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_556(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_557(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_558(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_559(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_560(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_561(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_562(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_563(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_564(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_565(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_566(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_567(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_568(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_569(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_570(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_571(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_572(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_573(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_574(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_575(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_576(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_577(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_578(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_579(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_580(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_581(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_582(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_583(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_584(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_585(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_586(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_587(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_588(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_589(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_590(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_591(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_592(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_593(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_594(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_595(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_596(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_597(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_598(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_599(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_600(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_601(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_602(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_603(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_604(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_605(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_606(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_607(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_608(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_609(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_610(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_611(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_612(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_613(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_614(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_615(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_616(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_617(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_618(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_619(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_620(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_621(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_622(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_623(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_624(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_625(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_626(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_627(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_628(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_629(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_630(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_631(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_632(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_633(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_634(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_635(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_636(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_637(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_638(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_639(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_640(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_641(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_642(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_643(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_644(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_645(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_646(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_647(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_648(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_649(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_650(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_651(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_652(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_653(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_654(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_655(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_656(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_657(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_658(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_659(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_660(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_661(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_662(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_663(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_664(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_665(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_666(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_667(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_668(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_669(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_670(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_671(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_672(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_673(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_674(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_675(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_676(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_677(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_678(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_679(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_680(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_681(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_682(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_683(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_684(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_685(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_686(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_687(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_688(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_689(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_690(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_691(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_692(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_693(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_694(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_695(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_696(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_697(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_698(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_699(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_700(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_701(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_702(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_703(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_704(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_705(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_706(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_707(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_708(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_709(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_710(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_711(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_712(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_713(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_714(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_715(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_716(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_717(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_718(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_719(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_720(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_721(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_722(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_723(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_724(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_725(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_726(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_727(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_728(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_729(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_730(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_731(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_732(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_733(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_734(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_735(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_736(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_737(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_738(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_739(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_740(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_741(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_742(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_743(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_744(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_745(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_746(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_747(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_748(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_749(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_750(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_751(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_752(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_753(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_754(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_755(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_756(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_757(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_758(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_759(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_760(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_761(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_762(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_763(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_764(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_765(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_766(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_767(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_768(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_769(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_770(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_771(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_772(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_773(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_774(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_775(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_776(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_777(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_778(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_779(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_780(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_781(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_782(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_783(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_784(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_785(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_786(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_787(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_788(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_789(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_790(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_791(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_792(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_793(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_794(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_795(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_796(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_797(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_798(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_799(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_800(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_801(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_802(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_803(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_804(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_805(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_806(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_807(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_808(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_809(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_810(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_811(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_812(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_813(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_814(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_815(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_816(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_817(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_818(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_819(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_820(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_821(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_822(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_823(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_824(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_825(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_826(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_827(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_828(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_829(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_830(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_831(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_832(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_833(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_834(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_835(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_836(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_837(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_838(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_839(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_840(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_841(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_842(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_843(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_844(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_845(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_846(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_847(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_848(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_849(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_850(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_851(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_852(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_853(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_854(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_855(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_856(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_857(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_858(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_859(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_860(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_861(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_862(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_863(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_864(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_865(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_866(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_867(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_868(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_869(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_870(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_871(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_872(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_873(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_874(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_875(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_876(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_877(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_878(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_879(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_880(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_881(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_882(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_883(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_884(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_885(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_886(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_887(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_888(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_889(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_890(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_891(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_892(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_893(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_894(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_895(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_896(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_897(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_898(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_899(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_900(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_901(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_902(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_903(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_904(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_905(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_906(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_907(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_908(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_909(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_910(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_911(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_912(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_913(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_914(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_915(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_916(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_917(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_918(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_919(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_920(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_921(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_922(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_923(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_924(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_925(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_926(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_927(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_928(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_929(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_930(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_931(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_932(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_933(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_934(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_935(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_936(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_937(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_938(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_939(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_940(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_941(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_942(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_943(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_944(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_945(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_946(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_947(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_948(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_949(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_950(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_951(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_952(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_953(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_954(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_955(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_956(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_957(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_958(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_959(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_960(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_961(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_962(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_963(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_964(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_965(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_966(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_967(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_968(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_969(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_970(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_971(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_972(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_973(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_974(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_975(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_976(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_977(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_978(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_979(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_980(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_981(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_982(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_983(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_984(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_985(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_986(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_987(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_988(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_989(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_990(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_991(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_992(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_993(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_994(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_995(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_996(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_997(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_998(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_999(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1000(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1001(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1002(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1003(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1004(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1005(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1006(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1007(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1008(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1009(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1010(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1011(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1012(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1013(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1014(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1015(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1016(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1017(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1018(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1019(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1020(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1021(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1022(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1023(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1024(o, s, l) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_256.hpp b/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_256.hpp deleted file mode 100644 index 0b693a6822..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_256.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_256_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_256_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_0(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_512.hpp b/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_512.hpp deleted file mode 100644 index f8cabbe16f..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/list/limits/fold_left_512.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_512_HPP -# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_512_HPP -# -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_258(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_259(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_260(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_261(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_262(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_263(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_264(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_265(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_266(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_267(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_268(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_269(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_270(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_271(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_272(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_273(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_274(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_275(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_276(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_277(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_278(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_279(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_280(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_281(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_282(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_283(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_284(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_285(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_286(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_287(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_288(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_289(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_290(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_291(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_292(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_293(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_294(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_295(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_296(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_297(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_298(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_299(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_300(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_301(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_302(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_303(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_304(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_305(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_306(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_307(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_308(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_309(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_310(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_311(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_312(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_313(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_314(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_315(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_316(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_317(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_318(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_319(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_320(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_321(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_322(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_323(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_324(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_325(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_326(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_327(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_328(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_329(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_330(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_331(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_332(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_333(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_334(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_335(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_336(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_337(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_338(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_339(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_340(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_341(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_342(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_343(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_344(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_345(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_346(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_347(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_348(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_349(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_350(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_351(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_352(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_353(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_354(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_355(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_356(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_357(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_358(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_359(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_360(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_361(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_362(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_363(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_364(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_365(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_366(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_367(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_368(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_369(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_370(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_371(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_372(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_373(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_374(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_375(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_376(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_377(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_378(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_379(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_380(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_381(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_382(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_383(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_384(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_385(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_386(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_387(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_388(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_389(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_390(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_391(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_392(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_393(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_394(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_395(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_396(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_397(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_398(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_399(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_400(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_401(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_402(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_403(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_404(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_405(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_406(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_407(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_408(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_409(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_410(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_411(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_412(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_413(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_414(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_415(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_416(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_417(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_418(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_419(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_420(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_421(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_422(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_423(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_424(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_425(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_426(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_427(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_428(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_429(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_430(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_431(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_432(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_433(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_434(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_435(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_436(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_437(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_438(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_439(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_440(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_441(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_442(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_443(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_444(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_445(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_446(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_447(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_448(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_449(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_450(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_451(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_452(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_453(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_454(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_455(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_456(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_457(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_458(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_459(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_460(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_461(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_462(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_463(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_464(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_465(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_466(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_467(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_468(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_469(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_470(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_471(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_472(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_473(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_474(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_475(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_476(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_477(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_478(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_479(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_480(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_481(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_482(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_483(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_484(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_485(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_486(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_487(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_488(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_489(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_490(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_491(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_492(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_493(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_494(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_495(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_496(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_497(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_498(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_499(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_500(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_501(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_502(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_503(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_504(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_505(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_506(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_507(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_508(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_509(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_510(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_511(o, s, l) 0 -# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_512(o, s, l) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/and.hpp b/external/include/boost_1_75/boost/preprocessor/logical/and.hpp deleted file mode 100644 index 8590365e58..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/logical/and.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP -# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP -# -# include -# include -# include -# -# /* BOOST_PP_AND */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) -# else -# define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q) -# define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/bitand.hpp b/external/include/boost_1_75/boost/preprocessor/logical/bitand.hpp deleted file mode 100644 index 74e9527f20..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/logical/bitand.hpp +++ /dev/null @@ -1,38 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP -# -# include -# -# /* BOOST_PP_BITAND */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y) -# else -# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y)) -# define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y -# else -# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y) -# define BOOST_PP_BITAND_ID(res) res -# endif -# -# define BOOST_PP_BITAND_00 0 -# define BOOST_PP_BITAND_01 0 -# define BOOST_PP_BITAND_10 0 -# define BOOST_PP_BITAND_11 1 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/bitor.hpp b/external/include/boost_1_75/boost/preprocessor/logical/bitor.hpp deleted file mode 100644 index c0bc2c66ae..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/logical/bitor.hpp +++ /dev/null @@ -1,38 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP -# -# include -# -# /* BOOST_PP_BITOR */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y) -# else -# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y)) -# define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y -# else -# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y) -# define BOOST_PP_BITOR_ID(id) id -# endif -# -# define BOOST_PP_BITOR_00 0 -# define BOOST_PP_BITOR_01 1 -# define BOOST_PP_BITOR_10 1 -# define BOOST_PP_BITOR_11 1 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/bool.hpp b/external/include/boost_1_75/boost/preprocessor/logical/bool.hpp deleted file mode 100644 index 6799bcc971..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/logical/bool.hpp +++ /dev/null @@ -1,310 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP -# -# include -# -# /* BOOST_PP_BOOL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x) -# else -# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x)) -# define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par -# endif -# -# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# define BOOST_PP_BOOL_0 0 -# define BOOST_PP_BOOL_1 1 -# define BOOST_PP_BOOL_2 1 -# define BOOST_PP_BOOL_3 1 -# define BOOST_PP_BOOL_4 1 -# define BOOST_PP_BOOL_5 1 -# define BOOST_PP_BOOL_6 1 -# define BOOST_PP_BOOL_7 1 -# define BOOST_PP_BOOL_8 1 -# define BOOST_PP_BOOL_9 1 -# define BOOST_PP_BOOL_10 1 -# define BOOST_PP_BOOL_11 1 -# define BOOST_PP_BOOL_12 1 -# define BOOST_PP_BOOL_13 1 -# define BOOST_PP_BOOL_14 1 -# define BOOST_PP_BOOL_15 1 -# define BOOST_PP_BOOL_16 1 -# define BOOST_PP_BOOL_17 1 -# define BOOST_PP_BOOL_18 1 -# define BOOST_PP_BOOL_19 1 -# define BOOST_PP_BOOL_20 1 -# define BOOST_PP_BOOL_21 1 -# define BOOST_PP_BOOL_22 1 -# define BOOST_PP_BOOL_23 1 -# define BOOST_PP_BOOL_24 1 -# define BOOST_PP_BOOL_25 1 -# define BOOST_PP_BOOL_26 1 -# define BOOST_PP_BOOL_27 1 -# define BOOST_PP_BOOL_28 1 -# define BOOST_PP_BOOL_29 1 -# define BOOST_PP_BOOL_30 1 -# define BOOST_PP_BOOL_31 1 -# define BOOST_PP_BOOL_32 1 -# define BOOST_PP_BOOL_33 1 -# define BOOST_PP_BOOL_34 1 -# define BOOST_PP_BOOL_35 1 -# define BOOST_PP_BOOL_36 1 -# define BOOST_PP_BOOL_37 1 -# define BOOST_PP_BOOL_38 1 -# define BOOST_PP_BOOL_39 1 -# define BOOST_PP_BOOL_40 1 -# define BOOST_PP_BOOL_41 1 -# define BOOST_PP_BOOL_42 1 -# define BOOST_PP_BOOL_43 1 -# define BOOST_PP_BOOL_44 1 -# define BOOST_PP_BOOL_45 1 -# define BOOST_PP_BOOL_46 1 -# define BOOST_PP_BOOL_47 1 -# define BOOST_PP_BOOL_48 1 -# define BOOST_PP_BOOL_49 1 -# define BOOST_PP_BOOL_50 1 -# define BOOST_PP_BOOL_51 1 -# define BOOST_PP_BOOL_52 1 -# define BOOST_PP_BOOL_53 1 -# define BOOST_PP_BOOL_54 1 -# define BOOST_PP_BOOL_55 1 -# define BOOST_PP_BOOL_56 1 -# define BOOST_PP_BOOL_57 1 -# define BOOST_PP_BOOL_58 1 -# define BOOST_PP_BOOL_59 1 -# define BOOST_PP_BOOL_60 1 -# define BOOST_PP_BOOL_61 1 -# define BOOST_PP_BOOL_62 1 -# define BOOST_PP_BOOL_63 1 -# define BOOST_PP_BOOL_64 1 -# define BOOST_PP_BOOL_65 1 -# define BOOST_PP_BOOL_66 1 -# define BOOST_PP_BOOL_67 1 -# define BOOST_PP_BOOL_68 1 -# define BOOST_PP_BOOL_69 1 -# define BOOST_PP_BOOL_70 1 -# define BOOST_PP_BOOL_71 1 -# define BOOST_PP_BOOL_72 1 -# define BOOST_PP_BOOL_73 1 -# define BOOST_PP_BOOL_74 1 -# define BOOST_PP_BOOL_75 1 -# define BOOST_PP_BOOL_76 1 -# define BOOST_PP_BOOL_77 1 -# define BOOST_PP_BOOL_78 1 -# define BOOST_PP_BOOL_79 1 -# define BOOST_PP_BOOL_80 1 -# define BOOST_PP_BOOL_81 1 -# define BOOST_PP_BOOL_82 1 -# define BOOST_PP_BOOL_83 1 -# define BOOST_PP_BOOL_84 1 -# define BOOST_PP_BOOL_85 1 -# define BOOST_PP_BOOL_86 1 -# define BOOST_PP_BOOL_87 1 -# define BOOST_PP_BOOL_88 1 -# define BOOST_PP_BOOL_89 1 -# define BOOST_PP_BOOL_90 1 -# define BOOST_PP_BOOL_91 1 -# define BOOST_PP_BOOL_92 1 -# define BOOST_PP_BOOL_93 1 -# define BOOST_PP_BOOL_94 1 -# define BOOST_PP_BOOL_95 1 -# define BOOST_PP_BOOL_96 1 -# define BOOST_PP_BOOL_97 1 -# define BOOST_PP_BOOL_98 1 -# define BOOST_PP_BOOL_99 1 -# define BOOST_PP_BOOL_100 1 -# define BOOST_PP_BOOL_101 1 -# define BOOST_PP_BOOL_102 1 -# define BOOST_PP_BOOL_103 1 -# define BOOST_PP_BOOL_104 1 -# define BOOST_PP_BOOL_105 1 -# define BOOST_PP_BOOL_106 1 -# define BOOST_PP_BOOL_107 1 -# define BOOST_PP_BOOL_108 1 -# define BOOST_PP_BOOL_109 1 -# define BOOST_PP_BOOL_110 1 -# define BOOST_PP_BOOL_111 1 -# define BOOST_PP_BOOL_112 1 -# define BOOST_PP_BOOL_113 1 -# define BOOST_PP_BOOL_114 1 -# define BOOST_PP_BOOL_115 1 -# define BOOST_PP_BOOL_116 1 -# define BOOST_PP_BOOL_117 1 -# define BOOST_PP_BOOL_118 1 -# define BOOST_PP_BOOL_119 1 -# define BOOST_PP_BOOL_120 1 -# define BOOST_PP_BOOL_121 1 -# define BOOST_PP_BOOL_122 1 -# define BOOST_PP_BOOL_123 1 -# define BOOST_PP_BOOL_124 1 -# define BOOST_PP_BOOL_125 1 -# define BOOST_PP_BOOL_126 1 -# define BOOST_PP_BOOL_127 1 -# define BOOST_PP_BOOL_128 1 -# define BOOST_PP_BOOL_129 1 -# define BOOST_PP_BOOL_130 1 -# define BOOST_PP_BOOL_131 1 -# define BOOST_PP_BOOL_132 1 -# define BOOST_PP_BOOL_133 1 -# define BOOST_PP_BOOL_134 1 -# define BOOST_PP_BOOL_135 1 -# define BOOST_PP_BOOL_136 1 -# define BOOST_PP_BOOL_137 1 -# define BOOST_PP_BOOL_138 1 -# define BOOST_PP_BOOL_139 1 -# define BOOST_PP_BOOL_140 1 -# define BOOST_PP_BOOL_141 1 -# define BOOST_PP_BOOL_142 1 -# define BOOST_PP_BOOL_143 1 -# define BOOST_PP_BOOL_144 1 -# define BOOST_PP_BOOL_145 1 -# define BOOST_PP_BOOL_146 1 -# define BOOST_PP_BOOL_147 1 -# define BOOST_PP_BOOL_148 1 -# define BOOST_PP_BOOL_149 1 -# define BOOST_PP_BOOL_150 1 -# define BOOST_PP_BOOL_151 1 -# define BOOST_PP_BOOL_152 1 -# define BOOST_PP_BOOL_153 1 -# define BOOST_PP_BOOL_154 1 -# define BOOST_PP_BOOL_155 1 -# define BOOST_PP_BOOL_156 1 -# define BOOST_PP_BOOL_157 1 -# define BOOST_PP_BOOL_158 1 -# define BOOST_PP_BOOL_159 1 -# define BOOST_PP_BOOL_160 1 -# define BOOST_PP_BOOL_161 1 -# define BOOST_PP_BOOL_162 1 -# define BOOST_PP_BOOL_163 1 -# define BOOST_PP_BOOL_164 1 -# define BOOST_PP_BOOL_165 1 -# define BOOST_PP_BOOL_166 1 -# define BOOST_PP_BOOL_167 1 -# define BOOST_PP_BOOL_168 1 -# define BOOST_PP_BOOL_169 1 -# define BOOST_PP_BOOL_170 1 -# define BOOST_PP_BOOL_171 1 -# define BOOST_PP_BOOL_172 1 -# define BOOST_PP_BOOL_173 1 -# define BOOST_PP_BOOL_174 1 -# define BOOST_PP_BOOL_175 1 -# define BOOST_PP_BOOL_176 1 -# define BOOST_PP_BOOL_177 1 -# define BOOST_PP_BOOL_178 1 -# define BOOST_PP_BOOL_179 1 -# define BOOST_PP_BOOL_180 1 -# define BOOST_PP_BOOL_181 1 -# define BOOST_PP_BOOL_182 1 -# define BOOST_PP_BOOL_183 1 -# define BOOST_PP_BOOL_184 1 -# define BOOST_PP_BOOL_185 1 -# define BOOST_PP_BOOL_186 1 -# define BOOST_PP_BOOL_187 1 -# define BOOST_PP_BOOL_188 1 -# define BOOST_PP_BOOL_189 1 -# define BOOST_PP_BOOL_190 1 -# define BOOST_PP_BOOL_191 1 -# define BOOST_PP_BOOL_192 1 -# define BOOST_PP_BOOL_193 1 -# define BOOST_PP_BOOL_194 1 -# define BOOST_PP_BOOL_195 1 -# define BOOST_PP_BOOL_196 1 -# define BOOST_PP_BOOL_197 1 -# define BOOST_PP_BOOL_198 1 -# define BOOST_PP_BOOL_199 1 -# define BOOST_PP_BOOL_200 1 -# define BOOST_PP_BOOL_201 1 -# define BOOST_PP_BOOL_202 1 -# define BOOST_PP_BOOL_203 1 -# define BOOST_PP_BOOL_204 1 -# define BOOST_PP_BOOL_205 1 -# define BOOST_PP_BOOL_206 1 -# define BOOST_PP_BOOL_207 1 -# define BOOST_PP_BOOL_208 1 -# define BOOST_PP_BOOL_209 1 -# define BOOST_PP_BOOL_210 1 -# define BOOST_PP_BOOL_211 1 -# define BOOST_PP_BOOL_212 1 -# define BOOST_PP_BOOL_213 1 -# define BOOST_PP_BOOL_214 1 -# define BOOST_PP_BOOL_215 1 -# define BOOST_PP_BOOL_216 1 -# define BOOST_PP_BOOL_217 1 -# define BOOST_PP_BOOL_218 1 -# define BOOST_PP_BOOL_219 1 -# define BOOST_PP_BOOL_220 1 -# define BOOST_PP_BOOL_221 1 -# define BOOST_PP_BOOL_222 1 -# define BOOST_PP_BOOL_223 1 -# define BOOST_PP_BOOL_224 1 -# define BOOST_PP_BOOL_225 1 -# define BOOST_PP_BOOL_226 1 -# define BOOST_PP_BOOL_227 1 -# define BOOST_PP_BOOL_228 1 -# define BOOST_PP_BOOL_229 1 -# define BOOST_PP_BOOL_230 1 -# define BOOST_PP_BOOL_231 1 -# define BOOST_PP_BOOL_232 1 -# define BOOST_PP_BOOL_233 1 -# define BOOST_PP_BOOL_234 1 -# define BOOST_PP_BOOL_235 1 -# define BOOST_PP_BOOL_236 1 -# define BOOST_PP_BOOL_237 1 -# define BOOST_PP_BOOL_238 1 -# define BOOST_PP_BOOL_239 1 -# define BOOST_PP_BOOL_240 1 -# define BOOST_PP_BOOL_241 1 -# define BOOST_PP_BOOL_242 1 -# define BOOST_PP_BOOL_243 1 -# define BOOST_PP_BOOL_244 1 -# define BOOST_PP_BOOL_245 1 -# define BOOST_PP_BOOL_246 1 -# define BOOST_PP_BOOL_247 1 -# define BOOST_PP_BOOL_248 1 -# define BOOST_PP_BOOL_249 1 -# define BOOST_PP_BOOL_250 1 -# define BOOST_PP_BOOL_251 1 -# define BOOST_PP_BOOL_252 1 -# define BOOST_PP_BOOL_253 1 -# define BOOST_PP_BOOL_254 1 -# define BOOST_PP_BOOL_255 1 -# define BOOST_PP_BOOL_256 1 -# -# else -# -# include -# -# if BOOST_PP_LIMIT_MAG == 256 -# include -# elif BOOST_PP_LIMIT_MAG == 512 -# include -# include -# elif BOOST_PP_LIMIT_MAG == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_MAG limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/not.hpp b/external/include/boost_1_75/boost/preprocessor/logical/not.hpp deleted file mode 100644 index b509d3fca6..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/logical/not.hpp +++ /dev/null @@ -1,30 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP -# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP -# -# include -# include -# include -# -# /* BOOST_PP_NOT */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x)) -# else -# define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x) -# define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x)) -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/punctuation/comma_if.hpp b/external/include/boost_1_75/boost/preprocessor/punctuation/comma_if.hpp deleted file mode 100644 index c711f366a4..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/punctuation/comma_if.hpp +++ /dev/null @@ -1,31 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP -# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_COMMA_IF */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() -# else -# define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond) -# define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/punctuation/detail/is_begin_parens.hpp b/external/include/boost_1_75/boost/preprocessor/punctuation/detail/is_begin_parens.hpp deleted file mode 100644 index c94ccf3c6f..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/punctuation/detail/is_begin_parens.hpp +++ /dev/null @@ -1,48 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2014. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -#ifndef BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP -#define BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP - -#if BOOST_PP_VARIADICS_MSVC - -#include - -#define BOOST_PP_DETAIL_VD_IBP_CAT(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b) -#define BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_II(a ## b) -#define BOOST_PP_DETAIL_VD_IBP_CAT_II(res) res - -#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \ - BOOST_PP_DETAIL_VD_IBP_CAT(BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__),BOOST_PP_EMPTY()) \ -/**/ - -#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1 1 - -#else - -#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \ - BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__) \ -/**/ - -#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1 - -#endif /* BOOST_PP_VARIADICS_MSVC */ - -#define BOOST_PP_DETAIL_IBP_SPLIT_0(a, ...) a -#define BOOST_PP_DETAIL_IBP_SPLIT_1(a, ...) __VA_ARGS__ - -#define BOOST_PP_DETAIL_IBP_CAT(a, ...) BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a,__VA_ARGS__) -#define BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__ - -#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_1 1, -#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_BOOST_PP_DETAIL_IBP_IS_VARIADIC_C 0, - -#endif /* BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/punctuation/is_begin_parens.hpp b/external/include/boost_1_75/boost/preprocessor/punctuation/is_begin_parens.hpp deleted file mode 100644 index 05f73eed88..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/punctuation/is_begin_parens.hpp +++ /dev/null @@ -1,47 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2014. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP -# define BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP - -#include -#include - -#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 - -#define BOOST_PP_IS_BEGIN_PARENS(param) \ - BOOST_PP_DETAIL_IBP_SPLIT \ - ( \ - 0, \ - BOOST_PP_DETAIL_IBP_CAT \ - ( \ - BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \ - BOOST_PP_DETAIL_IBP_IS_VARIADIC_C param \ - ) \ - ) \ -/**/ - -#else - -#define BOOST_PP_IS_BEGIN_PARENS(...) \ - BOOST_PP_DETAIL_IBP_SPLIT \ - ( \ - 0, \ - BOOST_PP_DETAIL_IBP_CAT \ - ( \ - BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \ - BOOST_PP_DETAIL_IBP_IS_VARIADIC_C __VA_ARGS__ \ - ) \ - ) \ -/**/ - -#endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */ -#endif /* BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/repeat.hpp b/external/include/boost_1_75/boost/preprocessor/repeat.hpp deleted file mode 100644 index 7c47ee8b01..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repeat.hpp +++ /dev/null @@ -1,17 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPEAT_HPP -# define BOOST_PREPROCESSOR_REPEAT_HPP -# -# include -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/dmc/for.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/dmc/for.hpp deleted file mode 100644 index 1a18aeecca..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/dmc/for.hpp +++ /dev/null @@ -1,537 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_DMC_FOR_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_DMC_FOR_HPP -# -# include -# include -# include -# include -# -# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m) -# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m) -# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m) -# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m) -# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m) -# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m) -# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m) -# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m) -# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m) -# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m) -# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m) -# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m) -# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m) -# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m) -# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m) -# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m) -# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m) -# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m) -# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m) -# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m) -# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m) -# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m) -# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m) -# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m) -# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m) -# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m) -# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m) -# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m) -# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m) -# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m) -# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m) -# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m) -# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m) -# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m) -# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m) -# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m) -# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m) -# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m) -# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m) -# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m) -# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m) -# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m) -# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m) -# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m) -# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m) -# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m) -# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m) -# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m) -# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m) -# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m) -# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m) -# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m) -# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m) -# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m) -# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m) -# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m) -# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m) -# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m) -# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m) -# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m) -# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m) -# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m) -# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m) -# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m) -# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m) -# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m) -# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m) -# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m) -# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m) -# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m) -# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m) -# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m) -# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m) -# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m) -# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m) -# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m) -# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m) -# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m) -# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m) -# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m) -# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m) -# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m) -# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m) -# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m) -# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m) -# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m) -# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m) -# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m) -# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m) -# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m) -# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m) -# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m) -# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m) -# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m) -# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m) -# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m) -# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m) -# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m) -# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m) -# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m) -# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m) -# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m) -# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m) -# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m) -# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m) -# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m) -# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m) -# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m) -# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m) -# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m) -# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m) -# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m) -# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m) -# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m) -# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m) -# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m) -# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m) -# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m) -# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m) -# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m) -# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m) -# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m) -# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m) -# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m) -# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m) -# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m) -# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m) -# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m) -# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m) -# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m) -# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m) -# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m) -# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m) -# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m) -# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m) -# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m) -# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m) -# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m) -# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m) -# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m) -# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m) -# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m) -# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m) -# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m) -# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m) -# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m) -# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m) -# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m) -# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m) -# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m) -# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m) -# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m) -# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m) -# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m) -# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m) -# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m) -# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m) -# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m) -# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m) -# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m) -# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m) -# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m) -# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m) -# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m) -# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m) -# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m) -# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m) -# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m) -# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m) -# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m) -# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m) -# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m) -# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m) -# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m) -# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m) -# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m) -# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m) -# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m) -# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m) -# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m) -# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m) -# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m) -# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m) -# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m) -# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m) -# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m) -# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m) -# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m) -# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m) -# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m) -# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m) -# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m) -# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m) -# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m) -# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m) -# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m) -# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m) -# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m) -# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m) -# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m) -# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m) -# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m) -# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m) -# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m) -# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m) -# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m) -# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m) -# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m) -# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m) -# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m) -# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m) -# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m) -# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m) -# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m) -# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m) -# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m) -# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m) -# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m) -# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m) -# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m) -# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m) -# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m) -# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m) -# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m) -# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m) -# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m) -# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m) -# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m) -# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m) -# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m) -# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m) -# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m) -# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m) -# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m) -# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m) -# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m) -# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m) -# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m) -# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m) -# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m) -# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m) -# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m) -# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m) -# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m) -# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m) -# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m) -# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m) -# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m) -# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m) -# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m) -# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m) -# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m) -# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m) -# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m) -# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m) -# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m) -# -# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) -# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) -# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) -# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) -# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) -# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) -# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) -# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) -# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) -# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) -# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) -# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) -# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) -# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) -# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) -# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) -# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) -# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) -# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) -# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) -# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) -# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) -# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) -# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) -# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) -# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) -# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) -# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) -# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) -# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) -# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) -# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) -# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) -# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) -# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) -# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) -# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) -# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) -# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) -# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) -# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) -# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) -# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) -# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) -# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) -# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) -# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) -# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) -# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) -# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) -# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) -# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) -# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) -# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) -# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) -# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) -# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) -# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) -# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) -# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) -# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) -# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) -# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) -# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) -# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) -# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) -# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) -# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) -# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) -# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) -# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) -# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) -# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) -# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) -# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) -# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) -# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) -# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) -# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) -# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) -# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) -# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) -# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) -# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) -# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) -# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) -# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) -# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) -# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) -# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) -# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) -# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) -# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) -# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) -# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) -# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) -# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) -# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) -# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) -# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) -# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) -# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) -# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) -# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) -# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) -# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) -# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) -# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) -# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) -# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) -# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) -# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) -# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) -# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) -# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) -# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) -# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) -# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) -# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) -# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) -# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) -# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) -# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) -# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) -# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) -# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) -# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) -# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) -# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) -# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) -# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) -# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) -# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) -# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) -# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) -# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) -# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) -# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) -# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) -# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) -# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) -# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) -# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) -# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) -# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) -# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) -# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) -# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) -# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) -# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) -# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) -# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) -# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) -# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) -# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) -# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) -# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) -# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) -# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) -# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) -# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) -# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) -# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) -# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) -# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) -# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) -# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) -# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) -# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) -# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) -# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) -# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) -# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) -# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) -# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) -# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) -# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) -# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) -# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) -# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) -# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) -# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) -# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) -# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) -# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) -# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) -# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) -# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) -# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) -# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) -# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) -# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) -# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) -# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) -# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) -# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) -# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) -# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) -# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) -# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) -# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) -# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) -# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) -# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) -# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) -# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) -# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) -# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) -# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) -# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) -# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) -# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) -# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) -# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) -# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) -# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) -# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) -# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) -# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) -# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) -# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) -# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) -# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) -# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) -# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) -# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) -# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) -# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) -# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) -# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) -# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) -# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) -# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) -# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) -# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) -# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) -# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) -# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) -# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) -# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) -# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) -# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) -# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) -# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) -# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) -# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) -# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) -# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) -# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) -# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) -# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) -# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) -# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) -# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) -# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) -# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/for.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/for.hpp deleted file mode 100644 index 36de1e9fee..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/for.hpp +++ /dev/null @@ -1,560 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# -# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m) -# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m) -# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m) -# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m) -# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m) -# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m) -# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m) -# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m) -# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m) -# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m) -# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m) -# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m) -# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m) -# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m) -# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m) -# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m) -# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m) -# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m) -# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m) -# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m) -# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m) -# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m) -# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m) -# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m) -# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m) -# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m) -# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m) -# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m) -# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m) -# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m) -# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m) -# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m) -# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m) -# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m) -# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m) -# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m) -# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m) -# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m) -# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m) -# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m) -# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m) -# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m) -# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m) -# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m) -# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m) -# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m) -# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m) -# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m) -# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m) -# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m) -# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m) -# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m) -# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m) -# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m) -# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m) -# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m) -# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m) -# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m) -# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m) -# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m) -# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m) -# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m) -# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m) -# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m) -# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m) -# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m) -# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m) -# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m) -# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m) -# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m) -# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m) -# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m) -# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m) -# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m) -# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m) -# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m) -# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m) -# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m) -# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m) -# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m) -# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m) -# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m) -# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m) -# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m) -# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m) -# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m) -# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m) -# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m) -# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m) -# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m) -# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m) -# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m) -# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m) -# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m) -# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m) -# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m) -# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m) -# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m) -# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m) -# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m) -# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m) -# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m) -# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m) -# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m) -# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m) -# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m) -# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m) -# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m) -# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m) -# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m) -# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m) -# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m) -# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m) -# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m) -# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m) -# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m) -# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m) -# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m) -# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m) -# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m) -# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m) -# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m) -# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m) -# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m) -# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m) -# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m) -# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m) -# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m) -# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m) -# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m) -# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m) -# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m) -# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m) -# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m) -# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m) -# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m) -# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m) -# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m) -# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m) -# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m) -# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m) -# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m) -# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m) -# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m) -# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m) -# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m) -# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m) -# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m) -# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m) -# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m) -# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m) -# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m) -# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m) -# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m) -# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m) -# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m) -# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m) -# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m) -# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m) -# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m) -# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m) -# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m) -# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m) -# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m) -# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m) -# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m) -# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m) -# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m) -# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m) -# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m) -# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m) -# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m) -# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m) -# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m) -# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m) -# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m) -# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m) -# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m) -# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m) -# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m) -# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m) -# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m) -# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m) -# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m) -# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m) -# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m) -# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m) -# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m) -# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m) -# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m) -# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m) -# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m) -# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m) -# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m) -# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m) -# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m) -# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m) -# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m) -# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m) -# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m) -# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m) -# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m) -# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m) -# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m) -# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m) -# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m) -# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m) -# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m) -# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m) -# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m) -# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m) -# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m) -# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m) -# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m) -# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m) -# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m) -# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m) -# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m) -# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m) -# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m) -# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m) -# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m) -# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m) -# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m) -# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m) -# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m) -# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m) -# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m) -# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m) -# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m) -# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m) -# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m) -# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m) -# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m) -# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m) -# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m) -# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m) -# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m) -# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m) -# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m) -# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m) -# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m) -# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m) -# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m) -# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m) -# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m) -# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m) -# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m) -# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m) -# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m) -# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m) -# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m) -# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m) -# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m) -# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m) -# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m) -# -# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) -# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) -# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) -# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) -# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) -# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) -# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) -# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) -# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) -# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) -# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) -# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) -# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) -# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) -# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) -# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) -# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) -# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) -# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) -# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) -# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) -# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) -# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) -# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) -# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) -# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) -# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) -# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) -# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) -# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) -# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) -# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) -# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) -# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) -# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) -# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) -# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) -# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) -# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) -# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) -# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) -# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) -# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) -# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) -# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) -# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) -# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) -# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) -# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) -# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) -# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) -# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) -# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) -# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) -# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) -# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) -# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) -# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) -# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) -# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) -# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) -# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) -# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) -# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) -# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) -# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) -# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) -# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) -# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) -# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) -# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) -# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) -# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) -# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) -# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) -# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) -# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) -# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) -# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) -# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) -# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) -# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) -# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) -# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) -# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) -# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) -# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) -# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) -# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) -# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) -# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) -# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) -# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) -# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) -# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) -# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) -# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) -# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) -# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) -# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) -# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) -# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) -# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) -# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) -# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) -# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) -# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) -# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) -# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) -# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) -# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) -# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) -# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) -# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) -# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) -# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) -# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) -# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) -# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) -# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) -# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) -# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) -# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) -# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) -# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) -# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) -# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) -# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) -# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) -# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) -# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) -# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) -# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) -# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) -# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) -# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) -# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) -# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) -# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) -# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) -# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) -# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) -# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) -# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) -# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) -# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) -# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) -# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) -# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) -# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) -# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) -# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) -# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) -# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) -# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) -# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) -# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) -# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) -# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) -# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) -# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) -# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) -# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) -# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) -# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) -# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) -# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) -# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) -# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) -# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) -# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) -# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) -# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) -# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) -# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) -# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) -# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) -# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) -# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) -# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) -# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) -# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) -# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) -# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) -# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) -# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) -# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) -# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) -# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) -# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) -# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) -# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) -# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) -# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) -# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) -# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) -# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) -# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) -# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) -# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) -# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) -# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) -# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) -# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) -# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) -# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) -# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) -# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) -# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) -# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) -# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) -# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) -# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) -# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) -# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) -# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) -# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) -# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) -# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) -# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) -# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) -# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) -# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) -# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) -# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) -# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) -# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) -# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) -# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) -# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) -# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) -# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) -# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) -# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) -# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) -# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) -# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) -# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) -# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) -# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) -# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) -# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) -# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) -# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) -# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) -# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) -# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) -# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) -# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) -# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) -# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) -# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) -# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) -# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) -# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) -# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) -# -# else -# -# include -# include -# include -# -# if BOOST_PP_LIMIT_FOR == 256 -# include -# elif BOOST_PP_LIMIT_FOR == 512 -# include -# include -# elif BOOST_PP_LIMIT_FOR == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_FOR limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp deleted file mode 100644 index 172c8dae14..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp +++ /dev/null @@ -1,1044 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_1024_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_1024_HPP -# -# define BOOST_PP_FOR_513(s, p, o, m) BOOST_PP_FOR_513_I(s, p, o, m) -# define BOOST_PP_FOR_514(s, p, o, m) BOOST_PP_FOR_514_I(s, p, o, m) -# define BOOST_PP_FOR_515(s, p, o, m) BOOST_PP_FOR_515_I(s, p, o, m) -# define BOOST_PP_FOR_516(s, p, o, m) BOOST_PP_FOR_516_I(s, p, o, m) -# define BOOST_PP_FOR_517(s, p, o, m) BOOST_PP_FOR_517_I(s, p, o, m) -# define BOOST_PP_FOR_518(s, p, o, m) BOOST_PP_FOR_518_I(s, p, o, m) -# define BOOST_PP_FOR_519(s, p, o, m) BOOST_PP_FOR_519_I(s, p, o, m) -# define BOOST_PP_FOR_520(s, p, o, m) BOOST_PP_FOR_520_I(s, p, o, m) -# define BOOST_PP_FOR_521(s, p, o, m) BOOST_PP_FOR_521_I(s, p, o, m) -# define BOOST_PP_FOR_522(s, p, o, m) BOOST_PP_FOR_522_I(s, p, o, m) -# define BOOST_PP_FOR_523(s, p, o, m) BOOST_PP_FOR_523_I(s, p, o, m) -# define BOOST_PP_FOR_524(s, p, o, m) BOOST_PP_FOR_524_I(s, p, o, m) -# define BOOST_PP_FOR_525(s, p, o, m) BOOST_PP_FOR_525_I(s, p, o, m) -# define BOOST_PP_FOR_526(s, p, o, m) BOOST_PP_FOR_526_I(s, p, o, m) -# define BOOST_PP_FOR_527(s, p, o, m) BOOST_PP_FOR_527_I(s, p, o, m) -# define BOOST_PP_FOR_528(s, p, o, m) BOOST_PP_FOR_528_I(s, p, o, m) -# define BOOST_PP_FOR_529(s, p, o, m) BOOST_PP_FOR_529_I(s, p, o, m) -# define BOOST_PP_FOR_530(s, p, o, m) BOOST_PP_FOR_530_I(s, p, o, m) -# define BOOST_PP_FOR_531(s, p, o, m) BOOST_PP_FOR_531_I(s, p, o, m) -# define BOOST_PP_FOR_532(s, p, o, m) BOOST_PP_FOR_532_I(s, p, o, m) -# define BOOST_PP_FOR_533(s, p, o, m) BOOST_PP_FOR_533_I(s, p, o, m) -# define BOOST_PP_FOR_534(s, p, o, m) BOOST_PP_FOR_534_I(s, p, o, m) -# define BOOST_PP_FOR_535(s, p, o, m) BOOST_PP_FOR_535_I(s, p, o, m) -# define BOOST_PP_FOR_536(s, p, o, m) BOOST_PP_FOR_536_I(s, p, o, m) -# define BOOST_PP_FOR_537(s, p, o, m) BOOST_PP_FOR_537_I(s, p, o, m) -# define BOOST_PP_FOR_538(s, p, o, m) BOOST_PP_FOR_538_I(s, p, o, m) -# define BOOST_PP_FOR_539(s, p, o, m) BOOST_PP_FOR_539_I(s, p, o, m) -# define BOOST_PP_FOR_540(s, p, o, m) BOOST_PP_FOR_540_I(s, p, o, m) -# define BOOST_PP_FOR_541(s, p, o, m) BOOST_PP_FOR_541_I(s, p, o, m) -# define BOOST_PP_FOR_542(s, p, o, m) BOOST_PP_FOR_542_I(s, p, o, m) -# define BOOST_PP_FOR_543(s, p, o, m) BOOST_PP_FOR_543_I(s, p, o, m) -# define BOOST_PP_FOR_544(s, p, o, m) BOOST_PP_FOR_544_I(s, p, o, m) -# define BOOST_PP_FOR_545(s, p, o, m) BOOST_PP_FOR_545_I(s, p, o, m) -# define BOOST_PP_FOR_546(s, p, o, m) BOOST_PP_FOR_546_I(s, p, o, m) -# define BOOST_PP_FOR_547(s, p, o, m) BOOST_PP_FOR_547_I(s, p, o, m) -# define BOOST_PP_FOR_548(s, p, o, m) BOOST_PP_FOR_548_I(s, p, o, m) -# define BOOST_PP_FOR_549(s, p, o, m) BOOST_PP_FOR_549_I(s, p, o, m) -# define BOOST_PP_FOR_550(s, p, o, m) BOOST_PP_FOR_550_I(s, p, o, m) -# define BOOST_PP_FOR_551(s, p, o, m) BOOST_PP_FOR_551_I(s, p, o, m) -# define BOOST_PP_FOR_552(s, p, o, m) BOOST_PP_FOR_552_I(s, p, o, m) -# define BOOST_PP_FOR_553(s, p, o, m) BOOST_PP_FOR_553_I(s, p, o, m) -# define BOOST_PP_FOR_554(s, p, o, m) BOOST_PP_FOR_554_I(s, p, o, m) -# define BOOST_PP_FOR_555(s, p, o, m) BOOST_PP_FOR_555_I(s, p, o, m) -# define BOOST_PP_FOR_556(s, p, o, m) BOOST_PP_FOR_556_I(s, p, o, m) -# define BOOST_PP_FOR_557(s, p, o, m) BOOST_PP_FOR_557_I(s, p, o, m) -# define BOOST_PP_FOR_558(s, p, o, m) BOOST_PP_FOR_558_I(s, p, o, m) -# define BOOST_PP_FOR_559(s, p, o, m) BOOST_PP_FOR_559_I(s, p, o, m) -# define BOOST_PP_FOR_560(s, p, o, m) BOOST_PP_FOR_560_I(s, p, o, m) -# define BOOST_PP_FOR_561(s, p, o, m) BOOST_PP_FOR_561_I(s, p, o, m) -# define BOOST_PP_FOR_562(s, p, o, m) BOOST_PP_FOR_562_I(s, p, o, m) -# define BOOST_PP_FOR_563(s, p, o, m) BOOST_PP_FOR_563_I(s, p, o, m) -# define BOOST_PP_FOR_564(s, p, o, m) BOOST_PP_FOR_564_I(s, p, o, m) -# define BOOST_PP_FOR_565(s, p, o, m) BOOST_PP_FOR_565_I(s, p, o, m) -# define BOOST_PP_FOR_566(s, p, o, m) BOOST_PP_FOR_566_I(s, p, o, m) -# define BOOST_PP_FOR_567(s, p, o, m) BOOST_PP_FOR_567_I(s, p, o, m) -# define BOOST_PP_FOR_568(s, p, o, m) BOOST_PP_FOR_568_I(s, p, o, m) -# define BOOST_PP_FOR_569(s, p, o, m) BOOST_PP_FOR_569_I(s, p, o, m) -# define BOOST_PP_FOR_570(s, p, o, m) BOOST_PP_FOR_570_I(s, p, o, m) -# define BOOST_PP_FOR_571(s, p, o, m) BOOST_PP_FOR_571_I(s, p, o, m) -# define BOOST_PP_FOR_572(s, p, o, m) BOOST_PP_FOR_572_I(s, p, o, m) -# define BOOST_PP_FOR_573(s, p, o, m) BOOST_PP_FOR_573_I(s, p, o, m) -# define BOOST_PP_FOR_574(s, p, o, m) BOOST_PP_FOR_574_I(s, p, o, m) -# define BOOST_PP_FOR_575(s, p, o, m) BOOST_PP_FOR_575_I(s, p, o, m) -# define BOOST_PP_FOR_576(s, p, o, m) BOOST_PP_FOR_576_I(s, p, o, m) -# define BOOST_PP_FOR_577(s, p, o, m) BOOST_PP_FOR_577_I(s, p, o, m) -# define BOOST_PP_FOR_578(s, p, o, m) BOOST_PP_FOR_578_I(s, p, o, m) -# define BOOST_PP_FOR_579(s, p, o, m) BOOST_PP_FOR_579_I(s, p, o, m) -# define BOOST_PP_FOR_580(s, p, o, m) BOOST_PP_FOR_580_I(s, p, o, m) -# define BOOST_PP_FOR_581(s, p, o, m) BOOST_PP_FOR_581_I(s, p, o, m) -# define BOOST_PP_FOR_582(s, p, o, m) BOOST_PP_FOR_582_I(s, p, o, m) -# define BOOST_PP_FOR_583(s, p, o, m) BOOST_PP_FOR_583_I(s, p, o, m) -# define BOOST_PP_FOR_584(s, p, o, m) BOOST_PP_FOR_584_I(s, p, o, m) -# define BOOST_PP_FOR_585(s, p, o, m) BOOST_PP_FOR_585_I(s, p, o, m) -# define BOOST_PP_FOR_586(s, p, o, m) BOOST_PP_FOR_586_I(s, p, o, m) -# define BOOST_PP_FOR_587(s, p, o, m) BOOST_PP_FOR_587_I(s, p, o, m) -# define BOOST_PP_FOR_588(s, p, o, m) BOOST_PP_FOR_588_I(s, p, o, m) -# define BOOST_PP_FOR_589(s, p, o, m) BOOST_PP_FOR_589_I(s, p, o, m) -# define BOOST_PP_FOR_590(s, p, o, m) BOOST_PP_FOR_590_I(s, p, o, m) -# define BOOST_PP_FOR_591(s, p, o, m) BOOST_PP_FOR_591_I(s, p, o, m) -# define BOOST_PP_FOR_592(s, p, o, m) BOOST_PP_FOR_592_I(s, p, o, m) -# define BOOST_PP_FOR_593(s, p, o, m) BOOST_PP_FOR_593_I(s, p, o, m) -# define BOOST_PP_FOR_594(s, p, o, m) BOOST_PP_FOR_594_I(s, p, o, m) -# define BOOST_PP_FOR_595(s, p, o, m) BOOST_PP_FOR_595_I(s, p, o, m) -# define BOOST_PP_FOR_596(s, p, o, m) BOOST_PP_FOR_596_I(s, p, o, m) -# define BOOST_PP_FOR_597(s, p, o, m) BOOST_PP_FOR_597_I(s, p, o, m) -# define BOOST_PP_FOR_598(s, p, o, m) BOOST_PP_FOR_598_I(s, p, o, m) -# define BOOST_PP_FOR_599(s, p, o, m) BOOST_PP_FOR_599_I(s, p, o, m) -# define BOOST_PP_FOR_600(s, p, o, m) BOOST_PP_FOR_600_I(s, p, o, m) -# define BOOST_PP_FOR_601(s, p, o, m) BOOST_PP_FOR_601_I(s, p, o, m) -# define BOOST_PP_FOR_602(s, p, o, m) BOOST_PP_FOR_602_I(s, p, o, m) -# define BOOST_PP_FOR_603(s, p, o, m) BOOST_PP_FOR_603_I(s, p, o, m) -# define BOOST_PP_FOR_604(s, p, o, m) BOOST_PP_FOR_604_I(s, p, o, m) -# define BOOST_PP_FOR_605(s, p, o, m) BOOST_PP_FOR_605_I(s, p, o, m) -# define BOOST_PP_FOR_606(s, p, o, m) BOOST_PP_FOR_606_I(s, p, o, m) -# define BOOST_PP_FOR_607(s, p, o, m) BOOST_PP_FOR_607_I(s, p, o, m) -# define BOOST_PP_FOR_608(s, p, o, m) BOOST_PP_FOR_608_I(s, p, o, m) -# define BOOST_PP_FOR_609(s, p, o, m) BOOST_PP_FOR_609_I(s, p, o, m) -# define BOOST_PP_FOR_610(s, p, o, m) BOOST_PP_FOR_610_I(s, p, o, m) -# define BOOST_PP_FOR_611(s, p, o, m) BOOST_PP_FOR_611_I(s, p, o, m) -# define BOOST_PP_FOR_612(s, p, o, m) BOOST_PP_FOR_612_I(s, p, o, m) -# define BOOST_PP_FOR_613(s, p, o, m) BOOST_PP_FOR_613_I(s, p, o, m) -# define BOOST_PP_FOR_614(s, p, o, m) BOOST_PP_FOR_614_I(s, p, o, m) -# define BOOST_PP_FOR_615(s, p, o, m) BOOST_PP_FOR_615_I(s, p, o, m) -# define BOOST_PP_FOR_616(s, p, o, m) BOOST_PP_FOR_616_I(s, p, o, m) -# define BOOST_PP_FOR_617(s, p, o, m) BOOST_PP_FOR_617_I(s, p, o, m) -# define BOOST_PP_FOR_618(s, p, o, m) BOOST_PP_FOR_618_I(s, p, o, m) -# define BOOST_PP_FOR_619(s, p, o, m) BOOST_PP_FOR_619_I(s, p, o, m) -# define BOOST_PP_FOR_620(s, p, o, m) BOOST_PP_FOR_620_I(s, p, o, m) -# define BOOST_PP_FOR_621(s, p, o, m) BOOST_PP_FOR_621_I(s, p, o, m) -# define BOOST_PP_FOR_622(s, p, o, m) BOOST_PP_FOR_622_I(s, p, o, m) -# define BOOST_PP_FOR_623(s, p, o, m) BOOST_PP_FOR_623_I(s, p, o, m) -# define BOOST_PP_FOR_624(s, p, o, m) BOOST_PP_FOR_624_I(s, p, o, m) -# define BOOST_PP_FOR_625(s, p, o, m) BOOST_PP_FOR_625_I(s, p, o, m) -# define BOOST_PP_FOR_626(s, p, o, m) BOOST_PP_FOR_626_I(s, p, o, m) -# define BOOST_PP_FOR_627(s, p, o, m) BOOST_PP_FOR_627_I(s, p, o, m) -# define BOOST_PP_FOR_628(s, p, o, m) BOOST_PP_FOR_628_I(s, p, o, m) -# define BOOST_PP_FOR_629(s, p, o, m) BOOST_PP_FOR_629_I(s, p, o, m) -# define BOOST_PP_FOR_630(s, p, o, m) BOOST_PP_FOR_630_I(s, p, o, m) -# define BOOST_PP_FOR_631(s, p, o, m) BOOST_PP_FOR_631_I(s, p, o, m) -# define BOOST_PP_FOR_632(s, p, o, m) BOOST_PP_FOR_632_I(s, p, o, m) -# define BOOST_PP_FOR_633(s, p, o, m) BOOST_PP_FOR_633_I(s, p, o, m) -# define BOOST_PP_FOR_634(s, p, o, m) BOOST_PP_FOR_634_I(s, p, o, m) -# define BOOST_PP_FOR_635(s, p, o, m) BOOST_PP_FOR_635_I(s, p, o, m) -# define BOOST_PP_FOR_636(s, p, o, m) BOOST_PP_FOR_636_I(s, p, o, m) -# define BOOST_PP_FOR_637(s, p, o, m) BOOST_PP_FOR_637_I(s, p, o, m) -# define BOOST_PP_FOR_638(s, p, o, m) BOOST_PP_FOR_638_I(s, p, o, m) -# define BOOST_PP_FOR_639(s, p, o, m) BOOST_PP_FOR_639_I(s, p, o, m) -# define BOOST_PP_FOR_640(s, p, o, m) BOOST_PP_FOR_640_I(s, p, o, m) -# define BOOST_PP_FOR_641(s, p, o, m) BOOST_PP_FOR_641_I(s, p, o, m) -# define BOOST_PP_FOR_642(s, p, o, m) BOOST_PP_FOR_642_I(s, p, o, m) -# define BOOST_PP_FOR_643(s, p, o, m) BOOST_PP_FOR_643_I(s, p, o, m) -# define BOOST_PP_FOR_644(s, p, o, m) BOOST_PP_FOR_644_I(s, p, o, m) -# define BOOST_PP_FOR_645(s, p, o, m) BOOST_PP_FOR_645_I(s, p, o, m) -# define BOOST_PP_FOR_646(s, p, o, m) BOOST_PP_FOR_646_I(s, p, o, m) -# define BOOST_PP_FOR_647(s, p, o, m) BOOST_PP_FOR_647_I(s, p, o, m) -# define BOOST_PP_FOR_648(s, p, o, m) BOOST_PP_FOR_648_I(s, p, o, m) -# define BOOST_PP_FOR_649(s, p, o, m) BOOST_PP_FOR_649_I(s, p, o, m) -# define BOOST_PP_FOR_650(s, p, o, m) BOOST_PP_FOR_650_I(s, p, o, m) -# define BOOST_PP_FOR_651(s, p, o, m) BOOST_PP_FOR_651_I(s, p, o, m) -# define BOOST_PP_FOR_652(s, p, o, m) BOOST_PP_FOR_652_I(s, p, o, m) -# define BOOST_PP_FOR_653(s, p, o, m) BOOST_PP_FOR_653_I(s, p, o, m) -# define BOOST_PP_FOR_654(s, p, o, m) BOOST_PP_FOR_654_I(s, p, o, m) -# define BOOST_PP_FOR_655(s, p, o, m) BOOST_PP_FOR_655_I(s, p, o, m) -# define BOOST_PP_FOR_656(s, p, o, m) BOOST_PP_FOR_656_I(s, p, o, m) -# define BOOST_PP_FOR_657(s, p, o, m) BOOST_PP_FOR_657_I(s, p, o, m) -# define BOOST_PP_FOR_658(s, p, o, m) BOOST_PP_FOR_658_I(s, p, o, m) -# define BOOST_PP_FOR_659(s, p, o, m) BOOST_PP_FOR_659_I(s, p, o, m) -# define BOOST_PP_FOR_660(s, p, o, m) BOOST_PP_FOR_660_I(s, p, o, m) -# define BOOST_PP_FOR_661(s, p, o, m) BOOST_PP_FOR_661_I(s, p, o, m) -# define BOOST_PP_FOR_662(s, p, o, m) BOOST_PP_FOR_662_I(s, p, o, m) -# define BOOST_PP_FOR_663(s, p, o, m) BOOST_PP_FOR_663_I(s, p, o, m) -# define BOOST_PP_FOR_664(s, p, o, m) BOOST_PP_FOR_664_I(s, p, o, m) -# define BOOST_PP_FOR_665(s, p, o, m) BOOST_PP_FOR_665_I(s, p, o, m) -# define BOOST_PP_FOR_666(s, p, o, m) BOOST_PP_FOR_666_I(s, p, o, m) -# define BOOST_PP_FOR_667(s, p, o, m) BOOST_PP_FOR_667_I(s, p, o, m) -# define BOOST_PP_FOR_668(s, p, o, m) BOOST_PP_FOR_668_I(s, p, o, m) -# define BOOST_PP_FOR_669(s, p, o, m) BOOST_PP_FOR_669_I(s, p, o, m) -# define BOOST_PP_FOR_670(s, p, o, m) BOOST_PP_FOR_670_I(s, p, o, m) -# define BOOST_PP_FOR_671(s, p, o, m) BOOST_PP_FOR_671_I(s, p, o, m) -# define BOOST_PP_FOR_672(s, p, o, m) BOOST_PP_FOR_672_I(s, p, o, m) -# define BOOST_PP_FOR_673(s, p, o, m) BOOST_PP_FOR_673_I(s, p, o, m) -# define BOOST_PP_FOR_674(s, p, o, m) BOOST_PP_FOR_674_I(s, p, o, m) -# define BOOST_PP_FOR_675(s, p, o, m) BOOST_PP_FOR_675_I(s, p, o, m) -# define BOOST_PP_FOR_676(s, p, o, m) BOOST_PP_FOR_676_I(s, p, o, m) -# define BOOST_PP_FOR_677(s, p, o, m) BOOST_PP_FOR_677_I(s, p, o, m) -# define BOOST_PP_FOR_678(s, p, o, m) BOOST_PP_FOR_678_I(s, p, o, m) -# define BOOST_PP_FOR_679(s, p, o, m) BOOST_PP_FOR_679_I(s, p, o, m) -# define BOOST_PP_FOR_680(s, p, o, m) BOOST_PP_FOR_680_I(s, p, o, m) -# define BOOST_PP_FOR_681(s, p, o, m) BOOST_PP_FOR_681_I(s, p, o, m) -# define BOOST_PP_FOR_682(s, p, o, m) BOOST_PP_FOR_682_I(s, p, o, m) -# define BOOST_PP_FOR_683(s, p, o, m) BOOST_PP_FOR_683_I(s, p, o, m) -# define BOOST_PP_FOR_684(s, p, o, m) BOOST_PP_FOR_684_I(s, p, o, m) -# define BOOST_PP_FOR_685(s, p, o, m) BOOST_PP_FOR_685_I(s, p, o, m) -# define BOOST_PP_FOR_686(s, p, o, m) BOOST_PP_FOR_686_I(s, p, o, m) -# define BOOST_PP_FOR_687(s, p, o, m) BOOST_PP_FOR_687_I(s, p, o, m) -# define BOOST_PP_FOR_688(s, p, o, m) BOOST_PP_FOR_688_I(s, p, o, m) -# define BOOST_PP_FOR_689(s, p, o, m) BOOST_PP_FOR_689_I(s, p, o, m) -# define BOOST_PP_FOR_690(s, p, o, m) BOOST_PP_FOR_690_I(s, p, o, m) -# define BOOST_PP_FOR_691(s, p, o, m) BOOST_PP_FOR_691_I(s, p, o, m) -# define BOOST_PP_FOR_692(s, p, o, m) BOOST_PP_FOR_692_I(s, p, o, m) -# define BOOST_PP_FOR_693(s, p, o, m) BOOST_PP_FOR_693_I(s, p, o, m) -# define BOOST_PP_FOR_694(s, p, o, m) BOOST_PP_FOR_694_I(s, p, o, m) -# define BOOST_PP_FOR_695(s, p, o, m) BOOST_PP_FOR_695_I(s, p, o, m) -# define BOOST_PP_FOR_696(s, p, o, m) BOOST_PP_FOR_696_I(s, p, o, m) -# define BOOST_PP_FOR_697(s, p, o, m) BOOST_PP_FOR_697_I(s, p, o, m) -# define BOOST_PP_FOR_698(s, p, o, m) BOOST_PP_FOR_698_I(s, p, o, m) -# define BOOST_PP_FOR_699(s, p, o, m) BOOST_PP_FOR_699_I(s, p, o, m) -# define BOOST_PP_FOR_700(s, p, o, m) BOOST_PP_FOR_700_I(s, p, o, m) -# define BOOST_PP_FOR_701(s, p, o, m) BOOST_PP_FOR_701_I(s, p, o, m) -# define BOOST_PP_FOR_702(s, p, o, m) BOOST_PP_FOR_702_I(s, p, o, m) -# define BOOST_PP_FOR_703(s, p, o, m) BOOST_PP_FOR_703_I(s, p, o, m) -# define BOOST_PP_FOR_704(s, p, o, m) BOOST_PP_FOR_704_I(s, p, o, m) -# define BOOST_PP_FOR_705(s, p, o, m) BOOST_PP_FOR_705_I(s, p, o, m) -# define BOOST_PP_FOR_706(s, p, o, m) BOOST_PP_FOR_706_I(s, p, o, m) -# define BOOST_PP_FOR_707(s, p, o, m) BOOST_PP_FOR_707_I(s, p, o, m) -# define BOOST_PP_FOR_708(s, p, o, m) BOOST_PP_FOR_708_I(s, p, o, m) -# define BOOST_PP_FOR_709(s, p, o, m) BOOST_PP_FOR_709_I(s, p, o, m) -# define BOOST_PP_FOR_710(s, p, o, m) BOOST_PP_FOR_710_I(s, p, o, m) -# define BOOST_PP_FOR_711(s, p, o, m) BOOST_PP_FOR_711_I(s, p, o, m) -# define BOOST_PP_FOR_712(s, p, o, m) BOOST_PP_FOR_712_I(s, p, o, m) -# define BOOST_PP_FOR_713(s, p, o, m) BOOST_PP_FOR_713_I(s, p, o, m) -# define BOOST_PP_FOR_714(s, p, o, m) BOOST_PP_FOR_714_I(s, p, o, m) -# define BOOST_PP_FOR_715(s, p, o, m) BOOST_PP_FOR_715_I(s, p, o, m) -# define BOOST_PP_FOR_716(s, p, o, m) BOOST_PP_FOR_716_I(s, p, o, m) -# define BOOST_PP_FOR_717(s, p, o, m) BOOST_PP_FOR_717_I(s, p, o, m) -# define BOOST_PP_FOR_718(s, p, o, m) BOOST_PP_FOR_718_I(s, p, o, m) -# define BOOST_PP_FOR_719(s, p, o, m) BOOST_PP_FOR_719_I(s, p, o, m) -# define BOOST_PP_FOR_720(s, p, o, m) BOOST_PP_FOR_720_I(s, p, o, m) -# define BOOST_PP_FOR_721(s, p, o, m) BOOST_PP_FOR_721_I(s, p, o, m) -# define BOOST_PP_FOR_722(s, p, o, m) BOOST_PP_FOR_722_I(s, p, o, m) -# define BOOST_PP_FOR_723(s, p, o, m) BOOST_PP_FOR_723_I(s, p, o, m) -# define BOOST_PP_FOR_724(s, p, o, m) BOOST_PP_FOR_724_I(s, p, o, m) -# define BOOST_PP_FOR_725(s, p, o, m) BOOST_PP_FOR_725_I(s, p, o, m) -# define BOOST_PP_FOR_726(s, p, o, m) BOOST_PP_FOR_726_I(s, p, o, m) -# define BOOST_PP_FOR_727(s, p, o, m) BOOST_PP_FOR_727_I(s, p, o, m) -# define BOOST_PP_FOR_728(s, p, o, m) BOOST_PP_FOR_728_I(s, p, o, m) -# define BOOST_PP_FOR_729(s, p, o, m) BOOST_PP_FOR_729_I(s, p, o, m) -# define BOOST_PP_FOR_730(s, p, o, m) BOOST_PP_FOR_730_I(s, p, o, m) -# define BOOST_PP_FOR_731(s, p, o, m) BOOST_PP_FOR_731_I(s, p, o, m) -# define BOOST_PP_FOR_732(s, p, o, m) BOOST_PP_FOR_732_I(s, p, o, m) -# define BOOST_PP_FOR_733(s, p, o, m) BOOST_PP_FOR_733_I(s, p, o, m) -# define BOOST_PP_FOR_734(s, p, o, m) BOOST_PP_FOR_734_I(s, p, o, m) -# define BOOST_PP_FOR_735(s, p, o, m) BOOST_PP_FOR_735_I(s, p, o, m) -# define BOOST_PP_FOR_736(s, p, o, m) BOOST_PP_FOR_736_I(s, p, o, m) -# define BOOST_PP_FOR_737(s, p, o, m) BOOST_PP_FOR_737_I(s, p, o, m) -# define BOOST_PP_FOR_738(s, p, o, m) BOOST_PP_FOR_738_I(s, p, o, m) -# define BOOST_PP_FOR_739(s, p, o, m) BOOST_PP_FOR_739_I(s, p, o, m) -# define BOOST_PP_FOR_740(s, p, o, m) BOOST_PP_FOR_740_I(s, p, o, m) -# define BOOST_PP_FOR_741(s, p, o, m) BOOST_PP_FOR_741_I(s, p, o, m) -# define BOOST_PP_FOR_742(s, p, o, m) BOOST_PP_FOR_742_I(s, p, o, m) -# define BOOST_PP_FOR_743(s, p, o, m) BOOST_PP_FOR_743_I(s, p, o, m) -# define BOOST_PP_FOR_744(s, p, o, m) BOOST_PP_FOR_744_I(s, p, o, m) -# define BOOST_PP_FOR_745(s, p, o, m) BOOST_PP_FOR_745_I(s, p, o, m) -# define BOOST_PP_FOR_746(s, p, o, m) BOOST_PP_FOR_746_I(s, p, o, m) -# define BOOST_PP_FOR_747(s, p, o, m) BOOST_PP_FOR_747_I(s, p, o, m) -# define BOOST_PP_FOR_748(s, p, o, m) BOOST_PP_FOR_748_I(s, p, o, m) -# define BOOST_PP_FOR_749(s, p, o, m) BOOST_PP_FOR_749_I(s, p, o, m) -# define BOOST_PP_FOR_750(s, p, o, m) BOOST_PP_FOR_750_I(s, p, o, m) -# define BOOST_PP_FOR_751(s, p, o, m) BOOST_PP_FOR_751_I(s, p, o, m) -# define BOOST_PP_FOR_752(s, p, o, m) BOOST_PP_FOR_752_I(s, p, o, m) -# define BOOST_PP_FOR_753(s, p, o, m) BOOST_PP_FOR_753_I(s, p, o, m) -# define BOOST_PP_FOR_754(s, p, o, m) BOOST_PP_FOR_754_I(s, p, o, m) -# define BOOST_PP_FOR_755(s, p, o, m) BOOST_PP_FOR_755_I(s, p, o, m) -# define BOOST_PP_FOR_756(s, p, o, m) BOOST_PP_FOR_756_I(s, p, o, m) -# define BOOST_PP_FOR_757(s, p, o, m) BOOST_PP_FOR_757_I(s, p, o, m) -# define BOOST_PP_FOR_758(s, p, o, m) BOOST_PP_FOR_758_I(s, p, o, m) -# define BOOST_PP_FOR_759(s, p, o, m) BOOST_PP_FOR_759_I(s, p, o, m) -# define BOOST_PP_FOR_760(s, p, o, m) BOOST_PP_FOR_760_I(s, p, o, m) -# define BOOST_PP_FOR_761(s, p, o, m) BOOST_PP_FOR_761_I(s, p, o, m) -# define BOOST_PP_FOR_762(s, p, o, m) BOOST_PP_FOR_762_I(s, p, o, m) -# define BOOST_PP_FOR_763(s, p, o, m) BOOST_PP_FOR_763_I(s, p, o, m) -# define BOOST_PP_FOR_764(s, p, o, m) BOOST_PP_FOR_764_I(s, p, o, m) -# define BOOST_PP_FOR_765(s, p, o, m) BOOST_PP_FOR_765_I(s, p, o, m) -# define BOOST_PP_FOR_766(s, p, o, m) BOOST_PP_FOR_766_I(s, p, o, m) -# define BOOST_PP_FOR_767(s, p, o, m) BOOST_PP_FOR_767_I(s, p, o, m) -# define BOOST_PP_FOR_768(s, p, o, m) BOOST_PP_FOR_768_I(s, p, o, m) -# define BOOST_PP_FOR_769(s, p, o, m) BOOST_PP_FOR_769_I(s, p, o, m) -# define BOOST_PP_FOR_770(s, p, o, m) BOOST_PP_FOR_770_I(s, p, o, m) -# define BOOST_PP_FOR_771(s, p, o, m) BOOST_PP_FOR_771_I(s, p, o, m) -# define BOOST_PP_FOR_772(s, p, o, m) BOOST_PP_FOR_772_I(s, p, o, m) -# define BOOST_PP_FOR_773(s, p, o, m) BOOST_PP_FOR_773_I(s, p, o, m) -# define BOOST_PP_FOR_774(s, p, o, m) BOOST_PP_FOR_774_I(s, p, o, m) -# define BOOST_PP_FOR_775(s, p, o, m) BOOST_PP_FOR_775_I(s, p, o, m) -# define BOOST_PP_FOR_776(s, p, o, m) BOOST_PP_FOR_776_I(s, p, o, m) -# define BOOST_PP_FOR_777(s, p, o, m) BOOST_PP_FOR_777_I(s, p, o, m) -# define BOOST_PP_FOR_778(s, p, o, m) BOOST_PP_FOR_778_I(s, p, o, m) -# define BOOST_PP_FOR_779(s, p, o, m) BOOST_PP_FOR_779_I(s, p, o, m) -# define BOOST_PP_FOR_780(s, p, o, m) BOOST_PP_FOR_780_I(s, p, o, m) -# define BOOST_PP_FOR_781(s, p, o, m) BOOST_PP_FOR_781_I(s, p, o, m) -# define BOOST_PP_FOR_782(s, p, o, m) BOOST_PP_FOR_782_I(s, p, o, m) -# define BOOST_PP_FOR_783(s, p, o, m) BOOST_PP_FOR_783_I(s, p, o, m) -# define BOOST_PP_FOR_784(s, p, o, m) BOOST_PP_FOR_784_I(s, p, o, m) -# define BOOST_PP_FOR_785(s, p, o, m) BOOST_PP_FOR_785_I(s, p, o, m) -# define BOOST_PP_FOR_786(s, p, o, m) BOOST_PP_FOR_786_I(s, p, o, m) -# define BOOST_PP_FOR_787(s, p, o, m) BOOST_PP_FOR_787_I(s, p, o, m) -# define BOOST_PP_FOR_788(s, p, o, m) BOOST_PP_FOR_788_I(s, p, o, m) -# define BOOST_PP_FOR_789(s, p, o, m) BOOST_PP_FOR_789_I(s, p, o, m) -# define BOOST_PP_FOR_790(s, p, o, m) BOOST_PP_FOR_790_I(s, p, o, m) -# define BOOST_PP_FOR_791(s, p, o, m) BOOST_PP_FOR_791_I(s, p, o, m) -# define BOOST_PP_FOR_792(s, p, o, m) BOOST_PP_FOR_792_I(s, p, o, m) -# define BOOST_PP_FOR_793(s, p, o, m) BOOST_PP_FOR_793_I(s, p, o, m) -# define BOOST_PP_FOR_794(s, p, o, m) BOOST_PP_FOR_794_I(s, p, o, m) -# define BOOST_PP_FOR_795(s, p, o, m) BOOST_PP_FOR_795_I(s, p, o, m) -# define BOOST_PP_FOR_796(s, p, o, m) BOOST_PP_FOR_796_I(s, p, o, m) -# define BOOST_PP_FOR_797(s, p, o, m) BOOST_PP_FOR_797_I(s, p, o, m) -# define BOOST_PP_FOR_798(s, p, o, m) BOOST_PP_FOR_798_I(s, p, o, m) -# define BOOST_PP_FOR_799(s, p, o, m) BOOST_PP_FOR_799_I(s, p, o, m) -# define BOOST_PP_FOR_800(s, p, o, m) BOOST_PP_FOR_800_I(s, p, o, m) -# define BOOST_PP_FOR_801(s, p, o, m) BOOST_PP_FOR_801_I(s, p, o, m) -# define BOOST_PP_FOR_802(s, p, o, m) BOOST_PP_FOR_802_I(s, p, o, m) -# define BOOST_PP_FOR_803(s, p, o, m) BOOST_PP_FOR_803_I(s, p, o, m) -# define BOOST_PP_FOR_804(s, p, o, m) BOOST_PP_FOR_804_I(s, p, o, m) -# define BOOST_PP_FOR_805(s, p, o, m) BOOST_PP_FOR_805_I(s, p, o, m) -# define BOOST_PP_FOR_806(s, p, o, m) BOOST_PP_FOR_806_I(s, p, o, m) -# define BOOST_PP_FOR_807(s, p, o, m) BOOST_PP_FOR_807_I(s, p, o, m) -# define BOOST_PP_FOR_808(s, p, o, m) BOOST_PP_FOR_808_I(s, p, o, m) -# define BOOST_PP_FOR_809(s, p, o, m) BOOST_PP_FOR_809_I(s, p, o, m) -# define BOOST_PP_FOR_810(s, p, o, m) BOOST_PP_FOR_810_I(s, p, o, m) -# define BOOST_PP_FOR_811(s, p, o, m) BOOST_PP_FOR_811_I(s, p, o, m) -# define BOOST_PP_FOR_812(s, p, o, m) BOOST_PP_FOR_812_I(s, p, o, m) -# define BOOST_PP_FOR_813(s, p, o, m) BOOST_PP_FOR_813_I(s, p, o, m) -# define BOOST_PP_FOR_814(s, p, o, m) BOOST_PP_FOR_814_I(s, p, o, m) -# define BOOST_PP_FOR_815(s, p, o, m) BOOST_PP_FOR_815_I(s, p, o, m) -# define BOOST_PP_FOR_816(s, p, o, m) BOOST_PP_FOR_816_I(s, p, o, m) -# define BOOST_PP_FOR_817(s, p, o, m) BOOST_PP_FOR_817_I(s, p, o, m) -# define BOOST_PP_FOR_818(s, p, o, m) BOOST_PP_FOR_818_I(s, p, o, m) -# define BOOST_PP_FOR_819(s, p, o, m) BOOST_PP_FOR_819_I(s, p, o, m) -# define BOOST_PP_FOR_820(s, p, o, m) BOOST_PP_FOR_820_I(s, p, o, m) -# define BOOST_PP_FOR_821(s, p, o, m) BOOST_PP_FOR_821_I(s, p, o, m) -# define BOOST_PP_FOR_822(s, p, o, m) BOOST_PP_FOR_822_I(s, p, o, m) -# define BOOST_PP_FOR_823(s, p, o, m) BOOST_PP_FOR_823_I(s, p, o, m) -# define BOOST_PP_FOR_824(s, p, o, m) BOOST_PP_FOR_824_I(s, p, o, m) -# define BOOST_PP_FOR_825(s, p, o, m) BOOST_PP_FOR_825_I(s, p, o, m) -# define BOOST_PP_FOR_826(s, p, o, m) BOOST_PP_FOR_826_I(s, p, o, m) -# define BOOST_PP_FOR_827(s, p, o, m) BOOST_PP_FOR_827_I(s, p, o, m) -# define BOOST_PP_FOR_828(s, p, o, m) BOOST_PP_FOR_828_I(s, p, o, m) -# define BOOST_PP_FOR_829(s, p, o, m) BOOST_PP_FOR_829_I(s, p, o, m) -# define BOOST_PP_FOR_830(s, p, o, m) BOOST_PP_FOR_830_I(s, p, o, m) -# define BOOST_PP_FOR_831(s, p, o, m) BOOST_PP_FOR_831_I(s, p, o, m) -# define BOOST_PP_FOR_832(s, p, o, m) BOOST_PP_FOR_832_I(s, p, o, m) -# define BOOST_PP_FOR_833(s, p, o, m) BOOST_PP_FOR_833_I(s, p, o, m) -# define BOOST_PP_FOR_834(s, p, o, m) BOOST_PP_FOR_834_I(s, p, o, m) -# define BOOST_PP_FOR_835(s, p, o, m) BOOST_PP_FOR_835_I(s, p, o, m) -# define BOOST_PP_FOR_836(s, p, o, m) BOOST_PP_FOR_836_I(s, p, o, m) -# define BOOST_PP_FOR_837(s, p, o, m) BOOST_PP_FOR_837_I(s, p, o, m) -# define BOOST_PP_FOR_838(s, p, o, m) BOOST_PP_FOR_838_I(s, p, o, m) -# define BOOST_PP_FOR_839(s, p, o, m) BOOST_PP_FOR_839_I(s, p, o, m) -# define BOOST_PP_FOR_840(s, p, o, m) BOOST_PP_FOR_840_I(s, p, o, m) -# define BOOST_PP_FOR_841(s, p, o, m) BOOST_PP_FOR_841_I(s, p, o, m) -# define BOOST_PP_FOR_842(s, p, o, m) BOOST_PP_FOR_842_I(s, p, o, m) -# define BOOST_PP_FOR_843(s, p, o, m) BOOST_PP_FOR_843_I(s, p, o, m) -# define BOOST_PP_FOR_844(s, p, o, m) BOOST_PP_FOR_844_I(s, p, o, m) -# define BOOST_PP_FOR_845(s, p, o, m) BOOST_PP_FOR_845_I(s, p, o, m) -# define BOOST_PP_FOR_846(s, p, o, m) BOOST_PP_FOR_846_I(s, p, o, m) -# define BOOST_PP_FOR_847(s, p, o, m) BOOST_PP_FOR_847_I(s, p, o, m) -# define BOOST_PP_FOR_848(s, p, o, m) BOOST_PP_FOR_848_I(s, p, o, m) -# define BOOST_PP_FOR_849(s, p, o, m) BOOST_PP_FOR_849_I(s, p, o, m) -# define BOOST_PP_FOR_850(s, p, o, m) BOOST_PP_FOR_850_I(s, p, o, m) -# define BOOST_PP_FOR_851(s, p, o, m) BOOST_PP_FOR_851_I(s, p, o, m) -# define BOOST_PP_FOR_852(s, p, o, m) BOOST_PP_FOR_852_I(s, p, o, m) -# define BOOST_PP_FOR_853(s, p, o, m) BOOST_PP_FOR_853_I(s, p, o, m) -# define BOOST_PP_FOR_854(s, p, o, m) BOOST_PP_FOR_854_I(s, p, o, m) -# define BOOST_PP_FOR_855(s, p, o, m) BOOST_PP_FOR_855_I(s, p, o, m) -# define BOOST_PP_FOR_856(s, p, o, m) BOOST_PP_FOR_856_I(s, p, o, m) -# define BOOST_PP_FOR_857(s, p, o, m) BOOST_PP_FOR_857_I(s, p, o, m) -# define BOOST_PP_FOR_858(s, p, o, m) BOOST_PP_FOR_858_I(s, p, o, m) -# define BOOST_PP_FOR_859(s, p, o, m) BOOST_PP_FOR_859_I(s, p, o, m) -# define BOOST_PP_FOR_860(s, p, o, m) BOOST_PP_FOR_860_I(s, p, o, m) -# define BOOST_PP_FOR_861(s, p, o, m) BOOST_PP_FOR_861_I(s, p, o, m) -# define BOOST_PP_FOR_862(s, p, o, m) BOOST_PP_FOR_862_I(s, p, o, m) -# define BOOST_PP_FOR_863(s, p, o, m) BOOST_PP_FOR_863_I(s, p, o, m) -# define BOOST_PP_FOR_864(s, p, o, m) BOOST_PP_FOR_864_I(s, p, o, m) -# define BOOST_PP_FOR_865(s, p, o, m) BOOST_PP_FOR_865_I(s, p, o, m) -# define BOOST_PP_FOR_866(s, p, o, m) BOOST_PP_FOR_866_I(s, p, o, m) -# define BOOST_PP_FOR_867(s, p, o, m) BOOST_PP_FOR_867_I(s, p, o, m) -# define BOOST_PP_FOR_868(s, p, o, m) BOOST_PP_FOR_868_I(s, p, o, m) -# define BOOST_PP_FOR_869(s, p, o, m) BOOST_PP_FOR_869_I(s, p, o, m) -# define BOOST_PP_FOR_870(s, p, o, m) BOOST_PP_FOR_870_I(s, p, o, m) -# define BOOST_PP_FOR_871(s, p, o, m) BOOST_PP_FOR_871_I(s, p, o, m) -# define BOOST_PP_FOR_872(s, p, o, m) BOOST_PP_FOR_872_I(s, p, o, m) -# define BOOST_PP_FOR_873(s, p, o, m) BOOST_PP_FOR_873_I(s, p, o, m) -# define BOOST_PP_FOR_874(s, p, o, m) BOOST_PP_FOR_874_I(s, p, o, m) -# define BOOST_PP_FOR_875(s, p, o, m) BOOST_PP_FOR_875_I(s, p, o, m) -# define BOOST_PP_FOR_876(s, p, o, m) BOOST_PP_FOR_876_I(s, p, o, m) -# define BOOST_PP_FOR_877(s, p, o, m) BOOST_PP_FOR_877_I(s, p, o, m) -# define BOOST_PP_FOR_878(s, p, o, m) BOOST_PP_FOR_878_I(s, p, o, m) -# define BOOST_PP_FOR_879(s, p, o, m) BOOST_PP_FOR_879_I(s, p, o, m) -# define BOOST_PP_FOR_880(s, p, o, m) BOOST_PP_FOR_880_I(s, p, o, m) -# define BOOST_PP_FOR_881(s, p, o, m) BOOST_PP_FOR_881_I(s, p, o, m) -# define BOOST_PP_FOR_882(s, p, o, m) BOOST_PP_FOR_882_I(s, p, o, m) -# define BOOST_PP_FOR_883(s, p, o, m) BOOST_PP_FOR_883_I(s, p, o, m) -# define BOOST_PP_FOR_884(s, p, o, m) BOOST_PP_FOR_884_I(s, p, o, m) -# define BOOST_PP_FOR_885(s, p, o, m) BOOST_PP_FOR_885_I(s, p, o, m) -# define BOOST_PP_FOR_886(s, p, o, m) BOOST_PP_FOR_886_I(s, p, o, m) -# define BOOST_PP_FOR_887(s, p, o, m) BOOST_PP_FOR_887_I(s, p, o, m) -# define BOOST_PP_FOR_888(s, p, o, m) BOOST_PP_FOR_888_I(s, p, o, m) -# define BOOST_PP_FOR_889(s, p, o, m) BOOST_PP_FOR_889_I(s, p, o, m) -# define BOOST_PP_FOR_890(s, p, o, m) BOOST_PP_FOR_890_I(s, p, o, m) -# define BOOST_PP_FOR_891(s, p, o, m) BOOST_PP_FOR_891_I(s, p, o, m) -# define BOOST_PP_FOR_892(s, p, o, m) BOOST_PP_FOR_892_I(s, p, o, m) -# define BOOST_PP_FOR_893(s, p, o, m) BOOST_PP_FOR_893_I(s, p, o, m) -# define BOOST_PP_FOR_894(s, p, o, m) BOOST_PP_FOR_894_I(s, p, o, m) -# define BOOST_PP_FOR_895(s, p, o, m) BOOST_PP_FOR_895_I(s, p, o, m) -# define BOOST_PP_FOR_896(s, p, o, m) BOOST_PP_FOR_896_I(s, p, o, m) -# define BOOST_PP_FOR_897(s, p, o, m) BOOST_PP_FOR_897_I(s, p, o, m) -# define BOOST_PP_FOR_898(s, p, o, m) BOOST_PP_FOR_898_I(s, p, o, m) -# define BOOST_PP_FOR_899(s, p, o, m) BOOST_PP_FOR_899_I(s, p, o, m) -# define BOOST_PP_FOR_900(s, p, o, m) BOOST_PP_FOR_900_I(s, p, o, m) -# define BOOST_PP_FOR_901(s, p, o, m) BOOST_PP_FOR_901_I(s, p, o, m) -# define BOOST_PP_FOR_902(s, p, o, m) BOOST_PP_FOR_902_I(s, p, o, m) -# define BOOST_PP_FOR_903(s, p, o, m) BOOST_PP_FOR_903_I(s, p, o, m) -# define BOOST_PP_FOR_904(s, p, o, m) BOOST_PP_FOR_904_I(s, p, o, m) -# define BOOST_PP_FOR_905(s, p, o, m) BOOST_PP_FOR_905_I(s, p, o, m) -# define BOOST_PP_FOR_906(s, p, o, m) BOOST_PP_FOR_906_I(s, p, o, m) -# define BOOST_PP_FOR_907(s, p, o, m) BOOST_PP_FOR_907_I(s, p, o, m) -# define BOOST_PP_FOR_908(s, p, o, m) BOOST_PP_FOR_908_I(s, p, o, m) -# define BOOST_PP_FOR_909(s, p, o, m) BOOST_PP_FOR_909_I(s, p, o, m) -# define BOOST_PP_FOR_910(s, p, o, m) BOOST_PP_FOR_910_I(s, p, o, m) -# define BOOST_PP_FOR_911(s, p, o, m) BOOST_PP_FOR_911_I(s, p, o, m) -# define BOOST_PP_FOR_912(s, p, o, m) BOOST_PP_FOR_912_I(s, p, o, m) -# define BOOST_PP_FOR_913(s, p, o, m) BOOST_PP_FOR_913_I(s, p, o, m) -# define BOOST_PP_FOR_914(s, p, o, m) BOOST_PP_FOR_914_I(s, p, o, m) -# define BOOST_PP_FOR_915(s, p, o, m) BOOST_PP_FOR_915_I(s, p, o, m) -# define BOOST_PP_FOR_916(s, p, o, m) BOOST_PP_FOR_916_I(s, p, o, m) -# define BOOST_PP_FOR_917(s, p, o, m) BOOST_PP_FOR_917_I(s, p, o, m) -# define BOOST_PP_FOR_918(s, p, o, m) BOOST_PP_FOR_918_I(s, p, o, m) -# define BOOST_PP_FOR_919(s, p, o, m) BOOST_PP_FOR_919_I(s, p, o, m) -# define BOOST_PP_FOR_920(s, p, o, m) BOOST_PP_FOR_920_I(s, p, o, m) -# define BOOST_PP_FOR_921(s, p, o, m) BOOST_PP_FOR_921_I(s, p, o, m) -# define BOOST_PP_FOR_922(s, p, o, m) BOOST_PP_FOR_922_I(s, p, o, m) -# define BOOST_PP_FOR_923(s, p, o, m) BOOST_PP_FOR_923_I(s, p, o, m) -# define BOOST_PP_FOR_924(s, p, o, m) BOOST_PP_FOR_924_I(s, p, o, m) -# define BOOST_PP_FOR_925(s, p, o, m) BOOST_PP_FOR_925_I(s, p, o, m) -# define BOOST_PP_FOR_926(s, p, o, m) BOOST_PP_FOR_926_I(s, p, o, m) -# define BOOST_PP_FOR_927(s, p, o, m) BOOST_PP_FOR_927_I(s, p, o, m) -# define BOOST_PP_FOR_928(s, p, o, m) BOOST_PP_FOR_928_I(s, p, o, m) -# define BOOST_PP_FOR_929(s, p, o, m) BOOST_PP_FOR_929_I(s, p, o, m) -# define BOOST_PP_FOR_930(s, p, o, m) BOOST_PP_FOR_930_I(s, p, o, m) -# define BOOST_PP_FOR_931(s, p, o, m) BOOST_PP_FOR_931_I(s, p, o, m) -# define BOOST_PP_FOR_932(s, p, o, m) BOOST_PP_FOR_932_I(s, p, o, m) -# define BOOST_PP_FOR_933(s, p, o, m) BOOST_PP_FOR_933_I(s, p, o, m) -# define BOOST_PP_FOR_934(s, p, o, m) BOOST_PP_FOR_934_I(s, p, o, m) -# define BOOST_PP_FOR_935(s, p, o, m) BOOST_PP_FOR_935_I(s, p, o, m) -# define BOOST_PP_FOR_936(s, p, o, m) BOOST_PP_FOR_936_I(s, p, o, m) -# define BOOST_PP_FOR_937(s, p, o, m) BOOST_PP_FOR_937_I(s, p, o, m) -# define BOOST_PP_FOR_938(s, p, o, m) BOOST_PP_FOR_938_I(s, p, o, m) -# define BOOST_PP_FOR_939(s, p, o, m) BOOST_PP_FOR_939_I(s, p, o, m) -# define BOOST_PP_FOR_940(s, p, o, m) BOOST_PP_FOR_940_I(s, p, o, m) -# define BOOST_PP_FOR_941(s, p, o, m) BOOST_PP_FOR_941_I(s, p, o, m) -# define BOOST_PP_FOR_942(s, p, o, m) BOOST_PP_FOR_942_I(s, p, o, m) -# define BOOST_PP_FOR_943(s, p, o, m) BOOST_PP_FOR_943_I(s, p, o, m) -# define BOOST_PP_FOR_944(s, p, o, m) BOOST_PP_FOR_944_I(s, p, o, m) -# define BOOST_PP_FOR_945(s, p, o, m) BOOST_PP_FOR_945_I(s, p, o, m) -# define BOOST_PP_FOR_946(s, p, o, m) BOOST_PP_FOR_946_I(s, p, o, m) -# define BOOST_PP_FOR_947(s, p, o, m) BOOST_PP_FOR_947_I(s, p, o, m) -# define BOOST_PP_FOR_948(s, p, o, m) BOOST_PP_FOR_948_I(s, p, o, m) -# define BOOST_PP_FOR_949(s, p, o, m) BOOST_PP_FOR_949_I(s, p, o, m) -# define BOOST_PP_FOR_950(s, p, o, m) BOOST_PP_FOR_950_I(s, p, o, m) -# define BOOST_PP_FOR_951(s, p, o, m) BOOST_PP_FOR_951_I(s, p, o, m) -# define BOOST_PP_FOR_952(s, p, o, m) BOOST_PP_FOR_952_I(s, p, o, m) -# define BOOST_PP_FOR_953(s, p, o, m) BOOST_PP_FOR_953_I(s, p, o, m) -# define BOOST_PP_FOR_954(s, p, o, m) BOOST_PP_FOR_954_I(s, p, o, m) -# define BOOST_PP_FOR_955(s, p, o, m) BOOST_PP_FOR_955_I(s, p, o, m) -# define BOOST_PP_FOR_956(s, p, o, m) BOOST_PP_FOR_956_I(s, p, o, m) -# define BOOST_PP_FOR_957(s, p, o, m) BOOST_PP_FOR_957_I(s, p, o, m) -# define BOOST_PP_FOR_958(s, p, o, m) BOOST_PP_FOR_958_I(s, p, o, m) -# define BOOST_PP_FOR_959(s, p, o, m) BOOST_PP_FOR_959_I(s, p, o, m) -# define BOOST_PP_FOR_960(s, p, o, m) BOOST_PP_FOR_960_I(s, p, o, m) -# define BOOST_PP_FOR_961(s, p, o, m) BOOST_PP_FOR_961_I(s, p, o, m) -# define BOOST_PP_FOR_962(s, p, o, m) BOOST_PP_FOR_962_I(s, p, o, m) -# define BOOST_PP_FOR_963(s, p, o, m) BOOST_PP_FOR_963_I(s, p, o, m) -# define BOOST_PP_FOR_964(s, p, o, m) BOOST_PP_FOR_964_I(s, p, o, m) -# define BOOST_PP_FOR_965(s, p, o, m) BOOST_PP_FOR_965_I(s, p, o, m) -# define BOOST_PP_FOR_966(s, p, o, m) BOOST_PP_FOR_966_I(s, p, o, m) -# define BOOST_PP_FOR_967(s, p, o, m) BOOST_PP_FOR_967_I(s, p, o, m) -# define BOOST_PP_FOR_968(s, p, o, m) BOOST_PP_FOR_968_I(s, p, o, m) -# define BOOST_PP_FOR_969(s, p, o, m) BOOST_PP_FOR_969_I(s, p, o, m) -# define BOOST_PP_FOR_970(s, p, o, m) BOOST_PP_FOR_970_I(s, p, o, m) -# define BOOST_PP_FOR_971(s, p, o, m) BOOST_PP_FOR_971_I(s, p, o, m) -# define BOOST_PP_FOR_972(s, p, o, m) BOOST_PP_FOR_972_I(s, p, o, m) -# define BOOST_PP_FOR_973(s, p, o, m) BOOST_PP_FOR_973_I(s, p, o, m) -# define BOOST_PP_FOR_974(s, p, o, m) BOOST_PP_FOR_974_I(s, p, o, m) -# define BOOST_PP_FOR_975(s, p, o, m) BOOST_PP_FOR_975_I(s, p, o, m) -# define BOOST_PP_FOR_976(s, p, o, m) BOOST_PP_FOR_976_I(s, p, o, m) -# define BOOST_PP_FOR_977(s, p, o, m) BOOST_PP_FOR_977_I(s, p, o, m) -# define BOOST_PP_FOR_978(s, p, o, m) BOOST_PP_FOR_978_I(s, p, o, m) -# define BOOST_PP_FOR_979(s, p, o, m) BOOST_PP_FOR_979_I(s, p, o, m) -# define BOOST_PP_FOR_980(s, p, o, m) BOOST_PP_FOR_980_I(s, p, o, m) -# define BOOST_PP_FOR_981(s, p, o, m) BOOST_PP_FOR_981_I(s, p, o, m) -# define BOOST_PP_FOR_982(s, p, o, m) BOOST_PP_FOR_982_I(s, p, o, m) -# define BOOST_PP_FOR_983(s, p, o, m) BOOST_PP_FOR_983_I(s, p, o, m) -# define BOOST_PP_FOR_984(s, p, o, m) BOOST_PP_FOR_984_I(s, p, o, m) -# define BOOST_PP_FOR_985(s, p, o, m) BOOST_PP_FOR_985_I(s, p, o, m) -# define BOOST_PP_FOR_986(s, p, o, m) BOOST_PP_FOR_986_I(s, p, o, m) -# define BOOST_PP_FOR_987(s, p, o, m) BOOST_PP_FOR_987_I(s, p, o, m) -# define BOOST_PP_FOR_988(s, p, o, m) BOOST_PP_FOR_988_I(s, p, o, m) -# define BOOST_PP_FOR_989(s, p, o, m) BOOST_PP_FOR_989_I(s, p, o, m) -# define BOOST_PP_FOR_990(s, p, o, m) BOOST_PP_FOR_990_I(s, p, o, m) -# define BOOST_PP_FOR_991(s, p, o, m) BOOST_PP_FOR_991_I(s, p, o, m) -# define BOOST_PP_FOR_992(s, p, o, m) BOOST_PP_FOR_992_I(s, p, o, m) -# define BOOST_PP_FOR_993(s, p, o, m) BOOST_PP_FOR_993_I(s, p, o, m) -# define BOOST_PP_FOR_994(s, p, o, m) BOOST_PP_FOR_994_I(s, p, o, m) -# define BOOST_PP_FOR_995(s, p, o, m) BOOST_PP_FOR_995_I(s, p, o, m) -# define BOOST_PP_FOR_996(s, p, o, m) BOOST_PP_FOR_996_I(s, p, o, m) -# define BOOST_PP_FOR_997(s, p, o, m) BOOST_PP_FOR_997_I(s, p, o, m) -# define BOOST_PP_FOR_998(s, p, o, m) BOOST_PP_FOR_998_I(s, p, o, m) -# define BOOST_PP_FOR_999(s, p, o, m) BOOST_PP_FOR_999_I(s, p, o, m) -# define BOOST_PP_FOR_1000(s, p, o, m) BOOST_PP_FOR_1000_I(s, p, o, m) -# define BOOST_PP_FOR_1001(s, p, o, m) BOOST_PP_FOR_1001_I(s, p, o, m) -# define BOOST_PP_FOR_1002(s, p, o, m) BOOST_PP_FOR_1002_I(s, p, o, m) -# define BOOST_PP_FOR_1003(s, p, o, m) BOOST_PP_FOR_1003_I(s, p, o, m) -# define BOOST_PP_FOR_1004(s, p, o, m) BOOST_PP_FOR_1004_I(s, p, o, m) -# define BOOST_PP_FOR_1005(s, p, o, m) BOOST_PP_FOR_1005_I(s, p, o, m) -# define BOOST_PP_FOR_1006(s, p, o, m) BOOST_PP_FOR_1006_I(s, p, o, m) -# define BOOST_PP_FOR_1007(s, p, o, m) BOOST_PP_FOR_1007_I(s, p, o, m) -# define BOOST_PP_FOR_1008(s, p, o, m) BOOST_PP_FOR_1008_I(s, p, o, m) -# define BOOST_PP_FOR_1009(s, p, o, m) BOOST_PP_FOR_1009_I(s, p, o, m) -# define BOOST_PP_FOR_1010(s, p, o, m) BOOST_PP_FOR_1010_I(s, p, o, m) -# define BOOST_PP_FOR_1011(s, p, o, m) BOOST_PP_FOR_1011_I(s, p, o, m) -# define BOOST_PP_FOR_1012(s, p, o, m) BOOST_PP_FOR_1012_I(s, p, o, m) -# define BOOST_PP_FOR_1013(s, p, o, m) BOOST_PP_FOR_1013_I(s, p, o, m) -# define BOOST_PP_FOR_1014(s, p, o, m) BOOST_PP_FOR_1014_I(s, p, o, m) -# define BOOST_PP_FOR_1015(s, p, o, m) BOOST_PP_FOR_1015_I(s, p, o, m) -# define BOOST_PP_FOR_1016(s, p, o, m) BOOST_PP_FOR_1016_I(s, p, o, m) -# define BOOST_PP_FOR_1017(s, p, o, m) BOOST_PP_FOR_1017_I(s, p, o, m) -# define BOOST_PP_FOR_1018(s, p, o, m) BOOST_PP_FOR_1018_I(s, p, o, m) -# define BOOST_PP_FOR_1019(s, p, o, m) BOOST_PP_FOR_1019_I(s, p, o, m) -# define BOOST_PP_FOR_1020(s, p, o, m) BOOST_PP_FOR_1020_I(s, p, o, m) -# define BOOST_PP_FOR_1021(s, p, o, m) BOOST_PP_FOR_1021_I(s, p, o, m) -# define BOOST_PP_FOR_1022(s, p, o, m) BOOST_PP_FOR_1022_I(s, p, o, m) -# define BOOST_PP_FOR_1023(s, p, o, m) BOOST_PP_FOR_1023_I(s, p, o, m) -# define BOOST_PP_FOR_1024(s, p, o, m) BOOST_PP_FOR_1024_I(s, p, o, m) -# -# define BOOST_PP_FOR_513_I(s, p, o, m) BOOST_PP_IF(p(514, s), m, BOOST_PP_TUPLE_EAT_2)(514, s) BOOST_PP_IF(p(514, s), BOOST_PP_FOR_514, BOOST_PP_TUPLE_EAT_4)(o(514, s), p, o, m) -# define BOOST_PP_FOR_514_I(s, p, o, m) BOOST_PP_IF(p(515, s), m, BOOST_PP_TUPLE_EAT_2)(515, s) BOOST_PP_IF(p(515, s), BOOST_PP_FOR_515, BOOST_PP_TUPLE_EAT_4)(o(515, s), p, o, m) -# define BOOST_PP_FOR_515_I(s, p, o, m) BOOST_PP_IF(p(516, s), m, BOOST_PP_TUPLE_EAT_2)(516, s) BOOST_PP_IF(p(516, s), BOOST_PP_FOR_516, BOOST_PP_TUPLE_EAT_4)(o(516, s), p, o, m) -# define BOOST_PP_FOR_516_I(s, p, o, m) BOOST_PP_IF(p(517, s), m, BOOST_PP_TUPLE_EAT_2)(517, s) BOOST_PP_IF(p(517, s), BOOST_PP_FOR_517, BOOST_PP_TUPLE_EAT_4)(o(517, s), p, o, m) -# define BOOST_PP_FOR_517_I(s, p, o, m) BOOST_PP_IF(p(518, s), m, BOOST_PP_TUPLE_EAT_2)(518, s) BOOST_PP_IF(p(518, s), BOOST_PP_FOR_518, BOOST_PP_TUPLE_EAT_4)(o(518, s), p, o, m) -# define BOOST_PP_FOR_518_I(s, p, o, m) BOOST_PP_IF(p(519, s), m, BOOST_PP_TUPLE_EAT_2)(519, s) BOOST_PP_IF(p(519, s), BOOST_PP_FOR_519, BOOST_PP_TUPLE_EAT_4)(o(519, s), p, o, m) -# define BOOST_PP_FOR_519_I(s, p, o, m) BOOST_PP_IF(p(520, s), m, BOOST_PP_TUPLE_EAT_2)(520, s) BOOST_PP_IF(p(520, s), BOOST_PP_FOR_520, BOOST_PP_TUPLE_EAT_4)(o(520, s), p, o, m) -# define BOOST_PP_FOR_520_I(s, p, o, m) BOOST_PP_IF(p(521, s), m, BOOST_PP_TUPLE_EAT_2)(521, s) BOOST_PP_IF(p(521, s), BOOST_PP_FOR_521, BOOST_PP_TUPLE_EAT_4)(o(521, s), p, o, m) -# define BOOST_PP_FOR_521_I(s, p, o, m) BOOST_PP_IF(p(522, s), m, BOOST_PP_TUPLE_EAT_2)(522, s) BOOST_PP_IF(p(522, s), BOOST_PP_FOR_522, BOOST_PP_TUPLE_EAT_4)(o(522, s), p, o, m) -# define BOOST_PP_FOR_522_I(s, p, o, m) BOOST_PP_IF(p(523, s), m, BOOST_PP_TUPLE_EAT_2)(523, s) BOOST_PP_IF(p(523, s), BOOST_PP_FOR_523, BOOST_PP_TUPLE_EAT_4)(o(523, s), p, o, m) -# define BOOST_PP_FOR_523_I(s, p, o, m) BOOST_PP_IF(p(524, s), m, BOOST_PP_TUPLE_EAT_2)(524, s) BOOST_PP_IF(p(524, s), BOOST_PP_FOR_524, BOOST_PP_TUPLE_EAT_4)(o(524, s), p, o, m) -# define BOOST_PP_FOR_524_I(s, p, o, m) BOOST_PP_IF(p(525, s), m, BOOST_PP_TUPLE_EAT_2)(525, s) BOOST_PP_IF(p(525, s), BOOST_PP_FOR_525, BOOST_PP_TUPLE_EAT_4)(o(525, s), p, o, m) -# define BOOST_PP_FOR_525_I(s, p, o, m) BOOST_PP_IF(p(526, s), m, BOOST_PP_TUPLE_EAT_2)(526, s) BOOST_PP_IF(p(526, s), BOOST_PP_FOR_526, BOOST_PP_TUPLE_EAT_4)(o(526, s), p, o, m) -# define BOOST_PP_FOR_526_I(s, p, o, m) BOOST_PP_IF(p(527, s), m, BOOST_PP_TUPLE_EAT_2)(527, s) BOOST_PP_IF(p(527, s), BOOST_PP_FOR_527, BOOST_PP_TUPLE_EAT_4)(o(527, s), p, o, m) -# define BOOST_PP_FOR_527_I(s, p, o, m) BOOST_PP_IF(p(528, s), m, BOOST_PP_TUPLE_EAT_2)(528, s) BOOST_PP_IF(p(528, s), BOOST_PP_FOR_528, BOOST_PP_TUPLE_EAT_4)(o(528, s), p, o, m) -# define BOOST_PP_FOR_528_I(s, p, o, m) BOOST_PP_IF(p(529, s), m, BOOST_PP_TUPLE_EAT_2)(529, s) BOOST_PP_IF(p(529, s), BOOST_PP_FOR_529, BOOST_PP_TUPLE_EAT_4)(o(529, s), p, o, m) -# define BOOST_PP_FOR_529_I(s, p, o, m) BOOST_PP_IF(p(530, s), m, BOOST_PP_TUPLE_EAT_2)(530, s) BOOST_PP_IF(p(530, s), BOOST_PP_FOR_530, BOOST_PP_TUPLE_EAT_4)(o(530, s), p, o, m) -# define BOOST_PP_FOR_530_I(s, p, o, m) BOOST_PP_IF(p(531, s), m, BOOST_PP_TUPLE_EAT_2)(531, s) BOOST_PP_IF(p(531, s), BOOST_PP_FOR_531, BOOST_PP_TUPLE_EAT_4)(o(531, s), p, o, m) -# define BOOST_PP_FOR_531_I(s, p, o, m) BOOST_PP_IF(p(532, s), m, BOOST_PP_TUPLE_EAT_2)(532, s) BOOST_PP_IF(p(532, s), BOOST_PP_FOR_532, BOOST_PP_TUPLE_EAT_4)(o(532, s), p, o, m) -# define BOOST_PP_FOR_532_I(s, p, o, m) BOOST_PP_IF(p(533, s), m, BOOST_PP_TUPLE_EAT_2)(533, s) BOOST_PP_IF(p(533, s), BOOST_PP_FOR_533, BOOST_PP_TUPLE_EAT_4)(o(533, s), p, o, m) -# define BOOST_PP_FOR_533_I(s, p, o, m) BOOST_PP_IF(p(534, s), m, BOOST_PP_TUPLE_EAT_2)(534, s) BOOST_PP_IF(p(534, s), BOOST_PP_FOR_534, BOOST_PP_TUPLE_EAT_4)(o(534, s), p, o, m) -# define BOOST_PP_FOR_534_I(s, p, o, m) BOOST_PP_IF(p(535, s), m, BOOST_PP_TUPLE_EAT_2)(535, s) BOOST_PP_IF(p(535, s), BOOST_PP_FOR_535, BOOST_PP_TUPLE_EAT_4)(o(535, s), p, o, m) -# define BOOST_PP_FOR_535_I(s, p, o, m) BOOST_PP_IF(p(536, s), m, BOOST_PP_TUPLE_EAT_2)(536, s) BOOST_PP_IF(p(536, s), BOOST_PP_FOR_536, BOOST_PP_TUPLE_EAT_4)(o(536, s), p, o, m) -# define BOOST_PP_FOR_536_I(s, p, o, m) BOOST_PP_IF(p(537, s), m, BOOST_PP_TUPLE_EAT_2)(537, s) BOOST_PP_IF(p(537, s), BOOST_PP_FOR_537, BOOST_PP_TUPLE_EAT_4)(o(537, s), p, o, m) -# define BOOST_PP_FOR_537_I(s, p, o, m) BOOST_PP_IF(p(538, s), m, BOOST_PP_TUPLE_EAT_2)(538, s) BOOST_PP_IF(p(538, s), BOOST_PP_FOR_538, BOOST_PP_TUPLE_EAT_4)(o(538, s), p, o, m) -# define BOOST_PP_FOR_538_I(s, p, o, m) BOOST_PP_IF(p(539, s), m, BOOST_PP_TUPLE_EAT_2)(539, s) BOOST_PP_IF(p(539, s), BOOST_PP_FOR_539, BOOST_PP_TUPLE_EAT_4)(o(539, s), p, o, m) -# define BOOST_PP_FOR_539_I(s, p, o, m) BOOST_PP_IF(p(540, s), m, BOOST_PP_TUPLE_EAT_2)(540, s) BOOST_PP_IF(p(540, s), BOOST_PP_FOR_540, BOOST_PP_TUPLE_EAT_4)(o(540, s), p, o, m) -# define BOOST_PP_FOR_540_I(s, p, o, m) BOOST_PP_IF(p(541, s), m, BOOST_PP_TUPLE_EAT_2)(541, s) BOOST_PP_IF(p(541, s), BOOST_PP_FOR_541, BOOST_PP_TUPLE_EAT_4)(o(541, s), p, o, m) -# define BOOST_PP_FOR_541_I(s, p, o, m) BOOST_PP_IF(p(542, s), m, BOOST_PP_TUPLE_EAT_2)(542, s) BOOST_PP_IF(p(542, s), BOOST_PP_FOR_542, BOOST_PP_TUPLE_EAT_4)(o(542, s), p, o, m) -# define BOOST_PP_FOR_542_I(s, p, o, m) BOOST_PP_IF(p(543, s), m, BOOST_PP_TUPLE_EAT_2)(543, s) BOOST_PP_IF(p(543, s), BOOST_PP_FOR_543, BOOST_PP_TUPLE_EAT_4)(o(543, s), p, o, m) -# define BOOST_PP_FOR_543_I(s, p, o, m) BOOST_PP_IF(p(544, s), m, BOOST_PP_TUPLE_EAT_2)(544, s) BOOST_PP_IF(p(544, s), BOOST_PP_FOR_544, BOOST_PP_TUPLE_EAT_4)(o(544, s), p, o, m) -# define BOOST_PP_FOR_544_I(s, p, o, m) BOOST_PP_IF(p(545, s), m, BOOST_PP_TUPLE_EAT_2)(545, s) BOOST_PP_IF(p(545, s), BOOST_PP_FOR_545, BOOST_PP_TUPLE_EAT_4)(o(545, s), p, o, m) -# define BOOST_PP_FOR_545_I(s, p, o, m) BOOST_PP_IF(p(546, s), m, BOOST_PP_TUPLE_EAT_2)(546, s) BOOST_PP_IF(p(546, s), BOOST_PP_FOR_546, BOOST_PP_TUPLE_EAT_4)(o(546, s), p, o, m) -# define BOOST_PP_FOR_546_I(s, p, o, m) BOOST_PP_IF(p(547, s), m, BOOST_PP_TUPLE_EAT_2)(547, s) BOOST_PP_IF(p(547, s), BOOST_PP_FOR_547, BOOST_PP_TUPLE_EAT_4)(o(547, s), p, o, m) -# define BOOST_PP_FOR_547_I(s, p, o, m) BOOST_PP_IF(p(548, s), m, BOOST_PP_TUPLE_EAT_2)(548, s) BOOST_PP_IF(p(548, s), BOOST_PP_FOR_548, BOOST_PP_TUPLE_EAT_4)(o(548, s), p, o, m) -# define BOOST_PP_FOR_548_I(s, p, o, m) BOOST_PP_IF(p(549, s), m, BOOST_PP_TUPLE_EAT_2)(549, s) BOOST_PP_IF(p(549, s), BOOST_PP_FOR_549, BOOST_PP_TUPLE_EAT_4)(o(549, s), p, o, m) -# define BOOST_PP_FOR_549_I(s, p, o, m) BOOST_PP_IF(p(550, s), m, BOOST_PP_TUPLE_EAT_2)(550, s) BOOST_PP_IF(p(550, s), BOOST_PP_FOR_550, BOOST_PP_TUPLE_EAT_4)(o(550, s), p, o, m) -# define BOOST_PP_FOR_550_I(s, p, o, m) BOOST_PP_IF(p(551, s), m, BOOST_PP_TUPLE_EAT_2)(551, s) BOOST_PP_IF(p(551, s), BOOST_PP_FOR_551, BOOST_PP_TUPLE_EAT_4)(o(551, s), p, o, m) -# define BOOST_PP_FOR_551_I(s, p, o, m) BOOST_PP_IF(p(552, s), m, BOOST_PP_TUPLE_EAT_2)(552, s) BOOST_PP_IF(p(552, s), BOOST_PP_FOR_552, BOOST_PP_TUPLE_EAT_4)(o(552, s), p, o, m) -# define BOOST_PP_FOR_552_I(s, p, o, m) BOOST_PP_IF(p(553, s), m, BOOST_PP_TUPLE_EAT_2)(553, s) BOOST_PP_IF(p(553, s), BOOST_PP_FOR_553, BOOST_PP_TUPLE_EAT_4)(o(553, s), p, o, m) -# define BOOST_PP_FOR_553_I(s, p, o, m) BOOST_PP_IF(p(554, s), m, BOOST_PP_TUPLE_EAT_2)(554, s) BOOST_PP_IF(p(554, s), BOOST_PP_FOR_554, BOOST_PP_TUPLE_EAT_4)(o(554, s), p, o, m) -# define BOOST_PP_FOR_554_I(s, p, o, m) BOOST_PP_IF(p(555, s), m, BOOST_PP_TUPLE_EAT_2)(555, s) BOOST_PP_IF(p(555, s), BOOST_PP_FOR_555, BOOST_PP_TUPLE_EAT_4)(o(555, s), p, o, m) -# define BOOST_PP_FOR_555_I(s, p, o, m) BOOST_PP_IF(p(556, s), m, BOOST_PP_TUPLE_EAT_2)(556, s) BOOST_PP_IF(p(556, s), BOOST_PP_FOR_556, BOOST_PP_TUPLE_EAT_4)(o(556, s), p, o, m) -# define BOOST_PP_FOR_556_I(s, p, o, m) BOOST_PP_IF(p(557, s), m, BOOST_PP_TUPLE_EAT_2)(557, s) BOOST_PP_IF(p(557, s), BOOST_PP_FOR_557, BOOST_PP_TUPLE_EAT_4)(o(557, s), p, o, m) -# define BOOST_PP_FOR_557_I(s, p, o, m) BOOST_PP_IF(p(558, s), m, BOOST_PP_TUPLE_EAT_2)(558, s) BOOST_PP_IF(p(558, s), BOOST_PP_FOR_558, BOOST_PP_TUPLE_EAT_4)(o(558, s), p, o, m) -# define BOOST_PP_FOR_558_I(s, p, o, m) BOOST_PP_IF(p(559, s), m, BOOST_PP_TUPLE_EAT_2)(559, s) BOOST_PP_IF(p(559, s), BOOST_PP_FOR_559, BOOST_PP_TUPLE_EAT_4)(o(559, s), p, o, m) -# define BOOST_PP_FOR_559_I(s, p, o, m) BOOST_PP_IF(p(560, s), m, BOOST_PP_TUPLE_EAT_2)(560, s) BOOST_PP_IF(p(560, s), BOOST_PP_FOR_560, BOOST_PP_TUPLE_EAT_4)(o(560, s), p, o, m) -# define BOOST_PP_FOR_560_I(s, p, o, m) BOOST_PP_IF(p(561, s), m, BOOST_PP_TUPLE_EAT_2)(561, s) BOOST_PP_IF(p(561, s), BOOST_PP_FOR_561, BOOST_PP_TUPLE_EAT_4)(o(561, s), p, o, m) -# define BOOST_PP_FOR_561_I(s, p, o, m) BOOST_PP_IF(p(562, s), m, BOOST_PP_TUPLE_EAT_2)(562, s) BOOST_PP_IF(p(562, s), BOOST_PP_FOR_562, BOOST_PP_TUPLE_EAT_4)(o(562, s), p, o, m) -# define BOOST_PP_FOR_562_I(s, p, o, m) BOOST_PP_IF(p(563, s), m, BOOST_PP_TUPLE_EAT_2)(563, s) BOOST_PP_IF(p(563, s), BOOST_PP_FOR_563, BOOST_PP_TUPLE_EAT_4)(o(563, s), p, o, m) -# define BOOST_PP_FOR_563_I(s, p, o, m) BOOST_PP_IF(p(564, s), m, BOOST_PP_TUPLE_EAT_2)(564, s) BOOST_PP_IF(p(564, s), BOOST_PP_FOR_564, BOOST_PP_TUPLE_EAT_4)(o(564, s), p, o, m) -# define BOOST_PP_FOR_564_I(s, p, o, m) BOOST_PP_IF(p(565, s), m, BOOST_PP_TUPLE_EAT_2)(565, s) BOOST_PP_IF(p(565, s), BOOST_PP_FOR_565, BOOST_PP_TUPLE_EAT_4)(o(565, s), p, o, m) -# define BOOST_PP_FOR_565_I(s, p, o, m) BOOST_PP_IF(p(566, s), m, BOOST_PP_TUPLE_EAT_2)(566, s) BOOST_PP_IF(p(566, s), BOOST_PP_FOR_566, BOOST_PP_TUPLE_EAT_4)(o(566, s), p, o, m) -# define BOOST_PP_FOR_566_I(s, p, o, m) BOOST_PP_IF(p(567, s), m, BOOST_PP_TUPLE_EAT_2)(567, s) BOOST_PP_IF(p(567, s), BOOST_PP_FOR_567, BOOST_PP_TUPLE_EAT_4)(o(567, s), p, o, m) -# define BOOST_PP_FOR_567_I(s, p, o, m) BOOST_PP_IF(p(568, s), m, BOOST_PP_TUPLE_EAT_2)(568, s) BOOST_PP_IF(p(568, s), BOOST_PP_FOR_568, BOOST_PP_TUPLE_EAT_4)(o(568, s), p, o, m) -# define BOOST_PP_FOR_568_I(s, p, o, m) BOOST_PP_IF(p(569, s), m, BOOST_PP_TUPLE_EAT_2)(569, s) BOOST_PP_IF(p(569, s), BOOST_PP_FOR_569, BOOST_PP_TUPLE_EAT_4)(o(569, s), p, o, m) -# define BOOST_PP_FOR_569_I(s, p, o, m) BOOST_PP_IF(p(570, s), m, BOOST_PP_TUPLE_EAT_2)(570, s) BOOST_PP_IF(p(570, s), BOOST_PP_FOR_570, BOOST_PP_TUPLE_EAT_4)(o(570, s), p, o, m) -# define BOOST_PP_FOR_570_I(s, p, o, m) BOOST_PP_IF(p(571, s), m, BOOST_PP_TUPLE_EAT_2)(571, s) BOOST_PP_IF(p(571, s), BOOST_PP_FOR_571, BOOST_PP_TUPLE_EAT_4)(o(571, s), p, o, m) -# define BOOST_PP_FOR_571_I(s, p, o, m) BOOST_PP_IF(p(572, s), m, BOOST_PP_TUPLE_EAT_2)(572, s) BOOST_PP_IF(p(572, s), BOOST_PP_FOR_572, BOOST_PP_TUPLE_EAT_4)(o(572, s), p, o, m) -# define BOOST_PP_FOR_572_I(s, p, o, m) BOOST_PP_IF(p(573, s), m, BOOST_PP_TUPLE_EAT_2)(573, s) BOOST_PP_IF(p(573, s), BOOST_PP_FOR_573, BOOST_PP_TUPLE_EAT_4)(o(573, s), p, o, m) -# define BOOST_PP_FOR_573_I(s, p, o, m) BOOST_PP_IF(p(574, s), m, BOOST_PP_TUPLE_EAT_2)(574, s) BOOST_PP_IF(p(574, s), BOOST_PP_FOR_574, BOOST_PP_TUPLE_EAT_4)(o(574, s), p, o, m) -# define BOOST_PP_FOR_574_I(s, p, o, m) BOOST_PP_IF(p(575, s), m, BOOST_PP_TUPLE_EAT_2)(575, s) BOOST_PP_IF(p(575, s), BOOST_PP_FOR_575, BOOST_PP_TUPLE_EAT_4)(o(575, s), p, o, m) -# define BOOST_PP_FOR_575_I(s, p, o, m) BOOST_PP_IF(p(576, s), m, BOOST_PP_TUPLE_EAT_2)(576, s) BOOST_PP_IF(p(576, s), BOOST_PP_FOR_576, BOOST_PP_TUPLE_EAT_4)(o(576, s), p, o, m) -# define BOOST_PP_FOR_576_I(s, p, o, m) BOOST_PP_IF(p(577, s), m, BOOST_PP_TUPLE_EAT_2)(577, s) BOOST_PP_IF(p(577, s), BOOST_PP_FOR_577, BOOST_PP_TUPLE_EAT_4)(o(577, s), p, o, m) -# define BOOST_PP_FOR_577_I(s, p, o, m) BOOST_PP_IF(p(578, s), m, BOOST_PP_TUPLE_EAT_2)(578, s) BOOST_PP_IF(p(578, s), BOOST_PP_FOR_578, BOOST_PP_TUPLE_EAT_4)(o(578, s), p, o, m) -# define BOOST_PP_FOR_578_I(s, p, o, m) BOOST_PP_IF(p(579, s), m, BOOST_PP_TUPLE_EAT_2)(579, s) BOOST_PP_IF(p(579, s), BOOST_PP_FOR_579, BOOST_PP_TUPLE_EAT_4)(o(579, s), p, o, m) -# define BOOST_PP_FOR_579_I(s, p, o, m) BOOST_PP_IF(p(580, s), m, BOOST_PP_TUPLE_EAT_2)(580, s) BOOST_PP_IF(p(580, s), BOOST_PP_FOR_580, BOOST_PP_TUPLE_EAT_4)(o(580, s), p, o, m) -# define BOOST_PP_FOR_580_I(s, p, o, m) BOOST_PP_IF(p(581, s), m, BOOST_PP_TUPLE_EAT_2)(581, s) BOOST_PP_IF(p(581, s), BOOST_PP_FOR_581, BOOST_PP_TUPLE_EAT_4)(o(581, s), p, o, m) -# define BOOST_PP_FOR_581_I(s, p, o, m) BOOST_PP_IF(p(582, s), m, BOOST_PP_TUPLE_EAT_2)(582, s) BOOST_PP_IF(p(582, s), BOOST_PP_FOR_582, BOOST_PP_TUPLE_EAT_4)(o(582, s), p, o, m) -# define BOOST_PP_FOR_582_I(s, p, o, m) BOOST_PP_IF(p(583, s), m, BOOST_PP_TUPLE_EAT_2)(583, s) BOOST_PP_IF(p(583, s), BOOST_PP_FOR_583, BOOST_PP_TUPLE_EAT_4)(o(583, s), p, o, m) -# define BOOST_PP_FOR_583_I(s, p, o, m) BOOST_PP_IF(p(584, s), m, BOOST_PP_TUPLE_EAT_2)(584, s) BOOST_PP_IF(p(584, s), BOOST_PP_FOR_584, BOOST_PP_TUPLE_EAT_4)(o(584, s), p, o, m) -# define BOOST_PP_FOR_584_I(s, p, o, m) BOOST_PP_IF(p(585, s), m, BOOST_PP_TUPLE_EAT_2)(585, s) BOOST_PP_IF(p(585, s), BOOST_PP_FOR_585, BOOST_PP_TUPLE_EAT_4)(o(585, s), p, o, m) -# define BOOST_PP_FOR_585_I(s, p, o, m) BOOST_PP_IF(p(586, s), m, BOOST_PP_TUPLE_EAT_2)(586, s) BOOST_PP_IF(p(586, s), BOOST_PP_FOR_586, BOOST_PP_TUPLE_EAT_4)(o(586, s), p, o, m) -# define BOOST_PP_FOR_586_I(s, p, o, m) BOOST_PP_IF(p(587, s), m, BOOST_PP_TUPLE_EAT_2)(587, s) BOOST_PP_IF(p(587, s), BOOST_PP_FOR_587, BOOST_PP_TUPLE_EAT_4)(o(587, s), p, o, m) -# define BOOST_PP_FOR_587_I(s, p, o, m) BOOST_PP_IF(p(588, s), m, BOOST_PP_TUPLE_EAT_2)(588, s) BOOST_PP_IF(p(588, s), BOOST_PP_FOR_588, BOOST_PP_TUPLE_EAT_4)(o(588, s), p, o, m) -# define BOOST_PP_FOR_588_I(s, p, o, m) BOOST_PP_IF(p(589, s), m, BOOST_PP_TUPLE_EAT_2)(589, s) BOOST_PP_IF(p(589, s), BOOST_PP_FOR_589, BOOST_PP_TUPLE_EAT_4)(o(589, s), p, o, m) -# define BOOST_PP_FOR_589_I(s, p, o, m) BOOST_PP_IF(p(590, s), m, BOOST_PP_TUPLE_EAT_2)(590, s) BOOST_PP_IF(p(590, s), BOOST_PP_FOR_590, BOOST_PP_TUPLE_EAT_4)(o(590, s), p, o, m) -# define BOOST_PP_FOR_590_I(s, p, o, m) BOOST_PP_IF(p(591, s), m, BOOST_PP_TUPLE_EAT_2)(591, s) BOOST_PP_IF(p(591, s), BOOST_PP_FOR_591, BOOST_PP_TUPLE_EAT_4)(o(591, s), p, o, m) -# define BOOST_PP_FOR_591_I(s, p, o, m) BOOST_PP_IF(p(592, s), m, BOOST_PP_TUPLE_EAT_2)(592, s) BOOST_PP_IF(p(592, s), BOOST_PP_FOR_592, BOOST_PP_TUPLE_EAT_4)(o(592, s), p, o, m) -# define BOOST_PP_FOR_592_I(s, p, o, m) BOOST_PP_IF(p(593, s), m, BOOST_PP_TUPLE_EAT_2)(593, s) BOOST_PP_IF(p(593, s), BOOST_PP_FOR_593, BOOST_PP_TUPLE_EAT_4)(o(593, s), p, o, m) -# define BOOST_PP_FOR_593_I(s, p, o, m) BOOST_PP_IF(p(594, s), m, BOOST_PP_TUPLE_EAT_2)(594, s) BOOST_PP_IF(p(594, s), BOOST_PP_FOR_594, BOOST_PP_TUPLE_EAT_4)(o(594, s), p, o, m) -# define BOOST_PP_FOR_594_I(s, p, o, m) BOOST_PP_IF(p(595, s), m, BOOST_PP_TUPLE_EAT_2)(595, s) BOOST_PP_IF(p(595, s), BOOST_PP_FOR_595, BOOST_PP_TUPLE_EAT_4)(o(595, s), p, o, m) -# define BOOST_PP_FOR_595_I(s, p, o, m) BOOST_PP_IF(p(596, s), m, BOOST_PP_TUPLE_EAT_2)(596, s) BOOST_PP_IF(p(596, s), BOOST_PP_FOR_596, BOOST_PP_TUPLE_EAT_4)(o(596, s), p, o, m) -# define BOOST_PP_FOR_596_I(s, p, o, m) BOOST_PP_IF(p(597, s), m, BOOST_PP_TUPLE_EAT_2)(597, s) BOOST_PP_IF(p(597, s), BOOST_PP_FOR_597, BOOST_PP_TUPLE_EAT_4)(o(597, s), p, o, m) -# define BOOST_PP_FOR_597_I(s, p, o, m) BOOST_PP_IF(p(598, s), m, BOOST_PP_TUPLE_EAT_2)(598, s) BOOST_PP_IF(p(598, s), BOOST_PP_FOR_598, BOOST_PP_TUPLE_EAT_4)(o(598, s), p, o, m) -# define BOOST_PP_FOR_598_I(s, p, o, m) BOOST_PP_IF(p(599, s), m, BOOST_PP_TUPLE_EAT_2)(599, s) BOOST_PP_IF(p(599, s), BOOST_PP_FOR_599, BOOST_PP_TUPLE_EAT_4)(o(599, s), p, o, m) -# define BOOST_PP_FOR_599_I(s, p, o, m) BOOST_PP_IF(p(600, s), m, BOOST_PP_TUPLE_EAT_2)(600, s) BOOST_PP_IF(p(600, s), BOOST_PP_FOR_600, BOOST_PP_TUPLE_EAT_4)(o(600, s), p, o, m) -# define BOOST_PP_FOR_600_I(s, p, o, m) BOOST_PP_IF(p(601, s), m, BOOST_PP_TUPLE_EAT_2)(601, s) BOOST_PP_IF(p(601, s), BOOST_PP_FOR_601, BOOST_PP_TUPLE_EAT_4)(o(601, s), p, o, m) -# define BOOST_PP_FOR_601_I(s, p, o, m) BOOST_PP_IF(p(602, s), m, BOOST_PP_TUPLE_EAT_2)(602, s) BOOST_PP_IF(p(602, s), BOOST_PP_FOR_602, BOOST_PP_TUPLE_EAT_4)(o(602, s), p, o, m) -# define BOOST_PP_FOR_602_I(s, p, o, m) BOOST_PP_IF(p(603, s), m, BOOST_PP_TUPLE_EAT_2)(603, s) BOOST_PP_IF(p(603, s), BOOST_PP_FOR_603, BOOST_PP_TUPLE_EAT_4)(o(603, s), p, o, m) -# define BOOST_PP_FOR_603_I(s, p, o, m) BOOST_PP_IF(p(604, s), m, BOOST_PP_TUPLE_EAT_2)(604, s) BOOST_PP_IF(p(604, s), BOOST_PP_FOR_604, BOOST_PP_TUPLE_EAT_4)(o(604, s), p, o, m) -# define BOOST_PP_FOR_604_I(s, p, o, m) BOOST_PP_IF(p(605, s), m, BOOST_PP_TUPLE_EAT_2)(605, s) BOOST_PP_IF(p(605, s), BOOST_PP_FOR_605, BOOST_PP_TUPLE_EAT_4)(o(605, s), p, o, m) -# define BOOST_PP_FOR_605_I(s, p, o, m) BOOST_PP_IF(p(606, s), m, BOOST_PP_TUPLE_EAT_2)(606, s) BOOST_PP_IF(p(606, s), BOOST_PP_FOR_606, BOOST_PP_TUPLE_EAT_4)(o(606, s), p, o, m) -# define BOOST_PP_FOR_606_I(s, p, o, m) BOOST_PP_IF(p(607, s), m, BOOST_PP_TUPLE_EAT_2)(607, s) BOOST_PP_IF(p(607, s), BOOST_PP_FOR_607, BOOST_PP_TUPLE_EAT_4)(o(607, s), p, o, m) -# define BOOST_PP_FOR_607_I(s, p, o, m) BOOST_PP_IF(p(608, s), m, BOOST_PP_TUPLE_EAT_2)(608, s) BOOST_PP_IF(p(608, s), BOOST_PP_FOR_608, BOOST_PP_TUPLE_EAT_4)(o(608, s), p, o, m) -# define BOOST_PP_FOR_608_I(s, p, o, m) BOOST_PP_IF(p(609, s), m, BOOST_PP_TUPLE_EAT_2)(609, s) BOOST_PP_IF(p(609, s), BOOST_PP_FOR_609, BOOST_PP_TUPLE_EAT_4)(o(609, s), p, o, m) -# define BOOST_PP_FOR_609_I(s, p, o, m) BOOST_PP_IF(p(610, s), m, BOOST_PP_TUPLE_EAT_2)(610, s) BOOST_PP_IF(p(610, s), BOOST_PP_FOR_610, BOOST_PP_TUPLE_EAT_4)(o(610, s), p, o, m) -# define BOOST_PP_FOR_610_I(s, p, o, m) BOOST_PP_IF(p(611, s), m, BOOST_PP_TUPLE_EAT_2)(611, s) BOOST_PP_IF(p(611, s), BOOST_PP_FOR_611, BOOST_PP_TUPLE_EAT_4)(o(611, s), p, o, m) -# define BOOST_PP_FOR_611_I(s, p, o, m) BOOST_PP_IF(p(612, s), m, BOOST_PP_TUPLE_EAT_2)(612, s) BOOST_PP_IF(p(612, s), BOOST_PP_FOR_612, BOOST_PP_TUPLE_EAT_4)(o(612, s), p, o, m) -# define BOOST_PP_FOR_612_I(s, p, o, m) BOOST_PP_IF(p(613, s), m, BOOST_PP_TUPLE_EAT_2)(613, s) BOOST_PP_IF(p(613, s), BOOST_PP_FOR_613, BOOST_PP_TUPLE_EAT_4)(o(613, s), p, o, m) -# define BOOST_PP_FOR_613_I(s, p, o, m) BOOST_PP_IF(p(614, s), m, BOOST_PP_TUPLE_EAT_2)(614, s) BOOST_PP_IF(p(614, s), BOOST_PP_FOR_614, BOOST_PP_TUPLE_EAT_4)(o(614, s), p, o, m) -# define BOOST_PP_FOR_614_I(s, p, o, m) BOOST_PP_IF(p(615, s), m, BOOST_PP_TUPLE_EAT_2)(615, s) BOOST_PP_IF(p(615, s), BOOST_PP_FOR_615, BOOST_PP_TUPLE_EAT_4)(o(615, s), p, o, m) -# define BOOST_PP_FOR_615_I(s, p, o, m) BOOST_PP_IF(p(616, s), m, BOOST_PP_TUPLE_EAT_2)(616, s) BOOST_PP_IF(p(616, s), BOOST_PP_FOR_616, BOOST_PP_TUPLE_EAT_4)(o(616, s), p, o, m) -# define BOOST_PP_FOR_616_I(s, p, o, m) BOOST_PP_IF(p(617, s), m, BOOST_PP_TUPLE_EAT_2)(617, s) BOOST_PP_IF(p(617, s), BOOST_PP_FOR_617, BOOST_PP_TUPLE_EAT_4)(o(617, s), p, o, m) -# define BOOST_PP_FOR_617_I(s, p, o, m) BOOST_PP_IF(p(618, s), m, BOOST_PP_TUPLE_EAT_2)(618, s) BOOST_PP_IF(p(618, s), BOOST_PP_FOR_618, BOOST_PP_TUPLE_EAT_4)(o(618, s), p, o, m) -# define BOOST_PP_FOR_618_I(s, p, o, m) BOOST_PP_IF(p(619, s), m, BOOST_PP_TUPLE_EAT_2)(619, s) BOOST_PP_IF(p(619, s), BOOST_PP_FOR_619, BOOST_PP_TUPLE_EAT_4)(o(619, s), p, o, m) -# define BOOST_PP_FOR_619_I(s, p, o, m) BOOST_PP_IF(p(620, s), m, BOOST_PP_TUPLE_EAT_2)(620, s) BOOST_PP_IF(p(620, s), BOOST_PP_FOR_620, BOOST_PP_TUPLE_EAT_4)(o(620, s), p, o, m) -# define BOOST_PP_FOR_620_I(s, p, o, m) BOOST_PP_IF(p(621, s), m, BOOST_PP_TUPLE_EAT_2)(621, s) BOOST_PP_IF(p(621, s), BOOST_PP_FOR_621, BOOST_PP_TUPLE_EAT_4)(o(621, s), p, o, m) -# define BOOST_PP_FOR_621_I(s, p, o, m) BOOST_PP_IF(p(622, s), m, BOOST_PP_TUPLE_EAT_2)(622, s) BOOST_PP_IF(p(622, s), BOOST_PP_FOR_622, BOOST_PP_TUPLE_EAT_4)(o(622, s), p, o, m) -# define BOOST_PP_FOR_622_I(s, p, o, m) BOOST_PP_IF(p(623, s), m, BOOST_PP_TUPLE_EAT_2)(623, s) BOOST_PP_IF(p(623, s), BOOST_PP_FOR_623, BOOST_PP_TUPLE_EAT_4)(o(623, s), p, o, m) -# define BOOST_PP_FOR_623_I(s, p, o, m) BOOST_PP_IF(p(624, s), m, BOOST_PP_TUPLE_EAT_2)(624, s) BOOST_PP_IF(p(624, s), BOOST_PP_FOR_624, BOOST_PP_TUPLE_EAT_4)(o(624, s), p, o, m) -# define BOOST_PP_FOR_624_I(s, p, o, m) BOOST_PP_IF(p(625, s), m, BOOST_PP_TUPLE_EAT_2)(625, s) BOOST_PP_IF(p(625, s), BOOST_PP_FOR_625, BOOST_PP_TUPLE_EAT_4)(o(625, s), p, o, m) -# define BOOST_PP_FOR_625_I(s, p, o, m) BOOST_PP_IF(p(626, s), m, BOOST_PP_TUPLE_EAT_2)(626, s) BOOST_PP_IF(p(626, s), BOOST_PP_FOR_626, BOOST_PP_TUPLE_EAT_4)(o(626, s), p, o, m) -# define BOOST_PP_FOR_626_I(s, p, o, m) BOOST_PP_IF(p(627, s), m, BOOST_PP_TUPLE_EAT_2)(627, s) BOOST_PP_IF(p(627, s), BOOST_PP_FOR_627, BOOST_PP_TUPLE_EAT_4)(o(627, s), p, o, m) -# define BOOST_PP_FOR_627_I(s, p, o, m) BOOST_PP_IF(p(628, s), m, BOOST_PP_TUPLE_EAT_2)(628, s) BOOST_PP_IF(p(628, s), BOOST_PP_FOR_628, BOOST_PP_TUPLE_EAT_4)(o(628, s), p, o, m) -# define BOOST_PP_FOR_628_I(s, p, o, m) BOOST_PP_IF(p(629, s), m, BOOST_PP_TUPLE_EAT_2)(629, s) BOOST_PP_IF(p(629, s), BOOST_PP_FOR_629, BOOST_PP_TUPLE_EAT_4)(o(629, s), p, o, m) -# define BOOST_PP_FOR_629_I(s, p, o, m) BOOST_PP_IF(p(630, s), m, BOOST_PP_TUPLE_EAT_2)(630, s) BOOST_PP_IF(p(630, s), BOOST_PP_FOR_630, BOOST_PP_TUPLE_EAT_4)(o(630, s), p, o, m) -# define BOOST_PP_FOR_630_I(s, p, o, m) BOOST_PP_IF(p(631, s), m, BOOST_PP_TUPLE_EAT_2)(631, s) BOOST_PP_IF(p(631, s), BOOST_PP_FOR_631, BOOST_PP_TUPLE_EAT_4)(o(631, s), p, o, m) -# define BOOST_PP_FOR_631_I(s, p, o, m) BOOST_PP_IF(p(632, s), m, BOOST_PP_TUPLE_EAT_2)(632, s) BOOST_PP_IF(p(632, s), BOOST_PP_FOR_632, BOOST_PP_TUPLE_EAT_4)(o(632, s), p, o, m) -# define BOOST_PP_FOR_632_I(s, p, o, m) BOOST_PP_IF(p(633, s), m, BOOST_PP_TUPLE_EAT_2)(633, s) BOOST_PP_IF(p(633, s), BOOST_PP_FOR_633, BOOST_PP_TUPLE_EAT_4)(o(633, s), p, o, m) -# define BOOST_PP_FOR_633_I(s, p, o, m) BOOST_PP_IF(p(634, s), m, BOOST_PP_TUPLE_EAT_2)(634, s) BOOST_PP_IF(p(634, s), BOOST_PP_FOR_634, BOOST_PP_TUPLE_EAT_4)(o(634, s), p, o, m) -# define BOOST_PP_FOR_634_I(s, p, o, m) BOOST_PP_IF(p(635, s), m, BOOST_PP_TUPLE_EAT_2)(635, s) BOOST_PP_IF(p(635, s), BOOST_PP_FOR_635, BOOST_PP_TUPLE_EAT_4)(o(635, s), p, o, m) -# define BOOST_PP_FOR_635_I(s, p, o, m) BOOST_PP_IF(p(636, s), m, BOOST_PP_TUPLE_EAT_2)(636, s) BOOST_PP_IF(p(636, s), BOOST_PP_FOR_636, BOOST_PP_TUPLE_EAT_4)(o(636, s), p, o, m) -# define BOOST_PP_FOR_636_I(s, p, o, m) BOOST_PP_IF(p(637, s), m, BOOST_PP_TUPLE_EAT_2)(637, s) BOOST_PP_IF(p(637, s), BOOST_PP_FOR_637, BOOST_PP_TUPLE_EAT_4)(o(637, s), p, o, m) -# define BOOST_PP_FOR_637_I(s, p, o, m) BOOST_PP_IF(p(638, s), m, BOOST_PP_TUPLE_EAT_2)(638, s) BOOST_PP_IF(p(638, s), BOOST_PP_FOR_638, BOOST_PP_TUPLE_EAT_4)(o(638, s), p, o, m) -# define BOOST_PP_FOR_638_I(s, p, o, m) BOOST_PP_IF(p(639, s), m, BOOST_PP_TUPLE_EAT_2)(639, s) BOOST_PP_IF(p(639, s), BOOST_PP_FOR_639, BOOST_PP_TUPLE_EAT_4)(o(639, s), p, o, m) -# define BOOST_PP_FOR_639_I(s, p, o, m) BOOST_PP_IF(p(640, s), m, BOOST_PP_TUPLE_EAT_2)(640, s) BOOST_PP_IF(p(640, s), BOOST_PP_FOR_640, BOOST_PP_TUPLE_EAT_4)(o(640, s), p, o, m) -# define BOOST_PP_FOR_640_I(s, p, o, m) BOOST_PP_IF(p(641, s), m, BOOST_PP_TUPLE_EAT_2)(641, s) BOOST_PP_IF(p(641, s), BOOST_PP_FOR_641, BOOST_PP_TUPLE_EAT_4)(o(641, s), p, o, m) -# define BOOST_PP_FOR_641_I(s, p, o, m) BOOST_PP_IF(p(642, s), m, BOOST_PP_TUPLE_EAT_2)(642, s) BOOST_PP_IF(p(642, s), BOOST_PP_FOR_642, BOOST_PP_TUPLE_EAT_4)(o(642, s), p, o, m) -# define BOOST_PP_FOR_642_I(s, p, o, m) BOOST_PP_IF(p(643, s), m, BOOST_PP_TUPLE_EAT_2)(643, s) BOOST_PP_IF(p(643, s), BOOST_PP_FOR_643, BOOST_PP_TUPLE_EAT_4)(o(643, s), p, o, m) -# define BOOST_PP_FOR_643_I(s, p, o, m) BOOST_PP_IF(p(644, s), m, BOOST_PP_TUPLE_EAT_2)(644, s) BOOST_PP_IF(p(644, s), BOOST_PP_FOR_644, BOOST_PP_TUPLE_EAT_4)(o(644, s), p, o, m) -# define BOOST_PP_FOR_644_I(s, p, o, m) BOOST_PP_IF(p(645, s), m, BOOST_PP_TUPLE_EAT_2)(645, s) BOOST_PP_IF(p(645, s), BOOST_PP_FOR_645, BOOST_PP_TUPLE_EAT_4)(o(645, s), p, o, m) -# define BOOST_PP_FOR_645_I(s, p, o, m) BOOST_PP_IF(p(646, s), m, BOOST_PP_TUPLE_EAT_2)(646, s) BOOST_PP_IF(p(646, s), BOOST_PP_FOR_646, BOOST_PP_TUPLE_EAT_4)(o(646, s), p, o, m) -# define BOOST_PP_FOR_646_I(s, p, o, m) BOOST_PP_IF(p(647, s), m, BOOST_PP_TUPLE_EAT_2)(647, s) BOOST_PP_IF(p(647, s), BOOST_PP_FOR_647, BOOST_PP_TUPLE_EAT_4)(o(647, s), p, o, m) -# define BOOST_PP_FOR_647_I(s, p, o, m) BOOST_PP_IF(p(648, s), m, BOOST_PP_TUPLE_EAT_2)(648, s) BOOST_PP_IF(p(648, s), BOOST_PP_FOR_648, BOOST_PP_TUPLE_EAT_4)(o(648, s), p, o, m) -# define BOOST_PP_FOR_648_I(s, p, o, m) BOOST_PP_IF(p(649, s), m, BOOST_PP_TUPLE_EAT_2)(649, s) BOOST_PP_IF(p(649, s), BOOST_PP_FOR_649, BOOST_PP_TUPLE_EAT_4)(o(649, s), p, o, m) -# define BOOST_PP_FOR_649_I(s, p, o, m) BOOST_PP_IF(p(650, s), m, BOOST_PP_TUPLE_EAT_2)(650, s) BOOST_PP_IF(p(650, s), BOOST_PP_FOR_650, BOOST_PP_TUPLE_EAT_4)(o(650, s), p, o, m) -# define BOOST_PP_FOR_650_I(s, p, o, m) BOOST_PP_IF(p(651, s), m, BOOST_PP_TUPLE_EAT_2)(651, s) BOOST_PP_IF(p(651, s), BOOST_PP_FOR_651, BOOST_PP_TUPLE_EAT_4)(o(651, s), p, o, m) -# define BOOST_PP_FOR_651_I(s, p, o, m) BOOST_PP_IF(p(652, s), m, BOOST_PP_TUPLE_EAT_2)(652, s) BOOST_PP_IF(p(652, s), BOOST_PP_FOR_652, BOOST_PP_TUPLE_EAT_4)(o(652, s), p, o, m) -# define BOOST_PP_FOR_652_I(s, p, o, m) BOOST_PP_IF(p(653, s), m, BOOST_PP_TUPLE_EAT_2)(653, s) BOOST_PP_IF(p(653, s), BOOST_PP_FOR_653, BOOST_PP_TUPLE_EAT_4)(o(653, s), p, o, m) -# define BOOST_PP_FOR_653_I(s, p, o, m) BOOST_PP_IF(p(654, s), m, BOOST_PP_TUPLE_EAT_2)(654, s) BOOST_PP_IF(p(654, s), BOOST_PP_FOR_654, BOOST_PP_TUPLE_EAT_4)(o(654, s), p, o, m) -# define BOOST_PP_FOR_654_I(s, p, o, m) BOOST_PP_IF(p(655, s), m, BOOST_PP_TUPLE_EAT_2)(655, s) BOOST_PP_IF(p(655, s), BOOST_PP_FOR_655, BOOST_PP_TUPLE_EAT_4)(o(655, s), p, o, m) -# define BOOST_PP_FOR_655_I(s, p, o, m) BOOST_PP_IF(p(656, s), m, BOOST_PP_TUPLE_EAT_2)(656, s) BOOST_PP_IF(p(656, s), BOOST_PP_FOR_656, BOOST_PP_TUPLE_EAT_4)(o(656, s), p, o, m) -# define BOOST_PP_FOR_656_I(s, p, o, m) BOOST_PP_IF(p(657, s), m, BOOST_PP_TUPLE_EAT_2)(657, s) BOOST_PP_IF(p(657, s), BOOST_PP_FOR_657, BOOST_PP_TUPLE_EAT_4)(o(657, s), p, o, m) -# define BOOST_PP_FOR_657_I(s, p, o, m) BOOST_PP_IF(p(658, s), m, BOOST_PP_TUPLE_EAT_2)(658, s) BOOST_PP_IF(p(658, s), BOOST_PP_FOR_658, BOOST_PP_TUPLE_EAT_4)(o(658, s), p, o, m) -# define BOOST_PP_FOR_658_I(s, p, o, m) BOOST_PP_IF(p(659, s), m, BOOST_PP_TUPLE_EAT_2)(659, s) BOOST_PP_IF(p(659, s), BOOST_PP_FOR_659, BOOST_PP_TUPLE_EAT_4)(o(659, s), p, o, m) -# define BOOST_PP_FOR_659_I(s, p, o, m) BOOST_PP_IF(p(660, s), m, BOOST_PP_TUPLE_EAT_2)(660, s) BOOST_PP_IF(p(660, s), BOOST_PP_FOR_660, BOOST_PP_TUPLE_EAT_4)(o(660, s), p, o, m) -# define BOOST_PP_FOR_660_I(s, p, o, m) BOOST_PP_IF(p(661, s), m, BOOST_PP_TUPLE_EAT_2)(661, s) BOOST_PP_IF(p(661, s), BOOST_PP_FOR_661, BOOST_PP_TUPLE_EAT_4)(o(661, s), p, o, m) -# define BOOST_PP_FOR_661_I(s, p, o, m) BOOST_PP_IF(p(662, s), m, BOOST_PP_TUPLE_EAT_2)(662, s) BOOST_PP_IF(p(662, s), BOOST_PP_FOR_662, BOOST_PP_TUPLE_EAT_4)(o(662, s), p, o, m) -# define BOOST_PP_FOR_662_I(s, p, o, m) BOOST_PP_IF(p(663, s), m, BOOST_PP_TUPLE_EAT_2)(663, s) BOOST_PP_IF(p(663, s), BOOST_PP_FOR_663, BOOST_PP_TUPLE_EAT_4)(o(663, s), p, o, m) -# define BOOST_PP_FOR_663_I(s, p, o, m) BOOST_PP_IF(p(664, s), m, BOOST_PP_TUPLE_EAT_2)(664, s) BOOST_PP_IF(p(664, s), BOOST_PP_FOR_664, BOOST_PP_TUPLE_EAT_4)(o(664, s), p, o, m) -# define BOOST_PP_FOR_664_I(s, p, o, m) BOOST_PP_IF(p(665, s), m, BOOST_PP_TUPLE_EAT_2)(665, s) BOOST_PP_IF(p(665, s), BOOST_PP_FOR_665, BOOST_PP_TUPLE_EAT_4)(o(665, s), p, o, m) -# define BOOST_PP_FOR_665_I(s, p, o, m) BOOST_PP_IF(p(666, s), m, BOOST_PP_TUPLE_EAT_2)(666, s) BOOST_PP_IF(p(666, s), BOOST_PP_FOR_666, BOOST_PP_TUPLE_EAT_4)(o(666, s), p, o, m) -# define BOOST_PP_FOR_666_I(s, p, o, m) BOOST_PP_IF(p(667, s), m, BOOST_PP_TUPLE_EAT_2)(667, s) BOOST_PP_IF(p(667, s), BOOST_PP_FOR_667, BOOST_PP_TUPLE_EAT_4)(o(667, s), p, o, m) -# define BOOST_PP_FOR_667_I(s, p, o, m) BOOST_PP_IF(p(668, s), m, BOOST_PP_TUPLE_EAT_2)(668, s) BOOST_PP_IF(p(668, s), BOOST_PP_FOR_668, BOOST_PP_TUPLE_EAT_4)(o(668, s), p, o, m) -# define BOOST_PP_FOR_668_I(s, p, o, m) BOOST_PP_IF(p(669, s), m, BOOST_PP_TUPLE_EAT_2)(669, s) BOOST_PP_IF(p(669, s), BOOST_PP_FOR_669, BOOST_PP_TUPLE_EAT_4)(o(669, s), p, o, m) -# define BOOST_PP_FOR_669_I(s, p, o, m) BOOST_PP_IF(p(670, s), m, BOOST_PP_TUPLE_EAT_2)(670, s) BOOST_PP_IF(p(670, s), BOOST_PP_FOR_670, BOOST_PP_TUPLE_EAT_4)(o(670, s), p, o, m) -# define BOOST_PP_FOR_670_I(s, p, o, m) BOOST_PP_IF(p(671, s), m, BOOST_PP_TUPLE_EAT_2)(671, s) BOOST_PP_IF(p(671, s), BOOST_PP_FOR_671, BOOST_PP_TUPLE_EAT_4)(o(671, s), p, o, m) -# define BOOST_PP_FOR_671_I(s, p, o, m) BOOST_PP_IF(p(672, s), m, BOOST_PP_TUPLE_EAT_2)(672, s) BOOST_PP_IF(p(672, s), BOOST_PP_FOR_672, BOOST_PP_TUPLE_EAT_4)(o(672, s), p, o, m) -# define BOOST_PP_FOR_672_I(s, p, o, m) BOOST_PP_IF(p(673, s), m, BOOST_PP_TUPLE_EAT_2)(673, s) BOOST_PP_IF(p(673, s), BOOST_PP_FOR_673, BOOST_PP_TUPLE_EAT_4)(o(673, s), p, o, m) -# define BOOST_PP_FOR_673_I(s, p, o, m) BOOST_PP_IF(p(674, s), m, BOOST_PP_TUPLE_EAT_2)(674, s) BOOST_PP_IF(p(674, s), BOOST_PP_FOR_674, BOOST_PP_TUPLE_EAT_4)(o(674, s), p, o, m) -# define BOOST_PP_FOR_674_I(s, p, o, m) BOOST_PP_IF(p(675, s), m, BOOST_PP_TUPLE_EAT_2)(675, s) BOOST_PP_IF(p(675, s), BOOST_PP_FOR_675, BOOST_PP_TUPLE_EAT_4)(o(675, s), p, o, m) -# define BOOST_PP_FOR_675_I(s, p, o, m) BOOST_PP_IF(p(676, s), m, BOOST_PP_TUPLE_EAT_2)(676, s) BOOST_PP_IF(p(676, s), BOOST_PP_FOR_676, BOOST_PP_TUPLE_EAT_4)(o(676, s), p, o, m) -# define BOOST_PP_FOR_676_I(s, p, o, m) BOOST_PP_IF(p(677, s), m, BOOST_PP_TUPLE_EAT_2)(677, s) BOOST_PP_IF(p(677, s), BOOST_PP_FOR_677, BOOST_PP_TUPLE_EAT_4)(o(677, s), p, o, m) -# define BOOST_PP_FOR_677_I(s, p, o, m) BOOST_PP_IF(p(678, s), m, BOOST_PP_TUPLE_EAT_2)(678, s) BOOST_PP_IF(p(678, s), BOOST_PP_FOR_678, BOOST_PP_TUPLE_EAT_4)(o(678, s), p, o, m) -# define BOOST_PP_FOR_678_I(s, p, o, m) BOOST_PP_IF(p(679, s), m, BOOST_PP_TUPLE_EAT_2)(679, s) BOOST_PP_IF(p(679, s), BOOST_PP_FOR_679, BOOST_PP_TUPLE_EAT_4)(o(679, s), p, o, m) -# define BOOST_PP_FOR_679_I(s, p, o, m) BOOST_PP_IF(p(680, s), m, BOOST_PP_TUPLE_EAT_2)(680, s) BOOST_PP_IF(p(680, s), BOOST_PP_FOR_680, BOOST_PP_TUPLE_EAT_4)(o(680, s), p, o, m) -# define BOOST_PP_FOR_680_I(s, p, o, m) BOOST_PP_IF(p(681, s), m, BOOST_PP_TUPLE_EAT_2)(681, s) BOOST_PP_IF(p(681, s), BOOST_PP_FOR_681, BOOST_PP_TUPLE_EAT_4)(o(681, s), p, o, m) -# define BOOST_PP_FOR_681_I(s, p, o, m) BOOST_PP_IF(p(682, s), m, BOOST_PP_TUPLE_EAT_2)(682, s) BOOST_PP_IF(p(682, s), BOOST_PP_FOR_682, BOOST_PP_TUPLE_EAT_4)(o(682, s), p, o, m) -# define BOOST_PP_FOR_682_I(s, p, o, m) BOOST_PP_IF(p(683, s), m, BOOST_PP_TUPLE_EAT_2)(683, s) BOOST_PP_IF(p(683, s), BOOST_PP_FOR_683, BOOST_PP_TUPLE_EAT_4)(o(683, s), p, o, m) -# define BOOST_PP_FOR_683_I(s, p, o, m) BOOST_PP_IF(p(684, s), m, BOOST_PP_TUPLE_EAT_2)(684, s) BOOST_PP_IF(p(684, s), BOOST_PP_FOR_684, BOOST_PP_TUPLE_EAT_4)(o(684, s), p, o, m) -# define BOOST_PP_FOR_684_I(s, p, o, m) BOOST_PP_IF(p(685, s), m, BOOST_PP_TUPLE_EAT_2)(685, s) BOOST_PP_IF(p(685, s), BOOST_PP_FOR_685, BOOST_PP_TUPLE_EAT_4)(o(685, s), p, o, m) -# define BOOST_PP_FOR_685_I(s, p, o, m) BOOST_PP_IF(p(686, s), m, BOOST_PP_TUPLE_EAT_2)(686, s) BOOST_PP_IF(p(686, s), BOOST_PP_FOR_686, BOOST_PP_TUPLE_EAT_4)(o(686, s), p, o, m) -# define BOOST_PP_FOR_686_I(s, p, o, m) BOOST_PP_IF(p(687, s), m, BOOST_PP_TUPLE_EAT_2)(687, s) BOOST_PP_IF(p(687, s), BOOST_PP_FOR_687, BOOST_PP_TUPLE_EAT_4)(o(687, s), p, o, m) -# define BOOST_PP_FOR_687_I(s, p, o, m) BOOST_PP_IF(p(688, s), m, BOOST_PP_TUPLE_EAT_2)(688, s) BOOST_PP_IF(p(688, s), BOOST_PP_FOR_688, BOOST_PP_TUPLE_EAT_4)(o(688, s), p, o, m) -# define BOOST_PP_FOR_688_I(s, p, o, m) BOOST_PP_IF(p(689, s), m, BOOST_PP_TUPLE_EAT_2)(689, s) BOOST_PP_IF(p(689, s), BOOST_PP_FOR_689, BOOST_PP_TUPLE_EAT_4)(o(689, s), p, o, m) -# define BOOST_PP_FOR_689_I(s, p, o, m) BOOST_PP_IF(p(690, s), m, BOOST_PP_TUPLE_EAT_2)(690, s) BOOST_PP_IF(p(690, s), BOOST_PP_FOR_690, BOOST_PP_TUPLE_EAT_4)(o(690, s), p, o, m) -# define BOOST_PP_FOR_690_I(s, p, o, m) BOOST_PP_IF(p(691, s), m, BOOST_PP_TUPLE_EAT_2)(691, s) BOOST_PP_IF(p(691, s), BOOST_PP_FOR_691, BOOST_PP_TUPLE_EAT_4)(o(691, s), p, o, m) -# define BOOST_PP_FOR_691_I(s, p, o, m) BOOST_PP_IF(p(692, s), m, BOOST_PP_TUPLE_EAT_2)(692, s) BOOST_PP_IF(p(692, s), BOOST_PP_FOR_692, BOOST_PP_TUPLE_EAT_4)(o(692, s), p, o, m) -# define BOOST_PP_FOR_692_I(s, p, o, m) BOOST_PP_IF(p(693, s), m, BOOST_PP_TUPLE_EAT_2)(693, s) BOOST_PP_IF(p(693, s), BOOST_PP_FOR_693, BOOST_PP_TUPLE_EAT_4)(o(693, s), p, o, m) -# define BOOST_PP_FOR_693_I(s, p, o, m) BOOST_PP_IF(p(694, s), m, BOOST_PP_TUPLE_EAT_2)(694, s) BOOST_PP_IF(p(694, s), BOOST_PP_FOR_694, BOOST_PP_TUPLE_EAT_4)(o(694, s), p, o, m) -# define BOOST_PP_FOR_694_I(s, p, o, m) BOOST_PP_IF(p(695, s), m, BOOST_PP_TUPLE_EAT_2)(695, s) BOOST_PP_IF(p(695, s), BOOST_PP_FOR_695, BOOST_PP_TUPLE_EAT_4)(o(695, s), p, o, m) -# define BOOST_PP_FOR_695_I(s, p, o, m) BOOST_PP_IF(p(696, s), m, BOOST_PP_TUPLE_EAT_2)(696, s) BOOST_PP_IF(p(696, s), BOOST_PP_FOR_696, BOOST_PP_TUPLE_EAT_4)(o(696, s), p, o, m) -# define BOOST_PP_FOR_696_I(s, p, o, m) BOOST_PP_IF(p(697, s), m, BOOST_PP_TUPLE_EAT_2)(697, s) BOOST_PP_IF(p(697, s), BOOST_PP_FOR_697, BOOST_PP_TUPLE_EAT_4)(o(697, s), p, o, m) -# define BOOST_PP_FOR_697_I(s, p, o, m) BOOST_PP_IF(p(698, s), m, BOOST_PP_TUPLE_EAT_2)(698, s) BOOST_PP_IF(p(698, s), BOOST_PP_FOR_698, BOOST_PP_TUPLE_EAT_4)(o(698, s), p, o, m) -# define BOOST_PP_FOR_698_I(s, p, o, m) BOOST_PP_IF(p(699, s), m, BOOST_PP_TUPLE_EAT_2)(699, s) BOOST_PP_IF(p(699, s), BOOST_PP_FOR_699, BOOST_PP_TUPLE_EAT_4)(o(699, s), p, o, m) -# define BOOST_PP_FOR_699_I(s, p, o, m) BOOST_PP_IF(p(700, s), m, BOOST_PP_TUPLE_EAT_2)(700, s) BOOST_PP_IF(p(700, s), BOOST_PP_FOR_700, BOOST_PP_TUPLE_EAT_4)(o(700, s), p, o, m) -# define BOOST_PP_FOR_700_I(s, p, o, m) BOOST_PP_IF(p(701, s), m, BOOST_PP_TUPLE_EAT_2)(701, s) BOOST_PP_IF(p(701, s), BOOST_PP_FOR_701, BOOST_PP_TUPLE_EAT_4)(o(701, s), p, o, m) -# define BOOST_PP_FOR_701_I(s, p, o, m) BOOST_PP_IF(p(702, s), m, BOOST_PP_TUPLE_EAT_2)(702, s) BOOST_PP_IF(p(702, s), BOOST_PP_FOR_702, BOOST_PP_TUPLE_EAT_4)(o(702, s), p, o, m) -# define BOOST_PP_FOR_702_I(s, p, o, m) BOOST_PP_IF(p(703, s), m, BOOST_PP_TUPLE_EAT_2)(703, s) BOOST_PP_IF(p(703, s), BOOST_PP_FOR_703, BOOST_PP_TUPLE_EAT_4)(o(703, s), p, o, m) -# define BOOST_PP_FOR_703_I(s, p, o, m) BOOST_PP_IF(p(704, s), m, BOOST_PP_TUPLE_EAT_2)(704, s) BOOST_PP_IF(p(704, s), BOOST_PP_FOR_704, BOOST_PP_TUPLE_EAT_4)(o(704, s), p, o, m) -# define BOOST_PP_FOR_704_I(s, p, o, m) BOOST_PP_IF(p(705, s), m, BOOST_PP_TUPLE_EAT_2)(705, s) BOOST_PP_IF(p(705, s), BOOST_PP_FOR_705, BOOST_PP_TUPLE_EAT_4)(o(705, s), p, o, m) -# define BOOST_PP_FOR_705_I(s, p, o, m) BOOST_PP_IF(p(706, s), m, BOOST_PP_TUPLE_EAT_2)(706, s) BOOST_PP_IF(p(706, s), BOOST_PP_FOR_706, BOOST_PP_TUPLE_EAT_4)(o(706, s), p, o, m) -# define BOOST_PP_FOR_706_I(s, p, o, m) BOOST_PP_IF(p(707, s), m, BOOST_PP_TUPLE_EAT_2)(707, s) BOOST_PP_IF(p(707, s), BOOST_PP_FOR_707, BOOST_PP_TUPLE_EAT_4)(o(707, s), p, o, m) -# define BOOST_PP_FOR_707_I(s, p, o, m) BOOST_PP_IF(p(708, s), m, BOOST_PP_TUPLE_EAT_2)(708, s) BOOST_PP_IF(p(708, s), BOOST_PP_FOR_708, BOOST_PP_TUPLE_EAT_4)(o(708, s), p, o, m) -# define BOOST_PP_FOR_708_I(s, p, o, m) BOOST_PP_IF(p(709, s), m, BOOST_PP_TUPLE_EAT_2)(709, s) BOOST_PP_IF(p(709, s), BOOST_PP_FOR_709, BOOST_PP_TUPLE_EAT_4)(o(709, s), p, o, m) -# define BOOST_PP_FOR_709_I(s, p, o, m) BOOST_PP_IF(p(710, s), m, BOOST_PP_TUPLE_EAT_2)(710, s) BOOST_PP_IF(p(710, s), BOOST_PP_FOR_710, BOOST_PP_TUPLE_EAT_4)(o(710, s), p, o, m) -# define BOOST_PP_FOR_710_I(s, p, o, m) BOOST_PP_IF(p(711, s), m, BOOST_PP_TUPLE_EAT_2)(711, s) BOOST_PP_IF(p(711, s), BOOST_PP_FOR_711, BOOST_PP_TUPLE_EAT_4)(o(711, s), p, o, m) -# define BOOST_PP_FOR_711_I(s, p, o, m) BOOST_PP_IF(p(712, s), m, BOOST_PP_TUPLE_EAT_2)(712, s) BOOST_PP_IF(p(712, s), BOOST_PP_FOR_712, BOOST_PP_TUPLE_EAT_4)(o(712, s), p, o, m) -# define BOOST_PP_FOR_712_I(s, p, o, m) BOOST_PP_IF(p(713, s), m, BOOST_PP_TUPLE_EAT_2)(713, s) BOOST_PP_IF(p(713, s), BOOST_PP_FOR_713, BOOST_PP_TUPLE_EAT_4)(o(713, s), p, o, m) -# define BOOST_PP_FOR_713_I(s, p, o, m) BOOST_PP_IF(p(714, s), m, BOOST_PP_TUPLE_EAT_2)(714, s) BOOST_PP_IF(p(714, s), BOOST_PP_FOR_714, BOOST_PP_TUPLE_EAT_4)(o(714, s), p, o, m) -# define BOOST_PP_FOR_714_I(s, p, o, m) BOOST_PP_IF(p(715, s), m, BOOST_PP_TUPLE_EAT_2)(715, s) BOOST_PP_IF(p(715, s), BOOST_PP_FOR_715, BOOST_PP_TUPLE_EAT_4)(o(715, s), p, o, m) -# define BOOST_PP_FOR_715_I(s, p, o, m) BOOST_PP_IF(p(716, s), m, BOOST_PP_TUPLE_EAT_2)(716, s) BOOST_PP_IF(p(716, s), BOOST_PP_FOR_716, BOOST_PP_TUPLE_EAT_4)(o(716, s), p, o, m) -# define BOOST_PP_FOR_716_I(s, p, o, m) BOOST_PP_IF(p(717, s), m, BOOST_PP_TUPLE_EAT_2)(717, s) BOOST_PP_IF(p(717, s), BOOST_PP_FOR_717, BOOST_PP_TUPLE_EAT_4)(o(717, s), p, o, m) -# define BOOST_PP_FOR_717_I(s, p, o, m) BOOST_PP_IF(p(718, s), m, BOOST_PP_TUPLE_EAT_2)(718, s) BOOST_PP_IF(p(718, s), BOOST_PP_FOR_718, BOOST_PP_TUPLE_EAT_4)(o(718, s), p, o, m) -# define BOOST_PP_FOR_718_I(s, p, o, m) BOOST_PP_IF(p(719, s), m, BOOST_PP_TUPLE_EAT_2)(719, s) BOOST_PP_IF(p(719, s), BOOST_PP_FOR_719, BOOST_PP_TUPLE_EAT_4)(o(719, s), p, o, m) -# define BOOST_PP_FOR_719_I(s, p, o, m) BOOST_PP_IF(p(720, s), m, BOOST_PP_TUPLE_EAT_2)(720, s) BOOST_PP_IF(p(720, s), BOOST_PP_FOR_720, BOOST_PP_TUPLE_EAT_4)(o(720, s), p, o, m) -# define BOOST_PP_FOR_720_I(s, p, o, m) BOOST_PP_IF(p(721, s), m, BOOST_PP_TUPLE_EAT_2)(721, s) BOOST_PP_IF(p(721, s), BOOST_PP_FOR_721, BOOST_PP_TUPLE_EAT_4)(o(721, s), p, o, m) -# define BOOST_PP_FOR_721_I(s, p, o, m) BOOST_PP_IF(p(722, s), m, BOOST_PP_TUPLE_EAT_2)(722, s) BOOST_PP_IF(p(722, s), BOOST_PP_FOR_722, BOOST_PP_TUPLE_EAT_4)(o(722, s), p, o, m) -# define BOOST_PP_FOR_722_I(s, p, o, m) BOOST_PP_IF(p(723, s), m, BOOST_PP_TUPLE_EAT_2)(723, s) BOOST_PP_IF(p(723, s), BOOST_PP_FOR_723, BOOST_PP_TUPLE_EAT_4)(o(723, s), p, o, m) -# define BOOST_PP_FOR_723_I(s, p, o, m) BOOST_PP_IF(p(724, s), m, BOOST_PP_TUPLE_EAT_2)(724, s) BOOST_PP_IF(p(724, s), BOOST_PP_FOR_724, BOOST_PP_TUPLE_EAT_4)(o(724, s), p, o, m) -# define BOOST_PP_FOR_724_I(s, p, o, m) BOOST_PP_IF(p(725, s), m, BOOST_PP_TUPLE_EAT_2)(725, s) BOOST_PP_IF(p(725, s), BOOST_PP_FOR_725, BOOST_PP_TUPLE_EAT_4)(o(725, s), p, o, m) -# define BOOST_PP_FOR_725_I(s, p, o, m) BOOST_PP_IF(p(726, s), m, BOOST_PP_TUPLE_EAT_2)(726, s) BOOST_PP_IF(p(726, s), BOOST_PP_FOR_726, BOOST_PP_TUPLE_EAT_4)(o(726, s), p, o, m) -# define BOOST_PP_FOR_726_I(s, p, o, m) BOOST_PP_IF(p(727, s), m, BOOST_PP_TUPLE_EAT_2)(727, s) BOOST_PP_IF(p(727, s), BOOST_PP_FOR_727, BOOST_PP_TUPLE_EAT_4)(o(727, s), p, o, m) -# define BOOST_PP_FOR_727_I(s, p, o, m) BOOST_PP_IF(p(728, s), m, BOOST_PP_TUPLE_EAT_2)(728, s) BOOST_PP_IF(p(728, s), BOOST_PP_FOR_728, BOOST_PP_TUPLE_EAT_4)(o(728, s), p, o, m) -# define BOOST_PP_FOR_728_I(s, p, o, m) BOOST_PP_IF(p(729, s), m, BOOST_PP_TUPLE_EAT_2)(729, s) BOOST_PP_IF(p(729, s), BOOST_PP_FOR_729, BOOST_PP_TUPLE_EAT_4)(o(729, s), p, o, m) -# define BOOST_PP_FOR_729_I(s, p, o, m) BOOST_PP_IF(p(730, s), m, BOOST_PP_TUPLE_EAT_2)(730, s) BOOST_PP_IF(p(730, s), BOOST_PP_FOR_730, BOOST_PP_TUPLE_EAT_4)(o(730, s), p, o, m) -# define BOOST_PP_FOR_730_I(s, p, o, m) BOOST_PP_IF(p(731, s), m, BOOST_PP_TUPLE_EAT_2)(731, s) BOOST_PP_IF(p(731, s), BOOST_PP_FOR_731, BOOST_PP_TUPLE_EAT_4)(o(731, s), p, o, m) -# define BOOST_PP_FOR_731_I(s, p, o, m) BOOST_PP_IF(p(732, s), m, BOOST_PP_TUPLE_EAT_2)(732, s) BOOST_PP_IF(p(732, s), BOOST_PP_FOR_732, BOOST_PP_TUPLE_EAT_4)(o(732, s), p, o, m) -# define BOOST_PP_FOR_732_I(s, p, o, m) BOOST_PP_IF(p(733, s), m, BOOST_PP_TUPLE_EAT_2)(733, s) BOOST_PP_IF(p(733, s), BOOST_PP_FOR_733, BOOST_PP_TUPLE_EAT_4)(o(733, s), p, o, m) -# define BOOST_PP_FOR_733_I(s, p, o, m) BOOST_PP_IF(p(734, s), m, BOOST_PP_TUPLE_EAT_2)(734, s) BOOST_PP_IF(p(734, s), BOOST_PP_FOR_734, BOOST_PP_TUPLE_EAT_4)(o(734, s), p, o, m) -# define BOOST_PP_FOR_734_I(s, p, o, m) BOOST_PP_IF(p(735, s), m, BOOST_PP_TUPLE_EAT_2)(735, s) BOOST_PP_IF(p(735, s), BOOST_PP_FOR_735, BOOST_PP_TUPLE_EAT_4)(o(735, s), p, o, m) -# define BOOST_PP_FOR_735_I(s, p, o, m) BOOST_PP_IF(p(736, s), m, BOOST_PP_TUPLE_EAT_2)(736, s) BOOST_PP_IF(p(736, s), BOOST_PP_FOR_736, BOOST_PP_TUPLE_EAT_4)(o(736, s), p, o, m) -# define BOOST_PP_FOR_736_I(s, p, o, m) BOOST_PP_IF(p(737, s), m, BOOST_PP_TUPLE_EAT_2)(737, s) BOOST_PP_IF(p(737, s), BOOST_PP_FOR_737, BOOST_PP_TUPLE_EAT_4)(o(737, s), p, o, m) -# define BOOST_PP_FOR_737_I(s, p, o, m) BOOST_PP_IF(p(738, s), m, BOOST_PP_TUPLE_EAT_2)(738, s) BOOST_PP_IF(p(738, s), BOOST_PP_FOR_738, BOOST_PP_TUPLE_EAT_4)(o(738, s), p, o, m) -# define BOOST_PP_FOR_738_I(s, p, o, m) BOOST_PP_IF(p(739, s), m, BOOST_PP_TUPLE_EAT_2)(739, s) BOOST_PP_IF(p(739, s), BOOST_PP_FOR_739, BOOST_PP_TUPLE_EAT_4)(o(739, s), p, o, m) -# define BOOST_PP_FOR_739_I(s, p, o, m) BOOST_PP_IF(p(740, s), m, BOOST_PP_TUPLE_EAT_2)(740, s) BOOST_PP_IF(p(740, s), BOOST_PP_FOR_740, BOOST_PP_TUPLE_EAT_4)(o(740, s), p, o, m) -# define BOOST_PP_FOR_740_I(s, p, o, m) BOOST_PP_IF(p(741, s), m, BOOST_PP_TUPLE_EAT_2)(741, s) BOOST_PP_IF(p(741, s), BOOST_PP_FOR_741, BOOST_PP_TUPLE_EAT_4)(o(741, s), p, o, m) -# define BOOST_PP_FOR_741_I(s, p, o, m) BOOST_PP_IF(p(742, s), m, BOOST_PP_TUPLE_EAT_2)(742, s) BOOST_PP_IF(p(742, s), BOOST_PP_FOR_742, BOOST_PP_TUPLE_EAT_4)(o(742, s), p, o, m) -# define BOOST_PP_FOR_742_I(s, p, o, m) BOOST_PP_IF(p(743, s), m, BOOST_PP_TUPLE_EAT_2)(743, s) BOOST_PP_IF(p(743, s), BOOST_PP_FOR_743, BOOST_PP_TUPLE_EAT_4)(o(743, s), p, o, m) -# define BOOST_PP_FOR_743_I(s, p, o, m) BOOST_PP_IF(p(744, s), m, BOOST_PP_TUPLE_EAT_2)(744, s) BOOST_PP_IF(p(744, s), BOOST_PP_FOR_744, BOOST_PP_TUPLE_EAT_4)(o(744, s), p, o, m) -# define BOOST_PP_FOR_744_I(s, p, o, m) BOOST_PP_IF(p(745, s), m, BOOST_PP_TUPLE_EAT_2)(745, s) BOOST_PP_IF(p(745, s), BOOST_PP_FOR_745, BOOST_PP_TUPLE_EAT_4)(o(745, s), p, o, m) -# define BOOST_PP_FOR_745_I(s, p, o, m) BOOST_PP_IF(p(746, s), m, BOOST_PP_TUPLE_EAT_2)(746, s) BOOST_PP_IF(p(746, s), BOOST_PP_FOR_746, BOOST_PP_TUPLE_EAT_4)(o(746, s), p, o, m) -# define BOOST_PP_FOR_746_I(s, p, o, m) BOOST_PP_IF(p(747, s), m, BOOST_PP_TUPLE_EAT_2)(747, s) BOOST_PP_IF(p(747, s), BOOST_PP_FOR_747, BOOST_PP_TUPLE_EAT_4)(o(747, s), p, o, m) -# define BOOST_PP_FOR_747_I(s, p, o, m) BOOST_PP_IF(p(748, s), m, BOOST_PP_TUPLE_EAT_2)(748, s) BOOST_PP_IF(p(748, s), BOOST_PP_FOR_748, BOOST_PP_TUPLE_EAT_4)(o(748, s), p, o, m) -# define BOOST_PP_FOR_748_I(s, p, o, m) BOOST_PP_IF(p(749, s), m, BOOST_PP_TUPLE_EAT_2)(749, s) BOOST_PP_IF(p(749, s), BOOST_PP_FOR_749, BOOST_PP_TUPLE_EAT_4)(o(749, s), p, o, m) -# define BOOST_PP_FOR_749_I(s, p, o, m) BOOST_PP_IF(p(750, s), m, BOOST_PP_TUPLE_EAT_2)(750, s) BOOST_PP_IF(p(750, s), BOOST_PP_FOR_750, BOOST_PP_TUPLE_EAT_4)(o(750, s), p, o, m) -# define BOOST_PP_FOR_750_I(s, p, o, m) BOOST_PP_IF(p(751, s), m, BOOST_PP_TUPLE_EAT_2)(751, s) BOOST_PP_IF(p(751, s), BOOST_PP_FOR_751, BOOST_PP_TUPLE_EAT_4)(o(751, s), p, o, m) -# define BOOST_PP_FOR_751_I(s, p, o, m) BOOST_PP_IF(p(752, s), m, BOOST_PP_TUPLE_EAT_2)(752, s) BOOST_PP_IF(p(752, s), BOOST_PP_FOR_752, BOOST_PP_TUPLE_EAT_4)(o(752, s), p, o, m) -# define BOOST_PP_FOR_752_I(s, p, o, m) BOOST_PP_IF(p(753, s), m, BOOST_PP_TUPLE_EAT_2)(753, s) BOOST_PP_IF(p(753, s), BOOST_PP_FOR_753, BOOST_PP_TUPLE_EAT_4)(o(753, s), p, o, m) -# define BOOST_PP_FOR_753_I(s, p, o, m) BOOST_PP_IF(p(754, s), m, BOOST_PP_TUPLE_EAT_2)(754, s) BOOST_PP_IF(p(754, s), BOOST_PP_FOR_754, BOOST_PP_TUPLE_EAT_4)(o(754, s), p, o, m) -# define BOOST_PP_FOR_754_I(s, p, o, m) BOOST_PP_IF(p(755, s), m, BOOST_PP_TUPLE_EAT_2)(755, s) BOOST_PP_IF(p(755, s), BOOST_PP_FOR_755, BOOST_PP_TUPLE_EAT_4)(o(755, s), p, o, m) -# define BOOST_PP_FOR_755_I(s, p, o, m) BOOST_PP_IF(p(756, s), m, BOOST_PP_TUPLE_EAT_2)(756, s) BOOST_PP_IF(p(756, s), BOOST_PP_FOR_756, BOOST_PP_TUPLE_EAT_4)(o(756, s), p, o, m) -# define BOOST_PP_FOR_756_I(s, p, o, m) BOOST_PP_IF(p(757, s), m, BOOST_PP_TUPLE_EAT_2)(757, s) BOOST_PP_IF(p(757, s), BOOST_PP_FOR_757, BOOST_PP_TUPLE_EAT_4)(o(757, s), p, o, m) -# define BOOST_PP_FOR_757_I(s, p, o, m) BOOST_PP_IF(p(758, s), m, BOOST_PP_TUPLE_EAT_2)(758, s) BOOST_PP_IF(p(758, s), BOOST_PP_FOR_758, BOOST_PP_TUPLE_EAT_4)(o(758, s), p, o, m) -# define BOOST_PP_FOR_758_I(s, p, o, m) BOOST_PP_IF(p(759, s), m, BOOST_PP_TUPLE_EAT_2)(759, s) BOOST_PP_IF(p(759, s), BOOST_PP_FOR_759, BOOST_PP_TUPLE_EAT_4)(o(759, s), p, o, m) -# define BOOST_PP_FOR_759_I(s, p, o, m) BOOST_PP_IF(p(760, s), m, BOOST_PP_TUPLE_EAT_2)(760, s) BOOST_PP_IF(p(760, s), BOOST_PP_FOR_760, BOOST_PP_TUPLE_EAT_4)(o(760, s), p, o, m) -# define BOOST_PP_FOR_760_I(s, p, o, m) BOOST_PP_IF(p(761, s), m, BOOST_PP_TUPLE_EAT_2)(761, s) BOOST_PP_IF(p(761, s), BOOST_PP_FOR_761, BOOST_PP_TUPLE_EAT_4)(o(761, s), p, o, m) -# define BOOST_PP_FOR_761_I(s, p, o, m) BOOST_PP_IF(p(762, s), m, BOOST_PP_TUPLE_EAT_2)(762, s) BOOST_PP_IF(p(762, s), BOOST_PP_FOR_762, BOOST_PP_TUPLE_EAT_4)(o(762, s), p, o, m) -# define BOOST_PP_FOR_762_I(s, p, o, m) BOOST_PP_IF(p(763, s), m, BOOST_PP_TUPLE_EAT_2)(763, s) BOOST_PP_IF(p(763, s), BOOST_PP_FOR_763, BOOST_PP_TUPLE_EAT_4)(o(763, s), p, o, m) -# define BOOST_PP_FOR_763_I(s, p, o, m) BOOST_PP_IF(p(764, s), m, BOOST_PP_TUPLE_EAT_2)(764, s) BOOST_PP_IF(p(764, s), BOOST_PP_FOR_764, BOOST_PP_TUPLE_EAT_4)(o(764, s), p, o, m) -# define BOOST_PP_FOR_764_I(s, p, o, m) BOOST_PP_IF(p(765, s), m, BOOST_PP_TUPLE_EAT_2)(765, s) BOOST_PP_IF(p(765, s), BOOST_PP_FOR_765, BOOST_PP_TUPLE_EAT_4)(o(765, s), p, o, m) -# define BOOST_PP_FOR_765_I(s, p, o, m) BOOST_PP_IF(p(766, s), m, BOOST_PP_TUPLE_EAT_2)(766, s) BOOST_PP_IF(p(766, s), BOOST_PP_FOR_766, BOOST_PP_TUPLE_EAT_4)(o(766, s), p, o, m) -# define BOOST_PP_FOR_766_I(s, p, o, m) BOOST_PP_IF(p(767, s), m, BOOST_PP_TUPLE_EAT_2)(767, s) BOOST_PP_IF(p(767, s), BOOST_PP_FOR_767, BOOST_PP_TUPLE_EAT_4)(o(767, s), p, o, m) -# define BOOST_PP_FOR_767_I(s, p, o, m) BOOST_PP_IF(p(768, s), m, BOOST_PP_TUPLE_EAT_2)(768, s) BOOST_PP_IF(p(768, s), BOOST_PP_FOR_768, BOOST_PP_TUPLE_EAT_4)(o(768, s), p, o, m) -# define BOOST_PP_FOR_768_I(s, p, o, m) BOOST_PP_IF(p(769, s), m, BOOST_PP_TUPLE_EAT_2)(769, s) BOOST_PP_IF(p(769, s), BOOST_PP_FOR_769, BOOST_PP_TUPLE_EAT_4)(o(769, s), p, o, m) -# define BOOST_PP_FOR_769_I(s, p, o, m) BOOST_PP_IF(p(770, s), m, BOOST_PP_TUPLE_EAT_2)(770, s) BOOST_PP_IF(p(770, s), BOOST_PP_FOR_770, BOOST_PP_TUPLE_EAT_4)(o(770, s), p, o, m) -# define BOOST_PP_FOR_770_I(s, p, o, m) BOOST_PP_IF(p(771, s), m, BOOST_PP_TUPLE_EAT_2)(771, s) BOOST_PP_IF(p(771, s), BOOST_PP_FOR_771, BOOST_PP_TUPLE_EAT_4)(o(771, s), p, o, m) -# define BOOST_PP_FOR_771_I(s, p, o, m) BOOST_PP_IF(p(772, s), m, BOOST_PP_TUPLE_EAT_2)(772, s) BOOST_PP_IF(p(772, s), BOOST_PP_FOR_772, BOOST_PP_TUPLE_EAT_4)(o(772, s), p, o, m) -# define BOOST_PP_FOR_772_I(s, p, o, m) BOOST_PP_IF(p(773, s), m, BOOST_PP_TUPLE_EAT_2)(773, s) BOOST_PP_IF(p(773, s), BOOST_PP_FOR_773, BOOST_PP_TUPLE_EAT_4)(o(773, s), p, o, m) -# define BOOST_PP_FOR_773_I(s, p, o, m) BOOST_PP_IF(p(774, s), m, BOOST_PP_TUPLE_EAT_2)(774, s) BOOST_PP_IF(p(774, s), BOOST_PP_FOR_774, BOOST_PP_TUPLE_EAT_4)(o(774, s), p, o, m) -# define BOOST_PP_FOR_774_I(s, p, o, m) BOOST_PP_IF(p(775, s), m, BOOST_PP_TUPLE_EAT_2)(775, s) BOOST_PP_IF(p(775, s), BOOST_PP_FOR_775, BOOST_PP_TUPLE_EAT_4)(o(775, s), p, o, m) -# define BOOST_PP_FOR_775_I(s, p, o, m) BOOST_PP_IF(p(776, s), m, BOOST_PP_TUPLE_EAT_2)(776, s) BOOST_PP_IF(p(776, s), BOOST_PP_FOR_776, BOOST_PP_TUPLE_EAT_4)(o(776, s), p, o, m) -# define BOOST_PP_FOR_776_I(s, p, o, m) BOOST_PP_IF(p(777, s), m, BOOST_PP_TUPLE_EAT_2)(777, s) BOOST_PP_IF(p(777, s), BOOST_PP_FOR_777, BOOST_PP_TUPLE_EAT_4)(o(777, s), p, o, m) -# define BOOST_PP_FOR_777_I(s, p, o, m) BOOST_PP_IF(p(778, s), m, BOOST_PP_TUPLE_EAT_2)(778, s) BOOST_PP_IF(p(778, s), BOOST_PP_FOR_778, BOOST_PP_TUPLE_EAT_4)(o(778, s), p, o, m) -# define BOOST_PP_FOR_778_I(s, p, o, m) BOOST_PP_IF(p(779, s), m, BOOST_PP_TUPLE_EAT_2)(779, s) BOOST_PP_IF(p(779, s), BOOST_PP_FOR_779, BOOST_PP_TUPLE_EAT_4)(o(779, s), p, o, m) -# define BOOST_PP_FOR_779_I(s, p, o, m) BOOST_PP_IF(p(780, s), m, BOOST_PP_TUPLE_EAT_2)(780, s) BOOST_PP_IF(p(780, s), BOOST_PP_FOR_780, BOOST_PP_TUPLE_EAT_4)(o(780, s), p, o, m) -# define BOOST_PP_FOR_780_I(s, p, o, m) BOOST_PP_IF(p(781, s), m, BOOST_PP_TUPLE_EAT_2)(781, s) BOOST_PP_IF(p(781, s), BOOST_PP_FOR_781, BOOST_PP_TUPLE_EAT_4)(o(781, s), p, o, m) -# define BOOST_PP_FOR_781_I(s, p, o, m) BOOST_PP_IF(p(782, s), m, BOOST_PP_TUPLE_EAT_2)(782, s) BOOST_PP_IF(p(782, s), BOOST_PP_FOR_782, BOOST_PP_TUPLE_EAT_4)(o(782, s), p, o, m) -# define BOOST_PP_FOR_782_I(s, p, o, m) BOOST_PP_IF(p(783, s), m, BOOST_PP_TUPLE_EAT_2)(783, s) BOOST_PP_IF(p(783, s), BOOST_PP_FOR_783, BOOST_PP_TUPLE_EAT_4)(o(783, s), p, o, m) -# define BOOST_PP_FOR_783_I(s, p, o, m) BOOST_PP_IF(p(784, s), m, BOOST_PP_TUPLE_EAT_2)(784, s) BOOST_PP_IF(p(784, s), BOOST_PP_FOR_784, BOOST_PP_TUPLE_EAT_4)(o(784, s), p, o, m) -# define BOOST_PP_FOR_784_I(s, p, o, m) BOOST_PP_IF(p(785, s), m, BOOST_PP_TUPLE_EAT_2)(785, s) BOOST_PP_IF(p(785, s), BOOST_PP_FOR_785, BOOST_PP_TUPLE_EAT_4)(o(785, s), p, o, m) -# define BOOST_PP_FOR_785_I(s, p, o, m) BOOST_PP_IF(p(786, s), m, BOOST_PP_TUPLE_EAT_2)(786, s) BOOST_PP_IF(p(786, s), BOOST_PP_FOR_786, BOOST_PP_TUPLE_EAT_4)(o(786, s), p, o, m) -# define BOOST_PP_FOR_786_I(s, p, o, m) BOOST_PP_IF(p(787, s), m, BOOST_PP_TUPLE_EAT_2)(787, s) BOOST_PP_IF(p(787, s), BOOST_PP_FOR_787, BOOST_PP_TUPLE_EAT_4)(o(787, s), p, o, m) -# define BOOST_PP_FOR_787_I(s, p, o, m) BOOST_PP_IF(p(788, s), m, BOOST_PP_TUPLE_EAT_2)(788, s) BOOST_PP_IF(p(788, s), BOOST_PP_FOR_788, BOOST_PP_TUPLE_EAT_4)(o(788, s), p, o, m) -# define BOOST_PP_FOR_788_I(s, p, o, m) BOOST_PP_IF(p(789, s), m, BOOST_PP_TUPLE_EAT_2)(789, s) BOOST_PP_IF(p(789, s), BOOST_PP_FOR_789, BOOST_PP_TUPLE_EAT_4)(o(789, s), p, o, m) -# define BOOST_PP_FOR_789_I(s, p, o, m) BOOST_PP_IF(p(790, s), m, BOOST_PP_TUPLE_EAT_2)(790, s) BOOST_PP_IF(p(790, s), BOOST_PP_FOR_790, BOOST_PP_TUPLE_EAT_4)(o(790, s), p, o, m) -# define BOOST_PP_FOR_790_I(s, p, o, m) BOOST_PP_IF(p(791, s), m, BOOST_PP_TUPLE_EAT_2)(791, s) BOOST_PP_IF(p(791, s), BOOST_PP_FOR_791, BOOST_PP_TUPLE_EAT_4)(o(791, s), p, o, m) -# define BOOST_PP_FOR_791_I(s, p, o, m) BOOST_PP_IF(p(792, s), m, BOOST_PP_TUPLE_EAT_2)(792, s) BOOST_PP_IF(p(792, s), BOOST_PP_FOR_792, BOOST_PP_TUPLE_EAT_4)(o(792, s), p, o, m) -# define BOOST_PP_FOR_792_I(s, p, o, m) BOOST_PP_IF(p(793, s), m, BOOST_PP_TUPLE_EAT_2)(793, s) BOOST_PP_IF(p(793, s), BOOST_PP_FOR_793, BOOST_PP_TUPLE_EAT_4)(o(793, s), p, o, m) -# define BOOST_PP_FOR_793_I(s, p, o, m) BOOST_PP_IF(p(794, s), m, BOOST_PP_TUPLE_EAT_2)(794, s) BOOST_PP_IF(p(794, s), BOOST_PP_FOR_794, BOOST_PP_TUPLE_EAT_4)(o(794, s), p, o, m) -# define BOOST_PP_FOR_794_I(s, p, o, m) BOOST_PP_IF(p(795, s), m, BOOST_PP_TUPLE_EAT_2)(795, s) BOOST_PP_IF(p(795, s), BOOST_PP_FOR_795, BOOST_PP_TUPLE_EAT_4)(o(795, s), p, o, m) -# define BOOST_PP_FOR_795_I(s, p, o, m) BOOST_PP_IF(p(796, s), m, BOOST_PP_TUPLE_EAT_2)(796, s) BOOST_PP_IF(p(796, s), BOOST_PP_FOR_796, BOOST_PP_TUPLE_EAT_4)(o(796, s), p, o, m) -# define BOOST_PP_FOR_796_I(s, p, o, m) BOOST_PP_IF(p(797, s), m, BOOST_PP_TUPLE_EAT_2)(797, s) BOOST_PP_IF(p(797, s), BOOST_PP_FOR_797, BOOST_PP_TUPLE_EAT_4)(o(797, s), p, o, m) -# define BOOST_PP_FOR_797_I(s, p, o, m) BOOST_PP_IF(p(798, s), m, BOOST_PP_TUPLE_EAT_2)(798, s) BOOST_PP_IF(p(798, s), BOOST_PP_FOR_798, BOOST_PP_TUPLE_EAT_4)(o(798, s), p, o, m) -# define BOOST_PP_FOR_798_I(s, p, o, m) BOOST_PP_IF(p(799, s), m, BOOST_PP_TUPLE_EAT_2)(799, s) BOOST_PP_IF(p(799, s), BOOST_PP_FOR_799, BOOST_PP_TUPLE_EAT_4)(o(799, s), p, o, m) -# define BOOST_PP_FOR_799_I(s, p, o, m) BOOST_PP_IF(p(800, s), m, BOOST_PP_TUPLE_EAT_2)(800, s) BOOST_PP_IF(p(800, s), BOOST_PP_FOR_800, BOOST_PP_TUPLE_EAT_4)(o(800, s), p, o, m) -# define BOOST_PP_FOR_800_I(s, p, o, m) BOOST_PP_IF(p(801, s), m, BOOST_PP_TUPLE_EAT_2)(801, s) BOOST_PP_IF(p(801, s), BOOST_PP_FOR_801, BOOST_PP_TUPLE_EAT_4)(o(801, s), p, o, m) -# define BOOST_PP_FOR_801_I(s, p, o, m) BOOST_PP_IF(p(802, s), m, BOOST_PP_TUPLE_EAT_2)(802, s) BOOST_PP_IF(p(802, s), BOOST_PP_FOR_802, BOOST_PP_TUPLE_EAT_4)(o(802, s), p, o, m) -# define BOOST_PP_FOR_802_I(s, p, o, m) BOOST_PP_IF(p(803, s), m, BOOST_PP_TUPLE_EAT_2)(803, s) BOOST_PP_IF(p(803, s), BOOST_PP_FOR_803, BOOST_PP_TUPLE_EAT_4)(o(803, s), p, o, m) -# define BOOST_PP_FOR_803_I(s, p, o, m) BOOST_PP_IF(p(804, s), m, BOOST_PP_TUPLE_EAT_2)(804, s) BOOST_PP_IF(p(804, s), BOOST_PP_FOR_804, BOOST_PP_TUPLE_EAT_4)(o(804, s), p, o, m) -# define BOOST_PP_FOR_804_I(s, p, o, m) BOOST_PP_IF(p(805, s), m, BOOST_PP_TUPLE_EAT_2)(805, s) BOOST_PP_IF(p(805, s), BOOST_PP_FOR_805, BOOST_PP_TUPLE_EAT_4)(o(805, s), p, o, m) -# define BOOST_PP_FOR_805_I(s, p, o, m) BOOST_PP_IF(p(806, s), m, BOOST_PP_TUPLE_EAT_2)(806, s) BOOST_PP_IF(p(806, s), BOOST_PP_FOR_806, BOOST_PP_TUPLE_EAT_4)(o(806, s), p, o, m) -# define BOOST_PP_FOR_806_I(s, p, o, m) BOOST_PP_IF(p(807, s), m, BOOST_PP_TUPLE_EAT_2)(807, s) BOOST_PP_IF(p(807, s), BOOST_PP_FOR_807, BOOST_PP_TUPLE_EAT_4)(o(807, s), p, o, m) -# define BOOST_PP_FOR_807_I(s, p, o, m) BOOST_PP_IF(p(808, s), m, BOOST_PP_TUPLE_EAT_2)(808, s) BOOST_PP_IF(p(808, s), BOOST_PP_FOR_808, BOOST_PP_TUPLE_EAT_4)(o(808, s), p, o, m) -# define BOOST_PP_FOR_808_I(s, p, o, m) BOOST_PP_IF(p(809, s), m, BOOST_PP_TUPLE_EAT_2)(809, s) BOOST_PP_IF(p(809, s), BOOST_PP_FOR_809, BOOST_PP_TUPLE_EAT_4)(o(809, s), p, o, m) -# define BOOST_PP_FOR_809_I(s, p, o, m) BOOST_PP_IF(p(810, s), m, BOOST_PP_TUPLE_EAT_2)(810, s) BOOST_PP_IF(p(810, s), BOOST_PP_FOR_810, BOOST_PP_TUPLE_EAT_4)(o(810, s), p, o, m) -# define BOOST_PP_FOR_810_I(s, p, o, m) BOOST_PP_IF(p(811, s), m, BOOST_PP_TUPLE_EAT_2)(811, s) BOOST_PP_IF(p(811, s), BOOST_PP_FOR_811, BOOST_PP_TUPLE_EAT_4)(o(811, s), p, o, m) -# define BOOST_PP_FOR_811_I(s, p, o, m) BOOST_PP_IF(p(812, s), m, BOOST_PP_TUPLE_EAT_2)(812, s) BOOST_PP_IF(p(812, s), BOOST_PP_FOR_812, BOOST_PP_TUPLE_EAT_4)(o(812, s), p, o, m) -# define BOOST_PP_FOR_812_I(s, p, o, m) BOOST_PP_IF(p(813, s), m, BOOST_PP_TUPLE_EAT_2)(813, s) BOOST_PP_IF(p(813, s), BOOST_PP_FOR_813, BOOST_PP_TUPLE_EAT_4)(o(813, s), p, o, m) -# define BOOST_PP_FOR_813_I(s, p, o, m) BOOST_PP_IF(p(814, s), m, BOOST_PP_TUPLE_EAT_2)(814, s) BOOST_PP_IF(p(814, s), BOOST_PP_FOR_814, BOOST_PP_TUPLE_EAT_4)(o(814, s), p, o, m) -# define BOOST_PP_FOR_814_I(s, p, o, m) BOOST_PP_IF(p(815, s), m, BOOST_PP_TUPLE_EAT_2)(815, s) BOOST_PP_IF(p(815, s), BOOST_PP_FOR_815, BOOST_PP_TUPLE_EAT_4)(o(815, s), p, o, m) -# define BOOST_PP_FOR_815_I(s, p, o, m) BOOST_PP_IF(p(816, s), m, BOOST_PP_TUPLE_EAT_2)(816, s) BOOST_PP_IF(p(816, s), BOOST_PP_FOR_816, BOOST_PP_TUPLE_EAT_4)(o(816, s), p, o, m) -# define BOOST_PP_FOR_816_I(s, p, o, m) BOOST_PP_IF(p(817, s), m, BOOST_PP_TUPLE_EAT_2)(817, s) BOOST_PP_IF(p(817, s), BOOST_PP_FOR_817, BOOST_PP_TUPLE_EAT_4)(o(817, s), p, o, m) -# define BOOST_PP_FOR_817_I(s, p, o, m) BOOST_PP_IF(p(818, s), m, BOOST_PP_TUPLE_EAT_2)(818, s) BOOST_PP_IF(p(818, s), BOOST_PP_FOR_818, BOOST_PP_TUPLE_EAT_4)(o(818, s), p, o, m) -# define BOOST_PP_FOR_818_I(s, p, o, m) BOOST_PP_IF(p(819, s), m, BOOST_PP_TUPLE_EAT_2)(819, s) BOOST_PP_IF(p(819, s), BOOST_PP_FOR_819, BOOST_PP_TUPLE_EAT_4)(o(819, s), p, o, m) -# define BOOST_PP_FOR_819_I(s, p, o, m) BOOST_PP_IF(p(820, s), m, BOOST_PP_TUPLE_EAT_2)(820, s) BOOST_PP_IF(p(820, s), BOOST_PP_FOR_820, BOOST_PP_TUPLE_EAT_4)(o(820, s), p, o, m) -# define BOOST_PP_FOR_820_I(s, p, o, m) BOOST_PP_IF(p(821, s), m, BOOST_PP_TUPLE_EAT_2)(821, s) BOOST_PP_IF(p(821, s), BOOST_PP_FOR_821, BOOST_PP_TUPLE_EAT_4)(o(821, s), p, o, m) -# define BOOST_PP_FOR_821_I(s, p, o, m) BOOST_PP_IF(p(822, s), m, BOOST_PP_TUPLE_EAT_2)(822, s) BOOST_PP_IF(p(822, s), BOOST_PP_FOR_822, BOOST_PP_TUPLE_EAT_4)(o(822, s), p, o, m) -# define BOOST_PP_FOR_822_I(s, p, o, m) BOOST_PP_IF(p(823, s), m, BOOST_PP_TUPLE_EAT_2)(823, s) BOOST_PP_IF(p(823, s), BOOST_PP_FOR_823, BOOST_PP_TUPLE_EAT_4)(o(823, s), p, o, m) -# define BOOST_PP_FOR_823_I(s, p, o, m) BOOST_PP_IF(p(824, s), m, BOOST_PP_TUPLE_EAT_2)(824, s) BOOST_PP_IF(p(824, s), BOOST_PP_FOR_824, BOOST_PP_TUPLE_EAT_4)(o(824, s), p, o, m) -# define BOOST_PP_FOR_824_I(s, p, o, m) BOOST_PP_IF(p(825, s), m, BOOST_PP_TUPLE_EAT_2)(825, s) BOOST_PP_IF(p(825, s), BOOST_PP_FOR_825, BOOST_PP_TUPLE_EAT_4)(o(825, s), p, o, m) -# define BOOST_PP_FOR_825_I(s, p, o, m) BOOST_PP_IF(p(826, s), m, BOOST_PP_TUPLE_EAT_2)(826, s) BOOST_PP_IF(p(826, s), BOOST_PP_FOR_826, BOOST_PP_TUPLE_EAT_4)(o(826, s), p, o, m) -# define BOOST_PP_FOR_826_I(s, p, o, m) BOOST_PP_IF(p(827, s), m, BOOST_PP_TUPLE_EAT_2)(827, s) BOOST_PP_IF(p(827, s), BOOST_PP_FOR_827, BOOST_PP_TUPLE_EAT_4)(o(827, s), p, o, m) -# define BOOST_PP_FOR_827_I(s, p, o, m) BOOST_PP_IF(p(828, s), m, BOOST_PP_TUPLE_EAT_2)(828, s) BOOST_PP_IF(p(828, s), BOOST_PP_FOR_828, BOOST_PP_TUPLE_EAT_4)(o(828, s), p, o, m) -# define BOOST_PP_FOR_828_I(s, p, o, m) BOOST_PP_IF(p(829, s), m, BOOST_PP_TUPLE_EAT_2)(829, s) BOOST_PP_IF(p(829, s), BOOST_PP_FOR_829, BOOST_PP_TUPLE_EAT_4)(o(829, s), p, o, m) -# define BOOST_PP_FOR_829_I(s, p, o, m) BOOST_PP_IF(p(830, s), m, BOOST_PP_TUPLE_EAT_2)(830, s) BOOST_PP_IF(p(830, s), BOOST_PP_FOR_830, BOOST_PP_TUPLE_EAT_4)(o(830, s), p, o, m) -# define BOOST_PP_FOR_830_I(s, p, o, m) BOOST_PP_IF(p(831, s), m, BOOST_PP_TUPLE_EAT_2)(831, s) BOOST_PP_IF(p(831, s), BOOST_PP_FOR_831, BOOST_PP_TUPLE_EAT_4)(o(831, s), p, o, m) -# define BOOST_PP_FOR_831_I(s, p, o, m) BOOST_PP_IF(p(832, s), m, BOOST_PP_TUPLE_EAT_2)(832, s) BOOST_PP_IF(p(832, s), BOOST_PP_FOR_832, BOOST_PP_TUPLE_EAT_4)(o(832, s), p, o, m) -# define BOOST_PP_FOR_832_I(s, p, o, m) BOOST_PP_IF(p(833, s), m, BOOST_PP_TUPLE_EAT_2)(833, s) BOOST_PP_IF(p(833, s), BOOST_PP_FOR_833, BOOST_PP_TUPLE_EAT_4)(o(833, s), p, o, m) -# define BOOST_PP_FOR_833_I(s, p, o, m) BOOST_PP_IF(p(834, s), m, BOOST_PP_TUPLE_EAT_2)(834, s) BOOST_PP_IF(p(834, s), BOOST_PP_FOR_834, BOOST_PP_TUPLE_EAT_4)(o(834, s), p, o, m) -# define BOOST_PP_FOR_834_I(s, p, o, m) BOOST_PP_IF(p(835, s), m, BOOST_PP_TUPLE_EAT_2)(835, s) BOOST_PP_IF(p(835, s), BOOST_PP_FOR_835, BOOST_PP_TUPLE_EAT_4)(o(835, s), p, o, m) -# define BOOST_PP_FOR_835_I(s, p, o, m) BOOST_PP_IF(p(836, s), m, BOOST_PP_TUPLE_EAT_2)(836, s) BOOST_PP_IF(p(836, s), BOOST_PP_FOR_836, BOOST_PP_TUPLE_EAT_4)(o(836, s), p, o, m) -# define BOOST_PP_FOR_836_I(s, p, o, m) BOOST_PP_IF(p(837, s), m, BOOST_PP_TUPLE_EAT_2)(837, s) BOOST_PP_IF(p(837, s), BOOST_PP_FOR_837, BOOST_PP_TUPLE_EAT_4)(o(837, s), p, o, m) -# define BOOST_PP_FOR_837_I(s, p, o, m) BOOST_PP_IF(p(838, s), m, BOOST_PP_TUPLE_EAT_2)(838, s) BOOST_PP_IF(p(838, s), BOOST_PP_FOR_838, BOOST_PP_TUPLE_EAT_4)(o(838, s), p, o, m) -# define BOOST_PP_FOR_838_I(s, p, o, m) BOOST_PP_IF(p(839, s), m, BOOST_PP_TUPLE_EAT_2)(839, s) BOOST_PP_IF(p(839, s), BOOST_PP_FOR_839, BOOST_PP_TUPLE_EAT_4)(o(839, s), p, o, m) -# define BOOST_PP_FOR_839_I(s, p, o, m) BOOST_PP_IF(p(840, s), m, BOOST_PP_TUPLE_EAT_2)(840, s) BOOST_PP_IF(p(840, s), BOOST_PP_FOR_840, BOOST_PP_TUPLE_EAT_4)(o(840, s), p, o, m) -# define BOOST_PP_FOR_840_I(s, p, o, m) BOOST_PP_IF(p(841, s), m, BOOST_PP_TUPLE_EAT_2)(841, s) BOOST_PP_IF(p(841, s), BOOST_PP_FOR_841, BOOST_PP_TUPLE_EAT_4)(o(841, s), p, o, m) -# define BOOST_PP_FOR_841_I(s, p, o, m) BOOST_PP_IF(p(842, s), m, BOOST_PP_TUPLE_EAT_2)(842, s) BOOST_PP_IF(p(842, s), BOOST_PP_FOR_842, BOOST_PP_TUPLE_EAT_4)(o(842, s), p, o, m) -# define BOOST_PP_FOR_842_I(s, p, o, m) BOOST_PP_IF(p(843, s), m, BOOST_PP_TUPLE_EAT_2)(843, s) BOOST_PP_IF(p(843, s), BOOST_PP_FOR_843, BOOST_PP_TUPLE_EAT_4)(o(843, s), p, o, m) -# define BOOST_PP_FOR_843_I(s, p, o, m) BOOST_PP_IF(p(844, s), m, BOOST_PP_TUPLE_EAT_2)(844, s) BOOST_PP_IF(p(844, s), BOOST_PP_FOR_844, BOOST_PP_TUPLE_EAT_4)(o(844, s), p, o, m) -# define BOOST_PP_FOR_844_I(s, p, o, m) BOOST_PP_IF(p(845, s), m, BOOST_PP_TUPLE_EAT_2)(845, s) BOOST_PP_IF(p(845, s), BOOST_PP_FOR_845, BOOST_PP_TUPLE_EAT_4)(o(845, s), p, o, m) -# define BOOST_PP_FOR_845_I(s, p, o, m) BOOST_PP_IF(p(846, s), m, BOOST_PP_TUPLE_EAT_2)(846, s) BOOST_PP_IF(p(846, s), BOOST_PP_FOR_846, BOOST_PP_TUPLE_EAT_4)(o(846, s), p, o, m) -# define BOOST_PP_FOR_846_I(s, p, o, m) BOOST_PP_IF(p(847, s), m, BOOST_PP_TUPLE_EAT_2)(847, s) BOOST_PP_IF(p(847, s), BOOST_PP_FOR_847, BOOST_PP_TUPLE_EAT_4)(o(847, s), p, o, m) -# define BOOST_PP_FOR_847_I(s, p, o, m) BOOST_PP_IF(p(848, s), m, BOOST_PP_TUPLE_EAT_2)(848, s) BOOST_PP_IF(p(848, s), BOOST_PP_FOR_848, BOOST_PP_TUPLE_EAT_4)(o(848, s), p, o, m) -# define BOOST_PP_FOR_848_I(s, p, o, m) BOOST_PP_IF(p(849, s), m, BOOST_PP_TUPLE_EAT_2)(849, s) BOOST_PP_IF(p(849, s), BOOST_PP_FOR_849, BOOST_PP_TUPLE_EAT_4)(o(849, s), p, o, m) -# define BOOST_PP_FOR_849_I(s, p, o, m) BOOST_PP_IF(p(850, s), m, BOOST_PP_TUPLE_EAT_2)(850, s) BOOST_PP_IF(p(850, s), BOOST_PP_FOR_850, BOOST_PP_TUPLE_EAT_4)(o(850, s), p, o, m) -# define BOOST_PP_FOR_850_I(s, p, o, m) BOOST_PP_IF(p(851, s), m, BOOST_PP_TUPLE_EAT_2)(851, s) BOOST_PP_IF(p(851, s), BOOST_PP_FOR_851, BOOST_PP_TUPLE_EAT_4)(o(851, s), p, o, m) -# define BOOST_PP_FOR_851_I(s, p, o, m) BOOST_PP_IF(p(852, s), m, BOOST_PP_TUPLE_EAT_2)(852, s) BOOST_PP_IF(p(852, s), BOOST_PP_FOR_852, BOOST_PP_TUPLE_EAT_4)(o(852, s), p, o, m) -# define BOOST_PP_FOR_852_I(s, p, o, m) BOOST_PP_IF(p(853, s), m, BOOST_PP_TUPLE_EAT_2)(853, s) BOOST_PP_IF(p(853, s), BOOST_PP_FOR_853, BOOST_PP_TUPLE_EAT_4)(o(853, s), p, o, m) -# define BOOST_PP_FOR_853_I(s, p, o, m) BOOST_PP_IF(p(854, s), m, BOOST_PP_TUPLE_EAT_2)(854, s) BOOST_PP_IF(p(854, s), BOOST_PP_FOR_854, BOOST_PP_TUPLE_EAT_4)(o(854, s), p, o, m) -# define BOOST_PP_FOR_854_I(s, p, o, m) BOOST_PP_IF(p(855, s), m, BOOST_PP_TUPLE_EAT_2)(855, s) BOOST_PP_IF(p(855, s), BOOST_PP_FOR_855, BOOST_PP_TUPLE_EAT_4)(o(855, s), p, o, m) -# define BOOST_PP_FOR_855_I(s, p, o, m) BOOST_PP_IF(p(856, s), m, BOOST_PP_TUPLE_EAT_2)(856, s) BOOST_PP_IF(p(856, s), BOOST_PP_FOR_856, BOOST_PP_TUPLE_EAT_4)(o(856, s), p, o, m) -# define BOOST_PP_FOR_856_I(s, p, o, m) BOOST_PP_IF(p(857, s), m, BOOST_PP_TUPLE_EAT_2)(857, s) BOOST_PP_IF(p(857, s), BOOST_PP_FOR_857, BOOST_PP_TUPLE_EAT_4)(o(857, s), p, o, m) -# define BOOST_PP_FOR_857_I(s, p, o, m) BOOST_PP_IF(p(858, s), m, BOOST_PP_TUPLE_EAT_2)(858, s) BOOST_PP_IF(p(858, s), BOOST_PP_FOR_858, BOOST_PP_TUPLE_EAT_4)(o(858, s), p, o, m) -# define BOOST_PP_FOR_858_I(s, p, o, m) BOOST_PP_IF(p(859, s), m, BOOST_PP_TUPLE_EAT_2)(859, s) BOOST_PP_IF(p(859, s), BOOST_PP_FOR_859, BOOST_PP_TUPLE_EAT_4)(o(859, s), p, o, m) -# define BOOST_PP_FOR_859_I(s, p, o, m) BOOST_PP_IF(p(860, s), m, BOOST_PP_TUPLE_EAT_2)(860, s) BOOST_PP_IF(p(860, s), BOOST_PP_FOR_860, BOOST_PP_TUPLE_EAT_4)(o(860, s), p, o, m) -# define BOOST_PP_FOR_860_I(s, p, o, m) BOOST_PP_IF(p(861, s), m, BOOST_PP_TUPLE_EAT_2)(861, s) BOOST_PP_IF(p(861, s), BOOST_PP_FOR_861, BOOST_PP_TUPLE_EAT_4)(o(861, s), p, o, m) -# define BOOST_PP_FOR_861_I(s, p, o, m) BOOST_PP_IF(p(862, s), m, BOOST_PP_TUPLE_EAT_2)(862, s) BOOST_PP_IF(p(862, s), BOOST_PP_FOR_862, BOOST_PP_TUPLE_EAT_4)(o(862, s), p, o, m) -# define BOOST_PP_FOR_862_I(s, p, o, m) BOOST_PP_IF(p(863, s), m, BOOST_PP_TUPLE_EAT_2)(863, s) BOOST_PP_IF(p(863, s), BOOST_PP_FOR_863, BOOST_PP_TUPLE_EAT_4)(o(863, s), p, o, m) -# define BOOST_PP_FOR_863_I(s, p, o, m) BOOST_PP_IF(p(864, s), m, BOOST_PP_TUPLE_EAT_2)(864, s) BOOST_PP_IF(p(864, s), BOOST_PP_FOR_864, BOOST_PP_TUPLE_EAT_4)(o(864, s), p, o, m) -# define BOOST_PP_FOR_864_I(s, p, o, m) BOOST_PP_IF(p(865, s), m, BOOST_PP_TUPLE_EAT_2)(865, s) BOOST_PP_IF(p(865, s), BOOST_PP_FOR_865, BOOST_PP_TUPLE_EAT_4)(o(865, s), p, o, m) -# define BOOST_PP_FOR_865_I(s, p, o, m) BOOST_PP_IF(p(866, s), m, BOOST_PP_TUPLE_EAT_2)(866, s) BOOST_PP_IF(p(866, s), BOOST_PP_FOR_866, BOOST_PP_TUPLE_EAT_4)(o(866, s), p, o, m) -# define BOOST_PP_FOR_866_I(s, p, o, m) BOOST_PP_IF(p(867, s), m, BOOST_PP_TUPLE_EAT_2)(867, s) BOOST_PP_IF(p(867, s), BOOST_PP_FOR_867, BOOST_PP_TUPLE_EAT_4)(o(867, s), p, o, m) -# define BOOST_PP_FOR_867_I(s, p, o, m) BOOST_PP_IF(p(868, s), m, BOOST_PP_TUPLE_EAT_2)(868, s) BOOST_PP_IF(p(868, s), BOOST_PP_FOR_868, BOOST_PP_TUPLE_EAT_4)(o(868, s), p, o, m) -# define BOOST_PP_FOR_868_I(s, p, o, m) BOOST_PP_IF(p(869, s), m, BOOST_PP_TUPLE_EAT_2)(869, s) BOOST_PP_IF(p(869, s), BOOST_PP_FOR_869, BOOST_PP_TUPLE_EAT_4)(o(869, s), p, o, m) -# define BOOST_PP_FOR_869_I(s, p, o, m) BOOST_PP_IF(p(870, s), m, BOOST_PP_TUPLE_EAT_2)(870, s) BOOST_PP_IF(p(870, s), BOOST_PP_FOR_870, BOOST_PP_TUPLE_EAT_4)(o(870, s), p, o, m) -# define BOOST_PP_FOR_870_I(s, p, o, m) BOOST_PP_IF(p(871, s), m, BOOST_PP_TUPLE_EAT_2)(871, s) BOOST_PP_IF(p(871, s), BOOST_PP_FOR_871, BOOST_PP_TUPLE_EAT_4)(o(871, s), p, o, m) -# define BOOST_PP_FOR_871_I(s, p, o, m) BOOST_PP_IF(p(872, s), m, BOOST_PP_TUPLE_EAT_2)(872, s) BOOST_PP_IF(p(872, s), BOOST_PP_FOR_872, BOOST_PP_TUPLE_EAT_4)(o(872, s), p, o, m) -# define BOOST_PP_FOR_872_I(s, p, o, m) BOOST_PP_IF(p(873, s), m, BOOST_PP_TUPLE_EAT_2)(873, s) BOOST_PP_IF(p(873, s), BOOST_PP_FOR_873, BOOST_PP_TUPLE_EAT_4)(o(873, s), p, o, m) -# define BOOST_PP_FOR_873_I(s, p, o, m) BOOST_PP_IF(p(874, s), m, BOOST_PP_TUPLE_EAT_2)(874, s) BOOST_PP_IF(p(874, s), BOOST_PP_FOR_874, BOOST_PP_TUPLE_EAT_4)(o(874, s), p, o, m) -# define BOOST_PP_FOR_874_I(s, p, o, m) BOOST_PP_IF(p(875, s), m, BOOST_PP_TUPLE_EAT_2)(875, s) BOOST_PP_IF(p(875, s), BOOST_PP_FOR_875, BOOST_PP_TUPLE_EAT_4)(o(875, s), p, o, m) -# define BOOST_PP_FOR_875_I(s, p, o, m) BOOST_PP_IF(p(876, s), m, BOOST_PP_TUPLE_EAT_2)(876, s) BOOST_PP_IF(p(876, s), BOOST_PP_FOR_876, BOOST_PP_TUPLE_EAT_4)(o(876, s), p, o, m) -# define BOOST_PP_FOR_876_I(s, p, o, m) BOOST_PP_IF(p(877, s), m, BOOST_PP_TUPLE_EAT_2)(877, s) BOOST_PP_IF(p(877, s), BOOST_PP_FOR_877, BOOST_PP_TUPLE_EAT_4)(o(877, s), p, o, m) -# define BOOST_PP_FOR_877_I(s, p, o, m) BOOST_PP_IF(p(878, s), m, BOOST_PP_TUPLE_EAT_2)(878, s) BOOST_PP_IF(p(878, s), BOOST_PP_FOR_878, BOOST_PP_TUPLE_EAT_4)(o(878, s), p, o, m) -# define BOOST_PP_FOR_878_I(s, p, o, m) BOOST_PP_IF(p(879, s), m, BOOST_PP_TUPLE_EAT_2)(879, s) BOOST_PP_IF(p(879, s), BOOST_PP_FOR_879, BOOST_PP_TUPLE_EAT_4)(o(879, s), p, o, m) -# define BOOST_PP_FOR_879_I(s, p, o, m) BOOST_PP_IF(p(880, s), m, BOOST_PP_TUPLE_EAT_2)(880, s) BOOST_PP_IF(p(880, s), BOOST_PP_FOR_880, BOOST_PP_TUPLE_EAT_4)(o(880, s), p, o, m) -# define BOOST_PP_FOR_880_I(s, p, o, m) BOOST_PP_IF(p(881, s), m, BOOST_PP_TUPLE_EAT_2)(881, s) BOOST_PP_IF(p(881, s), BOOST_PP_FOR_881, BOOST_PP_TUPLE_EAT_4)(o(881, s), p, o, m) -# define BOOST_PP_FOR_881_I(s, p, o, m) BOOST_PP_IF(p(882, s), m, BOOST_PP_TUPLE_EAT_2)(882, s) BOOST_PP_IF(p(882, s), BOOST_PP_FOR_882, BOOST_PP_TUPLE_EAT_4)(o(882, s), p, o, m) -# define BOOST_PP_FOR_882_I(s, p, o, m) BOOST_PP_IF(p(883, s), m, BOOST_PP_TUPLE_EAT_2)(883, s) BOOST_PP_IF(p(883, s), BOOST_PP_FOR_883, BOOST_PP_TUPLE_EAT_4)(o(883, s), p, o, m) -# define BOOST_PP_FOR_883_I(s, p, o, m) BOOST_PP_IF(p(884, s), m, BOOST_PP_TUPLE_EAT_2)(884, s) BOOST_PP_IF(p(884, s), BOOST_PP_FOR_884, BOOST_PP_TUPLE_EAT_4)(o(884, s), p, o, m) -# define BOOST_PP_FOR_884_I(s, p, o, m) BOOST_PP_IF(p(885, s), m, BOOST_PP_TUPLE_EAT_2)(885, s) BOOST_PP_IF(p(885, s), BOOST_PP_FOR_885, BOOST_PP_TUPLE_EAT_4)(o(885, s), p, o, m) -# define BOOST_PP_FOR_885_I(s, p, o, m) BOOST_PP_IF(p(886, s), m, BOOST_PP_TUPLE_EAT_2)(886, s) BOOST_PP_IF(p(886, s), BOOST_PP_FOR_886, BOOST_PP_TUPLE_EAT_4)(o(886, s), p, o, m) -# define BOOST_PP_FOR_886_I(s, p, o, m) BOOST_PP_IF(p(887, s), m, BOOST_PP_TUPLE_EAT_2)(887, s) BOOST_PP_IF(p(887, s), BOOST_PP_FOR_887, BOOST_PP_TUPLE_EAT_4)(o(887, s), p, o, m) -# define BOOST_PP_FOR_887_I(s, p, o, m) BOOST_PP_IF(p(888, s), m, BOOST_PP_TUPLE_EAT_2)(888, s) BOOST_PP_IF(p(888, s), BOOST_PP_FOR_888, BOOST_PP_TUPLE_EAT_4)(o(888, s), p, o, m) -# define BOOST_PP_FOR_888_I(s, p, o, m) BOOST_PP_IF(p(889, s), m, BOOST_PP_TUPLE_EAT_2)(889, s) BOOST_PP_IF(p(889, s), BOOST_PP_FOR_889, BOOST_PP_TUPLE_EAT_4)(o(889, s), p, o, m) -# define BOOST_PP_FOR_889_I(s, p, o, m) BOOST_PP_IF(p(890, s), m, BOOST_PP_TUPLE_EAT_2)(890, s) BOOST_PP_IF(p(890, s), BOOST_PP_FOR_890, BOOST_PP_TUPLE_EAT_4)(o(890, s), p, o, m) -# define BOOST_PP_FOR_890_I(s, p, o, m) BOOST_PP_IF(p(891, s), m, BOOST_PP_TUPLE_EAT_2)(891, s) BOOST_PP_IF(p(891, s), BOOST_PP_FOR_891, BOOST_PP_TUPLE_EAT_4)(o(891, s), p, o, m) -# define BOOST_PP_FOR_891_I(s, p, o, m) BOOST_PP_IF(p(892, s), m, BOOST_PP_TUPLE_EAT_2)(892, s) BOOST_PP_IF(p(892, s), BOOST_PP_FOR_892, BOOST_PP_TUPLE_EAT_4)(o(892, s), p, o, m) -# define BOOST_PP_FOR_892_I(s, p, o, m) BOOST_PP_IF(p(893, s), m, BOOST_PP_TUPLE_EAT_2)(893, s) BOOST_PP_IF(p(893, s), BOOST_PP_FOR_893, BOOST_PP_TUPLE_EAT_4)(o(893, s), p, o, m) -# define BOOST_PP_FOR_893_I(s, p, o, m) BOOST_PP_IF(p(894, s), m, BOOST_PP_TUPLE_EAT_2)(894, s) BOOST_PP_IF(p(894, s), BOOST_PP_FOR_894, BOOST_PP_TUPLE_EAT_4)(o(894, s), p, o, m) -# define BOOST_PP_FOR_894_I(s, p, o, m) BOOST_PP_IF(p(895, s), m, BOOST_PP_TUPLE_EAT_2)(895, s) BOOST_PP_IF(p(895, s), BOOST_PP_FOR_895, BOOST_PP_TUPLE_EAT_4)(o(895, s), p, o, m) -# define BOOST_PP_FOR_895_I(s, p, o, m) BOOST_PP_IF(p(896, s), m, BOOST_PP_TUPLE_EAT_2)(896, s) BOOST_PP_IF(p(896, s), BOOST_PP_FOR_896, BOOST_PP_TUPLE_EAT_4)(o(896, s), p, o, m) -# define BOOST_PP_FOR_896_I(s, p, o, m) BOOST_PP_IF(p(897, s), m, BOOST_PP_TUPLE_EAT_2)(897, s) BOOST_PP_IF(p(897, s), BOOST_PP_FOR_897, BOOST_PP_TUPLE_EAT_4)(o(897, s), p, o, m) -# define BOOST_PP_FOR_897_I(s, p, o, m) BOOST_PP_IF(p(898, s), m, BOOST_PP_TUPLE_EAT_2)(898, s) BOOST_PP_IF(p(898, s), BOOST_PP_FOR_898, BOOST_PP_TUPLE_EAT_4)(o(898, s), p, o, m) -# define BOOST_PP_FOR_898_I(s, p, o, m) BOOST_PP_IF(p(899, s), m, BOOST_PP_TUPLE_EAT_2)(899, s) BOOST_PP_IF(p(899, s), BOOST_PP_FOR_899, BOOST_PP_TUPLE_EAT_4)(o(899, s), p, o, m) -# define BOOST_PP_FOR_899_I(s, p, o, m) BOOST_PP_IF(p(900, s), m, BOOST_PP_TUPLE_EAT_2)(900, s) BOOST_PP_IF(p(900, s), BOOST_PP_FOR_900, BOOST_PP_TUPLE_EAT_4)(o(900, s), p, o, m) -# define BOOST_PP_FOR_900_I(s, p, o, m) BOOST_PP_IF(p(901, s), m, BOOST_PP_TUPLE_EAT_2)(901, s) BOOST_PP_IF(p(901, s), BOOST_PP_FOR_901, BOOST_PP_TUPLE_EAT_4)(o(901, s), p, o, m) -# define BOOST_PP_FOR_901_I(s, p, o, m) BOOST_PP_IF(p(902, s), m, BOOST_PP_TUPLE_EAT_2)(902, s) BOOST_PP_IF(p(902, s), BOOST_PP_FOR_902, BOOST_PP_TUPLE_EAT_4)(o(902, s), p, o, m) -# define BOOST_PP_FOR_902_I(s, p, o, m) BOOST_PP_IF(p(903, s), m, BOOST_PP_TUPLE_EAT_2)(903, s) BOOST_PP_IF(p(903, s), BOOST_PP_FOR_903, BOOST_PP_TUPLE_EAT_4)(o(903, s), p, o, m) -# define BOOST_PP_FOR_903_I(s, p, o, m) BOOST_PP_IF(p(904, s), m, BOOST_PP_TUPLE_EAT_2)(904, s) BOOST_PP_IF(p(904, s), BOOST_PP_FOR_904, BOOST_PP_TUPLE_EAT_4)(o(904, s), p, o, m) -# define BOOST_PP_FOR_904_I(s, p, o, m) BOOST_PP_IF(p(905, s), m, BOOST_PP_TUPLE_EAT_2)(905, s) BOOST_PP_IF(p(905, s), BOOST_PP_FOR_905, BOOST_PP_TUPLE_EAT_4)(o(905, s), p, o, m) -# define BOOST_PP_FOR_905_I(s, p, o, m) BOOST_PP_IF(p(906, s), m, BOOST_PP_TUPLE_EAT_2)(906, s) BOOST_PP_IF(p(906, s), BOOST_PP_FOR_906, BOOST_PP_TUPLE_EAT_4)(o(906, s), p, o, m) -# define BOOST_PP_FOR_906_I(s, p, o, m) BOOST_PP_IF(p(907, s), m, BOOST_PP_TUPLE_EAT_2)(907, s) BOOST_PP_IF(p(907, s), BOOST_PP_FOR_907, BOOST_PP_TUPLE_EAT_4)(o(907, s), p, o, m) -# define BOOST_PP_FOR_907_I(s, p, o, m) BOOST_PP_IF(p(908, s), m, BOOST_PP_TUPLE_EAT_2)(908, s) BOOST_PP_IF(p(908, s), BOOST_PP_FOR_908, BOOST_PP_TUPLE_EAT_4)(o(908, s), p, o, m) -# define BOOST_PP_FOR_908_I(s, p, o, m) BOOST_PP_IF(p(909, s), m, BOOST_PP_TUPLE_EAT_2)(909, s) BOOST_PP_IF(p(909, s), BOOST_PP_FOR_909, BOOST_PP_TUPLE_EAT_4)(o(909, s), p, o, m) -# define BOOST_PP_FOR_909_I(s, p, o, m) BOOST_PP_IF(p(910, s), m, BOOST_PP_TUPLE_EAT_2)(910, s) BOOST_PP_IF(p(910, s), BOOST_PP_FOR_910, BOOST_PP_TUPLE_EAT_4)(o(910, s), p, o, m) -# define BOOST_PP_FOR_910_I(s, p, o, m) BOOST_PP_IF(p(911, s), m, BOOST_PP_TUPLE_EAT_2)(911, s) BOOST_PP_IF(p(911, s), BOOST_PP_FOR_911, BOOST_PP_TUPLE_EAT_4)(o(911, s), p, o, m) -# define BOOST_PP_FOR_911_I(s, p, o, m) BOOST_PP_IF(p(912, s), m, BOOST_PP_TUPLE_EAT_2)(912, s) BOOST_PP_IF(p(912, s), BOOST_PP_FOR_912, BOOST_PP_TUPLE_EAT_4)(o(912, s), p, o, m) -# define BOOST_PP_FOR_912_I(s, p, o, m) BOOST_PP_IF(p(913, s), m, BOOST_PP_TUPLE_EAT_2)(913, s) BOOST_PP_IF(p(913, s), BOOST_PP_FOR_913, BOOST_PP_TUPLE_EAT_4)(o(913, s), p, o, m) -# define BOOST_PP_FOR_913_I(s, p, o, m) BOOST_PP_IF(p(914, s), m, BOOST_PP_TUPLE_EAT_2)(914, s) BOOST_PP_IF(p(914, s), BOOST_PP_FOR_914, BOOST_PP_TUPLE_EAT_4)(o(914, s), p, o, m) -# define BOOST_PP_FOR_914_I(s, p, o, m) BOOST_PP_IF(p(915, s), m, BOOST_PP_TUPLE_EAT_2)(915, s) BOOST_PP_IF(p(915, s), BOOST_PP_FOR_915, BOOST_PP_TUPLE_EAT_4)(o(915, s), p, o, m) -# define BOOST_PP_FOR_915_I(s, p, o, m) BOOST_PP_IF(p(916, s), m, BOOST_PP_TUPLE_EAT_2)(916, s) BOOST_PP_IF(p(916, s), BOOST_PP_FOR_916, BOOST_PP_TUPLE_EAT_4)(o(916, s), p, o, m) -# define BOOST_PP_FOR_916_I(s, p, o, m) BOOST_PP_IF(p(917, s), m, BOOST_PP_TUPLE_EAT_2)(917, s) BOOST_PP_IF(p(917, s), BOOST_PP_FOR_917, BOOST_PP_TUPLE_EAT_4)(o(917, s), p, o, m) -# define BOOST_PP_FOR_917_I(s, p, o, m) BOOST_PP_IF(p(918, s), m, BOOST_PP_TUPLE_EAT_2)(918, s) BOOST_PP_IF(p(918, s), BOOST_PP_FOR_918, BOOST_PP_TUPLE_EAT_4)(o(918, s), p, o, m) -# define BOOST_PP_FOR_918_I(s, p, o, m) BOOST_PP_IF(p(919, s), m, BOOST_PP_TUPLE_EAT_2)(919, s) BOOST_PP_IF(p(919, s), BOOST_PP_FOR_919, BOOST_PP_TUPLE_EAT_4)(o(919, s), p, o, m) -# define BOOST_PP_FOR_919_I(s, p, o, m) BOOST_PP_IF(p(920, s), m, BOOST_PP_TUPLE_EAT_2)(920, s) BOOST_PP_IF(p(920, s), BOOST_PP_FOR_920, BOOST_PP_TUPLE_EAT_4)(o(920, s), p, o, m) -# define BOOST_PP_FOR_920_I(s, p, o, m) BOOST_PP_IF(p(921, s), m, BOOST_PP_TUPLE_EAT_2)(921, s) BOOST_PP_IF(p(921, s), BOOST_PP_FOR_921, BOOST_PP_TUPLE_EAT_4)(o(921, s), p, o, m) -# define BOOST_PP_FOR_921_I(s, p, o, m) BOOST_PP_IF(p(922, s), m, BOOST_PP_TUPLE_EAT_2)(922, s) BOOST_PP_IF(p(922, s), BOOST_PP_FOR_922, BOOST_PP_TUPLE_EAT_4)(o(922, s), p, o, m) -# define BOOST_PP_FOR_922_I(s, p, o, m) BOOST_PP_IF(p(923, s), m, BOOST_PP_TUPLE_EAT_2)(923, s) BOOST_PP_IF(p(923, s), BOOST_PP_FOR_923, BOOST_PP_TUPLE_EAT_4)(o(923, s), p, o, m) -# define BOOST_PP_FOR_923_I(s, p, o, m) BOOST_PP_IF(p(924, s), m, BOOST_PP_TUPLE_EAT_2)(924, s) BOOST_PP_IF(p(924, s), BOOST_PP_FOR_924, BOOST_PP_TUPLE_EAT_4)(o(924, s), p, o, m) -# define BOOST_PP_FOR_924_I(s, p, o, m) BOOST_PP_IF(p(925, s), m, BOOST_PP_TUPLE_EAT_2)(925, s) BOOST_PP_IF(p(925, s), BOOST_PP_FOR_925, BOOST_PP_TUPLE_EAT_4)(o(925, s), p, o, m) -# define BOOST_PP_FOR_925_I(s, p, o, m) BOOST_PP_IF(p(926, s), m, BOOST_PP_TUPLE_EAT_2)(926, s) BOOST_PP_IF(p(926, s), BOOST_PP_FOR_926, BOOST_PP_TUPLE_EAT_4)(o(926, s), p, o, m) -# define BOOST_PP_FOR_926_I(s, p, o, m) BOOST_PP_IF(p(927, s), m, BOOST_PP_TUPLE_EAT_2)(927, s) BOOST_PP_IF(p(927, s), BOOST_PP_FOR_927, BOOST_PP_TUPLE_EAT_4)(o(927, s), p, o, m) -# define BOOST_PP_FOR_927_I(s, p, o, m) BOOST_PP_IF(p(928, s), m, BOOST_PP_TUPLE_EAT_2)(928, s) BOOST_PP_IF(p(928, s), BOOST_PP_FOR_928, BOOST_PP_TUPLE_EAT_4)(o(928, s), p, o, m) -# define BOOST_PP_FOR_928_I(s, p, o, m) BOOST_PP_IF(p(929, s), m, BOOST_PP_TUPLE_EAT_2)(929, s) BOOST_PP_IF(p(929, s), BOOST_PP_FOR_929, BOOST_PP_TUPLE_EAT_4)(o(929, s), p, o, m) -# define BOOST_PP_FOR_929_I(s, p, o, m) BOOST_PP_IF(p(930, s), m, BOOST_PP_TUPLE_EAT_2)(930, s) BOOST_PP_IF(p(930, s), BOOST_PP_FOR_930, BOOST_PP_TUPLE_EAT_4)(o(930, s), p, o, m) -# define BOOST_PP_FOR_930_I(s, p, o, m) BOOST_PP_IF(p(931, s), m, BOOST_PP_TUPLE_EAT_2)(931, s) BOOST_PP_IF(p(931, s), BOOST_PP_FOR_931, BOOST_PP_TUPLE_EAT_4)(o(931, s), p, o, m) -# define BOOST_PP_FOR_931_I(s, p, o, m) BOOST_PP_IF(p(932, s), m, BOOST_PP_TUPLE_EAT_2)(932, s) BOOST_PP_IF(p(932, s), BOOST_PP_FOR_932, BOOST_PP_TUPLE_EAT_4)(o(932, s), p, o, m) -# define BOOST_PP_FOR_932_I(s, p, o, m) BOOST_PP_IF(p(933, s), m, BOOST_PP_TUPLE_EAT_2)(933, s) BOOST_PP_IF(p(933, s), BOOST_PP_FOR_933, BOOST_PP_TUPLE_EAT_4)(o(933, s), p, o, m) -# define BOOST_PP_FOR_933_I(s, p, o, m) BOOST_PP_IF(p(934, s), m, BOOST_PP_TUPLE_EAT_2)(934, s) BOOST_PP_IF(p(934, s), BOOST_PP_FOR_934, BOOST_PP_TUPLE_EAT_4)(o(934, s), p, o, m) -# define BOOST_PP_FOR_934_I(s, p, o, m) BOOST_PP_IF(p(935, s), m, BOOST_PP_TUPLE_EAT_2)(935, s) BOOST_PP_IF(p(935, s), BOOST_PP_FOR_935, BOOST_PP_TUPLE_EAT_4)(o(935, s), p, o, m) -# define BOOST_PP_FOR_935_I(s, p, o, m) BOOST_PP_IF(p(936, s), m, BOOST_PP_TUPLE_EAT_2)(936, s) BOOST_PP_IF(p(936, s), BOOST_PP_FOR_936, BOOST_PP_TUPLE_EAT_4)(o(936, s), p, o, m) -# define BOOST_PP_FOR_936_I(s, p, o, m) BOOST_PP_IF(p(937, s), m, BOOST_PP_TUPLE_EAT_2)(937, s) BOOST_PP_IF(p(937, s), BOOST_PP_FOR_937, BOOST_PP_TUPLE_EAT_4)(o(937, s), p, o, m) -# define BOOST_PP_FOR_937_I(s, p, o, m) BOOST_PP_IF(p(938, s), m, BOOST_PP_TUPLE_EAT_2)(938, s) BOOST_PP_IF(p(938, s), BOOST_PP_FOR_938, BOOST_PP_TUPLE_EAT_4)(o(938, s), p, o, m) -# define BOOST_PP_FOR_938_I(s, p, o, m) BOOST_PP_IF(p(939, s), m, BOOST_PP_TUPLE_EAT_2)(939, s) BOOST_PP_IF(p(939, s), BOOST_PP_FOR_939, BOOST_PP_TUPLE_EAT_4)(o(939, s), p, o, m) -# define BOOST_PP_FOR_939_I(s, p, o, m) BOOST_PP_IF(p(940, s), m, BOOST_PP_TUPLE_EAT_2)(940, s) BOOST_PP_IF(p(940, s), BOOST_PP_FOR_940, BOOST_PP_TUPLE_EAT_4)(o(940, s), p, o, m) -# define BOOST_PP_FOR_940_I(s, p, o, m) BOOST_PP_IF(p(941, s), m, BOOST_PP_TUPLE_EAT_2)(941, s) BOOST_PP_IF(p(941, s), BOOST_PP_FOR_941, BOOST_PP_TUPLE_EAT_4)(o(941, s), p, o, m) -# define BOOST_PP_FOR_941_I(s, p, o, m) BOOST_PP_IF(p(942, s), m, BOOST_PP_TUPLE_EAT_2)(942, s) BOOST_PP_IF(p(942, s), BOOST_PP_FOR_942, BOOST_PP_TUPLE_EAT_4)(o(942, s), p, o, m) -# define BOOST_PP_FOR_942_I(s, p, o, m) BOOST_PP_IF(p(943, s), m, BOOST_PP_TUPLE_EAT_2)(943, s) BOOST_PP_IF(p(943, s), BOOST_PP_FOR_943, BOOST_PP_TUPLE_EAT_4)(o(943, s), p, o, m) -# define BOOST_PP_FOR_943_I(s, p, o, m) BOOST_PP_IF(p(944, s), m, BOOST_PP_TUPLE_EAT_2)(944, s) BOOST_PP_IF(p(944, s), BOOST_PP_FOR_944, BOOST_PP_TUPLE_EAT_4)(o(944, s), p, o, m) -# define BOOST_PP_FOR_944_I(s, p, o, m) BOOST_PP_IF(p(945, s), m, BOOST_PP_TUPLE_EAT_2)(945, s) BOOST_PP_IF(p(945, s), BOOST_PP_FOR_945, BOOST_PP_TUPLE_EAT_4)(o(945, s), p, o, m) -# define BOOST_PP_FOR_945_I(s, p, o, m) BOOST_PP_IF(p(946, s), m, BOOST_PP_TUPLE_EAT_2)(946, s) BOOST_PP_IF(p(946, s), BOOST_PP_FOR_946, BOOST_PP_TUPLE_EAT_4)(o(946, s), p, o, m) -# define BOOST_PP_FOR_946_I(s, p, o, m) BOOST_PP_IF(p(947, s), m, BOOST_PP_TUPLE_EAT_2)(947, s) BOOST_PP_IF(p(947, s), BOOST_PP_FOR_947, BOOST_PP_TUPLE_EAT_4)(o(947, s), p, o, m) -# define BOOST_PP_FOR_947_I(s, p, o, m) BOOST_PP_IF(p(948, s), m, BOOST_PP_TUPLE_EAT_2)(948, s) BOOST_PP_IF(p(948, s), BOOST_PP_FOR_948, BOOST_PP_TUPLE_EAT_4)(o(948, s), p, o, m) -# define BOOST_PP_FOR_948_I(s, p, o, m) BOOST_PP_IF(p(949, s), m, BOOST_PP_TUPLE_EAT_2)(949, s) BOOST_PP_IF(p(949, s), BOOST_PP_FOR_949, BOOST_PP_TUPLE_EAT_4)(o(949, s), p, o, m) -# define BOOST_PP_FOR_949_I(s, p, o, m) BOOST_PP_IF(p(950, s), m, BOOST_PP_TUPLE_EAT_2)(950, s) BOOST_PP_IF(p(950, s), BOOST_PP_FOR_950, BOOST_PP_TUPLE_EAT_4)(o(950, s), p, o, m) -# define BOOST_PP_FOR_950_I(s, p, o, m) BOOST_PP_IF(p(951, s), m, BOOST_PP_TUPLE_EAT_2)(951, s) BOOST_PP_IF(p(951, s), BOOST_PP_FOR_951, BOOST_PP_TUPLE_EAT_4)(o(951, s), p, o, m) -# define BOOST_PP_FOR_951_I(s, p, o, m) BOOST_PP_IF(p(952, s), m, BOOST_PP_TUPLE_EAT_2)(952, s) BOOST_PP_IF(p(952, s), BOOST_PP_FOR_952, BOOST_PP_TUPLE_EAT_4)(o(952, s), p, o, m) -# define BOOST_PP_FOR_952_I(s, p, o, m) BOOST_PP_IF(p(953, s), m, BOOST_PP_TUPLE_EAT_2)(953, s) BOOST_PP_IF(p(953, s), BOOST_PP_FOR_953, BOOST_PP_TUPLE_EAT_4)(o(953, s), p, o, m) -# define BOOST_PP_FOR_953_I(s, p, o, m) BOOST_PP_IF(p(954, s), m, BOOST_PP_TUPLE_EAT_2)(954, s) BOOST_PP_IF(p(954, s), BOOST_PP_FOR_954, BOOST_PP_TUPLE_EAT_4)(o(954, s), p, o, m) -# define BOOST_PP_FOR_954_I(s, p, o, m) BOOST_PP_IF(p(955, s), m, BOOST_PP_TUPLE_EAT_2)(955, s) BOOST_PP_IF(p(955, s), BOOST_PP_FOR_955, BOOST_PP_TUPLE_EAT_4)(o(955, s), p, o, m) -# define BOOST_PP_FOR_955_I(s, p, o, m) BOOST_PP_IF(p(956, s), m, BOOST_PP_TUPLE_EAT_2)(956, s) BOOST_PP_IF(p(956, s), BOOST_PP_FOR_956, BOOST_PP_TUPLE_EAT_4)(o(956, s), p, o, m) -# define BOOST_PP_FOR_956_I(s, p, o, m) BOOST_PP_IF(p(957, s), m, BOOST_PP_TUPLE_EAT_2)(957, s) BOOST_PP_IF(p(957, s), BOOST_PP_FOR_957, BOOST_PP_TUPLE_EAT_4)(o(957, s), p, o, m) -# define BOOST_PP_FOR_957_I(s, p, o, m) BOOST_PP_IF(p(958, s), m, BOOST_PP_TUPLE_EAT_2)(958, s) BOOST_PP_IF(p(958, s), BOOST_PP_FOR_958, BOOST_PP_TUPLE_EAT_4)(o(958, s), p, o, m) -# define BOOST_PP_FOR_958_I(s, p, o, m) BOOST_PP_IF(p(959, s), m, BOOST_PP_TUPLE_EAT_2)(959, s) BOOST_PP_IF(p(959, s), BOOST_PP_FOR_959, BOOST_PP_TUPLE_EAT_4)(o(959, s), p, o, m) -# define BOOST_PP_FOR_959_I(s, p, o, m) BOOST_PP_IF(p(960, s), m, BOOST_PP_TUPLE_EAT_2)(960, s) BOOST_PP_IF(p(960, s), BOOST_PP_FOR_960, BOOST_PP_TUPLE_EAT_4)(o(960, s), p, o, m) -# define BOOST_PP_FOR_960_I(s, p, o, m) BOOST_PP_IF(p(961, s), m, BOOST_PP_TUPLE_EAT_2)(961, s) BOOST_PP_IF(p(961, s), BOOST_PP_FOR_961, BOOST_PP_TUPLE_EAT_4)(o(961, s), p, o, m) -# define BOOST_PP_FOR_961_I(s, p, o, m) BOOST_PP_IF(p(962, s), m, BOOST_PP_TUPLE_EAT_2)(962, s) BOOST_PP_IF(p(962, s), BOOST_PP_FOR_962, BOOST_PP_TUPLE_EAT_4)(o(962, s), p, o, m) -# define BOOST_PP_FOR_962_I(s, p, o, m) BOOST_PP_IF(p(963, s), m, BOOST_PP_TUPLE_EAT_2)(963, s) BOOST_PP_IF(p(963, s), BOOST_PP_FOR_963, BOOST_PP_TUPLE_EAT_4)(o(963, s), p, o, m) -# define BOOST_PP_FOR_963_I(s, p, o, m) BOOST_PP_IF(p(964, s), m, BOOST_PP_TUPLE_EAT_2)(964, s) BOOST_PP_IF(p(964, s), BOOST_PP_FOR_964, BOOST_PP_TUPLE_EAT_4)(o(964, s), p, o, m) -# define BOOST_PP_FOR_964_I(s, p, o, m) BOOST_PP_IF(p(965, s), m, BOOST_PP_TUPLE_EAT_2)(965, s) BOOST_PP_IF(p(965, s), BOOST_PP_FOR_965, BOOST_PP_TUPLE_EAT_4)(o(965, s), p, o, m) -# define BOOST_PP_FOR_965_I(s, p, o, m) BOOST_PP_IF(p(966, s), m, BOOST_PP_TUPLE_EAT_2)(966, s) BOOST_PP_IF(p(966, s), BOOST_PP_FOR_966, BOOST_PP_TUPLE_EAT_4)(o(966, s), p, o, m) -# define BOOST_PP_FOR_966_I(s, p, o, m) BOOST_PP_IF(p(967, s), m, BOOST_PP_TUPLE_EAT_2)(967, s) BOOST_PP_IF(p(967, s), BOOST_PP_FOR_967, BOOST_PP_TUPLE_EAT_4)(o(967, s), p, o, m) -# define BOOST_PP_FOR_967_I(s, p, o, m) BOOST_PP_IF(p(968, s), m, BOOST_PP_TUPLE_EAT_2)(968, s) BOOST_PP_IF(p(968, s), BOOST_PP_FOR_968, BOOST_PP_TUPLE_EAT_4)(o(968, s), p, o, m) -# define BOOST_PP_FOR_968_I(s, p, o, m) BOOST_PP_IF(p(969, s), m, BOOST_PP_TUPLE_EAT_2)(969, s) BOOST_PP_IF(p(969, s), BOOST_PP_FOR_969, BOOST_PP_TUPLE_EAT_4)(o(969, s), p, o, m) -# define BOOST_PP_FOR_969_I(s, p, o, m) BOOST_PP_IF(p(970, s), m, BOOST_PP_TUPLE_EAT_2)(970, s) BOOST_PP_IF(p(970, s), BOOST_PP_FOR_970, BOOST_PP_TUPLE_EAT_4)(o(970, s), p, o, m) -# define BOOST_PP_FOR_970_I(s, p, o, m) BOOST_PP_IF(p(971, s), m, BOOST_PP_TUPLE_EAT_2)(971, s) BOOST_PP_IF(p(971, s), BOOST_PP_FOR_971, BOOST_PP_TUPLE_EAT_4)(o(971, s), p, o, m) -# define BOOST_PP_FOR_971_I(s, p, o, m) BOOST_PP_IF(p(972, s), m, BOOST_PP_TUPLE_EAT_2)(972, s) BOOST_PP_IF(p(972, s), BOOST_PP_FOR_972, BOOST_PP_TUPLE_EAT_4)(o(972, s), p, o, m) -# define BOOST_PP_FOR_972_I(s, p, o, m) BOOST_PP_IF(p(973, s), m, BOOST_PP_TUPLE_EAT_2)(973, s) BOOST_PP_IF(p(973, s), BOOST_PP_FOR_973, BOOST_PP_TUPLE_EAT_4)(o(973, s), p, o, m) -# define BOOST_PP_FOR_973_I(s, p, o, m) BOOST_PP_IF(p(974, s), m, BOOST_PP_TUPLE_EAT_2)(974, s) BOOST_PP_IF(p(974, s), BOOST_PP_FOR_974, BOOST_PP_TUPLE_EAT_4)(o(974, s), p, o, m) -# define BOOST_PP_FOR_974_I(s, p, o, m) BOOST_PP_IF(p(975, s), m, BOOST_PP_TUPLE_EAT_2)(975, s) BOOST_PP_IF(p(975, s), BOOST_PP_FOR_975, BOOST_PP_TUPLE_EAT_4)(o(975, s), p, o, m) -# define BOOST_PP_FOR_975_I(s, p, o, m) BOOST_PP_IF(p(976, s), m, BOOST_PP_TUPLE_EAT_2)(976, s) BOOST_PP_IF(p(976, s), BOOST_PP_FOR_976, BOOST_PP_TUPLE_EAT_4)(o(976, s), p, o, m) -# define BOOST_PP_FOR_976_I(s, p, o, m) BOOST_PP_IF(p(977, s), m, BOOST_PP_TUPLE_EAT_2)(977, s) BOOST_PP_IF(p(977, s), BOOST_PP_FOR_977, BOOST_PP_TUPLE_EAT_4)(o(977, s), p, o, m) -# define BOOST_PP_FOR_977_I(s, p, o, m) BOOST_PP_IF(p(978, s), m, BOOST_PP_TUPLE_EAT_2)(978, s) BOOST_PP_IF(p(978, s), BOOST_PP_FOR_978, BOOST_PP_TUPLE_EAT_4)(o(978, s), p, o, m) -# define BOOST_PP_FOR_978_I(s, p, o, m) BOOST_PP_IF(p(979, s), m, BOOST_PP_TUPLE_EAT_2)(979, s) BOOST_PP_IF(p(979, s), BOOST_PP_FOR_979, BOOST_PP_TUPLE_EAT_4)(o(979, s), p, o, m) -# define BOOST_PP_FOR_979_I(s, p, o, m) BOOST_PP_IF(p(980, s), m, BOOST_PP_TUPLE_EAT_2)(980, s) BOOST_PP_IF(p(980, s), BOOST_PP_FOR_980, BOOST_PP_TUPLE_EAT_4)(o(980, s), p, o, m) -# define BOOST_PP_FOR_980_I(s, p, o, m) BOOST_PP_IF(p(981, s), m, BOOST_PP_TUPLE_EAT_2)(981, s) BOOST_PP_IF(p(981, s), BOOST_PP_FOR_981, BOOST_PP_TUPLE_EAT_4)(o(981, s), p, o, m) -# define BOOST_PP_FOR_981_I(s, p, o, m) BOOST_PP_IF(p(982, s), m, BOOST_PP_TUPLE_EAT_2)(982, s) BOOST_PP_IF(p(982, s), BOOST_PP_FOR_982, BOOST_PP_TUPLE_EAT_4)(o(982, s), p, o, m) -# define BOOST_PP_FOR_982_I(s, p, o, m) BOOST_PP_IF(p(983, s), m, BOOST_PP_TUPLE_EAT_2)(983, s) BOOST_PP_IF(p(983, s), BOOST_PP_FOR_983, BOOST_PP_TUPLE_EAT_4)(o(983, s), p, o, m) -# define BOOST_PP_FOR_983_I(s, p, o, m) BOOST_PP_IF(p(984, s), m, BOOST_PP_TUPLE_EAT_2)(984, s) BOOST_PP_IF(p(984, s), BOOST_PP_FOR_984, BOOST_PP_TUPLE_EAT_4)(o(984, s), p, o, m) -# define BOOST_PP_FOR_984_I(s, p, o, m) BOOST_PP_IF(p(985, s), m, BOOST_PP_TUPLE_EAT_2)(985, s) BOOST_PP_IF(p(985, s), BOOST_PP_FOR_985, BOOST_PP_TUPLE_EAT_4)(o(985, s), p, o, m) -# define BOOST_PP_FOR_985_I(s, p, o, m) BOOST_PP_IF(p(986, s), m, BOOST_PP_TUPLE_EAT_2)(986, s) BOOST_PP_IF(p(986, s), BOOST_PP_FOR_986, BOOST_PP_TUPLE_EAT_4)(o(986, s), p, o, m) -# define BOOST_PP_FOR_986_I(s, p, o, m) BOOST_PP_IF(p(987, s), m, BOOST_PP_TUPLE_EAT_2)(987, s) BOOST_PP_IF(p(987, s), BOOST_PP_FOR_987, BOOST_PP_TUPLE_EAT_4)(o(987, s), p, o, m) -# define BOOST_PP_FOR_987_I(s, p, o, m) BOOST_PP_IF(p(988, s), m, BOOST_PP_TUPLE_EAT_2)(988, s) BOOST_PP_IF(p(988, s), BOOST_PP_FOR_988, BOOST_PP_TUPLE_EAT_4)(o(988, s), p, o, m) -# define BOOST_PP_FOR_988_I(s, p, o, m) BOOST_PP_IF(p(989, s), m, BOOST_PP_TUPLE_EAT_2)(989, s) BOOST_PP_IF(p(989, s), BOOST_PP_FOR_989, BOOST_PP_TUPLE_EAT_4)(o(989, s), p, o, m) -# define BOOST_PP_FOR_989_I(s, p, o, m) BOOST_PP_IF(p(990, s), m, BOOST_PP_TUPLE_EAT_2)(990, s) BOOST_PP_IF(p(990, s), BOOST_PP_FOR_990, BOOST_PP_TUPLE_EAT_4)(o(990, s), p, o, m) -# define BOOST_PP_FOR_990_I(s, p, o, m) BOOST_PP_IF(p(991, s), m, BOOST_PP_TUPLE_EAT_2)(991, s) BOOST_PP_IF(p(991, s), BOOST_PP_FOR_991, BOOST_PP_TUPLE_EAT_4)(o(991, s), p, o, m) -# define BOOST_PP_FOR_991_I(s, p, o, m) BOOST_PP_IF(p(992, s), m, BOOST_PP_TUPLE_EAT_2)(992, s) BOOST_PP_IF(p(992, s), BOOST_PP_FOR_992, BOOST_PP_TUPLE_EAT_4)(o(992, s), p, o, m) -# define BOOST_PP_FOR_992_I(s, p, o, m) BOOST_PP_IF(p(993, s), m, BOOST_PP_TUPLE_EAT_2)(993, s) BOOST_PP_IF(p(993, s), BOOST_PP_FOR_993, BOOST_PP_TUPLE_EAT_4)(o(993, s), p, o, m) -# define BOOST_PP_FOR_993_I(s, p, o, m) BOOST_PP_IF(p(994, s), m, BOOST_PP_TUPLE_EAT_2)(994, s) BOOST_PP_IF(p(994, s), BOOST_PP_FOR_994, BOOST_PP_TUPLE_EAT_4)(o(994, s), p, o, m) -# define BOOST_PP_FOR_994_I(s, p, o, m) BOOST_PP_IF(p(995, s), m, BOOST_PP_TUPLE_EAT_2)(995, s) BOOST_PP_IF(p(995, s), BOOST_PP_FOR_995, BOOST_PP_TUPLE_EAT_4)(o(995, s), p, o, m) -# define BOOST_PP_FOR_995_I(s, p, o, m) BOOST_PP_IF(p(996, s), m, BOOST_PP_TUPLE_EAT_2)(996, s) BOOST_PP_IF(p(996, s), BOOST_PP_FOR_996, BOOST_PP_TUPLE_EAT_4)(o(996, s), p, o, m) -# define BOOST_PP_FOR_996_I(s, p, o, m) BOOST_PP_IF(p(997, s), m, BOOST_PP_TUPLE_EAT_2)(997, s) BOOST_PP_IF(p(997, s), BOOST_PP_FOR_997, BOOST_PP_TUPLE_EAT_4)(o(997, s), p, o, m) -# define BOOST_PP_FOR_997_I(s, p, o, m) BOOST_PP_IF(p(998, s), m, BOOST_PP_TUPLE_EAT_2)(998, s) BOOST_PP_IF(p(998, s), BOOST_PP_FOR_998, BOOST_PP_TUPLE_EAT_4)(o(998, s), p, o, m) -# define BOOST_PP_FOR_998_I(s, p, o, m) BOOST_PP_IF(p(999, s), m, BOOST_PP_TUPLE_EAT_2)(999, s) BOOST_PP_IF(p(999, s), BOOST_PP_FOR_999, BOOST_PP_TUPLE_EAT_4)(o(999, s), p, o, m) -# define BOOST_PP_FOR_999_I(s, p, o, m) BOOST_PP_IF(p(1000, s), m, BOOST_PP_TUPLE_EAT_2)(1000, s) BOOST_PP_IF(p(1000, s), BOOST_PP_FOR_1000, BOOST_PP_TUPLE_EAT_4)(o(1000, s), p, o, m) -# define BOOST_PP_FOR_1000_I(s, p, o, m) BOOST_PP_IF(p(1001, s), m, BOOST_PP_TUPLE_EAT_2)(1001, s) BOOST_PP_IF(p(1001, s), BOOST_PP_FOR_1001, BOOST_PP_TUPLE_EAT_4)(o(1001, s), p, o, m) -# define BOOST_PP_FOR_1001_I(s, p, o, m) BOOST_PP_IF(p(1002, s), m, BOOST_PP_TUPLE_EAT_2)(1002, s) BOOST_PP_IF(p(1002, s), BOOST_PP_FOR_1002, BOOST_PP_TUPLE_EAT_4)(o(1002, s), p, o, m) -# define BOOST_PP_FOR_1002_I(s, p, o, m) BOOST_PP_IF(p(1003, s), m, BOOST_PP_TUPLE_EAT_2)(1003, s) BOOST_PP_IF(p(1003, s), BOOST_PP_FOR_1003, BOOST_PP_TUPLE_EAT_4)(o(1003, s), p, o, m) -# define BOOST_PP_FOR_1003_I(s, p, o, m) BOOST_PP_IF(p(1004, s), m, BOOST_PP_TUPLE_EAT_2)(1004, s) BOOST_PP_IF(p(1004, s), BOOST_PP_FOR_1004, BOOST_PP_TUPLE_EAT_4)(o(1004, s), p, o, m) -# define BOOST_PP_FOR_1004_I(s, p, o, m) BOOST_PP_IF(p(1005, s), m, BOOST_PP_TUPLE_EAT_2)(1005, s) BOOST_PP_IF(p(1005, s), BOOST_PP_FOR_1005, BOOST_PP_TUPLE_EAT_4)(o(1005, s), p, o, m) -# define BOOST_PP_FOR_1005_I(s, p, o, m) BOOST_PP_IF(p(1006, s), m, BOOST_PP_TUPLE_EAT_2)(1006, s) BOOST_PP_IF(p(1006, s), BOOST_PP_FOR_1006, BOOST_PP_TUPLE_EAT_4)(o(1006, s), p, o, m) -# define BOOST_PP_FOR_1006_I(s, p, o, m) BOOST_PP_IF(p(1007, s), m, BOOST_PP_TUPLE_EAT_2)(1007, s) BOOST_PP_IF(p(1007, s), BOOST_PP_FOR_1007, BOOST_PP_TUPLE_EAT_4)(o(1007, s), p, o, m) -# define BOOST_PP_FOR_1007_I(s, p, o, m) BOOST_PP_IF(p(1008, s), m, BOOST_PP_TUPLE_EAT_2)(1008, s) BOOST_PP_IF(p(1008, s), BOOST_PP_FOR_1008, BOOST_PP_TUPLE_EAT_4)(o(1008, s), p, o, m) -# define BOOST_PP_FOR_1008_I(s, p, o, m) BOOST_PP_IF(p(1009, s), m, BOOST_PP_TUPLE_EAT_2)(1009, s) BOOST_PP_IF(p(1009, s), BOOST_PP_FOR_1009, BOOST_PP_TUPLE_EAT_4)(o(1009, s), p, o, m) -# define BOOST_PP_FOR_1009_I(s, p, o, m) BOOST_PP_IF(p(1010, s), m, BOOST_PP_TUPLE_EAT_2)(1010, s) BOOST_PP_IF(p(1010, s), BOOST_PP_FOR_1010, BOOST_PP_TUPLE_EAT_4)(o(1010, s), p, o, m) -# define BOOST_PP_FOR_1010_I(s, p, o, m) BOOST_PP_IF(p(1011, s), m, BOOST_PP_TUPLE_EAT_2)(1011, s) BOOST_PP_IF(p(1011, s), BOOST_PP_FOR_1011, BOOST_PP_TUPLE_EAT_4)(o(1011, s), p, o, m) -# define BOOST_PP_FOR_1011_I(s, p, o, m) BOOST_PP_IF(p(1012, s), m, BOOST_PP_TUPLE_EAT_2)(1012, s) BOOST_PP_IF(p(1012, s), BOOST_PP_FOR_1012, BOOST_PP_TUPLE_EAT_4)(o(1012, s), p, o, m) -# define BOOST_PP_FOR_1012_I(s, p, o, m) BOOST_PP_IF(p(1013, s), m, BOOST_PP_TUPLE_EAT_2)(1013, s) BOOST_PP_IF(p(1013, s), BOOST_PP_FOR_1013, BOOST_PP_TUPLE_EAT_4)(o(1013, s), p, o, m) -# define BOOST_PP_FOR_1013_I(s, p, o, m) BOOST_PP_IF(p(1014, s), m, BOOST_PP_TUPLE_EAT_2)(1014, s) BOOST_PP_IF(p(1014, s), BOOST_PP_FOR_1014, BOOST_PP_TUPLE_EAT_4)(o(1014, s), p, o, m) -# define BOOST_PP_FOR_1014_I(s, p, o, m) BOOST_PP_IF(p(1015, s), m, BOOST_PP_TUPLE_EAT_2)(1015, s) BOOST_PP_IF(p(1015, s), BOOST_PP_FOR_1015, BOOST_PP_TUPLE_EAT_4)(o(1015, s), p, o, m) -# define BOOST_PP_FOR_1015_I(s, p, o, m) BOOST_PP_IF(p(1016, s), m, BOOST_PP_TUPLE_EAT_2)(1016, s) BOOST_PP_IF(p(1016, s), BOOST_PP_FOR_1016, BOOST_PP_TUPLE_EAT_4)(o(1016, s), p, o, m) -# define BOOST_PP_FOR_1016_I(s, p, o, m) BOOST_PP_IF(p(1017, s), m, BOOST_PP_TUPLE_EAT_2)(1017, s) BOOST_PP_IF(p(1017, s), BOOST_PP_FOR_1017, BOOST_PP_TUPLE_EAT_4)(o(1017, s), p, o, m) -# define BOOST_PP_FOR_1017_I(s, p, o, m) BOOST_PP_IF(p(1018, s), m, BOOST_PP_TUPLE_EAT_2)(1018, s) BOOST_PP_IF(p(1018, s), BOOST_PP_FOR_1018, BOOST_PP_TUPLE_EAT_4)(o(1018, s), p, o, m) -# define BOOST_PP_FOR_1018_I(s, p, o, m) BOOST_PP_IF(p(1019, s), m, BOOST_PP_TUPLE_EAT_2)(1019, s) BOOST_PP_IF(p(1019, s), BOOST_PP_FOR_1019, BOOST_PP_TUPLE_EAT_4)(o(1019, s), p, o, m) -# define BOOST_PP_FOR_1019_I(s, p, o, m) BOOST_PP_IF(p(1020, s), m, BOOST_PP_TUPLE_EAT_2)(1020, s) BOOST_PP_IF(p(1020, s), BOOST_PP_FOR_1020, BOOST_PP_TUPLE_EAT_4)(o(1020, s), p, o, m) -# define BOOST_PP_FOR_1020_I(s, p, o, m) BOOST_PP_IF(p(1021, s), m, BOOST_PP_TUPLE_EAT_2)(1021, s) BOOST_PP_IF(p(1021, s), BOOST_PP_FOR_1021, BOOST_PP_TUPLE_EAT_4)(o(1021, s), p, o, m) -# define BOOST_PP_FOR_1021_I(s, p, o, m) BOOST_PP_IF(p(1022, s), m, BOOST_PP_TUPLE_EAT_2)(1022, s) BOOST_PP_IF(p(1022, s), BOOST_PP_FOR_1022, BOOST_PP_TUPLE_EAT_4)(o(1022, s), p, o, m) -# define BOOST_PP_FOR_1022_I(s, p, o, m) BOOST_PP_IF(p(1023, s), m, BOOST_PP_TUPLE_EAT_2)(1023, s) BOOST_PP_IF(p(1023, s), BOOST_PP_FOR_1023, BOOST_PP_TUPLE_EAT_4)(o(1023, s), p, o, m) -# define BOOST_PP_FOR_1023_I(s, p, o, m) BOOST_PP_IF(p(1024, s), m, BOOST_PP_TUPLE_EAT_2)(1024, s) BOOST_PP_IF(p(1024, s), BOOST_PP_FOR_1024, BOOST_PP_TUPLE_EAT_4)(o(1024, s), p, o, m) -# define BOOST_PP_FOR_1024_I(s, p, o, m) BOOST_PP_IF(p(1025, s), m, BOOST_PP_TUPLE_EAT_2)(1025, s) BOOST_PP_IF(p(1025, s), BOOST_PP_FOR_1025, BOOST_PP_TUPLE_EAT_4)(o(1025, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp deleted file mode 100644 index cc72fe972a..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp +++ /dev/null @@ -1,533 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_256_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_256_HPP -# -# define BOOST_PP_FOR_0(s, p, o, m) BOOST_PP_FOR_0_I(s, p, o, m) -# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m) -# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m) -# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m) -# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m) -# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m) -# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m) -# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m) -# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m) -# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m) -# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m) -# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m) -# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m) -# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m) -# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m) -# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m) -# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m) -# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m) -# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m) -# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m) -# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m) -# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m) -# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m) -# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m) -# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m) -# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m) -# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m) -# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m) -# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m) -# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m) -# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m) -# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m) -# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m) -# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m) -# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m) -# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m) -# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m) -# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m) -# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m) -# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m) -# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m) -# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m) -# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m) -# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m) -# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m) -# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m) -# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m) -# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m) -# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m) -# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m) -# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m) -# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m) -# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m) -# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m) -# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m) -# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m) -# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m) -# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m) -# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m) -# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m) -# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m) -# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m) -# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m) -# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m) -# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m) -# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m) -# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m) -# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m) -# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m) -# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m) -# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m) -# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m) -# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m) -# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m) -# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m) -# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m) -# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m) -# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m) -# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m) -# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m) -# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m) -# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m) -# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m) -# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m) -# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m) -# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m) -# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m) -# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m) -# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m) -# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m) -# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m) -# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m) -# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m) -# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m) -# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m) -# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m) -# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m) -# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m) -# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m) -# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m) -# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m) -# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m) -# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m) -# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m) -# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m) -# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m) -# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m) -# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m) -# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m) -# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m) -# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m) -# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m) -# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m) -# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m) -# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m) -# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m) -# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m) -# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m) -# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m) -# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m) -# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m) -# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m) -# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m) -# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m) -# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m) -# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m) -# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m) -# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m) -# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m) -# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m) -# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m) -# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m) -# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m) -# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m) -# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m) -# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m) -# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m) -# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m) -# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m) -# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m) -# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m) -# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m) -# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m) -# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m) -# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m) -# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m) -# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m) -# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m) -# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m) -# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m) -# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m) -# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m) -# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m) -# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m) -# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m) -# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m) -# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m) -# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m) -# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m) -# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m) -# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m) -# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m) -# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m) -# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m) -# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m) -# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m) -# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m) -# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m) -# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m) -# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m) -# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m) -# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m) -# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m) -# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m) -# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m) -# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m) -# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m) -# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m) -# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m) -# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m) -# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m) -# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m) -# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m) -# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m) -# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m) -# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m) -# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m) -# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m) -# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m) -# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m) -# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m) -# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m) -# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m) -# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m) -# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m) -# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m) -# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m) -# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m) -# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m) -# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m) -# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m) -# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m) -# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m) -# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m) -# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m) -# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m) -# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m) -# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m) -# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m) -# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m) -# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m) -# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m) -# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m) -# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m) -# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m) -# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m) -# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m) -# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m) -# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m) -# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m) -# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m) -# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m) -# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m) -# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m) -# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m) -# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m) -# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m) -# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m) -# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m) -# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m) -# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m) -# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m) -# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m) -# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m) -# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m) -# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m) -# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m) -# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m) -# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m) -# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m) -# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m) -# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m) -# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m) -# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m) -# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m) -# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m) -# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m) -# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m) -# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m) -# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m) -# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m) -# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m) -# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m) -# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m) -# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m) -# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m) -# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m) -# -# define BOOST_PP_FOR_0_I(s, p, o, m) BOOST_PP_IF(p(1, s), m, BOOST_PP_TUPLE_EAT_2)(1, s) BOOST_PP_IF(p(1, s), BOOST_PP_FOR_1, BOOST_PP_TUPLE_EAT_4)(o(1, s), p, o, m) -# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) -# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) -# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) -# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) -# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) -# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) -# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) -# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) -# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) -# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) -# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) -# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) -# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) -# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) -# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) -# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) -# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) -# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) -# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) -# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) -# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) -# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) -# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) -# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) -# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) -# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) -# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) -# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) -# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) -# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) -# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) -# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) -# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) -# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) -# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) -# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) -# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) -# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) -# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) -# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) -# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) -# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) -# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) -# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) -# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) -# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) -# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) -# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) -# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) -# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) -# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) -# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) -# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) -# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) -# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) -# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) -# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) -# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) -# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) -# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) -# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) -# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) -# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) -# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) -# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) -# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) -# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) -# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) -# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) -# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) -# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) -# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) -# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) -# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) -# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) -# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) -# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) -# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) -# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) -# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) -# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) -# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) -# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) -# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) -# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) -# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) -# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) -# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) -# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) -# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) -# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) -# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) -# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) -# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) -# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) -# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) -# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) -# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) -# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) -# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) -# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) -# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) -# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) -# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) -# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) -# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) -# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) -# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) -# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) -# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) -# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) -# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) -# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) -# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) -# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) -# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) -# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) -# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) -# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) -# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) -# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) -# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) -# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) -# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) -# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) -# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) -# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) -# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) -# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) -# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) -# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) -# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) -# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) -# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) -# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) -# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) -# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) -# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) -# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) -# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) -# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) -# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) -# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) -# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) -# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) -# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) -# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) -# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) -# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) -# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) -# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) -# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) -# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) -# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) -# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) -# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) -# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) -# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) -# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) -# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) -# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) -# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) -# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) -# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) -# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) -# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) -# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) -# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) -# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) -# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) -# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) -# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) -# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) -# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) -# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) -# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) -# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) -# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) -# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) -# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) -# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) -# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) -# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) -# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) -# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) -# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) -# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) -# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) -# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) -# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) -# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) -# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) -# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) -# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) -# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) -# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) -# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) -# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) -# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) -# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) -# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) -# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) -# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) -# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) -# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) -# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) -# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) -# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) -# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) -# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) -# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) -# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) -# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) -# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) -# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) -# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) -# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) -# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) -# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) -# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) -# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) -# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) -# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) -# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) -# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) -# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) -# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) -# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) -# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) -# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) -# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) -# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) -# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) -# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) -# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) -# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) -# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) -# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) -# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) -# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) -# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) -# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) -# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) -# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) -# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) -# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) -# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) -# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) -# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) -# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) -# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) -# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) -# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) -# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) -# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) -# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp deleted file mode 100644 index 4d4e18c9a1..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_512_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_512_HPP -# -# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_FOR_257_I(s, p, o, m) -# define BOOST_PP_FOR_258(s, p, o, m) BOOST_PP_FOR_258_I(s, p, o, m) -# define BOOST_PP_FOR_259(s, p, o, m) BOOST_PP_FOR_259_I(s, p, o, m) -# define BOOST_PP_FOR_260(s, p, o, m) BOOST_PP_FOR_260_I(s, p, o, m) -# define BOOST_PP_FOR_261(s, p, o, m) BOOST_PP_FOR_261_I(s, p, o, m) -# define BOOST_PP_FOR_262(s, p, o, m) BOOST_PP_FOR_262_I(s, p, o, m) -# define BOOST_PP_FOR_263(s, p, o, m) BOOST_PP_FOR_263_I(s, p, o, m) -# define BOOST_PP_FOR_264(s, p, o, m) BOOST_PP_FOR_264_I(s, p, o, m) -# define BOOST_PP_FOR_265(s, p, o, m) BOOST_PP_FOR_265_I(s, p, o, m) -# define BOOST_PP_FOR_266(s, p, o, m) BOOST_PP_FOR_266_I(s, p, o, m) -# define BOOST_PP_FOR_267(s, p, o, m) BOOST_PP_FOR_267_I(s, p, o, m) -# define BOOST_PP_FOR_268(s, p, o, m) BOOST_PP_FOR_268_I(s, p, o, m) -# define BOOST_PP_FOR_269(s, p, o, m) BOOST_PP_FOR_269_I(s, p, o, m) -# define BOOST_PP_FOR_270(s, p, o, m) BOOST_PP_FOR_270_I(s, p, o, m) -# define BOOST_PP_FOR_271(s, p, o, m) BOOST_PP_FOR_271_I(s, p, o, m) -# define BOOST_PP_FOR_272(s, p, o, m) BOOST_PP_FOR_272_I(s, p, o, m) -# define BOOST_PP_FOR_273(s, p, o, m) BOOST_PP_FOR_273_I(s, p, o, m) -# define BOOST_PP_FOR_274(s, p, o, m) BOOST_PP_FOR_274_I(s, p, o, m) -# define BOOST_PP_FOR_275(s, p, o, m) BOOST_PP_FOR_275_I(s, p, o, m) -# define BOOST_PP_FOR_276(s, p, o, m) BOOST_PP_FOR_276_I(s, p, o, m) -# define BOOST_PP_FOR_277(s, p, o, m) BOOST_PP_FOR_277_I(s, p, o, m) -# define BOOST_PP_FOR_278(s, p, o, m) BOOST_PP_FOR_278_I(s, p, o, m) -# define BOOST_PP_FOR_279(s, p, o, m) BOOST_PP_FOR_279_I(s, p, o, m) -# define BOOST_PP_FOR_280(s, p, o, m) BOOST_PP_FOR_280_I(s, p, o, m) -# define BOOST_PP_FOR_281(s, p, o, m) BOOST_PP_FOR_281_I(s, p, o, m) -# define BOOST_PP_FOR_282(s, p, o, m) BOOST_PP_FOR_282_I(s, p, o, m) -# define BOOST_PP_FOR_283(s, p, o, m) BOOST_PP_FOR_283_I(s, p, o, m) -# define BOOST_PP_FOR_284(s, p, o, m) BOOST_PP_FOR_284_I(s, p, o, m) -# define BOOST_PP_FOR_285(s, p, o, m) BOOST_PP_FOR_285_I(s, p, o, m) -# define BOOST_PP_FOR_286(s, p, o, m) BOOST_PP_FOR_286_I(s, p, o, m) -# define BOOST_PP_FOR_287(s, p, o, m) BOOST_PP_FOR_287_I(s, p, o, m) -# define BOOST_PP_FOR_288(s, p, o, m) BOOST_PP_FOR_288_I(s, p, o, m) -# define BOOST_PP_FOR_289(s, p, o, m) BOOST_PP_FOR_289_I(s, p, o, m) -# define BOOST_PP_FOR_290(s, p, o, m) BOOST_PP_FOR_290_I(s, p, o, m) -# define BOOST_PP_FOR_291(s, p, o, m) BOOST_PP_FOR_291_I(s, p, o, m) -# define BOOST_PP_FOR_292(s, p, o, m) BOOST_PP_FOR_292_I(s, p, o, m) -# define BOOST_PP_FOR_293(s, p, o, m) BOOST_PP_FOR_293_I(s, p, o, m) -# define BOOST_PP_FOR_294(s, p, o, m) BOOST_PP_FOR_294_I(s, p, o, m) -# define BOOST_PP_FOR_295(s, p, o, m) BOOST_PP_FOR_295_I(s, p, o, m) -# define BOOST_PP_FOR_296(s, p, o, m) BOOST_PP_FOR_296_I(s, p, o, m) -# define BOOST_PP_FOR_297(s, p, o, m) BOOST_PP_FOR_297_I(s, p, o, m) -# define BOOST_PP_FOR_298(s, p, o, m) BOOST_PP_FOR_298_I(s, p, o, m) -# define BOOST_PP_FOR_299(s, p, o, m) BOOST_PP_FOR_299_I(s, p, o, m) -# define BOOST_PP_FOR_300(s, p, o, m) BOOST_PP_FOR_300_I(s, p, o, m) -# define BOOST_PP_FOR_301(s, p, o, m) BOOST_PP_FOR_301_I(s, p, o, m) -# define BOOST_PP_FOR_302(s, p, o, m) BOOST_PP_FOR_302_I(s, p, o, m) -# define BOOST_PP_FOR_303(s, p, o, m) BOOST_PP_FOR_303_I(s, p, o, m) -# define BOOST_PP_FOR_304(s, p, o, m) BOOST_PP_FOR_304_I(s, p, o, m) -# define BOOST_PP_FOR_305(s, p, o, m) BOOST_PP_FOR_305_I(s, p, o, m) -# define BOOST_PP_FOR_306(s, p, o, m) BOOST_PP_FOR_306_I(s, p, o, m) -# define BOOST_PP_FOR_307(s, p, o, m) BOOST_PP_FOR_307_I(s, p, o, m) -# define BOOST_PP_FOR_308(s, p, o, m) BOOST_PP_FOR_308_I(s, p, o, m) -# define BOOST_PP_FOR_309(s, p, o, m) BOOST_PP_FOR_309_I(s, p, o, m) -# define BOOST_PP_FOR_310(s, p, o, m) BOOST_PP_FOR_310_I(s, p, o, m) -# define BOOST_PP_FOR_311(s, p, o, m) BOOST_PP_FOR_311_I(s, p, o, m) -# define BOOST_PP_FOR_312(s, p, o, m) BOOST_PP_FOR_312_I(s, p, o, m) -# define BOOST_PP_FOR_313(s, p, o, m) BOOST_PP_FOR_313_I(s, p, o, m) -# define BOOST_PP_FOR_314(s, p, o, m) BOOST_PP_FOR_314_I(s, p, o, m) -# define BOOST_PP_FOR_315(s, p, o, m) BOOST_PP_FOR_315_I(s, p, o, m) -# define BOOST_PP_FOR_316(s, p, o, m) BOOST_PP_FOR_316_I(s, p, o, m) -# define BOOST_PP_FOR_317(s, p, o, m) BOOST_PP_FOR_317_I(s, p, o, m) -# define BOOST_PP_FOR_318(s, p, o, m) BOOST_PP_FOR_318_I(s, p, o, m) -# define BOOST_PP_FOR_319(s, p, o, m) BOOST_PP_FOR_319_I(s, p, o, m) -# define BOOST_PP_FOR_320(s, p, o, m) BOOST_PP_FOR_320_I(s, p, o, m) -# define BOOST_PP_FOR_321(s, p, o, m) BOOST_PP_FOR_321_I(s, p, o, m) -# define BOOST_PP_FOR_322(s, p, o, m) BOOST_PP_FOR_322_I(s, p, o, m) -# define BOOST_PP_FOR_323(s, p, o, m) BOOST_PP_FOR_323_I(s, p, o, m) -# define BOOST_PP_FOR_324(s, p, o, m) BOOST_PP_FOR_324_I(s, p, o, m) -# define BOOST_PP_FOR_325(s, p, o, m) BOOST_PP_FOR_325_I(s, p, o, m) -# define BOOST_PP_FOR_326(s, p, o, m) BOOST_PP_FOR_326_I(s, p, o, m) -# define BOOST_PP_FOR_327(s, p, o, m) BOOST_PP_FOR_327_I(s, p, o, m) -# define BOOST_PP_FOR_328(s, p, o, m) BOOST_PP_FOR_328_I(s, p, o, m) -# define BOOST_PP_FOR_329(s, p, o, m) BOOST_PP_FOR_329_I(s, p, o, m) -# define BOOST_PP_FOR_330(s, p, o, m) BOOST_PP_FOR_330_I(s, p, o, m) -# define BOOST_PP_FOR_331(s, p, o, m) BOOST_PP_FOR_331_I(s, p, o, m) -# define BOOST_PP_FOR_332(s, p, o, m) BOOST_PP_FOR_332_I(s, p, o, m) -# define BOOST_PP_FOR_333(s, p, o, m) BOOST_PP_FOR_333_I(s, p, o, m) -# define BOOST_PP_FOR_334(s, p, o, m) BOOST_PP_FOR_334_I(s, p, o, m) -# define BOOST_PP_FOR_335(s, p, o, m) BOOST_PP_FOR_335_I(s, p, o, m) -# define BOOST_PP_FOR_336(s, p, o, m) BOOST_PP_FOR_336_I(s, p, o, m) -# define BOOST_PP_FOR_337(s, p, o, m) BOOST_PP_FOR_337_I(s, p, o, m) -# define BOOST_PP_FOR_338(s, p, o, m) BOOST_PP_FOR_338_I(s, p, o, m) -# define BOOST_PP_FOR_339(s, p, o, m) BOOST_PP_FOR_339_I(s, p, o, m) -# define BOOST_PP_FOR_340(s, p, o, m) BOOST_PP_FOR_340_I(s, p, o, m) -# define BOOST_PP_FOR_341(s, p, o, m) BOOST_PP_FOR_341_I(s, p, o, m) -# define BOOST_PP_FOR_342(s, p, o, m) BOOST_PP_FOR_342_I(s, p, o, m) -# define BOOST_PP_FOR_343(s, p, o, m) BOOST_PP_FOR_343_I(s, p, o, m) -# define BOOST_PP_FOR_344(s, p, o, m) BOOST_PP_FOR_344_I(s, p, o, m) -# define BOOST_PP_FOR_345(s, p, o, m) BOOST_PP_FOR_345_I(s, p, o, m) -# define BOOST_PP_FOR_346(s, p, o, m) BOOST_PP_FOR_346_I(s, p, o, m) -# define BOOST_PP_FOR_347(s, p, o, m) BOOST_PP_FOR_347_I(s, p, o, m) -# define BOOST_PP_FOR_348(s, p, o, m) BOOST_PP_FOR_348_I(s, p, o, m) -# define BOOST_PP_FOR_349(s, p, o, m) BOOST_PP_FOR_349_I(s, p, o, m) -# define BOOST_PP_FOR_350(s, p, o, m) BOOST_PP_FOR_350_I(s, p, o, m) -# define BOOST_PP_FOR_351(s, p, o, m) BOOST_PP_FOR_351_I(s, p, o, m) -# define BOOST_PP_FOR_352(s, p, o, m) BOOST_PP_FOR_352_I(s, p, o, m) -# define BOOST_PP_FOR_353(s, p, o, m) BOOST_PP_FOR_353_I(s, p, o, m) -# define BOOST_PP_FOR_354(s, p, o, m) BOOST_PP_FOR_354_I(s, p, o, m) -# define BOOST_PP_FOR_355(s, p, o, m) BOOST_PP_FOR_355_I(s, p, o, m) -# define BOOST_PP_FOR_356(s, p, o, m) BOOST_PP_FOR_356_I(s, p, o, m) -# define BOOST_PP_FOR_357(s, p, o, m) BOOST_PP_FOR_357_I(s, p, o, m) -# define BOOST_PP_FOR_358(s, p, o, m) BOOST_PP_FOR_358_I(s, p, o, m) -# define BOOST_PP_FOR_359(s, p, o, m) BOOST_PP_FOR_359_I(s, p, o, m) -# define BOOST_PP_FOR_360(s, p, o, m) BOOST_PP_FOR_360_I(s, p, o, m) -# define BOOST_PP_FOR_361(s, p, o, m) BOOST_PP_FOR_361_I(s, p, o, m) -# define BOOST_PP_FOR_362(s, p, o, m) BOOST_PP_FOR_362_I(s, p, o, m) -# define BOOST_PP_FOR_363(s, p, o, m) BOOST_PP_FOR_363_I(s, p, o, m) -# define BOOST_PP_FOR_364(s, p, o, m) BOOST_PP_FOR_364_I(s, p, o, m) -# define BOOST_PP_FOR_365(s, p, o, m) BOOST_PP_FOR_365_I(s, p, o, m) -# define BOOST_PP_FOR_366(s, p, o, m) BOOST_PP_FOR_366_I(s, p, o, m) -# define BOOST_PP_FOR_367(s, p, o, m) BOOST_PP_FOR_367_I(s, p, o, m) -# define BOOST_PP_FOR_368(s, p, o, m) BOOST_PP_FOR_368_I(s, p, o, m) -# define BOOST_PP_FOR_369(s, p, o, m) BOOST_PP_FOR_369_I(s, p, o, m) -# define BOOST_PP_FOR_370(s, p, o, m) BOOST_PP_FOR_370_I(s, p, o, m) -# define BOOST_PP_FOR_371(s, p, o, m) BOOST_PP_FOR_371_I(s, p, o, m) -# define BOOST_PP_FOR_372(s, p, o, m) BOOST_PP_FOR_372_I(s, p, o, m) -# define BOOST_PP_FOR_373(s, p, o, m) BOOST_PP_FOR_373_I(s, p, o, m) -# define BOOST_PP_FOR_374(s, p, o, m) BOOST_PP_FOR_374_I(s, p, o, m) -# define BOOST_PP_FOR_375(s, p, o, m) BOOST_PP_FOR_375_I(s, p, o, m) -# define BOOST_PP_FOR_376(s, p, o, m) BOOST_PP_FOR_376_I(s, p, o, m) -# define BOOST_PP_FOR_377(s, p, o, m) BOOST_PP_FOR_377_I(s, p, o, m) -# define BOOST_PP_FOR_378(s, p, o, m) BOOST_PP_FOR_378_I(s, p, o, m) -# define BOOST_PP_FOR_379(s, p, o, m) BOOST_PP_FOR_379_I(s, p, o, m) -# define BOOST_PP_FOR_380(s, p, o, m) BOOST_PP_FOR_380_I(s, p, o, m) -# define BOOST_PP_FOR_381(s, p, o, m) BOOST_PP_FOR_381_I(s, p, o, m) -# define BOOST_PP_FOR_382(s, p, o, m) BOOST_PP_FOR_382_I(s, p, o, m) -# define BOOST_PP_FOR_383(s, p, o, m) BOOST_PP_FOR_383_I(s, p, o, m) -# define BOOST_PP_FOR_384(s, p, o, m) BOOST_PP_FOR_384_I(s, p, o, m) -# define BOOST_PP_FOR_385(s, p, o, m) BOOST_PP_FOR_385_I(s, p, o, m) -# define BOOST_PP_FOR_386(s, p, o, m) BOOST_PP_FOR_386_I(s, p, o, m) -# define BOOST_PP_FOR_387(s, p, o, m) BOOST_PP_FOR_387_I(s, p, o, m) -# define BOOST_PP_FOR_388(s, p, o, m) BOOST_PP_FOR_388_I(s, p, o, m) -# define BOOST_PP_FOR_389(s, p, o, m) BOOST_PP_FOR_389_I(s, p, o, m) -# define BOOST_PP_FOR_390(s, p, o, m) BOOST_PP_FOR_390_I(s, p, o, m) -# define BOOST_PP_FOR_391(s, p, o, m) BOOST_PP_FOR_391_I(s, p, o, m) -# define BOOST_PP_FOR_392(s, p, o, m) BOOST_PP_FOR_392_I(s, p, o, m) -# define BOOST_PP_FOR_393(s, p, o, m) BOOST_PP_FOR_393_I(s, p, o, m) -# define BOOST_PP_FOR_394(s, p, o, m) BOOST_PP_FOR_394_I(s, p, o, m) -# define BOOST_PP_FOR_395(s, p, o, m) BOOST_PP_FOR_395_I(s, p, o, m) -# define BOOST_PP_FOR_396(s, p, o, m) BOOST_PP_FOR_396_I(s, p, o, m) -# define BOOST_PP_FOR_397(s, p, o, m) BOOST_PP_FOR_397_I(s, p, o, m) -# define BOOST_PP_FOR_398(s, p, o, m) BOOST_PP_FOR_398_I(s, p, o, m) -# define BOOST_PP_FOR_399(s, p, o, m) BOOST_PP_FOR_399_I(s, p, o, m) -# define BOOST_PP_FOR_400(s, p, o, m) BOOST_PP_FOR_400_I(s, p, o, m) -# define BOOST_PP_FOR_401(s, p, o, m) BOOST_PP_FOR_401_I(s, p, o, m) -# define BOOST_PP_FOR_402(s, p, o, m) BOOST_PP_FOR_402_I(s, p, o, m) -# define BOOST_PP_FOR_403(s, p, o, m) BOOST_PP_FOR_403_I(s, p, o, m) -# define BOOST_PP_FOR_404(s, p, o, m) BOOST_PP_FOR_404_I(s, p, o, m) -# define BOOST_PP_FOR_405(s, p, o, m) BOOST_PP_FOR_405_I(s, p, o, m) -# define BOOST_PP_FOR_406(s, p, o, m) BOOST_PP_FOR_406_I(s, p, o, m) -# define BOOST_PP_FOR_407(s, p, o, m) BOOST_PP_FOR_407_I(s, p, o, m) -# define BOOST_PP_FOR_408(s, p, o, m) BOOST_PP_FOR_408_I(s, p, o, m) -# define BOOST_PP_FOR_409(s, p, o, m) BOOST_PP_FOR_409_I(s, p, o, m) -# define BOOST_PP_FOR_410(s, p, o, m) BOOST_PP_FOR_410_I(s, p, o, m) -# define BOOST_PP_FOR_411(s, p, o, m) BOOST_PP_FOR_411_I(s, p, o, m) -# define BOOST_PP_FOR_412(s, p, o, m) BOOST_PP_FOR_412_I(s, p, o, m) -# define BOOST_PP_FOR_413(s, p, o, m) BOOST_PP_FOR_413_I(s, p, o, m) -# define BOOST_PP_FOR_414(s, p, o, m) BOOST_PP_FOR_414_I(s, p, o, m) -# define BOOST_PP_FOR_415(s, p, o, m) BOOST_PP_FOR_415_I(s, p, o, m) -# define BOOST_PP_FOR_416(s, p, o, m) BOOST_PP_FOR_416_I(s, p, o, m) -# define BOOST_PP_FOR_417(s, p, o, m) BOOST_PP_FOR_417_I(s, p, o, m) -# define BOOST_PP_FOR_418(s, p, o, m) BOOST_PP_FOR_418_I(s, p, o, m) -# define BOOST_PP_FOR_419(s, p, o, m) BOOST_PP_FOR_419_I(s, p, o, m) -# define BOOST_PP_FOR_420(s, p, o, m) BOOST_PP_FOR_420_I(s, p, o, m) -# define BOOST_PP_FOR_421(s, p, o, m) BOOST_PP_FOR_421_I(s, p, o, m) -# define BOOST_PP_FOR_422(s, p, o, m) BOOST_PP_FOR_422_I(s, p, o, m) -# define BOOST_PP_FOR_423(s, p, o, m) BOOST_PP_FOR_423_I(s, p, o, m) -# define BOOST_PP_FOR_424(s, p, o, m) BOOST_PP_FOR_424_I(s, p, o, m) -# define BOOST_PP_FOR_425(s, p, o, m) BOOST_PP_FOR_425_I(s, p, o, m) -# define BOOST_PP_FOR_426(s, p, o, m) BOOST_PP_FOR_426_I(s, p, o, m) -# define BOOST_PP_FOR_427(s, p, o, m) BOOST_PP_FOR_427_I(s, p, o, m) -# define BOOST_PP_FOR_428(s, p, o, m) BOOST_PP_FOR_428_I(s, p, o, m) -# define BOOST_PP_FOR_429(s, p, o, m) BOOST_PP_FOR_429_I(s, p, o, m) -# define BOOST_PP_FOR_430(s, p, o, m) BOOST_PP_FOR_430_I(s, p, o, m) -# define BOOST_PP_FOR_431(s, p, o, m) BOOST_PP_FOR_431_I(s, p, o, m) -# define BOOST_PP_FOR_432(s, p, o, m) BOOST_PP_FOR_432_I(s, p, o, m) -# define BOOST_PP_FOR_433(s, p, o, m) BOOST_PP_FOR_433_I(s, p, o, m) -# define BOOST_PP_FOR_434(s, p, o, m) BOOST_PP_FOR_434_I(s, p, o, m) -# define BOOST_PP_FOR_435(s, p, o, m) BOOST_PP_FOR_435_I(s, p, o, m) -# define BOOST_PP_FOR_436(s, p, o, m) BOOST_PP_FOR_436_I(s, p, o, m) -# define BOOST_PP_FOR_437(s, p, o, m) BOOST_PP_FOR_437_I(s, p, o, m) -# define BOOST_PP_FOR_438(s, p, o, m) BOOST_PP_FOR_438_I(s, p, o, m) -# define BOOST_PP_FOR_439(s, p, o, m) BOOST_PP_FOR_439_I(s, p, o, m) -# define BOOST_PP_FOR_440(s, p, o, m) BOOST_PP_FOR_440_I(s, p, o, m) -# define BOOST_PP_FOR_441(s, p, o, m) BOOST_PP_FOR_441_I(s, p, o, m) -# define BOOST_PP_FOR_442(s, p, o, m) BOOST_PP_FOR_442_I(s, p, o, m) -# define BOOST_PP_FOR_443(s, p, o, m) BOOST_PP_FOR_443_I(s, p, o, m) -# define BOOST_PP_FOR_444(s, p, o, m) BOOST_PP_FOR_444_I(s, p, o, m) -# define BOOST_PP_FOR_445(s, p, o, m) BOOST_PP_FOR_445_I(s, p, o, m) -# define BOOST_PP_FOR_446(s, p, o, m) BOOST_PP_FOR_446_I(s, p, o, m) -# define BOOST_PP_FOR_447(s, p, o, m) BOOST_PP_FOR_447_I(s, p, o, m) -# define BOOST_PP_FOR_448(s, p, o, m) BOOST_PP_FOR_448_I(s, p, o, m) -# define BOOST_PP_FOR_449(s, p, o, m) BOOST_PP_FOR_449_I(s, p, o, m) -# define BOOST_PP_FOR_450(s, p, o, m) BOOST_PP_FOR_450_I(s, p, o, m) -# define BOOST_PP_FOR_451(s, p, o, m) BOOST_PP_FOR_451_I(s, p, o, m) -# define BOOST_PP_FOR_452(s, p, o, m) BOOST_PP_FOR_452_I(s, p, o, m) -# define BOOST_PP_FOR_453(s, p, o, m) BOOST_PP_FOR_453_I(s, p, o, m) -# define BOOST_PP_FOR_454(s, p, o, m) BOOST_PP_FOR_454_I(s, p, o, m) -# define BOOST_PP_FOR_455(s, p, o, m) BOOST_PP_FOR_455_I(s, p, o, m) -# define BOOST_PP_FOR_456(s, p, o, m) BOOST_PP_FOR_456_I(s, p, o, m) -# define BOOST_PP_FOR_457(s, p, o, m) BOOST_PP_FOR_457_I(s, p, o, m) -# define BOOST_PP_FOR_458(s, p, o, m) BOOST_PP_FOR_458_I(s, p, o, m) -# define BOOST_PP_FOR_459(s, p, o, m) BOOST_PP_FOR_459_I(s, p, o, m) -# define BOOST_PP_FOR_460(s, p, o, m) BOOST_PP_FOR_460_I(s, p, o, m) -# define BOOST_PP_FOR_461(s, p, o, m) BOOST_PP_FOR_461_I(s, p, o, m) -# define BOOST_PP_FOR_462(s, p, o, m) BOOST_PP_FOR_462_I(s, p, o, m) -# define BOOST_PP_FOR_463(s, p, o, m) BOOST_PP_FOR_463_I(s, p, o, m) -# define BOOST_PP_FOR_464(s, p, o, m) BOOST_PP_FOR_464_I(s, p, o, m) -# define BOOST_PP_FOR_465(s, p, o, m) BOOST_PP_FOR_465_I(s, p, o, m) -# define BOOST_PP_FOR_466(s, p, o, m) BOOST_PP_FOR_466_I(s, p, o, m) -# define BOOST_PP_FOR_467(s, p, o, m) BOOST_PP_FOR_467_I(s, p, o, m) -# define BOOST_PP_FOR_468(s, p, o, m) BOOST_PP_FOR_468_I(s, p, o, m) -# define BOOST_PP_FOR_469(s, p, o, m) BOOST_PP_FOR_469_I(s, p, o, m) -# define BOOST_PP_FOR_470(s, p, o, m) BOOST_PP_FOR_470_I(s, p, o, m) -# define BOOST_PP_FOR_471(s, p, o, m) BOOST_PP_FOR_471_I(s, p, o, m) -# define BOOST_PP_FOR_472(s, p, o, m) BOOST_PP_FOR_472_I(s, p, o, m) -# define BOOST_PP_FOR_473(s, p, o, m) BOOST_PP_FOR_473_I(s, p, o, m) -# define BOOST_PP_FOR_474(s, p, o, m) BOOST_PP_FOR_474_I(s, p, o, m) -# define BOOST_PP_FOR_475(s, p, o, m) BOOST_PP_FOR_475_I(s, p, o, m) -# define BOOST_PP_FOR_476(s, p, o, m) BOOST_PP_FOR_476_I(s, p, o, m) -# define BOOST_PP_FOR_477(s, p, o, m) BOOST_PP_FOR_477_I(s, p, o, m) -# define BOOST_PP_FOR_478(s, p, o, m) BOOST_PP_FOR_478_I(s, p, o, m) -# define BOOST_PP_FOR_479(s, p, o, m) BOOST_PP_FOR_479_I(s, p, o, m) -# define BOOST_PP_FOR_480(s, p, o, m) BOOST_PP_FOR_480_I(s, p, o, m) -# define BOOST_PP_FOR_481(s, p, o, m) BOOST_PP_FOR_481_I(s, p, o, m) -# define BOOST_PP_FOR_482(s, p, o, m) BOOST_PP_FOR_482_I(s, p, o, m) -# define BOOST_PP_FOR_483(s, p, o, m) BOOST_PP_FOR_483_I(s, p, o, m) -# define BOOST_PP_FOR_484(s, p, o, m) BOOST_PP_FOR_484_I(s, p, o, m) -# define BOOST_PP_FOR_485(s, p, o, m) BOOST_PP_FOR_485_I(s, p, o, m) -# define BOOST_PP_FOR_486(s, p, o, m) BOOST_PP_FOR_486_I(s, p, o, m) -# define BOOST_PP_FOR_487(s, p, o, m) BOOST_PP_FOR_487_I(s, p, o, m) -# define BOOST_PP_FOR_488(s, p, o, m) BOOST_PP_FOR_488_I(s, p, o, m) -# define BOOST_PP_FOR_489(s, p, o, m) BOOST_PP_FOR_489_I(s, p, o, m) -# define BOOST_PP_FOR_490(s, p, o, m) BOOST_PP_FOR_490_I(s, p, o, m) -# define BOOST_PP_FOR_491(s, p, o, m) BOOST_PP_FOR_491_I(s, p, o, m) -# define BOOST_PP_FOR_492(s, p, o, m) BOOST_PP_FOR_492_I(s, p, o, m) -# define BOOST_PP_FOR_493(s, p, o, m) BOOST_PP_FOR_493_I(s, p, o, m) -# define BOOST_PP_FOR_494(s, p, o, m) BOOST_PP_FOR_494_I(s, p, o, m) -# define BOOST_PP_FOR_495(s, p, o, m) BOOST_PP_FOR_495_I(s, p, o, m) -# define BOOST_PP_FOR_496(s, p, o, m) BOOST_PP_FOR_496_I(s, p, o, m) -# define BOOST_PP_FOR_497(s, p, o, m) BOOST_PP_FOR_497_I(s, p, o, m) -# define BOOST_PP_FOR_498(s, p, o, m) BOOST_PP_FOR_498_I(s, p, o, m) -# define BOOST_PP_FOR_499(s, p, o, m) BOOST_PP_FOR_499_I(s, p, o, m) -# define BOOST_PP_FOR_500(s, p, o, m) BOOST_PP_FOR_500_I(s, p, o, m) -# define BOOST_PP_FOR_501(s, p, o, m) BOOST_PP_FOR_501_I(s, p, o, m) -# define BOOST_PP_FOR_502(s, p, o, m) BOOST_PP_FOR_502_I(s, p, o, m) -# define BOOST_PP_FOR_503(s, p, o, m) BOOST_PP_FOR_503_I(s, p, o, m) -# define BOOST_PP_FOR_504(s, p, o, m) BOOST_PP_FOR_504_I(s, p, o, m) -# define BOOST_PP_FOR_505(s, p, o, m) BOOST_PP_FOR_505_I(s, p, o, m) -# define BOOST_PP_FOR_506(s, p, o, m) BOOST_PP_FOR_506_I(s, p, o, m) -# define BOOST_PP_FOR_507(s, p, o, m) BOOST_PP_FOR_507_I(s, p, o, m) -# define BOOST_PP_FOR_508(s, p, o, m) BOOST_PP_FOR_508_I(s, p, o, m) -# define BOOST_PP_FOR_509(s, p, o, m) BOOST_PP_FOR_509_I(s, p, o, m) -# define BOOST_PP_FOR_510(s, p, o, m) BOOST_PP_FOR_510_I(s, p, o, m) -# define BOOST_PP_FOR_511(s, p, o, m) BOOST_PP_FOR_511_I(s, p, o, m) -# define BOOST_PP_FOR_512(s, p, o, m) BOOST_PP_FOR_512_I(s, p, o, m) -# -# define BOOST_PP_FOR_257_I(s, p, o, m) BOOST_PP_IF(p(258, s), m, BOOST_PP_TUPLE_EAT_2)(258, s) BOOST_PP_IF(p(258, s), BOOST_PP_FOR_258, BOOST_PP_TUPLE_EAT_4)(o(258, s), p, o, m) -# define BOOST_PP_FOR_258_I(s, p, o, m) BOOST_PP_IF(p(259, s), m, BOOST_PP_TUPLE_EAT_2)(259, s) BOOST_PP_IF(p(259, s), BOOST_PP_FOR_259, BOOST_PP_TUPLE_EAT_4)(o(259, s), p, o, m) -# define BOOST_PP_FOR_259_I(s, p, o, m) BOOST_PP_IF(p(260, s), m, BOOST_PP_TUPLE_EAT_2)(260, s) BOOST_PP_IF(p(260, s), BOOST_PP_FOR_260, BOOST_PP_TUPLE_EAT_4)(o(260, s), p, o, m) -# define BOOST_PP_FOR_260_I(s, p, o, m) BOOST_PP_IF(p(261, s), m, BOOST_PP_TUPLE_EAT_2)(261, s) BOOST_PP_IF(p(261, s), BOOST_PP_FOR_261, BOOST_PP_TUPLE_EAT_4)(o(261, s), p, o, m) -# define BOOST_PP_FOR_261_I(s, p, o, m) BOOST_PP_IF(p(262, s), m, BOOST_PP_TUPLE_EAT_2)(262, s) BOOST_PP_IF(p(262, s), BOOST_PP_FOR_262, BOOST_PP_TUPLE_EAT_4)(o(262, s), p, o, m) -# define BOOST_PP_FOR_262_I(s, p, o, m) BOOST_PP_IF(p(263, s), m, BOOST_PP_TUPLE_EAT_2)(263, s) BOOST_PP_IF(p(263, s), BOOST_PP_FOR_263, BOOST_PP_TUPLE_EAT_4)(o(263, s), p, o, m) -# define BOOST_PP_FOR_263_I(s, p, o, m) BOOST_PP_IF(p(264, s), m, BOOST_PP_TUPLE_EAT_2)(264, s) BOOST_PP_IF(p(264, s), BOOST_PP_FOR_264, BOOST_PP_TUPLE_EAT_4)(o(264, s), p, o, m) -# define BOOST_PP_FOR_264_I(s, p, o, m) BOOST_PP_IF(p(265, s), m, BOOST_PP_TUPLE_EAT_2)(265, s) BOOST_PP_IF(p(265, s), BOOST_PP_FOR_265, BOOST_PP_TUPLE_EAT_4)(o(265, s), p, o, m) -# define BOOST_PP_FOR_265_I(s, p, o, m) BOOST_PP_IF(p(266, s), m, BOOST_PP_TUPLE_EAT_2)(266, s) BOOST_PP_IF(p(266, s), BOOST_PP_FOR_266, BOOST_PP_TUPLE_EAT_4)(o(266, s), p, o, m) -# define BOOST_PP_FOR_266_I(s, p, o, m) BOOST_PP_IF(p(267, s), m, BOOST_PP_TUPLE_EAT_2)(267, s) BOOST_PP_IF(p(267, s), BOOST_PP_FOR_267, BOOST_PP_TUPLE_EAT_4)(o(267, s), p, o, m) -# define BOOST_PP_FOR_267_I(s, p, o, m) BOOST_PP_IF(p(268, s), m, BOOST_PP_TUPLE_EAT_2)(268, s) BOOST_PP_IF(p(268, s), BOOST_PP_FOR_268, BOOST_PP_TUPLE_EAT_4)(o(268, s), p, o, m) -# define BOOST_PP_FOR_268_I(s, p, o, m) BOOST_PP_IF(p(269, s), m, BOOST_PP_TUPLE_EAT_2)(269, s) BOOST_PP_IF(p(269, s), BOOST_PP_FOR_269, BOOST_PP_TUPLE_EAT_4)(o(269, s), p, o, m) -# define BOOST_PP_FOR_269_I(s, p, o, m) BOOST_PP_IF(p(270, s), m, BOOST_PP_TUPLE_EAT_2)(270, s) BOOST_PP_IF(p(270, s), BOOST_PP_FOR_270, BOOST_PP_TUPLE_EAT_4)(o(270, s), p, o, m) -# define BOOST_PP_FOR_270_I(s, p, o, m) BOOST_PP_IF(p(271, s), m, BOOST_PP_TUPLE_EAT_2)(271, s) BOOST_PP_IF(p(271, s), BOOST_PP_FOR_271, BOOST_PP_TUPLE_EAT_4)(o(271, s), p, o, m) -# define BOOST_PP_FOR_271_I(s, p, o, m) BOOST_PP_IF(p(272, s), m, BOOST_PP_TUPLE_EAT_2)(272, s) BOOST_PP_IF(p(272, s), BOOST_PP_FOR_272, BOOST_PP_TUPLE_EAT_4)(o(272, s), p, o, m) -# define BOOST_PP_FOR_272_I(s, p, o, m) BOOST_PP_IF(p(273, s), m, BOOST_PP_TUPLE_EAT_2)(273, s) BOOST_PP_IF(p(273, s), BOOST_PP_FOR_273, BOOST_PP_TUPLE_EAT_4)(o(273, s), p, o, m) -# define BOOST_PP_FOR_273_I(s, p, o, m) BOOST_PP_IF(p(274, s), m, BOOST_PP_TUPLE_EAT_2)(274, s) BOOST_PP_IF(p(274, s), BOOST_PP_FOR_274, BOOST_PP_TUPLE_EAT_4)(o(274, s), p, o, m) -# define BOOST_PP_FOR_274_I(s, p, o, m) BOOST_PP_IF(p(275, s), m, BOOST_PP_TUPLE_EAT_2)(275, s) BOOST_PP_IF(p(275, s), BOOST_PP_FOR_275, BOOST_PP_TUPLE_EAT_4)(o(275, s), p, o, m) -# define BOOST_PP_FOR_275_I(s, p, o, m) BOOST_PP_IF(p(276, s), m, BOOST_PP_TUPLE_EAT_2)(276, s) BOOST_PP_IF(p(276, s), BOOST_PP_FOR_276, BOOST_PP_TUPLE_EAT_4)(o(276, s), p, o, m) -# define BOOST_PP_FOR_276_I(s, p, o, m) BOOST_PP_IF(p(277, s), m, BOOST_PP_TUPLE_EAT_2)(277, s) BOOST_PP_IF(p(277, s), BOOST_PP_FOR_277, BOOST_PP_TUPLE_EAT_4)(o(277, s), p, o, m) -# define BOOST_PP_FOR_277_I(s, p, o, m) BOOST_PP_IF(p(278, s), m, BOOST_PP_TUPLE_EAT_2)(278, s) BOOST_PP_IF(p(278, s), BOOST_PP_FOR_278, BOOST_PP_TUPLE_EAT_4)(o(278, s), p, o, m) -# define BOOST_PP_FOR_278_I(s, p, o, m) BOOST_PP_IF(p(279, s), m, BOOST_PP_TUPLE_EAT_2)(279, s) BOOST_PP_IF(p(279, s), BOOST_PP_FOR_279, BOOST_PP_TUPLE_EAT_4)(o(279, s), p, o, m) -# define BOOST_PP_FOR_279_I(s, p, o, m) BOOST_PP_IF(p(280, s), m, BOOST_PP_TUPLE_EAT_2)(280, s) BOOST_PP_IF(p(280, s), BOOST_PP_FOR_280, BOOST_PP_TUPLE_EAT_4)(o(280, s), p, o, m) -# define BOOST_PP_FOR_280_I(s, p, o, m) BOOST_PP_IF(p(281, s), m, BOOST_PP_TUPLE_EAT_2)(281, s) BOOST_PP_IF(p(281, s), BOOST_PP_FOR_281, BOOST_PP_TUPLE_EAT_4)(o(281, s), p, o, m) -# define BOOST_PP_FOR_281_I(s, p, o, m) BOOST_PP_IF(p(282, s), m, BOOST_PP_TUPLE_EAT_2)(282, s) BOOST_PP_IF(p(282, s), BOOST_PP_FOR_282, BOOST_PP_TUPLE_EAT_4)(o(282, s), p, o, m) -# define BOOST_PP_FOR_282_I(s, p, o, m) BOOST_PP_IF(p(283, s), m, BOOST_PP_TUPLE_EAT_2)(283, s) BOOST_PP_IF(p(283, s), BOOST_PP_FOR_283, BOOST_PP_TUPLE_EAT_4)(o(283, s), p, o, m) -# define BOOST_PP_FOR_283_I(s, p, o, m) BOOST_PP_IF(p(284, s), m, BOOST_PP_TUPLE_EAT_2)(284, s) BOOST_PP_IF(p(284, s), BOOST_PP_FOR_284, BOOST_PP_TUPLE_EAT_4)(o(284, s), p, o, m) -# define BOOST_PP_FOR_284_I(s, p, o, m) BOOST_PP_IF(p(285, s), m, BOOST_PP_TUPLE_EAT_2)(285, s) BOOST_PP_IF(p(285, s), BOOST_PP_FOR_285, BOOST_PP_TUPLE_EAT_4)(o(285, s), p, o, m) -# define BOOST_PP_FOR_285_I(s, p, o, m) BOOST_PP_IF(p(286, s), m, BOOST_PP_TUPLE_EAT_2)(286, s) BOOST_PP_IF(p(286, s), BOOST_PP_FOR_286, BOOST_PP_TUPLE_EAT_4)(o(286, s), p, o, m) -# define BOOST_PP_FOR_286_I(s, p, o, m) BOOST_PP_IF(p(287, s), m, BOOST_PP_TUPLE_EAT_2)(287, s) BOOST_PP_IF(p(287, s), BOOST_PP_FOR_287, BOOST_PP_TUPLE_EAT_4)(o(287, s), p, o, m) -# define BOOST_PP_FOR_287_I(s, p, o, m) BOOST_PP_IF(p(288, s), m, BOOST_PP_TUPLE_EAT_2)(288, s) BOOST_PP_IF(p(288, s), BOOST_PP_FOR_288, BOOST_PP_TUPLE_EAT_4)(o(288, s), p, o, m) -# define BOOST_PP_FOR_288_I(s, p, o, m) BOOST_PP_IF(p(289, s), m, BOOST_PP_TUPLE_EAT_2)(289, s) BOOST_PP_IF(p(289, s), BOOST_PP_FOR_289, BOOST_PP_TUPLE_EAT_4)(o(289, s), p, o, m) -# define BOOST_PP_FOR_289_I(s, p, o, m) BOOST_PP_IF(p(290, s), m, BOOST_PP_TUPLE_EAT_2)(290, s) BOOST_PP_IF(p(290, s), BOOST_PP_FOR_290, BOOST_PP_TUPLE_EAT_4)(o(290, s), p, o, m) -# define BOOST_PP_FOR_290_I(s, p, o, m) BOOST_PP_IF(p(291, s), m, BOOST_PP_TUPLE_EAT_2)(291, s) BOOST_PP_IF(p(291, s), BOOST_PP_FOR_291, BOOST_PP_TUPLE_EAT_4)(o(291, s), p, o, m) -# define BOOST_PP_FOR_291_I(s, p, o, m) BOOST_PP_IF(p(292, s), m, BOOST_PP_TUPLE_EAT_2)(292, s) BOOST_PP_IF(p(292, s), BOOST_PP_FOR_292, BOOST_PP_TUPLE_EAT_4)(o(292, s), p, o, m) -# define BOOST_PP_FOR_292_I(s, p, o, m) BOOST_PP_IF(p(293, s), m, BOOST_PP_TUPLE_EAT_2)(293, s) BOOST_PP_IF(p(293, s), BOOST_PP_FOR_293, BOOST_PP_TUPLE_EAT_4)(o(293, s), p, o, m) -# define BOOST_PP_FOR_293_I(s, p, o, m) BOOST_PP_IF(p(294, s), m, BOOST_PP_TUPLE_EAT_2)(294, s) BOOST_PP_IF(p(294, s), BOOST_PP_FOR_294, BOOST_PP_TUPLE_EAT_4)(o(294, s), p, o, m) -# define BOOST_PP_FOR_294_I(s, p, o, m) BOOST_PP_IF(p(295, s), m, BOOST_PP_TUPLE_EAT_2)(295, s) BOOST_PP_IF(p(295, s), BOOST_PP_FOR_295, BOOST_PP_TUPLE_EAT_4)(o(295, s), p, o, m) -# define BOOST_PP_FOR_295_I(s, p, o, m) BOOST_PP_IF(p(296, s), m, BOOST_PP_TUPLE_EAT_2)(296, s) BOOST_PP_IF(p(296, s), BOOST_PP_FOR_296, BOOST_PP_TUPLE_EAT_4)(o(296, s), p, o, m) -# define BOOST_PP_FOR_296_I(s, p, o, m) BOOST_PP_IF(p(297, s), m, BOOST_PP_TUPLE_EAT_2)(297, s) BOOST_PP_IF(p(297, s), BOOST_PP_FOR_297, BOOST_PP_TUPLE_EAT_4)(o(297, s), p, o, m) -# define BOOST_PP_FOR_297_I(s, p, o, m) BOOST_PP_IF(p(298, s), m, BOOST_PP_TUPLE_EAT_2)(298, s) BOOST_PP_IF(p(298, s), BOOST_PP_FOR_298, BOOST_PP_TUPLE_EAT_4)(o(298, s), p, o, m) -# define BOOST_PP_FOR_298_I(s, p, o, m) BOOST_PP_IF(p(299, s), m, BOOST_PP_TUPLE_EAT_2)(299, s) BOOST_PP_IF(p(299, s), BOOST_PP_FOR_299, BOOST_PP_TUPLE_EAT_4)(o(299, s), p, o, m) -# define BOOST_PP_FOR_299_I(s, p, o, m) BOOST_PP_IF(p(300, s), m, BOOST_PP_TUPLE_EAT_2)(300, s) BOOST_PP_IF(p(300, s), BOOST_PP_FOR_300, BOOST_PP_TUPLE_EAT_4)(o(300, s), p, o, m) -# define BOOST_PP_FOR_300_I(s, p, o, m) BOOST_PP_IF(p(301, s), m, BOOST_PP_TUPLE_EAT_2)(301, s) BOOST_PP_IF(p(301, s), BOOST_PP_FOR_301, BOOST_PP_TUPLE_EAT_4)(o(301, s), p, o, m) -# define BOOST_PP_FOR_301_I(s, p, o, m) BOOST_PP_IF(p(302, s), m, BOOST_PP_TUPLE_EAT_2)(302, s) BOOST_PP_IF(p(302, s), BOOST_PP_FOR_302, BOOST_PP_TUPLE_EAT_4)(o(302, s), p, o, m) -# define BOOST_PP_FOR_302_I(s, p, o, m) BOOST_PP_IF(p(303, s), m, BOOST_PP_TUPLE_EAT_2)(303, s) BOOST_PP_IF(p(303, s), BOOST_PP_FOR_303, BOOST_PP_TUPLE_EAT_4)(o(303, s), p, o, m) -# define BOOST_PP_FOR_303_I(s, p, o, m) BOOST_PP_IF(p(304, s), m, BOOST_PP_TUPLE_EAT_2)(304, s) BOOST_PP_IF(p(304, s), BOOST_PP_FOR_304, BOOST_PP_TUPLE_EAT_4)(o(304, s), p, o, m) -# define BOOST_PP_FOR_304_I(s, p, o, m) BOOST_PP_IF(p(305, s), m, BOOST_PP_TUPLE_EAT_2)(305, s) BOOST_PP_IF(p(305, s), BOOST_PP_FOR_305, BOOST_PP_TUPLE_EAT_4)(o(305, s), p, o, m) -# define BOOST_PP_FOR_305_I(s, p, o, m) BOOST_PP_IF(p(306, s), m, BOOST_PP_TUPLE_EAT_2)(306, s) BOOST_PP_IF(p(306, s), BOOST_PP_FOR_306, BOOST_PP_TUPLE_EAT_4)(o(306, s), p, o, m) -# define BOOST_PP_FOR_306_I(s, p, o, m) BOOST_PP_IF(p(307, s), m, BOOST_PP_TUPLE_EAT_2)(307, s) BOOST_PP_IF(p(307, s), BOOST_PP_FOR_307, BOOST_PP_TUPLE_EAT_4)(o(307, s), p, o, m) -# define BOOST_PP_FOR_307_I(s, p, o, m) BOOST_PP_IF(p(308, s), m, BOOST_PP_TUPLE_EAT_2)(308, s) BOOST_PP_IF(p(308, s), BOOST_PP_FOR_308, BOOST_PP_TUPLE_EAT_4)(o(308, s), p, o, m) -# define BOOST_PP_FOR_308_I(s, p, o, m) BOOST_PP_IF(p(309, s), m, BOOST_PP_TUPLE_EAT_2)(309, s) BOOST_PP_IF(p(309, s), BOOST_PP_FOR_309, BOOST_PP_TUPLE_EAT_4)(o(309, s), p, o, m) -# define BOOST_PP_FOR_309_I(s, p, o, m) BOOST_PP_IF(p(310, s), m, BOOST_PP_TUPLE_EAT_2)(310, s) BOOST_PP_IF(p(310, s), BOOST_PP_FOR_310, BOOST_PP_TUPLE_EAT_4)(o(310, s), p, o, m) -# define BOOST_PP_FOR_310_I(s, p, o, m) BOOST_PP_IF(p(311, s), m, BOOST_PP_TUPLE_EAT_2)(311, s) BOOST_PP_IF(p(311, s), BOOST_PP_FOR_311, BOOST_PP_TUPLE_EAT_4)(o(311, s), p, o, m) -# define BOOST_PP_FOR_311_I(s, p, o, m) BOOST_PP_IF(p(312, s), m, BOOST_PP_TUPLE_EAT_2)(312, s) BOOST_PP_IF(p(312, s), BOOST_PP_FOR_312, BOOST_PP_TUPLE_EAT_4)(o(312, s), p, o, m) -# define BOOST_PP_FOR_312_I(s, p, o, m) BOOST_PP_IF(p(313, s), m, BOOST_PP_TUPLE_EAT_2)(313, s) BOOST_PP_IF(p(313, s), BOOST_PP_FOR_313, BOOST_PP_TUPLE_EAT_4)(o(313, s), p, o, m) -# define BOOST_PP_FOR_313_I(s, p, o, m) BOOST_PP_IF(p(314, s), m, BOOST_PP_TUPLE_EAT_2)(314, s) BOOST_PP_IF(p(314, s), BOOST_PP_FOR_314, BOOST_PP_TUPLE_EAT_4)(o(314, s), p, o, m) -# define BOOST_PP_FOR_314_I(s, p, o, m) BOOST_PP_IF(p(315, s), m, BOOST_PP_TUPLE_EAT_2)(315, s) BOOST_PP_IF(p(315, s), BOOST_PP_FOR_315, BOOST_PP_TUPLE_EAT_4)(o(315, s), p, o, m) -# define BOOST_PP_FOR_315_I(s, p, o, m) BOOST_PP_IF(p(316, s), m, BOOST_PP_TUPLE_EAT_2)(316, s) BOOST_PP_IF(p(316, s), BOOST_PP_FOR_316, BOOST_PP_TUPLE_EAT_4)(o(316, s), p, o, m) -# define BOOST_PP_FOR_316_I(s, p, o, m) BOOST_PP_IF(p(317, s), m, BOOST_PP_TUPLE_EAT_2)(317, s) BOOST_PP_IF(p(317, s), BOOST_PP_FOR_317, BOOST_PP_TUPLE_EAT_4)(o(317, s), p, o, m) -# define BOOST_PP_FOR_317_I(s, p, o, m) BOOST_PP_IF(p(318, s), m, BOOST_PP_TUPLE_EAT_2)(318, s) BOOST_PP_IF(p(318, s), BOOST_PP_FOR_318, BOOST_PP_TUPLE_EAT_4)(o(318, s), p, o, m) -# define BOOST_PP_FOR_318_I(s, p, o, m) BOOST_PP_IF(p(319, s), m, BOOST_PP_TUPLE_EAT_2)(319, s) BOOST_PP_IF(p(319, s), BOOST_PP_FOR_319, BOOST_PP_TUPLE_EAT_4)(o(319, s), p, o, m) -# define BOOST_PP_FOR_319_I(s, p, o, m) BOOST_PP_IF(p(320, s), m, BOOST_PP_TUPLE_EAT_2)(320, s) BOOST_PP_IF(p(320, s), BOOST_PP_FOR_320, BOOST_PP_TUPLE_EAT_4)(o(320, s), p, o, m) -# define BOOST_PP_FOR_320_I(s, p, o, m) BOOST_PP_IF(p(321, s), m, BOOST_PP_TUPLE_EAT_2)(321, s) BOOST_PP_IF(p(321, s), BOOST_PP_FOR_321, BOOST_PP_TUPLE_EAT_4)(o(321, s), p, o, m) -# define BOOST_PP_FOR_321_I(s, p, o, m) BOOST_PP_IF(p(322, s), m, BOOST_PP_TUPLE_EAT_2)(322, s) BOOST_PP_IF(p(322, s), BOOST_PP_FOR_322, BOOST_PP_TUPLE_EAT_4)(o(322, s), p, o, m) -# define BOOST_PP_FOR_322_I(s, p, o, m) BOOST_PP_IF(p(323, s), m, BOOST_PP_TUPLE_EAT_2)(323, s) BOOST_PP_IF(p(323, s), BOOST_PP_FOR_323, BOOST_PP_TUPLE_EAT_4)(o(323, s), p, o, m) -# define BOOST_PP_FOR_323_I(s, p, o, m) BOOST_PP_IF(p(324, s), m, BOOST_PP_TUPLE_EAT_2)(324, s) BOOST_PP_IF(p(324, s), BOOST_PP_FOR_324, BOOST_PP_TUPLE_EAT_4)(o(324, s), p, o, m) -# define BOOST_PP_FOR_324_I(s, p, o, m) BOOST_PP_IF(p(325, s), m, BOOST_PP_TUPLE_EAT_2)(325, s) BOOST_PP_IF(p(325, s), BOOST_PP_FOR_325, BOOST_PP_TUPLE_EAT_4)(o(325, s), p, o, m) -# define BOOST_PP_FOR_325_I(s, p, o, m) BOOST_PP_IF(p(326, s), m, BOOST_PP_TUPLE_EAT_2)(326, s) BOOST_PP_IF(p(326, s), BOOST_PP_FOR_326, BOOST_PP_TUPLE_EAT_4)(o(326, s), p, o, m) -# define BOOST_PP_FOR_326_I(s, p, o, m) BOOST_PP_IF(p(327, s), m, BOOST_PP_TUPLE_EAT_2)(327, s) BOOST_PP_IF(p(327, s), BOOST_PP_FOR_327, BOOST_PP_TUPLE_EAT_4)(o(327, s), p, o, m) -# define BOOST_PP_FOR_327_I(s, p, o, m) BOOST_PP_IF(p(328, s), m, BOOST_PP_TUPLE_EAT_2)(328, s) BOOST_PP_IF(p(328, s), BOOST_PP_FOR_328, BOOST_PP_TUPLE_EAT_4)(o(328, s), p, o, m) -# define BOOST_PP_FOR_328_I(s, p, o, m) BOOST_PP_IF(p(329, s), m, BOOST_PP_TUPLE_EAT_2)(329, s) BOOST_PP_IF(p(329, s), BOOST_PP_FOR_329, BOOST_PP_TUPLE_EAT_4)(o(329, s), p, o, m) -# define BOOST_PP_FOR_329_I(s, p, o, m) BOOST_PP_IF(p(330, s), m, BOOST_PP_TUPLE_EAT_2)(330, s) BOOST_PP_IF(p(330, s), BOOST_PP_FOR_330, BOOST_PP_TUPLE_EAT_4)(o(330, s), p, o, m) -# define BOOST_PP_FOR_330_I(s, p, o, m) BOOST_PP_IF(p(331, s), m, BOOST_PP_TUPLE_EAT_2)(331, s) BOOST_PP_IF(p(331, s), BOOST_PP_FOR_331, BOOST_PP_TUPLE_EAT_4)(o(331, s), p, o, m) -# define BOOST_PP_FOR_331_I(s, p, o, m) BOOST_PP_IF(p(332, s), m, BOOST_PP_TUPLE_EAT_2)(332, s) BOOST_PP_IF(p(332, s), BOOST_PP_FOR_332, BOOST_PP_TUPLE_EAT_4)(o(332, s), p, o, m) -# define BOOST_PP_FOR_332_I(s, p, o, m) BOOST_PP_IF(p(333, s), m, BOOST_PP_TUPLE_EAT_2)(333, s) BOOST_PP_IF(p(333, s), BOOST_PP_FOR_333, BOOST_PP_TUPLE_EAT_4)(o(333, s), p, o, m) -# define BOOST_PP_FOR_333_I(s, p, o, m) BOOST_PP_IF(p(334, s), m, BOOST_PP_TUPLE_EAT_2)(334, s) BOOST_PP_IF(p(334, s), BOOST_PP_FOR_334, BOOST_PP_TUPLE_EAT_4)(o(334, s), p, o, m) -# define BOOST_PP_FOR_334_I(s, p, o, m) BOOST_PP_IF(p(335, s), m, BOOST_PP_TUPLE_EAT_2)(335, s) BOOST_PP_IF(p(335, s), BOOST_PP_FOR_335, BOOST_PP_TUPLE_EAT_4)(o(335, s), p, o, m) -# define BOOST_PP_FOR_335_I(s, p, o, m) BOOST_PP_IF(p(336, s), m, BOOST_PP_TUPLE_EAT_2)(336, s) BOOST_PP_IF(p(336, s), BOOST_PP_FOR_336, BOOST_PP_TUPLE_EAT_4)(o(336, s), p, o, m) -# define BOOST_PP_FOR_336_I(s, p, o, m) BOOST_PP_IF(p(337, s), m, BOOST_PP_TUPLE_EAT_2)(337, s) BOOST_PP_IF(p(337, s), BOOST_PP_FOR_337, BOOST_PP_TUPLE_EAT_4)(o(337, s), p, o, m) -# define BOOST_PP_FOR_337_I(s, p, o, m) BOOST_PP_IF(p(338, s), m, BOOST_PP_TUPLE_EAT_2)(338, s) BOOST_PP_IF(p(338, s), BOOST_PP_FOR_338, BOOST_PP_TUPLE_EAT_4)(o(338, s), p, o, m) -# define BOOST_PP_FOR_338_I(s, p, o, m) BOOST_PP_IF(p(339, s), m, BOOST_PP_TUPLE_EAT_2)(339, s) BOOST_PP_IF(p(339, s), BOOST_PP_FOR_339, BOOST_PP_TUPLE_EAT_4)(o(339, s), p, o, m) -# define BOOST_PP_FOR_339_I(s, p, o, m) BOOST_PP_IF(p(340, s), m, BOOST_PP_TUPLE_EAT_2)(340, s) BOOST_PP_IF(p(340, s), BOOST_PP_FOR_340, BOOST_PP_TUPLE_EAT_4)(o(340, s), p, o, m) -# define BOOST_PP_FOR_340_I(s, p, o, m) BOOST_PP_IF(p(341, s), m, BOOST_PP_TUPLE_EAT_2)(341, s) BOOST_PP_IF(p(341, s), BOOST_PP_FOR_341, BOOST_PP_TUPLE_EAT_4)(o(341, s), p, o, m) -# define BOOST_PP_FOR_341_I(s, p, o, m) BOOST_PP_IF(p(342, s), m, BOOST_PP_TUPLE_EAT_2)(342, s) BOOST_PP_IF(p(342, s), BOOST_PP_FOR_342, BOOST_PP_TUPLE_EAT_4)(o(342, s), p, o, m) -# define BOOST_PP_FOR_342_I(s, p, o, m) BOOST_PP_IF(p(343, s), m, BOOST_PP_TUPLE_EAT_2)(343, s) BOOST_PP_IF(p(343, s), BOOST_PP_FOR_343, BOOST_PP_TUPLE_EAT_4)(o(343, s), p, o, m) -# define BOOST_PP_FOR_343_I(s, p, o, m) BOOST_PP_IF(p(344, s), m, BOOST_PP_TUPLE_EAT_2)(344, s) BOOST_PP_IF(p(344, s), BOOST_PP_FOR_344, BOOST_PP_TUPLE_EAT_4)(o(344, s), p, o, m) -# define BOOST_PP_FOR_344_I(s, p, o, m) BOOST_PP_IF(p(345, s), m, BOOST_PP_TUPLE_EAT_2)(345, s) BOOST_PP_IF(p(345, s), BOOST_PP_FOR_345, BOOST_PP_TUPLE_EAT_4)(o(345, s), p, o, m) -# define BOOST_PP_FOR_345_I(s, p, o, m) BOOST_PP_IF(p(346, s), m, BOOST_PP_TUPLE_EAT_2)(346, s) BOOST_PP_IF(p(346, s), BOOST_PP_FOR_346, BOOST_PP_TUPLE_EAT_4)(o(346, s), p, o, m) -# define BOOST_PP_FOR_346_I(s, p, o, m) BOOST_PP_IF(p(347, s), m, BOOST_PP_TUPLE_EAT_2)(347, s) BOOST_PP_IF(p(347, s), BOOST_PP_FOR_347, BOOST_PP_TUPLE_EAT_4)(o(347, s), p, o, m) -# define BOOST_PP_FOR_347_I(s, p, o, m) BOOST_PP_IF(p(348, s), m, BOOST_PP_TUPLE_EAT_2)(348, s) BOOST_PP_IF(p(348, s), BOOST_PP_FOR_348, BOOST_PP_TUPLE_EAT_4)(o(348, s), p, o, m) -# define BOOST_PP_FOR_348_I(s, p, o, m) BOOST_PP_IF(p(349, s), m, BOOST_PP_TUPLE_EAT_2)(349, s) BOOST_PP_IF(p(349, s), BOOST_PP_FOR_349, BOOST_PP_TUPLE_EAT_4)(o(349, s), p, o, m) -# define BOOST_PP_FOR_349_I(s, p, o, m) BOOST_PP_IF(p(350, s), m, BOOST_PP_TUPLE_EAT_2)(350, s) BOOST_PP_IF(p(350, s), BOOST_PP_FOR_350, BOOST_PP_TUPLE_EAT_4)(o(350, s), p, o, m) -# define BOOST_PP_FOR_350_I(s, p, o, m) BOOST_PP_IF(p(351, s), m, BOOST_PP_TUPLE_EAT_2)(351, s) BOOST_PP_IF(p(351, s), BOOST_PP_FOR_351, BOOST_PP_TUPLE_EAT_4)(o(351, s), p, o, m) -# define BOOST_PP_FOR_351_I(s, p, o, m) BOOST_PP_IF(p(352, s), m, BOOST_PP_TUPLE_EAT_2)(352, s) BOOST_PP_IF(p(352, s), BOOST_PP_FOR_352, BOOST_PP_TUPLE_EAT_4)(o(352, s), p, o, m) -# define BOOST_PP_FOR_352_I(s, p, o, m) BOOST_PP_IF(p(353, s), m, BOOST_PP_TUPLE_EAT_2)(353, s) BOOST_PP_IF(p(353, s), BOOST_PP_FOR_353, BOOST_PP_TUPLE_EAT_4)(o(353, s), p, o, m) -# define BOOST_PP_FOR_353_I(s, p, o, m) BOOST_PP_IF(p(354, s), m, BOOST_PP_TUPLE_EAT_2)(354, s) BOOST_PP_IF(p(354, s), BOOST_PP_FOR_354, BOOST_PP_TUPLE_EAT_4)(o(354, s), p, o, m) -# define BOOST_PP_FOR_354_I(s, p, o, m) BOOST_PP_IF(p(355, s), m, BOOST_PP_TUPLE_EAT_2)(355, s) BOOST_PP_IF(p(355, s), BOOST_PP_FOR_355, BOOST_PP_TUPLE_EAT_4)(o(355, s), p, o, m) -# define BOOST_PP_FOR_355_I(s, p, o, m) BOOST_PP_IF(p(356, s), m, BOOST_PP_TUPLE_EAT_2)(356, s) BOOST_PP_IF(p(356, s), BOOST_PP_FOR_356, BOOST_PP_TUPLE_EAT_4)(o(356, s), p, o, m) -# define BOOST_PP_FOR_356_I(s, p, o, m) BOOST_PP_IF(p(357, s), m, BOOST_PP_TUPLE_EAT_2)(357, s) BOOST_PP_IF(p(357, s), BOOST_PP_FOR_357, BOOST_PP_TUPLE_EAT_4)(o(357, s), p, o, m) -# define BOOST_PP_FOR_357_I(s, p, o, m) BOOST_PP_IF(p(358, s), m, BOOST_PP_TUPLE_EAT_2)(358, s) BOOST_PP_IF(p(358, s), BOOST_PP_FOR_358, BOOST_PP_TUPLE_EAT_4)(o(358, s), p, o, m) -# define BOOST_PP_FOR_358_I(s, p, o, m) BOOST_PP_IF(p(359, s), m, BOOST_PP_TUPLE_EAT_2)(359, s) BOOST_PP_IF(p(359, s), BOOST_PP_FOR_359, BOOST_PP_TUPLE_EAT_4)(o(359, s), p, o, m) -# define BOOST_PP_FOR_359_I(s, p, o, m) BOOST_PP_IF(p(360, s), m, BOOST_PP_TUPLE_EAT_2)(360, s) BOOST_PP_IF(p(360, s), BOOST_PP_FOR_360, BOOST_PP_TUPLE_EAT_4)(o(360, s), p, o, m) -# define BOOST_PP_FOR_360_I(s, p, o, m) BOOST_PP_IF(p(361, s), m, BOOST_PP_TUPLE_EAT_2)(361, s) BOOST_PP_IF(p(361, s), BOOST_PP_FOR_361, BOOST_PP_TUPLE_EAT_4)(o(361, s), p, o, m) -# define BOOST_PP_FOR_361_I(s, p, o, m) BOOST_PP_IF(p(362, s), m, BOOST_PP_TUPLE_EAT_2)(362, s) BOOST_PP_IF(p(362, s), BOOST_PP_FOR_362, BOOST_PP_TUPLE_EAT_4)(o(362, s), p, o, m) -# define BOOST_PP_FOR_362_I(s, p, o, m) BOOST_PP_IF(p(363, s), m, BOOST_PP_TUPLE_EAT_2)(363, s) BOOST_PP_IF(p(363, s), BOOST_PP_FOR_363, BOOST_PP_TUPLE_EAT_4)(o(363, s), p, o, m) -# define BOOST_PP_FOR_363_I(s, p, o, m) BOOST_PP_IF(p(364, s), m, BOOST_PP_TUPLE_EAT_2)(364, s) BOOST_PP_IF(p(364, s), BOOST_PP_FOR_364, BOOST_PP_TUPLE_EAT_4)(o(364, s), p, o, m) -# define BOOST_PP_FOR_364_I(s, p, o, m) BOOST_PP_IF(p(365, s), m, BOOST_PP_TUPLE_EAT_2)(365, s) BOOST_PP_IF(p(365, s), BOOST_PP_FOR_365, BOOST_PP_TUPLE_EAT_4)(o(365, s), p, o, m) -# define BOOST_PP_FOR_365_I(s, p, o, m) BOOST_PP_IF(p(366, s), m, BOOST_PP_TUPLE_EAT_2)(366, s) BOOST_PP_IF(p(366, s), BOOST_PP_FOR_366, BOOST_PP_TUPLE_EAT_4)(o(366, s), p, o, m) -# define BOOST_PP_FOR_366_I(s, p, o, m) BOOST_PP_IF(p(367, s), m, BOOST_PP_TUPLE_EAT_2)(367, s) BOOST_PP_IF(p(367, s), BOOST_PP_FOR_367, BOOST_PP_TUPLE_EAT_4)(o(367, s), p, o, m) -# define BOOST_PP_FOR_367_I(s, p, o, m) BOOST_PP_IF(p(368, s), m, BOOST_PP_TUPLE_EAT_2)(368, s) BOOST_PP_IF(p(368, s), BOOST_PP_FOR_368, BOOST_PP_TUPLE_EAT_4)(o(368, s), p, o, m) -# define BOOST_PP_FOR_368_I(s, p, o, m) BOOST_PP_IF(p(369, s), m, BOOST_PP_TUPLE_EAT_2)(369, s) BOOST_PP_IF(p(369, s), BOOST_PP_FOR_369, BOOST_PP_TUPLE_EAT_4)(o(369, s), p, o, m) -# define BOOST_PP_FOR_369_I(s, p, o, m) BOOST_PP_IF(p(370, s), m, BOOST_PP_TUPLE_EAT_2)(370, s) BOOST_PP_IF(p(370, s), BOOST_PP_FOR_370, BOOST_PP_TUPLE_EAT_4)(o(370, s), p, o, m) -# define BOOST_PP_FOR_370_I(s, p, o, m) BOOST_PP_IF(p(371, s), m, BOOST_PP_TUPLE_EAT_2)(371, s) BOOST_PP_IF(p(371, s), BOOST_PP_FOR_371, BOOST_PP_TUPLE_EAT_4)(o(371, s), p, o, m) -# define BOOST_PP_FOR_371_I(s, p, o, m) BOOST_PP_IF(p(372, s), m, BOOST_PP_TUPLE_EAT_2)(372, s) BOOST_PP_IF(p(372, s), BOOST_PP_FOR_372, BOOST_PP_TUPLE_EAT_4)(o(372, s), p, o, m) -# define BOOST_PP_FOR_372_I(s, p, o, m) BOOST_PP_IF(p(373, s), m, BOOST_PP_TUPLE_EAT_2)(373, s) BOOST_PP_IF(p(373, s), BOOST_PP_FOR_373, BOOST_PP_TUPLE_EAT_4)(o(373, s), p, o, m) -# define BOOST_PP_FOR_373_I(s, p, o, m) BOOST_PP_IF(p(374, s), m, BOOST_PP_TUPLE_EAT_2)(374, s) BOOST_PP_IF(p(374, s), BOOST_PP_FOR_374, BOOST_PP_TUPLE_EAT_4)(o(374, s), p, o, m) -# define BOOST_PP_FOR_374_I(s, p, o, m) BOOST_PP_IF(p(375, s), m, BOOST_PP_TUPLE_EAT_2)(375, s) BOOST_PP_IF(p(375, s), BOOST_PP_FOR_375, BOOST_PP_TUPLE_EAT_4)(o(375, s), p, o, m) -# define BOOST_PP_FOR_375_I(s, p, o, m) BOOST_PP_IF(p(376, s), m, BOOST_PP_TUPLE_EAT_2)(376, s) BOOST_PP_IF(p(376, s), BOOST_PP_FOR_376, BOOST_PP_TUPLE_EAT_4)(o(376, s), p, o, m) -# define BOOST_PP_FOR_376_I(s, p, o, m) BOOST_PP_IF(p(377, s), m, BOOST_PP_TUPLE_EAT_2)(377, s) BOOST_PP_IF(p(377, s), BOOST_PP_FOR_377, BOOST_PP_TUPLE_EAT_4)(o(377, s), p, o, m) -# define BOOST_PP_FOR_377_I(s, p, o, m) BOOST_PP_IF(p(378, s), m, BOOST_PP_TUPLE_EAT_2)(378, s) BOOST_PP_IF(p(378, s), BOOST_PP_FOR_378, BOOST_PP_TUPLE_EAT_4)(o(378, s), p, o, m) -# define BOOST_PP_FOR_378_I(s, p, o, m) BOOST_PP_IF(p(379, s), m, BOOST_PP_TUPLE_EAT_2)(379, s) BOOST_PP_IF(p(379, s), BOOST_PP_FOR_379, BOOST_PP_TUPLE_EAT_4)(o(379, s), p, o, m) -# define BOOST_PP_FOR_379_I(s, p, o, m) BOOST_PP_IF(p(380, s), m, BOOST_PP_TUPLE_EAT_2)(380, s) BOOST_PP_IF(p(380, s), BOOST_PP_FOR_380, BOOST_PP_TUPLE_EAT_4)(o(380, s), p, o, m) -# define BOOST_PP_FOR_380_I(s, p, o, m) BOOST_PP_IF(p(381, s), m, BOOST_PP_TUPLE_EAT_2)(381, s) BOOST_PP_IF(p(381, s), BOOST_PP_FOR_381, BOOST_PP_TUPLE_EAT_4)(o(381, s), p, o, m) -# define BOOST_PP_FOR_381_I(s, p, o, m) BOOST_PP_IF(p(382, s), m, BOOST_PP_TUPLE_EAT_2)(382, s) BOOST_PP_IF(p(382, s), BOOST_PP_FOR_382, BOOST_PP_TUPLE_EAT_4)(o(382, s), p, o, m) -# define BOOST_PP_FOR_382_I(s, p, o, m) BOOST_PP_IF(p(383, s), m, BOOST_PP_TUPLE_EAT_2)(383, s) BOOST_PP_IF(p(383, s), BOOST_PP_FOR_383, BOOST_PP_TUPLE_EAT_4)(o(383, s), p, o, m) -# define BOOST_PP_FOR_383_I(s, p, o, m) BOOST_PP_IF(p(384, s), m, BOOST_PP_TUPLE_EAT_2)(384, s) BOOST_PP_IF(p(384, s), BOOST_PP_FOR_384, BOOST_PP_TUPLE_EAT_4)(o(384, s), p, o, m) -# define BOOST_PP_FOR_384_I(s, p, o, m) BOOST_PP_IF(p(385, s), m, BOOST_PP_TUPLE_EAT_2)(385, s) BOOST_PP_IF(p(385, s), BOOST_PP_FOR_385, BOOST_PP_TUPLE_EAT_4)(o(385, s), p, o, m) -# define BOOST_PP_FOR_385_I(s, p, o, m) BOOST_PP_IF(p(386, s), m, BOOST_PP_TUPLE_EAT_2)(386, s) BOOST_PP_IF(p(386, s), BOOST_PP_FOR_386, BOOST_PP_TUPLE_EAT_4)(o(386, s), p, o, m) -# define BOOST_PP_FOR_386_I(s, p, o, m) BOOST_PP_IF(p(387, s), m, BOOST_PP_TUPLE_EAT_2)(387, s) BOOST_PP_IF(p(387, s), BOOST_PP_FOR_387, BOOST_PP_TUPLE_EAT_4)(o(387, s), p, o, m) -# define BOOST_PP_FOR_387_I(s, p, o, m) BOOST_PP_IF(p(388, s), m, BOOST_PP_TUPLE_EAT_2)(388, s) BOOST_PP_IF(p(388, s), BOOST_PP_FOR_388, BOOST_PP_TUPLE_EAT_4)(o(388, s), p, o, m) -# define BOOST_PP_FOR_388_I(s, p, o, m) BOOST_PP_IF(p(389, s), m, BOOST_PP_TUPLE_EAT_2)(389, s) BOOST_PP_IF(p(389, s), BOOST_PP_FOR_389, BOOST_PP_TUPLE_EAT_4)(o(389, s), p, o, m) -# define BOOST_PP_FOR_389_I(s, p, o, m) BOOST_PP_IF(p(390, s), m, BOOST_PP_TUPLE_EAT_2)(390, s) BOOST_PP_IF(p(390, s), BOOST_PP_FOR_390, BOOST_PP_TUPLE_EAT_4)(o(390, s), p, o, m) -# define BOOST_PP_FOR_390_I(s, p, o, m) BOOST_PP_IF(p(391, s), m, BOOST_PP_TUPLE_EAT_2)(391, s) BOOST_PP_IF(p(391, s), BOOST_PP_FOR_391, BOOST_PP_TUPLE_EAT_4)(o(391, s), p, o, m) -# define BOOST_PP_FOR_391_I(s, p, o, m) BOOST_PP_IF(p(392, s), m, BOOST_PP_TUPLE_EAT_2)(392, s) BOOST_PP_IF(p(392, s), BOOST_PP_FOR_392, BOOST_PP_TUPLE_EAT_4)(o(392, s), p, o, m) -# define BOOST_PP_FOR_392_I(s, p, o, m) BOOST_PP_IF(p(393, s), m, BOOST_PP_TUPLE_EAT_2)(393, s) BOOST_PP_IF(p(393, s), BOOST_PP_FOR_393, BOOST_PP_TUPLE_EAT_4)(o(393, s), p, o, m) -# define BOOST_PP_FOR_393_I(s, p, o, m) BOOST_PP_IF(p(394, s), m, BOOST_PP_TUPLE_EAT_2)(394, s) BOOST_PP_IF(p(394, s), BOOST_PP_FOR_394, BOOST_PP_TUPLE_EAT_4)(o(394, s), p, o, m) -# define BOOST_PP_FOR_394_I(s, p, o, m) BOOST_PP_IF(p(395, s), m, BOOST_PP_TUPLE_EAT_2)(395, s) BOOST_PP_IF(p(395, s), BOOST_PP_FOR_395, BOOST_PP_TUPLE_EAT_4)(o(395, s), p, o, m) -# define BOOST_PP_FOR_395_I(s, p, o, m) BOOST_PP_IF(p(396, s), m, BOOST_PP_TUPLE_EAT_2)(396, s) BOOST_PP_IF(p(396, s), BOOST_PP_FOR_396, BOOST_PP_TUPLE_EAT_4)(o(396, s), p, o, m) -# define BOOST_PP_FOR_396_I(s, p, o, m) BOOST_PP_IF(p(397, s), m, BOOST_PP_TUPLE_EAT_2)(397, s) BOOST_PP_IF(p(397, s), BOOST_PP_FOR_397, BOOST_PP_TUPLE_EAT_4)(o(397, s), p, o, m) -# define BOOST_PP_FOR_397_I(s, p, o, m) BOOST_PP_IF(p(398, s), m, BOOST_PP_TUPLE_EAT_2)(398, s) BOOST_PP_IF(p(398, s), BOOST_PP_FOR_398, BOOST_PP_TUPLE_EAT_4)(o(398, s), p, o, m) -# define BOOST_PP_FOR_398_I(s, p, o, m) BOOST_PP_IF(p(399, s), m, BOOST_PP_TUPLE_EAT_2)(399, s) BOOST_PP_IF(p(399, s), BOOST_PP_FOR_399, BOOST_PP_TUPLE_EAT_4)(o(399, s), p, o, m) -# define BOOST_PP_FOR_399_I(s, p, o, m) BOOST_PP_IF(p(400, s), m, BOOST_PP_TUPLE_EAT_2)(400, s) BOOST_PP_IF(p(400, s), BOOST_PP_FOR_400, BOOST_PP_TUPLE_EAT_4)(o(400, s), p, o, m) -# define BOOST_PP_FOR_400_I(s, p, o, m) BOOST_PP_IF(p(401, s), m, BOOST_PP_TUPLE_EAT_2)(401, s) BOOST_PP_IF(p(401, s), BOOST_PP_FOR_401, BOOST_PP_TUPLE_EAT_4)(o(401, s), p, o, m) -# define BOOST_PP_FOR_401_I(s, p, o, m) BOOST_PP_IF(p(402, s), m, BOOST_PP_TUPLE_EAT_2)(402, s) BOOST_PP_IF(p(402, s), BOOST_PP_FOR_402, BOOST_PP_TUPLE_EAT_4)(o(402, s), p, o, m) -# define BOOST_PP_FOR_402_I(s, p, o, m) BOOST_PP_IF(p(403, s), m, BOOST_PP_TUPLE_EAT_2)(403, s) BOOST_PP_IF(p(403, s), BOOST_PP_FOR_403, BOOST_PP_TUPLE_EAT_4)(o(403, s), p, o, m) -# define BOOST_PP_FOR_403_I(s, p, o, m) BOOST_PP_IF(p(404, s), m, BOOST_PP_TUPLE_EAT_2)(404, s) BOOST_PP_IF(p(404, s), BOOST_PP_FOR_404, BOOST_PP_TUPLE_EAT_4)(o(404, s), p, o, m) -# define BOOST_PP_FOR_404_I(s, p, o, m) BOOST_PP_IF(p(405, s), m, BOOST_PP_TUPLE_EAT_2)(405, s) BOOST_PP_IF(p(405, s), BOOST_PP_FOR_405, BOOST_PP_TUPLE_EAT_4)(o(405, s), p, o, m) -# define BOOST_PP_FOR_405_I(s, p, o, m) BOOST_PP_IF(p(406, s), m, BOOST_PP_TUPLE_EAT_2)(406, s) BOOST_PP_IF(p(406, s), BOOST_PP_FOR_406, BOOST_PP_TUPLE_EAT_4)(o(406, s), p, o, m) -# define BOOST_PP_FOR_406_I(s, p, o, m) BOOST_PP_IF(p(407, s), m, BOOST_PP_TUPLE_EAT_2)(407, s) BOOST_PP_IF(p(407, s), BOOST_PP_FOR_407, BOOST_PP_TUPLE_EAT_4)(o(407, s), p, o, m) -# define BOOST_PP_FOR_407_I(s, p, o, m) BOOST_PP_IF(p(408, s), m, BOOST_PP_TUPLE_EAT_2)(408, s) BOOST_PP_IF(p(408, s), BOOST_PP_FOR_408, BOOST_PP_TUPLE_EAT_4)(o(408, s), p, o, m) -# define BOOST_PP_FOR_408_I(s, p, o, m) BOOST_PP_IF(p(409, s), m, BOOST_PP_TUPLE_EAT_2)(409, s) BOOST_PP_IF(p(409, s), BOOST_PP_FOR_409, BOOST_PP_TUPLE_EAT_4)(o(409, s), p, o, m) -# define BOOST_PP_FOR_409_I(s, p, o, m) BOOST_PP_IF(p(410, s), m, BOOST_PP_TUPLE_EAT_2)(410, s) BOOST_PP_IF(p(410, s), BOOST_PP_FOR_410, BOOST_PP_TUPLE_EAT_4)(o(410, s), p, o, m) -# define BOOST_PP_FOR_410_I(s, p, o, m) BOOST_PP_IF(p(411, s), m, BOOST_PP_TUPLE_EAT_2)(411, s) BOOST_PP_IF(p(411, s), BOOST_PP_FOR_411, BOOST_PP_TUPLE_EAT_4)(o(411, s), p, o, m) -# define BOOST_PP_FOR_411_I(s, p, o, m) BOOST_PP_IF(p(412, s), m, BOOST_PP_TUPLE_EAT_2)(412, s) BOOST_PP_IF(p(412, s), BOOST_PP_FOR_412, BOOST_PP_TUPLE_EAT_4)(o(412, s), p, o, m) -# define BOOST_PP_FOR_412_I(s, p, o, m) BOOST_PP_IF(p(413, s), m, BOOST_PP_TUPLE_EAT_2)(413, s) BOOST_PP_IF(p(413, s), BOOST_PP_FOR_413, BOOST_PP_TUPLE_EAT_4)(o(413, s), p, o, m) -# define BOOST_PP_FOR_413_I(s, p, o, m) BOOST_PP_IF(p(414, s), m, BOOST_PP_TUPLE_EAT_2)(414, s) BOOST_PP_IF(p(414, s), BOOST_PP_FOR_414, BOOST_PP_TUPLE_EAT_4)(o(414, s), p, o, m) -# define BOOST_PP_FOR_414_I(s, p, o, m) BOOST_PP_IF(p(415, s), m, BOOST_PP_TUPLE_EAT_2)(415, s) BOOST_PP_IF(p(415, s), BOOST_PP_FOR_415, BOOST_PP_TUPLE_EAT_4)(o(415, s), p, o, m) -# define BOOST_PP_FOR_415_I(s, p, o, m) BOOST_PP_IF(p(416, s), m, BOOST_PP_TUPLE_EAT_2)(416, s) BOOST_PP_IF(p(416, s), BOOST_PP_FOR_416, BOOST_PP_TUPLE_EAT_4)(o(416, s), p, o, m) -# define BOOST_PP_FOR_416_I(s, p, o, m) BOOST_PP_IF(p(417, s), m, BOOST_PP_TUPLE_EAT_2)(417, s) BOOST_PP_IF(p(417, s), BOOST_PP_FOR_417, BOOST_PP_TUPLE_EAT_4)(o(417, s), p, o, m) -# define BOOST_PP_FOR_417_I(s, p, o, m) BOOST_PP_IF(p(418, s), m, BOOST_PP_TUPLE_EAT_2)(418, s) BOOST_PP_IF(p(418, s), BOOST_PP_FOR_418, BOOST_PP_TUPLE_EAT_4)(o(418, s), p, o, m) -# define BOOST_PP_FOR_418_I(s, p, o, m) BOOST_PP_IF(p(419, s), m, BOOST_PP_TUPLE_EAT_2)(419, s) BOOST_PP_IF(p(419, s), BOOST_PP_FOR_419, BOOST_PP_TUPLE_EAT_4)(o(419, s), p, o, m) -# define BOOST_PP_FOR_419_I(s, p, o, m) BOOST_PP_IF(p(420, s), m, BOOST_PP_TUPLE_EAT_2)(420, s) BOOST_PP_IF(p(420, s), BOOST_PP_FOR_420, BOOST_PP_TUPLE_EAT_4)(o(420, s), p, o, m) -# define BOOST_PP_FOR_420_I(s, p, o, m) BOOST_PP_IF(p(421, s), m, BOOST_PP_TUPLE_EAT_2)(421, s) BOOST_PP_IF(p(421, s), BOOST_PP_FOR_421, BOOST_PP_TUPLE_EAT_4)(o(421, s), p, o, m) -# define BOOST_PP_FOR_421_I(s, p, o, m) BOOST_PP_IF(p(422, s), m, BOOST_PP_TUPLE_EAT_2)(422, s) BOOST_PP_IF(p(422, s), BOOST_PP_FOR_422, BOOST_PP_TUPLE_EAT_4)(o(422, s), p, o, m) -# define BOOST_PP_FOR_422_I(s, p, o, m) BOOST_PP_IF(p(423, s), m, BOOST_PP_TUPLE_EAT_2)(423, s) BOOST_PP_IF(p(423, s), BOOST_PP_FOR_423, BOOST_PP_TUPLE_EAT_4)(o(423, s), p, o, m) -# define BOOST_PP_FOR_423_I(s, p, o, m) BOOST_PP_IF(p(424, s), m, BOOST_PP_TUPLE_EAT_2)(424, s) BOOST_PP_IF(p(424, s), BOOST_PP_FOR_424, BOOST_PP_TUPLE_EAT_4)(o(424, s), p, o, m) -# define BOOST_PP_FOR_424_I(s, p, o, m) BOOST_PP_IF(p(425, s), m, BOOST_PP_TUPLE_EAT_2)(425, s) BOOST_PP_IF(p(425, s), BOOST_PP_FOR_425, BOOST_PP_TUPLE_EAT_4)(o(425, s), p, o, m) -# define BOOST_PP_FOR_425_I(s, p, o, m) BOOST_PP_IF(p(426, s), m, BOOST_PP_TUPLE_EAT_2)(426, s) BOOST_PP_IF(p(426, s), BOOST_PP_FOR_426, BOOST_PP_TUPLE_EAT_4)(o(426, s), p, o, m) -# define BOOST_PP_FOR_426_I(s, p, o, m) BOOST_PP_IF(p(427, s), m, BOOST_PP_TUPLE_EAT_2)(427, s) BOOST_PP_IF(p(427, s), BOOST_PP_FOR_427, BOOST_PP_TUPLE_EAT_4)(o(427, s), p, o, m) -# define BOOST_PP_FOR_427_I(s, p, o, m) BOOST_PP_IF(p(428, s), m, BOOST_PP_TUPLE_EAT_2)(428, s) BOOST_PP_IF(p(428, s), BOOST_PP_FOR_428, BOOST_PP_TUPLE_EAT_4)(o(428, s), p, o, m) -# define BOOST_PP_FOR_428_I(s, p, o, m) BOOST_PP_IF(p(429, s), m, BOOST_PP_TUPLE_EAT_2)(429, s) BOOST_PP_IF(p(429, s), BOOST_PP_FOR_429, BOOST_PP_TUPLE_EAT_4)(o(429, s), p, o, m) -# define BOOST_PP_FOR_429_I(s, p, o, m) BOOST_PP_IF(p(430, s), m, BOOST_PP_TUPLE_EAT_2)(430, s) BOOST_PP_IF(p(430, s), BOOST_PP_FOR_430, BOOST_PP_TUPLE_EAT_4)(o(430, s), p, o, m) -# define BOOST_PP_FOR_430_I(s, p, o, m) BOOST_PP_IF(p(431, s), m, BOOST_PP_TUPLE_EAT_2)(431, s) BOOST_PP_IF(p(431, s), BOOST_PP_FOR_431, BOOST_PP_TUPLE_EAT_4)(o(431, s), p, o, m) -# define BOOST_PP_FOR_431_I(s, p, o, m) BOOST_PP_IF(p(432, s), m, BOOST_PP_TUPLE_EAT_2)(432, s) BOOST_PP_IF(p(432, s), BOOST_PP_FOR_432, BOOST_PP_TUPLE_EAT_4)(o(432, s), p, o, m) -# define BOOST_PP_FOR_432_I(s, p, o, m) BOOST_PP_IF(p(433, s), m, BOOST_PP_TUPLE_EAT_2)(433, s) BOOST_PP_IF(p(433, s), BOOST_PP_FOR_433, BOOST_PP_TUPLE_EAT_4)(o(433, s), p, o, m) -# define BOOST_PP_FOR_433_I(s, p, o, m) BOOST_PP_IF(p(434, s), m, BOOST_PP_TUPLE_EAT_2)(434, s) BOOST_PP_IF(p(434, s), BOOST_PP_FOR_434, BOOST_PP_TUPLE_EAT_4)(o(434, s), p, o, m) -# define BOOST_PP_FOR_434_I(s, p, o, m) BOOST_PP_IF(p(435, s), m, BOOST_PP_TUPLE_EAT_2)(435, s) BOOST_PP_IF(p(435, s), BOOST_PP_FOR_435, BOOST_PP_TUPLE_EAT_4)(o(435, s), p, o, m) -# define BOOST_PP_FOR_435_I(s, p, o, m) BOOST_PP_IF(p(436, s), m, BOOST_PP_TUPLE_EAT_2)(436, s) BOOST_PP_IF(p(436, s), BOOST_PP_FOR_436, BOOST_PP_TUPLE_EAT_4)(o(436, s), p, o, m) -# define BOOST_PP_FOR_436_I(s, p, o, m) BOOST_PP_IF(p(437, s), m, BOOST_PP_TUPLE_EAT_2)(437, s) BOOST_PP_IF(p(437, s), BOOST_PP_FOR_437, BOOST_PP_TUPLE_EAT_4)(o(437, s), p, o, m) -# define BOOST_PP_FOR_437_I(s, p, o, m) BOOST_PP_IF(p(438, s), m, BOOST_PP_TUPLE_EAT_2)(438, s) BOOST_PP_IF(p(438, s), BOOST_PP_FOR_438, BOOST_PP_TUPLE_EAT_4)(o(438, s), p, o, m) -# define BOOST_PP_FOR_438_I(s, p, o, m) BOOST_PP_IF(p(439, s), m, BOOST_PP_TUPLE_EAT_2)(439, s) BOOST_PP_IF(p(439, s), BOOST_PP_FOR_439, BOOST_PP_TUPLE_EAT_4)(o(439, s), p, o, m) -# define BOOST_PP_FOR_439_I(s, p, o, m) BOOST_PP_IF(p(440, s), m, BOOST_PP_TUPLE_EAT_2)(440, s) BOOST_PP_IF(p(440, s), BOOST_PP_FOR_440, BOOST_PP_TUPLE_EAT_4)(o(440, s), p, o, m) -# define BOOST_PP_FOR_440_I(s, p, o, m) BOOST_PP_IF(p(441, s), m, BOOST_PP_TUPLE_EAT_2)(441, s) BOOST_PP_IF(p(441, s), BOOST_PP_FOR_441, BOOST_PP_TUPLE_EAT_4)(o(441, s), p, o, m) -# define BOOST_PP_FOR_441_I(s, p, o, m) BOOST_PP_IF(p(442, s), m, BOOST_PP_TUPLE_EAT_2)(442, s) BOOST_PP_IF(p(442, s), BOOST_PP_FOR_442, BOOST_PP_TUPLE_EAT_4)(o(442, s), p, o, m) -# define BOOST_PP_FOR_442_I(s, p, o, m) BOOST_PP_IF(p(443, s), m, BOOST_PP_TUPLE_EAT_2)(443, s) BOOST_PP_IF(p(443, s), BOOST_PP_FOR_443, BOOST_PP_TUPLE_EAT_4)(o(443, s), p, o, m) -# define BOOST_PP_FOR_443_I(s, p, o, m) BOOST_PP_IF(p(444, s), m, BOOST_PP_TUPLE_EAT_2)(444, s) BOOST_PP_IF(p(444, s), BOOST_PP_FOR_444, BOOST_PP_TUPLE_EAT_4)(o(444, s), p, o, m) -# define BOOST_PP_FOR_444_I(s, p, o, m) BOOST_PP_IF(p(445, s), m, BOOST_PP_TUPLE_EAT_2)(445, s) BOOST_PP_IF(p(445, s), BOOST_PP_FOR_445, BOOST_PP_TUPLE_EAT_4)(o(445, s), p, o, m) -# define BOOST_PP_FOR_445_I(s, p, o, m) BOOST_PP_IF(p(446, s), m, BOOST_PP_TUPLE_EAT_2)(446, s) BOOST_PP_IF(p(446, s), BOOST_PP_FOR_446, BOOST_PP_TUPLE_EAT_4)(o(446, s), p, o, m) -# define BOOST_PP_FOR_446_I(s, p, o, m) BOOST_PP_IF(p(447, s), m, BOOST_PP_TUPLE_EAT_2)(447, s) BOOST_PP_IF(p(447, s), BOOST_PP_FOR_447, BOOST_PP_TUPLE_EAT_4)(o(447, s), p, o, m) -# define BOOST_PP_FOR_447_I(s, p, o, m) BOOST_PP_IF(p(448, s), m, BOOST_PP_TUPLE_EAT_2)(448, s) BOOST_PP_IF(p(448, s), BOOST_PP_FOR_448, BOOST_PP_TUPLE_EAT_4)(o(448, s), p, o, m) -# define BOOST_PP_FOR_448_I(s, p, o, m) BOOST_PP_IF(p(449, s), m, BOOST_PP_TUPLE_EAT_2)(449, s) BOOST_PP_IF(p(449, s), BOOST_PP_FOR_449, BOOST_PP_TUPLE_EAT_4)(o(449, s), p, o, m) -# define BOOST_PP_FOR_449_I(s, p, o, m) BOOST_PP_IF(p(450, s), m, BOOST_PP_TUPLE_EAT_2)(450, s) BOOST_PP_IF(p(450, s), BOOST_PP_FOR_450, BOOST_PP_TUPLE_EAT_4)(o(450, s), p, o, m) -# define BOOST_PP_FOR_450_I(s, p, o, m) BOOST_PP_IF(p(451, s), m, BOOST_PP_TUPLE_EAT_2)(451, s) BOOST_PP_IF(p(451, s), BOOST_PP_FOR_451, BOOST_PP_TUPLE_EAT_4)(o(451, s), p, o, m) -# define BOOST_PP_FOR_451_I(s, p, o, m) BOOST_PP_IF(p(452, s), m, BOOST_PP_TUPLE_EAT_2)(452, s) BOOST_PP_IF(p(452, s), BOOST_PP_FOR_452, BOOST_PP_TUPLE_EAT_4)(o(452, s), p, o, m) -# define BOOST_PP_FOR_452_I(s, p, o, m) BOOST_PP_IF(p(453, s), m, BOOST_PP_TUPLE_EAT_2)(453, s) BOOST_PP_IF(p(453, s), BOOST_PP_FOR_453, BOOST_PP_TUPLE_EAT_4)(o(453, s), p, o, m) -# define BOOST_PP_FOR_453_I(s, p, o, m) BOOST_PP_IF(p(454, s), m, BOOST_PP_TUPLE_EAT_2)(454, s) BOOST_PP_IF(p(454, s), BOOST_PP_FOR_454, BOOST_PP_TUPLE_EAT_4)(o(454, s), p, o, m) -# define BOOST_PP_FOR_454_I(s, p, o, m) BOOST_PP_IF(p(455, s), m, BOOST_PP_TUPLE_EAT_2)(455, s) BOOST_PP_IF(p(455, s), BOOST_PP_FOR_455, BOOST_PP_TUPLE_EAT_4)(o(455, s), p, o, m) -# define BOOST_PP_FOR_455_I(s, p, o, m) BOOST_PP_IF(p(456, s), m, BOOST_PP_TUPLE_EAT_2)(456, s) BOOST_PP_IF(p(456, s), BOOST_PP_FOR_456, BOOST_PP_TUPLE_EAT_4)(o(456, s), p, o, m) -# define BOOST_PP_FOR_456_I(s, p, o, m) BOOST_PP_IF(p(457, s), m, BOOST_PP_TUPLE_EAT_2)(457, s) BOOST_PP_IF(p(457, s), BOOST_PP_FOR_457, BOOST_PP_TUPLE_EAT_4)(o(457, s), p, o, m) -# define BOOST_PP_FOR_457_I(s, p, o, m) BOOST_PP_IF(p(458, s), m, BOOST_PP_TUPLE_EAT_2)(458, s) BOOST_PP_IF(p(458, s), BOOST_PP_FOR_458, BOOST_PP_TUPLE_EAT_4)(o(458, s), p, o, m) -# define BOOST_PP_FOR_458_I(s, p, o, m) BOOST_PP_IF(p(459, s), m, BOOST_PP_TUPLE_EAT_2)(459, s) BOOST_PP_IF(p(459, s), BOOST_PP_FOR_459, BOOST_PP_TUPLE_EAT_4)(o(459, s), p, o, m) -# define BOOST_PP_FOR_459_I(s, p, o, m) BOOST_PP_IF(p(460, s), m, BOOST_PP_TUPLE_EAT_2)(460, s) BOOST_PP_IF(p(460, s), BOOST_PP_FOR_460, BOOST_PP_TUPLE_EAT_4)(o(460, s), p, o, m) -# define BOOST_PP_FOR_460_I(s, p, o, m) BOOST_PP_IF(p(461, s), m, BOOST_PP_TUPLE_EAT_2)(461, s) BOOST_PP_IF(p(461, s), BOOST_PP_FOR_461, BOOST_PP_TUPLE_EAT_4)(o(461, s), p, o, m) -# define BOOST_PP_FOR_461_I(s, p, o, m) BOOST_PP_IF(p(462, s), m, BOOST_PP_TUPLE_EAT_2)(462, s) BOOST_PP_IF(p(462, s), BOOST_PP_FOR_462, BOOST_PP_TUPLE_EAT_4)(o(462, s), p, o, m) -# define BOOST_PP_FOR_462_I(s, p, o, m) BOOST_PP_IF(p(463, s), m, BOOST_PP_TUPLE_EAT_2)(463, s) BOOST_PP_IF(p(463, s), BOOST_PP_FOR_463, BOOST_PP_TUPLE_EAT_4)(o(463, s), p, o, m) -# define BOOST_PP_FOR_463_I(s, p, o, m) BOOST_PP_IF(p(464, s), m, BOOST_PP_TUPLE_EAT_2)(464, s) BOOST_PP_IF(p(464, s), BOOST_PP_FOR_464, BOOST_PP_TUPLE_EAT_4)(o(464, s), p, o, m) -# define BOOST_PP_FOR_464_I(s, p, o, m) BOOST_PP_IF(p(465, s), m, BOOST_PP_TUPLE_EAT_2)(465, s) BOOST_PP_IF(p(465, s), BOOST_PP_FOR_465, BOOST_PP_TUPLE_EAT_4)(o(465, s), p, o, m) -# define BOOST_PP_FOR_465_I(s, p, o, m) BOOST_PP_IF(p(466, s), m, BOOST_PP_TUPLE_EAT_2)(466, s) BOOST_PP_IF(p(466, s), BOOST_PP_FOR_466, BOOST_PP_TUPLE_EAT_4)(o(466, s), p, o, m) -# define BOOST_PP_FOR_466_I(s, p, o, m) BOOST_PP_IF(p(467, s), m, BOOST_PP_TUPLE_EAT_2)(467, s) BOOST_PP_IF(p(467, s), BOOST_PP_FOR_467, BOOST_PP_TUPLE_EAT_4)(o(467, s), p, o, m) -# define BOOST_PP_FOR_467_I(s, p, o, m) BOOST_PP_IF(p(468, s), m, BOOST_PP_TUPLE_EAT_2)(468, s) BOOST_PP_IF(p(468, s), BOOST_PP_FOR_468, BOOST_PP_TUPLE_EAT_4)(o(468, s), p, o, m) -# define BOOST_PP_FOR_468_I(s, p, o, m) BOOST_PP_IF(p(469, s), m, BOOST_PP_TUPLE_EAT_2)(469, s) BOOST_PP_IF(p(469, s), BOOST_PP_FOR_469, BOOST_PP_TUPLE_EAT_4)(o(469, s), p, o, m) -# define BOOST_PP_FOR_469_I(s, p, o, m) BOOST_PP_IF(p(470, s), m, BOOST_PP_TUPLE_EAT_2)(470, s) BOOST_PP_IF(p(470, s), BOOST_PP_FOR_470, BOOST_PP_TUPLE_EAT_4)(o(470, s), p, o, m) -# define BOOST_PP_FOR_470_I(s, p, o, m) BOOST_PP_IF(p(471, s), m, BOOST_PP_TUPLE_EAT_2)(471, s) BOOST_PP_IF(p(471, s), BOOST_PP_FOR_471, BOOST_PP_TUPLE_EAT_4)(o(471, s), p, o, m) -# define BOOST_PP_FOR_471_I(s, p, o, m) BOOST_PP_IF(p(472, s), m, BOOST_PP_TUPLE_EAT_2)(472, s) BOOST_PP_IF(p(472, s), BOOST_PP_FOR_472, BOOST_PP_TUPLE_EAT_4)(o(472, s), p, o, m) -# define BOOST_PP_FOR_472_I(s, p, o, m) BOOST_PP_IF(p(473, s), m, BOOST_PP_TUPLE_EAT_2)(473, s) BOOST_PP_IF(p(473, s), BOOST_PP_FOR_473, BOOST_PP_TUPLE_EAT_4)(o(473, s), p, o, m) -# define BOOST_PP_FOR_473_I(s, p, o, m) BOOST_PP_IF(p(474, s), m, BOOST_PP_TUPLE_EAT_2)(474, s) BOOST_PP_IF(p(474, s), BOOST_PP_FOR_474, BOOST_PP_TUPLE_EAT_4)(o(474, s), p, o, m) -# define BOOST_PP_FOR_474_I(s, p, o, m) BOOST_PP_IF(p(475, s), m, BOOST_PP_TUPLE_EAT_2)(475, s) BOOST_PP_IF(p(475, s), BOOST_PP_FOR_475, BOOST_PP_TUPLE_EAT_4)(o(475, s), p, o, m) -# define BOOST_PP_FOR_475_I(s, p, o, m) BOOST_PP_IF(p(476, s), m, BOOST_PP_TUPLE_EAT_2)(476, s) BOOST_PP_IF(p(476, s), BOOST_PP_FOR_476, BOOST_PP_TUPLE_EAT_4)(o(476, s), p, o, m) -# define BOOST_PP_FOR_476_I(s, p, o, m) BOOST_PP_IF(p(477, s), m, BOOST_PP_TUPLE_EAT_2)(477, s) BOOST_PP_IF(p(477, s), BOOST_PP_FOR_477, BOOST_PP_TUPLE_EAT_4)(o(477, s), p, o, m) -# define BOOST_PP_FOR_477_I(s, p, o, m) BOOST_PP_IF(p(478, s), m, BOOST_PP_TUPLE_EAT_2)(478, s) BOOST_PP_IF(p(478, s), BOOST_PP_FOR_478, BOOST_PP_TUPLE_EAT_4)(o(478, s), p, o, m) -# define BOOST_PP_FOR_478_I(s, p, o, m) BOOST_PP_IF(p(479, s), m, BOOST_PP_TUPLE_EAT_2)(479, s) BOOST_PP_IF(p(479, s), BOOST_PP_FOR_479, BOOST_PP_TUPLE_EAT_4)(o(479, s), p, o, m) -# define BOOST_PP_FOR_479_I(s, p, o, m) BOOST_PP_IF(p(480, s), m, BOOST_PP_TUPLE_EAT_2)(480, s) BOOST_PP_IF(p(480, s), BOOST_PP_FOR_480, BOOST_PP_TUPLE_EAT_4)(o(480, s), p, o, m) -# define BOOST_PP_FOR_480_I(s, p, o, m) BOOST_PP_IF(p(481, s), m, BOOST_PP_TUPLE_EAT_2)(481, s) BOOST_PP_IF(p(481, s), BOOST_PP_FOR_481, BOOST_PP_TUPLE_EAT_4)(o(481, s), p, o, m) -# define BOOST_PP_FOR_481_I(s, p, o, m) BOOST_PP_IF(p(482, s), m, BOOST_PP_TUPLE_EAT_2)(482, s) BOOST_PP_IF(p(482, s), BOOST_PP_FOR_482, BOOST_PP_TUPLE_EAT_4)(o(482, s), p, o, m) -# define BOOST_PP_FOR_482_I(s, p, o, m) BOOST_PP_IF(p(483, s), m, BOOST_PP_TUPLE_EAT_2)(483, s) BOOST_PP_IF(p(483, s), BOOST_PP_FOR_483, BOOST_PP_TUPLE_EAT_4)(o(483, s), p, o, m) -# define BOOST_PP_FOR_483_I(s, p, o, m) BOOST_PP_IF(p(484, s), m, BOOST_PP_TUPLE_EAT_2)(484, s) BOOST_PP_IF(p(484, s), BOOST_PP_FOR_484, BOOST_PP_TUPLE_EAT_4)(o(484, s), p, o, m) -# define BOOST_PP_FOR_484_I(s, p, o, m) BOOST_PP_IF(p(485, s), m, BOOST_PP_TUPLE_EAT_2)(485, s) BOOST_PP_IF(p(485, s), BOOST_PP_FOR_485, BOOST_PP_TUPLE_EAT_4)(o(485, s), p, o, m) -# define BOOST_PP_FOR_485_I(s, p, o, m) BOOST_PP_IF(p(486, s), m, BOOST_PP_TUPLE_EAT_2)(486, s) BOOST_PP_IF(p(486, s), BOOST_PP_FOR_486, BOOST_PP_TUPLE_EAT_4)(o(486, s), p, o, m) -# define BOOST_PP_FOR_486_I(s, p, o, m) BOOST_PP_IF(p(487, s), m, BOOST_PP_TUPLE_EAT_2)(487, s) BOOST_PP_IF(p(487, s), BOOST_PP_FOR_487, BOOST_PP_TUPLE_EAT_4)(o(487, s), p, o, m) -# define BOOST_PP_FOR_487_I(s, p, o, m) BOOST_PP_IF(p(488, s), m, BOOST_PP_TUPLE_EAT_2)(488, s) BOOST_PP_IF(p(488, s), BOOST_PP_FOR_488, BOOST_PP_TUPLE_EAT_4)(o(488, s), p, o, m) -# define BOOST_PP_FOR_488_I(s, p, o, m) BOOST_PP_IF(p(489, s), m, BOOST_PP_TUPLE_EAT_2)(489, s) BOOST_PP_IF(p(489, s), BOOST_PP_FOR_489, BOOST_PP_TUPLE_EAT_4)(o(489, s), p, o, m) -# define BOOST_PP_FOR_489_I(s, p, o, m) BOOST_PP_IF(p(490, s), m, BOOST_PP_TUPLE_EAT_2)(490, s) BOOST_PP_IF(p(490, s), BOOST_PP_FOR_490, BOOST_PP_TUPLE_EAT_4)(o(490, s), p, o, m) -# define BOOST_PP_FOR_490_I(s, p, o, m) BOOST_PP_IF(p(491, s), m, BOOST_PP_TUPLE_EAT_2)(491, s) BOOST_PP_IF(p(491, s), BOOST_PP_FOR_491, BOOST_PP_TUPLE_EAT_4)(o(491, s), p, o, m) -# define BOOST_PP_FOR_491_I(s, p, o, m) BOOST_PP_IF(p(492, s), m, BOOST_PP_TUPLE_EAT_2)(492, s) BOOST_PP_IF(p(492, s), BOOST_PP_FOR_492, BOOST_PP_TUPLE_EAT_4)(o(492, s), p, o, m) -# define BOOST_PP_FOR_492_I(s, p, o, m) BOOST_PP_IF(p(493, s), m, BOOST_PP_TUPLE_EAT_2)(493, s) BOOST_PP_IF(p(493, s), BOOST_PP_FOR_493, BOOST_PP_TUPLE_EAT_4)(o(493, s), p, o, m) -# define BOOST_PP_FOR_493_I(s, p, o, m) BOOST_PP_IF(p(494, s), m, BOOST_PP_TUPLE_EAT_2)(494, s) BOOST_PP_IF(p(494, s), BOOST_PP_FOR_494, BOOST_PP_TUPLE_EAT_4)(o(494, s), p, o, m) -# define BOOST_PP_FOR_494_I(s, p, o, m) BOOST_PP_IF(p(495, s), m, BOOST_PP_TUPLE_EAT_2)(495, s) BOOST_PP_IF(p(495, s), BOOST_PP_FOR_495, BOOST_PP_TUPLE_EAT_4)(o(495, s), p, o, m) -# define BOOST_PP_FOR_495_I(s, p, o, m) BOOST_PP_IF(p(496, s), m, BOOST_PP_TUPLE_EAT_2)(496, s) BOOST_PP_IF(p(496, s), BOOST_PP_FOR_496, BOOST_PP_TUPLE_EAT_4)(o(496, s), p, o, m) -# define BOOST_PP_FOR_496_I(s, p, o, m) BOOST_PP_IF(p(497, s), m, BOOST_PP_TUPLE_EAT_2)(497, s) BOOST_PP_IF(p(497, s), BOOST_PP_FOR_497, BOOST_PP_TUPLE_EAT_4)(o(497, s), p, o, m) -# define BOOST_PP_FOR_497_I(s, p, o, m) BOOST_PP_IF(p(498, s), m, BOOST_PP_TUPLE_EAT_2)(498, s) BOOST_PP_IF(p(498, s), BOOST_PP_FOR_498, BOOST_PP_TUPLE_EAT_4)(o(498, s), p, o, m) -# define BOOST_PP_FOR_498_I(s, p, o, m) BOOST_PP_IF(p(499, s), m, BOOST_PP_TUPLE_EAT_2)(499, s) BOOST_PP_IF(p(499, s), BOOST_PP_FOR_499, BOOST_PP_TUPLE_EAT_4)(o(499, s), p, o, m) -# define BOOST_PP_FOR_499_I(s, p, o, m) BOOST_PP_IF(p(500, s), m, BOOST_PP_TUPLE_EAT_2)(500, s) BOOST_PP_IF(p(500, s), BOOST_PP_FOR_500, BOOST_PP_TUPLE_EAT_4)(o(500, s), p, o, m) -# define BOOST_PP_FOR_500_I(s, p, o, m) BOOST_PP_IF(p(501, s), m, BOOST_PP_TUPLE_EAT_2)(501, s) BOOST_PP_IF(p(501, s), BOOST_PP_FOR_501, BOOST_PP_TUPLE_EAT_4)(o(501, s), p, o, m) -# define BOOST_PP_FOR_501_I(s, p, o, m) BOOST_PP_IF(p(502, s), m, BOOST_PP_TUPLE_EAT_2)(502, s) BOOST_PP_IF(p(502, s), BOOST_PP_FOR_502, BOOST_PP_TUPLE_EAT_4)(o(502, s), p, o, m) -# define BOOST_PP_FOR_502_I(s, p, o, m) BOOST_PP_IF(p(503, s), m, BOOST_PP_TUPLE_EAT_2)(503, s) BOOST_PP_IF(p(503, s), BOOST_PP_FOR_503, BOOST_PP_TUPLE_EAT_4)(o(503, s), p, o, m) -# define BOOST_PP_FOR_503_I(s, p, o, m) BOOST_PP_IF(p(504, s), m, BOOST_PP_TUPLE_EAT_2)(504, s) BOOST_PP_IF(p(504, s), BOOST_PP_FOR_504, BOOST_PP_TUPLE_EAT_4)(o(504, s), p, o, m) -# define BOOST_PP_FOR_504_I(s, p, o, m) BOOST_PP_IF(p(505, s), m, BOOST_PP_TUPLE_EAT_2)(505, s) BOOST_PP_IF(p(505, s), BOOST_PP_FOR_505, BOOST_PP_TUPLE_EAT_4)(o(505, s), p, o, m) -# define BOOST_PP_FOR_505_I(s, p, o, m) BOOST_PP_IF(p(506, s), m, BOOST_PP_TUPLE_EAT_2)(506, s) BOOST_PP_IF(p(506, s), BOOST_PP_FOR_506, BOOST_PP_TUPLE_EAT_4)(o(506, s), p, o, m) -# define BOOST_PP_FOR_506_I(s, p, o, m) BOOST_PP_IF(p(507, s), m, BOOST_PP_TUPLE_EAT_2)(507, s) BOOST_PP_IF(p(507, s), BOOST_PP_FOR_507, BOOST_PP_TUPLE_EAT_4)(o(507, s), p, o, m) -# define BOOST_PP_FOR_507_I(s, p, o, m) BOOST_PP_IF(p(508, s), m, BOOST_PP_TUPLE_EAT_2)(508, s) BOOST_PP_IF(p(508, s), BOOST_PP_FOR_508, BOOST_PP_TUPLE_EAT_4)(o(508, s), p, o, m) -# define BOOST_PP_FOR_508_I(s, p, o, m) BOOST_PP_IF(p(509, s), m, BOOST_PP_TUPLE_EAT_2)(509, s) BOOST_PP_IF(p(509, s), BOOST_PP_FOR_509, BOOST_PP_TUPLE_EAT_4)(o(509, s), p, o, m) -# define BOOST_PP_FOR_509_I(s, p, o, m) BOOST_PP_IF(p(510, s), m, BOOST_PP_TUPLE_EAT_2)(510, s) BOOST_PP_IF(p(510, s), BOOST_PP_FOR_510, BOOST_PP_TUPLE_EAT_4)(o(510, s), p, o, m) -# define BOOST_PP_FOR_510_I(s, p, o, m) BOOST_PP_IF(p(511, s), m, BOOST_PP_TUPLE_EAT_2)(511, s) BOOST_PP_IF(p(511, s), BOOST_PP_FOR_511, BOOST_PP_TUPLE_EAT_4)(o(511, s), p, o, m) -# define BOOST_PP_FOR_511_I(s, p, o, m) BOOST_PP_IF(p(512, s), m, BOOST_PP_TUPLE_EAT_2)(512, s) BOOST_PP_IF(p(512, s), BOOST_PP_FOR_512, BOOST_PP_TUPLE_EAT_4)(o(512, s), p, o, m) -# define BOOST_PP_FOR_512_I(s, p, o, m) BOOST_PP_IF(p(513, s), m, BOOST_PP_TUPLE_EAT_2)(513, s) BOOST_PP_IF(p(513, s), BOOST_PP_FOR_513, BOOST_PP_TUPLE_EAT_4)(o(513, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/for.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/for.hpp deleted file mode 100644 index 758b6ea7bf..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/for.hpp +++ /dev/null @@ -1,564 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# -# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m) -# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m) -# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m) -# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m) -# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m) -# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m) -# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m) -# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m) -# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m) -# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m) -# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m) -# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m) -# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m) -# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m) -# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m) -# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m) -# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m) -# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m) -# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m) -# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m) -# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m) -# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m) -# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m) -# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m) -# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m) -# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m) -# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m) -# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m) -# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m) -# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m) -# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m) -# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m) -# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m) -# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m) -# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m) -# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m) -# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m) -# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m) -# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m) -# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m) -# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m) -# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m) -# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m) -# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m) -# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m) -# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m) -# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m) -# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m) -# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m) -# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m) -# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m) -# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m) -# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m) -# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m) -# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m) -# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m) -# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m) -# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m) -# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m) -# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m) -# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m) -# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m) -# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m) -# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m) -# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m) -# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m) -# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m) -# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m) -# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m) -# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m) -# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m) -# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m) -# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m) -# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m) -# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m) -# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m) -# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m) -# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m) -# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m) -# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m) -# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m) -# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m) -# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m) -# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m) -# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m) -# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m) -# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m) -# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m) -# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m) -# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m) -# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m) -# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m) -# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m) -# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m) -# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m) -# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m) -# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m) -# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m) -# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m) -# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m) -# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m) -# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m) -# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m) -# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m) -# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m) -# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m) -# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m) -# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m) -# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m) -# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m) -# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m) -# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m) -# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m) -# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m) -# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m) -# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m) -# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m) -# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m) -# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m) -# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m) -# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m) -# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m) -# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m) -# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m) -# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m) -# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m) -# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m) -# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m) -# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m) -# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m) -# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m) -# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m) -# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m) -# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m) -# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m) -# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m) -# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m) -# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m) -# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m) -# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m) -# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m) -# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m) -# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m) -# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m) -# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m) -# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m) -# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m) -# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m) -# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m) -# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m) -# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m) -# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m) -# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m) -# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m) -# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m) -# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m) -# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m) -# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m) -# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m) -# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m) -# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m) -# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m) -# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m) -# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m) -# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m) -# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m) -# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m) -# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m) -# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m) -# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m) -# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m) -# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m) -# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m) -# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m) -# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m) -# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m) -# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m) -# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m) -# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m) -# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m) -# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m) -# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m) -# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m) -# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m) -# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m) -# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m) -# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m) -# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m) -# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m) -# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m) -# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m) -# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m) -# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m) -# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m) -# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m) -# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m) -# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m) -# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m) -# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m) -# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m) -# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m) -# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m) -# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m) -# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m) -# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m) -# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m) -# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m) -# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m) -# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m) -# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m) -# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m) -# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m) -# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m) -# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m) -# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m) -# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m) -# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m) -# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m) -# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m) -# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m) -# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m) -# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m) -# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m) -# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m) -# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m) -# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m) -# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m) -# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m) -# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m) -# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m) -# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m) -# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m) -# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m) -# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m) -# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m) -# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m) -# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m) -# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m) -# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m) -# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m) -# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m) -# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m) -# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m) -# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m) -# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m) -# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m) -# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m) -# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m) -# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m) -# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m) -# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m) -# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m) -# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m) -# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m) -# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m) -# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m) -# -# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) -# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) -# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) -# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) -# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) -# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) -# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) -# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) -# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) -# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) -# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) -# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) -# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) -# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) -# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) -# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) -# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) -# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) -# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) -# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) -# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) -# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) -# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) -# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) -# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) -# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) -# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) -# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) -# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) -# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) -# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) -# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) -# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) -# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) -# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) -# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) -# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) -# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) -# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) -# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) -# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) -# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) -# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) -# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) -# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) -# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) -# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) -# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) -# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) -# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) -# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) -# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) -# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) -# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) -# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) -# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) -# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) -# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) -# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) -# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) -# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) -# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) -# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) -# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) -# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) -# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) -# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) -# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) -# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) -# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) -# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) -# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) -# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) -# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) -# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) -# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) -# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) -# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) -# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) -# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) -# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) -# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) -# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) -# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) -# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) -# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) -# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) -# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) -# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) -# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) -# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) -# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) -# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) -# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) -# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) -# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) -# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) -# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) -# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) -# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) -# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) -# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) -# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) -# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) -# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) -# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) -# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) -# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) -# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) -# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) -# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) -# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) -# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) -# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) -# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) -# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) -# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) -# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) -# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) -# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) -# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) -# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) -# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) -# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) -# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) -# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) -# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) -# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) -# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) -# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) -# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) -# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) -# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) -# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) -# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) -# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) -# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) -# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) -# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) -# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) -# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) -# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) -# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) -# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) -# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) -# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) -# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) -# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) -# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) -# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) -# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) -# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) -# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) -# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) -# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) -# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) -# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) -# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) -# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) -# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) -# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) -# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) -# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) -# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) -# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) -# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) -# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) -# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) -# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) -# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) -# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) -# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) -# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) -# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) -# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) -# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) -# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) -# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) -# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) -# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) -# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) -# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) -# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) -# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) -# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) -# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) -# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) -# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) -# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) -# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) -# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) -# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) -# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) -# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) -# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) -# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) -# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) -# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) -# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) -# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) -# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) -# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) -# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) -# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) -# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) -# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) -# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) -# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) -# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) -# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) -# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) -# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) -# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) -# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) -# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) -# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) -# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) -# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) -# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) -# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) -# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) -# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) -# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) -# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) -# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) -# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) -# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) -# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) -# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) -# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) -# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) -# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) -# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) -# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) -# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) -# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) -# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) -# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) -# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) -# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) -# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) -# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) -# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) -# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) -# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) -# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) -# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) -# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) -# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) -# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) -# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) -# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) -# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) -# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) -# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) -# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) -# -# else -# -# include -# include -# include -# include -# include -# -# if BOOST_PP_LIMIT_FOR == 256 -# include -# elif BOOST_PP_LIMIT_FOR == 512 -# include -# include -# elif BOOST_PP_LIMIT_FOR == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_FOR limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_1024.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_1024.hpp deleted file mode 100644 index a6deb72088..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_1024.hpp +++ /dev/null @@ -1,1044 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_1024_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_1024_HPP -# -# define BOOST_PP_FOR_513(s, p, o, m) BOOST_PP_FOR_513_C(BOOST_PP_BOOL(p(514, s)), s, p, o, m) -# define BOOST_PP_FOR_514(s, p, o, m) BOOST_PP_FOR_514_C(BOOST_PP_BOOL(p(515, s)), s, p, o, m) -# define BOOST_PP_FOR_515(s, p, o, m) BOOST_PP_FOR_515_C(BOOST_PP_BOOL(p(516, s)), s, p, o, m) -# define BOOST_PP_FOR_516(s, p, o, m) BOOST_PP_FOR_516_C(BOOST_PP_BOOL(p(517, s)), s, p, o, m) -# define BOOST_PP_FOR_517(s, p, o, m) BOOST_PP_FOR_517_C(BOOST_PP_BOOL(p(518, s)), s, p, o, m) -# define BOOST_PP_FOR_518(s, p, o, m) BOOST_PP_FOR_518_C(BOOST_PP_BOOL(p(519, s)), s, p, o, m) -# define BOOST_PP_FOR_519(s, p, o, m) BOOST_PP_FOR_519_C(BOOST_PP_BOOL(p(520, s)), s, p, o, m) -# define BOOST_PP_FOR_520(s, p, o, m) BOOST_PP_FOR_520_C(BOOST_PP_BOOL(p(521, s)), s, p, o, m) -# define BOOST_PP_FOR_521(s, p, o, m) BOOST_PP_FOR_521_C(BOOST_PP_BOOL(p(522, s)), s, p, o, m) -# define BOOST_PP_FOR_522(s, p, o, m) BOOST_PP_FOR_522_C(BOOST_PP_BOOL(p(523, s)), s, p, o, m) -# define BOOST_PP_FOR_523(s, p, o, m) BOOST_PP_FOR_523_C(BOOST_PP_BOOL(p(524, s)), s, p, o, m) -# define BOOST_PP_FOR_524(s, p, o, m) BOOST_PP_FOR_524_C(BOOST_PP_BOOL(p(525, s)), s, p, o, m) -# define BOOST_PP_FOR_525(s, p, o, m) BOOST_PP_FOR_525_C(BOOST_PP_BOOL(p(526, s)), s, p, o, m) -# define BOOST_PP_FOR_526(s, p, o, m) BOOST_PP_FOR_526_C(BOOST_PP_BOOL(p(527, s)), s, p, o, m) -# define BOOST_PP_FOR_527(s, p, o, m) BOOST_PP_FOR_527_C(BOOST_PP_BOOL(p(528, s)), s, p, o, m) -# define BOOST_PP_FOR_528(s, p, o, m) BOOST_PP_FOR_528_C(BOOST_PP_BOOL(p(529, s)), s, p, o, m) -# define BOOST_PP_FOR_529(s, p, o, m) BOOST_PP_FOR_529_C(BOOST_PP_BOOL(p(530, s)), s, p, o, m) -# define BOOST_PP_FOR_530(s, p, o, m) BOOST_PP_FOR_530_C(BOOST_PP_BOOL(p(531, s)), s, p, o, m) -# define BOOST_PP_FOR_531(s, p, o, m) BOOST_PP_FOR_531_C(BOOST_PP_BOOL(p(532, s)), s, p, o, m) -# define BOOST_PP_FOR_532(s, p, o, m) BOOST_PP_FOR_532_C(BOOST_PP_BOOL(p(533, s)), s, p, o, m) -# define BOOST_PP_FOR_533(s, p, o, m) BOOST_PP_FOR_533_C(BOOST_PP_BOOL(p(534, s)), s, p, o, m) -# define BOOST_PP_FOR_534(s, p, o, m) BOOST_PP_FOR_534_C(BOOST_PP_BOOL(p(535, s)), s, p, o, m) -# define BOOST_PP_FOR_535(s, p, o, m) BOOST_PP_FOR_535_C(BOOST_PP_BOOL(p(536, s)), s, p, o, m) -# define BOOST_PP_FOR_536(s, p, o, m) BOOST_PP_FOR_536_C(BOOST_PP_BOOL(p(537, s)), s, p, o, m) -# define BOOST_PP_FOR_537(s, p, o, m) BOOST_PP_FOR_537_C(BOOST_PP_BOOL(p(538, s)), s, p, o, m) -# define BOOST_PP_FOR_538(s, p, o, m) BOOST_PP_FOR_538_C(BOOST_PP_BOOL(p(539, s)), s, p, o, m) -# define BOOST_PP_FOR_539(s, p, o, m) BOOST_PP_FOR_539_C(BOOST_PP_BOOL(p(540, s)), s, p, o, m) -# define BOOST_PP_FOR_540(s, p, o, m) BOOST_PP_FOR_540_C(BOOST_PP_BOOL(p(541, s)), s, p, o, m) -# define BOOST_PP_FOR_541(s, p, o, m) BOOST_PP_FOR_541_C(BOOST_PP_BOOL(p(542, s)), s, p, o, m) -# define BOOST_PP_FOR_542(s, p, o, m) BOOST_PP_FOR_542_C(BOOST_PP_BOOL(p(543, s)), s, p, o, m) -# define BOOST_PP_FOR_543(s, p, o, m) BOOST_PP_FOR_543_C(BOOST_PP_BOOL(p(544, s)), s, p, o, m) -# define BOOST_PP_FOR_544(s, p, o, m) BOOST_PP_FOR_544_C(BOOST_PP_BOOL(p(545, s)), s, p, o, m) -# define BOOST_PP_FOR_545(s, p, o, m) BOOST_PP_FOR_545_C(BOOST_PP_BOOL(p(546, s)), s, p, o, m) -# define BOOST_PP_FOR_546(s, p, o, m) BOOST_PP_FOR_546_C(BOOST_PP_BOOL(p(547, s)), s, p, o, m) -# define BOOST_PP_FOR_547(s, p, o, m) BOOST_PP_FOR_547_C(BOOST_PP_BOOL(p(548, s)), s, p, o, m) -# define BOOST_PP_FOR_548(s, p, o, m) BOOST_PP_FOR_548_C(BOOST_PP_BOOL(p(549, s)), s, p, o, m) -# define BOOST_PP_FOR_549(s, p, o, m) BOOST_PP_FOR_549_C(BOOST_PP_BOOL(p(550, s)), s, p, o, m) -# define BOOST_PP_FOR_550(s, p, o, m) BOOST_PP_FOR_550_C(BOOST_PP_BOOL(p(551, s)), s, p, o, m) -# define BOOST_PP_FOR_551(s, p, o, m) BOOST_PP_FOR_551_C(BOOST_PP_BOOL(p(552, s)), s, p, o, m) -# define BOOST_PP_FOR_552(s, p, o, m) BOOST_PP_FOR_552_C(BOOST_PP_BOOL(p(553, s)), s, p, o, m) -# define BOOST_PP_FOR_553(s, p, o, m) BOOST_PP_FOR_553_C(BOOST_PP_BOOL(p(554, s)), s, p, o, m) -# define BOOST_PP_FOR_554(s, p, o, m) BOOST_PP_FOR_554_C(BOOST_PP_BOOL(p(555, s)), s, p, o, m) -# define BOOST_PP_FOR_555(s, p, o, m) BOOST_PP_FOR_555_C(BOOST_PP_BOOL(p(556, s)), s, p, o, m) -# define BOOST_PP_FOR_556(s, p, o, m) BOOST_PP_FOR_556_C(BOOST_PP_BOOL(p(557, s)), s, p, o, m) -# define BOOST_PP_FOR_557(s, p, o, m) BOOST_PP_FOR_557_C(BOOST_PP_BOOL(p(558, s)), s, p, o, m) -# define BOOST_PP_FOR_558(s, p, o, m) BOOST_PP_FOR_558_C(BOOST_PP_BOOL(p(559, s)), s, p, o, m) -# define BOOST_PP_FOR_559(s, p, o, m) BOOST_PP_FOR_559_C(BOOST_PP_BOOL(p(560, s)), s, p, o, m) -# define BOOST_PP_FOR_560(s, p, o, m) BOOST_PP_FOR_560_C(BOOST_PP_BOOL(p(561, s)), s, p, o, m) -# define BOOST_PP_FOR_561(s, p, o, m) BOOST_PP_FOR_561_C(BOOST_PP_BOOL(p(562, s)), s, p, o, m) -# define BOOST_PP_FOR_562(s, p, o, m) BOOST_PP_FOR_562_C(BOOST_PP_BOOL(p(563, s)), s, p, o, m) -# define BOOST_PP_FOR_563(s, p, o, m) BOOST_PP_FOR_563_C(BOOST_PP_BOOL(p(564, s)), s, p, o, m) -# define BOOST_PP_FOR_564(s, p, o, m) BOOST_PP_FOR_564_C(BOOST_PP_BOOL(p(565, s)), s, p, o, m) -# define BOOST_PP_FOR_565(s, p, o, m) BOOST_PP_FOR_565_C(BOOST_PP_BOOL(p(566, s)), s, p, o, m) -# define BOOST_PP_FOR_566(s, p, o, m) BOOST_PP_FOR_566_C(BOOST_PP_BOOL(p(567, s)), s, p, o, m) -# define BOOST_PP_FOR_567(s, p, o, m) BOOST_PP_FOR_567_C(BOOST_PP_BOOL(p(568, s)), s, p, o, m) -# define BOOST_PP_FOR_568(s, p, o, m) BOOST_PP_FOR_568_C(BOOST_PP_BOOL(p(569, s)), s, p, o, m) -# define BOOST_PP_FOR_569(s, p, o, m) BOOST_PP_FOR_569_C(BOOST_PP_BOOL(p(570, s)), s, p, o, m) -# define BOOST_PP_FOR_570(s, p, o, m) BOOST_PP_FOR_570_C(BOOST_PP_BOOL(p(571, s)), s, p, o, m) -# define BOOST_PP_FOR_571(s, p, o, m) BOOST_PP_FOR_571_C(BOOST_PP_BOOL(p(572, s)), s, p, o, m) -# define BOOST_PP_FOR_572(s, p, o, m) BOOST_PP_FOR_572_C(BOOST_PP_BOOL(p(573, s)), s, p, o, m) -# define BOOST_PP_FOR_573(s, p, o, m) BOOST_PP_FOR_573_C(BOOST_PP_BOOL(p(574, s)), s, p, o, m) -# define BOOST_PP_FOR_574(s, p, o, m) BOOST_PP_FOR_574_C(BOOST_PP_BOOL(p(575, s)), s, p, o, m) -# define BOOST_PP_FOR_575(s, p, o, m) BOOST_PP_FOR_575_C(BOOST_PP_BOOL(p(576, s)), s, p, o, m) -# define BOOST_PP_FOR_576(s, p, o, m) BOOST_PP_FOR_576_C(BOOST_PP_BOOL(p(577, s)), s, p, o, m) -# define BOOST_PP_FOR_577(s, p, o, m) BOOST_PP_FOR_577_C(BOOST_PP_BOOL(p(578, s)), s, p, o, m) -# define BOOST_PP_FOR_578(s, p, o, m) BOOST_PP_FOR_578_C(BOOST_PP_BOOL(p(579, s)), s, p, o, m) -# define BOOST_PP_FOR_579(s, p, o, m) BOOST_PP_FOR_579_C(BOOST_PP_BOOL(p(580, s)), s, p, o, m) -# define BOOST_PP_FOR_580(s, p, o, m) BOOST_PP_FOR_580_C(BOOST_PP_BOOL(p(581, s)), s, p, o, m) -# define BOOST_PP_FOR_581(s, p, o, m) BOOST_PP_FOR_581_C(BOOST_PP_BOOL(p(582, s)), s, p, o, m) -# define BOOST_PP_FOR_582(s, p, o, m) BOOST_PP_FOR_582_C(BOOST_PP_BOOL(p(583, s)), s, p, o, m) -# define BOOST_PP_FOR_583(s, p, o, m) BOOST_PP_FOR_583_C(BOOST_PP_BOOL(p(584, s)), s, p, o, m) -# define BOOST_PP_FOR_584(s, p, o, m) BOOST_PP_FOR_584_C(BOOST_PP_BOOL(p(585, s)), s, p, o, m) -# define BOOST_PP_FOR_585(s, p, o, m) BOOST_PP_FOR_585_C(BOOST_PP_BOOL(p(586, s)), s, p, o, m) -# define BOOST_PP_FOR_586(s, p, o, m) BOOST_PP_FOR_586_C(BOOST_PP_BOOL(p(587, s)), s, p, o, m) -# define BOOST_PP_FOR_587(s, p, o, m) BOOST_PP_FOR_587_C(BOOST_PP_BOOL(p(588, s)), s, p, o, m) -# define BOOST_PP_FOR_588(s, p, o, m) BOOST_PP_FOR_588_C(BOOST_PP_BOOL(p(589, s)), s, p, o, m) -# define BOOST_PP_FOR_589(s, p, o, m) BOOST_PP_FOR_589_C(BOOST_PP_BOOL(p(590, s)), s, p, o, m) -# define BOOST_PP_FOR_590(s, p, o, m) BOOST_PP_FOR_590_C(BOOST_PP_BOOL(p(591, s)), s, p, o, m) -# define BOOST_PP_FOR_591(s, p, o, m) BOOST_PP_FOR_591_C(BOOST_PP_BOOL(p(592, s)), s, p, o, m) -# define BOOST_PP_FOR_592(s, p, o, m) BOOST_PP_FOR_592_C(BOOST_PP_BOOL(p(593, s)), s, p, o, m) -# define BOOST_PP_FOR_593(s, p, o, m) BOOST_PP_FOR_593_C(BOOST_PP_BOOL(p(594, s)), s, p, o, m) -# define BOOST_PP_FOR_594(s, p, o, m) BOOST_PP_FOR_594_C(BOOST_PP_BOOL(p(595, s)), s, p, o, m) -# define BOOST_PP_FOR_595(s, p, o, m) BOOST_PP_FOR_595_C(BOOST_PP_BOOL(p(596, s)), s, p, o, m) -# define BOOST_PP_FOR_596(s, p, o, m) BOOST_PP_FOR_596_C(BOOST_PP_BOOL(p(597, s)), s, p, o, m) -# define BOOST_PP_FOR_597(s, p, o, m) BOOST_PP_FOR_597_C(BOOST_PP_BOOL(p(598, s)), s, p, o, m) -# define BOOST_PP_FOR_598(s, p, o, m) BOOST_PP_FOR_598_C(BOOST_PP_BOOL(p(599, s)), s, p, o, m) -# define BOOST_PP_FOR_599(s, p, o, m) BOOST_PP_FOR_599_C(BOOST_PP_BOOL(p(600, s)), s, p, o, m) -# define BOOST_PP_FOR_600(s, p, o, m) BOOST_PP_FOR_600_C(BOOST_PP_BOOL(p(601, s)), s, p, o, m) -# define BOOST_PP_FOR_601(s, p, o, m) BOOST_PP_FOR_601_C(BOOST_PP_BOOL(p(602, s)), s, p, o, m) -# define BOOST_PP_FOR_602(s, p, o, m) BOOST_PP_FOR_602_C(BOOST_PP_BOOL(p(603, s)), s, p, o, m) -# define BOOST_PP_FOR_603(s, p, o, m) BOOST_PP_FOR_603_C(BOOST_PP_BOOL(p(604, s)), s, p, o, m) -# define BOOST_PP_FOR_604(s, p, o, m) BOOST_PP_FOR_604_C(BOOST_PP_BOOL(p(605, s)), s, p, o, m) -# define BOOST_PP_FOR_605(s, p, o, m) BOOST_PP_FOR_605_C(BOOST_PP_BOOL(p(606, s)), s, p, o, m) -# define BOOST_PP_FOR_606(s, p, o, m) BOOST_PP_FOR_606_C(BOOST_PP_BOOL(p(607, s)), s, p, o, m) -# define BOOST_PP_FOR_607(s, p, o, m) BOOST_PP_FOR_607_C(BOOST_PP_BOOL(p(608, s)), s, p, o, m) -# define BOOST_PP_FOR_608(s, p, o, m) BOOST_PP_FOR_608_C(BOOST_PP_BOOL(p(609, s)), s, p, o, m) -# define BOOST_PP_FOR_609(s, p, o, m) BOOST_PP_FOR_609_C(BOOST_PP_BOOL(p(610, s)), s, p, o, m) -# define BOOST_PP_FOR_610(s, p, o, m) BOOST_PP_FOR_610_C(BOOST_PP_BOOL(p(611, s)), s, p, o, m) -# define BOOST_PP_FOR_611(s, p, o, m) BOOST_PP_FOR_611_C(BOOST_PP_BOOL(p(612, s)), s, p, o, m) -# define BOOST_PP_FOR_612(s, p, o, m) BOOST_PP_FOR_612_C(BOOST_PP_BOOL(p(613, s)), s, p, o, m) -# define BOOST_PP_FOR_613(s, p, o, m) BOOST_PP_FOR_613_C(BOOST_PP_BOOL(p(614, s)), s, p, o, m) -# define BOOST_PP_FOR_614(s, p, o, m) BOOST_PP_FOR_614_C(BOOST_PP_BOOL(p(615, s)), s, p, o, m) -# define BOOST_PP_FOR_615(s, p, o, m) BOOST_PP_FOR_615_C(BOOST_PP_BOOL(p(616, s)), s, p, o, m) -# define BOOST_PP_FOR_616(s, p, o, m) BOOST_PP_FOR_616_C(BOOST_PP_BOOL(p(617, s)), s, p, o, m) -# define BOOST_PP_FOR_617(s, p, o, m) BOOST_PP_FOR_617_C(BOOST_PP_BOOL(p(618, s)), s, p, o, m) -# define BOOST_PP_FOR_618(s, p, o, m) BOOST_PP_FOR_618_C(BOOST_PP_BOOL(p(619, s)), s, p, o, m) -# define BOOST_PP_FOR_619(s, p, o, m) BOOST_PP_FOR_619_C(BOOST_PP_BOOL(p(620, s)), s, p, o, m) -# define BOOST_PP_FOR_620(s, p, o, m) BOOST_PP_FOR_620_C(BOOST_PP_BOOL(p(621, s)), s, p, o, m) -# define BOOST_PP_FOR_621(s, p, o, m) BOOST_PP_FOR_621_C(BOOST_PP_BOOL(p(622, s)), s, p, o, m) -# define BOOST_PP_FOR_622(s, p, o, m) BOOST_PP_FOR_622_C(BOOST_PP_BOOL(p(623, s)), s, p, o, m) -# define BOOST_PP_FOR_623(s, p, o, m) BOOST_PP_FOR_623_C(BOOST_PP_BOOL(p(624, s)), s, p, o, m) -# define BOOST_PP_FOR_624(s, p, o, m) BOOST_PP_FOR_624_C(BOOST_PP_BOOL(p(625, s)), s, p, o, m) -# define BOOST_PP_FOR_625(s, p, o, m) BOOST_PP_FOR_625_C(BOOST_PP_BOOL(p(626, s)), s, p, o, m) -# define BOOST_PP_FOR_626(s, p, o, m) BOOST_PP_FOR_626_C(BOOST_PP_BOOL(p(627, s)), s, p, o, m) -# define BOOST_PP_FOR_627(s, p, o, m) BOOST_PP_FOR_627_C(BOOST_PP_BOOL(p(628, s)), s, p, o, m) -# define BOOST_PP_FOR_628(s, p, o, m) BOOST_PP_FOR_628_C(BOOST_PP_BOOL(p(629, s)), s, p, o, m) -# define BOOST_PP_FOR_629(s, p, o, m) BOOST_PP_FOR_629_C(BOOST_PP_BOOL(p(630, s)), s, p, o, m) -# define BOOST_PP_FOR_630(s, p, o, m) BOOST_PP_FOR_630_C(BOOST_PP_BOOL(p(631, s)), s, p, o, m) -# define BOOST_PP_FOR_631(s, p, o, m) BOOST_PP_FOR_631_C(BOOST_PP_BOOL(p(632, s)), s, p, o, m) -# define BOOST_PP_FOR_632(s, p, o, m) BOOST_PP_FOR_632_C(BOOST_PP_BOOL(p(633, s)), s, p, o, m) -# define BOOST_PP_FOR_633(s, p, o, m) BOOST_PP_FOR_633_C(BOOST_PP_BOOL(p(634, s)), s, p, o, m) -# define BOOST_PP_FOR_634(s, p, o, m) BOOST_PP_FOR_634_C(BOOST_PP_BOOL(p(635, s)), s, p, o, m) -# define BOOST_PP_FOR_635(s, p, o, m) BOOST_PP_FOR_635_C(BOOST_PP_BOOL(p(636, s)), s, p, o, m) -# define BOOST_PP_FOR_636(s, p, o, m) BOOST_PP_FOR_636_C(BOOST_PP_BOOL(p(637, s)), s, p, o, m) -# define BOOST_PP_FOR_637(s, p, o, m) BOOST_PP_FOR_637_C(BOOST_PP_BOOL(p(638, s)), s, p, o, m) -# define BOOST_PP_FOR_638(s, p, o, m) BOOST_PP_FOR_638_C(BOOST_PP_BOOL(p(639, s)), s, p, o, m) -# define BOOST_PP_FOR_639(s, p, o, m) BOOST_PP_FOR_639_C(BOOST_PP_BOOL(p(640, s)), s, p, o, m) -# define BOOST_PP_FOR_640(s, p, o, m) BOOST_PP_FOR_640_C(BOOST_PP_BOOL(p(641, s)), s, p, o, m) -# define BOOST_PP_FOR_641(s, p, o, m) BOOST_PP_FOR_641_C(BOOST_PP_BOOL(p(642, s)), s, p, o, m) -# define BOOST_PP_FOR_642(s, p, o, m) BOOST_PP_FOR_642_C(BOOST_PP_BOOL(p(643, s)), s, p, o, m) -# define BOOST_PP_FOR_643(s, p, o, m) BOOST_PP_FOR_643_C(BOOST_PP_BOOL(p(644, s)), s, p, o, m) -# define BOOST_PP_FOR_644(s, p, o, m) BOOST_PP_FOR_644_C(BOOST_PP_BOOL(p(645, s)), s, p, o, m) -# define BOOST_PP_FOR_645(s, p, o, m) BOOST_PP_FOR_645_C(BOOST_PP_BOOL(p(646, s)), s, p, o, m) -# define BOOST_PP_FOR_646(s, p, o, m) BOOST_PP_FOR_646_C(BOOST_PP_BOOL(p(647, s)), s, p, o, m) -# define BOOST_PP_FOR_647(s, p, o, m) BOOST_PP_FOR_647_C(BOOST_PP_BOOL(p(648, s)), s, p, o, m) -# define BOOST_PP_FOR_648(s, p, o, m) BOOST_PP_FOR_648_C(BOOST_PP_BOOL(p(649, s)), s, p, o, m) -# define BOOST_PP_FOR_649(s, p, o, m) BOOST_PP_FOR_649_C(BOOST_PP_BOOL(p(650, s)), s, p, o, m) -# define BOOST_PP_FOR_650(s, p, o, m) BOOST_PP_FOR_650_C(BOOST_PP_BOOL(p(651, s)), s, p, o, m) -# define BOOST_PP_FOR_651(s, p, o, m) BOOST_PP_FOR_651_C(BOOST_PP_BOOL(p(652, s)), s, p, o, m) -# define BOOST_PP_FOR_652(s, p, o, m) BOOST_PP_FOR_652_C(BOOST_PP_BOOL(p(653, s)), s, p, o, m) -# define BOOST_PP_FOR_653(s, p, o, m) BOOST_PP_FOR_653_C(BOOST_PP_BOOL(p(654, s)), s, p, o, m) -# define BOOST_PP_FOR_654(s, p, o, m) BOOST_PP_FOR_654_C(BOOST_PP_BOOL(p(655, s)), s, p, o, m) -# define BOOST_PP_FOR_655(s, p, o, m) BOOST_PP_FOR_655_C(BOOST_PP_BOOL(p(656, s)), s, p, o, m) -# define BOOST_PP_FOR_656(s, p, o, m) BOOST_PP_FOR_656_C(BOOST_PP_BOOL(p(657, s)), s, p, o, m) -# define BOOST_PP_FOR_657(s, p, o, m) BOOST_PP_FOR_657_C(BOOST_PP_BOOL(p(658, s)), s, p, o, m) -# define BOOST_PP_FOR_658(s, p, o, m) BOOST_PP_FOR_658_C(BOOST_PP_BOOL(p(659, s)), s, p, o, m) -# define BOOST_PP_FOR_659(s, p, o, m) BOOST_PP_FOR_659_C(BOOST_PP_BOOL(p(660, s)), s, p, o, m) -# define BOOST_PP_FOR_660(s, p, o, m) BOOST_PP_FOR_660_C(BOOST_PP_BOOL(p(661, s)), s, p, o, m) -# define BOOST_PP_FOR_661(s, p, o, m) BOOST_PP_FOR_661_C(BOOST_PP_BOOL(p(662, s)), s, p, o, m) -# define BOOST_PP_FOR_662(s, p, o, m) BOOST_PP_FOR_662_C(BOOST_PP_BOOL(p(663, s)), s, p, o, m) -# define BOOST_PP_FOR_663(s, p, o, m) BOOST_PP_FOR_663_C(BOOST_PP_BOOL(p(664, s)), s, p, o, m) -# define BOOST_PP_FOR_664(s, p, o, m) BOOST_PP_FOR_664_C(BOOST_PP_BOOL(p(665, s)), s, p, o, m) -# define BOOST_PP_FOR_665(s, p, o, m) BOOST_PP_FOR_665_C(BOOST_PP_BOOL(p(666, s)), s, p, o, m) -# define BOOST_PP_FOR_666(s, p, o, m) BOOST_PP_FOR_666_C(BOOST_PP_BOOL(p(667, s)), s, p, o, m) -# define BOOST_PP_FOR_667(s, p, o, m) BOOST_PP_FOR_667_C(BOOST_PP_BOOL(p(668, s)), s, p, o, m) -# define BOOST_PP_FOR_668(s, p, o, m) BOOST_PP_FOR_668_C(BOOST_PP_BOOL(p(669, s)), s, p, o, m) -# define BOOST_PP_FOR_669(s, p, o, m) BOOST_PP_FOR_669_C(BOOST_PP_BOOL(p(670, s)), s, p, o, m) -# define BOOST_PP_FOR_670(s, p, o, m) BOOST_PP_FOR_670_C(BOOST_PP_BOOL(p(671, s)), s, p, o, m) -# define BOOST_PP_FOR_671(s, p, o, m) BOOST_PP_FOR_671_C(BOOST_PP_BOOL(p(672, s)), s, p, o, m) -# define BOOST_PP_FOR_672(s, p, o, m) BOOST_PP_FOR_672_C(BOOST_PP_BOOL(p(673, s)), s, p, o, m) -# define BOOST_PP_FOR_673(s, p, o, m) BOOST_PP_FOR_673_C(BOOST_PP_BOOL(p(674, s)), s, p, o, m) -# define BOOST_PP_FOR_674(s, p, o, m) BOOST_PP_FOR_674_C(BOOST_PP_BOOL(p(675, s)), s, p, o, m) -# define BOOST_PP_FOR_675(s, p, o, m) BOOST_PP_FOR_675_C(BOOST_PP_BOOL(p(676, s)), s, p, o, m) -# define BOOST_PP_FOR_676(s, p, o, m) BOOST_PP_FOR_676_C(BOOST_PP_BOOL(p(677, s)), s, p, o, m) -# define BOOST_PP_FOR_677(s, p, o, m) BOOST_PP_FOR_677_C(BOOST_PP_BOOL(p(678, s)), s, p, o, m) -# define BOOST_PP_FOR_678(s, p, o, m) BOOST_PP_FOR_678_C(BOOST_PP_BOOL(p(679, s)), s, p, o, m) -# define BOOST_PP_FOR_679(s, p, o, m) BOOST_PP_FOR_679_C(BOOST_PP_BOOL(p(680, s)), s, p, o, m) -# define BOOST_PP_FOR_680(s, p, o, m) BOOST_PP_FOR_680_C(BOOST_PP_BOOL(p(681, s)), s, p, o, m) -# define BOOST_PP_FOR_681(s, p, o, m) BOOST_PP_FOR_681_C(BOOST_PP_BOOL(p(682, s)), s, p, o, m) -# define BOOST_PP_FOR_682(s, p, o, m) BOOST_PP_FOR_682_C(BOOST_PP_BOOL(p(683, s)), s, p, o, m) -# define BOOST_PP_FOR_683(s, p, o, m) BOOST_PP_FOR_683_C(BOOST_PP_BOOL(p(684, s)), s, p, o, m) -# define BOOST_PP_FOR_684(s, p, o, m) BOOST_PP_FOR_684_C(BOOST_PP_BOOL(p(685, s)), s, p, o, m) -# define BOOST_PP_FOR_685(s, p, o, m) BOOST_PP_FOR_685_C(BOOST_PP_BOOL(p(686, s)), s, p, o, m) -# define BOOST_PP_FOR_686(s, p, o, m) BOOST_PP_FOR_686_C(BOOST_PP_BOOL(p(687, s)), s, p, o, m) -# define BOOST_PP_FOR_687(s, p, o, m) BOOST_PP_FOR_687_C(BOOST_PP_BOOL(p(688, s)), s, p, o, m) -# define BOOST_PP_FOR_688(s, p, o, m) BOOST_PP_FOR_688_C(BOOST_PP_BOOL(p(689, s)), s, p, o, m) -# define BOOST_PP_FOR_689(s, p, o, m) BOOST_PP_FOR_689_C(BOOST_PP_BOOL(p(690, s)), s, p, o, m) -# define BOOST_PP_FOR_690(s, p, o, m) BOOST_PP_FOR_690_C(BOOST_PP_BOOL(p(691, s)), s, p, o, m) -# define BOOST_PP_FOR_691(s, p, o, m) BOOST_PP_FOR_691_C(BOOST_PP_BOOL(p(692, s)), s, p, o, m) -# define BOOST_PP_FOR_692(s, p, o, m) BOOST_PP_FOR_692_C(BOOST_PP_BOOL(p(693, s)), s, p, o, m) -# define BOOST_PP_FOR_693(s, p, o, m) BOOST_PP_FOR_693_C(BOOST_PP_BOOL(p(694, s)), s, p, o, m) -# define BOOST_PP_FOR_694(s, p, o, m) BOOST_PP_FOR_694_C(BOOST_PP_BOOL(p(695, s)), s, p, o, m) -# define BOOST_PP_FOR_695(s, p, o, m) BOOST_PP_FOR_695_C(BOOST_PP_BOOL(p(696, s)), s, p, o, m) -# define BOOST_PP_FOR_696(s, p, o, m) BOOST_PP_FOR_696_C(BOOST_PP_BOOL(p(697, s)), s, p, o, m) -# define BOOST_PP_FOR_697(s, p, o, m) BOOST_PP_FOR_697_C(BOOST_PP_BOOL(p(698, s)), s, p, o, m) -# define BOOST_PP_FOR_698(s, p, o, m) BOOST_PP_FOR_698_C(BOOST_PP_BOOL(p(699, s)), s, p, o, m) -# define BOOST_PP_FOR_699(s, p, o, m) BOOST_PP_FOR_699_C(BOOST_PP_BOOL(p(700, s)), s, p, o, m) -# define BOOST_PP_FOR_700(s, p, o, m) BOOST_PP_FOR_700_C(BOOST_PP_BOOL(p(701, s)), s, p, o, m) -# define BOOST_PP_FOR_701(s, p, o, m) BOOST_PP_FOR_701_C(BOOST_PP_BOOL(p(702, s)), s, p, o, m) -# define BOOST_PP_FOR_702(s, p, o, m) BOOST_PP_FOR_702_C(BOOST_PP_BOOL(p(703, s)), s, p, o, m) -# define BOOST_PP_FOR_703(s, p, o, m) BOOST_PP_FOR_703_C(BOOST_PP_BOOL(p(704, s)), s, p, o, m) -# define BOOST_PP_FOR_704(s, p, o, m) BOOST_PP_FOR_704_C(BOOST_PP_BOOL(p(705, s)), s, p, o, m) -# define BOOST_PP_FOR_705(s, p, o, m) BOOST_PP_FOR_705_C(BOOST_PP_BOOL(p(706, s)), s, p, o, m) -# define BOOST_PP_FOR_706(s, p, o, m) BOOST_PP_FOR_706_C(BOOST_PP_BOOL(p(707, s)), s, p, o, m) -# define BOOST_PP_FOR_707(s, p, o, m) BOOST_PP_FOR_707_C(BOOST_PP_BOOL(p(708, s)), s, p, o, m) -# define BOOST_PP_FOR_708(s, p, o, m) BOOST_PP_FOR_708_C(BOOST_PP_BOOL(p(709, s)), s, p, o, m) -# define BOOST_PP_FOR_709(s, p, o, m) BOOST_PP_FOR_709_C(BOOST_PP_BOOL(p(710, s)), s, p, o, m) -# define BOOST_PP_FOR_710(s, p, o, m) BOOST_PP_FOR_710_C(BOOST_PP_BOOL(p(711, s)), s, p, o, m) -# define BOOST_PP_FOR_711(s, p, o, m) BOOST_PP_FOR_711_C(BOOST_PP_BOOL(p(712, s)), s, p, o, m) -# define BOOST_PP_FOR_712(s, p, o, m) BOOST_PP_FOR_712_C(BOOST_PP_BOOL(p(713, s)), s, p, o, m) -# define BOOST_PP_FOR_713(s, p, o, m) BOOST_PP_FOR_713_C(BOOST_PP_BOOL(p(714, s)), s, p, o, m) -# define BOOST_PP_FOR_714(s, p, o, m) BOOST_PP_FOR_714_C(BOOST_PP_BOOL(p(715, s)), s, p, o, m) -# define BOOST_PP_FOR_715(s, p, o, m) BOOST_PP_FOR_715_C(BOOST_PP_BOOL(p(716, s)), s, p, o, m) -# define BOOST_PP_FOR_716(s, p, o, m) BOOST_PP_FOR_716_C(BOOST_PP_BOOL(p(717, s)), s, p, o, m) -# define BOOST_PP_FOR_717(s, p, o, m) BOOST_PP_FOR_717_C(BOOST_PP_BOOL(p(718, s)), s, p, o, m) -# define BOOST_PP_FOR_718(s, p, o, m) BOOST_PP_FOR_718_C(BOOST_PP_BOOL(p(719, s)), s, p, o, m) -# define BOOST_PP_FOR_719(s, p, o, m) BOOST_PP_FOR_719_C(BOOST_PP_BOOL(p(720, s)), s, p, o, m) -# define BOOST_PP_FOR_720(s, p, o, m) BOOST_PP_FOR_720_C(BOOST_PP_BOOL(p(721, s)), s, p, o, m) -# define BOOST_PP_FOR_721(s, p, o, m) BOOST_PP_FOR_721_C(BOOST_PP_BOOL(p(722, s)), s, p, o, m) -# define BOOST_PP_FOR_722(s, p, o, m) BOOST_PP_FOR_722_C(BOOST_PP_BOOL(p(723, s)), s, p, o, m) -# define BOOST_PP_FOR_723(s, p, o, m) BOOST_PP_FOR_723_C(BOOST_PP_BOOL(p(724, s)), s, p, o, m) -# define BOOST_PP_FOR_724(s, p, o, m) BOOST_PP_FOR_724_C(BOOST_PP_BOOL(p(725, s)), s, p, o, m) -# define BOOST_PP_FOR_725(s, p, o, m) BOOST_PP_FOR_725_C(BOOST_PP_BOOL(p(726, s)), s, p, o, m) -# define BOOST_PP_FOR_726(s, p, o, m) BOOST_PP_FOR_726_C(BOOST_PP_BOOL(p(727, s)), s, p, o, m) -# define BOOST_PP_FOR_727(s, p, o, m) BOOST_PP_FOR_727_C(BOOST_PP_BOOL(p(728, s)), s, p, o, m) -# define BOOST_PP_FOR_728(s, p, o, m) BOOST_PP_FOR_728_C(BOOST_PP_BOOL(p(729, s)), s, p, o, m) -# define BOOST_PP_FOR_729(s, p, o, m) BOOST_PP_FOR_729_C(BOOST_PP_BOOL(p(730, s)), s, p, o, m) -# define BOOST_PP_FOR_730(s, p, o, m) BOOST_PP_FOR_730_C(BOOST_PP_BOOL(p(731, s)), s, p, o, m) -# define BOOST_PP_FOR_731(s, p, o, m) BOOST_PP_FOR_731_C(BOOST_PP_BOOL(p(732, s)), s, p, o, m) -# define BOOST_PP_FOR_732(s, p, o, m) BOOST_PP_FOR_732_C(BOOST_PP_BOOL(p(733, s)), s, p, o, m) -# define BOOST_PP_FOR_733(s, p, o, m) BOOST_PP_FOR_733_C(BOOST_PP_BOOL(p(734, s)), s, p, o, m) -# define BOOST_PP_FOR_734(s, p, o, m) BOOST_PP_FOR_734_C(BOOST_PP_BOOL(p(735, s)), s, p, o, m) -# define BOOST_PP_FOR_735(s, p, o, m) BOOST_PP_FOR_735_C(BOOST_PP_BOOL(p(736, s)), s, p, o, m) -# define BOOST_PP_FOR_736(s, p, o, m) BOOST_PP_FOR_736_C(BOOST_PP_BOOL(p(737, s)), s, p, o, m) -# define BOOST_PP_FOR_737(s, p, o, m) BOOST_PP_FOR_737_C(BOOST_PP_BOOL(p(738, s)), s, p, o, m) -# define BOOST_PP_FOR_738(s, p, o, m) BOOST_PP_FOR_738_C(BOOST_PP_BOOL(p(739, s)), s, p, o, m) -# define BOOST_PP_FOR_739(s, p, o, m) BOOST_PP_FOR_739_C(BOOST_PP_BOOL(p(740, s)), s, p, o, m) -# define BOOST_PP_FOR_740(s, p, o, m) BOOST_PP_FOR_740_C(BOOST_PP_BOOL(p(741, s)), s, p, o, m) -# define BOOST_PP_FOR_741(s, p, o, m) BOOST_PP_FOR_741_C(BOOST_PP_BOOL(p(742, s)), s, p, o, m) -# define BOOST_PP_FOR_742(s, p, o, m) BOOST_PP_FOR_742_C(BOOST_PP_BOOL(p(743, s)), s, p, o, m) -# define BOOST_PP_FOR_743(s, p, o, m) BOOST_PP_FOR_743_C(BOOST_PP_BOOL(p(744, s)), s, p, o, m) -# define BOOST_PP_FOR_744(s, p, o, m) BOOST_PP_FOR_744_C(BOOST_PP_BOOL(p(745, s)), s, p, o, m) -# define BOOST_PP_FOR_745(s, p, o, m) BOOST_PP_FOR_745_C(BOOST_PP_BOOL(p(746, s)), s, p, o, m) -# define BOOST_PP_FOR_746(s, p, o, m) BOOST_PP_FOR_746_C(BOOST_PP_BOOL(p(747, s)), s, p, o, m) -# define BOOST_PP_FOR_747(s, p, o, m) BOOST_PP_FOR_747_C(BOOST_PP_BOOL(p(748, s)), s, p, o, m) -# define BOOST_PP_FOR_748(s, p, o, m) BOOST_PP_FOR_748_C(BOOST_PP_BOOL(p(749, s)), s, p, o, m) -# define BOOST_PP_FOR_749(s, p, o, m) BOOST_PP_FOR_749_C(BOOST_PP_BOOL(p(750, s)), s, p, o, m) -# define BOOST_PP_FOR_750(s, p, o, m) BOOST_PP_FOR_750_C(BOOST_PP_BOOL(p(751, s)), s, p, o, m) -# define BOOST_PP_FOR_751(s, p, o, m) BOOST_PP_FOR_751_C(BOOST_PP_BOOL(p(752, s)), s, p, o, m) -# define BOOST_PP_FOR_752(s, p, o, m) BOOST_PP_FOR_752_C(BOOST_PP_BOOL(p(753, s)), s, p, o, m) -# define BOOST_PP_FOR_753(s, p, o, m) BOOST_PP_FOR_753_C(BOOST_PP_BOOL(p(754, s)), s, p, o, m) -# define BOOST_PP_FOR_754(s, p, o, m) BOOST_PP_FOR_754_C(BOOST_PP_BOOL(p(755, s)), s, p, o, m) -# define BOOST_PP_FOR_755(s, p, o, m) BOOST_PP_FOR_755_C(BOOST_PP_BOOL(p(756, s)), s, p, o, m) -# define BOOST_PP_FOR_756(s, p, o, m) BOOST_PP_FOR_756_C(BOOST_PP_BOOL(p(757, s)), s, p, o, m) -# define BOOST_PP_FOR_757(s, p, o, m) BOOST_PP_FOR_757_C(BOOST_PP_BOOL(p(758, s)), s, p, o, m) -# define BOOST_PP_FOR_758(s, p, o, m) BOOST_PP_FOR_758_C(BOOST_PP_BOOL(p(759, s)), s, p, o, m) -# define BOOST_PP_FOR_759(s, p, o, m) BOOST_PP_FOR_759_C(BOOST_PP_BOOL(p(760, s)), s, p, o, m) -# define BOOST_PP_FOR_760(s, p, o, m) BOOST_PP_FOR_760_C(BOOST_PP_BOOL(p(761, s)), s, p, o, m) -# define BOOST_PP_FOR_761(s, p, o, m) BOOST_PP_FOR_761_C(BOOST_PP_BOOL(p(762, s)), s, p, o, m) -# define BOOST_PP_FOR_762(s, p, o, m) BOOST_PP_FOR_762_C(BOOST_PP_BOOL(p(763, s)), s, p, o, m) -# define BOOST_PP_FOR_763(s, p, o, m) BOOST_PP_FOR_763_C(BOOST_PP_BOOL(p(764, s)), s, p, o, m) -# define BOOST_PP_FOR_764(s, p, o, m) BOOST_PP_FOR_764_C(BOOST_PP_BOOL(p(765, s)), s, p, o, m) -# define BOOST_PP_FOR_765(s, p, o, m) BOOST_PP_FOR_765_C(BOOST_PP_BOOL(p(766, s)), s, p, o, m) -# define BOOST_PP_FOR_766(s, p, o, m) BOOST_PP_FOR_766_C(BOOST_PP_BOOL(p(767, s)), s, p, o, m) -# define BOOST_PP_FOR_767(s, p, o, m) BOOST_PP_FOR_767_C(BOOST_PP_BOOL(p(768, s)), s, p, o, m) -# define BOOST_PP_FOR_768(s, p, o, m) BOOST_PP_FOR_768_C(BOOST_PP_BOOL(p(769, s)), s, p, o, m) -# define BOOST_PP_FOR_769(s, p, o, m) BOOST_PP_FOR_769_C(BOOST_PP_BOOL(p(770, s)), s, p, o, m) -# define BOOST_PP_FOR_770(s, p, o, m) BOOST_PP_FOR_770_C(BOOST_PP_BOOL(p(771, s)), s, p, o, m) -# define BOOST_PP_FOR_771(s, p, o, m) BOOST_PP_FOR_771_C(BOOST_PP_BOOL(p(772, s)), s, p, o, m) -# define BOOST_PP_FOR_772(s, p, o, m) BOOST_PP_FOR_772_C(BOOST_PP_BOOL(p(773, s)), s, p, o, m) -# define BOOST_PP_FOR_773(s, p, o, m) BOOST_PP_FOR_773_C(BOOST_PP_BOOL(p(774, s)), s, p, o, m) -# define BOOST_PP_FOR_774(s, p, o, m) BOOST_PP_FOR_774_C(BOOST_PP_BOOL(p(775, s)), s, p, o, m) -# define BOOST_PP_FOR_775(s, p, o, m) BOOST_PP_FOR_775_C(BOOST_PP_BOOL(p(776, s)), s, p, o, m) -# define BOOST_PP_FOR_776(s, p, o, m) BOOST_PP_FOR_776_C(BOOST_PP_BOOL(p(777, s)), s, p, o, m) -# define BOOST_PP_FOR_777(s, p, o, m) BOOST_PP_FOR_777_C(BOOST_PP_BOOL(p(778, s)), s, p, o, m) -# define BOOST_PP_FOR_778(s, p, o, m) BOOST_PP_FOR_778_C(BOOST_PP_BOOL(p(779, s)), s, p, o, m) -# define BOOST_PP_FOR_779(s, p, o, m) BOOST_PP_FOR_779_C(BOOST_PP_BOOL(p(780, s)), s, p, o, m) -# define BOOST_PP_FOR_780(s, p, o, m) BOOST_PP_FOR_780_C(BOOST_PP_BOOL(p(781, s)), s, p, o, m) -# define BOOST_PP_FOR_781(s, p, o, m) BOOST_PP_FOR_781_C(BOOST_PP_BOOL(p(782, s)), s, p, o, m) -# define BOOST_PP_FOR_782(s, p, o, m) BOOST_PP_FOR_782_C(BOOST_PP_BOOL(p(783, s)), s, p, o, m) -# define BOOST_PP_FOR_783(s, p, o, m) BOOST_PP_FOR_783_C(BOOST_PP_BOOL(p(784, s)), s, p, o, m) -# define BOOST_PP_FOR_784(s, p, o, m) BOOST_PP_FOR_784_C(BOOST_PP_BOOL(p(785, s)), s, p, o, m) -# define BOOST_PP_FOR_785(s, p, o, m) BOOST_PP_FOR_785_C(BOOST_PP_BOOL(p(786, s)), s, p, o, m) -# define BOOST_PP_FOR_786(s, p, o, m) BOOST_PP_FOR_786_C(BOOST_PP_BOOL(p(787, s)), s, p, o, m) -# define BOOST_PP_FOR_787(s, p, o, m) BOOST_PP_FOR_787_C(BOOST_PP_BOOL(p(788, s)), s, p, o, m) -# define BOOST_PP_FOR_788(s, p, o, m) BOOST_PP_FOR_788_C(BOOST_PP_BOOL(p(789, s)), s, p, o, m) -# define BOOST_PP_FOR_789(s, p, o, m) BOOST_PP_FOR_789_C(BOOST_PP_BOOL(p(790, s)), s, p, o, m) -# define BOOST_PP_FOR_790(s, p, o, m) BOOST_PP_FOR_790_C(BOOST_PP_BOOL(p(791, s)), s, p, o, m) -# define BOOST_PP_FOR_791(s, p, o, m) BOOST_PP_FOR_791_C(BOOST_PP_BOOL(p(792, s)), s, p, o, m) -# define BOOST_PP_FOR_792(s, p, o, m) BOOST_PP_FOR_792_C(BOOST_PP_BOOL(p(793, s)), s, p, o, m) -# define BOOST_PP_FOR_793(s, p, o, m) BOOST_PP_FOR_793_C(BOOST_PP_BOOL(p(794, s)), s, p, o, m) -# define BOOST_PP_FOR_794(s, p, o, m) BOOST_PP_FOR_794_C(BOOST_PP_BOOL(p(795, s)), s, p, o, m) -# define BOOST_PP_FOR_795(s, p, o, m) BOOST_PP_FOR_795_C(BOOST_PP_BOOL(p(796, s)), s, p, o, m) -# define BOOST_PP_FOR_796(s, p, o, m) BOOST_PP_FOR_796_C(BOOST_PP_BOOL(p(797, s)), s, p, o, m) -# define BOOST_PP_FOR_797(s, p, o, m) BOOST_PP_FOR_797_C(BOOST_PP_BOOL(p(798, s)), s, p, o, m) -# define BOOST_PP_FOR_798(s, p, o, m) BOOST_PP_FOR_798_C(BOOST_PP_BOOL(p(799, s)), s, p, o, m) -# define BOOST_PP_FOR_799(s, p, o, m) BOOST_PP_FOR_799_C(BOOST_PP_BOOL(p(800, s)), s, p, o, m) -# define BOOST_PP_FOR_800(s, p, o, m) BOOST_PP_FOR_800_C(BOOST_PP_BOOL(p(801, s)), s, p, o, m) -# define BOOST_PP_FOR_801(s, p, o, m) BOOST_PP_FOR_801_C(BOOST_PP_BOOL(p(802, s)), s, p, o, m) -# define BOOST_PP_FOR_802(s, p, o, m) BOOST_PP_FOR_802_C(BOOST_PP_BOOL(p(803, s)), s, p, o, m) -# define BOOST_PP_FOR_803(s, p, o, m) BOOST_PP_FOR_803_C(BOOST_PP_BOOL(p(804, s)), s, p, o, m) -# define BOOST_PP_FOR_804(s, p, o, m) BOOST_PP_FOR_804_C(BOOST_PP_BOOL(p(805, s)), s, p, o, m) -# define BOOST_PP_FOR_805(s, p, o, m) BOOST_PP_FOR_805_C(BOOST_PP_BOOL(p(806, s)), s, p, o, m) -# define BOOST_PP_FOR_806(s, p, o, m) BOOST_PP_FOR_806_C(BOOST_PP_BOOL(p(807, s)), s, p, o, m) -# define BOOST_PP_FOR_807(s, p, o, m) BOOST_PP_FOR_807_C(BOOST_PP_BOOL(p(808, s)), s, p, o, m) -# define BOOST_PP_FOR_808(s, p, o, m) BOOST_PP_FOR_808_C(BOOST_PP_BOOL(p(809, s)), s, p, o, m) -# define BOOST_PP_FOR_809(s, p, o, m) BOOST_PP_FOR_809_C(BOOST_PP_BOOL(p(810, s)), s, p, o, m) -# define BOOST_PP_FOR_810(s, p, o, m) BOOST_PP_FOR_810_C(BOOST_PP_BOOL(p(811, s)), s, p, o, m) -# define BOOST_PP_FOR_811(s, p, o, m) BOOST_PP_FOR_811_C(BOOST_PP_BOOL(p(812, s)), s, p, o, m) -# define BOOST_PP_FOR_812(s, p, o, m) BOOST_PP_FOR_812_C(BOOST_PP_BOOL(p(813, s)), s, p, o, m) -# define BOOST_PP_FOR_813(s, p, o, m) BOOST_PP_FOR_813_C(BOOST_PP_BOOL(p(814, s)), s, p, o, m) -# define BOOST_PP_FOR_814(s, p, o, m) BOOST_PP_FOR_814_C(BOOST_PP_BOOL(p(815, s)), s, p, o, m) -# define BOOST_PP_FOR_815(s, p, o, m) BOOST_PP_FOR_815_C(BOOST_PP_BOOL(p(816, s)), s, p, o, m) -# define BOOST_PP_FOR_816(s, p, o, m) BOOST_PP_FOR_816_C(BOOST_PP_BOOL(p(817, s)), s, p, o, m) -# define BOOST_PP_FOR_817(s, p, o, m) BOOST_PP_FOR_817_C(BOOST_PP_BOOL(p(818, s)), s, p, o, m) -# define BOOST_PP_FOR_818(s, p, o, m) BOOST_PP_FOR_818_C(BOOST_PP_BOOL(p(819, s)), s, p, o, m) -# define BOOST_PP_FOR_819(s, p, o, m) BOOST_PP_FOR_819_C(BOOST_PP_BOOL(p(820, s)), s, p, o, m) -# define BOOST_PP_FOR_820(s, p, o, m) BOOST_PP_FOR_820_C(BOOST_PP_BOOL(p(821, s)), s, p, o, m) -# define BOOST_PP_FOR_821(s, p, o, m) BOOST_PP_FOR_821_C(BOOST_PP_BOOL(p(822, s)), s, p, o, m) -# define BOOST_PP_FOR_822(s, p, o, m) BOOST_PP_FOR_822_C(BOOST_PP_BOOL(p(823, s)), s, p, o, m) -# define BOOST_PP_FOR_823(s, p, o, m) BOOST_PP_FOR_823_C(BOOST_PP_BOOL(p(824, s)), s, p, o, m) -# define BOOST_PP_FOR_824(s, p, o, m) BOOST_PP_FOR_824_C(BOOST_PP_BOOL(p(825, s)), s, p, o, m) -# define BOOST_PP_FOR_825(s, p, o, m) BOOST_PP_FOR_825_C(BOOST_PP_BOOL(p(826, s)), s, p, o, m) -# define BOOST_PP_FOR_826(s, p, o, m) BOOST_PP_FOR_826_C(BOOST_PP_BOOL(p(827, s)), s, p, o, m) -# define BOOST_PP_FOR_827(s, p, o, m) BOOST_PP_FOR_827_C(BOOST_PP_BOOL(p(828, s)), s, p, o, m) -# define BOOST_PP_FOR_828(s, p, o, m) BOOST_PP_FOR_828_C(BOOST_PP_BOOL(p(829, s)), s, p, o, m) -# define BOOST_PP_FOR_829(s, p, o, m) BOOST_PP_FOR_829_C(BOOST_PP_BOOL(p(830, s)), s, p, o, m) -# define BOOST_PP_FOR_830(s, p, o, m) BOOST_PP_FOR_830_C(BOOST_PP_BOOL(p(831, s)), s, p, o, m) -# define BOOST_PP_FOR_831(s, p, o, m) BOOST_PP_FOR_831_C(BOOST_PP_BOOL(p(832, s)), s, p, o, m) -# define BOOST_PP_FOR_832(s, p, o, m) BOOST_PP_FOR_832_C(BOOST_PP_BOOL(p(833, s)), s, p, o, m) -# define BOOST_PP_FOR_833(s, p, o, m) BOOST_PP_FOR_833_C(BOOST_PP_BOOL(p(834, s)), s, p, o, m) -# define BOOST_PP_FOR_834(s, p, o, m) BOOST_PP_FOR_834_C(BOOST_PP_BOOL(p(835, s)), s, p, o, m) -# define BOOST_PP_FOR_835(s, p, o, m) BOOST_PP_FOR_835_C(BOOST_PP_BOOL(p(836, s)), s, p, o, m) -# define BOOST_PP_FOR_836(s, p, o, m) BOOST_PP_FOR_836_C(BOOST_PP_BOOL(p(837, s)), s, p, o, m) -# define BOOST_PP_FOR_837(s, p, o, m) BOOST_PP_FOR_837_C(BOOST_PP_BOOL(p(838, s)), s, p, o, m) -# define BOOST_PP_FOR_838(s, p, o, m) BOOST_PP_FOR_838_C(BOOST_PP_BOOL(p(839, s)), s, p, o, m) -# define BOOST_PP_FOR_839(s, p, o, m) BOOST_PP_FOR_839_C(BOOST_PP_BOOL(p(840, s)), s, p, o, m) -# define BOOST_PP_FOR_840(s, p, o, m) BOOST_PP_FOR_840_C(BOOST_PP_BOOL(p(841, s)), s, p, o, m) -# define BOOST_PP_FOR_841(s, p, o, m) BOOST_PP_FOR_841_C(BOOST_PP_BOOL(p(842, s)), s, p, o, m) -# define BOOST_PP_FOR_842(s, p, o, m) BOOST_PP_FOR_842_C(BOOST_PP_BOOL(p(843, s)), s, p, o, m) -# define BOOST_PP_FOR_843(s, p, o, m) BOOST_PP_FOR_843_C(BOOST_PP_BOOL(p(844, s)), s, p, o, m) -# define BOOST_PP_FOR_844(s, p, o, m) BOOST_PP_FOR_844_C(BOOST_PP_BOOL(p(845, s)), s, p, o, m) -# define BOOST_PP_FOR_845(s, p, o, m) BOOST_PP_FOR_845_C(BOOST_PP_BOOL(p(846, s)), s, p, o, m) -# define BOOST_PP_FOR_846(s, p, o, m) BOOST_PP_FOR_846_C(BOOST_PP_BOOL(p(847, s)), s, p, o, m) -# define BOOST_PP_FOR_847(s, p, o, m) BOOST_PP_FOR_847_C(BOOST_PP_BOOL(p(848, s)), s, p, o, m) -# define BOOST_PP_FOR_848(s, p, o, m) BOOST_PP_FOR_848_C(BOOST_PP_BOOL(p(849, s)), s, p, o, m) -# define BOOST_PP_FOR_849(s, p, o, m) BOOST_PP_FOR_849_C(BOOST_PP_BOOL(p(850, s)), s, p, o, m) -# define BOOST_PP_FOR_850(s, p, o, m) BOOST_PP_FOR_850_C(BOOST_PP_BOOL(p(851, s)), s, p, o, m) -# define BOOST_PP_FOR_851(s, p, o, m) BOOST_PP_FOR_851_C(BOOST_PP_BOOL(p(852, s)), s, p, o, m) -# define BOOST_PP_FOR_852(s, p, o, m) BOOST_PP_FOR_852_C(BOOST_PP_BOOL(p(853, s)), s, p, o, m) -# define BOOST_PP_FOR_853(s, p, o, m) BOOST_PP_FOR_853_C(BOOST_PP_BOOL(p(854, s)), s, p, o, m) -# define BOOST_PP_FOR_854(s, p, o, m) BOOST_PP_FOR_854_C(BOOST_PP_BOOL(p(855, s)), s, p, o, m) -# define BOOST_PP_FOR_855(s, p, o, m) BOOST_PP_FOR_855_C(BOOST_PP_BOOL(p(856, s)), s, p, o, m) -# define BOOST_PP_FOR_856(s, p, o, m) BOOST_PP_FOR_856_C(BOOST_PP_BOOL(p(857, s)), s, p, o, m) -# define BOOST_PP_FOR_857(s, p, o, m) BOOST_PP_FOR_857_C(BOOST_PP_BOOL(p(858, s)), s, p, o, m) -# define BOOST_PP_FOR_858(s, p, o, m) BOOST_PP_FOR_858_C(BOOST_PP_BOOL(p(859, s)), s, p, o, m) -# define BOOST_PP_FOR_859(s, p, o, m) BOOST_PP_FOR_859_C(BOOST_PP_BOOL(p(860, s)), s, p, o, m) -# define BOOST_PP_FOR_860(s, p, o, m) BOOST_PP_FOR_860_C(BOOST_PP_BOOL(p(861, s)), s, p, o, m) -# define BOOST_PP_FOR_861(s, p, o, m) BOOST_PP_FOR_861_C(BOOST_PP_BOOL(p(862, s)), s, p, o, m) -# define BOOST_PP_FOR_862(s, p, o, m) BOOST_PP_FOR_862_C(BOOST_PP_BOOL(p(863, s)), s, p, o, m) -# define BOOST_PP_FOR_863(s, p, o, m) BOOST_PP_FOR_863_C(BOOST_PP_BOOL(p(864, s)), s, p, o, m) -# define BOOST_PP_FOR_864(s, p, o, m) BOOST_PP_FOR_864_C(BOOST_PP_BOOL(p(865, s)), s, p, o, m) -# define BOOST_PP_FOR_865(s, p, o, m) BOOST_PP_FOR_865_C(BOOST_PP_BOOL(p(866, s)), s, p, o, m) -# define BOOST_PP_FOR_866(s, p, o, m) BOOST_PP_FOR_866_C(BOOST_PP_BOOL(p(867, s)), s, p, o, m) -# define BOOST_PP_FOR_867(s, p, o, m) BOOST_PP_FOR_867_C(BOOST_PP_BOOL(p(868, s)), s, p, o, m) -# define BOOST_PP_FOR_868(s, p, o, m) BOOST_PP_FOR_868_C(BOOST_PP_BOOL(p(869, s)), s, p, o, m) -# define BOOST_PP_FOR_869(s, p, o, m) BOOST_PP_FOR_869_C(BOOST_PP_BOOL(p(870, s)), s, p, o, m) -# define BOOST_PP_FOR_870(s, p, o, m) BOOST_PP_FOR_870_C(BOOST_PP_BOOL(p(871, s)), s, p, o, m) -# define BOOST_PP_FOR_871(s, p, o, m) BOOST_PP_FOR_871_C(BOOST_PP_BOOL(p(872, s)), s, p, o, m) -# define BOOST_PP_FOR_872(s, p, o, m) BOOST_PP_FOR_872_C(BOOST_PP_BOOL(p(873, s)), s, p, o, m) -# define BOOST_PP_FOR_873(s, p, o, m) BOOST_PP_FOR_873_C(BOOST_PP_BOOL(p(874, s)), s, p, o, m) -# define BOOST_PP_FOR_874(s, p, o, m) BOOST_PP_FOR_874_C(BOOST_PP_BOOL(p(875, s)), s, p, o, m) -# define BOOST_PP_FOR_875(s, p, o, m) BOOST_PP_FOR_875_C(BOOST_PP_BOOL(p(876, s)), s, p, o, m) -# define BOOST_PP_FOR_876(s, p, o, m) BOOST_PP_FOR_876_C(BOOST_PP_BOOL(p(877, s)), s, p, o, m) -# define BOOST_PP_FOR_877(s, p, o, m) BOOST_PP_FOR_877_C(BOOST_PP_BOOL(p(878, s)), s, p, o, m) -# define BOOST_PP_FOR_878(s, p, o, m) BOOST_PP_FOR_878_C(BOOST_PP_BOOL(p(879, s)), s, p, o, m) -# define BOOST_PP_FOR_879(s, p, o, m) BOOST_PP_FOR_879_C(BOOST_PP_BOOL(p(880, s)), s, p, o, m) -# define BOOST_PP_FOR_880(s, p, o, m) BOOST_PP_FOR_880_C(BOOST_PP_BOOL(p(881, s)), s, p, o, m) -# define BOOST_PP_FOR_881(s, p, o, m) BOOST_PP_FOR_881_C(BOOST_PP_BOOL(p(882, s)), s, p, o, m) -# define BOOST_PP_FOR_882(s, p, o, m) BOOST_PP_FOR_882_C(BOOST_PP_BOOL(p(883, s)), s, p, o, m) -# define BOOST_PP_FOR_883(s, p, o, m) BOOST_PP_FOR_883_C(BOOST_PP_BOOL(p(884, s)), s, p, o, m) -# define BOOST_PP_FOR_884(s, p, o, m) BOOST_PP_FOR_884_C(BOOST_PP_BOOL(p(885, s)), s, p, o, m) -# define BOOST_PP_FOR_885(s, p, o, m) BOOST_PP_FOR_885_C(BOOST_PP_BOOL(p(886, s)), s, p, o, m) -# define BOOST_PP_FOR_886(s, p, o, m) BOOST_PP_FOR_886_C(BOOST_PP_BOOL(p(887, s)), s, p, o, m) -# define BOOST_PP_FOR_887(s, p, o, m) BOOST_PP_FOR_887_C(BOOST_PP_BOOL(p(888, s)), s, p, o, m) -# define BOOST_PP_FOR_888(s, p, o, m) BOOST_PP_FOR_888_C(BOOST_PP_BOOL(p(889, s)), s, p, o, m) -# define BOOST_PP_FOR_889(s, p, o, m) BOOST_PP_FOR_889_C(BOOST_PP_BOOL(p(890, s)), s, p, o, m) -# define BOOST_PP_FOR_890(s, p, o, m) BOOST_PP_FOR_890_C(BOOST_PP_BOOL(p(891, s)), s, p, o, m) -# define BOOST_PP_FOR_891(s, p, o, m) BOOST_PP_FOR_891_C(BOOST_PP_BOOL(p(892, s)), s, p, o, m) -# define BOOST_PP_FOR_892(s, p, o, m) BOOST_PP_FOR_892_C(BOOST_PP_BOOL(p(893, s)), s, p, o, m) -# define BOOST_PP_FOR_893(s, p, o, m) BOOST_PP_FOR_893_C(BOOST_PP_BOOL(p(894, s)), s, p, o, m) -# define BOOST_PP_FOR_894(s, p, o, m) BOOST_PP_FOR_894_C(BOOST_PP_BOOL(p(895, s)), s, p, o, m) -# define BOOST_PP_FOR_895(s, p, o, m) BOOST_PP_FOR_895_C(BOOST_PP_BOOL(p(896, s)), s, p, o, m) -# define BOOST_PP_FOR_896(s, p, o, m) BOOST_PP_FOR_896_C(BOOST_PP_BOOL(p(897, s)), s, p, o, m) -# define BOOST_PP_FOR_897(s, p, o, m) BOOST_PP_FOR_897_C(BOOST_PP_BOOL(p(898, s)), s, p, o, m) -# define BOOST_PP_FOR_898(s, p, o, m) BOOST_PP_FOR_898_C(BOOST_PP_BOOL(p(899, s)), s, p, o, m) -# define BOOST_PP_FOR_899(s, p, o, m) BOOST_PP_FOR_899_C(BOOST_PP_BOOL(p(900, s)), s, p, o, m) -# define BOOST_PP_FOR_900(s, p, o, m) BOOST_PP_FOR_900_C(BOOST_PP_BOOL(p(901, s)), s, p, o, m) -# define BOOST_PP_FOR_901(s, p, o, m) BOOST_PP_FOR_901_C(BOOST_PP_BOOL(p(902, s)), s, p, o, m) -# define BOOST_PP_FOR_902(s, p, o, m) BOOST_PP_FOR_902_C(BOOST_PP_BOOL(p(903, s)), s, p, o, m) -# define BOOST_PP_FOR_903(s, p, o, m) BOOST_PP_FOR_903_C(BOOST_PP_BOOL(p(904, s)), s, p, o, m) -# define BOOST_PP_FOR_904(s, p, o, m) BOOST_PP_FOR_904_C(BOOST_PP_BOOL(p(905, s)), s, p, o, m) -# define BOOST_PP_FOR_905(s, p, o, m) BOOST_PP_FOR_905_C(BOOST_PP_BOOL(p(906, s)), s, p, o, m) -# define BOOST_PP_FOR_906(s, p, o, m) BOOST_PP_FOR_906_C(BOOST_PP_BOOL(p(907, s)), s, p, o, m) -# define BOOST_PP_FOR_907(s, p, o, m) BOOST_PP_FOR_907_C(BOOST_PP_BOOL(p(908, s)), s, p, o, m) -# define BOOST_PP_FOR_908(s, p, o, m) BOOST_PP_FOR_908_C(BOOST_PP_BOOL(p(909, s)), s, p, o, m) -# define BOOST_PP_FOR_909(s, p, o, m) BOOST_PP_FOR_909_C(BOOST_PP_BOOL(p(910, s)), s, p, o, m) -# define BOOST_PP_FOR_910(s, p, o, m) BOOST_PP_FOR_910_C(BOOST_PP_BOOL(p(911, s)), s, p, o, m) -# define BOOST_PP_FOR_911(s, p, o, m) BOOST_PP_FOR_911_C(BOOST_PP_BOOL(p(912, s)), s, p, o, m) -# define BOOST_PP_FOR_912(s, p, o, m) BOOST_PP_FOR_912_C(BOOST_PP_BOOL(p(913, s)), s, p, o, m) -# define BOOST_PP_FOR_913(s, p, o, m) BOOST_PP_FOR_913_C(BOOST_PP_BOOL(p(914, s)), s, p, o, m) -# define BOOST_PP_FOR_914(s, p, o, m) BOOST_PP_FOR_914_C(BOOST_PP_BOOL(p(915, s)), s, p, o, m) -# define BOOST_PP_FOR_915(s, p, o, m) BOOST_PP_FOR_915_C(BOOST_PP_BOOL(p(916, s)), s, p, o, m) -# define BOOST_PP_FOR_916(s, p, o, m) BOOST_PP_FOR_916_C(BOOST_PP_BOOL(p(917, s)), s, p, o, m) -# define BOOST_PP_FOR_917(s, p, o, m) BOOST_PP_FOR_917_C(BOOST_PP_BOOL(p(918, s)), s, p, o, m) -# define BOOST_PP_FOR_918(s, p, o, m) BOOST_PP_FOR_918_C(BOOST_PP_BOOL(p(919, s)), s, p, o, m) -# define BOOST_PP_FOR_919(s, p, o, m) BOOST_PP_FOR_919_C(BOOST_PP_BOOL(p(920, s)), s, p, o, m) -# define BOOST_PP_FOR_920(s, p, o, m) BOOST_PP_FOR_920_C(BOOST_PP_BOOL(p(921, s)), s, p, o, m) -# define BOOST_PP_FOR_921(s, p, o, m) BOOST_PP_FOR_921_C(BOOST_PP_BOOL(p(922, s)), s, p, o, m) -# define BOOST_PP_FOR_922(s, p, o, m) BOOST_PP_FOR_922_C(BOOST_PP_BOOL(p(923, s)), s, p, o, m) -# define BOOST_PP_FOR_923(s, p, o, m) BOOST_PP_FOR_923_C(BOOST_PP_BOOL(p(924, s)), s, p, o, m) -# define BOOST_PP_FOR_924(s, p, o, m) BOOST_PP_FOR_924_C(BOOST_PP_BOOL(p(925, s)), s, p, o, m) -# define BOOST_PP_FOR_925(s, p, o, m) BOOST_PP_FOR_925_C(BOOST_PP_BOOL(p(926, s)), s, p, o, m) -# define BOOST_PP_FOR_926(s, p, o, m) BOOST_PP_FOR_926_C(BOOST_PP_BOOL(p(927, s)), s, p, o, m) -# define BOOST_PP_FOR_927(s, p, o, m) BOOST_PP_FOR_927_C(BOOST_PP_BOOL(p(928, s)), s, p, o, m) -# define BOOST_PP_FOR_928(s, p, o, m) BOOST_PP_FOR_928_C(BOOST_PP_BOOL(p(929, s)), s, p, o, m) -# define BOOST_PP_FOR_929(s, p, o, m) BOOST_PP_FOR_929_C(BOOST_PP_BOOL(p(930, s)), s, p, o, m) -# define BOOST_PP_FOR_930(s, p, o, m) BOOST_PP_FOR_930_C(BOOST_PP_BOOL(p(931, s)), s, p, o, m) -# define BOOST_PP_FOR_931(s, p, o, m) BOOST_PP_FOR_931_C(BOOST_PP_BOOL(p(932, s)), s, p, o, m) -# define BOOST_PP_FOR_932(s, p, o, m) BOOST_PP_FOR_932_C(BOOST_PP_BOOL(p(933, s)), s, p, o, m) -# define BOOST_PP_FOR_933(s, p, o, m) BOOST_PP_FOR_933_C(BOOST_PP_BOOL(p(934, s)), s, p, o, m) -# define BOOST_PP_FOR_934(s, p, o, m) BOOST_PP_FOR_934_C(BOOST_PP_BOOL(p(935, s)), s, p, o, m) -# define BOOST_PP_FOR_935(s, p, o, m) BOOST_PP_FOR_935_C(BOOST_PP_BOOL(p(936, s)), s, p, o, m) -# define BOOST_PP_FOR_936(s, p, o, m) BOOST_PP_FOR_936_C(BOOST_PP_BOOL(p(937, s)), s, p, o, m) -# define BOOST_PP_FOR_937(s, p, o, m) BOOST_PP_FOR_937_C(BOOST_PP_BOOL(p(938, s)), s, p, o, m) -# define BOOST_PP_FOR_938(s, p, o, m) BOOST_PP_FOR_938_C(BOOST_PP_BOOL(p(939, s)), s, p, o, m) -# define BOOST_PP_FOR_939(s, p, o, m) BOOST_PP_FOR_939_C(BOOST_PP_BOOL(p(940, s)), s, p, o, m) -# define BOOST_PP_FOR_940(s, p, o, m) BOOST_PP_FOR_940_C(BOOST_PP_BOOL(p(941, s)), s, p, o, m) -# define BOOST_PP_FOR_941(s, p, o, m) BOOST_PP_FOR_941_C(BOOST_PP_BOOL(p(942, s)), s, p, o, m) -# define BOOST_PP_FOR_942(s, p, o, m) BOOST_PP_FOR_942_C(BOOST_PP_BOOL(p(943, s)), s, p, o, m) -# define BOOST_PP_FOR_943(s, p, o, m) BOOST_PP_FOR_943_C(BOOST_PP_BOOL(p(944, s)), s, p, o, m) -# define BOOST_PP_FOR_944(s, p, o, m) BOOST_PP_FOR_944_C(BOOST_PP_BOOL(p(945, s)), s, p, o, m) -# define BOOST_PP_FOR_945(s, p, o, m) BOOST_PP_FOR_945_C(BOOST_PP_BOOL(p(946, s)), s, p, o, m) -# define BOOST_PP_FOR_946(s, p, o, m) BOOST_PP_FOR_946_C(BOOST_PP_BOOL(p(947, s)), s, p, o, m) -# define BOOST_PP_FOR_947(s, p, o, m) BOOST_PP_FOR_947_C(BOOST_PP_BOOL(p(948, s)), s, p, o, m) -# define BOOST_PP_FOR_948(s, p, o, m) BOOST_PP_FOR_948_C(BOOST_PP_BOOL(p(949, s)), s, p, o, m) -# define BOOST_PP_FOR_949(s, p, o, m) BOOST_PP_FOR_949_C(BOOST_PP_BOOL(p(950, s)), s, p, o, m) -# define BOOST_PP_FOR_950(s, p, o, m) BOOST_PP_FOR_950_C(BOOST_PP_BOOL(p(951, s)), s, p, o, m) -# define BOOST_PP_FOR_951(s, p, o, m) BOOST_PP_FOR_951_C(BOOST_PP_BOOL(p(952, s)), s, p, o, m) -# define BOOST_PP_FOR_952(s, p, o, m) BOOST_PP_FOR_952_C(BOOST_PP_BOOL(p(953, s)), s, p, o, m) -# define BOOST_PP_FOR_953(s, p, o, m) BOOST_PP_FOR_953_C(BOOST_PP_BOOL(p(954, s)), s, p, o, m) -# define BOOST_PP_FOR_954(s, p, o, m) BOOST_PP_FOR_954_C(BOOST_PP_BOOL(p(955, s)), s, p, o, m) -# define BOOST_PP_FOR_955(s, p, o, m) BOOST_PP_FOR_955_C(BOOST_PP_BOOL(p(956, s)), s, p, o, m) -# define BOOST_PP_FOR_956(s, p, o, m) BOOST_PP_FOR_956_C(BOOST_PP_BOOL(p(957, s)), s, p, o, m) -# define BOOST_PP_FOR_957(s, p, o, m) BOOST_PP_FOR_957_C(BOOST_PP_BOOL(p(958, s)), s, p, o, m) -# define BOOST_PP_FOR_958(s, p, o, m) BOOST_PP_FOR_958_C(BOOST_PP_BOOL(p(959, s)), s, p, o, m) -# define BOOST_PP_FOR_959(s, p, o, m) BOOST_PP_FOR_959_C(BOOST_PP_BOOL(p(960, s)), s, p, o, m) -# define BOOST_PP_FOR_960(s, p, o, m) BOOST_PP_FOR_960_C(BOOST_PP_BOOL(p(961, s)), s, p, o, m) -# define BOOST_PP_FOR_961(s, p, o, m) BOOST_PP_FOR_961_C(BOOST_PP_BOOL(p(962, s)), s, p, o, m) -# define BOOST_PP_FOR_962(s, p, o, m) BOOST_PP_FOR_962_C(BOOST_PP_BOOL(p(963, s)), s, p, o, m) -# define BOOST_PP_FOR_963(s, p, o, m) BOOST_PP_FOR_963_C(BOOST_PP_BOOL(p(964, s)), s, p, o, m) -# define BOOST_PP_FOR_964(s, p, o, m) BOOST_PP_FOR_964_C(BOOST_PP_BOOL(p(965, s)), s, p, o, m) -# define BOOST_PP_FOR_965(s, p, o, m) BOOST_PP_FOR_965_C(BOOST_PP_BOOL(p(966, s)), s, p, o, m) -# define BOOST_PP_FOR_966(s, p, o, m) BOOST_PP_FOR_966_C(BOOST_PP_BOOL(p(967, s)), s, p, o, m) -# define BOOST_PP_FOR_967(s, p, o, m) BOOST_PP_FOR_967_C(BOOST_PP_BOOL(p(968, s)), s, p, o, m) -# define BOOST_PP_FOR_968(s, p, o, m) BOOST_PP_FOR_968_C(BOOST_PP_BOOL(p(969, s)), s, p, o, m) -# define BOOST_PP_FOR_969(s, p, o, m) BOOST_PP_FOR_969_C(BOOST_PP_BOOL(p(970, s)), s, p, o, m) -# define BOOST_PP_FOR_970(s, p, o, m) BOOST_PP_FOR_970_C(BOOST_PP_BOOL(p(971, s)), s, p, o, m) -# define BOOST_PP_FOR_971(s, p, o, m) BOOST_PP_FOR_971_C(BOOST_PP_BOOL(p(972, s)), s, p, o, m) -# define BOOST_PP_FOR_972(s, p, o, m) BOOST_PP_FOR_972_C(BOOST_PP_BOOL(p(973, s)), s, p, o, m) -# define BOOST_PP_FOR_973(s, p, o, m) BOOST_PP_FOR_973_C(BOOST_PP_BOOL(p(974, s)), s, p, o, m) -# define BOOST_PP_FOR_974(s, p, o, m) BOOST_PP_FOR_974_C(BOOST_PP_BOOL(p(975, s)), s, p, o, m) -# define BOOST_PP_FOR_975(s, p, o, m) BOOST_PP_FOR_975_C(BOOST_PP_BOOL(p(976, s)), s, p, o, m) -# define BOOST_PP_FOR_976(s, p, o, m) BOOST_PP_FOR_976_C(BOOST_PP_BOOL(p(977, s)), s, p, o, m) -# define BOOST_PP_FOR_977(s, p, o, m) BOOST_PP_FOR_977_C(BOOST_PP_BOOL(p(978, s)), s, p, o, m) -# define BOOST_PP_FOR_978(s, p, o, m) BOOST_PP_FOR_978_C(BOOST_PP_BOOL(p(979, s)), s, p, o, m) -# define BOOST_PP_FOR_979(s, p, o, m) BOOST_PP_FOR_979_C(BOOST_PP_BOOL(p(980, s)), s, p, o, m) -# define BOOST_PP_FOR_980(s, p, o, m) BOOST_PP_FOR_980_C(BOOST_PP_BOOL(p(981, s)), s, p, o, m) -# define BOOST_PP_FOR_981(s, p, o, m) BOOST_PP_FOR_981_C(BOOST_PP_BOOL(p(982, s)), s, p, o, m) -# define BOOST_PP_FOR_982(s, p, o, m) BOOST_PP_FOR_982_C(BOOST_PP_BOOL(p(983, s)), s, p, o, m) -# define BOOST_PP_FOR_983(s, p, o, m) BOOST_PP_FOR_983_C(BOOST_PP_BOOL(p(984, s)), s, p, o, m) -# define BOOST_PP_FOR_984(s, p, o, m) BOOST_PP_FOR_984_C(BOOST_PP_BOOL(p(985, s)), s, p, o, m) -# define BOOST_PP_FOR_985(s, p, o, m) BOOST_PP_FOR_985_C(BOOST_PP_BOOL(p(986, s)), s, p, o, m) -# define BOOST_PP_FOR_986(s, p, o, m) BOOST_PP_FOR_986_C(BOOST_PP_BOOL(p(987, s)), s, p, o, m) -# define BOOST_PP_FOR_987(s, p, o, m) BOOST_PP_FOR_987_C(BOOST_PP_BOOL(p(988, s)), s, p, o, m) -# define BOOST_PP_FOR_988(s, p, o, m) BOOST_PP_FOR_988_C(BOOST_PP_BOOL(p(989, s)), s, p, o, m) -# define BOOST_PP_FOR_989(s, p, o, m) BOOST_PP_FOR_989_C(BOOST_PP_BOOL(p(990, s)), s, p, o, m) -# define BOOST_PP_FOR_990(s, p, o, m) BOOST_PP_FOR_990_C(BOOST_PP_BOOL(p(991, s)), s, p, o, m) -# define BOOST_PP_FOR_991(s, p, o, m) BOOST_PP_FOR_991_C(BOOST_PP_BOOL(p(992, s)), s, p, o, m) -# define BOOST_PP_FOR_992(s, p, o, m) BOOST_PP_FOR_992_C(BOOST_PP_BOOL(p(993, s)), s, p, o, m) -# define BOOST_PP_FOR_993(s, p, o, m) BOOST_PP_FOR_993_C(BOOST_PP_BOOL(p(994, s)), s, p, o, m) -# define BOOST_PP_FOR_994(s, p, o, m) BOOST_PP_FOR_994_C(BOOST_PP_BOOL(p(995, s)), s, p, o, m) -# define BOOST_PP_FOR_995(s, p, o, m) BOOST_PP_FOR_995_C(BOOST_PP_BOOL(p(996, s)), s, p, o, m) -# define BOOST_PP_FOR_996(s, p, o, m) BOOST_PP_FOR_996_C(BOOST_PP_BOOL(p(997, s)), s, p, o, m) -# define BOOST_PP_FOR_997(s, p, o, m) BOOST_PP_FOR_997_C(BOOST_PP_BOOL(p(998, s)), s, p, o, m) -# define BOOST_PP_FOR_998(s, p, o, m) BOOST_PP_FOR_998_C(BOOST_PP_BOOL(p(999, s)), s, p, o, m) -# define BOOST_PP_FOR_999(s, p, o, m) BOOST_PP_FOR_999_C(BOOST_PP_BOOL(p(1000, s)), s, p, o, m) -# define BOOST_PP_FOR_1000(s, p, o, m) BOOST_PP_FOR_1000_C(BOOST_PP_BOOL(p(1001, s)), s, p, o, m) -# define BOOST_PP_FOR_1001(s, p, o, m) BOOST_PP_FOR_1001_C(BOOST_PP_BOOL(p(1002, s)), s, p, o, m) -# define BOOST_PP_FOR_1002(s, p, o, m) BOOST_PP_FOR_1002_C(BOOST_PP_BOOL(p(1003, s)), s, p, o, m) -# define BOOST_PP_FOR_1003(s, p, o, m) BOOST_PP_FOR_1003_C(BOOST_PP_BOOL(p(1004, s)), s, p, o, m) -# define BOOST_PP_FOR_1004(s, p, o, m) BOOST_PP_FOR_1004_C(BOOST_PP_BOOL(p(1005, s)), s, p, o, m) -# define BOOST_PP_FOR_1005(s, p, o, m) BOOST_PP_FOR_1005_C(BOOST_PP_BOOL(p(1006, s)), s, p, o, m) -# define BOOST_PP_FOR_1006(s, p, o, m) BOOST_PP_FOR_1006_C(BOOST_PP_BOOL(p(1007, s)), s, p, o, m) -# define BOOST_PP_FOR_1007(s, p, o, m) BOOST_PP_FOR_1007_C(BOOST_PP_BOOL(p(1008, s)), s, p, o, m) -# define BOOST_PP_FOR_1008(s, p, o, m) BOOST_PP_FOR_1008_C(BOOST_PP_BOOL(p(1009, s)), s, p, o, m) -# define BOOST_PP_FOR_1009(s, p, o, m) BOOST_PP_FOR_1009_C(BOOST_PP_BOOL(p(1010, s)), s, p, o, m) -# define BOOST_PP_FOR_1010(s, p, o, m) BOOST_PP_FOR_1010_C(BOOST_PP_BOOL(p(1011, s)), s, p, o, m) -# define BOOST_PP_FOR_1011(s, p, o, m) BOOST_PP_FOR_1011_C(BOOST_PP_BOOL(p(1012, s)), s, p, o, m) -# define BOOST_PP_FOR_1012(s, p, o, m) BOOST_PP_FOR_1012_C(BOOST_PP_BOOL(p(1013, s)), s, p, o, m) -# define BOOST_PP_FOR_1013(s, p, o, m) BOOST_PP_FOR_1013_C(BOOST_PP_BOOL(p(1014, s)), s, p, o, m) -# define BOOST_PP_FOR_1014(s, p, o, m) BOOST_PP_FOR_1014_C(BOOST_PP_BOOL(p(1015, s)), s, p, o, m) -# define BOOST_PP_FOR_1015(s, p, o, m) BOOST_PP_FOR_1015_C(BOOST_PP_BOOL(p(1016, s)), s, p, o, m) -# define BOOST_PP_FOR_1016(s, p, o, m) BOOST_PP_FOR_1016_C(BOOST_PP_BOOL(p(1017, s)), s, p, o, m) -# define BOOST_PP_FOR_1017(s, p, o, m) BOOST_PP_FOR_1017_C(BOOST_PP_BOOL(p(1018, s)), s, p, o, m) -# define BOOST_PP_FOR_1018(s, p, o, m) BOOST_PP_FOR_1018_C(BOOST_PP_BOOL(p(1019, s)), s, p, o, m) -# define BOOST_PP_FOR_1019(s, p, o, m) BOOST_PP_FOR_1019_C(BOOST_PP_BOOL(p(1020, s)), s, p, o, m) -# define BOOST_PP_FOR_1020(s, p, o, m) BOOST_PP_FOR_1020_C(BOOST_PP_BOOL(p(1021, s)), s, p, o, m) -# define BOOST_PP_FOR_1021(s, p, o, m) BOOST_PP_FOR_1021_C(BOOST_PP_BOOL(p(1022, s)), s, p, o, m) -# define BOOST_PP_FOR_1022(s, p, o, m) BOOST_PP_FOR_1022_C(BOOST_PP_BOOL(p(1023, s)), s, p, o, m) -# define BOOST_PP_FOR_1023(s, p, o, m) BOOST_PP_FOR_1023_C(BOOST_PP_BOOL(p(1024, s)), s, p, o, m) -# define BOOST_PP_FOR_1024(s, p, o, m) BOOST_PP_FOR_1024_C(BOOST_PP_BOOL(p(1025, s)), s, p, o, m) -# -# define BOOST_PP_FOR_513_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(514, s) BOOST_PP_IIF(c, BOOST_PP_FOR_514, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(514, s), p, o, m) -# define BOOST_PP_FOR_514_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(515, s) BOOST_PP_IIF(c, BOOST_PP_FOR_515, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(515, s), p, o, m) -# define BOOST_PP_FOR_515_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(516, s) BOOST_PP_IIF(c, BOOST_PP_FOR_516, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(516, s), p, o, m) -# define BOOST_PP_FOR_516_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(517, s) BOOST_PP_IIF(c, BOOST_PP_FOR_517, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(517, s), p, o, m) -# define BOOST_PP_FOR_517_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(518, s) BOOST_PP_IIF(c, BOOST_PP_FOR_518, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(518, s), p, o, m) -# define BOOST_PP_FOR_518_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(519, s) BOOST_PP_IIF(c, BOOST_PP_FOR_519, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(519, s), p, o, m) -# define BOOST_PP_FOR_519_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(520, s) BOOST_PP_IIF(c, BOOST_PP_FOR_520, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(520, s), p, o, m) -# define BOOST_PP_FOR_520_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(521, s) BOOST_PP_IIF(c, BOOST_PP_FOR_521, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(521, s), p, o, m) -# define BOOST_PP_FOR_521_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(522, s) BOOST_PP_IIF(c, BOOST_PP_FOR_522, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(522, s), p, o, m) -# define BOOST_PP_FOR_522_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(523, s) BOOST_PP_IIF(c, BOOST_PP_FOR_523, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(523, s), p, o, m) -# define BOOST_PP_FOR_523_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(524, s) BOOST_PP_IIF(c, BOOST_PP_FOR_524, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(524, s), p, o, m) -# define BOOST_PP_FOR_524_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(525, s) BOOST_PP_IIF(c, BOOST_PP_FOR_525, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(525, s), p, o, m) -# define BOOST_PP_FOR_525_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(526, s) BOOST_PP_IIF(c, BOOST_PP_FOR_526, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(526, s), p, o, m) -# define BOOST_PP_FOR_526_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(527, s) BOOST_PP_IIF(c, BOOST_PP_FOR_527, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(527, s), p, o, m) -# define BOOST_PP_FOR_527_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(528, s) BOOST_PP_IIF(c, BOOST_PP_FOR_528, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(528, s), p, o, m) -# define BOOST_PP_FOR_528_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(529, s) BOOST_PP_IIF(c, BOOST_PP_FOR_529, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(529, s), p, o, m) -# define BOOST_PP_FOR_529_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(530, s) BOOST_PP_IIF(c, BOOST_PP_FOR_530, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(530, s), p, o, m) -# define BOOST_PP_FOR_530_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(531, s) BOOST_PP_IIF(c, BOOST_PP_FOR_531, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(531, s), p, o, m) -# define BOOST_PP_FOR_531_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(532, s) BOOST_PP_IIF(c, BOOST_PP_FOR_532, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(532, s), p, o, m) -# define BOOST_PP_FOR_532_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(533, s) BOOST_PP_IIF(c, BOOST_PP_FOR_533, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(533, s), p, o, m) -# define BOOST_PP_FOR_533_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(534, s) BOOST_PP_IIF(c, BOOST_PP_FOR_534, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(534, s), p, o, m) -# define BOOST_PP_FOR_534_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(535, s) BOOST_PP_IIF(c, BOOST_PP_FOR_535, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(535, s), p, o, m) -# define BOOST_PP_FOR_535_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(536, s) BOOST_PP_IIF(c, BOOST_PP_FOR_536, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(536, s), p, o, m) -# define BOOST_PP_FOR_536_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(537, s) BOOST_PP_IIF(c, BOOST_PP_FOR_537, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(537, s), p, o, m) -# define BOOST_PP_FOR_537_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(538, s) BOOST_PP_IIF(c, BOOST_PP_FOR_538, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(538, s), p, o, m) -# define BOOST_PP_FOR_538_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(539, s) BOOST_PP_IIF(c, BOOST_PP_FOR_539, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(539, s), p, o, m) -# define BOOST_PP_FOR_539_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(540, s) BOOST_PP_IIF(c, BOOST_PP_FOR_540, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(540, s), p, o, m) -# define BOOST_PP_FOR_540_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(541, s) BOOST_PP_IIF(c, BOOST_PP_FOR_541, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(541, s), p, o, m) -# define BOOST_PP_FOR_541_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(542, s) BOOST_PP_IIF(c, BOOST_PP_FOR_542, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(542, s), p, o, m) -# define BOOST_PP_FOR_542_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(543, s) BOOST_PP_IIF(c, BOOST_PP_FOR_543, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(543, s), p, o, m) -# define BOOST_PP_FOR_543_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(544, s) BOOST_PP_IIF(c, BOOST_PP_FOR_544, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(544, s), p, o, m) -# define BOOST_PP_FOR_544_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(545, s) BOOST_PP_IIF(c, BOOST_PP_FOR_545, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(545, s), p, o, m) -# define BOOST_PP_FOR_545_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(546, s) BOOST_PP_IIF(c, BOOST_PP_FOR_546, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(546, s), p, o, m) -# define BOOST_PP_FOR_546_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(547, s) BOOST_PP_IIF(c, BOOST_PP_FOR_547, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(547, s), p, o, m) -# define BOOST_PP_FOR_547_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(548, s) BOOST_PP_IIF(c, BOOST_PP_FOR_548, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(548, s), p, o, m) -# define BOOST_PP_FOR_548_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(549, s) BOOST_PP_IIF(c, BOOST_PP_FOR_549, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(549, s), p, o, m) -# define BOOST_PP_FOR_549_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(550, s) BOOST_PP_IIF(c, BOOST_PP_FOR_550, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(550, s), p, o, m) -# define BOOST_PP_FOR_550_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(551, s) BOOST_PP_IIF(c, BOOST_PP_FOR_551, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(551, s), p, o, m) -# define BOOST_PP_FOR_551_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(552, s) BOOST_PP_IIF(c, BOOST_PP_FOR_552, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(552, s), p, o, m) -# define BOOST_PP_FOR_552_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(553, s) BOOST_PP_IIF(c, BOOST_PP_FOR_553, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(553, s), p, o, m) -# define BOOST_PP_FOR_553_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(554, s) BOOST_PP_IIF(c, BOOST_PP_FOR_554, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(554, s), p, o, m) -# define BOOST_PP_FOR_554_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(555, s) BOOST_PP_IIF(c, BOOST_PP_FOR_555, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(555, s), p, o, m) -# define BOOST_PP_FOR_555_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(556, s) BOOST_PP_IIF(c, BOOST_PP_FOR_556, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(556, s), p, o, m) -# define BOOST_PP_FOR_556_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(557, s) BOOST_PP_IIF(c, BOOST_PP_FOR_557, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(557, s), p, o, m) -# define BOOST_PP_FOR_557_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(558, s) BOOST_PP_IIF(c, BOOST_PP_FOR_558, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(558, s), p, o, m) -# define BOOST_PP_FOR_558_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(559, s) BOOST_PP_IIF(c, BOOST_PP_FOR_559, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(559, s), p, o, m) -# define BOOST_PP_FOR_559_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(560, s) BOOST_PP_IIF(c, BOOST_PP_FOR_560, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(560, s), p, o, m) -# define BOOST_PP_FOR_560_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(561, s) BOOST_PP_IIF(c, BOOST_PP_FOR_561, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(561, s), p, o, m) -# define BOOST_PP_FOR_561_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(562, s) BOOST_PP_IIF(c, BOOST_PP_FOR_562, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(562, s), p, o, m) -# define BOOST_PP_FOR_562_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(563, s) BOOST_PP_IIF(c, BOOST_PP_FOR_563, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(563, s), p, o, m) -# define BOOST_PP_FOR_563_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(564, s) BOOST_PP_IIF(c, BOOST_PP_FOR_564, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(564, s), p, o, m) -# define BOOST_PP_FOR_564_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(565, s) BOOST_PP_IIF(c, BOOST_PP_FOR_565, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(565, s), p, o, m) -# define BOOST_PP_FOR_565_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(566, s) BOOST_PP_IIF(c, BOOST_PP_FOR_566, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(566, s), p, o, m) -# define BOOST_PP_FOR_566_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(567, s) BOOST_PP_IIF(c, BOOST_PP_FOR_567, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(567, s), p, o, m) -# define BOOST_PP_FOR_567_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(568, s) BOOST_PP_IIF(c, BOOST_PP_FOR_568, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(568, s), p, o, m) -# define BOOST_PP_FOR_568_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(569, s) BOOST_PP_IIF(c, BOOST_PP_FOR_569, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(569, s), p, o, m) -# define BOOST_PP_FOR_569_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(570, s) BOOST_PP_IIF(c, BOOST_PP_FOR_570, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(570, s), p, o, m) -# define BOOST_PP_FOR_570_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(571, s) BOOST_PP_IIF(c, BOOST_PP_FOR_571, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(571, s), p, o, m) -# define BOOST_PP_FOR_571_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(572, s) BOOST_PP_IIF(c, BOOST_PP_FOR_572, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(572, s), p, o, m) -# define BOOST_PP_FOR_572_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(573, s) BOOST_PP_IIF(c, BOOST_PP_FOR_573, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(573, s), p, o, m) -# define BOOST_PP_FOR_573_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(574, s) BOOST_PP_IIF(c, BOOST_PP_FOR_574, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(574, s), p, o, m) -# define BOOST_PP_FOR_574_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(575, s) BOOST_PP_IIF(c, BOOST_PP_FOR_575, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(575, s), p, o, m) -# define BOOST_PP_FOR_575_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(576, s) BOOST_PP_IIF(c, BOOST_PP_FOR_576, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(576, s), p, o, m) -# define BOOST_PP_FOR_576_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(577, s) BOOST_PP_IIF(c, BOOST_PP_FOR_577, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(577, s), p, o, m) -# define BOOST_PP_FOR_577_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(578, s) BOOST_PP_IIF(c, BOOST_PP_FOR_578, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(578, s), p, o, m) -# define BOOST_PP_FOR_578_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(579, s) BOOST_PP_IIF(c, BOOST_PP_FOR_579, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(579, s), p, o, m) -# define BOOST_PP_FOR_579_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(580, s) BOOST_PP_IIF(c, BOOST_PP_FOR_580, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(580, s), p, o, m) -# define BOOST_PP_FOR_580_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(581, s) BOOST_PP_IIF(c, BOOST_PP_FOR_581, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(581, s), p, o, m) -# define BOOST_PP_FOR_581_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(582, s) BOOST_PP_IIF(c, BOOST_PP_FOR_582, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(582, s), p, o, m) -# define BOOST_PP_FOR_582_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(583, s) BOOST_PP_IIF(c, BOOST_PP_FOR_583, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(583, s), p, o, m) -# define BOOST_PP_FOR_583_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(584, s) BOOST_PP_IIF(c, BOOST_PP_FOR_584, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(584, s), p, o, m) -# define BOOST_PP_FOR_584_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(585, s) BOOST_PP_IIF(c, BOOST_PP_FOR_585, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(585, s), p, o, m) -# define BOOST_PP_FOR_585_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(586, s) BOOST_PP_IIF(c, BOOST_PP_FOR_586, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(586, s), p, o, m) -# define BOOST_PP_FOR_586_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(587, s) BOOST_PP_IIF(c, BOOST_PP_FOR_587, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(587, s), p, o, m) -# define BOOST_PP_FOR_587_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(588, s) BOOST_PP_IIF(c, BOOST_PP_FOR_588, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(588, s), p, o, m) -# define BOOST_PP_FOR_588_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(589, s) BOOST_PP_IIF(c, BOOST_PP_FOR_589, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(589, s), p, o, m) -# define BOOST_PP_FOR_589_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(590, s) BOOST_PP_IIF(c, BOOST_PP_FOR_590, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(590, s), p, o, m) -# define BOOST_PP_FOR_590_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(591, s) BOOST_PP_IIF(c, BOOST_PP_FOR_591, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(591, s), p, o, m) -# define BOOST_PP_FOR_591_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(592, s) BOOST_PP_IIF(c, BOOST_PP_FOR_592, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(592, s), p, o, m) -# define BOOST_PP_FOR_592_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(593, s) BOOST_PP_IIF(c, BOOST_PP_FOR_593, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(593, s), p, o, m) -# define BOOST_PP_FOR_593_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(594, s) BOOST_PP_IIF(c, BOOST_PP_FOR_594, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(594, s), p, o, m) -# define BOOST_PP_FOR_594_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(595, s) BOOST_PP_IIF(c, BOOST_PP_FOR_595, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(595, s), p, o, m) -# define BOOST_PP_FOR_595_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(596, s) BOOST_PP_IIF(c, BOOST_PP_FOR_596, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(596, s), p, o, m) -# define BOOST_PP_FOR_596_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(597, s) BOOST_PP_IIF(c, BOOST_PP_FOR_597, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(597, s), p, o, m) -# define BOOST_PP_FOR_597_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(598, s) BOOST_PP_IIF(c, BOOST_PP_FOR_598, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(598, s), p, o, m) -# define BOOST_PP_FOR_598_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(599, s) BOOST_PP_IIF(c, BOOST_PP_FOR_599, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(599, s), p, o, m) -# define BOOST_PP_FOR_599_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(600, s) BOOST_PP_IIF(c, BOOST_PP_FOR_600, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(600, s), p, o, m) -# define BOOST_PP_FOR_600_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(601, s) BOOST_PP_IIF(c, BOOST_PP_FOR_601, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(601, s), p, o, m) -# define BOOST_PP_FOR_601_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(602, s) BOOST_PP_IIF(c, BOOST_PP_FOR_602, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(602, s), p, o, m) -# define BOOST_PP_FOR_602_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(603, s) BOOST_PP_IIF(c, BOOST_PP_FOR_603, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(603, s), p, o, m) -# define BOOST_PP_FOR_603_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(604, s) BOOST_PP_IIF(c, BOOST_PP_FOR_604, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(604, s), p, o, m) -# define BOOST_PP_FOR_604_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(605, s) BOOST_PP_IIF(c, BOOST_PP_FOR_605, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(605, s), p, o, m) -# define BOOST_PP_FOR_605_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(606, s) BOOST_PP_IIF(c, BOOST_PP_FOR_606, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(606, s), p, o, m) -# define BOOST_PP_FOR_606_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(607, s) BOOST_PP_IIF(c, BOOST_PP_FOR_607, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(607, s), p, o, m) -# define BOOST_PP_FOR_607_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(608, s) BOOST_PP_IIF(c, BOOST_PP_FOR_608, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(608, s), p, o, m) -# define BOOST_PP_FOR_608_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(609, s) BOOST_PP_IIF(c, BOOST_PP_FOR_609, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(609, s), p, o, m) -# define BOOST_PP_FOR_609_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(610, s) BOOST_PP_IIF(c, BOOST_PP_FOR_610, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(610, s), p, o, m) -# define BOOST_PP_FOR_610_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(611, s) BOOST_PP_IIF(c, BOOST_PP_FOR_611, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(611, s), p, o, m) -# define BOOST_PP_FOR_611_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(612, s) BOOST_PP_IIF(c, BOOST_PP_FOR_612, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(612, s), p, o, m) -# define BOOST_PP_FOR_612_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(613, s) BOOST_PP_IIF(c, BOOST_PP_FOR_613, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(613, s), p, o, m) -# define BOOST_PP_FOR_613_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(614, s) BOOST_PP_IIF(c, BOOST_PP_FOR_614, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(614, s), p, o, m) -# define BOOST_PP_FOR_614_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(615, s) BOOST_PP_IIF(c, BOOST_PP_FOR_615, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(615, s), p, o, m) -# define BOOST_PP_FOR_615_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(616, s) BOOST_PP_IIF(c, BOOST_PP_FOR_616, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(616, s), p, o, m) -# define BOOST_PP_FOR_616_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(617, s) BOOST_PP_IIF(c, BOOST_PP_FOR_617, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(617, s), p, o, m) -# define BOOST_PP_FOR_617_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(618, s) BOOST_PP_IIF(c, BOOST_PP_FOR_618, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(618, s), p, o, m) -# define BOOST_PP_FOR_618_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(619, s) BOOST_PP_IIF(c, BOOST_PP_FOR_619, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(619, s), p, o, m) -# define BOOST_PP_FOR_619_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(620, s) BOOST_PP_IIF(c, BOOST_PP_FOR_620, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(620, s), p, o, m) -# define BOOST_PP_FOR_620_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(621, s) BOOST_PP_IIF(c, BOOST_PP_FOR_621, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(621, s), p, o, m) -# define BOOST_PP_FOR_621_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(622, s) BOOST_PP_IIF(c, BOOST_PP_FOR_622, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(622, s), p, o, m) -# define BOOST_PP_FOR_622_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(623, s) BOOST_PP_IIF(c, BOOST_PP_FOR_623, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(623, s), p, o, m) -# define BOOST_PP_FOR_623_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(624, s) BOOST_PP_IIF(c, BOOST_PP_FOR_624, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(624, s), p, o, m) -# define BOOST_PP_FOR_624_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(625, s) BOOST_PP_IIF(c, BOOST_PP_FOR_625, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(625, s), p, o, m) -# define BOOST_PP_FOR_625_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(626, s) BOOST_PP_IIF(c, BOOST_PP_FOR_626, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(626, s), p, o, m) -# define BOOST_PP_FOR_626_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(627, s) BOOST_PP_IIF(c, BOOST_PP_FOR_627, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(627, s), p, o, m) -# define BOOST_PP_FOR_627_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(628, s) BOOST_PP_IIF(c, BOOST_PP_FOR_628, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(628, s), p, o, m) -# define BOOST_PP_FOR_628_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(629, s) BOOST_PP_IIF(c, BOOST_PP_FOR_629, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(629, s), p, o, m) -# define BOOST_PP_FOR_629_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(630, s) BOOST_PP_IIF(c, BOOST_PP_FOR_630, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(630, s), p, o, m) -# define BOOST_PP_FOR_630_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(631, s) BOOST_PP_IIF(c, BOOST_PP_FOR_631, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(631, s), p, o, m) -# define BOOST_PP_FOR_631_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(632, s) BOOST_PP_IIF(c, BOOST_PP_FOR_632, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(632, s), p, o, m) -# define BOOST_PP_FOR_632_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(633, s) BOOST_PP_IIF(c, BOOST_PP_FOR_633, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(633, s), p, o, m) -# define BOOST_PP_FOR_633_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(634, s) BOOST_PP_IIF(c, BOOST_PP_FOR_634, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(634, s), p, o, m) -# define BOOST_PP_FOR_634_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(635, s) BOOST_PP_IIF(c, BOOST_PP_FOR_635, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(635, s), p, o, m) -# define BOOST_PP_FOR_635_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(636, s) BOOST_PP_IIF(c, BOOST_PP_FOR_636, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(636, s), p, o, m) -# define BOOST_PP_FOR_636_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(637, s) BOOST_PP_IIF(c, BOOST_PP_FOR_637, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(637, s), p, o, m) -# define BOOST_PP_FOR_637_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(638, s) BOOST_PP_IIF(c, BOOST_PP_FOR_638, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(638, s), p, o, m) -# define BOOST_PP_FOR_638_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(639, s) BOOST_PP_IIF(c, BOOST_PP_FOR_639, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(639, s), p, o, m) -# define BOOST_PP_FOR_639_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(640, s) BOOST_PP_IIF(c, BOOST_PP_FOR_640, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(640, s), p, o, m) -# define BOOST_PP_FOR_640_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(641, s) BOOST_PP_IIF(c, BOOST_PP_FOR_641, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(641, s), p, o, m) -# define BOOST_PP_FOR_641_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(642, s) BOOST_PP_IIF(c, BOOST_PP_FOR_642, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(642, s), p, o, m) -# define BOOST_PP_FOR_642_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(643, s) BOOST_PP_IIF(c, BOOST_PP_FOR_643, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(643, s), p, o, m) -# define BOOST_PP_FOR_643_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(644, s) BOOST_PP_IIF(c, BOOST_PP_FOR_644, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(644, s), p, o, m) -# define BOOST_PP_FOR_644_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(645, s) BOOST_PP_IIF(c, BOOST_PP_FOR_645, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(645, s), p, o, m) -# define BOOST_PP_FOR_645_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(646, s) BOOST_PP_IIF(c, BOOST_PP_FOR_646, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(646, s), p, o, m) -# define BOOST_PP_FOR_646_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(647, s) BOOST_PP_IIF(c, BOOST_PP_FOR_647, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(647, s), p, o, m) -# define BOOST_PP_FOR_647_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(648, s) BOOST_PP_IIF(c, BOOST_PP_FOR_648, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(648, s), p, o, m) -# define BOOST_PP_FOR_648_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(649, s) BOOST_PP_IIF(c, BOOST_PP_FOR_649, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(649, s), p, o, m) -# define BOOST_PP_FOR_649_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(650, s) BOOST_PP_IIF(c, BOOST_PP_FOR_650, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(650, s), p, o, m) -# define BOOST_PP_FOR_650_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(651, s) BOOST_PP_IIF(c, BOOST_PP_FOR_651, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(651, s), p, o, m) -# define BOOST_PP_FOR_651_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(652, s) BOOST_PP_IIF(c, BOOST_PP_FOR_652, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(652, s), p, o, m) -# define BOOST_PP_FOR_652_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(653, s) BOOST_PP_IIF(c, BOOST_PP_FOR_653, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(653, s), p, o, m) -# define BOOST_PP_FOR_653_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(654, s) BOOST_PP_IIF(c, BOOST_PP_FOR_654, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(654, s), p, o, m) -# define BOOST_PP_FOR_654_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(655, s) BOOST_PP_IIF(c, BOOST_PP_FOR_655, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(655, s), p, o, m) -# define BOOST_PP_FOR_655_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(656, s) BOOST_PP_IIF(c, BOOST_PP_FOR_656, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(656, s), p, o, m) -# define BOOST_PP_FOR_656_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(657, s) BOOST_PP_IIF(c, BOOST_PP_FOR_657, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(657, s), p, o, m) -# define BOOST_PP_FOR_657_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(658, s) BOOST_PP_IIF(c, BOOST_PP_FOR_658, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(658, s), p, o, m) -# define BOOST_PP_FOR_658_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(659, s) BOOST_PP_IIF(c, BOOST_PP_FOR_659, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(659, s), p, o, m) -# define BOOST_PP_FOR_659_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(660, s) BOOST_PP_IIF(c, BOOST_PP_FOR_660, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(660, s), p, o, m) -# define BOOST_PP_FOR_660_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(661, s) BOOST_PP_IIF(c, BOOST_PP_FOR_661, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(661, s), p, o, m) -# define BOOST_PP_FOR_661_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(662, s) BOOST_PP_IIF(c, BOOST_PP_FOR_662, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(662, s), p, o, m) -# define BOOST_PP_FOR_662_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(663, s) BOOST_PP_IIF(c, BOOST_PP_FOR_663, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(663, s), p, o, m) -# define BOOST_PP_FOR_663_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(664, s) BOOST_PP_IIF(c, BOOST_PP_FOR_664, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(664, s), p, o, m) -# define BOOST_PP_FOR_664_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(665, s) BOOST_PP_IIF(c, BOOST_PP_FOR_665, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(665, s), p, o, m) -# define BOOST_PP_FOR_665_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(666, s) BOOST_PP_IIF(c, BOOST_PP_FOR_666, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(666, s), p, o, m) -# define BOOST_PP_FOR_666_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(667, s) BOOST_PP_IIF(c, BOOST_PP_FOR_667, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(667, s), p, o, m) -# define BOOST_PP_FOR_667_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(668, s) BOOST_PP_IIF(c, BOOST_PP_FOR_668, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(668, s), p, o, m) -# define BOOST_PP_FOR_668_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(669, s) BOOST_PP_IIF(c, BOOST_PP_FOR_669, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(669, s), p, o, m) -# define BOOST_PP_FOR_669_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(670, s) BOOST_PP_IIF(c, BOOST_PP_FOR_670, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(670, s), p, o, m) -# define BOOST_PP_FOR_670_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(671, s) BOOST_PP_IIF(c, BOOST_PP_FOR_671, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(671, s), p, o, m) -# define BOOST_PP_FOR_671_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(672, s) BOOST_PP_IIF(c, BOOST_PP_FOR_672, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(672, s), p, o, m) -# define BOOST_PP_FOR_672_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(673, s) BOOST_PP_IIF(c, BOOST_PP_FOR_673, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(673, s), p, o, m) -# define BOOST_PP_FOR_673_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(674, s) BOOST_PP_IIF(c, BOOST_PP_FOR_674, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(674, s), p, o, m) -# define BOOST_PP_FOR_674_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(675, s) BOOST_PP_IIF(c, BOOST_PP_FOR_675, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(675, s), p, o, m) -# define BOOST_PP_FOR_675_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(676, s) BOOST_PP_IIF(c, BOOST_PP_FOR_676, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(676, s), p, o, m) -# define BOOST_PP_FOR_676_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(677, s) BOOST_PP_IIF(c, BOOST_PP_FOR_677, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(677, s), p, o, m) -# define BOOST_PP_FOR_677_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(678, s) BOOST_PP_IIF(c, BOOST_PP_FOR_678, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(678, s), p, o, m) -# define BOOST_PP_FOR_678_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(679, s) BOOST_PP_IIF(c, BOOST_PP_FOR_679, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(679, s), p, o, m) -# define BOOST_PP_FOR_679_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(680, s) BOOST_PP_IIF(c, BOOST_PP_FOR_680, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(680, s), p, o, m) -# define BOOST_PP_FOR_680_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(681, s) BOOST_PP_IIF(c, BOOST_PP_FOR_681, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(681, s), p, o, m) -# define BOOST_PP_FOR_681_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(682, s) BOOST_PP_IIF(c, BOOST_PP_FOR_682, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(682, s), p, o, m) -# define BOOST_PP_FOR_682_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(683, s) BOOST_PP_IIF(c, BOOST_PP_FOR_683, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(683, s), p, o, m) -# define BOOST_PP_FOR_683_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(684, s) BOOST_PP_IIF(c, BOOST_PP_FOR_684, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(684, s), p, o, m) -# define BOOST_PP_FOR_684_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(685, s) BOOST_PP_IIF(c, BOOST_PP_FOR_685, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(685, s), p, o, m) -# define BOOST_PP_FOR_685_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(686, s) BOOST_PP_IIF(c, BOOST_PP_FOR_686, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(686, s), p, o, m) -# define BOOST_PP_FOR_686_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(687, s) BOOST_PP_IIF(c, BOOST_PP_FOR_687, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(687, s), p, o, m) -# define BOOST_PP_FOR_687_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(688, s) BOOST_PP_IIF(c, BOOST_PP_FOR_688, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(688, s), p, o, m) -# define BOOST_PP_FOR_688_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(689, s) BOOST_PP_IIF(c, BOOST_PP_FOR_689, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(689, s), p, o, m) -# define BOOST_PP_FOR_689_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(690, s) BOOST_PP_IIF(c, BOOST_PP_FOR_690, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(690, s), p, o, m) -# define BOOST_PP_FOR_690_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(691, s) BOOST_PP_IIF(c, BOOST_PP_FOR_691, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(691, s), p, o, m) -# define BOOST_PP_FOR_691_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(692, s) BOOST_PP_IIF(c, BOOST_PP_FOR_692, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(692, s), p, o, m) -# define BOOST_PP_FOR_692_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(693, s) BOOST_PP_IIF(c, BOOST_PP_FOR_693, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(693, s), p, o, m) -# define BOOST_PP_FOR_693_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(694, s) BOOST_PP_IIF(c, BOOST_PP_FOR_694, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(694, s), p, o, m) -# define BOOST_PP_FOR_694_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(695, s) BOOST_PP_IIF(c, BOOST_PP_FOR_695, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(695, s), p, o, m) -# define BOOST_PP_FOR_695_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(696, s) BOOST_PP_IIF(c, BOOST_PP_FOR_696, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(696, s), p, o, m) -# define BOOST_PP_FOR_696_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(697, s) BOOST_PP_IIF(c, BOOST_PP_FOR_697, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(697, s), p, o, m) -# define BOOST_PP_FOR_697_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(698, s) BOOST_PP_IIF(c, BOOST_PP_FOR_698, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(698, s), p, o, m) -# define BOOST_PP_FOR_698_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(699, s) BOOST_PP_IIF(c, BOOST_PP_FOR_699, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(699, s), p, o, m) -# define BOOST_PP_FOR_699_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(700, s) BOOST_PP_IIF(c, BOOST_PP_FOR_700, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(700, s), p, o, m) -# define BOOST_PP_FOR_700_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(701, s) BOOST_PP_IIF(c, BOOST_PP_FOR_701, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(701, s), p, o, m) -# define BOOST_PP_FOR_701_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(702, s) BOOST_PP_IIF(c, BOOST_PP_FOR_702, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(702, s), p, o, m) -# define BOOST_PP_FOR_702_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(703, s) BOOST_PP_IIF(c, BOOST_PP_FOR_703, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(703, s), p, o, m) -# define BOOST_PP_FOR_703_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(704, s) BOOST_PP_IIF(c, BOOST_PP_FOR_704, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(704, s), p, o, m) -# define BOOST_PP_FOR_704_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(705, s) BOOST_PP_IIF(c, BOOST_PP_FOR_705, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(705, s), p, o, m) -# define BOOST_PP_FOR_705_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(706, s) BOOST_PP_IIF(c, BOOST_PP_FOR_706, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(706, s), p, o, m) -# define BOOST_PP_FOR_706_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(707, s) BOOST_PP_IIF(c, BOOST_PP_FOR_707, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(707, s), p, o, m) -# define BOOST_PP_FOR_707_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(708, s) BOOST_PP_IIF(c, BOOST_PP_FOR_708, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(708, s), p, o, m) -# define BOOST_PP_FOR_708_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(709, s) BOOST_PP_IIF(c, BOOST_PP_FOR_709, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(709, s), p, o, m) -# define BOOST_PP_FOR_709_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(710, s) BOOST_PP_IIF(c, BOOST_PP_FOR_710, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(710, s), p, o, m) -# define BOOST_PP_FOR_710_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(711, s) BOOST_PP_IIF(c, BOOST_PP_FOR_711, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(711, s), p, o, m) -# define BOOST_PP_FOR_711_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(712, s) BOOST_PP_IIF(c, BOOST_PP_FOR_712, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(712, s), p, o, m) -# define BOOST_PP_FOR_712_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(713, s) BOOST_PP_IIF(c, BOOST_PP_FOR_713, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(713, s), p, o, m) -# define BOOST_PP_FOR_713_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(714, s) BOOST_PP_IIF(c, BOOST_PP_FOR_714, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(714, s), p, o, m) -# define BOOST_PP_FOR_714_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(715, s) BOOST_PP_IIF(c, BOOST_PP_FOR_715, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(715, s), p, o, m) -# define BOOST_PP_FOR_715_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(716, s) BOOST_PP_IIF(c, BOOST_PP_FOR_716, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(716, s), p, o, m) -# define BOOST_PP_FOR_716_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(717, s) BOOST_PP_IIF(c, BOOST_PP_FOR_717, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(717, s), p, o, m) -# define BOOST_PP_FOR_717_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(718, s) BOOST_PP_IIF(c, BOOST_PP_FOR_718, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(718, s), p, o, m) -# define BOOST_PP_FOR_718_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(719, s) BOOST_PP_IIF(c, BOOST_PP_FOR_719, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(719, s), p, o, m) -# define BOOST_PP_FOR_719_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(720, s) BOOST_PP_IIF(c, BOOST_PP_FOR_720, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(720, s), p, o, m) -# define BOOST_PP_FOR_720_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(721, s) BOOST_PP_IIF(c, BOOST_PP_FOR_721, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(721, s), p, o, m) -# define BOOST_PP_FOR_721_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(722, s) BOOST_PP_IIF(c, BOOST_PP_FOR_722, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(722, s), p, o, m) -# define BOOST_PP_FOR_722_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(723, s) BOOST_PP_IIF(c, BOOST_PP_FOR_723, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(723, s), p, o, m) -# define BOOST_PP_FOR_723_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(724, s) BOOST_PP_IIF(c, BOOST_PP_FOR_724, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(724, s), p, o, m) -# define BOOST_PP_FOR_724_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(725, s) BOOST_PP_IIF(c, BOOST_PP_FOR_725, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(725, s), p, o, m) -# define BOOST_PP_FOR_725_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(726, s) BOOST_PP_IIF(c, BOOST_PP_FOR_726, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(726, s), p, o, m) -# define BOOST_PP_FOR_726_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(727, s) BOOST_PP_IIF(c, BOOST_PP_FOR_727, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(727, s), p, o, m) -# define BOOST_PP_FOR_727_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(728, s) BOOST_PP_IIF(c, BOOST_PP_FOR_728, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(728, s), p, o, m) -# define BOOST_PP_FOR_728_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(729, s) BOOST_PP_IIF(c, BOOST_PP_FOR_729, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(729, s), p, o, m) -# define BOOST_PP_FOR_729_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(730, s) BOOST_PP_IIF(c, BOOST_PP_FOR_730, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(730, s), p, o, m) -# define BOOST_PP_FOR_730_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(731, s) BOOST_PP_IIF(c, BOOST_PP_FOR_731, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(731, s), p, o, m) -# define BOOST_PP_FOR_731_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(732, s) BOOST_PP_IIF(c, BOOST_PP_FOR_732, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(732, s), p, o, m) -# define BOOST_PP_FOR_732_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(733, s) BOOST_PP_IIF(c, BOOST_PP_FOR_733, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(733, s), p, o, m) -# define BOOST_PP_FOR_733_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(734, s) BOOST_PP_IIF(c, BOOST_PP_FOR_734, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(734, s), p, o, m) -# define BOOST_PP_FOR_734_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(735, s) BOOST_PP_IIF(c, BOOST_PP_FOR_735, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(735, s), p, o, m) -# define BOOST_PP_FOR_735_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(736, s) BOOST_PP_IIF(c, BOOST_PP_FOR_736, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(736, s), p, o, m) -# define BOOST_PP_FOR_736_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(737, s) BOOST_PP_IIF(c, BOOST_PP_FOR_737, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(737, s), p, o, m) -# define BOOST_PP_FOR_737_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(738, s) BOOST_PP_IIF(c, BOOST_PP_FOR_738, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(738, s), p, o, m) -# define BOOST_PP_FOR_738_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(739, s) BOOST_PP_IIF(c, BOOST_PP_FOR_739, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(739, s), p, o, m) -# define BOOST_PP_FOR_739_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(740, s) BOOST_PP_IIF(c, BOOST_PP_FOR_740, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(740, s), p, o, m) -# define BOOST_PP_FOR_740_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(741, s) BOOST_PP_IIF(c, BOOST_PP_FOR_741, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(741, s), p, o, m) -# define BOOST_PP_FOR_741_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(742, s) BOOST_PP_IIF(c, BOOST_PP_FOR_742, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(742, s), p, o, m) -# define BOOST_PP_FOR_742_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(743, s) BOOST_PP_IIF(c, BOOST_PP_FOR_743, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(743, s), p, o, m) -# define BOOST_PP_FOR_743_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(744, s) BOOST_PP_IIF(c, BOOST_PP_FOR_744, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(744, s), p, o, m) -# define BOOST_PP_FOR_744_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(745, s) BOOST_PP_IIF(c, BOOST_PP_FOR_745, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(745, s), p, o, m) -# define BOOST_PP_FOR_745_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(746, s) BOOST_PP_IIF(c, BOOST_PP_FOR_746, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(746, s), p, o, m) -# define BOOST_PP_FOR_746_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(747, s) BOOST_PP_IIF(c, BOOST_PP_FOR_747, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(747, s), p, o, m) -# define BOOST_PP_FOR_747_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(748, s) BOOST_PP_IIF(c, BOOST_PP_FOR_748, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(748, s), p, o, m) -# define BOOST_PP_FOR_748_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(749, s) BOOST_PP_IIF(c, BOOST_PP_FOR_749, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(749, s), p, o, m) -# define BOOST_PP_FOR_749_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(750, s) BOOST_PP_IIF(c, BOOST_PP_FOR_750, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(750, s), p, o, m) -# define BOOST_PP_FOR_750_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(751, s) BOOST_PP_IIF(c, BOOST_PP_FOR_751, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(751, s), p, o, m) -# define BOOST_PP_FOR_751_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(752, s) BOOST_PP_IIF(c, BOOST_PP_FOR_752, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(752, s), p, o, m) -# define BOOST_PP_FOR_752_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(753, s) BOOST_PP_IIF(c, BOOST_PP_FOR_753, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(753, s), p, o, m) -# define BOOST_PP_FOR_753_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(754, s) BOOST_PP_IIF(c, BOOST_PP_FOR_754, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(754, s), p, o, m) -# define BOOST_PP_FOR_754_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(755, s) BOOST_PP_IIF(c, BOOST_PP_FOR_755, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(755, s), p, o, m) -# define BOOST_PP_FOR_755_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(756, s) BOOST_PP_IIF(c, BOOST_PP_FOR_756, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(756, s), p, o, m) -# define BOOST_PP_FOR_756_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(757, s) BOOST_PP_IIF(c, BOOST_PP_FOR_757, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(757, s), p, o, m) -# define BOOST_PP_FOR_757_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(758, s) BOOST_PP_IIF(c, BOOST_PP_FOR_758, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(758, s), p, o, m) -# define BOOST_PP_FOR_758_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(759, s) BOOST_PP_IIF(c, BOOST_PP_FOR_759, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(759, s), p, o, m) -# define BOOST_PP_FOR_759_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(760, s) BOOST_PP_IIF(c, BOOST_PP_FOR_760, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(760, s), p, o, m) -# define BOOST_PP_FOR_760_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(761, s) BOOST_PP_IIF(c, BOOST_PP_FOR_761, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(761, s), p, o, m) -# define BOOST_PP_FOR_761_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(762, s) BOOST_PP_IIF(c, BOOST_PP_FOR_762, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(762, s), p, o, m) -# define BOOST_PP_FOR_762_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(763, s) BOOST_PP_IIF(c, BOOST_PP_FOR_763, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(763, s), p, o, m) -# define BOOST_PP_FOR_763_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(764, s) BOOST_PP_IIF(c, BOOST_PP_FOR_764, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(764, s), p, o, m) -# define BOOST_PP_FOR_764_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(765, s) BOOST_PP_IIF(c, BOOST_PP_FOR_765, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(765, s), p, o, m) -# define BOOST_PP_FOR_765_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(766, s) BOOST_PP_IIF(c, BOOST_PP_FOR_766, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(766, s), p, o, m) -# define BOOST_PP_FOR_766_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(767, s) BOOST_PP_IIF(c, BOOST_PP_FOR_767, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(767, s), p, o, m) -# define BOOST_PP_FOR_767_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(768, s) BOOST_PP_IIF(c, BOOST_PP_FOR_768, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(768, s), p, o, m) -# define BOOST_PP_FOR_768_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(769, s) BOOST_PP_IIF(c, BOOST_PP_FOR_769, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(769, s), p, o, m) -# define BOOST_PP_FOR_769_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(770, s) BOOST_PP_IIF(c, BOOST_PP_FOR_770, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(770, s), p, o, m) -# define BOOST_PP_FOR_770_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(771, s) BOOST_PP_IIF(c, BOOST_PP_FOR_771, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(771, s), p, o, m) -# define BOOST_PP_FOR_771_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(772, s) BOOST_PP_IIF(c, BOOST_PP_FOR_772, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(772, s), p, o, m) -# define BOOST_PP_FOR_772_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(773, s) BOOST_PP_IIF(c, BOOST_PP_FOR_773, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(773, s), p, o, m) -# define BOOST_PP_FOR_773_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(774, s) BOOST_PP_IIF(c, BOOST_PP_FOR_774, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(774, s), p, o, m) -# define BOOST_PP_FOR_774_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(775, s) BOOST_PP_IIF(c, BOOST_PP_FOR_775, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(775, s), p, o, m) -# define BOOST_PP_FOR_775_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(776, s) BOOST_PP_IIF(c, BOOST_PP_FOR_776, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(776, s), p, o, m) -# define BOOST_PP_FOR_776_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(777, s) BOOST_PP_IIF(c, BOOST_PP_FOR_777, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(777, s), p, o, m) -# define BOOST_PP_FOR_777_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(778, s) BOOST_PP_IIF(c, BOOST_PP_FOR_778, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(778, s), p, o, m) -# define BOOST_PP_FOR_778_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(779, s) BOOST_PP_IIF(c, BOOST_PP_FOR_779, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(779, s), p, o, m) -# define BOOST_PP_FOR_779_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(780, s) BOOST_PP_IIF(c, BOOST_PP_FOR_780, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(780, s), p, o, m) -# define BOOST_PP_FOR_780_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(781, s) BOOST_PP_IIF(c, BOOST_PP_FOR_781, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(781, s), p, o, m) -# define BOOST_PP_FOR_781_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(782, s) BOOST_PP_IIF(c, BOOST_PP_FOR_782, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(782, s), p, o, m) -# define BOOST_PP_FOR_782_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(783, s) BOOST_PP_IIF(c, BOOST_PP_FOR_783, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(783, s), p, o, m) -# define BOOST_PP_FOR_783_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(784, s) BOOST_PP_IIF(c, BOOST_PP_FOR_784, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(784, s), p, o, m) -# define BOOST_PP_FOR_784_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(785, s) BOOST_PP_IIF(c, BOOST_PP_FOR_785, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(785, s), p, o, m) -# define BOOST_PP_FOR_785_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(786, s) BOOST_PP_IIF(c, BOOST_PP_FOR_786, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(786, s), p, o, m) -# define BOOST_PP_FOR_786_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(787, s) BOOST_PP_IIF(c, BOOST_PP_FOR_787, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(787, s), p, o, m) -# define BOOST_PP_FOR_787_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(788, s) BOOST_PP_IIF(c, BOOST_PP_FOR_788, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(788, s), p, o, m) -# define BOOST_PP_FOR_788_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(789, s) BOOST_PP_IIF(c, BOOST_PP_FOR_789, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(789, s), p, o, m) -# define BOOST_PP_FOR_789_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(790, s) BOOST_PP_IIF(c, BOOST_PP_FOR_790, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(790, s), p, o, m) -# define BOOST_PP_FOR_790_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(791, s) BOOST_PP_IIF(c, BOOST_PP_FOR_791, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(791, s), p, o, m) -# define BOOST_PP_FOR_791_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(792, s) BOOST_PP_IIF(c, BOOST_PP_FOR_792, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(792, s), p, o, m) -# define BOOST_PP_FOR_792_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(793, s) BOOST_PP_IIF(c, BOOST_PP_FOR_793, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(793, s), p, o, m) -# define BOOST_PP_FOR_793_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(794, s) BOOST_PP_IIF(c, BOOST_PP_FOR_794, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(794, s), p, o, m) -# define BOOST_PP_FOR_794_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(795, s) BOOST_PP_IIF(c, BOOST_PP_FOR_795, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(795, s), p, o, m) -# define BOOST_PP_FOR_795_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(796, s) BOOST_PP_IIF(c, BOOST_PP_FOR_796, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(796, s), p, o, m) -# define BOOST_PP_FOR_796_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(797, s) BOOST_PP_IIF(c, BOOST_PP_FOR_797, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(797, s), p, o, m) -# define BOOST_PP_FOR_797_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(798, s) BOOST_PP_IIF(c, BOOST_PP_FOR_798, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(798, s), p, o, m) -# define BOOST_PP_FOR_798_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(799, s) BOOST_PP_IIF(c, BOOST_PP_FOR_799, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(799, s), p, o, m) -# define BOOST_PP_FOR_799_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(800, s) BOOST_PP_IIF(c, BOOST_PP_FOR_800, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(800, s), p, o, m) -# define BOOST_PP_FOR_800_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(801, s) BOOST_PP_IIF(c, BOOST_PP_FOR_801, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(801, s), p, o, m) -# define BOOST_PP_FOR_801_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(802, s) BOOST_PP_IIF(c, BOOST_PP_FOR_802, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(802, s), p, o, m) -# define BOOST_PP_FOR_802_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(803, s) BOOST_PP_IIF(c, BOOST_PP_FOR_803, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(803, s), p, o, m) -# define BOOST_PP_FOR_803_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(804, s) BOOST_PP_IIF(c, BOOST_PP_FOR_804, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(804, s), p, o, m) -# define BOOST_PP_FOR_804_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(805, s) BOOST_PP_IIF(c, BOOST_PP_FOR_805, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(805, s), p, o, m) -# define BOOST_PP_FOR_805_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(806, s) BOOST_PP_IIF(c, BOOST_PP_FOR_806, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(806, s), p, o, m) -# define BOOST_PP_FOR_806_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(807, s) BOOST_PP_IIF(c, BOOST_PP_FOR_807, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(807, s), p, o, m) -# define BOOST_PP_FOR_807_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(808, s) BOOST_PP_IIF(c, BOOST_PP_FOR_808, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(808, s), p, o, m) -# define BOOST_PP_FOR_808_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(809, s) BOOST_PP_IIF(c, BOOST_PP_FOR_809, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(809, s), p, o, m) -# define BOOST_PP_FOR_809_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(810, s) BOOST_PP_IIF(c, BOOST_PP_FOR_810, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(810, s), p, o, m) -# define BOOST_PP_FOR_810_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(811, s) BOOST_PP_IIF(c, BOOST_PP_FOR_811, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(811, s), p, o, m) -# define BOOST_PP_FOR_811_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(812, s) BOOST_PP_IIF(c, BOOST_PP_FOR_812, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(812, s), p, o, m) -# define BOOST_PP_FOR_812_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(813, s) BOOST_PP_IIF(c, BOOST_PP_FOR_813, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(813, s), p, o, m) -# define BOOST_PP_FOR_813_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(814, s) BOOST_PP_IIF(c, BOOST_PP_FOR_814, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(814, s), p, o, m) -# define BOOST_PP_FOR_814_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(815, s) BOOST_PP_IIF(c, BOOST_PP_FOR_815, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(815, s), p, o, m) -# define BOOST_PP_FOR_815_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(816, s) BOOST_PP_IIF(c, BOOST_PP_FOR_816, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(816, s), p, o, m) -# define BOOST_PP_FOR_816_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(817, s) BOOST_PP_IIF(c, BOOST_PP_FOR_817, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(817, s), p, o, m) -# define BOOST_PP_FOR_817_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(818, s) BOOST_PP_IIF(c, BOOST_PP_FOR_818, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(818, s), p, o, m) -# define BOOST_PP_FOR_818_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(819, s) BOOST_PP_IIF(c, BOOST_PP_FOR_819, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(819, s), p, o, m) -# define BOOST_PP_FOR_819_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(820, s) BOOST_PP_IIF(c, BOOST_PP_FOR_820, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(820, s), p, o, m) -# define BOOST_PP_FOR_820_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(821, s) BOOST_PP_IIF(c, BOOST_PP_FOR_821, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(821, s), p, o, m) -# define BOOST_PP_FOR_821_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(822, s) BOOST_PP_IIF(c, BOOST_PP_FOR_822, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(822, s), p, o, m) -# define BOOST_PP_FOR_822_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(823, s) BOOST_PP_IIF(c, BOOST_PP_FOR_823, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(823, s), p, o, m) -# define BOOST_PP_FOR_823_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(824, s) BOOST_PP_IIF(c, BOOST_PP_FOR_824, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(824, s), p, o, m) -# define BOOST_PP_FOR_824_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(825, s) BOOST_PP_IIF(c, BOOST_PP_FOR_825, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(825, s), p, o, m) -# define BOOST_PP_FOR_825_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(826, s) BOOST_PP_IIF(c, BOOST_PP_FOR_826, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(826, s), p, o, m) -# define BOOST_PP_FOR_826_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(827, s) BOOST_PP_IIF(c, BOOST_PP_FOR_827, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(827, s), p, o, m) -# define BOOST_PP_FOR_827_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(828, s) BOOST_PP_IIF(c, BOOST_PP_FOR_828, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(828, s), p, o, m) -# define BOOST_PP_FOR_828_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(829, s) BOOST_PP_IIF(c, BOOST_PP_FOR_829, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(829, s), p, o, m) -# define BOOST_PP_FOR_829_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(830, s) BOOST_PP_IIF(c, BOOST_PP_FOR_830, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(830, s), p, o, m) -# define BOOST_PP_FOR_830_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(831, s) BOOST_PP_IIF(c, BOOST_PP_FOR_831, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(831, s), p, o, m) -# define BOOST_PP_FOR_831_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(832, s) BOOST_PP_IIF(c, BOOST_PP_FOR_832, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(832, s), p, o, m) -# define BOOST_PP_FOR_832_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(833, s) BOOST_PP_IIF(c, BOOST_PP_FOR_833, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(833, s), p, o, m) -# define BOOST_PP_FOR_833_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(834, s) BOOST_PP_IIF(c, BOOST_PP_FOR_834, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(834, s), p, o, m) -# define BOOST_PP_FOR_834_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(835, s) BOOST_PP_IIF(c, BOOST_PP_FOR_835, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(835, s), p, o, m) -# define BOOST_PP_FOR_835_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(836, s) BOOST_PP_IIF(c, BOOST_PP_FOR_836, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(836, s), p, o, m) -# define BOOST_PP_FOR_836_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(837, s) BOOST_PP_IIF(c, BOOST_PP_FOR_837, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(837, s), p, o, m) -# define BOOST_PP_FOR_837_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(838, s) BOOST_PP_IIF(c, BOOST_PP_FOR_838, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(838, s), p, o, m) -# define BOOST_PP_FOR_838_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(839, s) BOOST_PP_IIF(c, BOOST_PP_FOR_839, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(839, s), p, o, m) -# define BOOST_PP_FOR_839_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(840, s) BOOST_PP_IIF(c, BOOST_PP_FOR_840, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(840, s), p, o, m) -# define BOOST_PP_FOR_840_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(841, s) BOOST_PP_IIF(c, BOOST_PP_FOR_841, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(841, s), p, o, m) -# define BOOST_PP_FOR_841_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(842, s) BOOST_PP_IIF(c, BOOST_PP_FOR_842, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(842, s), p, o, m) -# define BOOST_PP_FOR_842_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(843, s) BOOST_PP_IIF(c, BOOST_PP_FOR_843, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(843, s), p, o, m) -# define BOOST_PP_FOR_843_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(844, s) BOOST_PP_IIF(c, BOOST_PP_FOR_844, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(844, s), p, o, m) -# define BOOST_PP_FOR_844_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(845, s) BOOST_PP_IIF(c, BOOST_PP_FOR_845, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(845, s), p, o, m) -# define BOOST_PP_FOR_845_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(846, s) BOOST_PP_IIF(c, BOOST_PP_FOR_846, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(846, s), p, o, m) -# define BOOST_PP_FOR_846_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(847, s) BOOST_PP_IIF(c, BOOST_PP_FOR_847, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(847, s), p, o, m) -# define BOOST_PP_FOR_847_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(848, s) BOOST_PP_IIF(c, BOOST_PP_FOR_848, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(848, s), p, o, m) -# define BOOST_PP_FOR_848_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(849, s) BOOST_PP_IIF(c, BOOST_PP_FOR_849, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(849, s), p, o, m) -# define BOOST_PP_FOR_849_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(850, s) BOOST_PP_IIF(c, BOOST_PP_FOR_850, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(850, s), p, o, m) -# define BOOST_PP_FOR_850_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(851, s) BOOST_PP_IIF(c, BOOST_PP_FOR_851, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(851, s), p, o, m) -# define BOOST_PP_FOR_851_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(852, s) BOOST_PP_IIF(c, BOOST_PP_FOR_852, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(852, s), p, o, m) -# define BOOST_PP_FOR_852_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(853, s) BOOST_PP_IIF(c, BOOST_PP_FOR_853, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(853, s), p, o, m) -# define BOOST_PP_FOR_853_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(854, s) BOOST_PP_IIF(c, BOOST_PP_FOR_854, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(854, s), p, o, m) -# define BOOST_PP_FOR_854_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(855, s) BOOST_PP_IIF(c, BOOST_PP_FOR_855, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(855, s), p, o, m) -# define BOOST_PP_FOR_855_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(856, s) BOOST_PP_IIF(c, BOOST_PP_FOR_856, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(856, s), p, o, m) -# define BOOST_PP_FOR_856_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(857, s) BOOST_PP_IIF(c, BOOST_PP_FOR_857, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(857, s), p, o, m) -# define BOOST_PP_FOR_857_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(858, s) BOOST_PP_IIF(c, BOOST_PP_FOR_858, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(858, s), p, o, m) -# define BOOST_PP_FOR_858_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(859, s) BOOST_PP_IIF(c, BOOST_PP_FOR_859, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(859, s), p, o, m) -# define BOOST_PP_FOR_859_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(860, s) BOOST_PP_IIF(c, BOOST_PP_FOR_860, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(860, s), p, o, m) -# define BOOST_PP_FOR_860_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(861, s) BOOST_PP_IIF(c, BOOST_PP_FOR_861, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(861, s), p, o, m) -# define BOOST_PP_FOR_861_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(862, s) BOOST_PP_IIF(c, BOOST_PP_FOR_862, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(862, s), p, o, m) -# define BOOST_PP_FOR_862_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(863, s) BOOST_PP_IIF(c, BOOST_PP_FOR_863, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(863, s), p, o, m) -# define BOOST_PP_FOR_863_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(864, s) BOOST_PP_IIF(c, BOOST_PP_FOR_864, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(864, s), p, o, m) -# define BOOST_PP_FOR_864_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(865, s) BOOST_PP_IIF(c, BOOST_PP_FOR_865, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(865, s), p, o, m) -# define BOOST_PP_FOR_865_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(866, s) BOOST_PP_IIF(c, BOOST_PP_FOR_866, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(866, s), p, o, m) -# define BOOST_PP_FOR_866_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(867, s) BOOST_PP_IIF(c, BOOST_PP_FOR_867, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(867, s), p, o, m) -# define BOOST_PP_FOR_867_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(868, s) BOOST_PP_IIF(c, BOOST_PP_FOR_868, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(868, s), p, o, m) -# define BOOST_PP_FOR_868_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(869, s) BOOST_PP_IIF(c, BOOST_PP_FOR_869, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(869, s), p, o, m) -# define BOOST_PP_FOR_869_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(870, s) BOOST_PP_IIF(c, BOOST_PP_FOR_870, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(870, s), p, o, m) -# define BOOST_PP_FOR_870_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(871, s) BOOST_PP_IIF(c, BOOST_PP_FOR_871, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(871, s), p, o, m) -# define BOOST_PP_FOR_871_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(872, s) BOOST_PP_IIF(c, BOOST_PP_FOR_872, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(872, s), p, o, m) -# define BOOST_PP_FOR_872_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(873, s) BOOST_PP_IIF(c, BOOST_PP_FOR_873, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(873, s), p, o, m) -# define BOOST_PP_FOR_873_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(874, s) BOOST_PP_IIF(c, BOOST_PP_FOR_874, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(874, s), p, o, m) -# define BOOST_PP_FOR_874_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(875, s) BOOST_PP_IIF(c, BOOST_PP_FOR_875, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(875, s), p, o, m) -# define BOOST_PP_FOR_875_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(876, s) BOOST_PP_IIF(c, BOOST_PP_FOR_876, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(876, s), p, o, m) -# define BOOST_PP_FOR_876_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(877, s) BOOST_PP_IIF(c, BOOST_PP_FOR_877, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(877, s), p, o, m) -# define BOOST_PP_FOR_877_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(878, s) BOOST_PP_IIF(c, BOOST_PP_FOR_878, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(878, s), p, o, m) -# define BOOST_PP_FOR_878_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(879, s) BOOST_PP_IIF(c, BOOST_PP_FOR_879, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(879, s), p, o, m) -# define BOOST_PP_FOR_879_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(880, s) BOOST_PP_IIF(c, BOOST_PP_FOR_880, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(880, s), p, o, m) -# define BOOST_PP_FOR_880_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(881, s) BOOST_PP_IIF(c, BOOST_PP_FOR_881, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(881, s), p, o, m) -# define BOOST_PP_FOR_881_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(882, s) BOOST_PP_IIF(c, BOOST_PP_FOR_882, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(882, s), p, o, m) -# define BOOST_PP_FOR_882_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(883, s) BOOST_PP_IIF(c, BOOST_PP_FOR_883, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(883, s), p, o, m) -# define BOOST_PP_FOR_883_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(884, s) BOOST_PP_IIF(c, BOOST_PP_FOR_884, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(884, s), p, o, m) -# define BOOST_PP_FOR_884_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(885, s) BOOST_PP_IIF(c, BOOST_PP_FOR_885, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(885, s), p, o, m) -# define BOOST_PP_FOR_885_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(886, s) BOOST_PP_IIF(c, BOOST_PP_FOR_886, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(886, s), p, o, m) -# define BOOST_PP_FOR_886_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(887, s) BOOST_PP_IIF(c, BOOST_PP_FOR_887, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(887, s), p, o, m) -# define BOOST_PP_FOR_887_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(888, s) BOOST_PP_IIF(c, BOOST_PP_FOR_888, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(888, s), p, o, m) -# define BOOST_PP_FOR_888_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(889, s) BOOST_PP_IIF(c, BOOST_PP_FOR_889, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(889, s), p, o, m) -# define BOOST_PP_FOR_889_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(890, s) BOOST_PP_IIF(c, BOOST_PP_FOR_890, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(890, s), p, o, m) -# define BOOST_PP_FOR_890_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(891, s) BOOST_PP_IIF(c, BOOST_PP_FOR_891, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(891, s), p, o, m) -# define BOOST_PP_FOR_891_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(892, s) BOOST_PP_IIF(c, BOOST_PP_FOR_892, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(892, s), p, o, m) -# define BOOST_PP_FOR_892_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(893, s) BOOST_PP_IIF(c, BOOST_PP_FOR_893, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(893, s), p, o, m) -# define BOOST_PP_FOR_893_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(894, s) BOOST_PP_IIF(c, BOOST_PP_FOR_894, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(894, s), p, o, m) -# define BOOST_PP_FOR_894_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(895, s) BOOST_PP_IIF(c, BOOST_PP_FOR_895, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(895, s), p, o, m) -# define BOOST_PP_FOR_895_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(896, s) BOOST_PP_IIF(c, BOOST_PP_FOR_896, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(896, s), p, o, m) -# define BOOST_PP_FOR_896_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(897, s) BOOST_PP_IIF(c, BOOST_PP_FOR_897, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(897, s), p, o, m) -# define BOOST_PP_FOR_897_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(898, s) BOOST_PP_IIF(c, BOOST_PP_FOR_898, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(898, s), p, o, m) -# define BOOST_PP_FOR_898_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(899, s) BOOST_PP_IIF(c, BOOST_PP_FOR_899, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(899, s), p, o, m) -# define BOOST_PP_FOR_899_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(900, s) BOOST_PP_IIF(c, BOOST_PP_FOR_900, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(900, s), p, o, m) -# define BOOST_PP_FOR_900_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(901, s) BOOST_PP_IIF(c, BOOST_PP_FOR_901, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(901, s), p, o, m) -# define BOOST_PP_FOR_901_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(902, s) BOOST_PP_IIF(c, BOOST_PP_FOR_902, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(902, s), p, o, m) -# define BOOST_PP_FOR_902_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(903, s) BOOST_PP_IIF(c, BOOST_PP_FOR_903, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(903, s), p, o, m) -# define BOOST_PP_FOR_903_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(904, s) BOOST_PP_IIF(c, BOOST_PP_FOR_904, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(904, s), p, o, m) -# define BOOST_PP_FOR_904_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(905, s) BOOST_PP_IIF(c, BOOST_PP_FOR_905, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(905, s), p, o, m) -# define BOOST_PP_FOR_905_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(906, s) BOOST_PP_IIF(c, BOOST_PP_FOR_906, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(906, s), p, o, m) -# define BOOST_PP_FOR_906_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(907, s) BOOST_PP_IIF(c, BOOST_PP_FOR_907, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(907, s), p, o, m) -# define BOOST_PP_FOR_907_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(908, s) BOOST_PP_IIF(c, BOOST_PP_FOR_908, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(908, s), p, o, m) -# define BOOST_PP_FOR_908_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(909, s) BOOST_PP_IIF(c, BOOST_PP_FOR_909, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(909, s), p, o, m) -# define BOOST_PP_FOR_909_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(910, s) BOOST_PP_IIF(c, BOOST_PP_FOR_910, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(910, s), p, o, m) -# define BOOST_PP_FOR_910_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(911, s) BOOST_PP_IIF(c, BOOST_PP_FOR_911, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(911, s), p, o, m) -# define BOOST_PP_FOR_911_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(912, s) BOOST_PP_IIF(c, BOOST_PP_FOR_912, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(912, s), p, o, m) -# define BOOST_PP_FOR_912_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(913, s) BOOST_PP_IIF(c, BOOST_PP_FOR_913, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(913, s), p, o, m) -# define BOOST_PP_FOR_913_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(914, s) BOOST_PP_IIF(c, BOOST_PP_FOR_914, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(914, s), p, o, m) -# define BOOST_PP_FOR_914_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(915, s) BOOST_PP_IIF(c, BOOST_PP_FOR_915, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(915, s), p, o, m) -# define BOOST_PP_FOR_915_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(916, s) BOOST_PP_IIF(c, BOOST_PP_FOR_916, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(916, s), p, o, m) -# define BOOST_PP_FOR_916_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(917, s) BOOST_PP_IIF(c, BOOST_PP_FOR_917, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(917, s), p, o, m) -# define BOOST_PP_FOR_917_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(918, s) BOOST_PP_IIF(c, BOOST_PP_FOR_918, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(918, s), p, o, m) -# define BOOST_PP_FOR_918_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(919, s) BOOST_PP_IIF(c, BOOST_PP_FOR_919, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(919, s), p, o, m) -# define BOOST_PP_FOR_919_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(920, s) BOOST_PP_IIF(c, BOOST_PP_FOR_920, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(920, s), p, o, m) -# define BOOST_PP_FOR_920_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(921, s) BOOST_PP_IIF(c, BOOST_PP_FOR_921, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(921, s), p, o, m) -# define BOOST_PP_FOR_921_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(922, s) BOOST_PP_IIF(c, BOOST_PP_FOR_922, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(922, s), p, o, m) -# define BOOST_PP_FOR_922_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(923, s) BOOST_PP_IIF(c, BOOST_PP_FOR_923, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(923, s), p, o, m) -# define BOOST_PP_FOR_923_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(924, s) BOOST_PP_IIF(c, BOOST_PP_FOR_924, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(924, s), p, o, m) -# define BOOST_PP_FOR_924_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(925, s) BOOST_PP_IIF(c, BOOST_PP_FOR_925, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(925, s), p, o, m) -# define BOOST_PP_FOR_925_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(926, s) BOOST_PP_IIF(c, BOOST_PP_FOR_926, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(926, s), p, o, m) -# define BOOST_PP_FOR_926_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(927, s) BOOST_PP_IIF(c, BOOST_PP_FOR_927, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(927, s), p, o, m) -# define BOOST_PP_FOR_927_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(928, s) BOOST_PP_IIF(c, BOOST_PP_FOR_928, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(928, s), p, o, m) -# define BOOST_PP_FOR_928_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(929, s) BOOST_PP_IIF(c, BOOST_PP_FOR_929, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(929, s), p, o, m) -# define BOOST_PP_FOR_929_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(930, s) BOOST_PP_IIF(c, BOOST_PP_FOR_930, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(930, s), p, o, m) -# define BOOST_PP_FOR_930_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(931, s) BOOST_PP_IIF(c, BOOST_PP_FOR_931, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(931, s), p, o, m) -# define BOOST_PP_FOR_931_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(932, s) BOOST_PP_IIF(c, BOOST_PP_FOR_932, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(932, s), p, o, m) -# define BOOST_PP_FOR_932_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(933, s) BOOST_PP_IIF(c, BOOST_PP_FOR_933, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(933, s), p, o, m) -# define BOOST_PP_FOR_933_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(934, s) BOOST_PP_IIF(c, BOOST_PP_FOR_934, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(934, s), p, o, m) -# define BOOST_PP_FOR_934_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(935, s) BOOST_PP_IIF(c, BOOST_PP_FOR_935, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(935, s), p, o, m) -# define BOOST_PP_FOR_935_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(936, s) BOOST_PP_IIF(c, BOOST_PP_FOR_936, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(936, s), p, o, m) -# define BOOST_PP_FOR_936_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(937, s) BOOST_PP_IIF(c, BOOST_PP_FOR_937, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(937, s), p, o, m) -# define BOOST_PP_FOR_937_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(938, s) BOOST_PP_IIF(c, BOOST_PP_FOR_938, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(938, s), p, o, m) -# define BOOST_PP_FOR_938_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(939, s) BOOST_PP_IIF(c, BOOST_PP_FOR_939, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(939, s), p, o, m) -# define BOOST_PP_FOR_939_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(940, s) BOOST_PP_IIF(c, BOOST_PP_FOR_940, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(940, s), p, o, m) -# define BOOST_PP_FOR_940_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(941, s) BOOST_PP_IIF(c, BOOST_PP_FOR_941, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(941, s), p, o, m) -# define BOOST_PP_FOR_941_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(942, s) BOOST_PP_IIF(c, BOOST_PP_FOR_942, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(942, s), p, o, m) -# define BOOST_PP_FOR_942_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(943, s) BOOST_PP_IIF(c, BOOST_PP_FOR_943, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(943, s), p, o, m) -# define BOOST_PP_FOR_943_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(944, s) BOOST_PP_IIF(c, BOOST_PP_FOR_944, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(944, s), p, o, m) -# define BOOST_PP_FOR_944_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(945, s) BOOST_PP_IIF(c, BOOST_PP_FOR_945, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(945, s), p, o, m) -# define BOOST_PP_FOR_945_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(946, s) BOOST_PP_IIF(c, BOOST_PP_FOR_946, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(946, s), p, o, m) -# define BOOST_PP_FOR_946_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(947, s) BOOST_PP_IIF(c, BOOST_PP_FOR_947, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(947, s), p, o, m) -# define BOOST_PP_FOR_947_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(948, s) BOOST_PP_IIF(c, BOOST_PP_FOR_948, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(948, s), p, o, m) -# define BOOST_PP_FOR_948_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(949, s) BOOST_PP_IIF(c, BOOST_PP_FOR_949, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(949, s), p, o, m) -# define BOOST_PP_FOR_949_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(950, s) BOOST_PP_IIF(c, BOOST_PP_FOR_950, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(950, s), p, o, m) -# define BOOST_PP_FOR_950_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(951, s) BOOST_PP_IIF(c, BOOST_PP_FOR_951, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(951, s), p, o, m) -# define BOOST_PP_FOR_951_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(952, s) BOOST_PP_IIF(c, BOOST_PP_FOR_952, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(952, s), p, o, m) -# define BOOST_PP_FOR_952_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(953, s) BOOST_PP_IIF(c, BOOST_PP_FOR_953, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(953, s), p, o, m) -# define BOOST_PP_FOR_953_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(954, s) BOOST_PP_IIF(c, BOOST_PP_FOR_954, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(954, s), p, o, m) -# define BOOST_PP_FOR_954_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(955, s) BOOST_PP_IIF(c, BOOST_PP_FOR_955, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(955, s), p, o, m) -# define BOOST_PP_FOR_955_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(956, s) BOOST_PP_IIF(c, BOOST_PP_FOR_956, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(956, s), p, o, m) -# define BOOST_PP_FOR_956_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(957, s) BOOST_PP_IIF(c, BOOST_PP_FOR_957, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(957, s), p, o, m) -# define BOOST_PP_FOR_957_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(958, s) BOOST_PP_IIF(c, BOOST_PP_FOR_958, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(958, s), p, o, m) -# define BOOST_PP_FOR_958_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(959, s) BOOST_PP_IIF(c, BOOST_PP_FOR_959, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(959, s), p, o, m) -# define BOOST_PP_FOR_959_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(960, s) BOOST_PP_IIF(c, BOOST_PP_FOR_960, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(960, s), p, o, m) -# define BOOST_PP_FOR_960_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(961, s) BOOST_PP_IIF(c, BOOST_PP_FOR_961, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(961, s), p, o, m) -# define BOOST_PP_FOR_961_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(962, s) BOOST_PP_IIF(c, BOOST_PP_FOR_962, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(962, s), p, o, m) -# define BOOST_PP_FOR_962_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(963, s) BOOST_PP_IIF(c, BOOST_PP_FOR_963, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(963, s), p, o, m) -# define BOOST_PP_FOR_963_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(964, s) BOOST_PP_IIF(c, BOOST_PP_FOR_964, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(964, s), p, o, m) -# define BOOST_PP_FOR_964_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(965, s) BOOST_PP_IIF(c, BOOST_PP_FOR_965, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(965, s), p, o, m) -# define BOOST_PP_FOR_965_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(966, s) BOOST_PP_IIF(c, BOOST_PP_FOR_966, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(966, s), p, o, m) -# define BOOST_PP_FOR_966_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(967, s) BOOST_PP_IIF(c, BOOST_PP_FOR_967, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(967, s), p, o, m) -# define BOOST_PP_FOR_967_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(968, s) BOOST_PP_IIF(c, BOOST_PP_FOR_968, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(968, s), p, o, m) -# define BOOST_PP_FOR_968_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(969, s) BOOST_PP_IIF(c, BOOST_PP_FOR_969, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(969, s), p, o, m) -# define BOOST_PP_FOR_969_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(970, s) BOOST_PP_IIF(c, BOOST_PP_FOR_970, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(970, s), p, o, m) -# define BOOST_PP_FOR_970_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(971, s) BOOST_PP_IIF(c, BOOST_PP_FOR_971, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(971, s), p, o, m) -# define BOOST_PP_FOR_971_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(972, s) BOOST_PP_IIF(c, BOOST_PP_FOR_972, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(972, s), p, o, m) -# define BOOST_PP_FOR_972_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(973, s) BOOST_PP_IIF(c, BOOST_PP_FOR_973, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(973, s), p, o, m) -# define BOOST_PP_FOR_973_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(974, s) BOOST_PP_IIF(c, BOOST_PP_FOR_974, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(974, s), p, o, m) -# define BOOST_PP_FOR_974_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(975, s) BOOST_PP_IIF(c, BOOST_PP_FOR_975, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(975, s), p, o, m) -# define BOOST_PP_FOR_975_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(976, s) BOOST_PP_IIF(c, BOOST_PP_FOR_976, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(976, s), p, o, m) -# define BOOST_PP_FOR_976_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(977, s) BOOST_PP_IIF(c, BOOST_PP_FOR_977, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(977, s), p, o, m) -# define BOOST_PP_FOR_977_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(978, s) BOOST_PP_IIF(c, BOOST_PP_FOR_978, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(978, s), p, o, m) -# define BOOST_PP_FOR_978_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(979, s) BOOST_PP_IIF(c, BOOST_PP_FOR_979, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(979, s), p, o, m) -# define BOOST_PP_FOR_979_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(980, s) BOOST_PP_IIF(c, BOOST_PP_FOR_980, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(980, s), p, o, m) -# define BOOST_PP_FOR_980_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(981, s) BOOST_PP_IIF(c, BOOST_PP_FOR_981, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(981, s), p, o, m) -# define BOOST_PP_FOR_981_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(982, s) BOOST_PP_IIF(c, BOOST_PP_FOR_982, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(982, s), p, o, m) -# define BOOST_PP_FOR_982_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(983, s) BOOST_PP_IIF(c, BOOST_PP_FOR_983, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(983, s), p, o, m) -# define BOOST_PP_FOR_983_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(984, s) BOOST_PP_IIF(c, BOOST_PP_FOR_984, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(984, s), p, o, m) -# define BOOST_PP_FOR_984_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(985, s) BOOST_PP_IIF(c, BOOST_PP_FOR_985, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(985, s), p, o, m) -# define BOOST_PP_FOR_985_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(986, s) BOOST_PP_IIF(c, BOOST_PP_FOR_986, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(986, s), p, o, m) -# define BOOST_PP_FOR_986_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(987, s) BOOST_PP_IIF(c, BOOST_PP_FOR_987, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(987, s), p, o, m) -# define BOOST_PP_FOR_987_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(988, s) BOOST_PP_IIF(c, BOOST_PP_FOR_988, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(988, s), p, o, m) -# define BOOST_PP_FOR_988_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(989, s) BOOST_PP_IIF(c, BOOST_PP_FOR_989, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(989, s), p, o, m) -# define BOOST_PP_FOR_989_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(990, s) BOOST_PP_IIF(c, BOOST_PP_FOR_990, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(990, s), p, o, m) -# define BOOST_PP_FOR_990_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(991, s) BOOST_PP_IIF(c, BOOST_PP_FOR_991, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(991, s), p, o, m) -# define BOOST_PP_FOR_991_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(992, s) BOOST_PP_IIF(c, BOOST_PP_FOR_992, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(992, s), p, o, m) -# define BOOST_PP_FOR_992_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(993, s) BOOST_PP_IIF(c, BOOST_PP_FOR_993, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(993, s), p, o, m) -# define BOOST_PP_FOR_993_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(994, s) BOOST_PP_IIF(c, BOOST_PP_FOR_994, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(994, s), p, o, m) -# define BOOST_PP_FOR_994_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(995, s) BOOST_PP_IIF(c, BOOST_PP_FOR_995, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(995, s), p, o, m) -# define BOOST_PP_FOR_995_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(996, s) BOOST_PP_IIF(c, BOOST_PP_FOR_996, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(996, s), p, o, m) -# define BOOST_PP_FOR_996_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(997, s) BOOST_PP_IIF(c, BOOST_PP_FOR_997, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(997, s), p, o, m) -# define BOOST_PP_FOR_997_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(998, s) BOOST_PP_IIF(c, BOOST_PP_FOR_998, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(998, s), p, o, m) -# define BOOST_PP_FOR_998_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(999, s) BOOST_PP_IIF(c, BOOST_PP_FOR_999, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(999, s), p, o, m) -# define BOOST_PP_FOR_999_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1000, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1000, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1000, s), p, o, m) -# define BOOST_PP_FOR_1000_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1001, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1001, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1001, s), p, o, m) -# define BOOST_PP_FOR_1001_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1002, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1002, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1002, s), p, o, m) -# define BOOST_PP_FOR_1002_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1003, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1003, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1003, s), p, o, m) -# define BOOST_PP_FOR_1003_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1004, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1004, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1004, s), p, o, m) -# define BOOST_PP_FOR_1004_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1005, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1005, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1005, s), p, o, m) -# define BOOST_PP_FOR_1005_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1006, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1006, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1006, s), p, o, m) -# define BOOST_PP_FOR_1006_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1007, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1007, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1007, s), p, o, m) -# define BOOST_PP_FOR_1007_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1008, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1008, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1008, s), p, o, m) -# define BOOST_PP_FOR_1008_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1009, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1009, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1009, s), p, o, m) -# define BOOST_PP_FOR_1009_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1010, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1010, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1010, s), p, o, m) -# define BOOST_PP_FOR_1010_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1011, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1011, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1011, s), p, o, m) -# define BOOST_PP_FOR_1011_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1012, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1012, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1012, s), p, o, m) -# define BOOST_PP_FOR_1012_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1013, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1013, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1013, s), p, o, m) -# define BOOST_PP_FOR_1013_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1014, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1014, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1014, s), p, o, m) -# define BOOST_PP_FOR_1014_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1015, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1015, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1015, s), p, o, m) -# define BOOST_PP_FOR_1015_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1016, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1016, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1016, s), p, o, m) -# define BOOST_PP_FOR_1016_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1017, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1017, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1017, s), p, o, m) -# define BOOST_PP_FOR_1017_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1018, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1018, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1018, s), p, o, m) -# define BOOST_PP_FOR_1018_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1019, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1019, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1019, s), p, o, m) -# define BOOST_PP_FOR_1019_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1020, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1020, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1020, s), p, o, m) -# define BOOST_PP_FOR_1020_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1021, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1021, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1021, s), p, o, m) -# define BOOST_PP_FOR_1021_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1022, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1022, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1022, s), p, o, m) -# define BOOST_PP_FOR_1022_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1023, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1023, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1023, s), p, o, m) -# define BOOST_PP_FOR_1023_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1024, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1024, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1024, s), p, o, m) -# define BOOST_PP_FOR_1024_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1025, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1025, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1025, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_256.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_256.hpp deleted file mode 100644 index d3dde968b7..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_256.hpp +++ /dev/null @@ -1,533 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_256_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_256_HPP -# -# define BOOST_PP_FOR_0(s, p, o, m) BOOST_PP_FOR_0_C(BOOST_PP_BOOL(p(1, s)), s, p, o, m) -# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m) -# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m) -# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m) -# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m) -# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m) -# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m) -# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m) -# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m) -# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m) -# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m) -# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m) -# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m) -# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m) -# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m) -# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m) -# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m) -# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m) -# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m) -# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m) -# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m) -# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m) -# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m) -# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m) -# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m) -# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m) -# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m) -# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m) -# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m) -# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m) -# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m) -# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m) -# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m) -# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m) -# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m) -# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m) -# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m) -# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m) -# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m) -# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m) -# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m) -# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m) -# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m) -# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m) -# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m) -# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m) -# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m) -# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m) -# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m) -# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m) -# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m) -# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m) -# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m) -# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m) -# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m) -# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m) -# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m) -# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m) -# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m) -# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m) -# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m) -# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m) -# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m) -# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m) -# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m) -# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m) -# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m) -# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m) -# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m) -# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m) -# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m) -# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m) -# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m) -# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m) -# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m) -# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m) -# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m) -# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m) -# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m) -# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m) -# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m) -# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m) -# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m) -# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m) -# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m) -# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m) -# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m) -# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m) -# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m) -# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m) -# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m) -# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m) -# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m) -# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m) -# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m) -# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m) -# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m) -# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m) -# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m) -# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m) -# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m) -# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m) -# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m) -# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m) -# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m) -# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m) -# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m) -# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m) -# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m) -# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m) -# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m) -# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m) -# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m) -# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m) -# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m) -# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m) -# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m) -# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m) -# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m) -# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m) -# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m) -# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m) -# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m) -# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m) -# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m) -# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m) -# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m) -# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m) -# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m) -# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m) -# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m) -# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m) -# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m) -# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m) -# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m) -# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m) -# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m) -# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m) -# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m) -# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m) -# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m) -# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m) -# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m) -# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m) -# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m) -# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m) -# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m) -# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m) -# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m) -# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m) -# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m) -# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m) -# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m) -# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m) -# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m) -# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m) -# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m) -# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m) -# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m) -# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m) -# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m) -# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m) -# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m) -# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m) -# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m) -# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m) -# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m) -# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m) -# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m) -# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m) -# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m) -# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m) -# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m) -# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m) -# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m) -# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m) -# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m) -# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m) -# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m) -# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m) -# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m) -# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m) -# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m) -# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m) -# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m) -# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m) -# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m) -# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m) -# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m) -# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m) -# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m) -# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m) -# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m) -# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m) -# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m) -# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m) -# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m) -# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m) -# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m) -# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m) -# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m) -# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m) -# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m) -# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m) -# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m) -# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m) -# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m) -# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m) -# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m) -# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m) -# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m) -# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m) -# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m) -# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m) -# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m) -# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m) -# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m) -# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m) -# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m) -# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m) -# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m) -# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m) -# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m) -# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m) -# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m) -# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m) -# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m) -# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m) -# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m) -# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m) -# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m) -# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m) -# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m) -# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m) -# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m) -# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m) -# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m) -# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m) -# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m) -# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m) -# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m) -# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m) -# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m) -# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m) -# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m) -# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m) -# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m) -# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m) -# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m) -# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m) -# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m) -# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m) -# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m) -# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m) -# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m) -# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m) -# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m) -# -# define BOOST_PP_FOR_0_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1, s), p, o, m) -# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) -# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) -# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) -# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) -# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) -# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) -# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) -# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) -# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) -# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) -# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) -# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) -# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) -# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) -# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) -# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) -# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) -# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) -# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) -# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) -# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) -# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) -# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) -# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) -# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) -# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) -# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) -# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) -# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) -# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) -# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) -# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) -# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) -# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) -# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) -# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) -# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) -# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) -# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) -# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) -# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) -# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) -# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) -# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) -# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) -# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) -# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) -# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) -# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) -# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) -# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) -# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) -# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) -# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) -# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) -# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) -# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) -# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) -# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) -# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) -# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) -# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) -# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) -# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) -# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) -# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) -# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) -# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) -# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) -# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) -# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) -# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) -# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) -# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) -# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) -# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) -# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) -# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) -# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) -# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) -# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) -# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) -# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) -# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) -# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) -# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) -# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) -# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) -# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) -# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) -# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) -# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) -# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) -# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) -# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) -# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) -# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) -# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) -# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) -# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) -# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) -# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) -# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) -# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) -# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) -# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) -# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) -# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) -# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) -# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) -# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) -# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) -# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) -# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) -# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) -# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) -# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) -# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) -# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) -# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) -# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) -# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) -# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) -# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) -# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) -# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) -# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) -# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) -# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) -# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) -# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) -# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) -# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) -# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) -# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) -# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) -# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) -# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) -# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) -# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) -# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) -# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) -# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) -# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) -# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) -# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) -# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) -# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) -# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) -# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) -# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) -# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) -# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) -# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) -# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) -# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) -# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) -# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) -# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) -# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) -# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) -# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) -# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) -# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) -# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) -# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) -# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) -# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) -# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) -# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) -# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) -# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) -# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) -# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) -# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) -# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) -# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) -# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) -# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) -# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) -# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) -# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) -# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) -# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) -# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) -# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) -# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) -# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) -# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) -# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) -# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) -# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) -# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) -# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) -# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) -# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) -# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) -# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) -# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) -# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) -# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) -# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) -# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) -# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) -# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) -# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) -# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) -# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) -# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) -# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) -# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) -# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) -# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) -# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) -# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) -# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) -# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) -# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) -# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) -# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) -# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) -# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) -# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) -# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) -# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) -# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) -# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) -# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) -# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) -# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) -# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) -# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) -# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) -# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) -# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) -# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) -# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) -# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) -# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) -# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) -# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) -# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) -# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) -# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) -# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) -# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) -# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) -# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) -# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) -# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) -# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) -# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) -# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) -# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) -# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) -# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_512.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_512.hpp deleted file mode 100644 index afb1e211b1..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/limits/for_512.hpp +++ /dev/null @@ -1,532 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_512_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_512_HPP -# -# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_FOR_257_C(BOOST_PP_BOOL(p(258, s)), s, p, o, m) -# define BOOST_PP_FOR_258(s, p, o, m) BOOST_PP_FOR_258_C(BOOST_PP_BOOL(p(259, s)), s, p, o, m) -# define BOOST_PP_FOR_259(s, p, o, m) BOOST_PP_FOR_259_C(BOOST_PP_BOOL(p(260, s)), s, p, o, m) -# define BOOST_PP_FOR_260(s, p, o, m) BOOST_PP_FOR_260_C(BOOST_PP_BOOL(p(261, s)), s, p, o, m) -# define BOOST_PP_FOR_261(s, p, o, m) BOOST_PP_FOR_261_C(BOOST_PP_BOOL(p(262, s)), s, p, o, m) -# define BOOST_PP_FOR_262(s, p, o, m) BOOST_PP_FOR_262_C(BOOST_PP_BOOL(p(263, s)), s, p, o, m) -# define BOOST_PP_FOR_263(s, p, o, m) BOOST_PP_FOR_263_C(BOOST_PP_BOOL(p(264, s)), s, p, o, m) -# define BOOST_PP_FOR_264(s, p, o, m) BOOST_PP_FOR_264_C(BOOST_PP_BOOL(p(265, s)), s, p, o, m) -# define BOOST_PP_FOR_265(s, p, o, m) BOOST_PP_FOR_265_C(BOOST_PP_BOOL(p(266, s)), s, p, o, m) -# define BOOST_PP_FOR_266(s, p, o, m) BOOST_PP_FOR_266_C(BOOST_PP_BOOL(p(267, s)), s, p, o, m) -# define BOOST_PP_FOR_267(s, p, o, m) BOOST_PP_FOR_267_C(BOOST_PP_BOOL(p(268, s)), s, p, o, m) -# define BOOST_PP_FOR_268(s, p, o, m) BOOST_PP_FOR_268_C(BOOST_PP_BOOL(p(269, s)), s, p, o, m) -# define BOOST_PP_FOR_269(s, p, o, m) BOOST_PP_FOR_269_C(BOOST_PP_BOOL(p(270, s)), s, p, o, m) -# define BOOST_PP_FOR_270(s, p, o, m) BOOST_PP_FOR_270_C(BOOST_PP_BOOL(p(271, s)), s, p, o, m) -# define BOOST_PP_FOR_271(s, p, o, m) BOOST_PP_FOR_271_C(BOOST_PP_BOOL(p(272, s)), s, p, o, m) -# define BOOST_PP_FOR_272(s, p, o, m) BOOST_PP_FOR_272_C(BOOST_PP_BOOL(p(273, s)), s, p, o, m) -# define BOOST_PP_FOR_273(s, p, o, m) BOOST_PP_FOR_273_C(BOOST_PP_BOOL(p(274, s)), s, p, o, m) -# define BOOST_PP_FOR_274(s, p, o, m) BOOST_PP_FOR_274_C(BOOST_PP_BOOL(p(275, s)), s, p, o, m) -# define BOOST_PP_FOR_275(s, p, o, m) BOOST_PP_FOR_275_C(BOOST_PP_BOOL(p(276, s)), s, p, o, m) -# define BOOST_PP_FOR_276(s, p, o, m) BOOST_PP_FOR_276_C(BOOST_PP_BOOL(p(277, s)), s, p, o, m) -# define BOOST_PP_FOR_277(s, p, o, m) BOOST_PP_FOR_277_C(BOOST_PP_BOOL(p(278, s)), s, p, o, m) -# define BOOST_PP_FOR_278(s, p, o, m) BOOST_PP_FOR_278_C(BOOST_PP_BOOL(p(279, s)), s, p, o, m) -# define BOOST_PP_FOR_279(s, p, o, m) BOOST_PP_FOR_279_C(BOOST_PP_BOOL(p(280, s)), s, p, o, m) -# define BOOST_PP_FOR_280(s, p, o, m) BOOST_PP_FOR_280_C(BOOST_PP_BOOL(p(281, s)), s, p, o, m) -# define BOOST_PP_FOR_281(s, p, o, m) BOOST_PP_FOR_281_C(BOOST_PP_BOOL(p(282, s)), s, p, o, m) -# define BOOST_PP_FOR_282(s, p, o, m) BOOST_PP_FOR_282_C(BOOST_PP_BOOL(p(283, s)), s, p, o, m) -# define BOOST_PP_FOR_283(s, p, o, m) BOOST_PP_FOR_283_C(BOOST_PP_BOOL(p(284, s)), s, p, o, m) -# define BOOST_PP_FOR_284(s, p, o, m) BOOST_PP_FOR_284_C(BOOST_PP_BOOL(p(285, s)), s, p, o, m) -# define BOOST_PP_FOR_285(s, p, o, m) BOOST_PP_FOR_285_C(BOOST_PP_BOOL(p(286, s)), s, p, o, m) -# define BOOST_PP_FOR_286(s, p, o, m) BOOST_PP_FOR_286_C(BOOST_PP_BOOL(p(287, s)), s, p, o, m) -# define BOOST_PP_FOR_287(s, p, o, m) BOOST_PP_FOR_287_C(BOOST_PP_BOOL(p(288, s)), s, p, o, m) -# define BOOST_PP_FOR_288(s, p, o, m) BOOST_PP_FOR_288_C(BOOST_PP_BOOL(p(289, s)), s, p, o, m) -# define BOOST_PP_FOR_289(s, p, o, m) BOOST_PP_FOR_289_C(BOOST_PP_BOOL(p(290, s)), s, p, o, m) -# define BOOST_PP_FOR_290(s, p, o, m) BOOST_PP_FOR_290_C(BOOST_PP_BOOL(p(291, s)), s, p, o, m) -# define BOOST_PP_FOR_291(s, p, o, m) BOOST_PP_FOR_291_C(BOOST_PP_BOOL(p(292, s)), s, p, o, m) -# define BOOST_PP_FOR_292(s, p, o, m) BOOST_PP_FOR_292_C(BOOST_PP_BOOL(p(293, s)), s, p, o, m) -# define BOOST_PP_FOR_293(s, p, o, m) BOOST_PP_FOR_293_C(BOOST_PP_BOOL(p(294, s)), s, p, o, m) -# define BOOST_PP_FOR_294(s, p, o, m) BOOST_PP_FOR_294_C(BOOST_PP_BOOL(p(295, s)), s, p, o, m) -# define BOOST_PP_FOR_295(s, p, o, m) BOOST_PP_FOR_295_C(BOOST_PP_BOOL(p(296, s)), s, p, o, m) -# define BOOST_PP_FOR_296(s, p, o, m) BOOST_PP_FOR_296_C(BOOST_PP_BOOL(p(297, s)), s, p, o, m) -# define BOOST_PP_FOR_297(s, p, o, m) BOOST_PP_FOR_297_C(BOOST_PP_BOOL(p(298, s)), s, p, o, m) -# define BOOST_PP_FOR_298(s, p, o, m) BOOST_PP_FOR_298_C(BOOST_PP_BOOL(p(299, s)), s, p, o, m) -# define BOOST_PP_FOR_299(s, p, o, m) BOOST_PP_FOR_299_C(BOOST_PP_BOOL(p(300, s)), s, p, o, m) -# define BOOST_PP_FOR_300(s, p, o, m) BOOST_PP_FOR_300_C(BOOST_PP_BOOL(p(301, s)), s, p, o, m) -# define BOOST_PP_FOR_301(s, p, o, m) BOOST_PP_FOR_301_C(BOOST_PP_BOOL(p(302, s)), s, p, o, m) -# define BOOST_PP_FOR_302(s, p, o, m) BOOST_PP_FOR_302_C(BOOST_PP_BOOL(p(303, s)), s, p, o, m) -# define BOOST_PP_FOR_303(s, p, o, m) BOOST_PP_FOR_303_C(BOOST_PP_BOOL(p(304, s)), s, p, o, m) -# define BOOST_PP_FOR_304(s, p, o, m) BOOST_PP_FOR_304_C(BOOST_PP_BOOL(p(305, s)), s, p, o, m) -# define BOOST_PP_FOR_305(s, p, o, m) BOOST_PP_FOR_305_C(BOOST_PP_BOOL(p(306, s)), s, p, o, m) -# define BOOST_PP_FOR_306(s, p, o, m) BOOST_PP_FOR_306_C(BOOST_PP_BOOL(p(307, s)), s, p, o, m) -# define BOOST_PP_FOR_307(s, p, o, m) BOOST_PP_FOR_307_C(BOOST_PP_BOOL(p(308, s)), s, p, o, m) -# define BOOST_PP_FOR_308(s, p, o, m) BOOST_PP_FOR_308_C(BOOST_PP_BOOL(p(309, s)), s, p, o, m) -# define BOOST_PP_FOR_309(s, p, o, m) BOOST_PP_FOR_309_C(BOOST_PP_BOOL(p(310, s)), s, p, o, m) -# define BOOST_PP_FOR_310(s, p, o, m) BOOST_PP_FOR_310_C(BOOST_PP_BOOL(p(311, s)), s, p, o, m) -# define BOOST_PP_FOR_311(s, p, o, m) BOOST_PP_FOR_311_C(BOOST_PP_BOOL(p(312, s)), s, p, o, m) -# define BOOST_PP_FOR_312(s, p, o, m) BOOST_PP_FOR_312_C(BOOST_PP_BOOL(p(313, s)), s, p, o, m) -# define BOOST_PP_FOR_313(s, p, o, m) BOOST_PP_FOR_313_C(BOOST_PP_BOOL(p(314, s)), s, p, o, m) -# define BOOST_PP_FOR_314(s, p, o, m) BOOST_PP_FOR_314_C(BOOST_PP_BOOL(p(315, s)), s, p, o, m) -# define BOOST_PP_FOR_315(s, p, o, m) BOOST_PP_FOR_315_C(BOOST_PP_BOOL(p(316, s)), s, p, o, m) -# define BOOST_PP_FOR_316(s, p, o, m) BOOST_PP_FOR_316_C(BOOST_PP_BOOL(p(317, s)), s, p, o, m) -# define BOOST_PP_FOR_317(s, p, o, m) BOOST_PP_FOR_317_C(BOOST_PP_BOOL(p(318, s)), s, p, o, m) -# define BOOST_PP_FOR_318(s, p, o, m) BOOST_PP_FOR_318_C(BOOST_PP_BOOL(p(319, s)), s, p, o, m) -# define BOOST_PP_FOR_319(s, p, o, m) BOOST_PP_FOR_319_C(BOOST_PP_BOOL(p(320, s)), s, p, o, m) -# define BOOST_PP_FOR_320(s, p, o, m) BOOST_PP_FOR_320_C(BOOST_PP_BOOL(p(321, s)), s, p, o, m) -# define BOOST_PP_FOR_321(s, p, o, m) BOOST_PP_FOR_321_C(BOOST_PP_BOOL(p(322, s)), s, p, o, m) -# define BOOST_PP_FOR_322(s, p, o, m) BOOST_PP_FOR_322_C(BOOST_PP_BOOL(p(323, s)), s, p, o, m) -# define BOOST_PP_FOR_323(s, p, o, m) BOOST_PP_FOR_323_C(BOOST_PP_BOOL(p(324, s)), s, p, o, m) -# define BOOST_PP_FOR_324(s, p, o, m) BOOST_PP_FOR_324_C(BOOST_PP_BOOL(p(325, s)), s, p, o, m) -# define BOOST_PP_FOR_325(s, p, o, m) BOOST_PP_FOR_325_C(BOOST_PP_BOOL(p(326, s)), s, p, o, m) -# define BOOST_PP_FOR_326(s, p, o, m) BOOST_PP_FOR_326_C(BOOST_PP_BOOL(p(327, s)), s, p, o, m) -# define BOOST_PP_FOR_327(s, p, o, m) BOOST_PP_FOR_327_C(BOOST_PP_BOOL(p(328, s)), s, p, o, m) -# define BOOST_PP_FOR_328(s, p, o, m) BOOST_PP_FOR_328_C(BOOST_PP_BOOL(p(329, s)), s, p, o, m) -# define BOOST_PP_FOR_329(s, p, o, m) BOOST_PP_FOR_329_C(BOOST_PP_BOOL(p(330, s)), s, p, o, m) -# define BOOST_PP_FOR_330(s, p, o, m) BOOST_PP_FOR_330_C(BOOST_PP_BOOL(p(331, s)), s, p, o, m) -# define BOOST_PP_FOR_331(s, p, o, m) BOOST_PP_FOR_331_C(BOOST_PP_BOOL(p(332, s)), s, p, o, m) -# define BOOST_PP_FOR_332(s, p, o, m) BOOST_PP_FOR_332_C(BOOST_PP_BOOL(p(333, s)), s, p, o, m) -# define BOOST_PP_FOR_333(s, p, o, m) BOOST_PP_FOR_333_C(BOOST_PP_BOOL(p(334, s)), s, p, o, m) -# define BOOST_PP_FOR_334(s, p, o, m) BOOST_PP_FOR_334_C(BOOST_PP_BOOL(p(335, s)), s, p, o, m) -# define BOOST_PP_FOR_335(s, p, o, m) BOOST_PP_FOR_335_C(BOOST_PP_BOOL(p(336, s)), s, p, o, m) -# define BOOST_PP_FOR_336(s, p, o, m) BOOST_PP_FOR_336_C(BOOST_PP_BOOL(p(337, s)), s, p, o, m) -# define BOOST_PP_FOR_337(s, p, o, m) BOOST_PP_FOR_337_C(BOOST_PP_BOOL(p(338, s)), s, p, o, m) -# define BOOST_PP_FOR_338(s, p, o, m) BOOST_PP_FOR_338_C(BOOST_PP_BOOL(p(339, s)), s, p, o, m) -# define BOOST_PP_FOR_339(s, p, o, m) BOOST_PP_FOR_339_C(BOOST_PP_BOOL(p(340, s)), s, p, o, m) -# define BOOST_PP_FOR_340(s, p, o, m) BOOST_PP_FOR_340_C(BOOST_PP_BOOL(p(341, s)), s, p, o, m) -# define BOOST_PP_FOR_341(s, p, o, m) BOOST_PP_FOR_341_C(BOOST_PP_BOOL(p(342, s)), s, p, o, m) -# define BOOST_PP_FOR_342(s, p, o, m) BOOST_PP_FOR_342_C(BOOST_PP_BOOL(p(343, s)), s, p, o, m) -# define BOOST_PP_FOR_343(s, p, o, m) BOOST_PP_FOR_343_C(BOOST_PP_BOOL(p(344, s)), s, p, o, m) -# define BOOST_PP_FOR_344(s, p, o, m) BOOST_PP_FOR_344_C(BOOST_PP_BOOL(p(345, s)), s, p, o, m) -# define BOOST_PP_FOR_345(s, p, o, m) BOOST_PP_FOR_345_C(BOOST_PP_BOOL(p(346, s)), s, p, o, m) -# define BOOST_PP_FOR_346(s, p, o, m) BOOST_PP_FOR_346_C(BOOST_PP_BOOL(p(347, s)), s, p, o, m) -# define BOOST_PP_FOR_347(s, p, o, m) BOOST_PP_FOR_347_C(BOOST_PP_BOOL(p(348, s)), s, p, o, m) -# define BOOST_PP_FOR_348(s, p, o, m) BOOST_PP_FOR_348_C(BOOST_PP_BOOL(p(349, s)), s, p, o, m) -# define BOOST_PP_FOR_349(s, p, o, m) BOOST_PP_FOR_349_C(BOOST_PP_BOOL(p(350, s)), s, p, o, m) -# define BOOST_PP_FOR_350(s, p, o, m) BOOST_PP_FOR_350_C(BOOST_PP_BOOL(p(351, s)), s, p, o, m) -# define BOOST_PP_FOR_351(s, p, o, m) BOOST_PP_FOR_351_C(BOOST_PP_BOOL(p(352, s)), s, p, o, m) -# define BOOST_PP_FOR_352(s, p, o, m) BOOST_PP_FOR_352_C(BOOST_PP_BOOL(p(353, s)), s, p, o, m) -# define BOOST_PP_FOR_353(s, p, o, m) BOOST_PP_FOR_353_C(BOOST_PP_BOOL(p(354, s)), s, p, o, m) -# define BOOST_PP_FOR_354(s, p, o, m) BOOST_PP_FOR_354_C(BOOST_PP_BOOL(p(355, s)), s, p, o, m) -# define BOOST_PP_FOR_355(s, p, o, m) BOOST_PP_FOR_355_C(BOOST_PP_BOOL(p(356, s)), s, p, o, m) -# define BOOST_PP_FOR_356(s, p, o, m) BOOST_PP_FOR_356_C(BOOST_PP_BOOL(p(357, s)), s, p, o, m) -# define BOOST_PP_FOR_357(s, p, o, m) BOOST_PP_FOR_357_C(BOOST_PP_BOOL(p(358, s)), s, p, o, m) -# define BOOST_PP_FOR_358(s, p, o, m) BOOST_PP_FOR_358_C(BOOST_PP_BOOL(p(359, s)), s, p, o, m) -# define BOOST_PP_FOR_359(s, p, o, m) BOOST_PP_FOR_359_C(BOOST_PP_BOOL(p(360, s)), s, p, o, m) -# define BOOST_PP_FOR_360(s, p, o, m) BOOST_PP_FOR_360_C(BOOST_PP_BOOL(p(361, s)), s, p, o, m) -# define BOOST_PP_FOR_361(s, p, o, m) BOOST_PP_FOR_361_C(BOOST_PP_BOOL(p(362, s)), s, p, o, m) -# define BOOST_PP_FOR_362(s, p, o, m) BOOST_PP_FOR_362_C(BOOST_PP_BOOL(p(363, s)), s, p, o, m) -# define BOOST_PP_FOR_363(s, p, o, m) BOOST_PP_FOR_363_C(BOOST_PP_BOOL(p(364, s)), s, p, o, m) -# define BOOST_PP_FOR_364(s, p, o, m) BOOST_PP_FOR_364_C(BOOST_PP_BOOL(p(365, s)), s, p, o, m) -# define BOOST_PP_FOR_365(s, p, o, m) BOOST_PP_FOR_365_C(BOOST_PP_BOOL(p(366, s)), s, p, o, m) -# define BOOST_PP_FOR_366(s, p, o, m) BOOST_PP_FOR_366_C(BOOST_PP_BOOL(p(367, s)), s, p, o, m) -# define BOOST_PP_FOR_367(s, p, o, m) BOOST_PP_FOR_367_C(BOOST_PP_BOOL(p(368, s)), s, p, o, m) -# define BOOST_PP_FOR_368(s, p, o, m) BOOST_PP_FOR_368_C(BOOST_PP_BOOL(p(369, s)), s, p, o, m) -# define BOOST_PP_FOR_369(s, p, o, m) BOOST_PP_FOR_369_C(BOOST_PP_BOOL(p(370, s)), s, p, o, m) -# define BOOST_PP_FOR_370(s, p, o, m) BOOST_PP_FOR_370_C(BOOST_PP_BOOL(p(371, s)), s, p, o, m) -# define BOOST_PP_FOR_371(s, p, o, m) BOOST_PP_FOR_371_C(BOOST_PP_BOOL(p(372, s)), s, p, o, m) -# define BOOST_PP_FOR_372(s, p, o, m) BOOST_PP_FOR_372_C(BOOST_PP_BOOL(p(373, s)), s, p, o, m) -# define BOOST_PP_FOR_373(s, p, o, m) BOOST_PP_FOR_373_C(BOOST_PP_BOOL(p(374, s)), s, p, o, m) -# define BOOST_PP_FOR_374(s, p, o, m) BOOST_PP_FOR_374_C(BOOST_PP_BOOL(p(375, s)), s, p, o, m) -# define BOOST_PP_FOR_375(s, p, o, m) BOOST_PP_FOR_375_C(BOOST_PP_BOOL(p(376, s)), s, p, o, m) -# define BOOST_PP_FOR_376(s, p, o, m) BOOST_PP_FOR_376_C(BOOST_PP_BOOL(p(377, s)), s, p, o, m) -# define BOOST_PP_FOR_377(s, p, o, m) BOOST_PP_FOR_377_C(BOOST_PP_BOOL(p(378, s)), s, p, o, m) -# define BOOST_PP_FOR_378(s, p, o, m) BOOST_PP_FOR_378_C(BOOST_PP_BOOL(p(379, s)), s, p, o, m) -# define BOOST_PP_FOR_379(s, p, o, m) BOOST_PP_FOR_379_C(BOOST_PP_BOOL(p(380, s)), s, p, o, m) -# define BOOST_PP_FOR_380(s, p, o, m) BOOST_PP_FOR_380_C(BOOST_PP_BOOL(p(381, s)), s, p, o, m) -# define BOOST_PP_FOR_381(s, p, o, m) BOOST_PP_FOR_381_C(BOOST_PP_BOOL(p(382, s)), s, p, o, m) -# define BOOST_PP_FOR_382(s, p, o, m) BOOST_PP_FOR_382_C(BOOST_PP_BOOL(p(383, s)), s, p, o, m) -# define BOOST_PP_FOR_383(s, p, o, m) BOOST_PP_FOR_383_C(BOOST_PP_BOOL(p(384, s)), s, p, o, m) -# define BOOST_PP_FOR_384(s, p, o, m) BOOST_PP_FOR_384_C(BOOST_PP_BOOL(p(385, s)), s, p, o, m) -# define BOOST_PP_FOR_385(s, p, o, m) BOOST_PP_FOR_385_C(BOOST_PP_BOOL(p(386, s)), s, p, o, m) -# define BOOST_PP_FOR_386(s, p, o, m) BOOST_PP_FOR_386_C(BOOST_PP_BOOL(p(387, s)), s, p, o, m) -# define BOOST_PP_FOR_387(s, p, o, m) BOOST_PP_FOR_387_C(BOOST_PP_BOOL(p(388, s)), s, p, o, m) -# define BOOST_PP_FOR_388(s, p, o, m) BOOST_PP_FOR_388_C(BOOST_PP_BOOL(p(389, s)), s, p, o, m) -# define BOOST_PP_FOR_389(s, p, o, m) BOOST_PP_FOR_389_C(BOOST_PP_BOOL(p(390, s)), s, p, o, m) -# define BOOST_PP_FOR_390(s, p, o, m) BOOST_PP_FOR_390_C(BOOST_PP_BOOL(p(391, s)), s, p, o, m) -# define BOOST_PP_FOR_391(s, p, o, m) BOOST_PP_FOR_391_C(BOOST_PP_BOOL(p(392, s)), s, p, o, m) -# define BOOST_PP_FOR_392(s, p, o, m) BOOST_PP_FOR_392_C(BOOST_PP_BOOL(p(393, s)), s, p, o, m) -# define BOOST_PP_FOR_393(s, p, o, m) BOOST_PP_FOR_393_C(BOOST_PP_BOOL(p(394, s)), s, p, o, m) -# define BOOST_PP_FOR_394(s, p, o, m) BOOST_PP_FOR_394_C(BOOST_PP_BOOL(p(395, s)), s, p, o, m) -# define BOOST_PP_FOR_395(s, p, o, m) BOOST_PP_FOR_395_C(BOOST_PP_BOOL(p(396, s)), s, p, o, m) -# define BOOST_PP_FOR_396(s, p, o, m) BOOST_PP_FOR_396_C(BOOST_PP_BOOL(p(397, s)), s, p, o, m) -# define BOOST_PP_FOR_397(s, p, o, m) BOOST_PP_FOR_397_C(BOOST_PP_BOOL(p(398, s)), s, p, o, m) -# define BOOST_PP_FOR_398(s, p, o, m) BOOST_PP_FOR_398_C(BOOST_PP_BOOL(p(399, s)), s, p, o, m) -# define BOOST_PP_FOR_399(s, p, o, m) BOOST_PP_FOR_399_C(BOOST_PP_BOOL(p(400, s)), s, p, o, m) -# define BOOST_PP_FOR_400(s, p, o, m) BOOST_PP_FOR_400_C(BOOST_PP_BOOL(p(401, s)), s, p, o, m) -# define BOOST_PP_FOR_401(s, p, o, m) BOOST_PP_FOR_401_C(BOOST_PP_BOOL(p(402, s)), s, p, o, m) -# define BOOST_PP_FOR_402(s, p, o, m) BOOST_PP_FOR_402_C(BOOST_PP_BOOL(p(403, s)), s, p, o, m) -# define BOOST_PP_FOR_403(s, p, o, m) BOOST_PP_FOR_403_C(BOOST_PP_BOOL(p(404, s)), s, p, o, m) -# define BOOST_PP_FOR_404(s, p, o, m) BOOST_PP_FOR_404_C(BOOST_PP_BOOL(p(405, s)), s, p, o, m) -# define BOOST_PP_FOR_405(s, p, o, m) BOOST_PP_FOR_405_C(BOOST_PP_BOOL(p(406, s)), s, p, o, m) -# define BOOST_PP_FOR_406(s, p, o, m) BOOST_PP_FOR_406_C(BOOST_PP_BOOL(p(407, s)), s, p, o, m) -# define BOOST_PP_FOR_407(s, p, o, m) BOOST_PP_FOR_407_C(BOOST_PP_BOOL(p(408, s)), s, p, o, m) -# define BOOST_PP_FOR_408(s, p, o, m) BOOST_PP_FOR_408_C(BOOST_PP_BOOL(p(409, s)), s, p, o, m) -# define BOOST_PP_FOR_409(s, p, o, m) BOOST_PP_FOR_409_C(BOOST_PP_BOOL(p(410, s)), s, p, o, m) -# define BOOST_PP_FOR_410(s, p, o, m) BOOST_PP_FOR_410_C(BOOST_PP_BOOL(p(411, s)), s, p, o, m) -# define BOOST_PP_FOR_411(s, p, o, m) BOOST_PP_FOR_411_C(BOOST_PP_BOOL(p(412, s)), s, p, o, m) -# define BOOST_PP_FOR_412(s, p, o, m) BOOST_PP_FOR_412_C(BOOST_PP_BOOL(p(413, s)), s, p, o, m) -# define BOOST_PP_FOR_413(s, p, o, m) BOOST_PP_FOR_413_C(BOOST_PP_BOOL(p(414, s)), s, p, o, m) -# define BOOST_PP_FOR_414(s, p, o, m) BOOST_PP_FOR_414_C(BOOST_PP_BOOL(p(415, s)), s, p, o, m) -# define BOOST_PP_FOR_415(s, p, o, m) BOOST_PP_FOR_415_C(BOOST_PP_BOOL(p(416, s)), s, p, o, m) -# define BOOST_PP_FOR_416(s, p, o, m) BOOST_PP_FOR_416_C(BOOST_PP_BOOL(p(417, s)), s, p, o, m) -# define BOOST_PP_FOR_417(s, p, o, m) BOOST_PP_FOR_417_C(BOOST_PP_BOOL(p(418, s)), s, p, o, m) -# define BOOST_PP_FOR_418(s, p, o, m) BOOST_PP_FOR_418_C(BOOST_PP_BOOL(p(419, s)), s, p, o, m) -# define BOOST_PP_FOR_419(s, p, o, m) BOOST_PP_FOR_419_C(BOOST_PP_BOOL(p(420, s)), s, p, o, m) -# define BOOST_PP_FOR_420(s, p, o, m) BOOST_PP_FOR_420_C(BOOST_PP_BOOL(p(421, s)), s, p, o, m) -# define BOOST_PP_FOR_421(s, p, o, m) BOOST_PP_FOR_421_C(BOOST_PP_BOOL(p(422, s)), s, p, o, m) -# define BOOST_PP_FOR_422(s, p, o, m) BOOST_PP_FOR_422_C(BOOST_PP_BOOL(p(423, s)), s, p, o, m) -# define BOOST_PP_FOR_423(s, p, o, m) BOOST_PP_FOR_423_C(BOOST_PP_BOOL(p(424, s)), s, p, o, m) -# define BOOST_PP_FOR_424(s, p, o, m) BOOST_PP_FOR_424_C(BOOST_PP_BOOL(p(425, s)), s, p, o, m) -# define BOOST_PP_FOR_425(s, p, o, m) BOOST_PP_FOR_425_C(BOOST_PP_BOOL(p(426, s)), s, p, o, m) -# define BOOST_PP_FOR_426(s, p, o, m) BOOST_PP_FOR_426_C(BOOST_PP_BOOL(p(427, s)), s, p, o, m) -# define BOOST_PP_FOR_427(s, p, o, m) BOOST_PP_FOR_427_C(BOOST_PP_BOOL(p(428, s)), s, p, o, m) -# define BOOST_PP_FOR_428(s, p, o, m) BOOST_PP_FOR_428_C(BOOST_PP_BOOL(p(429, s)), s, p, o, m) -# define BOOST_PP_FOR_429(s, p, o, m) BOOST_PP_FOR_429_C(BOOST_PP_BOOL(p(430, s)), s, p, o, m) -# define BOOST_PP_FOR_430(s, p, o, m) BOOST_PP_FOR_430_C(BOOST_PP_BOOL(p(431, s)), s, p, o, m) -# define BOOST_PP_FOR_431(s, p, o, m) BOOST_PP_FOR_431_C(BOOST_PP_BOOL(p(432, s)), s, p, o, m) -# define BOOST_PP_FOR_432(s, p, o, m) BOOST_PP_FOR_432_C(BOOST_PP_BOOL(p(433, s)), s, p, o, m) -# define BOOST_PP_FOR_433(s, p, o, m) BOOST_PP_FOR_433_C(BOOST_PP_BOOL(p(434, s)), s, p, o, m) -# define BOOST_PP_FOR_434(s, p, o, m) BOOST_PP_FOR_434_C(BOOST_PP_BOOL(p(435, s)), s, p, o, m) -# define BOOST_PP_FOR_435(s, p, o, m) BOOST_PP_FOR_435_C(BOOST_PP_BOOL(p(436, s)), s, p, o, m) -# define BOOST_PP_FOR_436(s, p, o, m) BOOST_PP_FOR_436_C(BOOST_PP_BOOL(p(437, s)), s, p, o, m) -# define BOOST_PP_FOR_437(s, p, o, m) BOOST_PP_FOR_437_C(BOOST_PP_BOOL(p(438, s)), s, p, o, m) -# define BOOST_PP_FOR_438(s, p, o, m) BOOST_PP_FOR_438_C(BOOST_PP_BOOL(p(439, s)), s, p, o, m) -# define BOOST_PP_FOR_439(s, p, o, m) BOOST_PP_FOR_439_C(BOOST_PP_BOOL(p(440, s)), s, p, o, m) -# define BOOST_PP_FOR_440(s, p, o, m) BOOST_PP_FOR_440_C(BOOST_PP_BOOL(p(441, s)), s, p, o, m) -# define BOOST_PP_FOR_441(s, p, o, m) BOOST_PP_FOR_441_C(BOOST_PP_BOOL(p(442, s)), s, p, o, m) -# define BOOST_PP_FOR_442(s, p, o, m) BOOST_PP_FOR_442_C(BOOST_PP_BOOL(p(443, s)), s, p, o, m) -# define BOOST_PP_FOR_443(s, p, o, m) BOOST_PP_FOR_443_C(BOOST_PP_BOOL(p(444, s)), s, p, o, m) -# define BOOST_PP_FOR_444(s, p, o, m) BOOST_PP_FOR_444_C(BOOST_PP_BOOL(p(445, s)), s, p, o, m) -# define BOOST_PP_FOR_445(s, p, o, m) BOOST_PP_FOR_445_C(BOOST_PP_BOOL(p(446, s)), s, p, o, m) -# define BOOST_PP_FOR_446(s, p, o, m) BOOST_PP_FOR_446_C(BOOST_PP_BOOL(p(447, s)), s, p, o, m) -# define BOOST_PP_FOR_447(s, p, o, m) BOOST_PP_FOR_447_C(BOOST_PP_BOOL(p(448, s)), s, p, o, m) -# define BOOST_PP_FOR_448(s, p, o, m) BOOST_PP_FOR_448_C(BOOST_PP_BOOL(p(449, s)), s, p, o, m) -# define BOOST_PP_FOR_449(s, p, o, m) BOOST_PP_FOR_449_C(BOOST_PP_BOOL(p(450, s)), s, p, o, m) -# define BOOST_PP_FOR_450(s, p, o, m) BOOST_PP_FOR_450_C(BOOST_PP_BOOL(p(451, s)), s, p, o, m) -# define BOOST_PP_FOR_451(s, p, o, m) BOOST_PP_FOR_451_C(BOOST_PP_BOOL(p(452, s)), s, p, o, m) -# define BOOST_PP_FOR_452(s, p, o, m) BOOST_PP_FOR_452_C(BOOST_PP_BOOL(p(453, s)), s, p, o, m) -# define BOOST_PP_FOR_453(s, p, o, m) BOOST_PP_FOR_453_C(BOOST_PP_BOOL(p(454, s)), s, p, o, m) -# define BOOST_PP_FOR_454(s, p, o, m) BOOST_PP_FOR_454_C(BOOST_PP_BOOL(p(455, s)), s, p, o, m) -# define BOOST_PP_FOR_455(s, p, o, m) BOOST_PP_FOR_455_C(BOOST_PP_BOOL(p(456, s)), s, p, o, m) -# define BOOST_PP_FOR_456(s, p, o, m) BOOST_PP_FOR_456_C(BOOST_PP_BOOL(p(457, s)), s, p, o, m) -# define BOOST_PP_FOR_457(s, p, o, m) BOOST_PP_FOR_457_C(BOOST_PP_BOOL(p(458, s)), s, p, o, m) -# define BOOST_PP_FOR_458(s, p, o, m) BOOST_PP_FOR_458_C(BOOST_PP_BOOL(p(459, s)), s, p, o, m) -# define BOOST_PP_FOR_459(s, p, o, m) BOOST_PP_FOR_459_C(BOOST_PP_BOOL(p(460, s)), s, p, o, m) -# define BOOST_PP_FOR_460(s, p, o, m) BOOST_PP_FOR_460_C(BOOST_PP_BOOL(p(461, s)), s, p, o, m) -# define BOOST_PP_FOR_461(s, p, o, m) BOOST_PP_FOR_461_C(BOOST_PP_BOOL(p(462, s)), s, p, o, m) -# define BOOST_PP_FOR_462(s, p, o, m) BOOST_PP_FOR_462_C(BOOST_PP_BOOL(p(463, s)), s, p, o, m) -# define BOOST_PP_FOR_463(s, p, o, m) BOOST_PP_FOR_463_C(BOOST_PP_BOOL(p(464, s)), s, p, o, m) -# define BOOST_PP_FOR_464(s, p, o, m) BOOST_PP_FOR_464_C(BOOST_PP_BOOL(p(465, s)), s, p, o, m) -# define BOOST_PP_FOR_465(s, p, o, m) BOOST_PP_FOR_465_C(BOOST_PP_BOOL(p(466, s)), s, p, o, m) -# define BOOST_PP_FOR_466(s, p, o, m) BOOST_PP_FOR_466_C(BOOST_PP_BOOL(p(467, s)), s, p, o, m) -# define BOOST_PP_FOR_467(s, p, o, m) BOOST_PP_FOR_467_C(BOOST_PP_BOOL(p(468, s)), s, p, o, m) -# define BOOST_PP_FOR_468(s, p, o, m) BOOST_PP_FOR_468_C(BOOST_PP_BOOL(p(469, s)), s, p, o, m) -# define BOOST_PP_FOR_469(s, p, o, m) BOOST_PP_FOR_469_C(BOOST_PP_BOOL(p(470, s)), s, p, o, m) -# define BOOST_PP_FOR_470(s, p, o, m) BOOST_PP_FOR_470_C(BOOST_PP_BOOL(p(471, s)), s, p, o, m) -# define BOOST_PP_FOR_471(s, p, o, m) BOOST_PP_FOR_471_C(BOOST_PP_BOOL(p(472, s)), s, p, o, m) -# define BOOST_PP_FOR_472(s, p, o, m) BOOST_PP_FOR_472_C(BOOST_PP_BOOL(p(473, s)), s, p, o, m) -# define BOOST_PP_FOR_473(s, p, o, m) BOOST_PP_FOR_473_C(BOOST_PP_BOOL(p(474, s)), s, p, o, m) -# define BOOST_PP_FOR_474(s, p, o, m) BOOST_PP_FOR_474_C(BOOST_PP_BOOL(p(475, s)), s, p, o, m) -# define BOOST_PP_FOR_475(s, p, o, m) BOOST_PP_FOR_475_C(BOOST_PP_BOOL(p(476, s)), s, p, o, m) -# define BOOST_PP_FOR_476(s, p, o, m) BOOST_PP_FOR_476_C(BOOST_PP_BOOL(p(477, s)), s, p, o, m) -# define BOOST_PP_FOR_477(s, p, o, m) BOOST_PP_FOR_477_C(BOOST_PP_BOOL(p(478, s)), s, p, o, m) -# define BOOST_PP_FOR_478(s, p, o, m) BOOST_PP_FOR_478_C(BOOST_PP_BOOL(p(479, s)), s, p, o, m) -# define BOOST_PP_FOR_479(s, p, o, m) BOOST_PP_FOR_479_C(BOOST_PP_BOOL(p(480, s)), s, p, o, m) -# define BOOST_PP_FOR_480(s, p, o, m) BOOST_PP_FOR_480_C(BOOST_PP_BOOL(p(481, s)), s, p, o, m) -# define BOOST_PP_FOR_481(s, p, o, m) BOOST_PP_FOR_481_C(BOOST_PP_BOOL(p(482, s)), s, p, o, m) -# define BOOST_PP_FOR_482(s, p, o, m) BOOST_PP_FOR_482_C(BOOST_PP_BOOL(p(483, s)), s, p, o, m) -# define BOOST_PP_FOR_483(s, p, o, m) BOOST_PP_FOR_483_C(BOOST_PP_BOOL(p(484, s)), s, p, o, m) -# define BOOST_PP_FOR_484(s, p, o, m) BOOST_PP_FOR_484_C(BOOST_PP_BOOL(p(485, s)), s, p, o, m) -# define BOOST_PP_FOR_485(s, p, o, m) BOOST_PP_FOR_485_C(BOOST_PP_BOOL(p(486, s)), s, p, o, m) -# define BOOST_PP_FOR_486(s, p, o, m) BOOST_PP_FOR_486_C(BOOST_PP_BOOL(p(487, s)), s, p, o, m) -# define BOOST_PP_FOR_487(s, p, o, m) BOOST_PP_FOR_487_C(BOOST_PP_BOOL(p(488, s)), s, p, o, m) -# define BOOST_PP_FOR_488(s, p, o, m) BOOST_PP_FOR_488_C(BOOST_PP_BOOL(p(489, s)), s, p, o, m) -# define BOOST_PP_FOR_489(s, p, o, m) BOOST_PP_FOR_489_C(BOOST_PP_BOOL(p(490, s)), s, p, o, m) -# define BOOST_PP_FOR_490(s, p, o, m) BOOST_PP_FOR_490_C(BOOST_PP_BOOL(p(491, s)), s, p, o, m) -# define BOOST_PP_FOR_491(s, p, o, m) BOOST_PP_FOR_491_C(BOOST_PP_BOOL(p(492, s)), s, p, o, m) -# define BOOST_PP_FOR_492(s, p, o, m) BOOST_PP_FOR_492_C(BOOST_PP_BOOL(p(493, s)), s, p, o, m) -# define BOOST_PP_FOR_493(s, p, o, m) BOOST_PP_FOR_493_C(BOOST_PP_BOOL(p(494, s)), s, p, o, m) -# define BOOST_PP_FOR_494(s, p, o, m) BOOST_PP_FOR_494_C(BOOST_PP_BOOL(p(495, s)), s, p, o, m) -# define BOOST_PP_FOR_495(s, p, o, m) BOOST_PP_FOR_495_C(BOOST_PP_BOOL(p(496, s)), s, p, o, m) -# define BOOST_PP_FOR_496(s, p, o, m) BOOST_PP_FOR_496_C(BOOST_PP_BOOL(p(497, s)), s, p, o, m) -# define BOOST_PP_FOR_497(s, p, o, m) BOOST_PP_FOR_497_C(BOOST_PP_BOOL(p(498, s)), s, p, o, m) -# define BOOST_PP_FOR_498(s, p, o, m) BOOST_PP_FOR_498_C(BOOST_PP_BOOL(p(499, s)), s, p, o, m) -# define BOOST_PP_FOR_499(s, p, o, m) BOOST_PP_FOR_499_C(BOOST_PP_BOOL(p(500, s)), s, p, o, m) -# define BOOST_PP_FOR_500(s, p, o, m) BOOST_PP_FOR_500_C(BOOST_PP_BOOL(p(501, s)), s, p, o, m) -# define BOOST_PP_FOR_501(s, p, o, m) BOOST_PP_FOR_501_C(BOOST_PP_BOOL(p(502, s)), s, p, o, m) -# define BOOST_PP_FOR_502(s, p, o, m) BOOST_PP_FOR_502_C(BOOST_PP_BOOL(p(503, s)), s, p, o, m) -# define BOOST_PP_FOR_503(s, p, o, m) BOOST_PP_FOR_503_C(BOOST_PP_BOOL(p(504, s)), s, p, o, m) -# define BOOST_PP_FOR_504(s, p, o, m) BOOST_PP_FOR_504_C(BOOST_PP_BOOL(p(505, s)), s, p, o, m) -# define BOOST_PP_FOR_505(s, p, o, m) BOOST_PP_FOR_505_C(BOOST_PP_BOOL(p(506, s)), s, p, o, m) -# define BOOST_PP_FOR_506(s, p, o, m) BOOST_PP_FOR_506_C(BOOST_PP_BOOL(p(507, s)), s, p, o, m) -# define BOOST_PP_FOR_507(s, p, o, m) BOOST_PP_FOR_507_C(BOOST_PP_BOOL(p(508, s)), s, p, o, m) -# define BOOST_PP_FOR_508(s, p, o, m) BOOST_PP_FOR_508_C(BOOST_PP_BOOL(p(509, s)), s, p, o, m) -# define BOOST_PP_FOR_509(s, p, o, m) BOOST_PP_FOR_509_C(BOOST_PP_BOOL(p(510, s)), s, p, o, m) -# define BOOST_PP_FOR_510(s, p, o, m) BOOST_PP_FOR_510_C(BOOST_PP_BOOL(p(511, s)), s, p, o, m) -# define BOOST_PP_FOR_511(s, p, o, m) BOOST_PP_FOR_511_C(BOOST_PP_BOOL(p(512, s)), s, p, o, m) -# define BOOST_PP_FOR_512(s, p, o, m) BOOST_PP_FOR_512_C(BOOST_PP_BOOL(p(513, s)), s, p, o, m) -# -# define BOOST_PP_FOR_257_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(258, s) BOOST_PP_IIF(c, BOOST_PP_FOR_258, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(258, s), p, o, m) -# define BOOST_PP_FOR_258_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(259, s) BOOST_PP_IIF(c, BOOST_PP_FOR_259, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(259, s), p, o, m) -# define BOOST_PP_FOR_259_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(260, s) BOOST_PP_IIF(c, BOOST_PP_FOR_260, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(260, s), p, o, m) -# define BOOST_PP_FOR_260_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(261, s) BOOST_PP_IIF(c, BOOST_PP_FOR_261, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(261, s), p, o, m) -# define BOOST_PP_FOR_261_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(262, s) BOOST_PP_IIF(c, BOOST_PP_FOR_262, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(262, s), p, o, m) -# define BOOST_PP_FOR_262_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(263, s) BOOST_PP_IIF(c, BOOST_PP_FOR_263, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(263, s), p, o, m) -# define BOOST_PP_FOR_263_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(264, s) BOOST_PP_IIF(c, BOOST_PP_FOR_264, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(264, s), p, o, m) -# define BOOST_PP_FOR_264_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(265, s) BOOST_PP_IIF(c, BOOST_PP_FOR_265, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(265, s), p, o, m) -# define BOOST_PP_FOR_265_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(266, s) BOOST_PP_IIF(c, BOOST_PP_FOR_266, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(266, s), p, o, m) -# define BOOST_PP_FOR_266_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(267, s) BOOST_PP_IIF(c, BOOST_PP_FOR_267, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(267, s), p, o, m) -# define BOOST_PP_FOR_267_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(268, s) BOOST_PP_IIF(c, BOOST_PP_FOR_268, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(268, s), p, o, m) -# define BOOST_PP_FOR_268_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(269, s) BOOST_PP_IIF(c, BOOST_PP_FOR_269, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(269, s), p, o, m) -# define BOOST_PP_FOR_269_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(270, s) BOOST_PP_IIF(c, BOOST_PP_FOR_270, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(270, s), p, o, m) -# define BOOST_PP_FOR_270_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(271, s) BOOST_PP_IIF(c, BOOST_PP_FOR_271, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(271, s), p, o, m) -# define BOOST_PP_FOR_271_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(272, s) BOOST_PP_IIF(c, BOOST_PP_FOR_272, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(272, s), p, o, m) -# define BOOST_PP_FOR_272_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(273, s) BOOST_PP_IIF(c, BOOST_PP_FOR_273, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(273, s), p, o, m) -# define BOOST_PP_FOR_273_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(274, s) BOOST_PP_IIF(c, BOOST_PP_FOR_274, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(274, s), p, o, m) -# define BOOST_PP_FOR_274_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(275, s) BOOST_PP_IIF(c, BOOST_PP_FOR_275, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(275, s), p, o, m) -# define BOOST_PP_FOR_275_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(276, s) BOOST_PP_IIF(c, BOOST_PP_FOR_276, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(276, s), p, o, m) -# define BOOST_PP_FOR_276_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(277, s) BOOST_PP_IIF(c, BOOST_PP_FOR_277, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(277, s), p, o, m) -# define BOOST_PP_FOR_277_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(278, s) BOOST_PP_IIF(c, BOOST_PP_FOR_278, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(278, s), p, o, m) -# define BOOST_PP_FOR_278_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(279, s) BOOST_PP_IIF(c, BOOST_PP_FOR_279, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(279, s), p, o, m) -# define BOOST_PP_FOR_279_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(280, s) BOOST_PP_IIF(c, BOOST_PP_FOR_280, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(280, s), p, o, m) -# define BOOST_PP_FOR_280_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(281, s) BOOST_PP_IIF(c, BOOST_PP_FOR_281, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(281, s), p, o, m) -# define BOOST_PP_FOR_281_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(282, s) BOOST_PP_IIF(c, BOOST_PP_FOR_282, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(282, s), p, o, m) -# define BOOST_PP_FOR_282_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(283, s) BOOST_PP_IIF(c, BOOST_PP_FOR_283, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(283, s), p, o, m) -# define BOOST_PP_FOR_283_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(284, s) BOOST_PP_IIF(c, BOOST_PP_FOR_284, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(284, s), p, o, m) -# define BOOST_PP_FOR_284_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(285, s) BOOST_PP_IIF(c, BOOST_PP_FOR_285, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(285, s), p, o, m) -# define BOOST_PP_FOR_285_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(286, s) BOOST_PP_IIF(c, BOOST_PP_FOR_286, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(286, s), p, o, m) -# define BOOST_PP_FOR_286_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(287, s) BOOST_PP_IIF(c, BOOST_PP_FOR_287, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(287, s), p, o, m) -# define BOOST_PP_FOR_287_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(288, s) BOOST_PP_IIF(c, BOOST_PP_FOR_288, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(288, s), p, o, m) -# define BOOST_PP_FOR_288_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(289, s) BOOST_PP_IIF(c, BOOST_PP_FOR_289, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(289, s), p, o, m) -# define BOOST_PP_FOR_289_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(290, s) BOOST_PP_IIF(c, BOOST_PP_FOR_290, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(290, s), p, o, m) -# define BOOST_PP_FOR_290_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(291, s) BOOST_PP_IIF(c, BOOST_PP_FOR_291, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(291, s), p, o, m) -# define BOOST_PP_FOR_291_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(292, s) BOOST_PP_IIF(c, BOOST_PP_FOR_292, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(292, s), p, o, m) -# define BOOST_PP_FOR_292_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(293, s) BOOST_PP_IIF(c, BOOST_PP_FOR_293, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(293, s), p, o, m) -# define BOOST_PP_FOR_293_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(294, s) BOOST_PP_IIF(c, BOOST_PP_FOR_294, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(294, s), p, o, m) -# define BOOST_PP_FOR_294_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(295, s) BOOST_PP_IIF(c, BOOST_PP_FOR_295, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(295, s), p, o, m) -# define BOOST_PP_FOR_295_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(296, s) BOOST_PP_IIF(c, BOOST_PP_FOR_296, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(296, s), p, o, m) -# define BOOST_PP_FOR_296_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(297, s) BOOST_PP_IIF(c, BOOST_PP_FOR_297, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(297, s), p, o, m) -# define BOOST_PP_FOR_297_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(298, s) BOOST_PP_IIF(c, BOOST_PP_FOR_298, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(298, s), p, o, m) -# define BOOST_PP_FOR_298_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(299, s) BOOST_PP_IIF(c, BOOST_PP_FOR_299, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(299, s), p, o, m) -# define BOOST_PP_FOR_299_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(300, s) BOOST_PP_IIF(c, BOOST_PP_FOR_300, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(300, s), p, o, m) -# define BOOST_PP_FOR_300_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(301, s) BOOST_PP_IIF(c, BOOST_PP_FOR_301, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(301, s), p, o, m) -# define BOOST_PP_FOR_301_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(302, s) BOOST_PP_IIF(c, BOOST_PP_FOR_302, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(302, s), p, o, m) -# define BOOST_PP_FOR_302_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(303, s) BOOST_PP_IIF(c, BOOST_PP_FOR_303, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(303, s), p, o, m) -# define BOOST_PP_FOR_303_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(304, s) BOOST_PP_IIF(c, BOOST_PP_FOR_304, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(304, s), p, o, m) -# define BOOST_PP_FOR_304_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(305, s) BOOST_PP_IIF(c, BOOST_PP_FOR_305, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(305, s), p, o, m) -# define BOOST_PP_FOR_305_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(306, s) BOOST_PP_IIF(c, BOOST_PP_FOR_306, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(306, s), p, o, m) -# define BOOST_PP_FOR_306_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(307, s) BOOST_PP_IIF(c, BOOST_PP_FOR_307, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(307, s), p, o, m) -# define BOOST_PP_FOR_307_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(308, s) BOOST_PP_IIF(c, BOOST_PP_FOR_308, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(308, s), p, o, m) -# define BOOST_PP_FOR_308_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(309, s) BOOST_PP_IIF(c, BOOST_PP_FOR_309, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(309, s), p, o, m) -# define BOOST_PP_FOR_309_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(310, s) BOOST_PP_IIF(c, BOOST_PP_FOR_310, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(310, s), p, o, m) -# define BOOST_PP_FOR_310_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(311, s) BOOST_PP_IIF(c, BOOST_PP_FOR_311, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(311, s), p, o, m) -# define BOOST_PP_FOR_311_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(312, s) BOOST_PP_IIF(c, BOOST_PP_FOR_312, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(312, s), p, o, m) -# define BOOST_PP_FOR_312_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(313, s) BOOST_PP_IIF(c, BOOST_PP_FOR_313, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(313, s), p, o, m) -# define BOOST_PP_FOR_313_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(314, s) BOOST_PP_IIF(c, BOOST_PP_FOR_314, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(314, s), p, o, m) -# define BOOST_PP_FOR_314_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(315, s) BOOST_PP_IIF(c, BOOST_PP_FOR_315, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(315, s), p, o, m) -# define BOOST_PP_FOR_315_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(316, s) BOOST_PP_IIF(c, BOOST_PP_FOR_316, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(316, s), p, o, m) -# define BOOST_PP_FOR_316_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(317, s) BOOST_PP_IIF(c, BOOST_PP_FOR_317, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(317, s), p, o, m) -# define BOOST_PP_FOR_317_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(318, s) BOOST_PP_IIF(c, BOOST_PP_FOR_318, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(318, s), p, o, m) -# define BOOST_PP_FOR_318_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(319, s) BOOST_PP_IIF(c, BOOST_PP_FOR_319, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(319, s), p, o, m) -# define BOOST_PP_FOR_319_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(320, s) BOOST_PP_IIF(c, BOOST_PP_FOR_320, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(320, s), p, o, m) -# define BOOST_PP_FOR_320_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(321, s) BOOST_PP_IIF(c, BOOST_PP_FOR_321, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(321, s), p, o, m) -# define BOOST_PP_FOR_321_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(322, s) BOOST_PP_IIF(c, BOOST_PP_FOR_322, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(322, s), p, o, m) -# define BOOST_PP_FOR_322_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(323, s) BOOST_PP_IIF(c, BOOST_PP_FOR_323, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(323, s), p, o, m) -# define BOOST_PP_FOR_323_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(324, s) BOOST_PP_IIF(c, BOOST_PP_FOR_324, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(324, s), p, o, m) -# define BOOST_PP_FOR_324_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(325, s) BOOST_PP_IIF(c, BOOST_PP_FOR_325, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(325, s), p, o, m) -# define BOOST_PP_FOR_325_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(326, s) BOOST_PP_IIF(c, BOOST_PP_FOR_326, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(326, s), p, o, m) -# define BOOST_PP_FOR_326_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(327, s) BOOST_PP_IIF(c, BOOST_PP_FOR_327, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(327, s), p, o, m) -# define BOOST_PP_FOR_327_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(328, s) BOOST_PP_IIF(c, BOOST_PP_FOR_328, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(328, s), p, o, m) -# define BOOST_PP_FOR_328_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(329, s) BOOST_PP_IIF(c, BOOST_PP_FOR_329, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(329, s), p, o, m) -# define BOOST_PP_FOR_329_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(330, s) BOOST_PP_IIF(c, BOOST_PP_FOR_330, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(330, s), p, o, m) -# define BOOST_PP_FOR_330_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(331, s) BOOST_PP_IIF(c, BOOST_PP_FOR_331, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(331, s), p, o, m) -# define BOOST_PP_FOR_331_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(332, s) BOOST_PP_IIF(c, BOOST_PP_FOR_332, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(332, s), p, o, m) -# define BOOST_PP_FOR_332_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(333, s) BOOST_PP_IIF(c, BOOST_PP_FOR_333, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(333, s), p, o, m) -# define BOOST_PP_FOR_333_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(334, s) BOOST_PP_IIF(c, BOOST_PP_FOR_334, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(334, s), p, o, m) -# define BOOST_PP_FOR_334_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(335, s) BOOST_PP_IIF(c, BOOST_PP_FOR_335, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(335, s), p, o, m) -# define BOOST_PP_FOR_335_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(336, s) BOOST_PP_IIF(c, BOOST_PP_FOR_336, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(336, s), p, o, m) -# define BOOST_PP_FOR_336_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(337, s) BOOST_PP_IIF(c, BOOST_PP_FOR_337, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(337, s), p, o, m) -# define BOOST_PP_FOR_337_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(338, s) BOOST_PP_IIF(c, BOOST_PP_FOR_338, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(338, s), p, o, m) -# define BOOST_PP_FOR_338_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(339, s) BOOST_PP_IIF(c, BOOST_PP_FOR_339, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(339, s), p, o, m) -# define BOOST_PP_FOR_339_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(340, s) BOOST_PP_IIF(c, BOOST_PP_FOR_340, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(340, s), p, o, m) -# define BOOST_PP_FOR_340_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(341, s) BOOST_PP_IIF(c, BOOST_PP_FOR_341, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(341, s), p, o, m) -# define BOOST_PP_FOR_341_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(342, s) BOOST_PP_IIF(c, BOOST_PP_FOR_342, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(342, s), p, o, m) -# define BOOST_PP_FOR_342_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(343, s) BOOST_PP_IIF(c, BOOST_PP_FOR_343, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(343, s), p, o, m) -# define BOOST_PP_FOR_343_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(344, s) BOOST_PP_IIF(c, BOOST_PP_FOR_344, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(344, s), p, o, m) -# define BOOST_PP_FOR_344_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(345, s) BOOST_PP_IIF(c, BOOST_PP_FOR_345, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(345, s), p, o, m) -# define BOOST_PP_FOR_345_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(346, s) BOOST_PP_IIF(c, BOOST_PP_FOR_346, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(346, s), p, o, m) -# define BOOST_PP_FOR_346_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(347, s) BOOST_PP_IIF(c, BOOST_PP_FOR_347, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(347, s), p, o, m) -# define BOOST_PP_FOR_347_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(348, s) BOOST_PP_IIF(c, BOOST_PP_FOR_348, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(348, s), p, o, m) -# define BOOST_PP_FOR_348_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(349, s) BOOST_PP_IIF(c, BOOST_PP_FOR_349, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(349, s), p, o, m) -# define BOOST_PP_FOR_349_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(350, s) BOOST_PP_IIF(c, BOOST_PP_FOR_350, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(350, s), p, o, m) -# define BOOST_PP_FOR_350_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(351, s) BOOST_PP_IIF(c, BOOST_PP_FOR_351, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(351, s), p, o, m) -# define BOOST_PP_FOR_351_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(352, s) BOOST_PP_IIF(c, BOOST_PP_FOR_352, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(352, s), p, o, m) -# define BOOST_PP_FOR_352_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(353, s) BOOST_PP_IIF(c, BOOST_PP_FOR_353, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(353, s), p, o, m) -# define BOOST_PP_FOR_353_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(354, s) BOOST_PP_IIF(c, BOOST_PP_FOR_354, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(354, s), p, o, m) -# define BOOST_PP_FOR_354_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(355, s) BOOST_PP_IIF(c, BOOST_PP_FOR_355, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(355, s), p, o, m) -# define BOOST_PP_FOR_355_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(356, s) BOOST_PP_IIF(c, BOOST_PP_FOR_356, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(356, s), p, o, m) -# define BOOST_PP_FOR_356_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(357, s) BOOST_PP_IIF(c, BOOST_PP_FOR_357, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(357, s), p, o, m) -# define BOOST_PP_FOR_357_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(358, s) BOOST_PP_IIF(c, BOOST_PP_FOR_358, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(358, s), p, o, m) -# define BOOST_PP_FOR_358_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(359, s) BOOST_PP_IIF(c, BOOST_PP_FOR_359, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(359, s), p, o, m) -# define BOOST_PP_FOR_359_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(360, s) BOOST_PP_IIF(c, BOOST_PP_FOR_360, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(360, s), p, o, m) -# define BOOST_PP_FOR_360_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(361, s) BOOST_PP_IIF(c, BOOST_PP_FOR_361, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(361, s), p, o, m) -# define BOOST_PP_FOR_361_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(362, s) BOOST_PP_IIF(c, BOOST_PP_FOR_362, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(362, s), p, o, m) -# define BOOST_PP_FOR_362_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(363, s) BOOST_PP_IIF(c, BOOST_PP_FOR_363, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(363, s), p, o, m) -# define BOOST_PP_FOR_363_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(364, s) BOOST_PP_IIF(c, BOOST_PP_FOR_364, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(364, s), p, o, m) -# define BOOST_PP_FOR_364_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(365, s) BOOST_PP_IIF(c, BOOST_PP_FOR_365, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(365, s), p, o, m) -# define BOOST_PP_FOR_365_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(366, s) BOOST_PP_IIF(c, BOOST_PP_FOR_366, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(366, s), p, o, m) -# define BOOST_PP_FOR_366_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(367, s) BOOST_PP_IIF(c, BOOST_PP_FOR_367, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(367, s), p, o, m) -# define BOOST_PP_FOR_367_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(368, s) BOOST_PP_IIF(c, BOOST_PP_FOR_368, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(368, s), p, o, m) -# define BOOST_PP_FOR_368_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(369, s) BOOST_PP_IIF(c, BOOST_PP_FOR_369, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(369, s), p, o, m) -# define BOOST_PP_FOR_369_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(370, s) BOOST_PP_IIF(c, BOOST_PP_FOR_370, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(370, s), p, o, m) -# define BOOST_PP_FOR_370_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(371, s) BOOST_PP_IIF(c, BOOST_PP_FOR_371, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(371, s), p, o, m) -# define BOOST_PP_FOR_371_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(372, s) BOOST_PP_IIF(c, BOOST_PP_FOR_372, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(372, s), p, o, m) -# define BOOST_PP_FOR_372_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(373, s) BOOST_PP_IIF(c, BOOST_PP_FOR_373, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(373, s), p, o, m) -# define BOOST_PP_FOR_373_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(374, s) BOOST_PP_IIF(c, BOOST_PP_FOR_374, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(374, s), p, o, m) -# define BOOST_PP_FOR_374_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(375, s) BOOST_PP_IIF(c, BOOST_PP_FOR_375, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(375, s), p, o, m) -# define BOOST_PP_FOR_375_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(376, s) BOOST_PP_IIF(c, BOOST_PP_FOR_376, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(376, s), p, o, m) -# define BOOST_PP_FOR_376_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(377, s) BOOST_PP_IIF(c, BOOST_PP_FOR_377, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(377, s), p, o, m) -# define BOOST_PP_FOR_377_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(378, s) BOOST_PP_IIF(c, BOOST_PP_FOR_378, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(378, s), p, o, m) -# define BOOST_PP_FOR_378_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(379, s) BOOST_PP_IIF(c, BOOST_PP_FOR_379, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(379, s), p, o, m) -# define BOOST_PP_FOR_379_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(380, s) BOOST_PP_IIF(c, BOOST_PP_FOR_380, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(380, s), p, o, m) -# define BOOST_PP_FOR_380_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(381, s) BOOST_PP_IIF(c, BOOST_PP_FOR_381, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(381, s), p, o, m) -# define BOOST_PP_FOR_381_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(382, s) BOOST_PP_IIF(c, BOOST_PP_FOR_382, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(382, s), p, o, m) -# define BOOST_PP_FOR_382_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(383, s) BOOST_PP_IIF(c, BOOST_PP_FOR_383, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(383, s), p, o, m) -# define BOOST_PP_FOR_383_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(384, s) BOOST_PP_IIF(c, BOOST_PP_FOR_384, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(384, s), p, o, m) -# define BOOST_PP_FOR_384_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(385, s) BOOST_PP_IIF(c, BOOST_PP_FOR_385, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(385, s), p, o, m) -# define BOOST_PP_FOR_385_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(386, s) BOOST_PP_IIF(c, BOOST_PP_FOR_386, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(386, s), p, o, m) -# define BOOST_PP_FOR_386_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(387, s) BOOST_PP_IIF(c, BOOST_PP_FOR_387, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(387, s), p, o, m) -# define BOOST_PP_FOR_387_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(388, s) BOOST_PP_IIF(c, BOOST_PP_FOR_388, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(388, s), p, o, m) -# define BOOST_PP_FOR_388_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(389, s) BOOST_PP_IIF(c, BOOST_PP_FOR_389, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(389, s), p, o, m) -# define BOOST_PP_FOR_389_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(390, s) BOOST_PP_IIF(c, BOOST_PP_FOR_390, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(390, s), p, o, m) -# define BOOST_PP_FOR_390_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(391, s) BOOST_PP_IIF(c, BOOST_PP_FOR_391, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(391, s), p, o, m) -# define BOOST_PP_FOR_391_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(392, s) BOOST_PP_IIF(c, BOOST_PP_FOR_392, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(392, s), p, o, m) -# define BOOST_PP_FOR_392_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(393, s) BOOST_PP_IIF(c, BOOST_PP_FOR_393, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(393, s), p, o, m) -# define BOOST_PP_FOR_393_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(394, s) BOOST_PP_IIF(c, BOOST_PP_FOR_394, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(394, s), p, o, m) -# define BOOST_PP_FOR_394_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(395, s) BOOST_PP_IIF(c, BOOST_PP_FOR_395, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(395, s), p, o, m) -# define BOOST_PP_FOR_395_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(396, s) BOOST_PP_IIF(c, BOOST_PP_FOR_396, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(396, s), p, o, m) -# define BOOST_PP_FOR_396_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(397, s) BOOST_PP_IIF(c, BOOST_PP_FOR_397, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(397, s), p, o, m) -# define BOOST_PP_FOR_397_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(398, s) BOOST_PP_IIF(c, BOOST_PP_FOR_398, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(398, s), p, o, m) -# define BOOST_PP_FOR_398_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(399, s) BOOST_PP_IIF(c, BOOST_PP_FOR_399, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(399, s), p, o, m) -# define BOOST_PP_FOR_399_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(400, s) BOOST_PP_IIF(c, BOOST_PP_FOR_400, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(400, s), p, o, m) -# define BOOST_PP_FOR_400_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(401, s) BOOST_PP_IIF(c, BOOST_PP_FOR_401, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(401, s), p, o, m) -# define BOOST_PP_FOR_401_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(402, s) BOOST_PP_IIF(c, BOOST_PP_FOR_402, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(402, s), p, o, m) -# define BOOST_PP_FOR_402_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(403, s) BOOST_PP_IIF(c, BOOST_PP_FOR_403, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(403, s), p, o, m) -# define BOOST_PP_FOR_403_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(404, s) BOOST_PP_IIF(c, BOOST_PP_FOR_404, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(404, s), p, o, m) -# define BOOST_PP_FOR_404_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(405, s) BOOST_PP_IIF(c, BOOST_PP_FOR_405, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(405, s), p, o, m) -# define BOOST_PP_FOR_405_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(406, s) BOOST_PP_IIF(c, BOOST_PP_FOR_406, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(406, s), p, o, m) -# define BOOST_PP_FOR_406_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(407, s) BOOST_PP_IIF(c, BOOST_PP_FOR_407, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(407, s), p, o, m) -# define BOOST_PP_FOR_407_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(408, s) BOOST_PP_IIF(c, BOOST_PP_FOR_408, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(408, s), p, o, m) -# define BOOST_PP_FOR_408_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(409, s) BOOST_PP_IIF(c, BOOST_PP_FOR_409, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(409, s), p, o, m) -# define BOOST_PP_FOR_409_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(410, s) BOOST_PP_IIF(c, BOOST_PP_FOR_410, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(410, s), p, o, m) -# define BOOST_PP_FOR_410_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(411, s) BOOST_PP_IIF(c, BOOST_PP_FOR_411, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(411, s), p, o, m) -# define BOOST_PP_FOR_411_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(412, s) BOOST_PP_IIF(c, BOOST_PP_FOR_412, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(412, s), p, o, m) -# define BOOST_PP_FOR_412_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(413, s) BOOST_PP_IIF(c, BOOST_PP_FOR_413, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(413, s), p, o, m) -# define BOOST_PP_FOR_413_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(414, s) BOOST_PP_IIF(c, BOOST_PP_FOR_414, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(414, s), p, o, m) -# define BOOST_PP_FOR_414_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(415, s) BOOST_PP_IIF(c, BOOST_PP_FOR_415, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(415, s), p, o, m) -# define BOOST_PP_FOR_415_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(416, s) BOOST_PP_IIF(c, BOOST_PP_FOR_416, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(416, s), p, o, m) -# define BOOST_PP_FOR_416_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(417, s) BOOST_PP_IIF(c, BOOST_PP_FOR_417, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(417, s), p, o, m) -# define BOOST_PP_FOR_417_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(418, s) BOOST_PP_IIF(c, BOOST_PP_FOR_418, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(418, s), p, o, m) -# define BOOST_PP_FOR_418_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(419, s) BOOST_PP_IIF(c, BOOST_PP_FOR_419, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(419, s), p, o, m) -# define BOOST_PP_FOR_419_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(420, s) BOOST_PP_IIF(c, BOOST_PP_FOR_420, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(420, s), p, o, m) -# define BOOST_PP_FOR_420_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(421, s) BOOST_PP_IIF(c, BOOST_PP_FOR_421, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(421, s), p, o, m) -# define BOOST_PP_FOR_421_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(422, s) BOOST_PP_IIF(c, BOOST_PP_FOR_422, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(422, s), p, o, m) -# define BOOST_PP_FOR_422_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(423, s) BOOST_PP_IIF(c, BOOST_PP_FOR_423, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(423, s), p, o, m) -# define BOOST_PP_FOR_423_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(424, s) BOOST_PP_IIF(c, BOOST_PP_FOR_424, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(424, s), p, o, m) -# define BOOST_PP_FOR_424_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(425, s) BOOST_PP_IIF(c, BOOST_PP_FOR_425, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(425, s), p, o, m) -# define BOOST_PP_FOR_425_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(426, s) BOOST_PP_IIF(c, BOOST_PP_FOR_426, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(426, s), p, o, m) -# define BOOST_PP_FOR_426_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(427, s) BOOST_PP_IIF(c, BOOST_PP_FOR_427, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(427, s), p, o, m) -# define BOOST_PP_FOR_427_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(428, s) BOOST_PP_IIF(c, BOOST_PP_FOR_428, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(428, s), p, o, m) -# define BOOST_PP_FOR_428_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(429, s) BOOST_PP_IIF(c, BOOST_PP_FOR_429, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(429, s), p, o, m) -# define BOOST_PP_FOR_429_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(430, s) BOOST_PP_IIF(c, BOOST_PP_FOR_430, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(430, s), p, o, m) -# define BOOST_PP_FOR_430_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(431, s) BOOST_PP_IIF(c, BOOST_PP_FOR_431, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(431, s), p, o, m) -# define BOOST_PP_FOR_431_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(432, s) BOOST_PP_IIF(c, BOOST_PP_FOR_432, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(432, s), p, o, m) -# define BOOST_PP_FOR_432_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(433, s) BOOST_PP_IIF(c, BOOST_PP_FOR_433, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(433, s), p, o, m) -# define BOOST_PP_FOR_433_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(434, s) BOOST_PP_IIF(c, BOOST_PP_FOR_434, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(434, s), p, o, m) -# define BOOST_PP_FOR_434_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(435, s) BOOST_PP_IIF(c, BOOST_PP_FOR_435, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(435, s), p, o, m) -# define BOOST_PP_FOR_435_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(436, s) BOOST_PP_IIF(c, BOOST_PP_FOR_436, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(436, s), p, o, m) -# define BOOST_PP_FOR_436_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(437, s) BOOST_PP_IIF(c, BOOST_PP_FOR_437, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(437, s), p, o, m) -# define BOOST_PP_FOR_437_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(438, s) BOOST_PP_IIF(c, BOOST_PP_FOR_438, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(438, s), p, o, m) -# define BOOST_PP_FOR_438_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(439, s) BOOST_PP_IIF(c, BOOST_PP_FOR_439, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(439, s), p, o, m) -# define BOOST_PP_FOR_439_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(440, s) BOOST_PP_IIF(c, BOOST_PP_FOR_440, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(440, s), p, o, m) -# define BOOST_PP_FOR_440_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(441, s) BOOST_PP_IIF(c, BOOST_PP_FOR_441, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(441, s), p, o, m) -# define BOOST_PP_FOR_441_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(442, s) BOOST_PP_IIF(c, BOOST_PP_FOR_442, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(442, s), p, o, m) -# define BOOST_PP_FOR_442_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(443, s) BOOST_PP_IIF(c, BOOST_PP_FOR_443, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(443, s), p, o, m) -# define BOOST_PP_FOR_443_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(444, s) BOOST_PP_IIF(c, BOOST_PP_FOR_444, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(444, s), p, o, m) -# define BOOST_PP_FOR_444_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(445, s) BOOST_PP_IIF(c, BOOST_PP_FOR_445, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(445, s), p, o, m) -# define BOOST_PP_FOR_445_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(446, s) BOOST_PP_IIF(c, BOOST_PP_FOR_446, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(446, s), p, o, m) -# define BOOST_PP_FOR_446_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(447, s) BOOST_PP_IIF(c, BOOST_PP_FOR_447, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(447, s), p, o, m) -# define BOOST_PP_FOR_447_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(448, s) BOOST_PP_IIF(c, BOOST_PP_FOR_448, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(448, s), p, o, m) -# define BOOST_PP_FOR_448_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(449, s) BOOST_PP_IIF(c, BOOST_PP_FOR_449, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(449, s), p, o, m) -# define BOOST_PP_FOR_449_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(450, s) BOOST_PP_IIF(c, BOOST_PP_FOR_450, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(450, s), p, o, m) -# define BOOST_PP_FOR_450_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(451, s) BOOST_PP_IIF(c, BOOST_PP_FOR_451, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(451, s), p, o, m) -# define BOOST_PP_FOR_451_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(452, s) BOOST_PP_IIF(c, BOOST_PP_FOR_452, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(452, s), p, o, m) -# define BOOST_PP_FOR_452_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(453, s) BOOST_PP_IIF(c, BOOST_PP_FOR_453, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(453, s), p, o, m) -# define BOOST_PP_FOR_453_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(454, s) BOOST_PP_IIF(c, BOOST_PP_FOR_454, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(454, s), p, o, m) -# define BOOST_PP_FOR_454_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(455, s) BOOST_PP_IIF(c, BOOST_PP_FOR_455, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(455, s), p, o, m) -# define BOOST_PP_FOR_455_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(456, s) BOOST_PP_IIF(c, BOOST_PP_FOR_456, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(456, s), p, o, m) -# define BOOST_PP_FOR_456_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(457, s) BOOST_PP_IIF(c, BOOST_PP_FOR_457, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(457, s), p, o, m) -# define BOOST_PP_FOR_457_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(458, s) BOOST_PP_IIF(c, BOOST_PP_FOR_458, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(458, s), p, o, m) -# define BOOST_PP_FOR_458_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(459, s) BOOST_PP_IIF(c, BOOST_PP_FOR_459, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(459, s), p, o, m) -# define BOOST_PP_FOR_459_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(460, s) BOOST_PP_IIF(c, BOOST_PP_FOR_460, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(460, s), p, o, m) -# define BOOST_PP_FOR_460_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(461, s) BOOST_PP_IIF(c, BOOST_PP_FOR_461, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(461, s), p, o, m) -# define BOOST_PP_FOR_461_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(462, s) BOOST_PP_IIF(c, BOOST_PP_FOR_462, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(462, s), p, o, m) -# define BOOST_PP_FOR_462_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(463, s) BOOST_PP_IIF(c, BOOST_PP_FOR_463, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(463, s), p, o, m) -# define BOOST_PP_FOR_463_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(464, s) BOOST_PP_IIF(c, BOOST_PP_FOR_464, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(464, s), p, o, m) -# define BOOST_PP_FOR_464_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(465, s) BOOST_PP_IIF(c, BOOST_PP_FOR_465, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(465, s), p, o, m) -# define BOOST_PP_FOR_465_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(466, s) BOOST_PP_IIF(c, BOOST_PP_FOR_466, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(466, s), p, o, m) -# define BOOST_PP_FOR_466_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(467, s) BOOST_PP_IIF(c, BOOST_PP_FOR_467, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(467, s), p, o, m) -# define BOOST_PP_FOR_467_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(468, s) BOOST_PP_IIF(c, BOOST_PP_FOR_468, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(468, s), p, o, m) -# define BOOST_PP_FOR_468_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(469, s) BOOST_PP_IIF(c, BOOST_PP_FOR_469, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(469, s), p, o, m) -# define BOOST_PP_FOR_469_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(470, s) BOOST_PP_IIF(c, BOOST_PP_FOR_470, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(470, s), p, o, m) -# define BOOST_PP_FOR_470_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(471, s) BOOST_PP_IIF(c, BOOST_PP_FOR_471, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(471, s), p, o, m) -# define BOOST_PP_FOR_471_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(472, s) BOOST_PP_IIF(c, BOOST_PP_FOR_472, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(472, s), p, o, m) -# define BOOST_PP_FOR_472_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(473, s) BOOST_PP_IIF(c, BOOST_PP_FOR_473, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(473, s), p, o, m) -# define BOOST_PP_FOR_473_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(474, s) BOOST_PP_IIF(c, BOOST_PP_FOR_474, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(474, s), p, o, m) -# define BOOST_PP_FOR_474_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(475, s) BOOST_PP_IIF(c, BOOST_PP_FOR_475, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(475, s), p, o, m) -# define BOOST_PP_FOR_475_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(476, s) BOOST_PP_IIF(c, BOOST_PP_FOR_476, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(476, s), p, o, m) -# define BOOST_PP_FOR_476_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(477, s) BOOST_PP_IIF(c, BOOST_PP_FOR_477, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(477, s), p, o, m) -# define BOOST_PP_FOR_477_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(478, s) BOOST_PP_IIF(c, BOOST_PP_FOR_478, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(478, s), p, o, m) -# define BOOST_PP_FOR_478_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(479, s) BOOST_PP_IIF(c, BOOST_PP_FOR_479, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(479, s), p, o, m) -# define BOOST_PP_FOR_479_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(480, s) BOOST_PP_IIF(c, BOOST_PP_FOR_480, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(480, s), p, o, m) -# define BOOST_PP_FOR_480_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(481, s) BOOST_PP_IIF(c, BOOST_PP_FOR_481, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(481, s), p, o, m) -# define BOOST_PP_FOR_481_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(482, s) BOOST_PP_IIF(c, BOOST_PP_FOR_482, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(482, s), p, o, m) -# define BOOST_PP_FOR_482_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(483, s) BOOST_PP_IIF(c, BOOST_PP_FOR_483, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(483, s), p, o, m) -# define BOOST_PP_FOR_483_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(484, s) BOOST_PP_IIF(c, BOOST_PP_FOR_484, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(484, s), p, o, m) -# define BOOST_PP_FOR_484_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(485, s) BOOST_PP_IIF(c, BOOST_PP_FOR_485, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(485, s), p, o, m) -# define BOOST_PP_FOR_485_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(486, s) BOOST_PP_IIF(c, BOOST_PP_FOR_486, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(486, s), p, o, m) -# define BOOST_PP_FOR_486_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(487, s) BOOST_PP_IIF(c, BOOST_PP_FOR_487, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(487, s), p, o, m) -# define BOOST_PP_FOR_487_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(488, s) BOOST_PP_IIF(c, BOOST_PP_FOR_488, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(488, s), p, o, m) -# define BOOST_PP_FOR_488_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(489, s) BOOST_PP_IIF(c, BOOST_PP_FOR_489, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(489, s), p, o, m) -# define BOOST_PP_FOR_489_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(490, s) BOOST_PP_IIF(c, BOOST_PP_FOR_490, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(490, s), p, o, m) -# define BOOST_PP_FOR_490_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(491, s) BOOST_PP_IIF(c, BOOST_PP_FOR_491, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(491, s), p, o, m) -# define BOOST_PP_FOR_491_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(492, s) BOOST_PP_IIF(c, BOOST_PP_FOR_492, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(492, s), p, o, m) -# define BOOST_PP_FOR_492_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(493, s) BOOST_PP_IIF(c, BOOST_PP_FOR_493, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(493, s), p, o, m) -# define BOOST_PP_FOR_493_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(494, s) BOOST_PP_IIF(c, BOOST_PP_FOR_494, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(494, s), p, o, m) -# define BOOST_PP_FOR_494_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(495, s) BOOST_PP_IIF(c, BOOST_PP_FOR_495, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(495, s), p, o, m) -# define BOOST_PP_FOR_495_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(496, s) BOOST_PP_IIF(c, BOOST_PP_FOR_496, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(496, s), p, o, m) -# define BOOST_PP_FOR_496_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(497, s) BOOST_PP_IIF(c, BOOST_PP_FOR_497, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(497, s), p, o, m) -# define BOOST_PP_FOR_497_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(498, s) BOOST_PP_IIF(c, BOOST_PP_FOR_498, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(498, s), p, o, m) -# define BOOST_PP_FOR_498_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(499, s) BOOST_PP_IIF(c, BOOST_PP_FOR_499, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(499, s), p, o, m) -# define BOOST_PP_FOR_499_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(500, s) BOOST_PP_IIF(c, BOOST_PP_FOR_500, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(500, s), p, o, m) -# define BOOST_PP_FOR_500_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(501, s) BOOST_PP_IIF(c, BOOST_PP_FOR_501, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(501, s), p, o, m) -# define BOOST_PP_FOR_501_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(502, s) BOOST_PP_IIF(c, BOOST_PP_FOR_502, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(502, s), p, o, m) -# define BOOST_PP_FOR_502_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(503, s) BOOST_PP_IIF(c, BOOST_PP_FOR_503, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(503, s), p, o, m) -# define BOOST_PP_FOR_503_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(504, s) BOOST_PP_IIF(c, BOOST_PP_FOR_504, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(504, s), p, o, m) -# define BOOST_PP_FOR_504_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(505, s) BOOST_PP_IIF(c, BOOST_PP_FOR_505, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(505, s), p, o, m) -# define BOOST_PP_FOR_505_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(506, s) BOOST_PP_IIF(c, BOOST_PP_FOR_506, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(506, s), p, o, m) -# define BOOST_PP_FOR_506_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(507, s) BOOST_PP_IIF(c, BOOST_PP_FOR_507, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(507, s), p, o, m) -# define BOOST_PP_FOR_507_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(508, s) BOOST_PP_IIF(c, BOOST_PP_FOR_508, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(508, s), p, o, m) -# define BOOST_PP_FOR_508_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(509, s) BOOST_PP_IIF(c, BOOST_PP_FOR_509, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(509, s), p, o, m) -# define BOOST_PP_FOR_509_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(510, s) BOOST_PP_IIF(c, BOOST_PP_FOR_510, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(510, s), p, o, m) -# define BOOST_PP_FOR_510_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(511, s) BOOST_PP_IIF(c, BOOST_PP_FOR_511, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(511, s), p, o, m) -# define BOOST_PP_FOR_511_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(512, s) BOOST_PP_IIF(c, BOOST_PP_FOR_512, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(512, s), p, o, m) -# define BOOST_PP_FOR_512_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(513, s) BOOST_PP_IIF(c, BOOST_PP_FOR_513, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(513, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/detail/msvc/for.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/detail/msvc/for.hpp deleted file mode 100644 index a6f8086cc8..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/detail/msvc/for.hpp +++ /dev/null @@ -1,278 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP -# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP -# -# include -# include -# -# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) -# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) -# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) -# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) -# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) -# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) -# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) -# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) -# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) -# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) -# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) -# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) -# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) -# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) -# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) -# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) -# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) -# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) -# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) -# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) -# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) -# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) -# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) -# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) -# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) -# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) -# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) -# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) -# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) -# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) -# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) -# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) -# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) -# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) -# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) -# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) -# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) -# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) -# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) -# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) -# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) -# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) -# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) -# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) -# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) -# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) -# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) -# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) -# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) -# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) -# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) -# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) -# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) -# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) -# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) -# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) -# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) -# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) -# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) -# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) -# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) -# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) -# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) -# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) -# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) -# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) -# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) -# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) -# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) -# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) -# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) -# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) -# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) -# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) -# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) -# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) -# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) -# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) -# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) -# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) -# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) -# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) -# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) -# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) -# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) -# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) -# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) -# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) -# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) -# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) -# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) -# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) -# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) -# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) -# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) -# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) -# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) -# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) -# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) -# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) -# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) -# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) -# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) -# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) -# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) -# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) -# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) -# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) -# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) -# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) -# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) -# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) -# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) -# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) -# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) -# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) -# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) -# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) -# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) -# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) -# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) -# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) -# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) -# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) -# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) -# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) -# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) -# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) -# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) -# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) -# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) -# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) -# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) -# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) -# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) -# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) -# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) -# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) -# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) -# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) -# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) -# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) -# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) -# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) -# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) -# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) -# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) -# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) -# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) -# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) -# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) -# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) -# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) -# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) -# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) -# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) -# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) -# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) -# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) -# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) -# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) -# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) -# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) -# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) -# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) -# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) -# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) -# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) -# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) -# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) -# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) -# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) -# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) -# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) -# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) -# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) -# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) -# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) -# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) -# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) -# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) -# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) -# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) -# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) -# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) -# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) -# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) -# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) -# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) -# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) -# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) -# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) -# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) -# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) -# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) -# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) -# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) -# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) -# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) -# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) -# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) -# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) -# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) -# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) -# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) -# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) -# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) -# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) -# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) -# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) -# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) -# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) -# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) -# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) -# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) -# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) -# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) -# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) -# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) -# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) -# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) -# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) -# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) -# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) -# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) -# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) -# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) -# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) -# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) -# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) -# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) -# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) -# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) -# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) -# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) -# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) -# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) -# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) -# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) -# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) -# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) -# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) -# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) -# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) -# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) -# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) -# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) -# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) -# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) -# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) -# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) -# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) -# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) -# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) -# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) -# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/for.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/for.hpp deleted file mode 100644 index 7cf19703b2..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/for.hpp +++ /dev/null @@ -1,438 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP -# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# include -# -# /* BOOST_PP_FOR */ -# -# if 0 -# define BOOST_PP_FOR(state, pred, op, macro) -# endif -# -# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)) -# -# define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) -# -# define BOOST_PP_FOR_SR_P(r, s) s -# define BOOST_PP_FOR_SR_O(r, s) 0 -# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p##(257, s)) -# else -# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p(257, s)) -# endif - -# define BOOST_PP_FOR_257_ERROR() BOOST_PP_ERROR(0x0002) -# define BOOST_PP_FOR_257(s, p, o, m) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_FOR_257_PR(s,p), \ - BOOST_PP_FOR_257_ERROR, \ - BOOST_PP_EMPTY \ - ) \ - () \ -/**/ -// # define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002) -# -# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0 -# -# else -# -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_FOR */ -# -# if 0 -# define BOOST_PP_FOR(state, pred, op, macro) -# endif -# -# if BOOST_PP_LIMIT_FOR == 256 -# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))) -# elif BOOST_PP_LIMIT_FOR == 512 -# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 512))) -# elif BOOST_PP_LIMIT_FOR == 1024 -# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 1024))) -# else -# error Incorrect value for the BOOST_PP_LIMIT_FOR limit -# endif -# -# define BOOST_PP_FOR_P(n) BOOST_PP_FOR_P_DEC(BOOST_PP_DEC(n)) -# define BOOST_PP_FOR_P_DEC(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_CAT(BOOST_PP_FOR_ , n)(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) -# -# define BOOST_PP_FOR_SR_P(r, s) s -# define BOOST_PP_FOR_SR_O(r, s) 0 -# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# include -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# include -# else -# include -# endif -# -# if BOOST_PP_LIMIT_FOR == 256 -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p##(257, s)) -# else -# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p(257, s)) -# endif - -# define BOOST_PP_FOR_257_ERROR() BOOST_PP_ERROR(0x0002) -# define BOOST_PP_FOR_257(s, p, o, m) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_FOR_257_PR(s,p), \ - BOOST_PP_FOR_257_ERROR, \ - BOOST_PP_EMPTY \ - ) \ - () \ -/**/ -# -# elif BOOST_PP_LIMIT_FOR == 512 -# -# define BOOST_PP_FOR_513_PR(s, p) BOOST_PP_BOOL(p(513, s)) - -# define BOOST_PP_FOR_513_ERROR() BOOST_PP_ERROR(0x0002) -# define BOOST_PP_FOR_513(s, p, o, m) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_FOR_513_PR(s,p), \ - BOOST_PP_FOR_513_ERROR, \ - BOOST_PP_EMPTY \ - ) \ - () \ -/**/ -# -# elif BOOST_PP_LIMIT_FOR == 1024 -# -# define BOOST_PP_FOR_1025_PR(s, p) BOOST_PP_BOOL(p(1025, s)) - -# define BOOST_PP_FOR_1025_ERROR() BOOST_PP_ERROR(0x0002) -# define BOOST_PP_FOR_1025(s, p, o, m) \ - BOOST_PP_IIF \ - ( \ - BOOST_PP_FOR_1025_PR(s,p), \ - BOOST_PP_FOR_1025_ERROR, \ - BOOST_PP_EMPTY \ - ) \ - () \ -/**/ -# -# endif -# -# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1 -# -# if BOOST_PP_LIMIT_FOR == 256 -# include -# elif BOOST_PP_LIMIT_FOR == 512 -# include -# include -# elif BOOST_PP_LIMIT_FOR == 1024 -# include -# include -# include -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_1024.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_1024.hpp deleted file mode 100644 index 4e3f3100c5..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_1024.hpp +++ /dev/null @@ -1,531 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_1024_HPP -# define BOOST_PREPROCESSOR_REPETITION_FOR_1024_HPP -# -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_513(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_514(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_515(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_516(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_517(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_518(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_519(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_520(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_521(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_522(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_523(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_524(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_525(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_526(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_527(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_528(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_529(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_530(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_531(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_532(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_533(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_534(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_535(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_536(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_537(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_538(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_539(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_540(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_541(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_542(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_543(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_544(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_545(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_546(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_547(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_548(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_549(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_550(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_551(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_552(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_553(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_554(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_555(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_556(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_557(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_558(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_559(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_560(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_561(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_562(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_563(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_564(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_565(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_566(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_567(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_568(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_569(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_570(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_571(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_572(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_573(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_574(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_575(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_576(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_577(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_578(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_579(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_580(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_581(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_582(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_583(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_584(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_585(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_586(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_587(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_588(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_589(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_590(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_591(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_592(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_593(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_594(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_595(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_596(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_597(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_598(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_599(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_600(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_601(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_602(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_603(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_604(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_605(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_606(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_607(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_608(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_609(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_610(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_611(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_612(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_613(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_614(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_615(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_616(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_617(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_618(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_619(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_620(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_621(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_622(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_623(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_624(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_625(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_626(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_627(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_628(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_629(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_630(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_631(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_632(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_633(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_634(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_635(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_636(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_637(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_638(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_639(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_640(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_641(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_642(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_643(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_644(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_645(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_646(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_647(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_648(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_649(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_650(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_651(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_652(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_653(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_654(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_655(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_656(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_657(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_658(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_659(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_660(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_661(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_662(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_663(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_664(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_665(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_666(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_667(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_668(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_669(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_670(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_671(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_672(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_673(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_674(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_675(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_676(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_677(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_678(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_679(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_680(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_681(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_682(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_683(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_684(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_685(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_686(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_687(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_688(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_689(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_690(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_691(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_692(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_693(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_694(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_695(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_696(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_697(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_698(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_699(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_700(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_701(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_702(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_703(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_704(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_705(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_706(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_707(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_708(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_709(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_710(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_711(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_712(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_713(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_714(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_715(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_716(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_717(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_718(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_719(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_720(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_721(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_722(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_723(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_724(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_725(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_726(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_727(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_728(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_729(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_730(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_731(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_732(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_733(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_734(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_735(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_736(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_737(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_738(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_739(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_740(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_741(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_742(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_743(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_744(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_745(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_746(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_747(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_748(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_749(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_750(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_751(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_752(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_753(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_754(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_755(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_756(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_757(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_758(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_759(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_760(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_761(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_762(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_763(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_764(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_765(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_766(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_767(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_768(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_769(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_770(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_771(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_772(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_773(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_774(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_775(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_776(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_777(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_778(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_779(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_780(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_781(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_782(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_783(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_784(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_785(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_786(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_787(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_788(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_789(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_790(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_791(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_792(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_793(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_794(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_795(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_796(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_797(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_798(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_799(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_800(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_801(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_802(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_803(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_804(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_805(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_806(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_807(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_808(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_809(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_810(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_811(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_812(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_813(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_814(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_815(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_816(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_817(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_818(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_819(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_820(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_821(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_822(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_823(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_824(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_825(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_826(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_827(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_828(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_829(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_830(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_831(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_832(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_833(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_834(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_835(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_836(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_837(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_838(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_839(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_840(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_841(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_842(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_843(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_844(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_845(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_846(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_847(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_848(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_849(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_850(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_851(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_852(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_853(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_854(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_855(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_856(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_857(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_858(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_859(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_860(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_861(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_862(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_863(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_864(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_865(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_866(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_867(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_868(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_869(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_870(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_871(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_872(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_873(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_874(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_875(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_876(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_877(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_878(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_879(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_880(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_881(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_882(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_883(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_884(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_885(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_886(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_887(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_888(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_889(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_890(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_891(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_892(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_893(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_894(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_895(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_896(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_897(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_898(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_899(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_900(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_901(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_902(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_903(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_904(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_905(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_906(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_907(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_908(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_909(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_910(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_911(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_912(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_913(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_914(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_915(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_916(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_917(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_918(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_919(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_920(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_921(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_922(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_923(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_924(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_925(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_926(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_927(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_928(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_929(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_930(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_931(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_932(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_933(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_934(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_935(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_936(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_937(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_938(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_939(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_940(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_941(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_942(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_943(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_944(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_945(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_946(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_947(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_948(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_949(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_950(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_951(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_952(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_953(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_954(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_955(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_956(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_957(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_958(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_959(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_960(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_961(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_962(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_963(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_964(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_965(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_966(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_967(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_968(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_969(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_970(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_971(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_972(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_973(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_974(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_975(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_976(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_977(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_978(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_979(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_980(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_981(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_982(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_983(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_984(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_985(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_986(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_987(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_988(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_989(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_990(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_991(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_992(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_993(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_994(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_995(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_996(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_997(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_998(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_999(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1000(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1001(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1002(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1003(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1004(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1005(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1006(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1007(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1008(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1009(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1010(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1011(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1012(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1013(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1014(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1015(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1016(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1017(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1018(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1019(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1020(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1021(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1022(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1023(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1024(s, p, o, m) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_256.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_256.hpp deleted file mode 100644 index 53297728ee..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_256.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_256_HPP -# define BOOST_PREPROCESSOR_REPETITION_FOR_256_HPP -# -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_0(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_512.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_512.hpp deleted file mode 100644 index 4d7c5b707c..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/limits/for_512.hpp +++ /dev/null @@ -1,275 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_512_HPP -# define BOOST_PREPROCESSOR_REPETITION_FOR_512_HPP -# -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_257(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_258(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_259(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_260(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_261(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_262(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_263(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_264(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_265(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_266(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_267(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_268(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_269(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_270(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_271(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_272(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_273(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_274(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_275(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_276(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_277(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_278(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_279(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_280(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_281(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_282(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_283(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_284(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_285(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_286(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_287(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_288(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_289(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_290(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_291(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_292(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_293(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_294(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_295(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_296(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_297(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_298(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_299(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_300(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_301(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_302(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_303(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_304(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_305(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_306(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_307(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_308(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_309(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_310(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_311(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_312(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_313(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_314(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_315(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_316(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_317(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_318(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_319(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_320(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_321(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_322(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_323(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_324(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_325(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_326(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_327(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_328(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_329(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_330(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_331(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_332(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_333(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_334(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_335(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_336(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_337(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_338(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_339(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_340(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_341(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_342(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_343(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_344(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_345(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_346(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_347(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_348(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_349(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_350(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_351(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_352(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_353(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_354(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_355(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_356(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_357(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_358(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_359(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_360(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_361(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_362(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_363(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_364(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_365(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_366(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_367(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_368(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_369(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_370(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_371(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_372(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_373(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_374(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_375(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_376(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_377(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_378(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_379(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_380(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_381(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_382(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_383(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_384(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_385(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_386(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_387(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_388(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_389(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_390(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_391(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_392(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_393(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_394(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_395(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_396(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_397(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_398(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_399(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_400(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_401(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_402(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_403(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_404(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_405(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_406(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_407(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_408(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_409(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_410(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_411(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_412(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_413(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_414(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_415(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_416(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_417(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_418(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_419(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_420(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_421(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_422(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_423(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_424(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_425(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_426(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_427(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_428(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_429(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_430(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_431(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_432(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_433(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_434(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_435(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_436(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_437(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_438(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_439(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_440(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_441(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_442(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_443(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_444(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_445(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_446(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_447(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_448(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_449(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_450(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_451(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_452(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_453(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_454(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_455(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_456(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_457(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_458(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_459(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_460(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_461(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_462(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_463(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_464(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_465(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_466(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_467(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_468(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_469(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_470(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_471(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_472(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_473(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_474(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_475(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_476(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_477(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_478(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_479(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_480(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_481(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_482(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_483(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_484(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_485(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_486(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_487(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_488(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_489(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_490(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_491(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_492(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_493(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_494(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_495(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_496(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_497(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_498(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_499(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_500(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_501(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_502(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_503(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_504(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_505(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_506(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_507(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_508(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_509(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_510(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_511(s, p, o, m) 0 -# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_512(s, p, o, m) 0 -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/repeat.hpp b/external/include/boost_1_75/boost/preprocessor/repetition/repeat.hpp deleted file mode 100644 index f91a777a08..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/repetition/repeat.hpp +++ /dev/null @@ -1,847 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP -# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP -# -# include -# include -# include -# include -# include -# -# /* BOOST_PP_REPEAT */ -# -# if 0 -# define BOOST_PP_REPEAT(count, macro, data) -# endif -# -# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) -# -# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL)) -# -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1 -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0 -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0 -# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0 -# -# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d) -# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d) -# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d) -# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003) -# -# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d) -# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d) -# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d) -# -# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1 -# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2 -# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3 -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# define BOOST_PP_REPEAT_1_0(m, d) -# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d) -# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d) -# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d) -# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d) -# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) -# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) -# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d) -# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d) -# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d) -# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d) -# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d) -# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d) -# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d) -# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d) -# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d) -# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d) -# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d) -# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d) -# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d) -# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) -# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d) -# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d) -# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d) -# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d) -# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d) -# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d) -# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d) -# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d) -# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d) -# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d) -# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d) -# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d) -# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d) -# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d) -# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d) -# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d) -# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d) -# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d) -# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d) -# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d) -# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d) -# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d) -# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d) -# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d) -# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d) -# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d) -# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d) -# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d) -# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d) -# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d) -# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d) -# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d) -# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d) -# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d) -# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d) -# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d) -# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d) -# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d) -# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d) -# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d) -# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d) -# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d) -# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d) -# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d) -# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d) -# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d) -# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d) -# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d) -# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d) -# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d) -# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d) -# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d) -# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d) -# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d) -# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d) -# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d) -# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d) -# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d) -# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d) -# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d) -# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d) -# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d) -# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d) -# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d) -# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d) -# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d) -# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d) -# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d) -# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d) -# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d) -# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d) -# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d) -# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d) -# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d) -# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d) -# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d) -# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d) -# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d) -# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d) -# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d) -# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d) -# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d) -# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d) -# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d) -# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d) -# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d) -# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d) -# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d) -# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d) -# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d) -# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d) -# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d) -# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d) -# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d) -# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d) -# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d) -# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d) -# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d) -# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d) -# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d) -# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d) -# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d) -# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d) -# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d) -# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d) -# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d) -# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d) -# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d) -# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d) -# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d) -# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d) -# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d) -# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d) -# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d) -# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d) -# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d) -# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d) -# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d) -# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d) -# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d) -# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d) -# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d) -# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d) -# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d) -# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d) -# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d) -# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d) -# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d) -# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d) -# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d) -# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d) -# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d) -# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d) -# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d) -# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d) -# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d) -# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d) -# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d) -# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d) -# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d) -# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d) -# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d) -# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d) -# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d) -# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d) -# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d) -# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d) -# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d) -# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d) -# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d) -# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d) -# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d) -# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d) -# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d) -# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d) -# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d) -# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d) -# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d) -# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d) -# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d) -# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d) -# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d) -# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d) -# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d) -# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d) -# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d) -# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d) -# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d) -# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d) -# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d) -# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d) -# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d) -# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d) -# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d) -# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d) -# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d) -# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d) -# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d) -# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d) -# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d) -# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d) -# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d) -# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d) -# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d) -# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d) -# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d) -# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d) -# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d) -# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d) -# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d) -# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d) -# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d) -# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d) -# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d) -# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d) -# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d) -# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d) -# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d) -# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d) -# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d) -# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d) -# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d) -# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d) -# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d) -# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d) -# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d) -# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d) -# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d) -# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d) -# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d) -# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d) -# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d) -# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d) -# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d) -# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d) -# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d) -# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d) -# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d) -# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d) -# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d) -# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d) -# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d) -# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d) -# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d) -# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d) -# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d) -# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d) -# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d) -# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d) -# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d) -# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d) -# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d) -# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d) -# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d) -# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d) -# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d) -# -# define BOOST_PP_REPEAT_2_0(m, d) -# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d) -# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d) -# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d) -# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d) -# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d) -# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d) -# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d) -# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d) -# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d) -# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d) -# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d) -# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d) -# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d) -# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d) -# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d) -# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d) -# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d) -# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d) -# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d) -# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d) -# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d) -# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d) -# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d) -# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d) -# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d) -# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d) -# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d) -# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d) -# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d) -# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d) -# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d) -# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d) -# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d) -# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d) -# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d) -# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d) -# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d) -# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d) -# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d) -# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d) -# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d) -# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d) -# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d) -# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d) -# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d) -# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d) -# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d) -# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d) -# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d) -# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d) -# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d) -# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d) -# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d) -# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d) -# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d) -# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d) -# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d) -# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d) -# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d) -# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d) -# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d) -# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d) -# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d) -# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d) -# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d) -# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d) -# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d) -# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d) -# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d) -# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d) -# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d) -# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d) -# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d) -# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d) -# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d) -# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d) -# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d) -# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d) -# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d) -# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d) -# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d) -# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d) -# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d) -# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d) -# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d) -# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d) -# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d) -# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d) -# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d) -# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d) -# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d) -# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d) -# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d) -# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d) -# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d) -# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d) -# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d) -# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d) -# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d) -# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d) -# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d) -# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d) -# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d) -# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d) -# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d) -# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d) -# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d) -# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d) -# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d) -# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d) -# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d) -# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d) -# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d) -# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d) -# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d) -# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d) -# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d) -# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d) -# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d) -# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d) -# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d) -# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d) -# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d) -# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d) -# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d) -# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d) -# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d) -# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d) -# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d) -# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d) -# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d) -# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d) -# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d) -# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d) -# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d) -# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d) -# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d) -# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d) -# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d) -# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d) -# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d) -# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d) -# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d) -# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d) -# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d) -# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d) -# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d) -# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d) -# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d) -# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d) -# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d) -# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d) -# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d) -# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d) -# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d) -# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d) -# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d) -# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d) -# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d) -# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d) -# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d) -# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d) -# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d) -# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d) -# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d) -# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d) -# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d) -# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d) -# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d) -# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d) -# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d) -# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d) -# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d) -# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d) -# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d) -# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d) -# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d) -# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d) -# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d) -# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d) -# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d) -# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d) -# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d) -# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d) -# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d) -# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d) -# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d) -# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d) -# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d) -# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d) -# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d) -# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d) -# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d) -# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d) -# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d) -# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d) -# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d) -# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d) -# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d) -# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d) -# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d) -# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d) -# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d) -# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d) -# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d) -# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d) -# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d) -# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d) -# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d) -# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d) -# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d) -# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d) -# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d) -# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d) -# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d) -# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d) -# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d) -# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d) -# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d) -# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d) -# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d) -# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d) -# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d) -# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d) -# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d) -# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d) -# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d) -# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d) -# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d) -# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d) -# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d) -# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d) -# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d) -# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d) -# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d) -# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d) -# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d) -# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d) -# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d) -# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d) -# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d) -# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d) -# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d) -# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d) -# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d) -# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d) -# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d) -# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d) -# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d) -# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d) -# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d) -# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d) -# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d) -# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d) -# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d) -# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d) -# -# define BOOST_PP_REPEAT_3_0(m, d) -# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d) -# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d) -# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d) -# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d) -# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d) -# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d) -# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d) -# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d) -# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d) -# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d) -# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d) -# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d) -# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d) -# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d) -# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d) -# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d) -# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d) -# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d) -# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d) -# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d) -# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d) -# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d) -# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d) -# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d) -# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d) -# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d) -# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d) -# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d) -# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d) -# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d) -# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d) -# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d) -# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d) -# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d) -# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d) -# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d) -# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d) -# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d) -# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d) -# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d) -# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d) -# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d) -# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d) -# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d) -# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d) -# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d) -# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d) -# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d) -# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d) -# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d) -# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d) -# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d) -# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d) -# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d) -# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d) -# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d) -# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d) -# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d) -# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d) -# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d) -# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d) -# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d) -# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d) -# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d) -# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d) -# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d) -# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d) -# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d) -# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d) -# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d) -# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d) -# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d) -# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d) -# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d) -# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d) -# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d) -# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d) -# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d) -# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d) -# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d) -# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d) -# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d) -# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d) -# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d) -# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d) -# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d) -# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d) -# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d) -# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d) -# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d) -# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d) -# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d) -# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d) -# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d) -# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d) -# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d) -# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d) -# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d) -# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d) -# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d) -# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d) -# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d) -# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d) -# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d) -# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d) -# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d) -# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d) -# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d) -# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d) -# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d) -# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d) -# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d) -# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d) -# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d) -# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d) -# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d) -# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d) -# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d) -# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d) -# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d) -# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d) -# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d) -# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d) -# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d) -# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d) -# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d) -# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d) -# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d) -# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d) -# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d) -# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d) -# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d) -# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d) -# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d) -# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d) -# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d) -# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d) -# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d) -# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d) -# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d) -# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d) -# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d) -# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d) -# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d) -# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d) -# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d) -# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d) -# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d) -# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d) -# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d) -# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d) -# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d) -# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d) -# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d) -# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d) -# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d) -# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d) -# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d) -# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d) -# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d) -# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d) -# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d) -# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d) -# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d) -# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d) -# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d) -# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d) -# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d) -# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d) -# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d) -# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d) -# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d) -# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d) -# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d) -# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d) -# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d) -# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d) -# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d) -# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d) -# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d) -# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d) -# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d) -# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d) -# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d) -# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d) -# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d) -# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d) -# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d) -# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d) -# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d) -# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d) -# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d) -# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d) -# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d) -# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d) -# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d) -# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d) -# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d) -# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d) -# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d) -# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d) -# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d) -# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d) -# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d) -# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d) -# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d) -# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d) -# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d) -# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d) -# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d) -# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d) -# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d) -# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d) -# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d) -# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d) -# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d) -# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d) -# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d) -# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d) -# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d) -# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d) -# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d) -# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d) -# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d) -# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d) -# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d) -# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d) -# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d) -# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d) -# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d) -# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d) -# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d) -# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d) -# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d) -# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d) -# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d) -# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d) -# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d) -# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d) -# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d) -# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d) -# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d) -# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d) -# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d) -# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d) -# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d) -# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d) -# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d) -# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d) -# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d) -# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d) -# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d) -# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d) -# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d) -# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d) -# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d) -# -# else -# -# include -# -# if BOOST_PP_LIMIT_REPEAT == 256 -# include -# elif BOOST_PP_LIMIT_REPEAT == 512 -# include -# include -# elif BOOST_PP_LIMIT_REPEAT == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_REPEAT limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/elem.hpp b/external/include/boost_1_75/boost/preprocessor/tuple/elem.hpp deleted file mode 100644 index 7f6b3d1356..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/tuple/elem.hpp +++ /dev/null @@ -1,55 +0,0 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2014,2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP -# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP -# -# include -# include -# include -# include -# include -# include -# include -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__)) -# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args) -# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,) -/* - Use BOOST_PP_REM_CAT if it is a single element tuple ( which might be empty ) - else use BOOST_PP_REM. This fixes a VC++ problem with an empty tuple and BOOST_PP_TUPLE_ELEM - functionality. See tuple_elem_bug_test.cxx. -*/ -# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) \ - BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple)) \ - /**/ -# else -# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__) -# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple) -# endif -# define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple) -# -# /* directly used elsewhere in Boost... */ -# -# define BOOST_PP_TUPLE_ELEM_1_0(a) a -# -# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a -# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b -# -# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a -# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b -# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/size.hpp b/external/include/boost_1_75/boost/preprocessor/tuple/size.hpp deleted file mode 100644 index aa46c7b26a..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/tuple/size.hpp +++ /dev/null @@ -1,35 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_SIZE_HPP -# define BOOST_PREPROCESSOR_TUPLE_SIZE_HPP -# -# include -# include -# include -# include -# include -# -# if BOOST_PP_VARIADIC_HAS_OPT() -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_TUPLE_SIZE_CHECK(BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,)) -# else -# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_TUPLE_SIZE_CHECK(BOOST_PP_VARIADIC_SIZE tuple) -# endif -# define BOOST_PP_TUPLE_SIZE_CHECK(size) BOOST_PP_IF(size,size,1) -# elif BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,) -# else -# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_VARIADIC_SIZE tuple -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/detail/has_opt.hpp b/external/include/boost_1_75/boost/preprocessor/variadic/detail/has_opt.hpp deleted file mode 100644 index 481211cd63..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/variadic/detail/has_opt.hpp +++ /dev/null @@ -1,39 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2019. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_DETAIL_HAS_OPT_HPP -# define BOOST_PREPROCESSOR_VARIADIC_DETAIL_HAS_OPT_HPP -# -# include -# -# if defined(__cplusplus) && __cplusplus > 201703L -# -# if BOOST_PP_VARIADICS_MSVC -# include -# endif -# -# define BOOST_PP_VARIADIC_HAS_OPT_FUNCTION(...) \ - __VA_OPT__(,) , 1, 0 \ -/**/ -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_HAS_OPT_ELEM0(e0, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_HAS_OPT_ELEM_0(e0,__VA_ARGS__),) -# define BOOST_PP_VARIADIC_HAS_OPT_ELEM2(e0, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_HAS_OPT_ELEM_2(e0,__VA_ARGS__),) -# else -# define BOOST_PP_VARIADIC_HAS_OPT_ELEM0(e0, ...) BOOST_PP_VARIADIC_HAS_OPT_ELEM_0(e0,__VA_ARGS__) -# define BOOST_PP_VARIADIC_HAS_OPT_ELEM2(e0, ...) BOOST_PP_VARIADIC_HAS_OPT_ELEM_2(e0,__VA_ARGS__) -# endif -# define BOOST_PP_VARIADIC_HAS_OPT_ELEM_0(e0, ...) e0 -# define BOOST_PP_VARIADIC_HAS_OPT_ELEM_2(e0, e1, e2, ...) e2 -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/elem.hpp b/external/include/boost_1_75/boost/preprocessor/variadic/elem.hpp deleted file mode 100644 index a10c5f2997..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/variadic/elem.hpp +++ /dev/null @@ -1,116 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP -# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP -# -# include -# include -# -# /* BOOST_PP_VARIADIC_ELEM */ -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__) -# define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),) -# else -# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,) -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0 -# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1 -# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2 -# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3 -# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4 -# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5 -# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6 -# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7 -# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8 -# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9 -# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10 -# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11 -# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12 -# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13 -# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14 -# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15 -# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16 -# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17 -# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18 -# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19 -# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20 -# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21 -# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22 -# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23 -# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24 -# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25 -# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26 -# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27 -# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28 -# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29 -# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30 -# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31 -# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32 -# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33 -# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34 -# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35 -# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36 -# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37 -# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38 -# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39 -# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40 -# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41 -# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42 -# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43 -# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44 -# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45 -# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46 -# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47 -# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48 -# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49 -# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50 -# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51 -# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52 -# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53 -# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54 -# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55 -# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56 -# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57 -# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58 -# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59 -# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60 -# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61 -# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62 -# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63 -# -# else -# -# include -# -# if BOOST_PP_LIMIT_VARIADIC == 64 -# include -# elif BOOST_PP_LIMIT_VARIADIC == 128 -# include -# include -# elif BOOST_PP_LIMIT_VARIADIC == 256 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_TUPLE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/has_opt.hpp b/external/include/boost_1_75/boost/preprocessor/variadic/has_opt.hpp deleted file mode 100644 index b2cceff5d5..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/variadic/has_opt.hpp +++ /dev/null @@ -1,28 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2019. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_HAS_OPT_HPP -# define BOOST_PREPROCESSOR_VARIADIC_HAS_OPT_HPP -# -# include -# -# /* BOOST_PP_VARIADIC_HAS_OPT */ -# -# if defined(__cplusplus) && __cplusplus > 201703L -# include -# define BOOST_PP_VARIADIC_HAS_OPT() \ - BOOST_PP_VARIADIC_HAS_OPT_ELEM2(BOOST_PP_VARIADIC_HAS_OPT_FUNCTION(?),) \ -/**/ -# else -# define BOOST_PP_VARIADIC_HAS_OPT() 0 -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/size.hpp b/external/include/boost_1_75/boost/preprocessor/variadic/size.hpp deleted file mode 100644 index 364eaa4b3b..0000000000 --- a/external/include/boost_1_75/boost/preprocessor/variadic/size.hpp +++ /dev/null @@ -1,65 +0,0 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP -# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_VARIADIC_SIZE */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# if BOOST_PP_VARIADIC_HAS_OPT() -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_SIZE_NOT_EMPTY(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) -# else -# define BOOST_PP_VARIADIC_SIZE_NOT_EMPTY(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) -# endif -# define BOOST_PP_VARIADIC_SIZE_EMPTY(...) 0 -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_IIF(BOOST_PP_CHECK_EMPTY(__VA_ARGS__),BOOST_PP_VARIADIC_SIZE_EMPTY,BOOST_PP_VARIADIC_SIZE_NOT_EMPTY)(__VA_ARGS__) -# elif BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) -# else -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) -# endif -# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size -# -# else -# -# if BOOST_PP_VARIADIC_HAS_OPT() -# define BOOST_PP_VARIADIC_SIZE_EMPTY(...) 0 -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_IIF(BOOST_PP_CHECK_EMPTY(__VA_ARGS__),BOOST_PP_VARIADIC_SIZE_EMPTY,BOOST_PP_VARIADIC_DO_SIZE)(__VA_ARGS__) -# else -# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_DO_SIZE(__VA_ARGS__) -# endif -# -# include -# -# if BOOST_PP_LIMIT_VARIADIC == 64 -# include -# elif BOOST_PP_LIMIT_VARIADIC == 128 -# include -# elif BOOST_PP_LIMIT_VARIADIC == 256 -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_TUPLE limit -# endif -# -# endif -# -# endif diff --git a/external/include/boost_1_75/boost/python/detail/is_xxx.hpp b/external/include/boost_1_75/boost/python/detail/is_xxx.hpp deleted file mode 100644 index 9ddfafd3c0..0000000000 --- a/external/include/boost_1_75/boost/python/detail/is_xxx.hpp +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright David Abrahams 2005. -// 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) -#ifndef IS_XXX_DWA2003224_HPP -# define IS_XXX_DWA2003224_HPP - -# include - -# define BOOST_PYTHON_IS_XXX_DEF(name, qualified_name, nargs) \ - BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) - -#endif // IS_XXX_DWA2003224_HPP diff --git a/external/include/boost_1_75/boost/static_assert.hpp b/external/include/boost_1_75/boost/static_assert.hpp deleted file mode 100644 index 0c9c5a5fd2..0000000000 --- a/external/include/boost_1_75/boost/static_assert.hpp +++ /dev/null @@ -1,180 +0,0 @@ -// (C) Copyright John Maddock 2000. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org/libs/static_assert for documentation. - -/* - Revision history: - 02 August 2000 - Initial version. -*/ - -#ifndef BOOST_STATIC_ASSERT_HPP -#define BOOST_STATIC_ASSERT_HPP - -#include -#include - -#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) -// -// This is horrible, but it seems to be the only we can shut up the -// "anonymous variadic macros were introduced in C99 [-Wvariadic-macros]" -// warning that get spewed out otherwise in non-C++11 mode. -// -#pragma GCC system_header -#endif - -#ifndef BOOST_NO_CXX11_STATIC_ASSERT -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__) -# else -# define BOOST_STATIC_ASSERT_MSG( B, Msg ) static_assert( B, Msg ) -# endif -#else -# define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B ) -#endif - -#ifdef BOOST_BORLANDC -// -// workaround for buggy integral-constant expression support: -#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS -#endif - -#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4)) -// gcc 3.3 and 3.4 don't produce good error messages with the default version: -# define BOOST_SA_GCC_WORKAROUND -#endif - -// -// If the compiler issues warnings about old C style casts, -// then enable this: -// -#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))) -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) != 0) -# else -# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) != 0) -# endif -#else -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__) -# else -# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x) -# endif -#endif - -#ifndef BOOST_NO_CXX11_STATIC_ASSERT -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__) -# else -# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B) -# endif -#else - -namespace boost{ - -// HP aCC cannot deal with missing names for template value parameters -template struct STATIC_ASSERTION_FAILURE; - -template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; - -// HP aCC cannot deal with missing names for template value parameters -template struct static_assert_test{}; - -} - -// -// Implicit instantiation requires that all member declarations be -// instantiated, but that the definitions are *not* instantiated. -// -// It's not particularly clear how this applies to enum's or typedefs; -// both are described as declarations [7.1.3] and [7.2] in the standard, -// however some compilers use "delayed evaluation" of one or more of -// these when implicitly instantiating templates. We use typedef declarations -// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum -// version gets better results from your compiler... -// -// Implementation: -// Both of these versions rely on sizeof(incomplete_type) generating an error -// message containing the name of the incomplete type. We use -// "STATIC_ASSERTION_FAILURE" as the type name here to generate -// an eye catching error message. The result of the sizeof expression is either -// used as an enum initialiser, or as a template argument depending which version -// is in use... -// Note that the argument to the assert is explicitly cast to bool using old- -// style casts: too many compilers currently have problems with static_cast -// when used inside integral constant expressions. -// -#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS) - -#if defined(BOOST_MSVC) && defined(BOOST_NO_CXX11_VARIADIC_MACROS) -#define BOOST_STATIC_ASSERT( B ) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) -#elif defined(BOOST_MSVC) -#define BOOST_STATIC_ASSERT(...) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) -#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && defined(BOOST_NO_CXX11_VARIADIC_MACROS) -// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error -// instead of warning in case of failure -# define BOOST_STATIC_ASSERT( B ) \ - typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ - [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ] -#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && !defined(BOOST_NO_CXX11_VARIADIC_MACROS) -// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error -// instead of warning in case of failure -# define BOOST_STATIC_ASSERT(...) \ - typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ - [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::value ] -#elif defined(__sgi) -// special version for SGI MIPSpro compiler -#define BOOST_STATIC_ASSERT( B ) \ - BOOST_STATIC_CONSTANT(bool, \ - BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< \ - BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __LINE__) -#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003) -// special version for CodeWarrior <= 8.x -#define BOOST_STATIC_ASSERT( B ) \ - BOOST_STATIC_CONSTANT(int, \ - BOOST_JOIN(boost_static_assert_test_, __LINE__) = \ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) ) -#else -// generic version -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT( ... ) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED -# else -# define BOOST_STATIC_ASSERT( B ) \ - typedef ::boost::static_assert_test<\ - sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\ - BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED -# endif -#endif - -#else -// alternative enum based implementation: -# ifndef BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_STATIC_ASSERT( ... ) \ - enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ - = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( __VA_ARGS__ ) >) } -# else -# define BOOST_STATIC_ASSERT(B) \ - enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ - = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) } -# endif -#endif -#endif // defined(BOOST_NO_CXX11_STATIC_ASSERT) - -#endif // BOOST_STATIC_ASSERT_HPP - - diff --git a/external/include/boost_1_75/boost/swap.hpp b/external/include/boost_1_75/boost/swap.hpp deleted file mode 100644 index 55cafa4fdd..0000000000 --- a/external/include/boost_1_75/boost/swap.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * 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) - */ - -#ifndef BOOST_SWAP_HPP -#define BOOST_SWAP_HPP - -// The header file at this path is deprecated; -// use boost/core/swap.hpp instead. - -#include - -#endif diff --git a/external/include/boost_1_75/boost/throw_exception.hpp b/external/include/boost_1_75/boost/throw_exception.hpp deleted file mode 100644 index 37b79b6201..0000000000 --- a/external/include/boost_1_75/boost/throw_exception.hpp +++ /dev/null @@ -1,182 +0,0 @@ -#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED -#define BOOST_THROW_EXCEPTION_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// boost/throw_exception.hpp -// -// Copyright (c) 2002, 2018, 2019 Peter Dimov -// Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc. -// -// 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) -// -// http://www.boost.org/libs/throw_exception -// - -#include -#include -#include -#include - -#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x593) ) -# define BOOST_EXCEPTION_DISABLE -#endif - -namespace boost -{ - -// All boost exceptions are required to derive from std::exception, -// to ensure compatibility with BOOST_NO_EXCEPTIONS. - -inline void throw_exception_assert_compatibility( std::exception const & ) {} - -} // namespace boost - -#if defined( BOOST_NO_EXCEPTIONS ) - -namespace boost -{ - -BOOST_NORETURN void throw_exception( std::exception const & e ); // user defined -BOOST_NORETURN void throw_exception( std::exception const & e, boost::source_location const & loc ); // user defined - -} // namespace boost - -#elif defined( BOOST_EXCEPTION_DISABLE ) - -namespace boost -{ - -template BOOST_NORETURN void throw_exception( E const & e ) -{ - throw_exception_assert_compatibility( e ); - throw e; -} - -template BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & ) -{ - throw_exception_assert_compatibility( e ); - throw e; -} - -} // namespace boost - -#else // !defined( BOOST_NO_EXCEPTIONS ) && !defined( BOOST_EXCEPTION_DISABLE ) - -#include - -namespace boost -{ - -// boost::wrapexcept - -namespace detail -{ - -typedef char (&wrapexcept_s1)[ 1 ]; -typedef char (&wrapexcept_s2)[ 2 ]; - -template wrapexcept_s1 wrapexcept_is_convertible( T* ); -template wrapexcept_s2 wrapexcept_is_convertible( void* ); - -template( static_cast< E* >( 0 ) ) ) > struct wrapexcept_add_base; - -template struct wrapexcept_add_base -{ - struct type {}; -}; - -template struct wrapexcept_add_base -{ - typedef B type; -}; - -} // namespace detail - -template struct BOOST_SYMBOL_VISIBLE wrapexcept: - public detail::wrapexcept_add_base::type, - public E, - public detail::wrapexcept_add_base::type -{ -private: - - struct deleter - { - wrapexcept * p_; - ~deleter() { delete p_; } - }; - -private: - - void copy_from( void const* ) - { - } - - void copy_from( boost::exception const* p ) - { - static_cast( *this ) = *p; - } - -public: - - explicit wrapexcept( E const & e ): E( e ) - { - copy_from( &e ); - } - - explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e ) - { - copy_from( &e ); - - set_info( *this, throw_file( loc.file_name() ) ); - set_info( *this, throw_line( loc.line() ) ); - set_info( *this, throw_function( loc.function_name() ) ); - } - - virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE - { - wrapexcept * p = new wrapexcept( *this ); - deleter del = { p }; - - boost::exception_detail::copy_boost_exception( p, this ); - - del.p_ = 0; - return p; - } - - virtual void rethrow() const BOOST_OVERRIDE - { - throw *this; - } -}; - -// boost::throw_exception - -template BOOST_NORETURN void throw_exception( E const & e ) -{ - throw_exception_assert_compatibility( e ); - throw wrapexcept( e ); -} - -template BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & loc ) -{ - throw_exception_assert_compatibility( e ); - throw wrapexcept( e, loc ); -} - -} // namespace boost - -#endif - -// BOOST_THROW_EXCEPTION - -#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION) - -#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/tuple/tuple.hpp b/external/include/boost_1_75/boost/tuple/tuple.hpp deleted file mode 100644 index 4e34b6c8d4..0000000000 --- a/external/include/boost_1_75/boost/tuple/tuple.hpp +++ /dev/null @@ -1,118 +0,0 @@ -// tuple.hpp - Boost Tuple Library -------------------------------------- - -// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) -// -// 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) - -// For more information, see http://www.boost.org - -// ----------------------------------------------------------------- - -#ifndef BOOST_TUPLE_HPP -#define BOOST_TUPLE_HPP - -#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 -// Work around a compiler bug. -// boost::python::tuple has to be seen by the compiler before the -// boost::tuple class template. -namespace boost { namespace python { class tuple; }} -#endif - -#include -#include - -// other compilers -#include -#include - - -namespace boost { - -using tuples::tuple; -using tuples::make_tuple; -using tuples::tie; -#if !defined(BOOST_NO_USING_TEMPLATE) -using tuples::get; -#else -// -// The "using tuples::get" statement causes the -// Borland compiler to ICE, use forwarding -// functions instead: -// -template -inline typename tuples::access_traits< - typename tuples::element >::type - >::non_const_type -get(tuples::cons& c) { - return tuples::get(c); -} -// get function for const cons-lists, returns a const reference to -// the element. If the element is a reference, returns the reference -// as such (that is, can return a non-const reference) -template -inline typename tuples::access_traits< - typename tuples::element >::type - >::const_type -get(const tuples::cons& c) { - return tuples::get(c); -} - -#endif // BOOST_NO_USING_TEMPLATE - -} // end namespace boost - -#if !defined(BOOST_NO_CXX11_HDR_TUPLE) - -#include -#include - -namespace std -{ - -#if defined(BOOST_CLANG) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wmismatched-tags" -#endif - -// std::tuple_size - -template - class tuple_size< boost::tuples::tuple >: - public boost::tuples::length< boost::tuples::tuple > -{ -}; - -template class tuple_size< boost::tuples::cons >: - public boost::tuples::length< boost::tuples::cons > -{ -}; - -template<> class tuple_size< boost::tuples::null_type >: - public boost::tuples::length< boost::tuples::null_type > -{ -}; - -// std::tuple_element - -template - class tuple_element< I, boost::tuples::tuple >: - public boost::tuples::element< I, boost::tuples::tuple > -{ -}; - -template class tuple_element< I, boost::tuples::cons >: - public boost::tuples::element< I, boost::tuples::cons > -{ -}; - -#if defined(BOOST_CLANG) -# pragma clang diagnostic pop -#endif - -} // namespace std - -#endif // !defined(BOOST_NO_CXX11_HDR_TUPLE) - -#endif // BOOST_TUPLE_HPP diff --git a/external/include/boost_1_75/boost/type_index.hpp b/external/include/boost_1_75/boost/type_index.hpp deleted file mode 100644 index 8b86620296..0000000000 --- a/external/include/boost_1_75/boost/type_index.hpp +++ /dev/null @@ -1,265 +0,0 @@ -// -// Copyright 2012-2020 Antony Polukhin. -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_HPP -#define BOOST_TYPE_INDEX_HPP - -/// \file boost/type_index.hpp -/// \brief Includes minimal set of headers required to use the Boost.TypeIndex library. -/// -/// By inclusion of this file most optimal type index classes will be included and used -/// as a boost::typeindex::type_index and boost::typeindex::type_info. - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -#if defined(BOOST_TYPE_INDEX_USER_TYPEINDEX) -# include BOOST_TYPE_INDEX_USER_TYPEINDEX -# ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH -# pragma detect_mismatch( "boost__type_index__abi", "user defined type_index class is used: " BOOST_STRINGIZE(BOOST_TYPE_INDEX_USER_TYPEINDEX)) -# endif -#elif (!defined(BOOST_NO_RTTI) && !defined(BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)) || defined(BOOST_MSVC) -# include -# if defined(BOOST_NO_RTTI) || defined(BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY) -# include -# ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH -# pragma detect_mismatch( "boost__type_index__abi", "RTTI is off - typeid() is used only for templates") -# endif -# else -# ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH -# pragma detect_mismatch( "boost__type_index__abi", "RTTI is used") -# endif -# endif -#else -# include -# include -# ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH -# pragma detect_mismatch( "boost__type_index__abi", "RTTI is off - using CTTI") -# endif -#endif - -#ifndef BOOST_TYPE_INDEX_REGISTER_CLASS -#define BOOST_TYPE_INDEX_REGISTER_CLASS -#endif - -namespace boost { namespace typeindex { - -#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED) - -/// \def BOOST_TYPE_INDEX_FUNCTION_SIGNATURE -/// BOOST_TYPE_INDEX_FUNCTION_SIGNATURE is used by boost::typeindex::ctti_type_index class to -/// deduce the name of a type. If your compiler is not recognized -/// by the TypeIndex library and you wish to work with boost::typeindex::ctti_type_index, you may -/// define this macro by yourself. -/// -/// BOOST_TYPE_INDEX_FUNCTION_SIGNATURE must be defined to a compiler specific macro -/// that outputs the \b whole function signature \b including \b template \b parameters. -/// -/// If your compiler is not recognised and BOOST_TYPE_INDEX_FUNCTION_SIGNATURE is not defined, -/// then a compile-time error will arise at any attempt to use boost::typeindex::ctti_type_index classes. -/// -/// See BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS and BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING -/// for an information of how to tune the implementation to make a nice pretty_name() output. -#define BOOST_TYPE_INDEX_FUNCTION_SIGNATURE BOOST_CURRENT_FUNCTION - -/// \def BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING -/// This is a helper macro for making correct pretty_names() with RTTI off. -/// -/// BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING macro may be defined to -/// '(begin_skip, end_skip, runtime_skip, runtime_skip_until)' with parameters for adding a -/// support for compilers, that by default are not recognized by TypeIndex library. -/// -/// \b Example: -/// -/// Imagine the situation when -/// \code boost::typeindex::ctti_type_index::type_id().pretty_name() \endcode -/// returns the following string: -/// \code "static const char *boost::detail::ctti::n() [T = int]" \endcode -/// and \code boost::typeindex::ctti_type_index::type_id().pretty_name() \endcode returns the following: -/// \code "static const char *boost::detail::ctti::n() [T = short]" \endcode -/// -/// As we may see first 39 characters are "static const char *boost::detail::ctti<" and they do not depend on -/// the type T. After first 39 characters we have a human readable type name which is duplicated at the end -/// of a string. String always ends on ']', which consumes 1 character. -/// -/// Now if we define `BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING` to -/// `(39, 1, false, "")` we'll be getting \code "int>::n() [T = int" \endcode -/// for `boost::typeindex::ctti_type_index::type_id().pretty_name()` and \code "short>::n() [T = short" \endcode -/// for `boost::typeindex::ctti_type_index::type_id().pretty_name()`. -/// -/// Now we need to take additional care of the characters that go before the last mention of our type. We'll -/// do that by telling the macro that we need to cut off everything that goes before the "T = " including the "T = " -/// itself: -/// -/// \code (39, 1, true, "T = ") \endcode -/// -/// In case of GCC or Clang command line we need to add the following line while compiling all the sources: -/// -/// \code -/// -DBOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING='(39, 1, true, "T = ")' -/// \endcode -/// \param begin_skip How many characters must be skipped at the beginning of the type holding string. -/// Must be a compile time constant. -/// \param end_skip How many characters must be skipped at the end of the type holding string. -/// Must be a compile time constant. -/// \param runtime_skip Do we need additional checks at runtime to cut off the more characters. -/// Must be `true` or `false`. -/// \param runtime_skip_until Skip all the characters before the following string (including the string itself). -/// Must be a compile time array of characters. -/// -/// See [RTTI emulation limitations](boost_typeindex/rtti_emulation_limitations.html) for more info. -#define BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING (0, 0, false, "") - - - /// Depending on a compiler flags, optimal implementation of type_index will be used - /// as a default boost::typeindex::type_index. - /// - /// Could be a boost::typeindex::stl_type_index, boost::typeindex::ctti_type_index or - /// user defined type_index class. - /// - /// \b See boost::typeindex::type_index_facade for a full description of type_index functions. - typedef platform_specific type_index; -#elif defined(BOOST_TYPE_INDEX_USER_TYPEINDEX) - // Nothing to do -#elif (!defined(BOOST_NO_RTTI) && !defined(BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY)) || defined(BOOST_MSVC) - typedef boost::typeindex::stl_type_index type_index; -#else - typedef boost::typeindex::ctti_type_index type_index; -#endif - -/// Depending on a compiler flags, optimal implementation of type_info will be used -/// as a default boost::typeindex::type_info. -/// -/// Could be a std::type_info, boost::typeindex::detail::ctti_data or -/// some user defined class. -/// -/// type_info \b is \b not copyable or default constructible. It is \b not assignable too! -typedef type_index::type_info_t type_info; - -#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED) - -/// \def BOOST_TYPE_INDEX_USER_TYPEINDEX -/// BOOST_TYPE_INDEX_USER_TYPEINDEX can be defined to the path to header file -/// with user provided implementation of type_index. -/// -/// See [Making a custom type_index](boost_typeindex/making_a_custom_type_index.html) section -/// of documentation for usage example. -#define BOOST_TYPE_INDEX_USER_TYPEINDEX - - -/// \def BOOST_TYPE_INDEX_REGISTER_CLASS -/// BOOST_TYPE_INDEX_REGISTER_CLASS is used to help to emulate RTTI. -/// Put this macro into the public section of polymorphic class to allow runtime type detection. -/// -/// Depending on the typeid() availability this macro will expand to nothing or to virtual helper function -/// `virtual const type_info& boost_type_info_type_id_runtime_() const noexcept`. -/// -/// \b Example: -/// \code -/// class A { -/// public: -/// BOOST_TYPE_INDEX_REGISTER_CLASS -/// virtual ~A(){} -/// }; -/// -/// struct B: public A { -/// BOOST_TYPE_INDEX_REGISTER_CLASS -/// }; -/// -/// struct C: public B { -/// BOOST_TYPE_INDEX_REGISTER_CLASS -/// }; -/// -/// ... -/// -/// C c1; -/// A* pc1 = &c1; -/// assert(boost::typeindex::type_id() == boost::typeindex::type_id_runtime(*pc1)); -/// \endcode -#define BOOST_TYPE_INDEX_REGISTER_CLASS nothing-or-some-virtual-functions - -/// \def BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY -/// BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY is a helper macro that must be defined if mixing -/// RTTI on/off modules. See -/// [Mixing sources with RTTI on and RTTI off](boost_typeindex/mixing_sources_with_rtti_on_and_.html) -/// section of documentation for more info. -#define BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY - -#endif // defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED) - - -/// Function to get boost::typeindex::type_index for a type T. -/// Removes const, volatile && and & modifiers from T. -/// -/// \b Example: -/// \code -/// type_index ti = type_id(); -/// std::cout << ti.pretty_name(); // Outputs 'int' -/// \endcode -/// -/// \tparam T Type for which type_index must be created. -/// \throw Nothing. -/// \return boost::typeindex::type_index with information about the specified type T. -template -inline type_index type_id() BOOST_NOEXCEPT { - return type_index::type_id(); -} - -/// Function for constructing boost::typeindex::type_index instance for type T. -/// Does not remove const, volatile, & and && modifiers from T. -/// -/// If T has no const, volatile, & and && modifiers, then returns exactly -/// the same result as in case of calling `type_id()`. -/// -/// \b Example: -/// \code -/// type_index ti = type_id_with_cvr(); -/// std::cout << ti.pretty_name(); // Outputs 'int&' -/// \endcode -/// -/// \tparam T Type for which type_index must be created. -/// \throw Nothing. -/// \return boost::typeindex::type_index with information about the specified type T. -template -inline type_index type_id_with_cvr() BOOST_NOEXCEPT { - return type_index::type_id_with_cvr(); -} - -/// Function that works exactly like C++ typeid(rtti_val) call, but returns boost::type_index. -/// -/// Returns runtime information about specified type. -/// -/// \b Requirements: RTTI available or Base and Derived classes must be marked with BOOST_TYPE_INDEX_REGISTER_CLASS. -/// -/// \b Example: -/// \code -/// struct Base { virtual ~Base(){} }; -/// struct Derived: public Base {}; -/// ... -/// Derived d; -/// Base& b = d; -/// type_index ti = type_id_runtime(b); -/// std::cout << ti.pretty_name(); // Outputs 'Derived' -/// \endcode -/// -/// \param runtime_val Variable which runtime type must be returned. -/// \throw Nothing. -/// \return boost::typeindex::type_index with information about the specified variable. -template -inline type_index type_id_runtime(const T& runtime_val) BOOST_NOEXCEPT { - return type_index::type_id_runtime(runtime_val); -} - -}} // namespace boost::typeindex - - - -#endif // BOOST_TYPE_INDEX_HPP - diff --git a/external/include/boost_1_75/boost/type_index/ctti_type_index.hpp b/external/include/boost_1_75/boost/type_index/ctti_type_index.hpp deleted file mode 100644 index edb57149f0..0000000000 --- a/external/include/boost_1_75/boost/type_index/ctti_type_index.hpp +++ /dev/null @@ -1,213 +0,0 @@ -// -// Copyright 2013-2020 Antony Polukhin. -// -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_CTTI_TYPE_INDEX_HPP -#define BOOST_TYPE_INDEX_CTTI_TYPE_INDEX_HPP - -/// \file ctti_type_index.hpp -/// \brief Contains boost::typeindex::ctti_type_index class that is constexpr if C++14 constexpr is supported by compiler. -/// -/// boost::typeindex::ctti_type_index class can be used as a drop-in replacement -/// for std::type_index. -/// -/// It is used in situations when typeid() method is not available or -/// BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined. - -#include -#include - -#include -#include -#include -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -namespace boost { namespace typeindex { - -namespace detail { - -// That's the most trickiest part of the TypeIndex library: -// 1) we do not want to give user ability to manually construct and compare `struct-that-represents-type` -// 2) we need to distinguish between `struct-that-represents-type` and `const char*` -// 3) we need a thread-safe way to have references to instances `struct-that-represents-type` -// 4) we need a compile-time control to make sure that user does not copy or -// default construct `struct-that-represents-type` -// -// Solution would be the following: - -/// \class ctti_data -/// Standard-layout class with private constructors and assignment operators. -/// -/// You can not work with this class directly. The purpose of this class is to hold type info -/// \b when \b RTTI \b is \b off and allow ctti_type_index construction from itself. -/// -/// \b Example: -/// \code -/// const detail::ctti_data& foo(); -/// ... -/// type_index ti = type_index(foo()); -/// std::cout << ti.pretty_name(); -/// \endcode -class ctti_data { -#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS -public: - ctti_data() = delete; - ctti_data(const ctti_data&) = delete; - ctti_data& operator=(const ctti_data&) = delete; -#else -private: - ctti_data(); - ctti_data(const ctti_data&); - ctti_data& operator=(const ctti_data&); -#endif -}; - -} // namespace detail - -/// Helper method for getting detail::ctti_data of a template parameter T. -template -inline const detail::ctti_data& ctti_construct() BOOST_NOEXCEPT { - // Standard C++11, 5.2.10 Reinterpret cast: - // An object pointer can be explicitly converted to an object pointer of a different type. When a prvalue - // v of type "pointer to T1" is converted to the type "pointer to cv T2", the result is static_cast(static_cast(v)) if both T1 and T2 are standard-layout types (3.9) and the alignment - // requirements of T2 are no stricter than those of T1, or if either type is void. Converting a prvalue of type - // "pointer to T1" to the type "pointer to T2" (where T1 and T2 are object types and where the alignment - // requirements of T2 are no stricter than those of T1) and back to its original type yields the original pointer - // value. - // - // Alignments are checked in `type_index_test_ctti_alignment.cpp` test. - return *reinterpret_cast(boost::detail::ctti::n()); -} - -/// \class ctti_type_index -/// This class is a wrapper that pretends to work exactly like stl_type_index, but does -/// not require RTTI support. \b For \b description \b of \b functions \b see type_index_facade. -/// -/// This class on C++14 compatible compilers has following functions marked as constexpr: -/// * default constructor -/// * copy constructors and assignemnt operations -/// * class methods: name(), before(const ctti_type_index& rhs), equal(const ctti_type_index& rhs) -/// * static methods type_id(), type_id_with_cvr() -/// * comparison operators -/// -/// This class produces slightly longer type names, so consider using stl_type_index -/// in situations when typeid() is working. -class ctti_type_index: public type_index_facade { - const char* data_; - - inline std::size_t get_raw_name_length() const BOOST_NOEXCEPT; - - BOOST_CXX14_CONSTEXPR inline explicit ctti_type_index(const char* data) BOOST_NOEXCEPT - : data_(data) - {} - -public: - typedef detail::ctti_data type_info_t; - - BOOST_CXX14_CONSTEXPR inline ctti_type_index() BOOST_NOEXCEPT - : data_(boost::detail::ctti::n()) - {} - - inline ctti_type_index(const type_info_t& data) BOOST_NOEXCEPT - : data_(reinterpret_cast(&data)) - {} - - inline const type_info_t& type_info() const BOOST_NOEXCEPT; - BOOST_CXX14_CONSTEXPR inline const char* raw_name() const BOOST_NOEXCEPT; - BOOST_CXX14_CONSTEXPR inline const char* name() const BOOST_NOEXCEPT; - inline std::string pretty_name() const; - inline std::size_t hash_code() const BOOST_NOEXCEPT; - - BOOST_CXX14_CONSTEXPR inline bool equal(const ctti_type_index& rhs) const BOOST_NOEXCEPT; - BOOST_CXX14_CONSTEXPR inline bool before(const ctti_type_index& rhs) const BOOST_NOEXCEPT; - - template - BOOST_CXX14_CONSTEXPR inline static ctti_type_index type_id() BOOST_NOEXCEPT; - - template - BOOST_CXX14_CONSTEXPR inline static ctti_type_index type_id_with_cvr() BOOST_NOEXCEPT; - - template - inline static ctti_type_index type_id_runtime(const T& variable) BOOST_NOEXCEPT; -}; - - -inline const ctti_type_index::type_info_t& ctti_type_index::type_info() const BOOST_NOEXCEPT { - return *reinterpret_cast(data_); -} - - -BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::equal(const ctti_type_index& rhs) const BOOST_NOEXCEPT { - const char* const left = raw_name(); - const char* const right = rhs.raw_name(); - return /*left == right ||*/ !boost::typeindex::detail::constexpr_strcmp(left, right); -} - -BOOST_CXX14_CONSTEXPR inline bool ctti_type_index::before(const ctti_type_index& rhs) const BOOST_NOEXCEPT { - const char* const left = raw_name(); - const char* const right = rhs.raw_name(); - return /*left != right &&*/ boost::typeindex::detail::constexpr_strcmp(left, right) < 0; -} - - -template -BOOST_CXX14_CONSTEXPR inline ctti_type_index ctti_type_index::type_id() BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::remove_reference::type no_ref_t; - typedef BOOST_DEDUCED_TYPENAME boost::remove_cv::type no_cvr_t; - return ctti_type_index(boost::detail::ctti::n()); -} - - - -template -BOOST_CXX14_CONSTEXPR inline ctti_type_index ctti_type_index::type_id_with_cvr() BOOST_NOEXCEPT { - return ctti_type_index(boost::detail::ctti::n()); -} - - -template -inline ctti_type_index ctti_type_index::type_id_runtime(const T& variable) BOOST_NOEXCEPT { - return variable.boost_type_index_type_id_runtime_(); -} - - -BOOST_CXX14_CONSTEXPR inline const char* ctti_type_index::raw_name() const BOOST_NOEXCEPT { - return data_; -} - - -BOOST_CXX14_CONSTEXPR inline const char* ctti_type_index::name() const BOOST_NOEXCEPT { - return data_; -} - -inline std::size_t ctti_type_index::get_raw_name_length() const BOOST_NOEXCEPT { - return std::strlen(raw_name() + detail::ctti_skip_size_at_end); -} - - -inline std::string ctti_type_index::pretty_name() const { - std::size_t len = get_raw_name_length(); - while (raw_name()[len - 1] == ' ') --len; // MSVC sometimes adds whitespaces - return std::string(raw_name(), len); -} - - -inline std::size_t ctti_type_index::hash_code() const BOOST_NOEXCEPT { - return boost::hash_range(raw_name(), raw_name() + get_raw_name_length()); -} - - -}} // namespace boost::typeindex - -#endif // BOOST_TYPE_INDEX_CTTI_TYPE_INDEX_HPP - diff --git a/external/include/boost_1_75/boost/type_index/detail/compile_time_type_info.hpp b/external/include/boost_1_75/boost/type_index/detail/compile_time_type_info.hpp deleted file mode 100644 index dcc9aa99b0..0000000000 --- a/external/include/boost_1_75/boost/type_index/detail/compile_time_type_info.hpp +++ /dev/null @@ -1,339 +0,0 @@ -// -// Copyright 2012-2020 Antony Polukhin. -// -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_DETAIL_COMPILE_TIME_TYPE_INFO_HPP -#define BOOST_TYPE_INDEX_DETAIL_COMPILE_TIME_TYPE_INFO_HPP - -/// \file compile_time_type_info.hpp -/// \brief Contains helper macros and implementation details of boost::typeindex::ctti_type_index. -/// Not intended for inclusion from user's code. - -#include -#include -#include -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -/// @cond -#if defined(__has_builtin) -#if __has_builtin(__builtin_constant_p) -#define BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(x) __builtin_constant_p(x) -#endif -#if __has_builtin(__builtin_strcmp) -#define BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(str1, str2) __builtin_strcmp(str1, str2) -#endif -#elif defined(__GNUC__) -#define BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(x) __builtin_constant_p(x) -#define BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(str1, str2) __builtin_strcmp(str1, str2) -#endif - -#define BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(begin_skip, end_skip, runtime_skip, runtime_skip_until) \ - namespace boost { namespace typeindex { namespace detail { \ - BOOST_STATIC_CONSTEXPR std::size_t ctti_skip_size_at_begin = begin_skip; \ - BOOST_STATIC_CONSTEXPR std::size_t ctti_skip_size_at_end = end_skip; \ - BOOST_STATIC_CONSTEXPR bool ctti_skip_more_at_runtime = runtime_skip; \ - BOOST_STATIC_CONSTEXPR char ctti_skip_until_runtime[] = runtime_skip_until; \ - }}} /* namespace boost::typeindex::detail */ \ - /**/ -/// @endcond - - -#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED) - /* Nothing to document. All the macro docs are moved to */ -#elif defined(BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING) -# include - BOOST_PP_EXPAND( BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING ) -#elif defined(_MSC_VER) && !defined(__clang__) && defined (BOOST_NO_CXX11_NOEXCEPT) - // sizeof("const char *__cdecl boost::detail::ctti<") - 1, sizeof(">::n(void)") - 1 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(40, 10, false, "") -#elif defined(_MSC_VER) && !defined(__clang__) && !defined (BOOST_NO_CXX11_NOEXCEPT) - // sizeof("const char *__cdecl boost::detail::ctti<") - 1, sizeof(">::n(void) noexcept") - 1 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(40, 19, false, "") -#elif defined(__clang__) && defined(__APPLE__) - // Someone made __clang_major__ equal to LLVM version rather than compiler version - // on APPLE platform. - // - // Using less efficient solution because there is no good way to detect real version of Clang. - // sizeof("static const char *boost::detail::ctti<") - 1, sizeof("]") - 1, true, "???????????>::n() [T = int" - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 1, true, "T = ") -#elif defined(__clang__) && (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ == 0)) - // sizeof("static const char *boost::detail::ctti<") - 1, sizeof(">::n()") - 1 - // note: checked on 3.0 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 6, false, "") -#elif defined(__clang__) && (__clang_major__ >= 4 || (__clang_major__ == 3 && __clang_minor__ > 0)) - // sizeof("static const char *boost::detail::ctti<") - 1, sizeof("]") - 1, true, "int>::n() [T = int" - // note: checked on 3.1, 3.4 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(39, 1, true, "T = ") -#elif defined(__EDG__) && !defined(BOOST_NO_CXX14_CONSTEXPR) - // sizeof("static cha boost::detail::ctti::s() [with I = 40U, T = ") - 1, sizeof("]") - 1 - // note: checked on 4.14 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(58, 1, false, "") -#elif defined(__EDG__) && defined(BOOST_NO_CXX14_CONSTEXPR) - // sizeof("static const char *boost::detail::ctti::n() [with T = ") - 1, sizeof("]") - 1 - // note: checked on 4.14 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "") -#elif defined(__GNUC__) && (__GNUC__ < 7) && !defined(BOOST_NO_CXX14_CONSTEXPR) - // sizeof("static constexpr char boost::detail::ctti::s() [with unsigned int I = 0u; T = ") - 1, sizeof("]") - 1 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(81, 1, false, "") -#elif defined(__GNUC__) && (__GNUC__ >= 7) && !defined(BOOST_NO_CXX14_CONSTEXPR) - // sizeof("static constexpr char boost::detail::ctti::s() [with unsigned int I = 0; T = ") - 1, sizeof("]") - 1 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(80, 1, false, "") -#elif defined(__GNUC__) && defined(BOOST_NO_CXX14_CONSTEXPR) - // sizeof("static const char* boost::detail::ctti::n() [with T = ") - 1, sizeof("]") - 1 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "") -#elif defined(__ghs__) - // sizeof("static const char *boost::detail::ctti::n() [with T = ") - 1, sizeof("]") - 1 - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(57, 1, false, "") -#else - // Deafult code for other platforms... Just skip nothing! - BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS(0, 0, false, "") -#endif - -#undef BOOST_TYPE_INDEX_REGISTER_CTTI_PARSING_PARAMS - -namespace boost { namespace typeindex { namespace detail { - template - BOOST_CXX14_CONSTEXPR inline void assert_compile_time_legths() BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - Condition, - "TypeIndex library is misconfigured for your compiler. " - "Please define BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING to correct values. See section " - "'RTTI emulation limitations' of the documentation for more information." - ); - } - - template - BOOST_CXX14_CONSTEXPR inline void failed_to_get_function_name() BOOST_NOEXCEPT { - BOOST_STATIC_ASSERT_MSG( - sizeof(T) && false, - "TypeIndex library could not detect your compiler. " - "Please make the BOOST_TYPE_INDEX_FUNCTION_SIGNATURE macro use " - "correct compiler macro for getting the whole function name. " - "Define BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING to correct value after that." - ); - } - -#if defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) - BOOST_CXX14_CONSTEXPR BOOST_FORCEINLINE bool is_constant_string(const char* str) BOOST_NOEXCEPT { - while (BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT(*str)) { - if (*str == '\0') - return true; - ++str; - } - return false; - } -#endif // defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) - - template - BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::false_type) BOOST_NOEXCEPT { - return begin; - } - - template - BOOST_CXX14_CONSTEXPR inline ForwardIterator1 constexpr_search( - ForwardIterator1 first1, - ForwardIterator1 last1, - ForwardIterator2 first2, - ForwardIterator2 last2) BOOST_NOEXCEPT - { - if (first2 == last2) { - return first1; // specified in C++11 - } - - while (first1 != last1) { - ForwardIterator1 it1 = first1; - ForwardIterator2 it2 = first2; - - while (*it1 == *it2) { - ++it1; - ++it2; - if (it2 == last2) return first1; - if (it1 == last1) return last1; - } - - ++first1; - } - - return last1; - } - - BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp_loop(const char *v1, const char *v2) BOOST_NOEXCEPT { - while (*v1 != '\0' && *v1 == *v2) { - ++v1; - ++v2; - } - - return static_cast(*v1) - *v2; - } - - BOOST_CXX14_CONSTEXPR inline int constexpr_strcmp(const char *v1, const char *v2) BOOST_NOEXCEPT { -#if !defined(BOOST_NO_CXX14_CONSTEXPR) && defined(BOOST_TYPE_INDEX_DETAIL_IS_CONSTANT) && defined(BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP) - if (boost::typeindex::detail::is_constant_string(v1) && boost::typeindex::detail::is_constant_string(v2)) - return boost::typeindex::detail::constexpr_strcmp_loop(v1, v2); - return BOOST_TYPE_INDEX_DETAIL_BUILTIN_STRCMP(v1, v2); -#elif !defined(BOOST_NO_CXX14_CONSTEXPR) - return boost::typeindex::detail::constexpr_strcmp_loop(v1, v2); -#else - return std::strcmp(v1, v2); -#endif - } - - template - BOOST_CXX14_CONSTEXPR inline const char* skip_begining_runtime(const char* begin, boost::true_type) BOOST_NOEXCEPT { - const char* const it = constexpr_search( - begin, begin + ArrayLength, - ctti_skip_until_runtime, ctti_skip_until_runtime + sizeof(ctti_skip_until_runtime) - 1 - ); - return (it == begin + ArrayLength ? begin : it + sizeof(ctti_skip_until_runtime) - 1); - } - - template - BOOST_CXX14_CONSTEXPR inline const char* skip_begining(const char* begin) BOOST_NOEXCEPT { - assert_compile_time_legths<(ArrayLength > ctti_skip_size_at_begin + ctti_skip_size_at_end)>(); - return skip_begining_runtime( - begin + ctti_skip_size_at_begin, - boost::integral_constant() - ); - } - -#if !defined(__clang__) && defined(__GNUC__) && !defined(BOOST_NO_CXX14_CONSTEXPR) - template - struct index_seq {}; - - template - struct make_index_sequence_join; - - template - struct make_index_sequence_join, index_seq > { - typedef index_seq type; - }; - - template - struct make_index_seq_impl { - typedef typename make_index_sequence_join< - typename make_index_seq_impl::type, - typename make_index_seq_impl::type - >::type type; - }; - - template - struct make_index_seq_impl { - typedef index_seq<> type; - }; - - template - struct make_index_seq_impl { - typedef index_seq type; - }; - - template - struct cstring { - static constexpr unsigned int size_ = sizeof...(C); - static constexpr char data_[size_] = { C... }; - }; - - template - constexpr char cstring::data_[]; -#endif - -}}} // namespace boost::typeindex::detail - -namespace boost { namespace detail { - -/// Noncopyable type_info that does not require RTTI. -/// CTTI == Compile Time Type Info. -/// This name must be as short as possible, to avoid code bloat -template -struct ctti { - -#if !defined(__clang__) && defined(__GNUC__) && !defined(BOOST_NO_CXX14_CONSTEXPR) - //helper functions - template - constexpr static char s() BOOST_NOEXCEPT { // step - constexpr unsigned int offset = - (I >= 10u ? 1u : 0u) - + (I >= 100u ? 1u : 0u) - + (I >= 1000u ? 1u : 0u) - + (I >= 10000u ? 1u : 0u) - + (I >= 100000u ? 1u : 0u) - + (I >= 1000000u ? 1u : 0u) - ; - - #if defined(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE) - return BOOST_TYPE_INDEX_FUNCTION_SIGNATURE[I + offset]; - #elif defined(__FUNCSIG__) - return __FUNCSIG__[I + offset]; - #else - return __PRETTY_FUNCTION__[I + offset]; - #endif - } - - template - constexpr static const char* impl(::boost::typeindex::detail::index_seq ) BOOST_NOEXCEPT { - return ::boost::typeindex::detail::cstring()...>::data_; - } - - template // `D` means `Dummy` - constexpr static const char* n() BOOST_NOEXCEPT { - #if defined(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE) - constexpr unsigned int size = sizeof(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE); - #elif defined(__FUNCSIG__) - constexpr unsigned int size = sizeof(__FUNCSIG__); - #elif defined(__PRETTY_FUNCTION__) \ - || defined(__GNUC__) \ - || (defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) \ - || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICC) && (__ICC >= 600)) \ - || defined(__ghs__) \ - || defined(__DMC__) - constexpr unsigned int size = sizeof(__PRETTY_FUNCTION__); - #else - boost::typeindex::detail::failed_to_get_function_name(); - #endif - - boost::typeindex::detail::assert_compile_time_legths< - (size > boost::typeindex::detail::ctti_skip_size_at_begin + boost::typeindex::detail::ctti_skip_size_at_end + sizeof("const *") - 1) - >(); - static_assert(!boost::typeindex::detail::ctti_skip_more_at_runtime, "Skipping for GCC in C++14 mode is unsupported"); - - typedef typename boost::typeindex::detail::make_index_seq_impl< - boost::typeindex::detail::ctti_skip_size_at_begin, - size - sizeof("const *") + 1 - boost::typeindex::detail::ctti_skip_size_at_begin - >::type idx_seq; - return impl(idx_seq()); - } -#else - /// Returns raw name. Must be as short, as possible, to avoid code bloat - BOOST_CXX14_CONSTEXPR static const char* n() BOOST_NOEXCEPT { - #if defined(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE) - return boost::typeindex::detail::skip_begining< sizeof(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE) >(BOOST_TYPE_INDEX_FUNCTION_SIGNATURE); - #elif defined(__FUNCSIG__) - return boost::typeindex::detail::skip_begining< sizeof(__FUNCSIG__) >(__FUNCSIG__); - #elif defined(__PRETTY_FUNCTION__) \ - || defined(__GNUC__) \ - || (defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) \ - || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICC) && (__ICC >= 600)) \ - || defined(__ghs__) \ - || defined(__DMC__) \ - || defined(__clang__) - return boost::typeindex::detail::skip_begining< sizeof(__PRETTY_FUNCTION__) >(__PRETTY_FUNCTION__); - #else - boost::typeindex::detail::failed_to_get_function_name(); - return ""; - #endif - } -#endif -}; - -}} // namespace boost::detail - -#endif // BOOST_TYPE_INDEX_DETAIL_COMPILE_TIME_TYPE_INFO_HPP diff --git a/external/include/boost_1_75/boost/type_index/detail/ctti_register_class.hpp b/external/include/boost_1_75/boost/type_index/detail/ctti_register_class.hpp deleted file mode 100644 index c15ec82f30..0000000000 --- a/external/include/boost_1_75/boost/type_index/detail/ctti_register_class.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright 2013-2020 Antony Polukhin. -// -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_CTTI_REGISTER_CLASS_HPP -#define BOOST_TYPE_INDEX_CTTI_REGISTER_CLASS_HPP - -/// \file ctti_register_class.hpp -/// \brief Contains BOOST_TYPE_INDEX_REGISTER_CLASS macro implementation that uses boost::typeindex::ctti_type_index. -/// Not intended for inclusion from user's code. - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -namespace boost { namespace typeindex { namespace detail { - -template -inline const ctti_data& ctti_construct_typeid_ref(const T*) BOOST_NOEXCEPT { - return ctti_construct(); -} - -}}} // namespace boost::typeindex::detail - -/// @cond -#define BOOST_TYPE_INDEX_REGISTER_CLASS \ - virtual const boost::typeindex::detail::ctti_data& boost_type_index_type_id_runtime_() const BOOST_NOEXCEPT { \ - return boost::typeindex::detail::ctti_construct_typeid_ref(this); \ - } \ -/**/ -/// @endcond - -#endif // BOOST_TYPE_INDEX_CTTI_REGISTER_CLASS_HPP - diff --git a/external/include/boost_1_75/boost/type_index/detail/stl_register_class.hpp b/external/include/boost_1_75/boost/type_index/detail/stl_register_class.hpp deleted file mode 100644 index b8df8c75fc..0000000000 --- a/external/include/boost_1_75/boost/type_index/detail/stl_register_class.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright 2013-2020 Antony Polukhin. -// -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_STL_REGISTER_CLASS_HPP -#define BOOST_TYPE_INDEX_STL_REGISTER_CLASS_HPP - -/// \file stl_register_class.hpp -/// \brief Contains BOOST_TYPE_INDEX_REGISTER_CLASS macro implementation that uses boost::typeindex::stl_type_index. -/// Not intended for inclusion from user's code. - -#include - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -namespace boost { namespace typeindex { namespace detail { - -template -inline const stl_type_index::type_info_t& stl_construct_typeid_ref(const T*) BOOST_NOEXCEPT { - return typeid(T); -} - -}}} // namespace boost::typeindex::detail - -/// @cond -#define BOOST_TYPE_INDEX_REGISTER_CLASS \ - virtual const boost::typeindex::stl_type_index::type_info_t& boost_type_index_type_id_runtime_() const BOOST_NOEXCEPT { \ - return boost::typeindex::detail::stl_construct_typeid_ref(this); \ - } \ -/**/ -/// @endcond - -#endif // BOOST_TYPE_INDEX_STL_REGISTER_CLASS_HPP - diff --git a/external/include/boost_1_75/boost/type_index/stl_type_index.hpp b/external/include/boost_1_75/boost/type_index/stl_type_index.hpp deleted file mode 100644 index 3f3177229f..0000000000 --- a/external/include/boost_1_75/boost/type_index/stl_type_index.hpp +++ /dev/null @@ -1,278 +0,0 @@ -// -// Copyright 2013-2020 Antony Polukhin. -// -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP -#define BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP - -/// \file stl_type_index.hpp -/// \brief Contains boost::typeindex::stl_type_index class. -/// -/// boost::typeindex::stl_type_index class can be used as a drop-in replacement -/// for std::type_index. -/// -/// It is used in situations when RTTI is enabled or typeid() method is available. -/// When typeid() is disabled or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro -/// is defined boost::typeindex::ctti is usually used instead of boost::typeindex::stl_type_index. - -#include - -// MSVC is capable of calling typeid(T) even when RTTI is off -#if defined(BOOST_NO_RTTI) && !defined(BOOST_MSVC) -#error "File boost/type_index/stl_type_index.ipp is not usable when typeid() is not available." -#endif - -#include -#include // std::strcmp, std::strlen, std::strstr -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if (defined(_MSC_VER) && _MSC_VER > 1600) \ - || (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ > 5 && defined(__GXX_EXPERIMENTAL_CXX0X__)) \ - || (defined(__GNUC__) && __GNUC__ > 4 && __cplusplus >= 201103) -# define BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE -#else -# include -#endif - -#if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \ - || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744) -# include -# include -# include -#endif - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -namespace boost { namespace typeindex { - -/// \class stl_type_index -/// This class is a wrapper around std::type_info, that workarounds issues and provides -/// much more rich interface. \b For \b description \b of \b functions \b see type_index_facade. -/// -/// This class requires typeid() to work. For cases when RTTI is disabled see ctti_type_index. -class stl_type_index - : public type_index_facade< - stl_type_index, - #ifdef BOOST_NO_STD_TYPEINFO - type_info - #else - std::type_info - #endif - > -{ -public: -#ifdef BOOST_NO_STD_TYPEINFO - typedef type_info type_info_t; -#else - typedef std::type_info type_info_t; -#endif - -private: - const type_info_t* data_; - -public: - inline stl_type_index() BOOST_NOEXCEPT - : data_(&typeid(void)) - {} - - inline stl_type_index(const type_info_t& data) BOOST_NOEXCEPT - : data_(&data) - {} - - inline const type_info_t& type_info() const BOOST_NOEXCEPT; - - inline const char* raw_name() const BOOST_NOEXCEPT; - inline const char* name() const BOOST_NOEXCEPT; - inline std::string pretty_name() const; - - inline std::size_t hash_code() const BOOST_NOEXCEPT; - inline bool equal(const stl_type_index& rhs) const BOOST_NOEXCEPT; - inline bool before(const stl_type_index& rhs) const BOOST_NOEXCEPT; - - template - inline static stl_type_index type_id() BOOST_NOEXCEPT; - - template - inline static stl_type_index type_id_with_cvr() BOOST_NOEXCEPT; - - template - inline static stl_type_index type_id_runtime(const T& value) BOOST_NOEXCEPT; -}; - -inline const stl_type_index::type_info_t& stl_type_index::type_info() const BOOST_NOEXCEPT { - return *data_; -} - - -inline const char* stl_type_index::raw_name() const BOOST_NOEXCEPT { -#ifdef _MSC_VER - return data_->raw_name(); -#else - return data_->name(); -#endif -} - -inline const char* stl_type_index::name() const BOOST_NOEXCEPT { - return data_->name(); -} - -inline std::string stl_type_index::pretty_name() const { - static const char cvr_saver_name[] = "boost::typeindex::detail::cvr_saver<"; - static BOOST_CONSTEXPR_OR_CONST std::string::size_type cvr_saver_name_len = sizeof(cvr_saver_name) - 1; - - // In case of MSVC demangle() is a no-op, and name() already returns demangled name. - // In case of GCC and Clang (on non-Windows systems) name() returns mangled name and demangle() undecorates it. - const boost::core::scoped_demangled_name demangled_name(data_->name()); - - const char* begin = demangled_name.get(); - if (!begin) { - boost::throw_exception(std::runtime_error("Type name demangling failed")); - } - - const std::string::size_type len = std::strlen(begin); - const char* end = begin + len; - - if (len > cvr_saver_name_len) { - const char* b = std::strstr(begin, cvr_saver_name); - if (b) { - b += cvr_saver_name_len; - - // Trim leading spaces - while (*b == ' ') { // the string is zero terminated, we won't exceed the buffer size - ++ b; - } - - // Skip the closing angle bracket - const char* e = end - 1; - while (e > b && *e != '>') { - -- e; - } - - // Trim trailing spaces - while (e > b && *(e - 1) == ' ') { - -- e; - } - - if (b < e) { - // Parsing seems to have succeeded, the type name is not empty - begin = b; - end = e; - } - } - } - - return std::string(begin, end); -} - - -inline std::size_t stl_type_index::hash_code() const BOOST_NOEXCEPT { -#ifdef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE - return data_->hash_code(); -#else - return boost::hash_range(raw_name(), raw_name() + std::strlen(raw_name())); -#endif -} - - -/// @cond - -// for this compiler at least, cross-shared-library type_info -// comparisons don't work, so we are using typeid(x).name() instead. -# if (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5))) \ - || defined(_AIX) \ - || (defined(__sgi) && defined(__host_mips)) \ - || (defined(__hpux) && defined(__HP_aCC)) \ - || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC)) -# define BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES -# endif - -/// @endcond - -inline bool stl_type_index::equal(const stl_type_index& rhs) const BOOST_NOEXCEPT { -#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES - return raw_name() == rhs.raw_name() || !std::strcmp(raw_name(), rhs.raw_name()); -#else - return !!(*data_ == *rhs.data_); -#endif -} - -inline bool stl_type_index::before(const stl_type_index& rhs) const BOOST_NOEXCEPT { -#ifdef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES - return raw_name() != rhs.raw_name() && std::strcmp(raw_name(), rhs.raw_name()) < 0; -#else - return !!data_->before(*rhs.data_); -#endif -} - -#undef BOOST_TYPE_INDEX_CLASSINFO_COMPARE_BY_NAMES - - -template -inline stl_type_index stl_type_index::type_id() BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::remove_reference::type no_ref_t; - typedef BOOST_DEDUCED_TYPENAME boost::remove_cv::type no_cvr_prefinal_t; - - # if (defined(__EDG_VERSION__) && __EDG_VERSION__ < 245) \ - || (defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 744) - - // Old EDG-based compilers seem to mistakenly distinguish 'integral' from 'signed integral' - // in typeid() expressions. Full template specialization for 'integral' fixes that issue: - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_signed::value, - boost::make_signed, - boost::type_identity - >::type no_cvr_prefinal_lazy_t; - - typedef BOOST_DEDUCED_TYPENAME no_cvr_prefinal_t::type no_cvr_t; - #else - typedef no_cvr_prefinal_t no_cvr_t; - #endif - - return typeid(no_cvr_t); -} - -namespace detail { - template class cvr_saver{}; -} - -template -inline stl_type_index stl_type_index::type_id_with_cvr() BOOST_NOEXCEPT { - typedef BOOST_DEDUCED_TYPENAME boost::conditional< - boost::is_reference::value || boost::is_const::value || boost::is_volatile::value, - detail::cvr_saver, - T - >::type type; - - return typeid(type); -} - - -template -inline stl_type_index stl_type_index::type_id_runtime(const T& value) BOOST_NOEXCEPT { -#ifdef BOOST_NO_RTTI - return value.boost_type_index_type_id_runtime_(); -#else - return typeid(value); -#endif -} - -}} // namespace boost::typeindex - -#undef BOOST_TYPE_INDEX_STD_TYPE_INDEX_HAS_HASH_CODE - -#endif // BOOST_TYPE_INDEX_STL_TYPE_INDEX_HPP diff --git a/external/include/boost_1_75/boost/type_index/type_index_facade.hpp b/external/include/boost_1_75/boost/type_index/type_index_facade.hpp deleted file mode 100644 index cf5ef1e9ae..0000000000 --- a/external/include/boost_1_75/boost/type_index/type_index_facade.hpp +++ /dev/null @@ -1,297 +0,0 @@ -// -// Copyright 2013-2020 Antony Polukhin. -// -// -// 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) -// - -#ifndef BOOST_TYPE_INDEX_TYPE_INDEX_FACADE_HPP -#define BOOST_TYPE_INDEX_TYPE_INDEX_FACADE_HPP - -#include -#include -#include -#include - -#if !defined(BOOST_NO_IOSTREAM) -#if !defined(BOOST_NO_IOSFWD) -#include // for std::basic_ostream -#else -#include -#endif -#endif - -#ifdef BOOST_HAS_PRAGMA_ONCE -# pragma once -#endif - -namespace boost { namespace typeindex { - -/// \class type_index_facade -/// -/// This class takes care about the comparison operators, hash functions and -/// ostream operators. Use this class as a public base class for defining new -/// type_info-conforming classes. -/// -/// \b Example: -/// \code -/// class stl_type_index: public type_index_facade -/// { -/// public: -/// typedef std::type_info type_info_t; -/// private: -/// const type_info_t* data_; -/// -/// public: -/// stl_type_index(const type_info_t& data) noexcept -/// : data_(&data) -/// {} -/// // ... -/// }; -/// \endcode -/// -/// \tparam Derived Class derived from type_index_facade. -/// \tparam TypeInfo Class that will be used as a base type_info class. -/// \note Take a look at the protected methods. They are \b not \b defined in type_index_facade. -/// Protected member functions raw_name() \b must be defined in Derived class. All the other -/// methods are mandatory. -/// \see 'Making a custom type_index' section for more information about -/// creating your own type_index using type_index_facade. -template -class type_index_facade { -private: - /// @cond - BOOST_CXX14_CONSTEXPR const Derived & derived() const BOOST_NOEXCEPT { - return *static_cast(this); - } - /// @endcond -public: - typedef TypeInfo type_info_t; - - /// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw. - /// \return Name of a type. By default returns Derived::raw_name(). - inline const char* name() const BOOST_NOEXCEPT { - return derived().raw_name(); - } - - /// \b Override: This function \b may be redefined in Derived class. Overrides may throw. - /// \return Human readable type name. By default returns Derived::name(). - inline std::string pretty_name() const { - return derived().name(); - } - - /// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw. - /// \return True if two types are equal. By default compares types by raw_name(). - inline bool equal(const Derived& rhs) const BOOST_NOEXCEPT { - const char* const left = derived().raw_name(); - const char* const right = rhs.raw_name(); - return left == right || !std::strcmp(left, right); - } - - /// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw. - /// \return True if rhs is greater than this. By default compares types by raw_name(). - inline bool before(const Derived& rhs) const BOOST_NOEXCEPT { - const char* const left = derived().raw_name(); - const char* const right = rhs.raw_name(); - return left != right && std::strcmp(left, right) < 0; - } - - /// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw. - /// \return Hash code of a type. By default hashes types by raw_name(). - /// \note Derived class header \b must include , \b unless this function is redefined in - /// Derived class to not use boost::hash_range(). - inline std::size_t hash_code() const BOOST_NOEXCEPT { - const char* const name_raw = derived().raw_name(); - return boost::hash_range(name_raw, name_raw + std::strlen(name_raw)); - } - -#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED) -protected: - /// \b Override: This function \b must be redefined in Derived class. Overrides \b must not throw. - /// \return Pointer to unredable/raw type name. - inline const char* raw_name() const BOOST_NOEXCEPT; - - /// \b Override: This function \b may be redefined in Derived class. Overrides \b must not throw. - /// \return Const reference to underlying low level type_info_t. - inline const type_info_t& type_info() const BOOST_NOEXCEPT; - - /// This is a factory method that is used to create instances of Derived classes. - /// boost::typeindex::type_id() will call this method, if Derived has same type as boost::typeindex::type_index. - /// - /// \b Override: This function \b may be redefined and made public in Derived class. Overrides \b must not throw. - /// Overrides \b must remove const, volatile && and & modifiers from T. - /// \tparam T Type for which type_index must be created. - /// \return type_index for type T. - template - static Derived type_id() BOOST_NOEXCEPT; - - /// This is a factory method that is used to create instances of Derived classes. - /// boost::typeindex::type_id_with_cvr() will call this method, if Derived has same type as boost::typeindex::type_index. - /// - /// \b Override: This function \b may be redefined and made public in Derived class. Overrides \b must not throw. - /// Overrides \b must \b not remove const, volatile && and & modifiers from T. - /// \tparam T Type for which type_index must be created. - /// \return type_index for type T. - template - static Derived type_id_with_cvr() BOOST_NOEXCEPT; - - /// This is a factory method that is used to create instances of Derived classes. - /// boost::typeindex::type_id_runtime(const T&) will call this method, if Derived has same type as boost::typeindex::type_index. - /// - /// \b Override: This function \b may be redefined and made public in Derived class. - /// \param variable Variable which runtime type will be stored in type_index. - /// \return type_index with runtime type of variable. - template - static Derived type_id_runtime(const T& variable) BOOST_NOEXCEPT; - -#endif - -}; - -/// @cond -template -BOOST_CXX14_CONSTEXPR inline bool operator == (const type_index_facade& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return static_cast(lhs).equal(static_cast(rhs)); -} - -template -BOOST_CXX14_CONSTEXPR inline bool operator < (const type_index_facade& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return static_cast(lhs).before(static_cast(rhs)); -} - - - -template -BOOST_CXX14_CONSTEXPR inline bool operator > (const type_index_facade& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return rhs < lhs; -} - -template -BOOST_CXX14_CONSTEXPR inline bool operator <= (const type_index_facade& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return !(lhs > rhs); -} - -template -BOOST_CXX14_CONSTEXPR inline bool operator >= (const type_index_facade& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return !(lhs < rhs); -} - -template -BOOST_CXX14_CONSTEXPR inline bool operator != (const type_index_facade& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return !(lhs == rhs); -} - -// ######################### COMPARISONS with Derived ############################ // -template -inline bool operator == (const TypeInfo& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return Derived(lhs) == rhs; -} - -template -inline bool operator < (const TypeInfo& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return Derived(lhs) < rhs; -} - -template -inline bool operator > (const TypeInfo& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return rhs < Derived(lhs); -} - -template -inline bool operator <= (const TypeInfo& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return !(Derived(lhs) > rhs); -} - -template -inline bool operator >= (const TypeInfo& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return !(Derived(lhs) < rhs); -} - -template -inline bool operator != (const TypeInfo& lhs, const type_index_facade& rhs) BOOST_NOEXCEPT { - return !(Derived(lhs) == rhs); -} - - -template -inline bool operator == (const type_index_facade& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT { - return lhs == Derived(rhs); -} - -template -inline bool operator < (const type_index_facade& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT { - return lhs < Derived(rhs); -} - -template -inline bool operator > (const type_index_facade& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT { - return Derived(rhs) < lhs; -} - -template -inline bool operator <= (const type_index_facade& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT { - return !(lhs > Derived(rhs)); -} - -template -inline bool operator >= (const type_index_facade& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT { - return !(lhs < Derived(rhs)); -} - -template -inline bool operator != (const type_index_facade& lhs, const TypeInfo& rhs) BOOST_NOEXCEPT { - return !(lhs == Derived(rhs)); -} - -// ######################### COMPARISONS with Derived END ############################ // - -/// @endcond - -#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED) - -/// noexcept comparison operators for type_index_facade classes. -bool operator ==, !=, <, ... (const type_index_facade& lhs, const type_index_facade& rhs) noexcept; - -/// noexcept comparison operators for type_index_facade and it's TypeInfo classes. -bool operator ==, !=, <, ... (const type_index_facade& lhs, const TypeInfo& rhs) noexcept; - -/// noexcept comparison operators for type_index_facade's TypeInfo and type_index_facade classes. -bool operator ==, !=, <, ... (const TypeInfo& lhs, const type_index_facade& rhs) noexcept; - -#endif - -#ifndef BOOST_NO_IOSTREAM -#ifdef BOOST_NO_TEMPLATED_IOSTREAMS -/// @cond -/// Ostream operator that will output demangled name -template -inline std::ostream& operator<<(std::ostream& ostr, const type_index_facade& ind) { - ostr << static_cast(ind).pretty_name(); - return ostr; -} -/// @endcond -#else -/// Ostream operator that will output demangled name. -template -inline std::basic_ostream& operator<<( - std::basic_ostream& ostr, - const type_index_facade& ind) -{ - ostr << static_cast(ind).pretty_name(); - return ostr; -} -#endif // BOOST_NO_TEMPLATED_IOSTREAMS -#endif // BOOST_NO_IOSTREAM - -/// This free function is used by Boost's unordered containers. -/// \note has to be included if this function is used. -template -inline std::size_t hash_value(const type_index_facade& lhs) BOOST_NOEXCEPT { - return static_cast(lhs).hash_code(); -} - -}} // namespace boost::typeindex - -#endif // BOOST_TYPE_INDEX_TYPE_INDEX_FACADE_HPP - diff --git a/external/include/boost_1_75/boost/type_traits.hpp b/external/include/boost_1_75/boost/type_traits.hpp deleted file mode 100644 index 406fd02d00..0000000000 --- a/external/include/boost_1_75/boost/type_traits.hpp +++ /dev/null @@ -1,163 +0,0 @@ -// (C) Copyright John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// See boost/type_traits/*.hpp for full copyright notices. - -#ifndef BOOST_TYPE_TRAITS_HPP -#define BOOST_TYPE_TRAITS_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if !defined(BOOST_BORLANDC) && !defined(__CUDACC__) -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238)) -#include -#include -#endif - -#endif // BOOST_TYPE_TRAITS_HPP diff --git a/external/include/boost_1_75/boost/type_traits/aligned_storage.hpp b/external/include/boost_1_75/boost/type_traits/aligned_storage.hpp deleted file mode 100644 index 8ad00a20e0..0000000000 --- a/external/include/boost_1_75/boost/type_traits/aligned_storage.hpp +++ /dev/null @@ -1,138 +0,0 @@ -//----------------------------------------------------------------------------- -// boost aligned_storage.hpp header file -// See http://www.boost.org for updates, documentation, and revision history. -//----------------------------------------------------------------------------- -// -// Copyright (c) 2002-2003 -// Eric Friedman, Itay Maman -// -// 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) - -#ifndef BOOST_TT_ALIGNED_STORAGE_HPP -#define BOOST_TT_ALIGNED_STORAGE_HPP - -#include // for std::size_t - -#include -#include -#include -#include -#include -#include - -namespace boost { - -namespace detail { namespace aligned_storage { - -BOOST_STATIC_CONSTANT( - std::size_t - , alignment_of_max_align = ::boost::alignment_of::value - ); - -// -// To be TR1 conforming this must be a POD type: -// -template < - std::size_t size_ - , std::size_t alignment_ -> -struct aligned_storage_imp -{ - union data_t - { - char buf[size_]; - - typename ::boost::type_with_alignment::type align_; - } data_; - void* address() const { return const_cast(this); } -}; -template -struct aligned_storage_imp -{ - union data_t - { - char buf[size]; - ::boost::detail::max_align align_; - } data_; - void* address() const { return const_cast(this); } -}; - -template< std::size_t alignment_ > -struct aligned_storage_imp<0u,alignment_> -{ - /* intentionally empty */ - void* address() const { return 0; } -}; - -}} // namespace detail::aligned_storage - -template < - std::size_t size_ - , std::size_t alignment_ = std::size_t(-1) -> -class aligned_storage : -#ifndef BOOST_BORLANDC - private -#else - public -#endif - ::boost::detail::aligned_storage::aligned_storage_imp -{ - -public: // constants - - typedef ::boost::detail::aligned_storage::aligned_storage_imp type; - - BOOST_STATIC_CONSTANT( - std::size_t - , size = size_ - ); - BOOST_STATIC_CONSTANT( - std::size_t - , alignment = ( - alignment_ == std::size_t(-1) - ? ::boost::detail::aligned_storage::alignment_of_max_align - : alignment_ - ) - ); - -private: // noncopyable - - aligned_storage(const aligned_storage&); - aligned_storage& operator=(const aligned_storage&); - -public: // structors - - aligned_storage() - { - } - - ~aligned_storage() - { - } - -public: // accessors - - void* address() - { - return static_cast(this)->address(); - } - - const void* address() const - { - return static_cast(this)->address(); - } -}; - -// -// Make sure that is_pod recognises aligned_storage<>::type -// as a POD (Note that aligned_storage<> itself is not a POD): -// -template -struct is_pod< ::boost::detail::aligned_storage::aligned_storage_imp > : public true_type{}; - -} // namespace boost - -#endif // BOOST_ALIGNED_STORAGE_HPP diff --git a/external/include/boost_1_75/boost/type_traits/common_type.hpp b/external/include/boost_1_75/boost/type_traits/common_type.hpp deleted file mode 100644 index 7136d3eed2..0000000000 --- a/external/include/boost_1_75/boost/type_traits/common_type.hpp +++ /dev/null @@ -1,152 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_COMMON_TYPE_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_NO_CXX11_DECLTYPE) -#include -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#endif - -namespace boost -{ - -// variadic common_type - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -template struct common_type -{ -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - -template using common_type_t = typename common_type::type; - -namespace type_traits_detail -{ - -template using common_type_fold = common_type_t, T...>; - -} // namespace type_traits_detail - -template -struct common_type: type_traits_detail::mp_defer -{ -}; - -#else - -template -struct common_type: common_type::type, T...> -{ -}; - -#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - -#else - -template< - class T1 = void, class T2 = void, class T3 = void, - class T4 = void, class T5 = void, class T6 = void, - class T7 = void, class T8 = void, class T9 = void -> -struct common_type: common_type::type, T3, T4, T5, T6, T7, T8, T9> -{ -}; - -#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -// one argument - -template struct common_type: boost::decay -{ - BOOST_STATIC_ASSERT_MSG(::boost::is_complete::value || ::boost::is_void::value || ::boost::is_array::value, "Arguments to common_type must both be complete types"); -}; - -// two arguments - -namespace type_traits_detail -{ - -// binary common_type - -#if !defined(BOOST_NO_CXX11_DECLTYPE) - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#if !defined(BOOST_MSVC) || BOOST_MSVC > 1800 - -// internal compiler error on msvc-12.0 - -template using builtin_common_type = typename boost::decay()? boost::declval(): boost::declval() )>::type; - -template struct common_type_impl: mp_defer -{ -}; - -#else - -template using builtin_common_type = decltype( boost::declval()? boost::declval(): boost::declval() ); - -template struct common_type_impl_2: mp_defer -{ -}; - -template using decay_common_type = typename boost::decay::type>::type; - -template struct common_type_impl: mp_defer -{ -}; - -#endif // !defined(BOOST_MSVC) || BOOST_MSVC > 1800 - -#else - -template struct common_type_impl: boost::decay()? boost::declval(): boost::declval() )> -{ -}; - -#endif // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#endif // #if !defined(BOOST_NO_CXX11_DECLTYPE) - -// decay helper - -template::type, class T2d = typename boost::decay::type> struct common_type_decay_helper: boost::common_type -{ -}; - -template struct common_type_decay_helper: common_type_impl -{ -}; - -} // type_traits_detail - -template struct common_type: type_traits_detail::common_type_decay_helper -{ - BOOST_STATIC_ASSERT_MSG(::boost::is_complete::value || ::boost::is_void::value || ::boost::is_array::value, "Arguments to common_type must both be complete types"); - BOOST_STATIC_ASSERT_MSG(::boost::is_complete::value || ::boost::is_void::value || ::boost::is_array::value, "Arguments to common_type must both be complete types"); -}; - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_COMMON_TYPE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/composite_traits.hpp b/external/include/boost_1_75/boost/type_traits/composite_traits.hpp deleted file mode 100644 index 985a4c51d3..0000000000 --- a/external/include/boost_1_75/boost/type_traits/composite_traits.hpp +++ /dev/null @@ -1,29 +0,0 @@ -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. -// -// defines traits classes for composite types: -// is_array, is_pointer, is_reference, is_member_pointer, is_enum, is_union. -// - -#ifndef BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED -#define BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#endif // BOOST_TT_COMPOSITE_TRAITS_HPP_INCLUDED - - - - - diff --git a/external/include/boost_1_75/boost/type_traits/conjunction.hpp b/external/include/boost_1_75/boost/type_traits/conjunction.hpp deleted file mode 100644 index aa5440b60e..0000000000 --- a/external/include/boost_1_75/boost/type_traits/conjunction.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2020 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_CONJUNCTION_HPP_INCLUDED -#define BOOST_TT_CONJUNCTION_HPP_INCLUDED - -#include -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#endif - -namespace boost { - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template -struct conjunction - : true_type { }; - -template -struct conjunction - : T { }; - -template -struct conjunction - : conditional, T>::type { }; -#else -template -struct conjunction - : conditional::type { }; -#endif - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/copy_cv.hpp b/external/include/boost_1_75/boost/type_traits/copy_cv.hpp deleted file mode 100644 index 2f3dc37adc..0000000000 --- a/external/include/boost_1_75/boost/type_traits/copy_cv.hpp +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include -#include -#include -#include -#include - -namespace boost -{ - -template struct copy_cv -{ -private: - - typedef typename boost::conditional::value, typename boost::add_const::type, T>::type CT; - -public: - - typedef typename boost::conditional::value, typename boost::add_volatile::type, CT>::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using copy_cv_t = typename copy_cv::type; - -#endif - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_COPY_CV_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/copy_cv_ref.hpp b/external/include/boost_1_75/boost/type_traits/copy_cv_ref.hpp deleted file mode 100644 index 59cbc66e99..0000000000 --- a/external/include/boost_1_75/boost/type_traits/copy_cv_ref.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2019 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ -#ifndef BOOST_TT_COPY_CV_REF_HPP_INCLUDED -#define BOOST_TT_COPY_CV_REF_HPP_INCLUDED - -#include -#include -#include - -namespace boost { - -template -struct copy_cv_ref { - typedef typename copy_reference::type >::type, U>::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template -using copy_cv_ref_t = typename copy_cv_ref::type; -#endif - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/copy_reference.hpp b/external/include/boost_1_75/boost/type_traits/copy_reference.hpp deleted file mode 100644 index 005668142a..0000000000 --- a/external/include/boost_1_75/boost/type_traits/copy_reference.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2019 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ -#ifndef BOOST_TT_COPY_REFERENCE_HPP_INCLUDED -#define BOOST_TT_COPY_REFERENCE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { - -template -struct copy_reference { - typedef typename conditional::value, - typename add_rvalue_reference::type, - typename conditional::value, - typename add_lvalue_reference::type, T>::type>::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template -using copy_reference_t = typename copy_reference::type; -#endif - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/cv_traits.hpp b/external/include/boost_1_75/boost/type_traits/cv_traits.hpp deleted file mode 100644 index 5bd6c4f066..0000000000 --- a/external/include/boost_1_75/boost/type_traits/cv_traits.hpp +++ /dev/null @@ -1,24 +0,0 @@ -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. -// -// defines traits classes for cv-qualified types: -// is_const, is_volatile, remove_const, remove_volatile, remove_cv. - -#ifndef BOOST_TT_CV_TRAITS_HPP_INCLUDED -#define BOOST_TT_CV_TRAITS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif // BOOST_TT_CV_TRAITS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/common_arithmetic_type.hpp b/external/include/boost_1_75/boost/type_traits/detail/common_arithmetic_type.hpp deleted file mode 100644 index 1a76e16d3f..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/common_arithmetic_type.hpp +++ /dev/null @@ -1,220 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_ARITHMETIC_TYPE_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DETAIL_COMMON_ARITHMETIC_TYPE_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include - -namespace boost -{ - -namespace type_traits_detail -{ - -template struct arithmetic_type; - -// Types bool, char, char16_t, char32_t, wchar_t, -// and the signed and unsigned integer types are -// collectively called integral types - -template<> struct arithmetic_type<1> -{ - typedef bool type; - typedef char (&result_type) [1]; -}; - -template<> struct arithmetic_type<2> -{ - typedef char type; - typedef char (&result_type) [2]; -}; - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T - -template<> struct arithmetic_type<3> -{ - typedef wchar_t type; - typedef char (&result_type) [3]; -}; - -#endif - -// There are five standard signed integer types: -// "signed char", "short int", "int", "long int", and "long long int". - -template<> struct arithmetic_type<4> -{ - typedef signed char type; - typedef char (&result_type) [4]; -}; - -template<> struct arithmetic_type<5> -{ - typedef short type; - typedef char (&result_type) [5]; -}; - -template<> struct arithmetic_type<6> -{ - typedef int type; - typedef char (&result_type) [6]; -}; - -template<> struct arithmetic_type<7> -{ - typedef long type; - typedef char (&result_type) [7]; -}; - -template<> struct arithmetic_type<8> -{ - typedef boost::long_long_type type; - typedef char (&result_type) [8]; -}; - -// For each of the standard signed integer types, there exists a corresponding -// (but different) standard unsigned integer type: "unsigned char", "unsigned short int", -// "unsigned int", "unsigned long int", and "unsigned long long int" - -template<> struct arithmetic_type<9> -{ - typedef unsigned char type; - typedef char (&result_type) [9]; -}; - -template<> struct arithmetic_type<10> -{ - typedef unsigned short type; - typedef char (&result_type) [10]; -}; - -template<> struct arithmetic_type<11> -{ - typedef unsigned int type; - typedef char (&result_type) [11]; -}; - -template<> struct arithmetic_type<12> -{ - typedef unsigned long type; - typedef char (&result_type) [12]; -}; - -template<> struct arithmetic_type<13> -{ - typedef boost::ulong_long_type type; - typedef char (&result_type) [13]; -}; - -// There are three floating point types: float, double, and long double. - -template<> struct arithmetic_type<14> -{ - typedef float type; - typedef char (&result_type) [14]; -}; - -template<> struct arithmetic_type<15> -{ - typedef double type; - typedef char (&result_type) [15]; -}; - -template<> struct arithmetic_type<16> -{ - typedef long double type; - typedef char (&result_type) [16]; -}; - -#if !defined( BOOST_NO_CXX11_CHAR16_T ) - -template<> struct arithmetic_type<17> -{ - typedef char16_t type; - typedef char (&result_type) [17]; -}; - -#endif - -#if !defined( BOOST_NO_CXX11_CHAR32_T ) - -template<> struct arithmetic_type<18> -{ - typedef char32_t type; - typedef char (&result_type) [18]; -}; - -#endif - -#if defined( BOOST_HAS_INT128 ) - -template<> struct arithmetic_type<19> -{ - typedef boost::int128_type type; - typedef char (&result_type) [19]; -}; - -template<> struct arithmetic_type<20> -{ - typedef boost::uint128_type type; - typedef char (&result_type) [20]; -}; - -#endif - -template class common_arithmetic_type -{ -private: - - static arithmetic_type<1>::result_type select( arithmetic_type<1>::type ); - static arithmetic_type<2>::result_type select( arithmetic_type<2>::type ); -#ifndef BOOST_NO_INTRINSIC_WCHAR_T - static arithmetic_type<3>::result_type select( arithmetic_type<3>::type ); -#endif - static arithmetic_type<4>::result_type select( arithmetic_type<4>::type ); - static arithmetic_type<5>::result_type select( arithmetic_type<5>::type ); - static arithmetic_type<6>::result_type select( arithmetic_type<6>::type ); - static arithmetic_type<7>::result_type select( arithmetic_type<7>::type ); - static arithmetic_type<8>::result_type select( arithmetic_type<8>::type ); - static arithmetic_type<9>::result_type select( arithmetic_type<9>::type ); - static arithmetic_type<10>::result_type select( arithmetic_type<10>::type ); - static arithmetic_type<11>::result_type select( arithmetic_type<11>::type ); - static arithmetic_type<12>::result_type select( arithmetic_type<12>::type ); - static arithmetic_type<13>::result_type select( arithmetic_type<13>::type ); - static arithmetic_type<14>::result_type select( arithmetic_type<14>::type ); - static arithmetic_type<15>::result_type select( arithmetic_type<15>::type ); - static arithmetic_type<16>::result_type select( arithmetic_type<16>::type ); - -#if !defined( BOOST_NO_CXX11_CHAR16_T ) - static arithmetic_type<17>::result_type select( arithmetic_type<17>::type ); -#endif - -#if !defined( BOOST_NO_CXX11_CHAR32_T ) - static arithmetic_type<18>::result_type select( arithmetic_type<18>::type ); -#endif - -#if defined( BOOST_HAS_INT128 ) - static arithmetic_type<19>::result_type select( arithmetic_type<19>::type ); - static arithmetic_type<20>::result_type select( arithmetic_type<20>::type ); -#endif - - static bool cond(); - - BOOST_STATIC_CONSTANT(int, selector = sizeof(select(cond() ? T() : U()))); - -public: - - typedef typename arithmetic_type::type type; -}; - -} // namespace type_traits_detail - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_ARITHMETIC_TYPE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/common_type_impl.hpp b/external/include/boost_1_75/boost/type_traits/detail/common_type_impl.hpp deleted file mode 100644 index 53a634d4df..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/common_type_impl.hpp +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMPL_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMPL_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - -namespace type_traits_detail -{ - -// the arguments to common_type_impl have already been passed through decay<> - -template struct common_type_impl; - -// same type - -template struct common_type_impl -{ - typedef T type; -}; - -// one of the operands is a class type, try conversions in both directions - -template struct ct_class -{ - BOOST_STATIC_CONSTANT( bool, ct = boost::is_class::value || boost::is_union::value ); - BOOST_STATIC_CONSTANT( bool, cu = boost::is_class::value || boost::is_union::value ); - - BOOST_STATIC_CONSTANT( bool, value = ct || cu ); -}; - -template struct common_type_impl3; - -template struct common_type_class: public boost::conditional< - - boost::is_convertible::value && !boost::is_convertible::value, - boost::type_identity, - - typename boost::conditional< - - boost::is_convertible::value && !boost::is_convertible::value, - boost::type_identity, - - common_type_impl3 - >::type ->::type -{ -}; - -template struct common_type_impl: public boost::conditional< - ct_class::value, - common_type_class, - common_type_impl3 >::type -{ -}; - -// pointers - -template struct common_type_impl4; - -template struct common_type_impl3: public boost::conditional< - boost::is_pointer::value || boost::is_pointer::value, - composite_pointer_type, - common_type_impl4 >::type -{ -}; - -// pointers to members - -template struct common_type_impl5; - -template struct common_type_impl4: public boost::conditional< - boost::is_member_pointer::value || boost::is_member_pointer::value, - composite_member_pointer_type, - common_type_impl5 >::type -{ -}; - -// arithmetic types (including class types w/ conversions to arithmetic and enums) - -template struct common_type_impl5: public common_arithmetic_type -{ -}; - -} // namespace type_traits_detail - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMMON_TYPE_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/composite_member_pointer_type.hpp b/external/include/boost_1_75/boost/type_traits/detail/composite_member_pointer_type.hpp deleted file mode 100644 index a747ee4db6..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/composite_member_pointer_type.hpp +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_MEMBER_POINTER_TYPE_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_MEMBER_POINTER_TYPE_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - -namespace type_traits_detail -{ - -template struct composite_member_pointer_type; - -// nullptr_t - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - -#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) ) - -template struct composite_member_pointer_type -{ - typedef T C::* type; -}; - -template struct composite_member_pointer_type -{ - typedef T C::* type; -}; - -template<> struct composite_member_pointer_type -{ - typedef decltype(nullptr) type; -}; - -#else - -template struct composite_member_pointer_type -{ - typedef T C::* type; -}; - -template struct composite_member_pointer_type -{ - typedef T C::* type; -}; - -template<> struct composite_member_pointer_type -{ - typedef std::nullptr_t type; -}; - -#endif - -#endif // !defined( BOOST_NO_CXX11_NULLPTR ) - -template struct common_member_class; - -template struct common_member_class -{ - typedef C type; -}; - -template struct common_member_class -{ - typedef typename boost::conditional< - - boost::is_base_of::value, - C2, - typename boost::conditional::value, C1, void>::type - - >::type type; -}; - -//This indirection avoids compilation errors on some older -//compilers like MSVC 7.1 -template -struct common_member_class_pointer_to_member -{ - typedef CT CB::* type; -}; - -template struct composite_member_pointer_type -{ -private: - - typedef typename composite_pointer_type::type CPT; - typedef typename boost::remove_pointer::type CT; - - typedef typename common_member_class::type CB; - -public: - - typedef typename common_member_class_pointer_to_member::type type; -}; - -} // namespace type_traits_detail - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_MEMBER_POINTER_TYPE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/composite_pointer_type.hpp b/external/include/boost_1_75/boost/type_traits/detail/composite_pointer_type.hpp deleted file mode 100644 index ae21e18ade..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/composite_pointer_type.hpp +++ /dev/null @@ -1,153 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_POINTER_TYPE_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_POINTER_TYPE_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - -namespace type_traits_detail -{ - -template struct composite_pointer_type; - -// same type - -template struct composite_pointer_type -{ - typedef T* type; -}; - -// nullptr_t - -#if !defined( BOOST_NO_CXX11_NULLPTR ) - -#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) ) - -template struct composite_pointer_type -{ - typedef T* type; -}; - -template struct composite_pointer_type -{ - typedef T* type; -}; - -template<> struct composite_pointer_type -{ - typedef decltype(nullptr) type; -}; - -#else - -template struct composite_pointer_type -{ - typedef T* type; -}; - -template struct composite_pointer_type -{ - typedef T* type; -}; - -template<> struct composite_pointer_type -{ - typedef std::nullptr_t type; -}; - -#endif - -#endif // !defined( BOOST_NO_CXX11_NULLPTR ) - -namespace detail -{ - -template struct has_common_pointee -{ -private: - - typedef typename boost::remove_cv::type T2; - typedef typename boost::remove_cv::type U2; - -public: - - BOOST_STATIC_CONSTANT( bool, value = - (boost::is_same::value) - || boost::is_void::value - || boost::is_void::value - || (boost::is_base_of::value) - || (boost::is_base_of::value) ); -}; - -template struct common_pointee -{ -private: - - typedef typename boost::remove_cv::type T2; - typedef typename boost::remove_cv::type U2; - -public: - - typedef typename boost::conditional< - - boost::is_same::value || boost::is_void::value || boost::is_base_of::value, - typename boost::copy_cv::type, - typename boost::copy_cv::type - - >::type type; -}; - -template struct composite_pointer_impl -{ -private: - - typedef typename boost::remove_cv::type T2; - typedef typename boost::remove_cv::type U2; - -public: - - typedef typename boost::copy_cv::type const, T>::type, U>::type type; -}; - -//Old compilers like MSVC-7.1 have problems using boost::conditional in -//composite_pointer_type. Partially specializing on has_common_pointee::value -//seems to make their life easier -template::value > -struct composite_pointer_type_dispatch - : common_pointee -{}; - -template -struct composite_pointer_type_dispatch - : composite_pointer_impl -{}; - - -} // detail - - -template struct composite_pointer_type -{ - typedef typename detail::composite_pointer_type_dispatch::type* type; -}; - -} // namespace type_traits_detail - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_COMPOSITE_POINTER_TYPE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/config.hpp b/external/include/boost_1_75/boost/type_traits/detail/config.hpp deleted file mode 100644 index 8ac3b4a668..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/config.hpp +++ /dev/null @@ -1,113 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_CONFIG_HPP_INCLUDED -#define BOOST_TT_CONFIG_HPP_INCLUDED - -#ifndef BOOST_CONFIG_HPP -#include -#endif -#include -#include - -// -// whenever we have a conversion function with ellipses -// it needs to be declared __cdecl to suppress compiler -// warnings from MS and Borland compilers (this *must* -// appear before we include is_same.hpp below): -#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && !defined(BOOST_DISABLE_WIN32)) -# define BOOST_TT_DECL __cdecl -#else -# define BOOST_TT_DECL /**/ -#endif - -# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000) \ - || BOOST_WORKAROUND(__IBMCPP__, < 600 ) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, < 0x5A0) \ - || defined(__ghs) \ - || BOOST_WORKAROUND(__HP_aCC, < 60700) \ - || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580))) \ - && defined(BOOST_NO_IS_ABSTRACT) - -# define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1 - -#endif - -#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION -# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1 -#endif - -// -// define BOOST_TT_TEST_MS_FUNC_SIGS -// when we want to test __stdcall etc function types with is_function etc -// (Note, does not work with Borland, even though it does support __stdcall etc): -// -#if defined(_MSC_EXTENSIONS) && !defined(BOOST_BORLANDC) -# define BOOST_TT_TEST_MS_FUNC_SIGS -#endif - -// -// define BOOST_TT_NO_CV_FUNC_TEST -// if tests for cv-qualified member functions don't -// work in is_member_function_pointer -// -#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600) -# define BOOST_TT_NO_CV_FUNC_TEST -#endif - -// -// Macros that have been deprecated, defined here for backwards compatibility: -// -#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(x) -#define BOOST_TT_BROKEN_COMPILER_SPEC(x) - -// -// Can we implement "accurate" binary operator detection: -// -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(BOOST_GCC, < 40900) -# define BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION -#endif - -#if defined(__clang__) && (__clang_major__ == 3) && (__clang_minor__ < 2) && defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) -#undef BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION -#endif - -// -// Can we implement accurate is_function/is_member_function_pointer (post C++03)? -// -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40805)\ - && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4) -# define BOOST_TT_HAS_ASCCURATE_IS_FUNCTION -#endif - -#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703) -# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM -#endif -#if defined(__APPLE_CC__) && defined(__clang_major__) && (__clang_major__ == 9) && (__clang_minor__ == 0) -# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM -# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE -#endif -// -// If we have the SD6 macros (check for C++11's __cpp_rvalue_references), and we don't have __cpp_noexcept_function_type -// set, then don't treat noexcept functions as seperate types. This is a fix for msvc with the /Zc:noexceptTypes- flag set. -// -#if defined(__cpp_rvalue_references) && !defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) -# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE -#endif -// -// Check MSVC specific macro on older msvc compilers that don't support the SD6 macros, we don't rely on this -// if the SD6 macros *are* available as it appears to be undocumented. -// -#if defined(BOOST_MSVC) && !defined(__cpp_rvalue_references) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(_NOEXCEPT_TYPES_SUPPORTED) -# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE -#endif - -#endif // BOOST_TT_CONFIG_HPP_INCLUDED - - diff --git a/external/include/boost_1_75/boost/type_traits/detail/has_binary_operator.hpp b/external/include/boost_1_75/boost/type_traits/detail/has_binary_operator.hpp deleted file mode 100644 index 7e74705eb3..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/has_binary_operator.hpp +++ /dev/null @@ -1,279 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#include -#include - -// cannot include this header without getting warnings of the kind: -// gcc: -// warning: value computed is not used -// warning: comparison between signed and unsigned integer expressions -// msvc: -// warning C4018: '<' : signed/unsigned mismatch -// warning C4244: '+=' : conversion from 'double' to 'char', possible loss of data -// warning C4547: '*' : operator before comma has no effect; expected operator with side-effect -// warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) -// warning C4804: '<' : unsafe use of type 'bool' in operation -// warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation -// cannot find another implementation -> declared as system header to suppress these warnings. -#if defined(__GNUC__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::type> - : public boost::integral_constant::type>() BOOST_TT_TRAIT_OP std::declval::type>()), Ret>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::type> - : public boost::integral_constant::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)::type>() BOOST_TT_TRAIT_OP std::declval::type>())>::type> - : public boost::true_type {}; - - } - - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail:: BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail:: BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail:: BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) {}; - - -} - -#else - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { -namespace detail { - -// This namespace ensures that argument-dependent name lookup does not mess things up. -namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { - -// 1. a function to have an instance of type T without requiring T to be default -// constructible -template T &make(); - - -// 2. we provide our operator definition for types that do not have one already - -// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is -// found in the type's own namespace (our own operator is used) so that we have -// a means to know that our operator was used -struct no_operator { }; - -// this class allows implicit conversions and makes the following operator -// definition less-preferred than any other such operators that might be found -// via argument-dependent name lookup -struct any { template any(T const&); }; - -// when operator BOOST_TT_TRAIT_OP is not available, this one is used -no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&); - - -// 3. checks if the operator returns void or not -// conditions: Lhs!=void and Rhs!=void - -// we first redefine "operator," so that we have no compilation error if -// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of -// (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if -// operator BOOST_TT_TRAIT_OP returns void or not: -// - operator BOOST_TT_TRAIT_OP returns void -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t -// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int -struct returns_void_t { }; -template int operator,(const T&, returns_void_t); -template int operator,(const volatile T&, returns_void_t); - -// this intermediate trait has member value of type bool: -// - value==true -> operator BOOST_TT_TRAIT_OP returns void -// - value==false -> operator BOOST_TT_TRAIT_OP does not return void -template < typename Lhs, typename Rhs > -struct operator_returns_void { - // overloads of function returns_void make the difference - // yes_type and no_type have different size by construction - static ::boost::type_traits::yes_type returns_void(returns_void_t); - static ::boost::type_traits::no_type returns_void(int); - BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make() BOOST_TT_TRAIT_OP make(),returns_void_t()))))); -}; - - -// 4. checks if the return type is Ret or Ret==dont_care -// conditions: Lhs!=void and Rhs!=void - -struct dont_care { }; - -template < typename Lhs, typename Rhs, typename Ret, bool Returns_void > -struct operator_returns_Ret; - -template < typename Lhs, typename Rhs > -struct operator_returns_Ret < Lhs, Rhs, dont_care, true > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Lhs, typename Rhs > -struct operator_returns_Ret < Lhs, Rhs, dont_care, false > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Lhs, typename Rhs > -struct operator_returns_Ret < Lhs, Rhs, void, true > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Lhs, typename Rhs > -struct operator_returns_Ret < Lhs, Rhs, void, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Lhs, typename Rhs, typename Ret > -struct operator_returns_Ret < Lhs, Rhs, Ret, true > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -// otherwise checks if it is convertible to Ret using the sizeof trick -// based on overload resolution -// condition: Ret!=void and Ret!=dont_care and the operator does not return void -template < typename Lhs, typename Rhs, typename Ret > -struct operator_returns_Ret < Lhs, Rhs, Ret, false > { - static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret - static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make() BOOST_TT_TRAIT_OP make()))==sizeof(::boost::type_traits::yes_type))); -}; - - -// 5. checks for operator existence -// condition: Lhs!=void and Rhs!=void - -// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other -// existing one; -// this is done with redefinition of "operator," that returns no_operator or has_operator -struct has_operator { }; -no_operator operator,(no_operator, has_operator); - -template < typename Lhs, typename Rhs > -struct operator_exists { - static ::boost::type_traits::yes_type s_check(has_operator); // this version is preferred when operator exists - static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make() BOOST_TT_TRAIT_OP make()),make())))==sizeof(::boost::type_traits::yes_type))); -}; - - -// 6. main trait: to avoid any compilation error, this class behaves -// differently when operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the -// standard. -// Forbidden_if is a bool that is: -// - true when the operator BOOST_TT_TRAIT_OP(Lhs, Rhs) is forbidden by the standard -// (would yield compilation error if used) -// - false otherwise -template < typename Lhs, typename Rhs, typename Ret, bool Forbidden_if > -struct trait_impl1; - -template < typename Lhs, typename Rhs, typename Ret > -struct trait_impl1 < Lhs, Rhs, Ret, true > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Lhs, typename Rhs, typename Ret > -struct trait_impl1 < Lhs, Rhs, Ret, false > { - BOOST_STATIC_CONSTANT(bool, - value = (operator_exists < Lhs, Rhs >::value && operator_returns_Ret < Lhs, Rhs, Ret, operator_returns_void < Lhs, Rhs >::value >::value)); -}; - -// some specializations needs to be declared for the special void case -template < typename Rhs, typename Ret > -struct trait_impl1 < void, Rhs, Ret, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Lhs, typename Ret > -struct trait_impl1 < Lhs, void, Ret, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Ret > -struct trait_impl1 < void, void, Ret, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -// defines some typedef for convenience -template < typename Lhs, typename Rhs, typename Ret > -struct trait_impl { - typedef typename ::boost::remove_reference::type Lhs_noref; - typedef typename ::boost::remove_reference::type Rhs_noref; - typedef typename ::boost::remove_cv::type Lhs_nocv; - typedef typename ::boost::remove_cv::type Rhs_nocv; - typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer::type >::type >::type Lhs_noptr; - typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer::type >::type >::type Rhs_noptr; - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); -}; - -} // namespace impl -} // namespace detail - -// this is the accessible definition of the trait to end user -template -struct BOOST_TT_TRAIT_NAME : public integral_constant::value)>{}; - -} // namespace boost - -#endif - -#if defined(BOOST_MSVC) -# pragma warning ( pop ) -#endif - diff --git a/external/include/boost_1_75/boost/type_traits/detail/has_postfix_operator.hpp b/external/include/boost_1_75/boost/type_traits/detail/has_postfix_operator.hpp deleted file mode 100644 index d900acd3d4..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/has_postfix_operator.hpp +++ /dev/null @@ -1,250 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#include -#include - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)::type>() BOOST_TT_TRAIT_OP) >::type> - : public boost::integral_constant::type>() BOOST_TT_TRAIT_OP), Ret>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)::type>()BOOST_TT_TRAIT_OP)>::type> - : public boost::integral_constant::type>() BOOST_TT_TRAIT_OP)>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)::type>() BOOST_TT_TRAIT_OP)>::type> - : public boost::true_type {}; - - } - - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) {}; - - -} - -#else - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// avoid warnings -#if defined(__GNUC__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4244 4913 4800) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -namespace boost { -namespace detail { - -// This namespace ensures that argument-dependent name lookup does not mess things up. -namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { - -// 1. a function to have an instance of type T without requiring T to be default -// constructible -template T &make(); - - -// 2. we provide our operator definition for types that do not have one already - -// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is -// found in the type's own namespace (our own operator is used) so that we have -// a means to know that our operator was used -struct no_operator { }; - -// this class allows implicit conversions and makes the following operator -// definition less-preferred than any other such operators that might be found -// via argument-dependent name lookup -struct any { template any(T const&); }; - -// when operator BOOST_TT_TRAIT_OP is not available, this one is used -no_operator operator BOOST_TT_TRAIT_OP (const any&, int); - - -// 3. checks if the operator returns void or not -// conditions: Lhs!=void - -// we first redefine "operator," so that we have no compilation error if -// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of -// (lhs BOOST_TT_TRAIT_OP, returns_void_t()) to deduce if -// operator BOOST_TT_TRAIT_OP returns void or not: -// - operator BOOST_TT_TRAIT_OP returns void -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns returns_void_t -// - operator BOOST_TT_TRAIT_OP returns !=void -> (lhs BOOST_TT_TRAIT_OP, returns_void_t()) returns int -struct returns_void_t { }; -template int operator,(const T&, returns_void_t); -template int operator,(const volatile T&, returns_void_t); - -// this intermediate trait has member value of type bool: -// - value==true -> operator BOOST_TT_TRAIT_OP returns void -// - value==false -> operator BOOST_TT_TRAIT_OP does not return void -template < typename Lhs > -struct operator_returns_void { - // overloads of function returns_void make the difference - // yes_type and no_type have different size by construction - static ::boost::type_traits::yes_type returns_void(returns_void_t); - static ::boost::type_traits::no_type returns_void(int); - BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make() BOOST_TT_TRAIT_OP,returns_void_t()))))); -}; - - -// 4. checks if the return type is Ret or Ret==dont_care -// conditions: Lhs!=void - -struct dont_care { }; - -template < typename Lhs, typename Ret, bool Returns_void > -struct operator_returns_Ret; - -template < typename Lhs > -struct operator_returns_Ret < Lhs, dont_care, true > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Lhs > -struct operator_returns_Ret < Lhs, dont_care, false > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Lhs > -struct operator_returns_Ret < Lhs, void, true > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Lhs > -struct operator_returns_Ret < Lhs, void, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Lhs, typename Ret > -struct operator_returns_Ret < Lhs, Ret, true > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -// otherwise checks if it is convertible to Ret using the sizeof trick -// based on overload resolution -// condition: Ret!=void and Ret!=dont_care and the operator does not return void -template < typename Lhs, typename Ret > -struct operator_returns_Ret < Lhs, Ret, false > { - static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret - static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(make() BOOST_TT_TRAIT_OP))==sizeof(::boost::type_traits::yes_type))); -}; - - -// 5. checks for operator existence -// condition: Lhs!=void - -// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other -// existing one; -// this is done with redefinition of "operator," that returns no_operator or has_operator -struct has_operator { }; -no_operator operator,(no_operator, has_operator); - -template < typename Lhs > -struct operator_exists { - static ::boost::type_traits::yes_type s_check(has_operator); // this version is preferred when operator exists - static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make() BOOST_TT_TRAIT_OP),make())))==sizeof(::boost::type_traits::yes_type))); -}; - - -// 6. main trait: to avoid any compilation error, this class behaves -// differently when operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the -// standard. -// Forbidden_if is a bool that is: -// - true when the operator BOOST_TT_TRAIT_OP(Lhs) is forbidden by the standard -// (would yield compilation error if used) -// - false otherwise -template < typename Lhs, typename Ret, bool Forbidden_if > -struct trait_impl1; - -template < typename Lhs, typename Ret > -struct trait_impl1 < Lhs, Ret, true > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Lhs, typename Ret > -struct trait_impl1 < Lhs, Ret, false > { - BOOST_STATIC_CONSTANT(bool, - value = (operator_exists < Lhs >::value && operator_returns_Ret < Lhs, Ret, operator_returns_void < Lhs >::value >::value)); -}; - -// specialization needs to be declared for the special void case -template < typename Ret > -struct trait_impl1 < void, Ret, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -// defines some typedef for convenience -template < typename Lhs, typename Ret > -struct trait_impl { - typedef typename ::boost::remove_reference::type Lhs_noref; - typedef typename ::boost::remove_cv::type Lhs_nocv; - typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer::type >::type >::type Lhs_noptr; - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); -}; - -} // namespace impl -} // namespace detail - -// this is the accessible definition of the trait to end user -template -struct BOOST_TT_TRAIT_NAME : public integral_constant::value)>{}; - -} // namespace boost - -#if defined(BOOST_MSVC) -# pragma warning ( pop ) -#endif - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/detail/has_prefix_operator.hpp b/external/include/boost_1_75/boost/type_traits/detail/has_prefix_operator.hpp deleted file mode 100644 index 77818c20fb..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/has_prefix_operator.hpp +++ /dev/null @@ -1,280 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron, Robert Stewart, Steven Watanabe & Roman Perepelitsa. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#include -#include - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_GCC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated" -#endif -#if defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4804) -#endif - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp)::type>()) >::type> - : public boost::integral_constant::type>() ), Ret>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp)::type>())>::type> - : public boost::integral_constant::type>())>::value> {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) : public boost::false_type {}; - - template - struct BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp)::type>() )>::type> - : public boost::true_type {}; - - } - - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _ret_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _void_imp) {}; - template - struct BOOST_TT_TRAIT_NAME : public boost::binary_op_detail::BOOST_JOIN(BOOST_TT_TRAIT_NAME, _dc_imp) {}; - - -} - -#ifdef BOOST_GCC -#pragma GCC diagnostic pop -#endif -#if defined(BOOST_MSVC) -# pragma warning ( pop ) -#endif - -#else - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// cannot include this header without getting warnings of the kind: -// gcc: -// warning: value computed is not used -// warning: comparison between signed and unsigned integer expressions -// msvc: -// warning C4146: unary minus operator applied to unsigned type, result still unsigned -// warning C4804: '-' : unsafe use of type 'bool' in operation -// cannot find another implementation -> declared as system header to suppress these warnings. -#if defined(__GNUC__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4146 4804 4913 4244 4800) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -# if BOOST_WORKAROUND(_MSC_VER, >= 1913) -# pragma warning ( disable : 4834) -# endif -#endif - - - -namespace boost { -namespace detail { - -// This namespace ensures that argument-dependent name lookup does not mess things up. -namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) { - -// 1. a function to have an instance of type T without requiring T to be default -// constructible -template T &make(); - - -// 2. we provide our operator definition for types that do not have one already - -// a type returned from operator BOOST_TT_TRAIT_OP when no such operator is -// found in the type's own namespace (our own operator is used) so that we have -// a means to know that our operator was used -struct no_operator { }; - -// this class allows implicit conversions and makes the following operator -// definition less-preferred than any other such operators that might be found -// via argument-dependent name lookup -struct any { template any(T const&); }; - -// when operator BOOST_TT_TRAIT_OP is not available, this one is used -no_operator operator BOOST_TT_TRAIT_OP (const any&); - - -// 3. checks if the operator returns void or not -// conditions: Rhs!=void - -// we first redefine "operator," so that we have no compilation error if -// operator BOOST_TT_TRAIT_OP returns void and we can use the return type of -// (BOOST_TT_TRAIT_OP rhs, returns_void_t()) to deduce if -// operator BOOST_TT_TRAIT_OP returns void or not: -// - operator BOOST_TT_TRAIT_OP returns void -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns returns_void_t -// - operator BOOST_TT_TRAIT_OP returns !=void -> (BOOST_TT_TRAIT_OP rhs, returns_void_t()) returns int -struct returns_void_t { }; -template int operator,(const T&, returns_void_t); -template int operator,(const volatile T&, returns_void_t); - -// this intermediate trait has member value of type bool: -// - value==true -> operator BOOST_TT_TRAIT_OP returns void -// - value==false -> operator BOOST_TT_TRAIT_OP does not return void -template < typename Rhs > -struct operator_returns_void { - // overloads of function returns_void make the difference - // yes_type and no_type have different size by construction - static ::boost::type_traits::yes_type returns_void(returns_void_t); - static ::boost::type_traits::no_type returns_void(int); - BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((BOOST_TT_TRAIT_OP make(),returns_void_t()))))); -}; - - -// 4. checks if the return type is Ret or Ret==dont_care -// conditions: Rhs!=void - -struct dont_care { }; - -template < typename Rhs, typename Ret, bool Returns_void > -struct operator_returns_Ret; - -template < typename Rhs > -struct operator_returns_Ret < Rhs, dont_care, true > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Rhs > -struct operator_returns_Ret < Rhs, dont_care, false > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Rhs > -struct operator_returns_Ret < Rhs, void, true > { - BOOST_STATIC_CONSTANT(bool, value = true); -}; - -template < typename Rhs > -struct operator_returns_Ret < Rhs, void, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Rhs, typename Ret > -struct operator_returns_Ret < Rhs, Ret, true > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -// otherwise checks if it is convertible to Ret using the sizeof trick -// based on overload resolution -// condition: Ret!=void and Ret!=dont_care and the operator does not return void -template < typename Rhs, typename Ret > -struct operator_returns_Ret < Rhs, Ret, false > { - static ::boost::type_traits::yes_type is_convertible_to_Ret(Ret); // this version is preferred for types convertible to Ret - static ::boost::type_traits::no_type is_convertible_to_Ret(...); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(is_convertible_to_Ret(BOOST_TT_TRAIT_OP make()))==sizeof(::boost::type_traits::yes_type))); -}; - - -// 5. checks for operator existence -// condition: Rhs!=void - -// checks if our definition of operator BOOST_TT_TRAIT_OP is used or an other -// existing one; -// this is done with redefinition of "operator," that returns no_operator or has_operator -struct has_operator { }; -no_operator operator,(no_operator, has_operator); - -template < typename Rhs > -struct operator_exists { - static ::boost::type_traits::yes_type s_check(has_operator); // this version is preferred when operator exists - static ::boost::type_traits::no_type s_check(no_operator); // this version is used otherwise - - BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((BOOST_TT_TRAIT_OP make()),make())))==sizeof(::boost::type_traits::yes_type))); -}; - - -// 6. main trait: to avoid any compilation error, this class behaves -// differently when operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the -// standard. -// Forbidden_if is a bool that is: -// - true when the operator BOOST_TT_TRAIT_OP(Rhs) is forbidden by the standard -// (would yield compilation error if used) -// - false otherwise -template < typename Rhs, typename Ret, bool Forbidden_if > -struct trait_impl1; - -template < typename Rhs, typename Ret > -struct trait_impl1 < Rhs, Ret, true > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template < typename Rhs, typename Ret > -struct trait_impl1 < Rhs, Ret, false > { - BOOST_STATIC_CONSTANT(bool, - value = (operator_exists < Rhs >::value && operator_returns_Ret < Rhs, Ret, operator_returns_void < Rhs >::value >::value)); -}; - -// specialization needs to be declared for the special void case -template < typename Ret > -struct trait_impl1 < void, Ret, false > { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -// defines some typedef for convenience -template < typename Rhs, typename Ret > -struct trait_impl { - typedef typename ::boost::remove_reference::type Rhs_noref; - typedef typename ::boost::remove_cv::type Rhs_nocv; - typedef typename ::boost::remove_cv< typename ::boost::remove_reference< typename ::boost::remove_pointer::type >::type >::type Rhs_noptr; - BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value)); -}; - -} // namespace impl -} // namespace detail - -// this is the accessible definition of the trait to end user -template -struct BOOST_TT_TRAIT_NAME : public integral_constant::value)>{}; - -} // namespace boost - -#if defined(BOOST_MSVC) -# pragma warning ( pop ) -#endif - -#endif - diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_likely_lambda.hpp b/external/include/boost_1_75/boost/type_traits/detail/is_likely_lambda.hpp deleted file mode 100644 index 21810dda40..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/is_likely_lambda.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright 2017 Joaquin M Lopez Munoz. - * 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) - * - * See http://www.boost.org/libs/poly_collection for library home page. - */ - -#ifndef BOOST_TT_DETAIL_IS_LIKELY_STATELESS_LAMBDA_HPP -#define BOOST_TT_DETAIL_IS_LIKELY_STATELESS_LAMBDA_HPP - -#if defined(_MSC_VER) -#pragma once -#endif - -#include -#include - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) -// -// We don't need or use this, just define a dummy class: -// -namespace boost{ namespace type_traits_detail{ - -template -struct is_likely_stateless_lambda : public false_type {}; - -}} - -#elif !defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900)\ - && !(BOOST_WORKAROUND(BOOST_MSVC, == 1900) && defined(__CLR_VER)) - -#include -#include - -namespace boost{ - -namespace type_traits_detail{ - -/* Stateless lambda expressions have one (and only one) call operator and are - * convertible to a function pointer with the same signature. Non-lambda types - * could satisfy this too, hence the "likely" qualifier. - */ - -template -struct has_one_operator_call_helper -{ - template static boost::true_type test(decltype(&Q::operator())*); - template static boost::false_type test(...); - - using type=decltype(test(nullptr)); -}; - -template -using has_one_operator_call=typename has_one_operator_call_helper::type; - -template -struct equivalent_function_pointer -{ - template - static auto helper(R (Q::*)(Args...)const)->R(*)(Args...); - template - static auto helper(R (Q::*)(Args...))->R(*)(Args...); - - using type=decltype(helper(&T::operator())); -}; - -template -struct is_likely_stateless_lambda : false_type{}; - -template -struct is_likely_stateless_lambda< - T, - typename boost::enable_if_::value>::type> : - boost::is_convertible::type ->{}; - -} /* namespace type_traits_detail */ - -} /* namespace boost */ - -#else - // - // Can't implement this: - // -namespace boost { - namespace type_traits_detail { - - template - struct is_likely_stateless_lambda : public boost::integral_constant {}; -}} - -#endif -#endif - diff --git a/external/include/boost_1_75/boost/type_traits/detail/mp_defer.hpp b/external/include/boost_1_75/boost/type_traits/detail/mp_defer.hpp deleted file mode 100644 index f3beeb21bb..0000000000 --- a/external/include/boost_1_75/boost/type_traits/detail/mp_defer.hpp +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_DETAIL_MP_DEFER_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DETAIL_MP_DEFER_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include -#include - -namespace boost -{ - -namespace type_traits_detail -{ - -// mp_valid -// implementation by Bruno Dutra (by the name is_evaluable) - -template class F, class... T> -struct mp_valid_impl -{ - template class G, class = G> - static boost::true_type check_s(int); - - template class> - static boost::false_type check_s(...); - - using type = decltype(check_s(0)); -}; - -template class F, class... T> -using mp_valid = typename mp_valid_impl::type; - -// mp_defer - -struct mp_empty -{ -}; - -template class F, class... T> struct mp_defer_impl -{ - using type = F; -}; - -template class F, class... T> using mp_defer = typename boost::conditional::value, mp_defer_impl, mp_empty>::type; - -} // namespace type_traits_detail - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_DETAIL_MP_DEFER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/disjunction.hpp b/external/include/boost_1_75/boost/type_traits/disjunction.hpp deleted file mode 100644 index dd06991b74..0000000000 --- a/external/include/boost_1_75/boost/type_traits/disjunction.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright 2020 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_DISJUNCTION_HPP_INCLUDED -#define BOOST_TT_DISJUNCTION_HPP_INCLUDED - -#include -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#endif - -namespace boost { - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template -struct disjunction - : false_type { }; - -template -struct disjunction - : T { }; - -template -struct disjunction - : conditional >::type { }; -#else -template -struct disjunction - : conditional::type { }; -#endif - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/extent.hpp b/external/include/boost_1_75/boost/type_traits/extent.hpp deleted file mode 100644 index 2bf517fc70..0000000000 --- a/external/include/boost_1_75/boost/type_traits/extent.hpp +++ /dev/null @@ -1,139 +0,0 @@ - -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_EXTENT_HPP_INCLUDED -#define BOOST_TT_EXTENT_HPP_INCLUDED - -#include // size_t -#include -#include - -namespace boost { - -namespace detail{ - -#if defined( BOOST_CODEGEARC ) - // wrap the impl as main trait provides additional MPL lambda support - template < typename T, std::size_t N > - struct extent_imp { - static const std::size_t value = __array_extent(T, N); - }; - -#else - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = 0); -}; -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = R); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = R); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = R); -}; - -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = R); -}; - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) && !defined(__MWERKS__) -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::extent_imp::value)); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = 0); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = 0); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = 0); -}; -template -struct extent_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = 0); -}; -#endif -#endif - -#endif // non-CodeGear implementation -} // ::boost::detail - -template -struct extent - : public ::boost::integral_constant::value> -{ -}; - -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/floating_point_promotion.hpp b/external/include/boost_1_75/boost/type_traits/floating_point_promotion.hpp deleted file mode 100644 index 9110f24a4e..0000000000 --- a/external/include/boost_1_75/boost/type_traits/floating_point_promotion.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2005 Alexander Nasonov. -// 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) - -#ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED -#define FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED - -#include - -namespace boost { - - template struct floating_point_promotion { typedef T type; }; - template<> struct floating_point_promotion { typedef double type; }; - template<> struct floating_point_promotion { typedef double const type; }; - template<> struct floating_point_promotion{ typedef double volatile type; }; - template<> struct floating_point_promotion { typedef double const volatile type; }; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using floating_point_promotion_t = typename floating_point_promotion::type; - -#endif - -} - -#endif // #ifndef FILE_boost_type_traits_floating_point_promotion_hpp_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/has_bit_and.hpp b/external/include/boost_1_75/boost/type_traits/has_bit_and.hpp deleted file mode 100644 index a16c71a48d..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_bit_and.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_BIT_AND_HPP_INCLUDED -#define BOOST_TT_HAS_BIT_AND_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_bit_and -#define BOOST_TT_TRAIT_OP & -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_bit_and_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_bit_and_assign.hpp deleted file mode 100644 index 01e25e318f..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_bit_and_assign.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_BIT_AND_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_bit_and_assign -#define BOOST_TT_TRAIT_OP &= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (\ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_bit_or.hpp b/external/include/boost_1_75/boost/type_traits/has_bit_or.hpp deleted file mode 100644 index 6e76929fda..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_bit_or.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_BIT_OR_HPP_INCLUDED -#define BOOST_TT_HAS_BIT_OR_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_bit_or -#define BOOST_TT_TRAIT_OP | -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_bit_or_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_bit_or_assign.hpp deleted file mode 100644 index 891c39c51b..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_bit_or_assign.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_BIT_OR_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_bit_or_assign -#define BOOST_TT_TRAIT_OP |= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_bit_xor.hpp b/external/include/boost_1_75/boost/type_traits/has_bit_xor.hpp deleted file mode 100644 index 05173ac11d..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_bit_xor.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED -#define BOOST_TT_HAS_BIT_XOR_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_bit_xor -#define BOOST_TT_TRAIT_OP ^ -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_bit_xor_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_bit_xor_assign.hpp deleted file mode 100644 index 3866b7ac48..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_bit_xor_assign.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_BIT_XOR_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_bit_xor_assign -#define BOOST_TT_TRAIT_OP ^= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_complement.hpp b/external/include/boost_1_75/boost/type_traits/has_complement.hpp deleted file mode 100644 index d323e12936..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_complement.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED -#define BOOST_TT_HAS_COMPLEMENT_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_complement -#define BOOST_TT_TRAIT_OP ~ -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* pointer */\ - ::boost::is_pointer< Rhs_noref >::value || \ - /* fundamental non integral */\ - (\ - ::boost::is_fundamental< Rhs_noref >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_dereference.hpp b/external/include/boost_1_75/boost/type_traits/has_dereference.hpp deleted file mode 100644 index 3275348b71..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_dereference.hpp +++ /dev/null @@ -1,375 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED -#define BOOST_TT_HAS_DEREFERENCE_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_dereference -#define BOOST_TT_TRAIT_OP * -#define BOOST_TT_FORBIDDEN_IF\ - /* void* or fundamental */\ - (\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value\ - ) || \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -namespace boost { - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - // references: - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - // rvalue refs: - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - template - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - template <> - struct has_dereference : public false_type {}; - - -} -#endif -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_divides.hpp b/external/include/boost_1_75/boost/type_traits/has_divides.hpp deleted file mode 100644 index 869e907f6a..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_divides.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_DIVIDES_HPP_INCLUDED -#define BOOST_TT_HAS_DIVIDES_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_divides -#define BOOST_TT_TRAIT_OP / -#define BOOST_TT_FORBIDDEN_IF\ - /* pointer with pointer or fundamental */\ - (\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - )||\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_divides_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_divides_assign.hpp deleted file mode 100644 index 1a8e3c1e63..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_divides_assign.hpp +++ /dev/null @@ -1,47 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_DIVIDES_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_divides_assign -#define BOOST_TT_TRAIT_OP /= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - )||\ - /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_equal_to.hpp b/external/include/boost_1_75/boost/type_traits/has_equal_to.hpp deleted file mode 100644 index 3405d34099..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_equal_to.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED -#define BOOST_TT_HAS_EQUAL_TO_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_equal_to -#define BOOST_TT_TRAIT_OP == -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==pointer and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! \ - (\ - ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value || \ - ::boost::is_same< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_void< Lhs_noptr >::value || \ - ::boost::is_void< Rhs_noptr >::value\ - )\ - )\ - ) || \ - (\ - ::boost::type_traits_detail::is_likely_stateless_lambda::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_greater.hpp b/external/include/boost_1_75/boost/type_traits/has_greater.hpp deleted file mode 100644 index 1a9fda6f32..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_greater.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_GREATER_HPP_INCLUDED -#define BOOST_TT_HAS_GREATER_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_greater -#define BOOST_TT_TRAIT_OP > -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==pointer and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! \ - ( \ - ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value || \ - ::boost::is_same< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_void< Lhs_noptr >::value || \ - ::boost::is_void< Rhs_noptr >::value\ - )\ - )\ - ) || \ - (\ - ::boost::type_traits_detail::is_likely_stateless_lambda::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_greater_equal.hpp b/external/include/boost_1_75/boost/type_traits/has_greater_equal.hpp deleted file mode 100644 index c87f063948..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_greater_equal.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED -#define BOOST_TT_HAS_GREATER_EQUAL_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_greater_equal -#define BOOST_TT_TRAIT_OP >= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==pointer and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! \ - ( \ - ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value || \ - ::boost::is_same< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_void< Lhs_noptr >::value || \ - ::boost::is_void< Rhs_noptr >::value\ - )\ - )\ - ) || \ - (\ - ::boost::type_traits_detail::is_likely_stateless_lambda::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_left_shift.hpp b/external/include/boost_1_75/boost/type_traits/has_left_shift.hpp deleted file mode 100644 index e95c12a80a..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_left_shift.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED -#define BOOST_TT_HAS_LEFT_SHIFT_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_left_shift -#define BOOST_TT_TRAIT_OP << -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_left_shift_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_left_shift_assign.hpp deleted file mode 100644 index 74e0df9580..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_left_shift_assign.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_LEFT_SHIFT_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_left_shift_assign -#define BOOST_TT_TRAIT_OP <<= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_less.hpp b/external/include/boost_1_75/boost/type_traits/has_less.hpp deleted file mode 100644 index 1326a184b0..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_less.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LESS_HPP_INCLUDED -#define BOOST_TT_HAS_LESS_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_less -#define BOOST_TT_TRAIT_OP < -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==pointer and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! \ - ( \ - ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value || \ - ::boost::is_same< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_void< Lhs_noptr >::value || \ - ::boost::is_void< Rhs_noptr >::value\ - )\ - )\ - ) || \ - (\ - ::boost::type_traits_detail::is_likely_stateless_lambda::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_less_equal.hpp b/external/include/boost_1_75/boost/type_traits/has_less_equal.hpp deleted file mode 100644 index 607b71ce91..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_less_equal.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED -#define BOOST_TT_HAS_LESS_EQUAL_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_less_equal -#define BOOST_TT_TRAIT_OP <= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==pointer and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! \ - ( \ - ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value || \ - ::boost::is_same< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_void< Lhs_noptr >::value || \ - ::boost::is_void< Rhs_noptr >::value\ - )\ - )\ - ) || \ - (\ - ::boost::type_traits_detail::is_likely_stateless_lambda::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_logical_and.hpp b/external/include/boost_1_75/boost/type_traits/has_logical_and.hpp deleted file mode 100644 index 3bb1733d54..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_logical_and.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED -#define BOOST_TT_HAS_LOGICAL_AND_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_logical_and -#define BOOST_TT_TRAIT_OP && -#define BOOST_TT_FORBIDDEN_IF\ - /* pointer with fundamental non convertible to bool */\ - (\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_convertible< Rhs_nocv, bool >::value )\ - )\ - )||\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Lhs_nocv >::value && \ - (! ::boost::is_convertible< Lhs_nocv, bool >::value )\ - )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_logical_not.hpp b/external/include/boost_1_75/boost/type_traits/has_logical_not.hpp deleted file mode 100644 index d36858e1ec..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_logical_not.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED -#define BOOST_TT_HAS_LOGICAL_NOT_HPP_INCLUDED - -#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40800) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-value" -#endif - -#define BOOST_TT_TRAIT_NAME has_logical_not -#define BOOST_TT_TRAIT_OP ! -#define BOOST_TT_FORBIDDEN_IF\ - false - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#if defined(__GNUC__) && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ > 40800) -#pragma GCC diagnostic pop -#endif - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_logical_or.hpp b/external/include/boost_1_75/boost/type_traits/has_logical_or.hpp deleted file mode 100644 index a188726e15..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_logical_or.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED -#define BOOST_TT_HAS_LOGICAL_OR_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_logical_or -#define BOOST_TT_TRAIT_OP || -#define BOOST_TT_FORBIDDEN_IF\ - /* pointer with fundamental non convertible to bool */\ - (\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_convertible< Rhs_nocv, bool >::value )\ - )\ - )||\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - (! ::boost::is_convertible< Lhs_nocv, bool >::value )\ - )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_minus.hpp b/external/include/boost_1_75/boost/type_traits/has_minus.hpp deleted file mode 100644 index fcd5d94779..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_minus.hpp +++ /dev/null @@ -1,158 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_MINUS_HPP_INCLUDED -#define BOOST_TT_HAS_MINUS_HPP_INCLUDED - -#include -#include - -// cannot include this header without getting warnings of the kind: -// gcc: -// warning: value computed is not used -// warning: comparison between signed and unsigned integer expressions -// msvc: -// warning C4018: '<' : signed/unsigned mismatch -// warning C4244: '+=' : conversion from 'double' to 'char', possible loss of data -// warning C4547: '*' : operator before comma has no effect; expected operator with side-effect -// warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) -// warning C4804: '<' : unsafe use of type 'bool' in operation -// warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation -// cannot find another implementation -> declared as system header to suppress these warnings. -#if defined(__GNUC__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct has_minus_ret_imp : public boost::false_type {}; - - template - struct has_minus_ret_imp::type>() - std::declval::type>())>::type> - : public boost::integral_constant::type>() - std::declval::type>()), Ret>::value> {}; - - template - struct has_minus_void_imp : public boost::false_type {}; - - template - struct has_minus_void_imp::type>() - std::declval::type>())>::type> - : public boost::integral_constant::type>() - std::declval::type>())>::value> {}; - - template - struct has_minus_dc_imp : public boost::false_type {}; - - template - struct has_minus_dc_imp::type>() - std::declval::type>())>::type> - : public boost::true_type {}; - - template - struct has_minus_ret_filter : public boost::binary_op_detail::has_minus_ret_imp {}; - template - struct has_minus_ret_filter : public boost::binary_op_detail::has_minus_void_imp {}; - template - struct has_minus_ret_filter : public boost::binary_op_detail::has_minus_dc_imp {}; - - template - struct has_minus_void_ptr_filter : public boost::binary_op_detail::has_minus_ret_filter {}; - template - struct has_minus_void_ptr_filter : public boost::false_type {}; - - } - - template - struct has_minus : - public boost::binary_op_detail::has_minus_void_ptr_filter< - T, U, Ret, - boost::is_void::type>::type>::value - || boost::is_void::type>::type>::value> {}; - - -} - -#else - - -#define BOOST_TT_TRAIT_NAME has_minus -#define BOOST_TT_TRAIT_OP - -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Lhs==void* and (Rhs==fundamental or Rhs==pointer) */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) || \ - /* Rhs==void* and (Lhs==fundamental or Lhs==pointer) */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - )\ - ) ||\ - /* Lhs=fundamental and Rhs=pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) ||\ - /* two different pointers */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! ::boost::is_same< Lhs_nocv, Rhs_nocv >::value )\ - )\ - ) - -#define BOOST_TT_FORBIDDEN_IF_NEW (boost::is_void::type>::type>::value || boost::is_void::type>::type>::value) - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif - -#if defined(BOOST_MSVC) -# pragma warning (pop) -#endif - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_minus_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_minus_assign.hpp deleted file mode 100644 index ea3169e0bd..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_minus_assign.hpp +++ /dev/null @@ -1,163 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_has_minus_assign_ASSIGN_HPP_INCLUDED -#define BOOST_TT_has_minus_assign_ASSIGN_HPP_INCLUDED - -#include -#include - -// cannot include this header without getting warnings of the kind: -// gcc: -// warning: value computed is not used -// warning: comparison between signed and unsigned integer expressions -// msvc: -// warning C4018: '<' : signed/unsigned mismatch -// warning C4244: '+=' : conversion from 'double' to 'char', possible loss of data -// warning C4547: '*' : operator before comma has no effect; expected operator with side-effect -// warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) -// warning C4804: '<' : unsafe use of type 'bool' in operation -// warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation -// cannot find another implementation -> declared as system header to suppress these warnings. -#if defined(__GNUC__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct has_minus_assign_ret_imp : public boost::false_type {}; - - template - struct has_minus_assign_ret_imp::type>() -= std::declval::type>())>::type> - : public boost::integral_constant::type>() -= std::declval::type>()), Ret>::value> {}; - - template - struct has_minus_assign_void_imp : public boost::false_type {}; - - template - struct has_minus_assign_void_imp::type>() -= std::declval::type>())>::type> - : public boost::integral_constant::type>() -= std::declval::type>())>::value> {}; - - template - struct has_minus_assign_dc_imp : public boost::false_type {}; - - template - struct has_minus_assign_dc_imp::type>() -= std::declval::type>())>::type> - : public boost::true_type {}; - - template - struct has_minus_assign_ret_filter : public boost::binary_op_detail::has_minus_assign_ret_imp {}; - template - struct has_minus_assign_ret_filter : public boost::binary_op_detail::has_minus_assign_void_imp {}; - template - struct has_minus_assign_ret_filter : public boost::binary_op_detail::has_minus_assign_dc_imp {}; - - template - struct has_minus_assign_void_ptr_filter : public boost::binary_op_detail::has_minus_assign_ret_filter {}; - template - struct has_minus_assign_void_ptr_filter : public boost::false_type {}; - - } - - template - struct has_minus_assign : - public boost::binary_op_detail::has_minus_assign_void_ptr_filter< - T, U, Ret, - boost::is_void::type>::type>::value - || boost::is_void::type>::type>::value - || (boost::is_pointer::type>::value && boost::is_pointer::type>::value)> {}; - - -} - -#else - -#define BOOST_TT_TRAIT_NAME has_minus_assign -#define BOOST_TT_TRAIT_OP -= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Lhs==void* and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==void* and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs=fundamental and Rhs=pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\ - (\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - ) && \ - (\ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - ) && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif - -#if defined(BOOST_MSVC) -# pragma warning (pop) -#endif - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_modulus.hpp b/external/include/boost_1_75/boost/type_traits/has_modulus.hpp deleted file mode 100644 index 24a815f3df..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_modulus.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_MODULUS_HPP_INCLUDED -#define BOOST_TT_HAS_MODULUS_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_modulus -#define BOOST_TT_TRAIT_OP % -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (\ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_modulus_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_modulus_assign.hpp deleted file mode 100644 index 5e3e83fa07..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_modulus_assign.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_MODULUS_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_modulus_assign -#define BOOST_TT_TRAIT_OP %= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_multiplies.hpp b/external/include/boost_1_75/boost/type_traits/has_multiplies.hpp deleted file mode 100644 index 591a0ceae8..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_multiplies.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED -#define BOOST_TT_HAS_MULTIPLIES_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_multiplies -#define BOOST_TT_TRAIT_OP * -#define BOOST_TT_FORBIDDEN_IF\ - /* pointer with pointer or fundamental */\ - (\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - (\ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - )||\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_multiplies_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_multiplies_assign.hpp deleted file mode 100644 index b24f87944e..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_multiplies_assign.hpp +++ /dev/null @@ -1,47 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_MULTIPLIES_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_multiplies_assign -#define BOOST_TT_TRAIT_OP *= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Lhs==const and Rhs==fundamental */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Lhs==pointer and (Rhs==fundamental or Rhs==pointer) */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - )||\ - /* Rhs==pointer and (Lhs==fundamental or Lhs==pointer) */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ( \ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_negate.hpp b/external/include/boost_1_75/boost/type_traits/has_negate.hpp deleted file mode 100644 index 452e54ab41..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_negate.hpp +++ /dev/null @@ -1,25 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_NEGATE_HPP_INCLUDED -#define BOOST_TT_HAS_NEGATE_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_negate -#define BOOST_TT_TRAIT_OP - -#define BOOST_TT_FORBIDDEN_IF\ - /* pointer */\ - ::boost::is_pointer< Rhs_noref >::value - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_new_operator.hpp b/external/include/boost_1_75/boost/type_traits/has_new_operator.hpp deleted file mode 100644 index 4def872ddf..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_new_operator.hpp +++ /dev/null @@ -1,147 +0,0 @@ - -// (C) Copyright Runar Undheim, Robert Ramey & John Maddock 2008. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED -#define BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED - -#include // std::nothrow_t -#include // std::size_t -#include -#include -#include - -#if defined(new) -# if BOOST_WORKAROUND(BOOST_MSVC, >= 1310) -# define BOOST_TT_AUX_MACRO_NEW_DEFINED -# pragma push_macro("new") -# undef new -# else -# error "Sorry but you can't include this header if 'new' is defined as a macro." -# endif -#endif - -namespace boost { -namespace detail { - template - struct test; - - template - struct has_new_operator_impl { - template - static type_traits::yes_type check_sig1( - U*, - test< - void *(*)(std::size_t), - &U::operator new - >* = NULL - ); - template - static type_traits::no_type check_sig1(...); - - template - static type_traits::yes_type check_sig2( - U*, - test< - void *(*)(std::size_t, const std::nothrow_t&), - &U::operator new - >* = NULL - ); - template - static type_traits::no_type check_sig2(...); - - template - static type_traits::yes_type check_sig3( - U*, - test< - void *(*)(std::size_t, void*), - &U::operator new - >* = NULL - ); - template - static type_traits::no_type check_sig3(...); - - - template - static type_traits::yes_type check_sig4( - U*, - test< - void *(*)(std::size_t), - &U::operator new[] - >* = NULL - ); - template - static type_traits::no_type check_sig4(...); - - template - static type_traits::yes_type check_sig5( - U*, - test< - void *(*)(std::size_t, const std::nothrow_t&), - &U::operator new[] - >* = NULL - ); - template - static type_traits::no_type check_sig5(...); - - template - static type_traits::yes_type check_sig6( - U*, - test< - void *(*)(std::size_t, void*), - &U::operator new[] - >* = NULL - ); - template - static type_traits::no_type check_sig6(...); - - // GCC2 won't even parse this template if we embed the computation - // of s1 in the computation of value. - #ifdef __GNUC__ - BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(has_new_operator_impl::template check_sig1(0))); - BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(has_new_operator_impl::template check_sig2(0))); - BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(has_new_operator_impl::template check_sig3(0))); - BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(has_new_operator_impl::template check_sig4(0))); - BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(has_new_operator_impl::template check_sig5(0))); - BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(has_new_operator_impl::template check_sig6(0))); - #else - #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) - #pragma warning(push) - #pragma warning(disable:6334) - #endif - - BOOST_STATIC_CONSTANT(unsigned, s1 = sizeof(check_sig1(0))); - BOOST_STATIC_CONSTANT(unsigned, s2 = sizeof(check_sig2(0))); - BOOST_STATIC_CONSTANT(unsigned, s3 = sizeof(check_sig3(0))); - BOOST_STATIC_CONSTANT(unsigned, s4 = sizeof(check_sig4(0))); - BOOST_STATIC_CONSTANT(unsigned, s5 = sizeof(check_sig5(0))); - BOOST_STATIC_CONSTANT(unsigned, s6 = sizeof(check_sig6(0))); - - #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) - #pragma warning(pop) - #endif - #endif - BOOST_STATIC_CONSTANT(bool, value = - (s1 == sizeof(type_traits::yes_type)) || - (s2 == sizeof(type_traits::yes_type)) || - (s3 == sizeof(type_traits::yes_type)) || - (s4 == sizeof(type_traits::yes_type)) || - (s5 == sizeof(type_traits::yes_type)) || - (s6 == sizeof(type_traits::yes_type)) - ); - }; -} // namespace detail - -template struct has_new_operator : public integral_constant::value>{}; - -} // namespace boost - -#if defined(BOOST_TT_AUX_MACRO_NEW_DEFINED) -# pragma pop_macro("new") -#endif - -#endif // BOOST_TT_HAS_NEW_OPERATOR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/has_not_equal_to.hpp b/external/include/boost_1_75/boost/type_traits/has_not_equal_to.hpp deleted file mode 100644 index 5f2c39a43e..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_not_equal_to.hpp +++ /dev/null @@ -1,52 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED -#define BOOST_TT_HAS_NOT_EQUAL_TO_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_not_equal_to -#define BOOST_TT_TRAIT_OP != -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==pointer and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==pointer and Lhs!=base(Rhs) and Rhs!=base(Lhs) and Lhs!=void* and Rhs!=void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value && \ - (! \ - (\ - ::boost::is_base_of< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_base_of< Rhs_noptr, Lhs_noptr >::value || \ - ::boost::is_same< Lhs_noptr, Rhs_noptr >::value || \ - ::boost::is_void< Lhs_noptr >::value || \ - ::boost::is_void< Rhs_noptr >::value\ - )\ - )\ - ) || \ - (\ - ::boost::type_traits_detail::is_likely_stateless_lambda::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_nothrow_destructor.hpp b/external/include/boost_1_75/boost/type_traits/has_nothrow_destructor.hpp deleted file mode 100644 index 74dd9e7e29..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_nothrow_destructor.hpp +++ /dev/null @@ -1,56 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED -#define BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED - -#include - -#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(__SUNPRO_CC) && !(defined(BOOST_MSVC) && (_MSC_FULL_VER < 190023506)) - -#include -#include -#include -#include - -namespace boost{ - - namespace detail{ - - template - struct has_nothrow_destructor_imp : public boost::integral_constant{}; - template - struct has_nothrow_destructor_imp : public boost::integral_constant()->~T())>{}; - - } - - template struct has_nothrow_destructor : public detail::has_nothrow_destructor_imp::value> - { - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value, "Arguments to has_nothrow_destructor must be complete types"); - }; - template struct has_nothrow_destructor : public has_nothrow_destructor - { - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value, "Arguments to has_nothrow_destructor must be complete types"); - }; - template struct has_nothrow_destructor : public integral_constant{}; -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template struct has_nothrow_destructor : public integral_constant{}; -#endif - template <> struct has_nothrow_destructor : public false_type {}; -} -#else - -namespace boost { - -template struct has_nothrow_destructor : public ::boost::has_trivial_destructor {}; - -} // namespace boost - -#endif - -#endif // BOOST_TT_HAS_NOTHROW_DESTRUCTOR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/has_plus.hpp b/external/include/boost_1_75/boost/type_traits/has_plus.hpp deleted file mode 100644 index 2d7932884d..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_plus.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_PLUS_HPP_INCLUDED -#define BOOST_TT_HAS_PLUS_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_plus -#define BOOST_TT_TRAIT_OP + -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* Lhs==void* and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==void* and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Rhs==pointer and Lhs==fundamental and Lhs!=integral */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value && \ - (! ::boost::is_integral< Lhs_noref >::value )\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_plus_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_plus_assign.hpp deleted file mode 100644 index 161ca15815..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_plus_assign.hpp +++ /dev/null @@ -1,161 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_PLUS_ASSIGN_HPP_INCLUDED - -#include -#include - -// cannot include this header without getting warnings of the kind: -// gcc: -// warning: value computed is not used -// warning: comparison between signed and unsigned integer expressions -// msvc: -// warning C4018: '<' : signed/unsigned mismatch -// warning C4244: '+=' : conversion from 'double' to 'char', possible loss of data -// warning C4547: '*' : operator before comma has no effect; expected operator with side-effect -// warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) -// warning C4804: '<' : unsafe use of type 'bool' in operation -// warning C4805: '==' : unsafe mix of type 'bool' and type 'char' in operation -// cannot find another implementation -> declared as system header to suppress these warnings. -#if defined(__GNUC__) -# pragma GCC system_header -#elif defined(BOOST_MSVC) -# pragma warning ( push ) -# pragma warning ( disable : 4018 4244 4547 4800 4804 4805 4913 4133) -# if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -# pragma warning ( disable : 6334) -# endif -#endif - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - - namespace binary_op_detail { - - struct dont_care; - - template - struct has_plus_assign_ret_imp : public boost::false_type {}; - - template - struct has_plus_assign_ret_imp::type>() += std::declval::type>())>::type> - : public boost::integral_constant::type>() += std::declval::type>()), Ret>::value> {}; - - template - struct has_plus_assign_void_imp : public boost::false_type {}; - - template - struct has_plus_assign_void_imp::type>() += std::declval::type>())>::type> - : public boost::integral_constant::type>() += std::declval::type>())>::value> {}; - - template - struct has_plus_assign_dc_imp : public boost::false_type {}; - - template - struct has_plus_assign_dc_imp::type>() += std::declval::type>())>::type> - : public boost::true_type {}; - - template - struct has_plus_assign_filter_ret : public boost::binary_op_detail:: has_plus_assign_ret_imp {}; - template - struct has_plus_assign_filter_ret : public boost::binary_op_detail:: has_plus_assign_void_imp {}; - template - struct has_plus_assign_filter_ret : public boost::binary_op_detail:: has_plus_assign_dc_imp {}; - - template - struct has_plus_assign_filter_impossible : public boost::binary_op_detail:: has_plus_assign_filter_ret {}; - template - struct has_plus_assign_filter_impossible : public boost::false_type {}; - - } - - template - struct has_plus_assign : public boost::binary_op_detail:: has_plus_assign_filter_impossible ::type>::value && boost::is_pointer::type>::value && !boost::is_same::type>::type>::value> {}; - -} - -#else - -#define BOOST_TT_TRAIT_NAME has_plus_assign -#define BOOST_TT_TRAIT_OP += -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - ) || \ - /* Lhs==void* and Rhs==fundamental */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value\ - ) || \ - /* Rhs==void* and Lhs==fundamental */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value\ - ) || \ - /* Lhs==pointer and Rhs==fundamental and Rhs!=integral */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - (! ::boost::is_integral< Rhs_noref >::value )\ - ) || \ - /* Rhs==pointer and Lhs==fundamental and Lhs!=bool */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_fundamental< Lhs_nocv >::value && \ - (! ::boost::is_same< Lhs_nocv, bool >::value )\ - ) || \ - /* (Lhs==fundamental or Lhs==pointer) and (Rhs==fundamental or Rhs==pointer) and (Lhs==const) */\ - (\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - ) && \ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - ) && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif - -#if defined(BOOST_MSVC) -# pragma warning (pop) -#endif - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_post_decrement.hpp b/external/include/boost_1_75/boost/type_traits/has_post_decrement.hpp deleted file mode 100644 index fc1c430a54..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_post_decrement.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED -#define BOOST_TT_HAS_POST_DECREMENT_HPP_INCLUDED - -#include - -#define BOOST_TT_TRAIT_NAME has_post_decrement -#define BOOST_TT_TRAIT_OP -- -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* bool */\ - ::boost::is_same< bool, Lhs_nocv >::value || \ - /* void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value\ - ) || \ - /* (fundamental or pointer) and const */\ - (\ - ( \ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - ) && \ - ::boost::is_const< Lhs_noref >::value\ - )||\ - /* Arrays */ \ - ::boost::is_array::value\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -namespace boost { - - template - struct has_post_decrement : public false_type {}; - template <> - struct has_post_decrement : public false_type {}; - template <> - struct has_post_decrement : public false_type {}; - - template - struct has_post_decrement : public false_type {}; - template <> - struct has_post_decrement : public false_type {}; - template <> - struct has_post_decrement : public false_type {}; - -} - -#endif -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_post_increment.hpp b/external/include/boost_1_75/boost/type_traits/has_post_increment.hpp deleted file mode 100644 index e83afd1c31..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_post_increment.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED -#define BOOST_TT_HAS_POST_INCREMENT_HPP_INCLUDED - -#include - -#define BOOST_TT_TRAIT_NAME has_post_increment -#define BOOST_TT_TRAIT_OP ++ -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* bool */\ - ::boost::is_same< bool, Lhs_nocv >::value || \ - /* void* */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_void< Lhs_noptr >::value\ - ) || \ - /* (fundamental or pointer) and const */\ - (\ - ( \ - ::boost::is_fundamental< Lhs_nocv >::value || \ - ::boost::is_pointer< Lhs_noref >::value\ - ) && \ - ::boost::is_const< Lhs_noref >::value\ - )||\ - /* Arrays */ \ - ::boost::is_array::value\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -namespace boost { - - template - struct has_post_increment : public false_type {}; - template <> - struct has_post_increment : public false_type {}; - template <> - struct has_post_increment : public false_type {}; - - template - struct has_post_increment : public false_type {}; - template <> - struct has_post_increment : public false_type {}; - template <> - struct has_post_increment : public false_type {}; - -} - -#endif -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_pre_decrement.hpp b/external/include/boost_1_75/boost/type_traits/has_pre_decrement.hpp deleted file mode 100644 index 5ce50e9003..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_pre_decrement.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED -#define BOOST_TT_HAS_PRE_DECREMENT_HPP_INCLUDED - -#include - -#define BOOST_TT_TRAIT_NAME has_pre_decrement -#define BOOST_TT_TRAIT_OP -- -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* bool */\ - ::boost::is_same< bool, Rhs_nocv >::value || \ - /* void* */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value\ - ) || \ - /* (fundamental or pointer) and const */\ - (\ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - ) && \ - ::boost::is_const< Rhs_noref >::value\ - )||\ - /* Arrays */ \ - ::boost::is_array::value\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -namespace boost { - - template - struct has_pre_decrement : public false_type {}; - template <> - struct has_pre_decrement : public false_type {}; - template <> - struct has_pre_decrement : public false_type {}; - - template - struct has_pre_decrement : public false_type {}; - template <> - struct has_pre_decrement : public false_type {}; - template <> - struct has_pre_decrement : public false_type {}; - -} - -#endif -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_pre_increment.hpp b/external/include/boost_1_75/boost/type_traits/has_pre_increment.hpp deleted file mode 100644 index 9361cc8bee..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_pre_increment.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED -#define BOOST_TT_HAS_PRE_INCREMENT_HPP_INCLUDED - -#include - -#define BOOST_TT_TRAIT_NAME has_pre_increment -#define BOOST_TT_TRAIT_OP ++ -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* bool */\ - ::boost::is_same< bool, Rhs_nocv >::value || \ - /* void* */\ - (\ - ::boost::is_pointer< Rhs_noref >::value && \ - ::boost::is_void< Rhs_noptr >::value\ - ) || \ - /* (fundamental or pointer) and const */\ - (\ - ( \ - ::boost::is_fundamental< Rhs_nocv >::value || \ - ::boost::is_pointer< Rhs_noref >::value\ - ) && \ - ::boost::is_const< Rhs_noref >::value\ - )||\ - /* Arrays */ \ - ::boost::is_array::value\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) - -namespace boost { - - template - struct has_pre_increment : public false_type {}; - template <> - struct has_pre_increment : public false_type {}; - template <> - struct has_pre_increment : public false_type {}; - - template - struct has_pre_increment : public false_type {}; - template <> - struct has_pre_increment : public false_type {}; - template <> - struct has_pre_increment : public false_type {}; - -} - -#endif - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_right_shift.hpp b/external/include/boost_1_75/boost/type_traits/has_right_shift.hpp deleted file mode 100644 index 5562911233..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_right_shift.hpp +++ /dev/null @@ -1,49 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED -#define BOOST_TT_HAS_RIGHT_SHIFT_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_right_shift -#define BOOST_TT_TRAIT_OP >> -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_right_shift_assign.hpp b/external/include/boost_1_75/boost/type_traits/has_right_shift_assign.hpp deleted file mode 100644 index 0e2c263559..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_right_shift_assign.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED -#define BOOST_TT_HAS_RIGHT_SHIFT_ASSIGN_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_right_shift_assign -#define BOOST_TT_TRAIT_OP >>= -#define BOOST_TT_FORBIDDEN_IF\ - (\ - /* Lhs==fundamental and Rhs==fundamental and (Lhs!=integral or Rhs!=integral) */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ( \ - (! ::boost::is_integral< Lhs_noref >::value ) || \ - (! ::boost::is_integral< Rhs_noref >::value )\ - )\ - )||\ - /* Lhs==fundamental and Rhs==pointer */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Rhs==fundamental and Lhs==pointer */\ - (\ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_pointer< Lhs_noref >::value\ - )||\ - /* Lhs==pointer and Rhs==pointer */\ - (\ - ::boost::is_pointer< Lhs_noref >::value && \ - ::boost::is_pointer< Rhs_noref >::value\ - )||\ - /* Lhs==fundamental and Rhs==fundamental and Lhs==const */\ - (\ - ::boost::is_fundamental< Lhs_nocv >::value && \ - ::boost::is_fundamental< Rhs_nocv >::value && \ - ::boost::is_const< Lhs_noref >::value\ - )\ - ) - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_trivial_destructor.hpp b/external/include/boost_1_75/boost/type_traits/has_trivial_destructor.hpp deleted file mode 100644 index 9a3a61ff97..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_trivial_destructor.hpp +++ /dev/null @@ -1,48 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED -#define BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED - -#include -#include - -#ifdef BOOST_HAS_TRIVIAL_DESTRUCTOR - -#if defined(BOOST_INTEL) || defined(BOOST_MSVC) -#include -#endif -#ifdef BOOST_HAS_SGI_TYPE_TRAITS -#include -#endif - -#if defined(__GNUC__) || defined(__clang__) || defined(__SUNPRO_CC) -#include -#endif - -namespace boost { - -template struct has_trivial_destructor : public integral_constant{}; -#else -#include - -namespace boost{ - -template struct has_trivial_destructor : public integral_constant::value>{}; -#endif - -template <> struct has_trivial_destructor : public false_type{}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> struct has_trivial_destructor : public false_type{}; -template <> struct has_trivial_destructor : public false_type{}; -template <> struct has_trivial_destructor : public false_type{}; -#endif - -} // namespace boost - -#endif // BOOST_TT_HAS_TRIVIAL_DESTRUCTOR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/has_unary_minus.hpp b/external/include/boost_1_75/boost/type_traits/has_unary_minus.hpp deleted file mode 100644 index 6b3157f42c..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_unary_minus.hpp +++ /dev/null @@ -1,25 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED -#define BOOST_TT_HAS_UNARY_MINUS_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_unary_minus -#define BOOST_TT_TRAIT_OP - -#define BOOST_TT_FORBIDDEN_IF\ - /* pointer */\ - ::boost::is_pointer< Rhs_noref >::value - - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_unary_plus.hpp b/external/include/boost_1_75/boost/type_traits/has_unary_plus.hpp deleted file mode 100644 index a61770f858..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_unary_plus.hpp +++ /dev/null @@ -1,23 +0,0 @@ -// (C) Copyright 2009-2011 Frederic Bron. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED -#define BOOST_TT_HAS_UNARY_PLUS_HPP_INCLUDED - -#define BOOST_TT_TRAIT_NAME has_unary_plus -#define BOOST_TT_TRAIT_OP + -#define BOOST_TT_FORBIDDEN_IF\ - false - -#include - -#undef BOOST_TT_TRAIT_NAME -#undef BOOST_TT_TRAIT_OP -#undef BOOST_TT_FORBIDDEN_IF - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/has_virtual_destructor.hpp b/external/include/boost_1_75/boost/type_traits/has_virtual_destructor.hpp deleted file mode 100644 index 4b0f38368a..0000000000 --- a/external/include/boost_1_75/boost/type_traits/has_virtual_destructor.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED -#define BOOST_TT_HAS_VIRTUAL_DESTRUCTOR_HPP_INCLUDED - -#include -#include - -namespace boost { - -#ifdef BOOST_HAS_VIRTUAL_DESTRUCTOR - template struct has_virtual_destructor : public integral_constant{}; -#else - template struct has_virtual_destructor : public integral_constant{}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/integral_promotion.hpp b/external/include/boost_1_75/boost/type_traits/integral_promotion.hpp deleted file mode 100644 index cc6a41d042..0000000000 --- a/external/include/boost_1_75/boost/type_traits/integral_promotion.hpp +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2005 Alexander Nasonov. -// 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) - -#ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED -#define FILE_boost_type_traits_integral_promotion_hpp_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { - -namespace type_traits { namespace detail { - -// 4.5/2 -template struct need_promotion : public boost::is_enum {}; - -// 4.5/1 -template<> struct need_promotion : public true_type {}; -template<> struct need_promotion : public true_type {}; -template<> struct need_promotion : public true_type {}; -template<> struct need_promotion : public true_type {}; -template<> struct need_promotion : public true_type {}; - - -// Specializations for non-standard types. -// Type is promoted if it's smaller then int. - -#define BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(T) \ - template<> struct need_promotion \ - : public integral_constant {}; - -// Same set of integral types as in boost/type_traits/is_integral.hpp. -// Please, keep in sync. -#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ - || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER < 1300)) -// TODO: common macro for this #if. Or better yet, PP SEQ of non-standard types. -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int8 ) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int8 ) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int16 ) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32 ) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32) -#ifdef BOOST_BORLANDC -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64) -#endif -#endif - -#if defined(BOOST_HAS_LONG_LONG) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::ulong_long_type) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::long_long_type ) -#elif defined(BOOST_HAS_MS_INT64) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64) -BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64) -#endif - -#undef BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE - - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -// 4.5/2 -template<> struct need_promotion : public true_type {}; -#endif - -// 4.5/3 (integral bit-field) is not supported. - -// 4.5/4 -template<> struct need_promotion : public true_type {}; - - -// Get promoted type by index and cv qualifiers. - -template struct promote_from_index; - -#define BOOST_TT_AUX_PROMOTE_FROM_INDEX(N,T) \ - template<> struct promote_from_index { typedef T type; }; \ - template<> struct promote_from_index { typedef T volatile type; }; \ - template<> struct promote_from_index { typedef T const type; }; \ - template<> struct promote_from_index { typedef T const volatile type; }; - - -BOOST_TT_AUX_PROMOTE_FROM_INDEX(1, int ) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(2, unsigned int ) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(3, long ) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long) - - -// WARNING: integral promotions to non-standard types -// long long and __int64 are not defined by the standard. -// Additional specialisations and overloads shouldn't -// introduce ambiguity, though. - -#if defined(BOOST_HAS_LONG_LONG) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(5, boost::long_long_type ) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(6, boost::ulong_long_type) -#elif defined(BOOST_HAS_MS_INT64) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64 ) -BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64) -#endif - -#undef BOOST_TT_AUX_PROMOTE_FROM_INDEX - - -// Define BOOST_TT_AUX_PROMOTED_INDEX_TESTER: -#if !defined(BOOST_MSVC) - -template -struct sized_type_for_promotion -{ - typedef char (&type)[N]; -}; - -#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \ - sized_type_for_promotion::type promoted_index_tester(T); - -#else - -#define BOOST_TT_AUX_PROMOTED_INDEX_TESTER(I,T) \ - char (&promoted_index_tester(T))[I]; - -#endif - -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(1, int ) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(2, unsigned int ) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(3, long ) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long) - -#if defined(BOOST_HAS_LONG_LONG) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, boost::long_long_type ) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, boost::ulong_long_type) -#elif defined(BOOST_HAS_MS_INT64) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64 ) -BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64) -#endif - -#undef BOOST_TT_AUX_PROMOTED_INDEX_TESTER - - -// Get an index of promoted type for type T. -// Precondition: need_promotion -template -struct promoted_index -{ - static T testee; // undefined - BOOST_STATIC_CONSTANT(int, value = sizeof(promoted_index_tester(+testee)) ); - // Unary plus promotes testee LOOK HERE ---> ^ -}; - -template -struct integral_promotion_impl -{ - typedef BOOST_DEDUCED_TYPENAME promote_from_index< - (boost::type_traits::detail::promoted_index::value) - , (boost::is_const::value) - , (boost::is_volatile::value) - >::type type; -}; - -template struct integral_promotion { typedef T type; }; -template struct integral_promotion : public integral_promotion_impl{}; - -} } - -template struct integral_promotion -{ -private: - typedef boost::type_traits::detail::need_promotion::type> tag_type; -public: - typedef typename boost::type_traits::detail::integral_promotion::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using integral_promotion_t = typename integral_promotion::type; - -#endif - -} - -#endif // #ifndef FILE_boost_type_traits_integral_promotion_hpp_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/is_complete.hpp b/external/include/boost_1_75/boost/type_traits/is_complete.hpp deleted file mode 100644 index 07cb89749d..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_complete.hpp +++ /dev/null @@ -1,92 +0,0 @@ - -// (C) Copyright John Maddock 2017. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_COMPLETE_HPP_INCLUDED -#define BOOST_TT_IS_COMPLETE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -/* - * CAUTION: - * ~~~~~~~~ - * - * THIS TRAIT EXISTS SOLELY TO GENERATE HARD ERRORS WHEN A ANOTHER TRAIT - * WHICH REQUIRES COMPLETE TYPES AS ARGUMENTS IS PASSED AN INCOMPLETE TYPE - * - * DO NOT MAKE GENERAL USE OF THIS TRAIT, AS THE COMPLETENESS OF A TYPE - * VARIES ACROSS TRANSLATION UNITS AS WELL AS WITHIN A SINGLE UNIT. - * -*/ - -namespace boost { - - -// -// We will undef this if the trait isn't fully functional: -// -#define BOOST_TT_HAS_WORKING_IS_COMPLETE - -#if !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_MSVC, <= 1900) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40600) - - namespace detail{ - - template - struct ok_tag { double d; char c[N]; }; - - template - ok_tag check_is_complete(int); - template - char check_is_complete(...); - } - - template struct is_complete - : public integral_constant::type>::value || (sizeof(boost::detail::check_is_complete(0)) != sizeof(char))> {}; - -#elif !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) - - namespace detail - { - - template - struct is_complete_imp - { - template ())) > - static type_traits::yes_type check(U*); - - template - static type_traits::no_type check(...); - - static const bool value = sizeof(check(0)) == sizeof(type_traits::yes_type); - }; - -} // namespace detail - - - template - struct is_complete : boost::integral_constant::type>::value || ::boost::detail::is_complete_imp::value> - {}; - template - struct is_complete : boost::is_complete {}; - -#else - - template struct is_complete - : public boost::integral_constant {}; - -#undef BOOST_TT_HAS_WORKING_IS_COMPLETE - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_COMPLETE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_complex.hpp b/external/include/boost_1_75/boost/type_traits/is_complex.hpp deleted file mode 100644 index c4554cea08..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_complex.hpp +++ /dev/null @@ -1,25 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_COMPLEX_HPP -#define BOOST_TT_IS_COMPLEX_HPP - -#include -#include -#include - -namespace boost { - - template struct is_complex : public false_type {}; - template struct is_complex : public is_complex{}; - template struct is_complex : public is_complex{}; - template struct is_complex : public is_complex{}; - template struct is_complex > : public true_type{}; - -} // namespace boost - -#endif //BOOST_TT_IS_COMPLEX_HPP diff --git a/external/include/boost_1_75/boost/type_traits/is_compound.hpp b/external/include/boost_1_75/boost/type_traits/is_compound.hpp deleted file mode 100644 index 08f6e1198a..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_compound.hpp +++ /dev/null @@ -1,24 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_COMPOUND_HPP_INCLUDED -#define BOOST_TT_IS_COMPOUND_HPP_INCLUDED - -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) - template struct is_compound : public integral_constant {}; -#else - template struct is_compound : public integral_constant::value> {}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_COMPOUND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_copy_assignable.hpp b/external/include/boost_1_75/boost/type_traits/is_copy_assignable.hpp deleted file mode 100644 index ed04927b60..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_copy_assignable.hpp +++ /dev/null @@ -1,140 +0,0 @@ -// (C) Copyright Ion Gaztanaga 2014. -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_COPY_ASSIGNABLE_HPP_INCLUDED -#define BOOST_TT_IS_COPY_ASSIGNABLE_HPP_INCLUDED - -#include -#include -#include - -#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \ - && !defined(BOOST_INTEL_CXX_VERSION) && \ - !(defined(BOOST_MSVC) && _MSC_VER == 1800) -#define BOOST_TT_CXX11_IS_COPY_ASSIGNABLE -#include -#else - //For compilers without decltype - #include - #include - #include - #include -#endif - -namespace boost { - -namespace detail{ - -template -struct is_copy_assignable_impl2 { - -// Intel compiler has problems with SFINAE for copy constructors and deleted functions: -// -// error: function *function_name* cannot be referenced -- it is a deleted function -// static boost::type_traits::yes_type test(T1&, decltype(T1(boost::declval()))* = 0); -// ^ -// -// MSVC 12.0 (Visual 2013) has problems when the copy constructor has been deleted. See: -// https://connect.microsoft.com/VisualStudio/feedback/details/800328/std-is-copy-constructible-is-broken -#if defined(BOOST_TT_CXX11_IS_COPY_ASSIGNABLE) - typedef boost::type_traits::yes_type yes_type; - typedef boost::type_traits::no_type no_type; - - template - static decltype(::boost::declval() = ::boost::declval(), yes_type() ) test(int); - - template - static no_type test(...); - - static const bool value = sizeof(test(0)) == sizeof(yes_type); - -#else - static BOOST_DEDUCED_TYPENAME boost::add_reference::type produce(); - - template - static boost::type_traits::no_type test(T1&, typename T1::boost_move_no_copy_constructor_or_assign* = 0); - - static boost::type_traits::yes_type test(...); - // If you see errors like this: - // - // `'T::operator=(const T&)' is private` - // `boost/type_traits/is_copy_assignable.hpp:NN:M: error: within this context` - // - // then you are trying to call that macro for a structure defined like that: - // - // struct T { - // ... - // private: - // T & operator=(const T &); - // ... - // }; - // - // To fix that you must modify your structure: - // - // // C++03 and C++11 version - // struct T: private boost::noncopyable { - // ... - // private: - // T & operator=(const T &); - // ... - // }; - // - // // C++11 version - // struct T { - // ... - // private: - // T& operator=(const T &) = delete; - // ... - // }; - BOOST_STATIC_CONSTANT(bool, value = ( - sizeof(test(produce())) == sizeof(boost::type_traits::yes_type) - )); - #endif -}; - -template -struct is_copy_assignable_impl2 { - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template -struct is_copy_assignable_impl { - -#if !defined(BOOST_TT_CXX11_IS_COPY_ASSIGNABLE) - //For compilers without decltype, at least return false on const types, arrays - //types derived from boost::noncopyable and types defined as BOOST_MOVEABLE_BUT_NOT_COPYABLE - typedef BOOST_DEDUCED_TYPENAME boost::remove_reference::type unreferenced_t; - BOOST_STATIC_CONSTANT(bool, value = ( - boost::detail::is_copy_assignable_impl2< - boost::is_noncopyable::value - || boost::is_const::value || boost::is_array::value - ,T - >::value - )); - #else - BOOST_STATIC_CONSTANT(bool, value = ( - boost::detail::is_copy_assignable_impl2< - boost::is_noncopyable::value,T - >::value - )); - #endif -}; - -} // namespace detail - -template struct is_copy_assignable : public integral_constant::value>{}; -template <> struct is_copy_assignable : public false_type{}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> struct is_copy_assignable : public false_type{}; -template <> struct is_copy_assignable : public false_type{}; -template <> struct is_copy_assignable : public false_type{}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_COPY_ASSIGNABLE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_empty.hpp b/external/include/boost_1_75/boost/type_traits/is_empty.hpp deleted file mode 100644 index db9ead0915..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_empty.hpp +++ /dev/null @@ -1,120 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_EMPTY_HPP_INCLUDED -#define BOOST_TT_IS_EMPTY_HPP_INCLUDED - -#include -#include -#include - -#include -#include -#include - -#ifndef BOOST_INTERNAL_IS_EMPTY -#define BOOST_INTERNAL_IS_EMPTY(T) false -#else -#define BOOST_INTERNAL_IS_EMPTY(T) BOOST_IS_EMPTY(T) -#endif - -namespace boost { - -namespace detail { - - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4624) // destructor could not be generated -#endif - -template -struct empty_helper_t1 : public T -{ - empty_helper_t1(); // hh compiler bug workaround - int i[256]; -private: - // suppress compiler warnings: - empty_helper_t1(const empty_helper_t1&); - empty_helper_t1& operator=(const empty_helper_t1&); -}; - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -struct empty_helper_t2 { int i[256]; }; - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) - -template -struct empty_helper -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template -struct empty_helper -{ - BOOST_STATIC_CONSTANT( - bool, value = (sizeof(empty_helper_t1) == sizeof(empty_helper_t2)) - ); -}; - -template -struct is_empty_impl -{ - typedef typename remove_cv::type cvt; - BOOST_STATIC_CONSTANT( - bool, - value = ( ::boost::detail::empty_helper::value>::value || BOOST_INTERNAL_IS_EMPTY(cvt))); -}; - -#else // BOOST_BORLANDC - -template -struct empty_helper -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template -struct empty_helper -{ - BOOST_STATIC_CONSTANT(bool, value = ( - sizeof(empty_helper_t1) == sizeof(empty_helper_t2) - )); -}; - -template -struct is_empty_impl -{ - typedef typename remove_cv::type cvt; - typedef typename add_reference::type r_type; - - BOOST_STATIC_CONSTANT( - bool, value = ( - ::boost::detail::empty_helper< - cvt - , ::boost::is_class::value - , ::boost::is_convertible< r_type,int>::value - >::value || BOOST_INTERNAL_IS_EMPTY(cvt)); -}; - -#endif // BOOST_BORLANDC - -} // namespace detail - -template struct is_empty : integral_constant::value> {}; - -} // namespace boost - -#undef BOOST_INTERNAL_IS_EMPTY - -#endif // BOOST_TT_IS_EMPTY_HPP_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/is_final.hpp b/external/include/boost_1_75/boost/type_traits/is_final.hpp deleted file mode 100644 index 21ac93f341..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_final.hpp +++ /dev/null @@ -1,30 +0,0 @@ - -// Copyright (c) 2014 Agustin Berge -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_FINAL_HPP_INCLUDED -#define BOOST_TT_IS_FINAL_HPP_INCLUDED - -#include -#include -#ifdef BOOST_IS_FINAL -#include -#endif - -namespace boost { - -#ifdef BOOST_IS_FINAL -template struct is_final : public integral_constant {}; -#else -template struct is_final : public integral_constant {}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_FINAL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_float.hpp b/external/include/boost_1_75/boost/type_traits/is_float.hpp deleted file mode 100644 index 7bf7d1f820..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_float.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED - -// should be the last #include -#include - -namespace boost { - -//* is a type T a floating-point type described in the standard (3.9.1p8) - template struct is_float : public is_floating_point {}; -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_floating_point.hpp b/external/include/boost_1_75/boost/type_traits/is_floating_point.hpp deleted file mode 100644 index 196c900cf9..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_floating_point.hpp +++ /dev/null @@ -1,30 +0,0 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED - -#include - -namespace boost { - -//* is a type T a floating-point type described in the standard (3.9.1p8) - template struct is_floating_point : public false_type{}; - template struct is_floating_point : public is_floating_point{}; - template struct is_floating_point : public is_floating_point{}; - template struct is_floating_point : public is_floating_point{}; - template<> struct is_floating_point : public true_type{}; - template<> struct is_floating_point : public true_type{}; - template<> struct is_floating_point : public true_type{}; - -#if defined(BOOST_HAS_FLOAT128) - template<> struct is_floating_point<__float128> : public true_type{}; -#endif - -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_fundamental.hpp b/external/include/boost_1_75/boost/type_traits/is_fundamental.hpp deleted file mode 100644 index 5ce28d49e0..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_fundamental.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED -#define BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED - -#include -#include - -namespace boost { - -//* is a type T a fundamental type described in the standard (3.9.1) -#if defined( BOOST_CODEGEARC ) -template struct is_fundamental : public integral_constant {}; -#else -template struct is_fundamental : public integral_constant::value || ::boost::is_void::value> {}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_FUNDAMENTAL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_list_constructible.hpp b/external/include/boost_1_75/boost/type_traits/is_list_constructible.hpp deleted file mode 100644 index 4a9f84ad3c..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_list_constructible.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_IS_LIST_CONSTRUCTIBLE_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_IS_LIST_CONSTRUCTIBLE_HPP_INCLUDED - -// Copyright 2017 Peter Dimov -// -// 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 - -#include -#include -#include -#include -#include -#include - -namespace boost -{ - -#if defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_DECLTYPE) \ - || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\ - || BOOST_WORKAROUND(BOOST_GCC, < 40700) - -template struct is_list_constructible: false_type -{ - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value, "Arguments to is_list_constructible must be complete types"); -}; - -#else - -namespace type_traits_detail -{ - -template()...} )> true_type is_list_constructible_impl( int ); -template false_type is_list_constructible_impl( ... ); - -} // namespace type_traits_detail - -template struct is_list_constructible: decltype( type_traits_detail::is_list_constructible_impl(0) ) -{ - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value, "Arguments to is_list_constructible must be complete types"); -}; - -#endif - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_IS_LIST_CONSTRUCTIBLE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_member_function_pointer.hpp b/external/include/boost_1_75/boost/type_traits/is_member_function_pointer.hpp deleted file mode 100644 index 9b5dbbf228..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_member_function_pointer.hpp +++ /dev/null @@ -1,26 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED -#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED - -#include - -#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION - -#include - -#else - -#include - -#endif - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_nothrow_swappable.hpp b/external/include/boost_1_75/boost/type_traits/is_nothrow_swappable.hpp deleted file mode 100644 index 10ad9239a9..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_nothrow_swappable.hpp +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_IS_NOTHROW_SWAPPABLE_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_IS_NOTHROW_SWAPPABLE_HPP_INCLUDED - -// Copyright 2017 Peter Dimov -// -// 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 - -#include -#include - -#if defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_NO_CXX11_NOEXCEPT) || defined(BOOST_NO_CXX11_DECLTYPE) \ - || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) || BOOST_WORKAROUND(BOOST_GCC, < 40700) - -#include -#include -#include - -namespace boost -{ -template struct is_nothrow_swappable : boost::integral_constant::value && !boost::is_const::value> {}; - -template struct is_nothrow_swappable_with : false_type {}; -template struct is_nothrow_swappable_with : is_nothrow_swappable {}; -} - -#else - -#include -#include -#include - -namespace boost -{ - -namespace type_traits_swappable_detail -{ - -using std::swap; - -template(), declval()))> integral_constant is_nothrow_swappable_with_impl( int ); -template false_type is_nothrow_swappable_with_impl( ... ); -template -struct is_nothrow_swappable_with_helper { typedef decltype( type_traits_swappable_detail::is_nothrow_swappable_with_impl(0) ) type; }; - -template(), declval()))> integral_constant is_nothrow_swappable_impl( int ); -template false_type is_nothrow_swappable_impl( ... ); -template -struct is_nothrow_swappable_helper { typedef decltype( type_traits_swappable_detail::is_nothrow_swappable_impl(0) ) type; }; - -} // namespace type_traits_swappable_detail - -template struct is_nothrow_swappable_with: type_traits_swappable_detail::is_nothrow_swappable_with_helper::type -{ -}; - -template struct is_nothrow_swappable: type_traits_swappable_detail::is_nothrow_swappable_helper::type -{ -}; - -} // namespace boost - -#endif - -#endif // #ifndef BOOST_TYPE_TRAITS_IS_NOTHROW_SWAPPABLE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_object.hpp b/external/include/boost_1_75/boost/type_traits/is_object.hpp deleted file mode 100644 index fc9d2f25d3..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_object.hpp +++ /dev/null @@ -1,28 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_OBJECT_HPP_INCLUDED -#define BOOST_TT_IS_OBJECT_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { - -template struct is_object - : public - integral_constant< - bool, - ! ::boost::is_reference::value && ! ::boost::is_void::value && ! ::boost::is_function::value > -{}; - -} // namespace boost - -#endif // BOOST_TT_IS_OBJECT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_same.hpp b/external/include/boost_1_75/boost/type_traits/is_same.hpp deleted file mode 100644 index 9a9ec7e632..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_same.hpp +++ /dev/null @@ -1,41 +0,0 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED -#define BOOST_TT_IS_SAME_HPP_INCLUDED - -#include - -namespace boost { - - - template struct is_same : public false_type {}; - template struct is_same : public true_type {}; -#if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) -// without this, Borland's compiler gives the wrong answer for -// references to arrays: - template struct is_same : public true_type{}; -#endif - - -} // namespace boost - -#endif // BOOST_TT_IS_SAME_HPP_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/is_scoped_enum.hpp b/external/include/boost_1_75/boost/type_traits/is_scoped_enum.hpp deleted file mode 100644 index 7566859fbc..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_scoped_enum.hpp +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2020 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_IS_SCOPED_ENUM_HPP_INCLUDED -#define BOOST_TT_IS_SCOPED_ENUM_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { - -template -struct is_scoped_enum - : conjunction, negation > >::type { }; - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/is_signed.hpp b/external/include/boost_1_75/boost/type_traits/is_signed.hpp deleted file mode 100644 index 4d50bf8c6f..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_signed.hpp +++ /dev/null @@ -1,163 +0,0 @@ - -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_SIGNED_HPP_INCLUDED -#define BOOST_TT_IS_SIGNED_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { - -#if !defined( BOOST_CODEGEARC ) - -#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1310) && \ - !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) &&\ - !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) - -namespace detail{ - -template -struct is_signed_values -{ - // - // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's - // rather than "real" static constants simply doesn't work or give - // the correct answer. - // - typedef typename remove_cv::type no_cv_t; - static const no_cv_t minus_one = (static_cast(-1)); - static const no_cv_t zero = (static_cast(0)); -}; - -template -struct is_signed_helper -{ - typedef typename remove_cv::type no_cv_t; - BOOST_STATIC_CONSTANT(bool, value = (!(::boost::detail::is_signed_values::minus_one > boost::detail::is_signed_values::zero))); -}; - -template -struct is_signed_select_helper -{ - template - struct rebind - { - typedef is_signed_helper type; - }; -}; - -template <> -struct is_signed_select_helper -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template -struct is_signed_impl -{ - typedef ::boost::detail::is_signed_select_helper< ::boost::is_integral::value || ::boost::is_enum::value> selector; - typedef typename selector::template rebind binder; - typedef typename binder::type type; - BOOST_STATIC_CONSTANT(bool, value = type::value); -}; - -} - -template struct is_signed : public integral_constant::value> {}; - -#else - -template struct is_signed : public false_type{}; - -#endif - -#else //defined( BOOST_CODEGEARC ) - template struct is_signed : public integral_constant{}; -#endif - -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; - -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -#ifdef BOOST_HAS_LONG_LONG -template <> struct is_signed< ::boost::long_long_type> : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; - -template <> struct is_signed< ::boost::ulong_long_type> : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -#endif -#if defined(CHAR_MIN) -#if CHAR_MIN != 0 -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -#else -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -#endif -#endif -#if defined(WCHAR_MIN) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) -#if WCHAR_MIN != 0 -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -template <> struct is_signed : public true_type{}; -#else -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -template <> struct is_signed : public false_type{}; -#endif -#endif -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_stateless.hpp b/external/include/boost_1_75/boost/type_traits/is_stateless.hpp deleted file mode 100644 index f9266da5b8..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_stateless.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_STATELESS_HPP_INCLUDED -#define BOOST_TT_IS_STATELESS_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace boost { - -template -struct is_stateless - : public integral_constant::value - && ::boost::has_trivial_copy::value - && ::boost::has_trivial_destructor::value - && ::boost::is_class::value - && ::boost::is_empty::value)> -{}; - -} // namespace boost - -#endif // BOOST_TT_IS_STATELESS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_trivially_copyable.hpp b/external/include/boost_1_75/boost/type_traits/is_trivially_copyable.hpp deleted file mode 100644 index a62668aaef..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_trivially_copyable.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright 2020 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED -#define BOOST_TT_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { - -template -struct is_trivially_copyable - : integral_constant::value && - has_trivial_assign::value && - has_trivial_move_constructor::value && - has_trivial_move_assign::value && - has_trivial_destructor::value> { }; - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/is_unscoped_enum.hpp b/external/include/boost_1_75/boost/type_traits/is_unscoped_enum.hpp deleted file mode 100644 index 99f9acb976..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_unscoped_enum.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright 2020 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_IS_UNSCOPED_ENUM_HPP_INCLUDED -#define BOOST_TT_IS_UNSCOPED_ENUM_HPP_INCLUDED - -#include -#include -#include - -namespace boost { - -template -struct is_unscoped_enum - : conjunction, is_convertible >::type { }; - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/is_unsigned.hpp b/external/include/boost_1_75/boost/type_traits/is_unsigned.hpp deleted file mode 100644 index 38b916296d..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_unsigned.hpp +++ /dev/null @@ -1,163 +0,0 @@ - -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_UNSIGNED_HPP_INCLUDED -#define BOOST_TT_IS_UNSIGNED_HPP_INCLUDED - -#include -#include -#include - -#include - -namespace boost { - -#if !defined( BOOST_CODEGEARC ) - -#if !(defined(BOOST_MSVC) && BOOST_MSVC <= 1310) &&\ - !(defined(__EDG_VERSION__) && __EDG_VERSION__ <= 238) &&\ - !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) - -namespace detail{ - -template -struct is_unsigned_values -{ - // - // Note that we cannot use BOOST_STATIC_CONSTANT here, using enum's - // rather than "real" static constants simply doesn't work or give - // the correct answer. - // - typedef typename remove_cv::type no_cv_t; - static const no_cv_t minus_one = (static_cast(-1)); - static const no_cv_t zero = (static_cast(0)); -}; - -template -struct is_ununsigned_helper -{ - BOOST_STATIC_CONSTANT(bool, value = (::boost::detail::is_unsigned_values::minus_one > ::boost::detail::is_unsigned_values::zero)); -}; - -template -struct is_unsigned_select_helper -{ - template - struct rebind - { - typedef is_ununsigned_helper type; - }; -}; - -template <> -struct is_unsigned_select_helper -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template -struct is_unsigned -{ - typedef ::boost::detail::is_unsigned_select_helper< ::boost::is_integral::value || ::boost::is_enum::value > selector; - typedef typename selector::template rebind binder; - typedef typename binder::type type; - BOOST_STATIC_CONSTANT(bool, value = type::value); -}; - -} // namespace detail - -template struct is_unsigned : public integral_constant::value> {}; - -#else - -template struct is_unsigned : public false_type{}; - -#endif - -#else // defined( BOOST_CODEGEARC ) -template struct is_unsigned : public integral_constant {}; -#endif - -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; - -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned< short> : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned< int> : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned< long> : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -#ifdef BOOST_HAS_LONG_LONG -template <> struct is_unsigned< ::boost::ulong_long_type> : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; - -template <> struct is_unsigned< ::boost::long_long_type> : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -#endif -#if defined(CHAR_MIN) -#if CHAR_MIN == 0 -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -#else -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -#endif -#endif -#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && defined(WCHAR_MIN) -#if WCHAR_MIN == 0 -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -template <> struct is_unsigned : public true_type{}; -#else -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -template <> struct is_unsigned : public false_type{}; -#endif -#endif -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_virtual_base_of.hpp b/external/include/boost_1_75/boost/type_traits/is_virtual_base_of.hpp deleted file mode 100644 index c665078bd3..0000000000 --- a/external/include/boost_1_75/boost/type_traits/is_virtual_base_of.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// (C) Copyright Daniel Frey and Robert Ramey 2009. -// (C) Copyright Balint Cserni 2017 -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED -#define BOOST_TT_IS_VIRTUAL_BASE_OF_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { - namespace detail { - - -#ifdef BOOST_MSVC -#pragma warning( push ) -#pragma warning( disable : 4584 4250 4594) -#elif defined(__GNUC__) && (__GNUC__ >= 4) -#pragma GCC system_header -#endif - -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_CXX11_NULLPTR) && !BOOST_WORKAROUND(BOOST_GCC, < 40800) - - // Implementation based on the standard's rules of explicit type conversions. - // A pointer to an object of *derived* class type may be explicitly converted to a pointer to an *unambiguous* *base* class type. - // A pointer to an object of an *unambiguous* *non-virtual* *base* class type may be explicitly converted to a pointer of a *derived* class type. - // Therefore Derived has a virtual base Base if and only if - // (1) a Derived* can be converted to Base* (so the base class is unambiguous, which comes necessarily from virtual inheritance) - // (2) a Base* cannot be converted to Derived* (so the base class is either ambiguous or virtual) - // With both conditions true, Base must be a virtual base of Derived. - // The "is_base_of" is only needed so the compiler can (but is not required to) error out if the types are incomplete. - // This is in league with the the expected behaviour. - - template - constexpr bool is_virtual_base_impl(...) { return true; } - - // C-style casts have the power to ignore inheritance visibility while still act as a static_cast. - // They can also fall back to the behaviour of reinterpret_cast, which allows is_virtual_base_of to work on non-class types too. - // Note that because we are casting pointers there can be no user-defined operators to interfere. - template()))>::type* = - nullptr> - constexpr bool is_virtual_base_impl(int) { return false; } - - } // namespace detail - - template - struct is_virtual_base_of : public - boost::integral_constant< - bool, - boost::is_base_of::value && - detail::is_virtual_base_impl(0) && - !detail::is_virtual_base_impl(0) - > {}; - -#else - - template - struct is_virtual_base_of_impl - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; - - template - struct is_virtual_base_of_impl - { - union max_align - { - unsigned u; - unsigned long ul; - void* v; - double d; - long double ld; -#ifndef BOOST_NO_LONG_LONG - long long ll; -#endif - }; -#ifdef BOOST_BORLANDC - struct boost_type_traits_internal_struct_X : public virtual Derived, public virtual Base - { - boost_type_traits_internal_struct_X(); - boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&); - boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&); - ~boost_type_traits_internal_struct_X()throw(); - max_align data[4]; - }; - struct boost_type_traits_internal_struct_Y : public virtual Derived - { - boost_type_traits_internal_struct_Y(); - boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&); - boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&); - ~boost_type_traits_internal_struct_Y()throw(); - max_align data[4]; - }; -#else - struct boost_type_traits_internal_struct_X : public Derived, virtual Base - { - boost_type_traits_internal_struct_X(); - boost_type_traits_internal_struct_X(const boost_type_traits_internal_struct_X&); - boost_type_traits_internal_struct_X& operator=(const boost_type_traits_internal_struct_X&); - ~boost_type_traits_internal_struct_X()throw(); - max_align data[16]; - }; - struct boost_type_traits_internal_struct_Y : public Derived - { - boost_type_traits_internal_struct_Y(); - boost_type_traits_internal_struct_Y(const boost_type_traits_internal_struct_Y&); - boost_type_traits_internal_struct_Y& operator=(const boost_type_traits_internal_struct_Y&); - ~boost_type_traits_internal_struct_Y()throw(); - max_align data[16]; - }; -#endif - BOOST_STATIC_CONSTANT(bool, value = (sizeof(boost_type_traits_internal_struct_X) == sizeof(boost_type_traits_internal_struct_Y))); - }; - - template - struct is_virtual_base_of_impl2 - { - typedef boost::integral_constant::value && !boost::is_same::value)> tag_type; - typedef is_virtual_base_of_impl imp; - BOOST_STATIC_CONSTANT(bool, value = imp::value); - }; - -} // namespace detail - -template struct is_virtual_base_of : public integral_constant::value)> {}; - -#endif - -template struct is_virtual_base_of : public false_type{}; -template struct is_virtual_base_of : public false_type{}; -template struct is_virtual_base_of : public false_type{}; - -#ifdef BOOST_MSVC -#pragma warning( pop ) -#endif - -} // namespace boost - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/make_signed.hpp b/external/include/boost_1_75/boost/type_traits/make_signed.hpp deleted file mode 100644 index 6d8b1fb8d4..0000000000 --- a/external/include/boost_1_75/boost/type_traits/make_signed.hpp +++ /dev/null @@ -1,137 +0,0 @@ - -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_MAKE_SIGNED_HPP_INCLUDED -#define BOOST_TT_MAKE_SIGNED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { - -template -struct make_signed -{ -private: - BOOST_STATIC_ASSERT_MSG(( ::boost::is_integral::value || ::boost::is_enum::value), "The template argument to make_signed must be an integer or enum type."); - BOOST_STATIC_ASSERT_MSG(!(::boost::is_same::type, bool>::value), "The template argument to make_signed must not be the type bool."); - - typedef typename remove_cv::type t_no_cv; - typedef typename conditional< - (::boost::is_signed::value - && ::boost::is_integral::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value), - T, - typename conditional< - (::boost::is_integral::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value), - typename conditional< - is_same::value, - signed char, - typename conditional< - is_same::value, - signed short, - typename conditional< - is_same::value, - int, - typename conditional< - is_same::value, - long, -#if defined(BOOST_HAS_LONG_LONG) -#ifdef BOOST_HAS_INT128 - typename conditional< - sizeof(t_no_cv) == sizeof(boost::long_long_type), - boost::long_long_type, - boost::int128_type - >::type -#else - boost::long_long_type -#endif -#elif defined(BOOST_HAS_MS_INT64) - __int64 -#else - long -#endif - >::type - >::type - >::type - >::type, - // Not a regular integer type: - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned char), - signed char, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned short), - signed short, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned int), - int, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned long), - long, -#if defined(BOOST_HAS_LONG_LONG) -#ifdef BOOST_HAS_INT128 - typename conditional< - sizeof(t_no_cv) == sizeof(boost::long_long_type), - boost::long_long_type, - boost::int128_type - >::type -#else - boost::long_long_type -#endif -#elif defined(BOOST_HAS_MS_INT64) - __int64 -#else - long -#endif - >::type - >::type - >::type - >::type - >::type - >::type base_integer_type; - - // Add back any const qualifier: - typedef typename conditional< - is_const::value, - typename add_const::type, - base_integer_type - >::type const_base_integer_type; -public: - // Add back any volatile qualifier: - typedef typename conditional< - is_volatile::value, - typename add_volatile::type, - const_base_integer_type - >::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using make_signed_t = typename make_signed::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/make_unsigned.hpp b/external/include/boost_1_75/boost/type_traits/make_unsigned.hpp deleted file mode 100644 index 17a8a5b929..0000000000 --- a/external/include/boost_1_75/boost/type_traits/make_unsigned.hpp +++ /dev/null @@ -1,136 +0,0 @@ - -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED -#define BOOST_TT_MAKE_UNSIGNED_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { - -template -struct make_unsigned -{ -private: - BOOST_STATIC_ASSERT_MSG((::boost::is_integral::value || ::boost::is_enum::value), "The template argument to make_unsigned must be an integer or enum type."); - BOOST_STATIC_ASSERT_MSG((! ::boost::is_same::type, bool>::value), "The template argument to make_unsigned must not be the type bool"); - - typedef typename remove_cv::type t_no_cv; - typedef typename conditional< - (::boost::is_unsigned::value && ::boost::is_integral::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value), - T, - typename conditional< - (::boost::is_integral::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value - && ! ::boost::is_same::value), - typename conditional< - is_same::value, - unsigned char, - typename conditional< - is_same::value, - unsigned short, - typename conditional< - is_same::value, - unsigned int, - typename conditional< - is_same::value, - unsigned long, -#if defined(BOOST_HAS_LONG_LONG) -#ifdef BOOST_HAS_INT128 - typename conditional< - sizeof(t_no_cv) == sizeof(boost::ulong_long_type), - boost::ulong_long_type, - boost::uint128_type - >::type -#else - boost::ulong_long_type -#endif -#elif defined(BOOST_HAS_MS_INT64) - unsigned __int64 -#else - unsigned long -#endif - >::type - >::type - >::type - >::type, - // Not a regular integer type: - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned char), - unsigned char, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned short), - unsigned short, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned int), - unsigned int, - typename conditional< - sizeof(t_no_cv) == sizeof(unsigned long), - unsigned long, -#if defined(BOOST_HAS_LONG_LONG) -#ifdef BOOST_HAS_INT128 - typename conditional< - sizeof(t_no_cv) == sizeof(boost::ulong_long_type), - boost::ulong_long_type, - boost::uint128_type - >::type -#else - boost::ulong_long_type -#endif -#elif defined(BOOST_HAS_MS_INT64) - unsigned __int64 -#else - unsigned long -#endif - >::type - >::type - >::type - >::type - >::type - >::type base_integer_type; - - // Add back any const qualifier: - typedef typename conditional< - is_const::value, - typename add_const::type, - base_integer_type - >::type const_base_integer_type; -public: - // Add back any volatile qualifier: - typedef typename conditional< - is_volatile::value, - typename add_volatile::type, - const_base_integer_type - >::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using make_unsigned_t = typename make_unsigned::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/make_void.hpp b/external/include/boost_1_75/boost/type_traits/make_void.hpp deleted file mode 100644 index b8a72ef571..0000000000 --- a/external/include/boost_1_75/boost/type_traits/make_void.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* -Copyright 2017 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_MAKE_VOID_HPP_INCLUDED -#define BOOST_TT_MAKE_VOID_HPP_INCLUDED - -#include - -namespace boost { - -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template -struct make_void { - typedef void type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template -using void_t = typename make_void::type; -#endif - -#else /* BOOST_NO_CXX11_VARIADIC_TEMPLATES */ - -template -struct make_void { - typedef void type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template -using void_t = typename make_void::type; -#endif - -#endif - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/negation.hpp b/external/include/boost_1_75/boost/type_traits/negation.hpp deleted file mode 100644 index 939e7a7786..0000000000 --- a/external/include/boost_1_75/boost/type_traits/negation.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2020 Glen Joseph Fernandes -(glenjofe@gmail.com) - -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) -*/ - -#ifndef BOOST_TT_NEGATION_HPP_INCLUDED -#define BOOST_TT_NEGATION_HPP_INCLUDED - -#include - -namespace boost { - -template -struct negation - : integral_constant { }; - -} /* boost */ - -#endif diff --git a/external/include/boost_1_75/boost/type_traits/promote.hpp b/external/include/boost_1_75/boost/type_traits/promote.hpp deleted file mode 100644 index 1678e1ca3e..0000000000 --- a/external/include/boost_1_75/boost/type_traits/promote.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2005 Alexander Nasonov. -// 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) - -#ifndef FILE_boost_type_traits_promote_hpp_INCLUDED -#define FILE_boost_type_traits_promote_hpp_INCLUDED - -#include -#include -#include - -namespace boost { - -template struct promote : public integral_promotion::type>{}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using promote_t = typename promote::type; - -#endif - -} - -#endif // #ifndef FILE_boost_type_traits_promote_hpp_INCLUDED - diff --git a/external/include/boost_1_75/boost/type_traits/rank.hpp b/external/include/boost_1_75/boost/type_traits/rank.hpp deleted file mode 100644 index db06cbd19e..0000000000 --- a/external/include/boost_1_75/boost/type_traits/rank.hpp +++ /dev/null @@ -1,87 +0,0 @@ - -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_RANK_HPP_INCLUDED -#define BOOST_TT_RANK_HPP_INCLUDED - -#include // size_t -#include - -namespace boost { - -#if !defined( BOOST_CODEGEARC ) - -namespace detail{ - -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = N); -}; -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; - -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; - -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; - -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; -template -struct rank_imp -{ - BOOST_STATIC_CONSTANT(std::size_t, value = (::boost::detail::rank_imp::value)); -}; -#endif -#endif -} - -#endif // !defined( BOOST_CODEGEARC ) - -#if defined( BOOST_CODEGEARC ) -template struct rank : public integral_constant{}; -#else -template struct rank : public integral_constant::value)>{}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/remove_cv_ref.hpp b/external/include/boost_1_75/boost/type_traits/remove_cv_ref.hpp deleted file mode 100644 index 118945a6a0..0000000000 --- a/external/include/boost_1_75/boost/type_traits/remove_cv_ref.hpp +++ /dev/null @@ -1,30 +0,0 @@ - -// (C) Copyright Peter Dimov 2017. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_REMOVE_CV_REF_HPP_INCLUDED -#define BOOST_TT_REMOVE_CV_REF_HPP_INCLUDED - -#include -#include -#include - -namespace boost { - - template struct remove_cv_ref: remove_cv::type> {}; - - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_cv_ref_t = typename remove_cv_ref::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_CV_REF_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/type_identity.hpp b/external/include/boost_1_75/boost/type_traits/type_identity.hpp deleted file mode 100644 index 4a03a13a39..0000000000 --- a/external/include/boost_1_75/boost/type_traits/type_identity.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED - -// -// Copyright 2015 Peter Dimov -// -// 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 -// - -#include - -namespace boost -{ - -template struct type_identity -{ - typedef T type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - -template using type_identity_t = typename type_identity::type; - -#endif - - -} // namespace boost - -#endif // #ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/utility/compare_pointees.hpp b/external/include/boost_1_75/boost/utility/compare_pointees.hpp deleted file mode 100644 index 5ab21cdee2..0000000000 --- a/external/include/boost_1_75/boost/utility/compare_pointees.hpp +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (C) 2003, Fernando Luis Cacciola Carballal. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/libs/optional for documentation. -// -// You are welcome to contact the author at: -// fernando_cacciola@hotmail.com -// -#ifndef BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP -#define BOOST_UTILITY_COMPARE_POINTEES_25AGO2003_HPP - -#include - -namespace boost { - -// template bool equal_pointees(OP const& x, OP const& y); -// template struct equal_pointees_t; -// -// Being OP a model of OptionalPointee (either a pointer or an optional): -// -// If both x and y have valid pointees, returns the result of (*x == *y) -// If only one has a valid pointee, returns false. -// If none have valid pointees, returns true. -// No-throw -template -inline -bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y ) -{ - return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ; -} - -template -struct equal_pointees_t -{ - typedef bool result_type; - typedef OptionalPointee first_argument_type; - typedef OptionalPointee second_argument_type; - - bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const - { return equal_pointees(x,y) ; } -} ; - -// template bool less_pointees(OP const& x, OP const& y); -// template struct less_pointees_t; -// -// Being OP a model of OptionalPointee (either a pointer or an optional): -// -// If y has not a valid pointee, returns false. -// ElseIf x has not a valid pointee, returns true. -// ElseIf both x and y have valid pointees, returns the result of (*x < *y) -// No-throw -template -inline -bool less_pointees ( OptionalPointee const& x, OptionalPointee const& y ) -{ - return !y ? false : ( !x ? true : (*x) < (*y) ) ; -} - -template -struct less_pointees_t -{ - typedef bool result_type; - typedef OptionalPointee first_argument_type; - typedef OptionalPointee second_argument_type; - - bool operator() ( OptionalPointee const& x, OptionalPointee const& y ) const - { return less_pointees(x,y) ; } -} ; - -} // namespace boost - -#endif - diff --git a/external/include/boost_1_75/boost/utility/detail/result_of_iterate.hpp b/external/include/boost_1_75/boost/utility/detail/result_of_iterate.hpp deleted file mode 100644 index 2ea594464c..0000000000 --- a/external/include/boost_1_75/boost/utility/detail/result_of_iterate.hpp +++ /dev/null @@ -1,218 +0,0 @@ -// Boost result_of library - -// Copyright Douglas Gregor 2004. Use, modification and -// distribution is subject to 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) - -// Copyright Daniel Walker, Eric Niebler, Michel Morin 2008-2012. -// Use, modification and distribution is subject to 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) - -// For more information, see http://www.boost.org/libs/utility -#if !defined(BOOST_PP_IS_ITERATING) -# error Boost result_of - do not include this file! -#endif - -// CWPro8 requires an argument in a function type specialization -#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3002)) && BOOST_PP_ITERATION() == 0 -# define BOOST_RESULT_OF_ARGS void -#else -# define BOOST_RESULT_OF_ARGS BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T) -#endif - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) -template -struct tr1_result_of - : conditional< - is_pointer::value || is_member_function_pointer::value - , boost::detail::tr1_result_of_impl< - typename remove_cv::type, - typename remove_cv::type(BOOST_RESULT_OF_ARGS), - (boost::detail::result_of_has_result_type::value)> - , boost::detail::tr1_result_of_impl< - F, - F(BOOST_RESULT_OF_ARGS), - (boost::detail::result_of_has_result_type::value)> >::type { }; -#endif - -#ifdef BOOST_RESULT_OF_USE_DECLTYPE -template -struct result_of - : detail::cpp0x_result_of { }; -#endif // BOOST_RESULT_OF_USE_DECLTYPE - -#ifdef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK -template -struct result_of - : conditional::value || detail::result_of_has_result::value, - tr1_result_of, - detail::cpp0x_result_of >::type { }; -#endif // BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK - -#if defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK) - -namespace detail { - -template -struct cpp0x_result_of - : conditional< - is_member_function_pointer::value - , detail::tr1_result_of_impl< - typename remove_cv::type, - typename remove_cv::type(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)), false - > - , detail::cpp0x_result_of_impl< - F(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(),T)) - > - >::type -{}; - -#ifdef BOOST_NO_SFINAE_EXPR - -template -struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION()); - -template -struct BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION()) { - R operator()(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), T)) const; - typedef result_of_private_type const &(*pfn_t)(...); - operator pfn_t() const volatile; -}; - -template -struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION()) - : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION()) -{}; - -template -struct BOOST_PP_CAT(result_of_callable_fun_, BOOST_PP_ITERATION()) - : BOOST_PP_CAT(result_of_callable_fun_2_, BOOST_PP_ITERATION()) -{}; - -template -struct BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION()) - : conditional< - is_class::type>::value, - result_of_wrap_callable_class, - type_identity::type>::type> > - >::type -{}; - -template -struct BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION()) { - typedef typename BOOST_PP_CAT(result_of_select_call_wrapper_type_, BOOST_PP_ITERATION())::type wrapper_t; - static const bool value = ( - sizeof(result_of_no_type) == sizeof(detail::result_of_is_private_type( - (boost::declval()(BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval() BOOST_PP_INTERCEPT)), result_of_weird_type()) - )) - ); - typedef integral_constant type; -}; - -template -struct cpp0x_result_of_impl - : lazy_enable_if< - BOOST_PP_CAT(result_of_is_callable_, BOOST_PP_ITERATION()) - , cpp0x_result_of_impl - > -{}; - -template -struct cpp0x_result_of_impl -{ - typedef decltype( - boost::declval()( - BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval() BOOST_PP_INTERCEPT) - ) - ) type; -}; - -#else // BOOST_NO_SFINAE_EXPR - -template -struct cpp0x_result_of_impl()( - BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval() BOOST_PP_INTERCEPT) - ) - )>::type> { - typedef decltype( - boost::declval()( - BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), boost::declval() BOOST_PP_INTERCEPT) - ) - ) type; -}; - -#endif // BOOST_NO_SFINAE_EXPR - -} // namespace detail - -#else // defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK) - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) -template -struct result_of - : tr1_result_of { }; -#endif - -#endif // defined(BOOST_RESULT_OF_USE_DECLTYPE) - -#undef BOOST_RESULT_OF_ARGS - -#if BOOST_PP_ITERATION() >= 1 - -namespace detail { - -template -struct tr1_result_of_impl -{ - typedef R type; -}; - -template -struct tr1_result_of_impl -{ - typedef R type; -}; - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) -template -struct tr1_result_of_impl -{ - typedef R type; -}; - -template -struct tr1_result_of_impl -{ - typedef R type; -}; - -template -struct tr1_result_of_impl -{ - typedef R type; -}; - -template -struct tr1_result_of_impl -{ - typedef R type; -}; -#endif - -} -#endif diff --git a/external/include/boost_1_75/boost/utility/enable_if.hpp b/external/include/boost_1_75/boost/utility/enable_if.hpp deleted file mode 100644 index 803bfca5e2..0000000000 --- a/external/include/boost_1_75/boost/utility/enable_if.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * 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) - */ - -#ifndef BOOST_UTILITY_ENABLE_IF_HPP -#define BOOST_UTILITY_ENABLE_IF_HPP - -// The header file at this path is deprecated; -// use boost/core/enable_if.hpp instead. - -#include - -#endif diff --git a/external/include/boost_1_75/boost/utility/result_of.hpp b/external/include/boost_1_75/boost/utility/result_of.hpp deleted file mode 100644 index 2b652ba0ca..0000000000 --- a/external/include/boost_1_75/boost/utility/result_of.hpp +++ /dev/null @@ -1,234 +0,0 @@ -// Boost result_of library - -// Copyright Douglas Gregor 2004. Use, modification and -// distribution is subject to 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) - -// For more information, see http://www.boost.org/libs/utility -#ifndef BOOST_RESULT_OF_HPP -#define BOOST_RESULT_OF_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_RESULT_OF_NUM_ARGS -# define BOOST_RESULT_OF_NUM_ARGS 16 -#endif - -// Use the decltype-based version of result_of by default if the compiler -// supports N3276 . -// The user can force the choice by defining BOOST_RESULT_OF_USE_DECLTYPE, -// BOOST_RESULT_OF_USE_TR1, or BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK but not more than one! -#if (defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1)) || \ - (defined(BOOST_RESULT_OF_USE_DECLTYPE) && defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)) || \ - (defined(BOOST_RESULT_OF_USE_TR1) && defined(BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK)) -# error More than one of BOOST_RESULT_OF_USE_DECLTYPE, BOOST_RESULT_OF_USE_TR1 and \ - BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK cannot be defined at the same time. -#endif - -#ifndef BOOST_RESULT_OF_USE_TR1 -# ifndef BOOST_RESULT_OF_USE_DECLTYPE -# ifndef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK -# ifndef BOOST_NO_CXX11_DECLTYPE_N3276 // this implies !defined(BOOST_NO_CXX11_DECLTYPE) -# define BOOST_RESULT_OF_USE_DECLTYPE -# else -# define BOOST_RESULT_OF_USE_TR1 -# endif -# endif -# endif -#endif - -namespace boost { - -template struct result_of; -template struct tr1_result_of; // a TR1-style implementation of result_of - -#if !defined(BOOST_NO_SFINAE) -namespace detail { - -typedef char result_of_yes_type; // sizeof(result_of_yes_type) == 1 -typedef char (&result_of_no_type)[2]; // sizeof(result_of_no_type) == 2 - -template struct result_of_has_type {}; - -template struct result_of_has_result_type_impl -{ - template static result_of_yes_type f( result_of_has_type* ); - template static result_of_no_type f( ... ); - - typedef boost::integral_constant(0)) == sizeof(result_of_yes_type)> type; -}; - -template struct result_of_has_result_type: result_of_has_result_type_impl::type -{ -}; - -// Work around a nvcc bug by only defining has_result when it's needed. -#ifdef BOOST_RESULT_OF_USE_TR1_WITH_DECLTYPE_FALLBACK - -template class C> struct result_of_has_template {}; - -template struct result_of_has_result_impl -{ - template static result_of_yes_type f( result_of_has_template* ); - template static result_of_no_type f( ... ); - - typedef boost::integral_constant(0)) == sizeof(result_of_yes_type)> type; -}; - -template struct result_of_has_result: result_of_has_result_impl::type -{ -}; - -#endif - -template struct tr1_result_of_impl; - -template struct cpp0x_result_of; - -#ifdef BOOST_NO_SFINAE_EXPR - -// There doesn't seem to be any other way to turn this off such that the presence of -// the user-defined operator,() below doesn't cause spurious warning all over the place, -// so unconditionally turn it off. -#if BOOST_MSVC -# pragma warning(disable: 4913) // user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used -#endif - -struct result_of_private_type {}; - -struct result_of_weird_type { - friend result_of_private_type operator,(result_of_private_type, result_of_weird_type); -}; - -template -result_of_no_type result_of_is_private_type(T const &); -result_of_yes_type result_of_is_private_type(result_of_private_type); - -template -struct result_of_callable_class : C { - result_of_callable_class(); - typedef result_of_private_type const &(*pfn_t)(...); - operator pfn_t() const volatile; -}; - -template -struct result_of_wrap_callable_class { - typedef result_of_callable_class type; -}; - -template -struct result_of_wrap_callable_class { - typedef result_of_callable_class const type; -}; - -template -struct result_of_wrap_callable_class { - typedef result_of_callable_class volatile type; -}; - -template -struct result_of_wrap_callable_class { - typedef result_of_callable_class const volatile type; -}; - -template -struct result_of_wrap_callable_class { - typedef typename result_of_wrap_callable_class::type &type; -}; - -template struct cpp0x_result_of_impl; - -#else // BOOST_NO_SFINAE_EXPR - -template -struct result_of_always_void -{ - typedef void type; -}; - -template struct cpp0x_result_of_impl {}; - -#endif // BOOST_NO_SFINAE_EXPR - -template -struct result_of_void_impl -{ - typedef void type; -}; - -template -struct result_of_void_impl -{ - typedef R type; -}; - -template -struct result_of_void_impl -{ - typedef R type; -}; - -// Determine the return type of a function pointer or pointer to member. -template -struct result_of_pointer - : tr1_result_of_impl::type, FArgs, false> { }; - -template -struct tr1_result_of_impl -{ - typedef typename F::result_type type; -}; - -template -struct is_function_with_no_args : false_type {}; - -template -struct is_function_with_no_args : true_type {}; - -template -struct result_of_nested_result : F::template result -{}; - -template -struct tr1_result_of_impl - : conditional::value, - result_of_void_impl, - result_of_nested_result >::type -{}; - -} // end namespace detail - -#define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_RESULT_OF_NUM_ARGS,)) -#include BOOST_PP_ITERATE() - -#if 0 -// inform dependency trackers, as they can't see through macro includes -#include -#endif - -#else -# define BOOST_NO_RESULT_OF 1 -#endif - -} - -#endif // BOOST_RESULT_OF_HPP diff --git a/external/include/boost_1_75/boost/utility/swap.hpp b/external/include/boost_1_75/boost/utility/swap.hpp deleted file mode 100644 index dd9ecd9070..0000000000 --- a/external/include/boost_1_75/boost/utility/swap.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * 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) - */ - -#ifndef BOOST_UTILITY_SWAP_HPP -#define BOOST_UTILITY_SWAP_HPP - -// The header file at this path is deprecated; -// use boost/core/swap.hpp instead. - -#include - -#endif diff --git a/external/include/boost_1_75/boost/utility/value_init.hpp b/external/include/boost_1_75/boost/utility/value_init.hpp deleted file mode 100644 index 418a214222..0000000000 --- a/external/include/boost_1_75/boost/utility/value_init.hpp +++ /dev/null @@ -1,243 +0,0 @@ -// (C) Copyright 2002-2008, Fernando Luis Cacciola Carballal. -// Copyright 2020 Peter Dimov -// -// 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) -// -// 21 Ago 2002 (Created) Fernando Cacciola -// 24 Dec 2007 (Refactored and worked around various compiler bugs) Fernando Cacciola, Niels Dekker -// 23 May 2008 (Fixed operator= const issue, added initialized_value) Niels Dekker, Fernando Cacciola -// 21 Ago 2008 (Added swap) Niels Dekker, Fernando Cacciola -// 20 Feb 2009 (Fixed logical const-ness issues) Niels Dekker, Fernando Cacciola -// 03 Apr 2010 (Added initialized, suggested by Jeffrey Hellrung, fixing #3472) Niels Dekker -// 30 May 2010 (Made memset call conditional, fixing #3869) Niels Dekker -// -#ifndef BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP -#define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP - -// Note: The implementation of boost::value_initialized had to deal with the -// fact that various compilers haven't fully implemented value-initialization. -// The constructor of boost::value_initialized works around these compiler -// issues, by clearing the bytes of T, before constructing the T object it -// contains. More details on these issues are at libs/utility/value_init.htm - -#include // For BOOST_NO_COMPLETE_VALUE_INITIALIZATION. -#include -#include -#include - -#ifdef BOOST_MSVC -#pragma warning(push) -// It is safe to ignore the following warning from MSVC 7.1 or higher: -// "warning C4351: new behavior: elements of array will be default initialized" -#pragma warning(disable: 4351) -// It is safe to ignore the following MSVC warning, which may pop up when T is -// a const type: "warning C4512: assignment operator could not be generated". -#pragma warning(disable: 4512) -#endif - -#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION - // Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED - // suggests that a workaround should be applied, because of compiler issues - // regarding value-initialization. - #define BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED -#endif - -// Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND -// switches the value-initialization workaround either on or off. -#ifndef BOOST_DETAIL_VALUE_INIT_WORKAROUND - #ifdef BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED - #define BOOST_DETAIL_VALUE_INIT_WORKAROUND 1 - #else - #define BOOST_DETAIL_VALUE_INIT_WORKAROUND 0 - #endif -#endif - -namespace boost { - -namespace detail { - - struct zero_init - { - zero_init() - { - } - - zero_init( void * p, std::size_t n ) - { - std::memset( p, 0, n ); - } - }; - -} // namespace detail - -template -class initialized -#if BOOST_DETAIL_VALUE_INIT_WORKAROUND - : detail::zero_init -#endif -{ - private: - - T data_; - - public : - - BOOST_GPU_ENABLED - initialized(): -#if BOOST_DETAIL_VALUE_INIT_WORKAROUND - zero_init( &const_cast< char& >( reinterpret_cast( data_ ) ), sizeof( data_ ) ), -#endif - data_() - { - } - - BOOST_GPU_ENABLED - explicit initialized(T const & arg): data_( arg ) - { - } - - BOOST_GPU_ENABLED - T const & data() const - { - return data_; - } - - BOOST_GPU_ENABLED - T& data() - { - return data_; - } - - BOOST_GPU_ENABLED - void swap(initialized & arg) - { - ::boost::swap( this->data(), arg.data() ); - } - - BOOST_GPU_ENABLED - operator T const &() const - { - return data_; - } - - BOOST_GPU_ENABLED - operator T&() - { - return data_; - } - -} ; - -template -BOOST_GPU_ENABLED -T const& get ( initialized const& x ) -{ - return x.data() ; -} - -template -BOOST_GPU_ENABLED -T& get ( initialized& x ) -{ - return x.data() ; -} - -template -BOOST_GPU_ENABLED -void swap ( initialized & lhs, initialized & rhs ) -{ - lhs.swap(rhs) ; -} - -template -class value_initialized -{ - private : - - // initialized does value-initialization by default. - initialized m_data; - - public : - - BOOST_GPU_ENABLED - value_initialized() - : - m_data() - { } - - BOOST_GPU_ENABLED - T const & data() const - { - return m_data.data(); - } - - BOOST_GPU_ENABLED - T& data() - { - return m_data.data(); - } - - BOOST_GPU_ENABLED - void swap(value_initialized & arg) - { - m_data.swap(arg.m_data); - } - - BOOST_GPU_ENABLED - operator T const &() const - { - return m_data; - } - - BOOST_GPU_ENABLED - operator T&() - { - return m_data; - } -} ; - - -template -BOOST_GPU_ENABLED -T const& get ( value_initialized const& x ) -{ - return x.data() ; -} - -template -BOOST_GPU_ENABLED -T& get ( value_initialized& x ) -{ - return x.data() ; -} - -template -BOOST_GPU_ENABLED -void swap ( value_initialized & lhs, value_initialized & rhs ) -{ - lhs.swap(rhs) ; -} - - -class initialized_value_t -{ - public : - - template BOOST_GPU_ENABLED operator T() const - { - return initialized().data(); - } -}; - -initialized_value_t const initialized_value = {} ; - - -} // namespace boost - -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -#endif diff --git a/external/include/boost_1_75/boost/version.hpp b/external/include/boost_1_75/boost/version.hpp deleted file mode 100644 index aefc2ece38..0000000000 --- a/external/include/boost_1_75/boost/version.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// Boost version.hpp configuration header file ------------------------------// - -// (C) Copyright John maddock 1999. 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) - -// See http://www.boost.org/libs/config for documentation - -#ifndef BOOST_VERSION_HPP -#define BOOST_VERSION_HPP - -// -// Caution: this is the only Boost header that is guaranteed -// to change with every Boost release. Including this header -// will cause a recompile every time a new Boost version is -// used. -// -// BOOST_VERSION % 100 is the patch level -// BOOST_VERSION / 100 % 1000 is the minor version -// BOOST_VERSION / 100000 is the major version - -#define BOOST_VERSION 107500 - -// -// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION -// but as a *string* in the form "x_y[_z]" where x is the major version -// number, y is the minor version number, and z is the patch level if not 0. -// This is used by to select which library version to link to. - -#define BOOST_LIB_VERSION "1_75" - -#endif diff --git a/external/include/boost_1_90_0/boost/aligned_storage.hpp b/external/include/boost_1_90_0/boost/aligned_storage.hpp new file mode 100644 index 0000000000..8cae4860df --- /dev/null +++ b/external/include/boost_1_90_0/boost/aligned_storage.hpp @@ -0,0 +1,18 @@ +//----------------------------------------------------------------------------- +// boost aligned_storage.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2002-2003 +// Eric Friedman, Itay Maman +// +// 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) + +#ifndef BOOST_ALIGNED_STORAGE_HPP +#define BOOST_ALIGNED_STORAGE_HPP + +#include + +#endif // BOOST_ALIGNED_STORAGE_HPP diff --git a/external/include/boost_1_90_0/boost/assert.hpp b/external/include/boost_1_90_0/boost/assert.hpp new file mode 100644 index 0000000000..aa3773332c --- /dev/null +++ b/external/include/boost_1_90_0/boost/assert.hpp @@ -0,0 +1,91 @@ +// +// boost/assert.hpp - BOOST_ASSERT(expr) +// BOOST_ASSERT_MSG(expr, msg) +// BOOST_VERIFY(expr) +// BOOST_VERIFY_MSG(expr, msg) +// BOOST_ASSERT_IS_VOID +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2007, 2014 Peter Dimov +// Copyright (c) Beman Dawes 2011 +// Copyright (c) 2015 Ion Gaztanaga +// +// 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 +// +// Note: There are no include guards. This is intentional. +// +// See http://www.boost.org/libs/assert/assert.html for documentation. +// + +// +// Stop inspect complaining about use of 'assert': +// +// boostinspect:naassert_macro +// + +// +// BOOST_ASSERT, BOOST_ASSERT_MSG, BOOST_ASSERT_IS_VOID +// + +#undef BOOST_ASSERT +#undef BOOST_ASSERT_MSG +#undef BOOST_ASSERT_IS_VOID + +#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) + +# define BOOST_ASSERT(expr) ((void)0) +# define BOOST_ASSERT_MSG(expr, msg) ((void)0) +# define BOOST_ASSERT_IS_VOID + +#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) + +#include // for BOOST_LIKELY +#include + +namespace boost +{ +#if defined(BOOST_ASSERT_HANDLER_IS_NORETURN) + BOOST_NORETURN +#endif + void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined +#if defined(BOOST_ASSERT_HANDLER_IS_NORETURN) + BOOST_NORETURN +#endif + void assertion_failed_msg(char const * expr, char const * msg, char const * function, char const * file, long line); // user defined +} // namespace boost + +#define BOOST_ASSERT(expr) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) +#define BOOST_ASSERT_MSG(expr, msg) (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed_msg(#expr, msg, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) + +#else + +# include // .h to support old libraries w/o - effect is the same + +# define BOOST_ASSERT(expr) assert(expr) +# define BOOST_ASSERT_MSG(expr, msg) assert((expr)&&(msg)) +#if defined(NDEBUG) +# define BOOST_ASSERT_IS_VOID +#endif + +#endif + +// +// BOOST_VERIFY, BOOST_VERIFY_MSG +// + +#undef BOOST_VERIFY +#undef BOOST_VERIFY_MSG + +#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) + +# define BOOST_VERIFY(expr) ((void)(expr)) +# define BOOST_VERIFY_MSG(expr, msg) ((void)(expr)) + +#else + +# define BOOST_VERIFY(expr) BOOST_ASSERT(expr) +# define BOOST_VERIFY_MSG(expr, msg) BOOST_ASSERT_MSG(expr,msg) + +#endif diff --git a/external/include/boost_1_90_0/boost/assert/source_location.hpp b/external/include/boost_1_90_0/boost/assert/source_location.hpp new file mode 100644 index 0000000000..8e9b0f2fbc --- /dev/null +++ b/external/include/boost_1_90_0/boost/assert/source_location.hpp @@ -0,0 +1,204 @@ +#ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED +#define BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED + +// http://www.boost.org/libs/assert +// +// Copyright 2019, 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#include +#include + +#if !defined(BOOST_NO_IOSTREAM) +#include +#endif + +#if defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L +# include +#endif + +namespace boost +{ + +struct source_location +{ +private: + + char const * file_; + char const * function_; + boost::uint_least32_t line_; + boost::uint_least32_t column_; + +public: + + BOOST_CONSTEXPR source_location() BOOST_NOEXCEPT: file_( "" ), function_( "" ), line_( 0 ), column_( 0 ) + { + } + + BOOST_CONSTEXPR source_location( char const * file, boost::uint_least32_t ln, char const * function, boost::uint_least32_t col = 0 ) BOOST_NOEXCEPT: file_( file ), function_( function ), line_( ln ), column_( col ) + { + } + +#if defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L + + BOOST_CONSTEXPR source_location( std::source_location const& loc ) BOOST_NOEXCEPT: file_( loc.file_name() ), function_( loc.function_name() ), line_( loc.line() ), column_( loc.column() ) + { + } + +#endif + + BOOST_CONSTEXPR char const * file_name() const BOOST_NOEXCEPT + { + return file_; + } + + BOOST_CONSTEXPR char const * function_name() const BOOST_NOEXCEPT + { + return function_; + } + + BOOST_CONSTEXPR boost::uint_least32_t line() const BOOST_NOEXCEPT + { + return line_; + } + + BOOST_CONSTEXPR boost::uint_least32_t column() const BOOST_NOEXCEPT + { + return column_; + } + +#if defined(BOOST_MSVC) +# pragma warning( push ) +# pragma warning( disable: 4996 ) +#endif + +#if ( defined(_MSC_VER) && _MSC_VER < 1900 ) || ( defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) ) +# define BOOST_ASSERT_SNPRINTF(buffer, format, arg) std::sprintf(buffer, format, arg) +#else +# define BOOST_ASSERT_SNPRINTF(buffer, format, arg) std::snprintf(buffer, sizeof(buffer)/sizeof(buffer[0]), format, arg) +#endif + + std::string to_string() const + { + unsigned long ln = line(); + + if( ln == 0 ) + { + return "(unknown source location)"; + } + + std::string r = file_name(); + + char buffer[ 16 ]; + + BOOST_ASSERT_SNPRINTF( buffer, ":%lu", ln ); + r += buffer; + + unsigned long co = column(); + + if( co ) + { + BOOST_ASSERT_SNPRINTF( buffer, ":%lu", co ); + r += buffer; + } + + char const* fn = function_name(); + + if( *fn != 0 ) + { + r += " in function '"; + r += fn; + r += '\''; + } + + return r; + } + +#undef BOOST_ASSERT_SNPRINTF + +#if defined(BOOST_MSVC) +# pragma warning( pop ) +#endif + + inline friend bool operator==( source_location const& s1, source_location const& s2 ) BOOST_NOEXCEPT + { + return std::strcmp( s1.file_, s2.file_ ) == 0 && std::strcmp( s1.function_, s2.function_ ) == 0 && s1.line_ == s2.line_ && s1.column_ == s2.column_; + } + + inline friend bool operator!=( source_location const& s1, source_location const& s2 ) BOOST_NOEXCEPT + { + return !( s1 == s2 ); + } +}; + +#if !defined(BOOST_NO_IOSTREAM) + +template std::basic_ostream & operator<<( std::basic_ostream & os, source_location const & loc ) +{ + os << loc.to_string(); + return os; +} + +#endif + +} // namespace boost + +#if defined(BOOST_DISABLE_CURRENT_LOCATION) + +# define BOOST_CURRENT_LOCATION ::boost::source_location() + +#elif defined(BOOST_MSVC) && BOOST_MSVC >= 1935 + +# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCSIG(), __builtin_COLUMN()) + +#elif defined(BOOST_MSVC) && BOOST_MSVC >= 1926 + +// std::source_location::current() is available in -std:c++20, but fails with consteval errors before 19.31, and doesn't produce +// the correct result under 19.31, so prefer the built-ins +# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN()) + +#elif defined(BOOST_MSVC) + +// __LINE__ is not a constant expression under /ZI (edit and continue) for 1925 and before + +# define BOOST_CURRENT_LOCATION_IMPL_1(x) BOOST_CURRENT_LOCATION_IMPL_2(x) +# define BOOST_CURRENT_LOCATION_IMPL_2(x) (x##0 / 10) + +# define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, BOOST_CURRENT_LOCATION_IMPL_1(__LINE__), "") + +#elif defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L && !defined(__NVCC__) + +// Under nvcc, __builtin_source_location is not constexpr +// https://github.com/boostorg/assert/issues/32 + +# define BOOST_CURRENT_LOCATION ::boost::source_location(::std::source_location::current()) + +#elif defined(BOOST_CLANG) && BOOST_CLANG_VERSION >= 90000 + +# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION(), __builtin_COLUMN()) + +#elif defined(BOOST_GCC) && BOOST_GCC >= 80000 + +// The built-ins are available in 4.8+, but are not constant expressions until 7 +// In addition, reproducible builds require -ffile-prefix-map, which is GCC 8 +// https://github.com/boostorg/assert/issues/38 + +# define BOOST_CURRENT_LOCATION ::boost::source_location(__builtin_FILE(), __builtin_LINE(), __builtin_FUNCTION()) + +#elif defined(BOOST_GCC) && BOOST_GCC >= 50000 + +// __PRETTY_FUNCTION__ is allowed outside functions under GCC, but 4.x suffers from codegen bugs +# define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, __PRETTY_FUNCTION__) + +#else + +// __func__ macros aren't allowed outside functions, but BOOST_CURRENT_LOCATION is +# define BOOST_CURRENT_LOCATION ::boost::source_location(__FILE__, __LINE__, "") + +#endif + +#endif // #ifndef BOOST_ASSERT_SOURCE_LOCATION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind.hpp b/external/include/boost_1_90_0/boost/bind.hpp similarity index 100% rename from external/include/boost_1_75/boost/bind.hpp rename to external/include/boost_1_90_0/boost/bind.hpp diff --git a/external/include/boost_1_75/boost/bind/arg.hpp b/external/include/boost_1_90_0/boost/bind/arg.hpp similarity index 100% rename from external/include/boost_1_75/boost/bind/arg.hpp rename to external/include/boost_1_90_0/boost/bind/arg.hpp diff --git a/external/include/boost_1_90_0/boost/bind/bind.hpp b/external/include/boost_1_90_0/boost/bind/bind.hpp new file mode 100644 index 0000000000..5ec7923090 --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/bind.hpp @@ -0,0 +1,813 @@ +#ifndef BOOST_BIND_BIND_HPP_INCLUDED +#define BOOST_BIND_BIND_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// bind.hpp - binds function objects to arguments +// +// Copyright 2001-2005, 2024 Peter Dimov +// Copyright 2001 David Abrahams +// +// 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) +// +// See http://www.boost.org/libs/bind for documentation. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable: 4512) // assignment operator could not be generated +#endif + +namespace boost +{ + +template class weak_ptr; + +namespace _bi // implementation details +{ + +// ref_compare + +template bool ref_compare( T const & a, T const & b ) +{ + return a == b; +} + +template bool ref_compare( arg const &, arg const & ) +{ + return true; +} + +template bool ref_compare( arg (*) (), arg (*) () ) +{ + return true; +} + +template bool ref_compare( reference_wrapper const & a, reference_wrapper const & b ) +{ + return a.get_pointer() == b.get_pointer(); +} + +// bind_t forward declaration for listN + +template class bind_t; + +template bool ref_compare( bind_t const & a, bind_t const & b ) +{ + return a.compare( b ); +} + +// value + +template class value +{ +public: + + value(T const & t): t_(t) {} + + T & get() { return t_; } + T const & get() const { return t_; } + + bool operator==(value const & rhs) const + { + return t_ == rhs.t_; + } + +private: + + T t_; +}; + +// ref_compare for weak_ptr + +template bool ref_compare( value< weak_ptr > const & a, value< weak_ptr > const & b ) +{ + return !(a.get() < b.get()) && !(b.get() < a.get()); +} + +// type + +template class type {}; + +// unwrap + +template struct unwrapper +{ + static inline F & unwrap( F & f, long ) + { + return f; + } + + template static inline F2 & unwrap( reference_wrapper rf, int ) + { + return rf.get(); + } + + template static inline _mfi::dm unwrap( R T::* pm, int ) + { + return _mfi::dm( pm ); + } +}; + +// list + +template struct accept_lambda +{ + V& v_; + + explicit accept_lambda( V& v ): v_( v ) {} + + template void operator()( A& a ) const + { + visit_each( v_, a, 0 ); + } +}; + +struct equal_lambda +{ + bool result; + + equal_lambda(): result( true ) {} + + template void operator()( A1& a1, A2& a2 ) + { + result = result && ref_compare( a1, a2 ); + } +}; + +struct logical_and; +struct logical_or; + +template class list +{ +private: + + typedef std::tuple data_type; + data_type data_; + +public: + + list( A... a ): data_( a... ) {} + +#if defined(BOOST_MSVC) +# pragma warning( push ) +# pragma warning( disable: 4100 ) // unreferenced formal parameter 'a2' +#endif + + template R call_impl( type, F & f, A2 & a2, _bi::index_sequence ) + { + return unwrapper::unwrap( f, 0 )( a2[ std::get( data_ ) ]... ); + } + + template R call_impl( type, F & f, A2 & a2, _bi::index_sequence ) const + { + return unwrapper::unwrap( f, 0 )( a2[ std::get( data_ ) ]... ); + } + + template void call_impl( type, F & f, A2 & a2, _bi::index_sequence ) + { + unwrapper::unwrap( f, 0 )( a2[ std::get( data_ ) ]... ); + } + + template void call_impl( type, F & f, A2 & a2, _bi::index_sequence ) const + { + unwrapper::unwrap( f, 0 )( a2[ std::get( data_ ) ]... ); + } + +#if defined(BOOST_MSVC) +# pragma warning( pop ) +#endif + + // + + template R operator()( type, F & f, A2 & a2 ) + { + return call_impl( type(), f, a2, _bi::index_sequence_for() ); + } + + template R operator()( type, F & f, A2 & a2 ) const + { + return call_impl( type(), f, a2, _bi::index_sequence_for() ); + } + + // + + template bool operator()( type, logical_and & /*f*/, A2 & a2 ) + { + static_assert( sizeof...(A) == 2, "operator&& must have two arguments" ); + return a2[ std::get<0>( data_ ) ] && a2[ std::get<1>( data_ ) ]; + } + + template bool operator()( type, logical_and const & /*f*/, A2 & a2 ) const + { + static_assert( sizeof...(A) == 2, "operator&& must have two arguments" ); + return a2[ std::get<0>( data_ ) ] && a2[ std::get<1>( data_ ) ]; + } + + template bool operator()( type, logical_or & /*f*/, A2 & a2 ) + { + static_assert( sizeof...(A) == 2, "operator|| must have two arguments" ); + return a2[ std::get<0>( data_ ) ] || a2[ std::get<1>( data_ ) ]; + } + + template bool operator()( type, logical_or const & /*f*/, A2 & a2 ) const + { + static_assert( sizeof...(A) == 2, "operator|| must have two arguments" ); + return a2[ std::get<0>( data_ ) ] || a2[ std::get<1>( data_ ) ]; + } + + // + + template void accept( V & v ) const + { + _bi::tuple_for_each( accept_lambda( v ), data_ ); + } + + bool operator==( list const & rhs ) const + { + return _bi::tuple_for_each( equal_lambda(), data_, rhs.data_ ).result; + } +}; + +// bind_t + +template class rrlist +{ +private: + + using args_type = std::tuple; + + using data_type = std::tuple; + data_type data_; + + template friend class rrlist; + +public: + + explicit rrlist( A&... a ): data_( a... ) {} + template explicit rrlist( rrlist const& r ): data_( r.data_ ) {} + + template typename std::tuple_element::type&& operator[] ( boost::arg ) const + { + return std::forward::type>( std::get( data_ ) ); + } + + template typename std::tuple_element::type&& operator[] ( boost::arg(*)() ) const + { + return std::forward::type>( std::get( data_ ) ); + } + + template T & operator[] ( _bi::value & v ) const { return v.get(); } + + template T const & operator[] ( _bi::value const & v ) const { return v.get(); } + + template T & operator[] ( reference_wrapper const & v ) const { return v.get(); } + + template typename result_traits::type operator[] ( bind_t & b ) const + { + rrlist a2( *this ); + return b.eval( a2 ); + } + + template typename result_traits::type operator[] ( bind_t const & b ) const + { + rrlist a2( *this ); + return b.eval( a2 ); + } +}; + +template class bind_t +{ +private: + + F f_; + L l_; + +public: + + typedef typename result_traits::type result_type; + typedef bind_t this_type; + + bind_t( F f, L const & l ): f_( std::move(f) ), l_( l ) {} + + // + + template result_type operator()( A&&... a ) + { + rrlist a2( a... ); + return l_( type(), f_, a2 ); + } + + template result_type operator()( A&&... a ) const + { + rrlist a2( a... ); + return l_( type(), f_, a2 ); + } + + // + + template result_type eval( A & a ) + { + return l_( type(), f_, a ); + } + + template result_type eval( A & a ) const + { + return l_( type(), f_, a ); + } + + template void accept( V & v ) const + { + using boost::visit_each; + visit_each( v, f_, 0 ); + l_.accept( v ); + } + + bool compare( this_type const & rhs ) const + { + return ref_compare( f_, rhs.f_ ) && l_ == rhs.l_; + } +}; + +// function_equal + +template bool function_equal( bind_t const & a, bind_t const & b ) +{ + return a.compare(b); +} + +// add_value + +template< class T, int I > struct add_value_2 +{ + typedef boost::arg type; +}; + +template< class T > struct add_value_2< T, 0 > +{ + typedef _bi::value< T > type; +}; + +template struct add_value +{ + typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type; +}; + +template struct add_value< value > +{ + typedef _bi::value type; +}; + +template struct add_value< reference_wrapper > +{ + typedef reference_wrapper type; +}; + +template struct add_value< arg > +{ + typedef boost::arg type; +}; + +template struct add_value< arg (*) () > +{ + typedef boost::arg (*type) (); +}; + +template struct add_value< bind_t > +{ + typedef bind_t type; +}; + +// list_av + +template struct list_av +{ + typedef list< typename add_value::type... > type; +}; + +// operator! + +struct logical_not +{ + template bool operator()(V const & v) const { return !v; } +}; + +template + bind_t< bool, logical_not, list< bind_t > > + operator! (bind_t const & f) +{ + typedef list< bind_t > list_type; + return bind_t ( logical_not(), list_type(f) ); +} + +// relational operators + +#define BOOST_BIND_OPERATOR( op, name ) \ +\ +struct name \ +{ \ + template bool operator()(V const & v, W const & w) const { return v op w; } \ +}; \ + \ +template \ + bind_t< bool, name, list< bind_t, typename add_value::type > > \ + operator op (bind_t const & f, A2 a2) \ +{ \ + typedef typename add_value::type B2; \ + typedef list< bind_t, B2> list_type; \ + return bind_t ( name(), list_type(f, a2) ); \ +} + +BOOST_BIND_OPERATOR( ==, equal ) +BOOST_BIND_OPERATOR( !=, not_equal ) + +BOOST_BIND_OPERATOR( <, less ) +BOOST_BIND_OPERATOR( <=, less_equal ) + +BOOST_BIND_OPERATOR( >, greater ) +BOOST_BIND_OPERATOR( >=, greater_equal ) + +BOOST_BIND_OPERATOR( &&, logical_and ) +BOOST_BIND_OPERATOR( ||, logical_or ) + +#undef BOOST_BIND_OPERATOR + +// visit_each + +template void visit_each( V & v, value const & t, int ) +{ + using boost::visit_each; + visit_each( v, t.get(), 0 ); +} + +template void visit_each( V & v, bind_t const & t, int ) +{ + t.accept( v ); +} + +} // namespace _bi + +// is_bind_expression + +template< class T > struct is_bind_expression +{ + enum _vt { value = 0 }; +}; + +template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > > +{ + enum _vt { value = 1 }; +}; + +// bind + +#ifndef BOOST_BIND +#define BOOST_BIND bind +#endif + +// generic function objects + +#if !BOOST_WORKAROUND(__GNUC__, < 6) + +template + _bi::bind_t::type> + BOOST_BIND( F f, A... a ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a... ) ); +} + +#else + +// g++ 4.x (and some 5.x) consider boost::bind( &X::f ) +// ambiguous if the variadic form above is used + +template + _bi::bind_t::type> + BOOST_BIND( F f ) +{ + typedef typename _bi::list_av<>::type list_type; + return _bi::bind_t( std::move(f), list_type() ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3, a4 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3, a4, a5 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3, a4, a5, a6 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3, a4, a5, a6, a7 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3, a4, a5, a6, a7, a8 ) ); +} + +template + _bi::bind_t::type> + BOOST_BIND( F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ); +} + +#endif + +// generic function objects, alternative syntax + +template + _bi::bind_t::type> + BOOST_BIND( boost::type, F f, A... a ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t( std::move(f), list_type( a... ) ); +} + +// adaptable function objects + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av::type> + BOOST_BIND( F f, A... a ) +{ + typedef typename _bi::list_av::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>( std::move(f), list_type( a... ) ); +} + +// function pointers + +#define BOOST_BIND_CC +#define BOOST_BIND_ST +#define BOOST_BIND_NOEXCEPT + +#include + +# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) +# undef BOOST_BIND_NOEXCEPT +# define BOOST_BIND_NOEXCEPT noexcept +# include +# endif + +#undef BOOST_BIND_CC +#undef BOOST_BIND_ST +#undef BOOST_BIND_NOEXCEPT + +#if defined(BOOST_BIND_ENABLE_STDCALL) && !defined(_M_X64) + +#define BOOST_BIND_CC __stdcall +#define BOOST_BIND_ST +#define BOOST_BIND_NOEXCEPT + +#include + +#undef BOOST_BIND_CC +#undef BOOST_BIND_ST +#undef BOOST_BIND_NOEXCEPT + +#endif + +#if defined(BOOST_BIND_ENABLE_FASTCALL) && !defined(_M_X64) + +#define BOOST_BIND_CC __fastcall +#define BOOST_BIND_ST +#define BOOST_BIND_NOEXCEPT + +#include + +#undef BOOST_BIND_CC +#undef BOOST_BIND_ST +#undef BOOST_BIND_NOEXCEPT + +#endif + +#ifdef BOOST_BIND_ENABLE_PASCAL + +#define BOOST_BIND_ST pascal +#define BOOST_BIND_CC +#define BOOST_BIND_NOEXCEPT + +#include + +#undef BOOST_BIND_ST +#undef BOOST_BIND_CC +#undef BOOST_BIND_NOEXCEPT + +#endif + +// member function pointers + +#define BOOST_BIND_MF_NAME(X) X +#define BOOST_BIND_MF_CC +#define BOOST_BIND_MF_NOEXCEPT + +#include +#include + +# if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) +# undef BOOST_BIND_MF_NOEXCEPT +# define BOOST_BIND_MF_NOEXCEPT noexcept +# include +# include +# endif + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC +#undef BOOST_BIND_MF_NOEXCEPT + +#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) + +#define BOOST_BIND_MF_NAME(X) X##_cdecl +#define BOOST_BIND_MF_CC __cdecl +#define BOOST_BIND_MF_NOEXCEPT + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC +#undef BOOST_BIND_MF_NOEXCEPT + +#endif + +#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) + +#define BOOST_BIND_MF_NAME(X) X##_stdcall +#define BOOST_BIND_MF_CC __stdcall +#define BOOST_BIND_MF_NOEXCEPT + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC +#undef BOOST_BIND_MF_NOEXCEPT + +#endif + +#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) + +#define BOOST_BIND_MF_NAME(X) X##_fastcall +#define BOOST_BIND_MF_CC __fastcall +#define BOOST_BIND_MF_NOEXCEPT + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC +#undef BOOST_BIND_MF_NOEXCEPT + +#endif + +// data member pointers + +namespace _bi +{ + +template struct add_cref; + +template struct add_cref +{ + typedef M type; +}; + +template struct add_cref +{ + typedef M const& type; +}; + +template struct isref +{ + enum value_type { value = 0 }; +}; + +template struct isref< R& > +{ + enum value_type { value = 1 }; +}; + +template struct isref< R* > +{ + enum value_type { value = 1 }; +}; + +template::value> struct dm_result +{ +}; + +template struct dm_result +{ + typedef typename add_cref< M, 1 >::type type; +}; + +template struct dm_result, false> +{ + typedef typename bind_t::result_type result_type; + typedef typename add_cref< M, isref< result_type >::value >::type type; +}; + +} // namespace _bi + +template + +_bi::bind_t< + typename _bi::dm_result::type, + _mfi::dm, + typename _bi::list_av::type +> + +BOOST_BIND( M T::*f, A1 a1 ) +{ + typedef typename _bi::dm_result::type result_type; + typedef _mfi::dm F; + typedef typename _bi::list_av::type list_type; + return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) ); +} + +} // namespace boost + +#ifndef BOOST_BIND_NO_PLACEHOLDERS + +# include + +#endif + +#ifdef BOOST_MSVC +# pragma warning(default: 4512) // assignment operator could not be generated +# pragma warning(pop) +#endif + +#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind/bind_cc.hpp b/external/include/boost_1_90_0/boost/bind/detail/bind_cc.hpp similarity index 78% rename from external/include/boost_1_75/boost/bind/bind_cc.hpp rename to external/include/boost_1_90_0/boost/bind/detail/bind_cc.hpp index 278aa9a2a8..fec86d4e0d 100644 --- a/external/include/boost_1_75/boost/bind/bind_cc.hpp +++ b/external/include/boost_1_90_0/boost/bind/detail/bind_cc.hpp @@ -13,105 +13,105 @@ // template - _bi::bind_t +_bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) () BOOST_BIND_NOEXCEPT) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) () BOOST_BIND_NOEXCEPT; - typedef _bi::list0 list_type; + typedef typename _bi::list_av<>::type list_type; return _bi::bind_t (f, list_type()); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1) BOOST_BIND_NOEXCEPT, A1 a1) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_1::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t (f, list_type(a1)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_2::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t (f, list_type(a1, a2)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_3::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_4::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_5::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_6::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_7::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_8::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } template - _bi::bind_t::type> + _bi::bind_t::type> BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9) BOOST_BIND_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9) BOOST_BIND_NOEXCEPT; - typedef typename _bi::list_av_9::type list_type; + typedef typename _bi::list_av::type list_type; return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } diff --git a/external/include/boost_1_90_0/boost/bind/detail/bind_mf2_cc.hpp b/external/include/boost_1_90_0/boost/bind/detail/bind_mf2_cc.hpp new file mode 100644 index 0000000000..284f24172a --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/detail/bind_mf2_cc.hpp @@ -0,0 +1,210 @@ +// +// bind/bind_mf2_cc.hpp - member functions, type<> syntax +// +// Do not include this header directly. +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2008 Peter Dimov +// +// 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 +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +// 0 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1 ); +} + +// 1 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2 ); +} + +// 2 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3 ); +} + +// 3 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4 ); +} + +// 4 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5 ); +} + +// 5 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ); +} + +// 6 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ); +} + +// 7 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ); +} + +// 8 + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ); +} + +template + auto + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) + -> decltype( boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ) +{ + return boost::BOOST_BIND( boost::type(), boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ); +} diff --git a/external/include/boost_1_90_0/boost/bind/detail/bind_mf_cc.hpp b/external/include/boost_1_90_0/boost/bind/detail/bind_mf_cc.hpp new file mode 100644 index 0000000000..2336ca204c --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/detail/bind_mf_cc.hpp @@ -0,0 +1,405 @@ +// +// bind/bind_mf_cc.hpp - support for different calling conventions +// +// Do not include this header directly. +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// +// 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) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +// 0 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () BOOST_BIND_MF_NOEXCEPT, A1 a1) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const BOOST_BIND_MF_NOEXCEPT, A1 a1) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1 ); +} + +// 1 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2 ); +} + +// 2 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3 ); +} + +// 3 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4 ); +} + +// 4 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5 ); +} + +// 5 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6 ); +} + +// 6 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7 ); +} + +// 7 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8 ); +} + +// 8 + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ); +} + +template + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ); +} + +template::value >::type> + auto + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const BOOST_BIND_MF_NOEXCEPT, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) + -> decltype( boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ) ) +{ + return boost::BOOST_BIND( boost::mem_fn( f ), a1, a2, a3, a4, a5, a6, a7, a8, a9 ); +} diff --git a/external/include/boost_1_90_0/boost/bind/detail/integer_sequence.hpp b/external/include/boost_1_90_0/boost/bind/detail/integer_sequence.hpp new file mode 100644 index 0000000000..ce2c2b0168 --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/detail/integer_sequence.hpp @@ -0,0 +1,111 @@ +#ifndef BOOST_BIND_DETAIL_INTEGER_SEQUENCE_HPP_INCLUDED +#define BOOST_BIND_DETAIL_INTEGER_SEQUENCE_HPP_INCLUDED + +// Copyright 2015, 2017, 2019 Peter Dimov. +// +// 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 + +#include + +#if defined(__has_builtin) +# if __has_builtin(__make_integer_seq) +# define BOOST_BIND_DETAIL_HAS_MAKE_INTEGER_SEQ +# endif +#endif + +namespace boost +{ +namespace _bi +{ + +// integer_sequence +template struct integer_sequence +{ +}; + +#if defined(BOOST_BIND_DETAIL_HAS_MAKE_INTEGER_SEQ) + +template using make_integer_sequence = __make_integer_seq; + +#else + +// detail::make_integer_sequence_impl +namespace detail +{ + +// iseq_if_c +template struct iseq_if_c_impl; + +template struct iseq_if_c_impl +{ + using type = T; +}; + +template struct iseq_if_c_impl +{ + using type = E; +}; + +template using iseq_if_c = typename iseq_if_c_impl::type; + +// iseq_identity +template struct iseq_identity +{ + using type = T; +}; + +template struct append_integer_sequence; + +template struct append_integer_sequence, integer_sequence> +{ + using type = integer_sequence< T, I..., ( J + sizeof...(I) )... >; +}; + +template struct make_integer_sequence_impl; + +template struct make_integer_sequence_impl_ +{ +private: + + static_assert( N >= 0, "make_integer_sequence: N must not be negative" ); + + static T const M = N / 2; + static T const R = N % 2; + + using S1 = typename make_integer_sequence_impl::type; + using S2 = typename append_integer_sequence::type; + using S3 = typename make_integer_sequence_impl::type; + using S4 = typename append_integer_sequence::type; + +public: + + using type = S4; +}; + +template struct make_integer_sequence_impl: iseq_if_c>, iseq_if_c>, make_integer_sequence_impl_ > > +{ +}; + +} // namespace detail + +// make_integer_sequence +template using make_integer_sequence = typename detail::make_integer_sequence_impl::type; + +#endif // defined(BOOST_BIND_DETAIL_HAS_MAKE_INTEGER_SEQ) + +// index_sequence +template using index_sequence = integer_sequence; + +// make_index_sequence +template using make_index_sequence = make_integer_sequence; + +// index_sequence_for +template using index_sequence_for = make_integer_sequence; + +} // namespace _bi +} // namespace boost + +#endif // #ifndef BOOST_BIND_DETAIL_INTEGER_SEQUENCE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/bind/detail/result_traits.hpp b/external/include/boost_1_90_0/boost/bind/detail/result_traits.hpp similarity index 91% rename from external/include/boost_1_75/boost/bind/detail/result_traits.hpp rename to external/include/boost_1_90_0/boost/bind/detail/result_traits.hpp index e6b8a44e63..d57d9fd1b8 100644 --- a/external/include/boost_1_75/boost/bind/detail/result_traits.hpp +++ b/external/include/boost_1_90_0/boost/bind/detail/result_traits.hpp @@ -21,7 +21,10 @@ // See http://www.boost.org/libs/bind/bind.html for documentation. // -#if defined(_MSVC_LANG) && _MSVC_LANG >= 17 +#include +#include + +#if BOOST_CXX_VERSION >= 201700L #include #endif @@ -48,7 +51,7 @@ template struct result_traits< unspecified, reference_wrapper > typedef typename F::result_type type; }; -#if defined(_MSVC_LANG) && _MSVC_LANG >= 17 +#if BOOST_CXX_VERSION >= 201700L template struct result_traits< unspecified, std::plus > { @@ -140,6 +143,12 @@ template struct result_traits< unspecified, std::bit_xor > typedef T type; }; +#if defined(BOOST_LIBSTDCXX_VERSION) && BOOST_LIBSTDCXX_VERSION < 40900 + +// libstdc++ 4.8 and below don't have std::bit_not + +#else + template struct result_traits< unspecified, std::bit_not > { typedef T type; @@ -147,6 +156,8 @@ template struct result_traits< unspecified, std::bit_not > #endif +#endif + } // namespace _bi } // namespace boost diff --git a/external/include/boost_1_90_0/boost/bind/detail/tuple_for_each.hpp b/external/include/boost_1_90_0/boost/bind/detail/tuple_for_each.hpp new file mode 100644 index 0000000000..d1eabff87a --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/detail/tuple_for_each.hpp @@ -0,0 +1,64 @@ +#ifndef BOOST_BIND_DETAIL_TUPLE_FOR_EACH_HPP_INCLUDED +#define BOOST_BIND_DETAIL_TUPLE_FOR_EACH_HPP_INCLUDED + +// Copyright 2015-2020, 2024 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include + +#if defined(BOOST_MSVC) +# pragma warning( push ) +# pragma warning( disable: 4100 ) // unreferenced formal parameter 'tp' +#endif + +namespace boost +{ +namespace _bi +{ + +// tuple_for_each( f, tp ) + +template F tuple_for_each_impl( F&& f, Tp&& tp, integer_sequence ) +{ + using A = int[ 1 + sizeof...(J) ]; + using std::get; + return (void)A{ 0, ((void)f(get(std::forward(tp))), 0)... }, std::forward(f); +} + +template F tuple_for_each( F&& f, Tp&& tp ) +{ + using seq = make_index_sequence::type>::value>; + return _bi::tuple_for_each_impl( std::forward(f), std::forward(tp), seq() ); +} + +// tuple_for_each( f, tp1, tp2 ) + +template F tuple_for_each_impl( F&& f, Tp1&& tp1, Tp2&& tp2, integer_sequence ) +{ + using A = int[ 1 + sizeof...(J) ]; + using std::get; + return (void)A{ 0, ((void)f( get(std::forward(tp1)), get(std::forward(tp2)) ), 0)... }, std::forward(f); +} + +template F tuple_for_each( F&& f, Tp1&& tp1, Tp2&& tp2 ) +{ + using seq = make_index_sequence::type>::value>; + return _bi::tuple_for_each_impl( std::forward(f), std::forward(tp1), std::forward(tp2), seq() ); +} + +} // namespace _bi +} // namespace boost + +#if defined(BOOST_MSVC) +# pragma warning( pop ) +#endif + +#endif // #ifndef BOOST_BIND_DETAIL_TUPLE_FOR_EACH_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/bind/mem_fn.hpp b/external/include/boost_1_90_0/boost/bind/mem_fn.hpp new file mode 100644 index 0000000000..5cfbb99e69 --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/mem_fn.hpp @@ -0,0 +1,253 @@ +#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED +#define BOOST_BIND_MEM_FN_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// mem_fn.hpp - a generalization of std::mem_fun[_ref] +// +// Copyright 2001-2005, 2024 Peter Dimov +// Copyright 2001 David Abrahams +// +// 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) +// +// See http://www.boost.org/libs/bind/mem_fn.html for documentation. +// + +#include +#include +#include +#include + +namespace boost +{ + +namespace _mfi +{ + +template struct remove_cvref: std::remove_cv< typename std::remove_reference::type > +{ +}; + +template class mf +{ +public: + + typedef R result_type; + +private: + + Pm pm_; + +public: + + mf( Pm pm ): pm_( pm ) {} + + template::type, + class En = typename std::enable_if< + std::is_same::value || std::is_base_of::value + >::type + > + + R operator()( U&& u, A... a ) const + { + return (std::forward( u ).*pm_)( std::forward( a )... ); + } + + template::type, + class E1 = void, + class En = typename std::enable_if< + !(std::is_same::value || std::is_base_of::value) + >::type + > + + R operator()( U&& u, A... a ) const + { + return (get_pointer( std::forward( u ) )->*pm_)( std::forward( a )... ); + } + + bool operator==( mf const & rhs ) const + { + return pm_ == rhs.pm_; + } + + bool operator!=( mf const & rhs ) const + { + return pm_ != rhs.pm_; + } +}; + +} // namespace _mfi + +// + +template +auto mem_fn( R (T::*pmf) (A...) ) -> _mfi::mf +{ + return pmf; +} + +template +auto mem_fn( R (T::*pmf) (A...) const ) -> _mfi::mf +{ + return pmf; +} + +#if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) + +template +auto mem_fn( R (T::*pmf) (A...) noexcept ) -> _mfi::mf +{ + return pmf; +} + +template +auto mem_fn( R (T::*pmf) (A...) const noexcept ) -> _mfi::mf +{ + return pmf; +} + +#endif // #if defined( __cpp_noexcept_function_type ) || defined( _NOEXCEPT_TYPES_SUPPORTED ) + +#if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) + +template +auto mem_fn( R (__cdecl T::*pmf) (A...) ) -> _mfi::mf +{ + return pmf; +} + +template +auto mem_fn( R (__cdecl T::*pmf) (A...) const ) -> _mfi::mf +{ + return pmf; +} + +#endif // #if defined(BOOST_MEM_FN_ENABLE_CDECL) && !defined(_M_X64) + +#if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) + +template +auto mem_fn( R (__stdcall T::*pmf) (A...) ) -> _mfi::mf +{ + return pmf; +} + +template +auto mem_fn( R (__stdcall T::*pmf) (A...) const ) -> _mfi::mf +{ + return pmf; +} + +#endif // #if defined(BOOST_MEM_FN_ENABLE_STDCALL) && !defined(_M_X64) + +#if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) + +template +auto mem_fn( R (__fastcall T::*pmf) (A...) ) -> _mfi::mf +{ + return pmf; +} + +template +auto mem_fn( R (__fastcall T::*pmf) (A...) const ) -> _mfi::mf +{ + return pmf; +} + +#endif // #if defined(BOOST_MEM_FN_ENABLE_FASTCALL) && !defined(_M_X64) + +// data member support + +namespace _mfi +{ + +template class dm +{ +public: + + typedef R const & result_type; + typedef T const * argument_type; + +private: + + typedef R (T::*Pm); + Pm pm_; + +public: + + dm( Pm pm ): pm_( pm ) {} + + template::type, + class En = typename std::enable_if< + std::is_same::value || std::is_base_of::value + >::type + > + + auto operator()( U&& u ) const -> decltype( std::forward( u ).*pm_ ) + { + return std::forward( u ).*pm_; + } + + template::type, + class E1 = void, + class En = typename std::enable_if< + !(std::is_same::value || std::is_base_of::value) + >::type + > + + auto operator()( U&& u ) const -> decltype( get_pointer( std::forward( u ) )->*pm_ ) + { + return get_pointer( std::forward( u ) )->*pm_; + } + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) + + template + R& operator()( U* u ) const + { + return u->*pm_; + } + + template + R const& operator()( U const* u ) const + { + return u->*pm_; + } + +#endif + + bool operator==( dm const & rhs ) const + { + return pm_ == rhs.pm_; + } + + bool operator!=( dm const & rhs ) const + { + return pm_ != rhs.pm_; + } +}; + +} // namespace _mfi + +template::value >::type +> +_mfi::dm mem_fn( R T::*pm ) +{ + return pm; +} + +} // namespace boost + +#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/bind/placeholders.hpp b/external/include/boost_1_90_0/boost/bind/placeholders.hpp new file mode 100644 index 0000000000..2daba9e94c --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/placeholders.hpp @@ -0,0 +1,61 @@ +#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED +#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// bind/placeholders.hpp - _N definitions +// +// Copyright 2002, 2015, 2024 Peter Dimov +// +// 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 +// +// See http://www.boost.org/libs/bind for documentation. +// + +#include +#include + +namespace boost +{ + +namespace placeholders +{ + +#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES) + +BOOST_INLINE_CONSTEXPR boost::arg<1> _1; +BOOST_INLINE_CONSTEXPR boost::arg<2> _2; +BOOST_INLINE_CONSTEXPR boost::arg<3> _3; +BOOST_INLINE_CONSTEXPR boost::arg<4> _4; +BOOST_INLINE_CONSTEXPR boost::arg<5> _5; +BOOST_INLINE_CONSTEXPR boost::arg<6> _6; +BOOST_INLINE_CONSTEXPR boost::arg<7> _7; +BOOST_INLINE_CONSTEXPR boost::arg<8> _8; +BOOST_INLINE_CONSTEXPR boost::arg<9> _9; + +#else + +BOOST_STATIC_CONSTEXPR boost::arg<1> _1; +BOOST_STATIC_CONSTEXPR boost::arg<2> _2; +BOOST_STATIC_CONSTEXPR boost::arg<3> _3; +BOOST_STATIC_CONSTEXPR boost::arg<4> _4; +BOOST_STATIC_CONSTEXPR boost::arg<5> _5; +BOOST_STATIC_CONSTEXPR boost::arg<6> _6; +BOOST_STATIC_CONSTEXPR boost::arg<7> _7; +BOOST_STATIC_CONSTEXPR boost::arg<8> _8; +BOOST_STATIC_CONSTEXPR boost::arg<9> _9; + +#endif + +} // namespace placeholders + +} // namespace boost + +#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/bind/std_placeholders.hpp b/external/include/boost_1_90_0/boost/bind/std_placeholders.hpp new file mode 100644 index 0000000000..36cfed6877 --- /dev/null +++ b/external/include/boost_1_90_0/boost/bind/std_placeholders.hpp @@ -0,0 +1,33 @@ +#ifndef BOOST_BIND_STD_PLACEHOLDERS_HPP_INCLUDED +#define BOOST_BIND_STD_PLACEHOLDERS_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// Copyright 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include + +namespace boost +{ + +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 1 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 2 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 3 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 4 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 5 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 6 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 7 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 8 }; }; +template<> struct is_placeholder< typename std::decay::type > { enum _vt { value = 9 }; }; + +} // namespace boost + +#endif // #ifndef BOOST_BIND_STD_PLACEHOLDERS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/call_traits.hpp b/external/include/boost_1_90_0/boost/call_traits.hpp new file mode 100644 index 0000000000..2c1328e94d --- /dev/null +++ b/external/include/boost_1_90_0/boost/call_traits.hpp @@ -0,0 +1,20 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/utility for most recent version including documentation. + +// See boost/detail/call_traits.hpp +// for full copyright notices. + +#ifndef BOOST_CALL_TRAITS_HPP +#define BOOST_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif + +#include + +#endif // BOOST_CALL_TRAITS_HPP diff --git a/external/include/boost_1_90_0/boost/config.hpp b/external/include/boost_1_90_0/boost/config.hpp new file mode 100644 index 0000000000..a84864318d --- /dev/null +++ b/external/include/boost_1_90_0/boost/config.hpp @@ -0,0 +1,67 @@ +// Boost config.hpp configuration header file ------------------------------// + +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for most recent version. + +// Boost config.hpp policy and rationale documentation has been moved to +// http://www.boost.org/libs/config +// +// CAUTION: This file is intended to be completely stable - +// DO NOT MODIFY THIS FILE! +// + +#ifndef BOOST_CONFIG_HPP +#define BOOST_CONFIG_HPP + +// if we don't have a user config, then use the default location: +#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) +# define BOOST_USER_CONFIG +#if 0 +// For dependency trackers: +# include +#endif +#endif +// include it first: +#ifdef BOOST_USER_CONFIG +# include BOOST_USER_CONFIG +#endif + +// if we don't have a compiler config set, try and find one: +#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a compiler config, include it now: +#ifdef BOOST_COMPILER_CONFIG +# include BOOST_COMPILER_CONFIG +#endif + +// if we don't have a std library config set, try and find one: +#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus) +# include +#endif +// if we have a std library config, include it now: +#ifdef BOOST_STDLIB_CONFIG +# include BOOST_STDLIB_CONFIG +#endif + +// if we don't have a platform config set, try and find one: +#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a platform config, include it now: +#ifdef BOOST_PLATFORM_CONFIG +# include BOOST_PLATFORM_CONFIG +#endif + +// get config suffix code: +#include + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#endif // BOOST_CONFIG_HPP diff --git a/external/include/boost_1_75/boost/config/abi/borland_prefix.hpp b/external/include/boost_1_90_0/boost/config/abi/borland_prefix.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/abi/borland_prefix.hpp rename to external/include/boost_1_90_0/boost/config/abi/borland_prefix.hpp index 3a0e5ae2d7..4db9b8adc3 100644 --- a/external/include/boost_1_75/boost/config/abi/borland_prefix.hpp +++ b/external/include/boost_1_90_0/boost/config/abi/borland_prefix.hpp @@ -1,27 +1,27 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - -// for C++ Builder the following options effect the ABI: -// -// -b (on or off - effect emum sizes) -// -Vx (on or off - empty members) -// -Ve (on or off - empty base classes) -// -aX (alignment - 5 options). -// -pX (Calling convention - 4 options) -// -VmX (member pointer size and layout - 5 options) -// -VC (on or off, changes name mangling) -// -Vl (on or off, changes struct layout). - -// In addition the following warnings are sufficiently annoying (and -// unfixable) to have them turned off by default: -// -// 8027 - functions containing [for|while] loops are not expanded inline -// 8026 - functions taking class by value arguments are not expanded inline - -#pragma nopushoptwarn -# pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026 - - - +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to 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) + +// for C++ Builder the following options effect the ABI: +// +// -b (on or off - effect emum sizes) +// -Vx (on or off - empty members) +// -Ve (on or off - empty base classes) +// -aX (alignment - 5 options). +// -pX (Calling convention - 4 options) +// -VmX (member pointer size and layout - 5 options) +// -VC (on or off, changes name mangling) +// -Vl (on or off, changes struct layout). + +// In addition the following warnings are sufficiently annoying (and +// unfixable) to have them turned off by default: +// +// 8027 - functions containing [for|while] loops are not expanded inline +// 8026 - functions taking class by value arguments are not expanded inline + +#pragma nopushoptwarn +# pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026 + + + diff --git a/external/include/boost_1_75/boost/config/abi/borland_suffix.hpp b/external/include/boost_1_90_0/boost/config/abi/borland_suffix.hpp similarity index 95% rename from external/include/boost_1_75/boost/config/abi/borland_suffix.hpp rename to external/include/boost_1_90_0/boost/config/abi/borland_suffix.hpp index 940535f381..110b3c35fd 100644 --- a/external/include/boost_1_75/boost/config/abi/borland_suffix.hpp +++ b/external/include/boost_1_90_0/boost/config/abi/borland_suffix.hpp @@ -1,12 +1,12 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - -# pragma option pop -#pragma nopushoptwarn - - - - - +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to 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) + +# pragma option pop +#pragma nopushoptwarn + + + + + diff --git a/external/include/boost_1_75/boost/config/abi/msvc_prefix.hpp b/external/include/boost_1_90_0/boost/config/abi/msvc_prefix.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/abi/msvc_prefix.hpp rename to external/include/boost_1_90_0/boost/config/abi/msvc_prefix.hpp index 97f06cdc0c..417e0ddecc 100644 --- a/external/include/boost_1_75/boost/config/abi/msvc_prefix.hpp +++ b/external/include/boost_1_90_0/boost/config/abi/msvc_prefix.hpp @@ -1,22 +1,22 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - -// -// Boost binaries are built with the compiler's default ABI settings, -// if the user changes their default alignment in the VS IDE then their -// code will no longer be binary compatible with the bjam built binaries -// unless this header is included to force Boost code into a consistent ABI. -// -// Note that inclusion of this header is only necessary for libraries with -// separate source, header only libraries DO NOT need this as long as all -// translation units are built with the same options. -// -#if defined(_M_X64) -# pragma pack(push,16) -#else -# pragma pack(push,8) -#endif - - +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to 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) + +// +// Boost binaries are built with the compiler's default ABI settings, +// if the user changes their default alignment in the VS IDE then their +// code will no longer be binary compatible with the bjam built binaries +// unless this header is included to force Boost code into a consistent ABI. +// +// Note that inclusion of this header is only necessary for libraries with +// separate source, header only libraries DO NOT need this as long as all +// translation units are built with the same options. +// +#if defined(_M_X64) +# pragma pack(push,16) +#else +# pragma pack(push,8) +#endif + + diff --git a/external/include/boost_1_75/boost/config/abi/msvc_suffix.hpp b/external/include/boost_1_90_0/boost/config/abi/msvc_suffix.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/abi/msvc_suffix.hpp rename to external/include/boost_1_90_0/boost/config/abi/msvc_suffix.hpp index a64d783eb0..8c1edd0562 100644 --- a/external/include/boost_1_75/boost/config/abi/msvc_suffix.hpp +++ b/external/include/boost_1_90_0/boost/config/abi/msvc_suffix.hpp @@ -1,8 +1,8 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - -#pragma pack(pop) - - +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to 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) + +#pragma pack(pop) + + diff --git a/external/include/boost_1_75/boost/config/abi_prefix.hpp b/external/include/boost_1_90_0/boost/config/abi_prefix.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/abi_prefix.hpp rename to external/include/boost_1_90_0/boost/config/abi_prefix.hpp index bcdc26d9dc..ec4a722031 100644 --- a/external/include/boost_1_75/boost/config/abi_prefix.hpp +++ b/external/include/boost_1_90_0/boost/config/abi_prefix.hpp @@ -1,25 +1,25 @@ -// abi_prefix header -------------------------------------------------------// - -// (c) Copyright John Maddock 2003 - -// Use, modification and distribution are subject to 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). - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# define BOOST_CONFIG_ABI_PREFIX_HPP -#else -# error double inclusion of header boost/config/abi_prefix.hpp is an error -#endif - -#include - -// this must occur after all other includes and before any code appears: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_PREFIX -#endif - -#if defined( BOOST_BORLANDC ) -#pragma nopushoptwarn -#endif - +// abi_prefix header -------------------------------------------------------// + +// (c) Copyright John Maddock 2003 + +// Use, modification and distribution are subject to 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). + +#ifndef BOOST_CONFIG_ABI_PREFIX_HPP +# define BOOST_CONFIG_ABI_PREFIX_HPP +#else +# error double inclusion of header boost/config/abi_prefix.hpp is an error +#endif + +#include + +// this must occur after all other includes and before any code appears: +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +#if defined( BOOST_BORLANDC ) +#pragma nopushoptwarn +#endif + diff --git a/external/include/boost_1_75/boost/config/abi_suffix.hpp b/external/include/boost_1_90_0/boost/config/abi_suffix.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/abi_suffix.hpp rename to external/include/boost_1_90_0/boost/config/abi_suffix.hpp index a1eb78db90..256f63153b 100644 --- a/external/include/boost_1_75/boost/config/abi_suffix.hpp +++ b/external/include/boost_1_90_0/boost/config/abi_suffix.hpp @@ -1,25 +1,25 @@ -// abi_sufffix header -------------------------------------------------------// - -// (c) Copyright John Maddock 2003 - -// Use, modification and distribution are subject to 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). - -// This header should be #included AFTER code that was preceded by a #include -// . - -#ifndef BOOST_CONFIG_ABI_PREFIX_HPP -# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp -#else -# undef BOOST_CONFIG_ABI_PREFIX_HPP -#endif - -// the suffix header occurs after all of our code: -#ifdef BOOST_HAS_ABI_HEADERS -# include BOOST_ABI_SUFFIX -#endif - -#if defined( BOOST_BORLANDC ) -#pragma nopushoptwarn -#endif +// abi_sufffix header -------------------------------------------------------// + +// (c) Copyright John Maddock 2003 + +// Use, modification and distribution are subject to 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). + +// This header should be #included AFTER code that was preceded by a #include +// . + +#ifndef BOOST_CONFIG_ABI_PREFIX_HPP +# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp +#else +# undef BOOST_CONFIG_ABI_PREFIX_HPP +#endif + +// the suffix header occurs after all of our code: +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#if defined( BOOST_BORLANDC ) +#pragma nopushoptwarn +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx03.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx03.hpp new file mode 100644 index 0000000000..455f5d385f --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx03.hpp @@ -0,0 +1,211 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include + +#ifdef BOOST_NO_ADL_BARRIER +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ADL_BARRIER." +#endif +#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP." +#endif +#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS." +#endif +#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION." +#endif +#ifdef BOOST_NO_CTYPE_FUNCTIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CTYPE_FUNCTIONS." +#endif +#ifdef BOOST_NO_CV_SPECIALIZATIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CV_SPECIALIZATIONS." +#endif +#ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CV_VOID_SPECIALIZATIONS." +#endif +#ifdef BOOST_NO_CWCHAR +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CWCHAR." +#endif +#ifdef BOOST_NO_CWCTYPE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CWCTYPE." +#endif +#ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS." +#endif +#ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS." +#endif +#ifdef BOOST_NO_EXCEPTIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXCEPTIONS." +#endif +#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXCEPTION_STD_NAMESPACE." +#endif +#ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS." +#endif +#ifdef BOOST_NO_FENV_H +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FENV_H." +#endif +#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING." +#endif +#ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS." +#endif +#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION." +#endif +#ifdef BOOST_NO_INTEGRAL_INT64_T +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INTEGRAL_INT64_T." +#endif +#ifdef BOOST_NO_INTRINSIC_WCHAR_T +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INTRINSIC_WCHAR_T." +#endif +#ifdef BOOST_NO_IOSFWD +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IOSFWD." +#endif +#ifdef BOOST_NO_IOSTREAM +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IOSTREAM." +#endif +#ifdef BOOST_NO_IS_ABSTRACT +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IS_ABSTRACT." +#endif +#ifdef BOOST_NO_LIMITS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LIMITS." +#endif +#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS." +#endif +#ifdef BOOST_NO_LONG_LONG +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LONG_LONG." +#endif +#ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS." +#endif +#ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS." +#endif +#ifdef BOOST_NO_MEMBER_TEMPLATES +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATES." +#endif +#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS." +#endif +#ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD." +#endif +#ifdef BOOST_NO_NESTED_FRIENDSHIP +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_NESTED_FRIENDSHIP." +#endif +#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_OPERATORS_IN_NAMESPACE." +#endif +#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS." +#endif +#ifdef BOOST_NO_POINTER_TO_MEMBER_CONST +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_CONST." +#endif +#ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS." +#endif +#ifdef BOOST_NO_PRIVATE_IN_AGGREGATE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_PRIVATE_IN_AGGREGATE." +#endif +#ifdef BOOST_NO_RESTRICT_REFERENCES +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_RESTRICT_REFERENCES." +#endif +#ifdef BOOST_NO_RTTI +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_RTTI." +#endif +#ifdef BOOST_NO_SFINAE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_SFINAE." +#endif +#ifdef BOOST_NO_SFINAE_EXPR +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_SFINAE_EXPR." +#endif +#ifdef BOOST_NO_STDC_NAMESPACE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STDC_NAMESPACE." +#endif +#ifdef BOOST_NO_STD_ALLOCATOR +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ALLOCATOR." +#endif +#ifdef BOOST_NO_STD_DISTANCE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_DISTANCE." +#endif +#ifdef BOOST_NO_STD_ITERATOR +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ITERATOR." +#endif +#ifdef BOOST_NO_STD_ITERATOR_TRAITS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ITERATOR_TRAITS." +#endif +#ifdef BOOST_NO_STD_LOCALE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_LOCALE." +#endif +#ifdef BOOST_NO_STD_MESSAGES +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_MESSAGES." +#endif +#ifdef BOOST_NO_STD_MIN_MAX +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_MIN_MAX." +#endif +#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN." +#endif +#ifdef BOOST_NO_STD_TYPEINFO +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_TYPEINFO." +#endif +#ifdef BOOST_NO_STD_USE_FACET +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_USE_FACET." +#endif +#ifdef BOOST_NO_STD_WSTREAMBUF +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_WSTREAMBUF." +#endif +#ifdef BOOST_NO_STD_WSTRING +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_WSTRING." +#endif +#ifdef BOOST_NO_STRINGSTREAM +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STRINGSTREAM." +#endif +#ifdef BOOST_NO_TEMPLATED_IOSTREAMS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATED_IOSTREAMS." +#endif +#ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS." +#endif +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION." +#endif +#ifdef BOOST_NO_TEMPLATE_TEMPLATES +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATE_TEMPLATES." +#endif +#ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TWO_PHASE_NAME_LOOKUP." +#endif +#ifdef BOOST_NO_TYPEID +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TYPEID." +#endif +#ifdef BOOST_NO_TYPENAME_WITH_CTOR +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TYPENAME_WITH_CTOR." +#endif +#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_UNREACHABLE_RETURN_DETECTION." +#endif +#ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE." +#endif +#ifdef BOOST_NO_USING_TEMPLATE +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_USING_TEMPLATE." +#endif +#ifdef BOOST_NO_VOID_RETURNS +# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_VOID_RETURNS." +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx11.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx11.hpp new file mode 100644 index 0000000000..3acf23612f --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx11.hpp @@ -0,0 +1,212 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include +#include + +#ifdef BOOST_NO_CXX11_ADDRESSOF +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ADDRESSOF." +#endif +#ifdef BOOST_NO_CXX11_ALIGNAS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNAS." +#endif +#ifdef BOOST_NO_CXX11_ALIGNOF +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNOF." +#endif +#ifdef BOOST_NO_CXX11_ALLOCATOR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR." +#endif +#ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_DECLARATIONS." +#endif +#ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS." +#endif +#ifdef BOOST_NO_CXX11_CHAR16_T +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CHAR16_T." +#endif +#ifdef BOOST_NO_CXX11_CHAR32_T +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CHAR32_T." +#endif +#ifdef BOOST_NO_CXX11_CONSTEXPR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CONSTEXPR." +#endif +#ifdef BOOST_NO_CXX11_DECLTYPE +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DECLTYPE." +#endif +#ifdef BOOST_NO_CXX11_DECLTYPE_N3276 +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DECLTYPE_N3276." +#endif +#ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS." +#endif +#ifdef BOOST_NO_CXX11_DEFAULTED_MOVES +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DEFAULTED_MOVES." +#endif +#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DELETED_FUNCTIONS." +#endif +#ifdef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS." +#endif +#ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_EXTERN_TEMPLATE." +#endif +#ifdef BOOST_NO_CXX11_FINAL +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FINAL." +#endif +#ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS." +#endif +#ifdef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS." +#endif +#ifdef BOOST_NO_CXX11_HDR_ARRAY +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_ARRAY." +#endif +#ifdef BOOST_NO_CXX11_HDR_ATOMIC +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_ATOMIC." +#endif +#ifdef BOOST_NO_CXX11_HDR_CHRONO +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_CHRONO." +#endif +#ifdef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE." +#endif +#ifdef BOOST_NO_CXX11_HDR_EXCEPTION +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_EXCEPTION." +#endif +#ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FORWARD_LIST." +#endif +#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FUNCTIONAL." +#endif +#ifdef BOOST_NO_CXX11_HDR_FUTURE +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FUTURE." +#endif +#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST." +#endif +#ifdef BOOST_NO_CXX11_HDR_MUTEX +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_MUTEX." +#endif +#ifdef BOOST_NO_CXX11_HDR_RANDOM +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_RANDOM." +#endif +#ifdef BOOST_NO_CXX11_HDR_RATIO +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_RATIO." +#endif +#ifdef BOOST_NO_CXX11_HDR_REGEX +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_REGEX." +#endif +#ifdef BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR." +#endif +#ifdef BOOST_NO_CXX11_HDR_THREAD +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_THREAD." +#endif +#ifdef BOOST_NO_CXX11_HDR_TUPLE +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TUPLE." +#endif +#ifdef BOOST_NO_CXX11_HDR_TYPEINDEX +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TYPEINDEX." +#endif +#ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TYPE_TRAITS." +#endif +#ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_MAP." +#endif +#ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_SET." +#endif +#ifdef BOOST_NO_CXX11_INLINE_NAMESPACES +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_INLINE_NAMESPACES." +#endif +#ifdef BOOST_NO_CXX11_LAMBDAS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_LAMBDAS." +#endif +#ifdef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS." +#endif +#ifdef BOOST_NO_CXX11_NOEXCEPT +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NOEXCEPT." +#endif +#ifdef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS." +#endif +#ifdef BOOST_NO_CXX11_NULLPTR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NULLPTR." +#endif +#ifdef BOOST_NO_CXX11_NUMERIC_LIMITS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NUMERIC_LIMITS." +#endif +#ifdef BOOST_NO_CXX11_OVERRIDE +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_OVERRIDE." +#endif +#ifdef BOOST_NO_CXX11_POINTER_TRAITS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_POINTER_TRAITS." +#endif +#ifdef BOOST_NO_CXX11_RANGE_BASED_FOR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RANGE_BASED_FOR." +#endif +#ifdef BOOST_NO_CXX11_RAW_LITERALS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RAW_LITERALS." +#endif +#ifdef BOOST_NO_CXX11_REF_QUALIFIERS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_REF_QUALIFIERS." +#endif +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RVALUE_REFERENCES." +#endif +#ifdef BOOST_NO_CXX11_SCOPED_ENUMS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SCOPED_ENUMS." +#endif +#ifdef BOOST_NO_CXX11_SFINAE_EXPR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SFINAE_EXPR." +#endif +#ifdef BOOST_NO_CXX11_SMART_PTR +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SMART_PTR." +#endif +#ifdef BOOST_NO_CXX11_STATIC_ASSERT +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_STATIC_ASSERT." +#endif +#ifdef BOOST_NO_CXX11_STD_ALIGN +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_STD_ALIGN." +#endif +#ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_TEMPLATE_ALIASES." +#endif +#ifdef BOOST_NO_CXX11_THREAD_LOCAL +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_THREAD_LOCAL." +#endif +#ifdef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES." +#endif +#ifdef BOOST_NO_CXX11_UNICODE_LITERALS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNICODE_LITERALS." +#endif +#ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX." +#endif +#ifdef BOOST_NO_CXX11_UNRESTRICTED_UNION +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNRESTRICTED_UNION." +#endif +#ifdef BOOST_NO_CXX11_USER_DEFINED_LITERALS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_USER_DEFINED_LITERALS." +#endif +#ifdef BOOST_NO_CXX11_VARIADIC_MACROS +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_VARIADIC_MACROS." +#endif +#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES +# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_VARIADIC_TEMPLATES." +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx14.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx14.hpp new file mode 100644 index 0000000000..d0a2b30c78 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx14.hpp @@ -0,0 +1,47 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include +#include + +#ifdef BOOST_NO_CXX14_AGGREGATE_NSDMI +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_AGGREGATE_NSDMI." +#endif +#ifdef BOOST_NO_CXX14_BINARY_LITERALS +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_BINARY_LITERALS." +#endif +#ifdef BOOST_NO_CXX14_CONSTEXPR +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_CONSTEXPR." +#endif +#ifdef BOOST_NO_CXX14_DECLTYPE_AUTO +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_DECLTYPE_AUTO." +#endif +#ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_DIGIT_SEPARATORS." +#endif +#ifdef BOOST_NO_CXX14_GENERIC_LAMBDAS +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_GENERIC_LAMBDAS." +#endif +#ifdef BOOST_NO_CXX14_HDR_SHARED_MUTEX +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_HDR_SHARED_MUTEX." +#endif +#ifdef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES." +#endif +#ifdef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION." +#endif +#ifdef BOOST_NO_CXX14_STD_EXCHANGE +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_STD_EXCHANGE." +#endif +#ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES +# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_VARIABLE_TEMPLATES." +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx17.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx17.hpp new file mode 100644 index 0000000000..7a5c1209b6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx17.hpp @@ -0,0 +1,65 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include +#include + +#ifdef BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS." +#endif +#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES." +#endif +#ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS." +#endif +#ifdef BOOST_NO_CXX17_HDR_ANY +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_ANY." +#endif +#ifdef BOOST_NO_CXX17_HDR_CHARCONV +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_CHARCONV." +#endif +#ifdef BOOST_NO_CXX17_HDR_EXECUTION +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_EXECUTION." +#endif +#ifdef BOOST_NO_CXX17_HDR_FILESYSTEM +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_FILESYSTEM." +#endif +#ifdef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_MEMORY_RESOURCE." +#endif +#ifdef BOOST_NO_CXX17_HDR_OPTIONAL +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_OPTIONAL." +#endif +#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_STRING_VIEW." +#endif +#ifdef BOOST_NO_CXX17_HDR_VARIANT +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_VARIANT." +#endif +#ifdef BOOST_NO_CXX17_IF_CONSTEXPR +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_IF_CONSTEXPR." +#endif +#ifdef BOOST_NO_CXX17_INLINE_VARIABLES +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_INLINE_VARIABLES." +#endif +#ifdef BOOST_NO_CXX17_ITERATOR_TRAITS +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_ITERATOR_TRAITS." +#endif +#ifdef BOOST_NO_CXX17_STD_APPLY +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STD_APPLY." +#endif +#ifdef BOOST_NO_CXX17_STD_INVOKE +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STD_INVOKE." +#endif +#ifdef BOOST_NO_CXX17_STRUCTURED_BINDINGS +# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STRUCTURED_BINDINGS." +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx20.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx20.hpp new file mode 100644 index 0000000000..f8117a8e2c --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx20.hpp @@ -0,0 +1,59 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include +#include + +#ifdef BOOST_NO_CXX20_HDR_BARRIER +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BARRIER." +#endif +#ifdef BOOST_NO_CXX20_HDR_BIT +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BIT." +#endif +#ifdef BOOST_NO_CXX20_HDR_COMPARE +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COMPARE." +#endif +#ifdef BOOST_NO_CXX20_HDR_CONCEPTS +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_CONCEPTS." +#endif +#ifdef BOOST_NO_CXX20_HDR_COROUTINE +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COROUTINE." +#endif +#ifdef BOOST_NO_CXX20_HDR_FORMAT +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_FORMAT." +#endif +#ifdef BOOST_NO_CXX20_HDR_LATCH +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_LATCH." +#endif +#ifdef BOOST_NO_CXX20_HDR_NUMBERS +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_NUMBERS." +#endif +#ifdef BOOST_NO_CXX20_HDR_RANGES +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_RANGES." +#endif +#ifdef BOOST_NO_CXX20_HDR_SEMAPHORE +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SEMAPHORE." +#endif +#ifdef BOOST_NO_CXX20_HDR_SOURCE_LOCATION +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SOURCE_LOCATION." +#endif +#ifdef BOOST_NO_CXX20_HDR_SPAN +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SPAN." +#endif +#ifdef BOOST_NO_CXX20_HDR_STOP_TOKEN +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_STOP_TOKEN." +#endif +#ifdef BOOST_NO_CXX20_HDR_SYNCSTREAM +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SYNCSTREAM." +#endif +#ifdef BOOST_NO_CXX20_HDR_VERSION +# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_VERSION." +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx23.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx23.hpp new file mode 100644 index 0000000000..034f599e89 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx23.hpp @@ -0,0 +1,41 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include +#include + +#ifdef BOOST_NO_CXX23_HDR_EXPECTED +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_EXPECTED." +#endif +#ifdef BOOST_NO_CXX23_HDR_FLAT_MAP +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_FLAT_MAP." +#endif +#ifdef BOOST_NO_CXX23_HDR_FLAT_SET +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_FLAT_SET." +#endif +#ifdef BOOST_NO_CXX23_HDR_GENERATOR +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_GENERATOR." +#endif +#ifdef BOOST_NO_CXX23_HDR_MDSPAN +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_MDSPAN." +#endif +#ifdef BOOST_NO_CXX23_HDR_PRINT +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_PRINT." +#endif +#ifdef BOOST_NO_CXX23_HDR_SPANSTREAM +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_SPANSTREAM." +#endif +#ifdef BOOST_NO_CXX23_HDR_STACKTRACE +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_STACKTRACE." +#endif +#ifdef BOOST_NO_CXX23_HDR_STDFLOAT +# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_STDFLOAT." +#endif diff --git a/external/include/boost_1_90_0/boost/config/assert_cxx98.hpp b/external/include/boost_1_90_0/boost/config/assert_cxx98.hpp new file mode 100644 index 0000000000..f372f49494 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/assert_cxx98.hpp @@ -0,0 +1,23 @@ +// This file was automatically generated on Wed Mar 3 08:46:11 2021 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#include +#include + +#ifdef BOOST_NO_CXX98_BINDERS +# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_BINDERS." +#endif +#ifdef BOOST_NO_CXX98_FUNCTION_BASE +# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_FUNCTION_BASE." +#endif +#ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE +# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_RANDOM_SHUFFLE." +#endif diff --git a/external/include/boost_1_75/boost/config/auto_link.hpp b/external/include/boost_1_90_0/boost/config/auto_link.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/auto_link.hpp rename to external/include/boost_1_90_0/boost/config/auto_link.hpp index 1ea6faa773..1c2c3c9c73 100644 --- a/external/include/boost_1_75/boost/config/auto_link.hpp +++ b/external/include/boost_1_90_0/boost/config/auto_link.hpp @@ -1,524 +1,525 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - - /* - * LOCATION: see http://www.boost.org for most recent version. - * FILE auto_link.hpp - * VERSION see - * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. - */ - -/************************************************************************* - -USAGE: -~~~~~~ - -Before including this header you must define one or more of define the following macros: - -BOOST_LIB_NAME: Required: A string containing the basename of the library, - for example boost_regex. -BOOST_LIB_TOOLSET: Optional: the base name of the toolset. -BOOST_DYN_LINK: Optional: when set link to dll rather than static library. -BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name - of the library selected (useful for debugging). -BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, - rather than a mangled-name version. -BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option. - This is essentially the same as the default name-mangled version, but without - the compiler name and version, or the Boost version. Just the build options. -BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option. - This is essentially the same as the non-name-mangled version, but with - the prefix to differentiate static and dll builds - -These macros will be undef'ed at the end of the header, further this header -has no include guards - so be sure to include it only once from your library! - -Algorithm: -~~~~~~~~~~ - -Libraries for Borland and Microsoft compilers are automatically -selected here, the name of the lib is selected according to the following -formula: - -BOOST_LIB_PREFIX - + BOOST_LIB_NAME - + "_" - + BOOST_LIB_TOOLSET - + BOOST_LIB_THREAD_OPT - + BOOST_LIB_RT_OPT - + BOOST_LIB_ARCH_AND_MODEL_OPT - "-" - + BOOST_LIB_VERSION - + BOOST_LIB_SUFFIX - -These are defined as: - -BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". - -BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). - -BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). - -BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. - -BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, - contains one or more of the following letters after - a hyphen: - - s static runtime (dynamic if not present). - g debug/diagnostic runtime (release if not present). - y Python debug/diagnostic runtime (release if not present). - d debug build (release if not present). - p STLport build. - n STLport build without its IOStreams. - -BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model - (-x32 or -x64 for x86/32 and x86/64 respectively) - -BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. - -BOOST_LIB_SUFFIX: Static/import libraries extension (".lib", ".a") for the compiler. - -***************************************************************************/ - -#ifdef __cplusplus -# ifndef BOOST_CONFIG_HPP -# include -# endif -#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) -// -// C language compatability (no, honestly) -// -# define BOOST_MSVC _MSC_VER -# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -# define BOOST_DO_STRINGIZE(X) #X -#endif -// -// Only include what follows for known and supported compilers: -// -#if defined(BOOST_MSVC) \ - || defined(BOOST_EMBTC_WINDOWS) \ - || defined(BOOST_BORLANDC) \ - || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ - || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \ - || (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)) - -#ifndef BOOST_VERSION_HPP -# include -#endif - -#ifndef BOOST_LIB_NAME -# error "Macro BOOST_LIB_NAME not set (internal error)" -#endif - -// -// error check: -// -#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) -# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") -# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") -# error "Incompatible build options" -#endif -// -// select toolset if not defined already: -// -#ifndef BOOST_LIB_TOOLSET -# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200) - // Note: no compilers before 1200 are supported -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300) - -# ifdef UNDER_CE - // eVC4: -# define BOOST_LIB_TOOLSET "evc4" -# else - // vc6: -# define BOOST_LIB_TOOLSET "vc6" -# endif - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310) - - // vc7: -# define BOOST_LIB_TOOLSET "vc7" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400) - - // vc71: -# define BOOST_LIB_TOOLSET "vc71" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500) - - // vc80: -# define BOOST_LIB_TOOLSET "vc80" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600) - - // vc90: -# define BOOST_LIB_TOOLSET "vc90" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700) - - // vc10: -# define BOOST_LIB_TOOLSET "vc100" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800) - - // vc11: -# define BOOST_LIB_TOOLSET "vc110" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900) - - // vc12: -# define BOOST_LIB_TOOLSET "vc120" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910) - - // vc14: -# define BOOST_LIB_TOOLSET "vc140" - -# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920) - - // vc14.1: -# define BOOST_LIB_TOOLSET "vc141" - -# elif defined(BOOST_MSVC) - - // vc14.2: -# define BOOST_LIB_TOOLSET "vc142" - -# elif defined(BOOST_EMBTC_WINDOWS) - - // Embarcadero Clang based compilers: -# if defined(BOOST_EMBTC_WIN32C) -# define BOOST_LIB_TOOLSET "bcb32" -# elif defined(BOOST_EMBTC_WIN64) -# define BOOST_LIB_TOOLSET "bcb64" -# endif - -# elif defined(BOOST_BORLANDC) - - // CBuilder 6: -# define BOOST_LIB_TOOLSET "bcb" - -# elif defined(__ICL) - - // Intel C++, no version number: -# define BOOST_LIB_TOOLSET "iw" - -# elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) - - // Metrowerks CodeWarrior 8.x -# define BOOST_LIB_TOOLSET "cw8" - -# elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) - - // Metrowerks CodeWarrior 9.x -# define BOOST_LIB_TOOLSET "cw9" - -# elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4) - - // Clang on Windows -# define BOOST_LIB_TOOLSET "clangw" BOOST_STRINGIZE(__clang_major__) - -# endif -#endif // BOOST_LIB_TOOLSET - -// -// select thread opt: -// -#if defined(_MT) || defined(__MT__) -# define BOOST_LIB_THREAD_OPT "-mt" -#else -# define BOOST_LIB_THREAD_OPT -#endif - -#if defined(_MSC_VER) || defined(__MWERKS__) - -# ifdef _DLL - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydp" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdp" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-p" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydpn" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-gdpn" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gydpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gdpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-pn" -# endif - -# else - -# if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-gyd" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-gd" -# else -# define BOOST_LIB_RT_OPT -# endif - -# endif - -# else - -# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydp" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdp" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdp" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-sp" -# endif - -# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) - -# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydpn" -# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) -# define BOOST_LIB_RT_OPT "-sgdpn" -# elif defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgydpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgdpn" -# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") -# error "Build options aren't compatible with pre-built libraries" -# else -# define BOOST_LIB_RT_OPT "-spn" -# endif - -# else - -# if defined(_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sgyd" -# elif defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sgd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -# endif - -#elif defined(BOOST_EMBTC_WINDOWS) - -# ifdef _RTLDLL - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-d" -# else -# define BOOST_LIB_RT_OPT -# endif - -# else - -# if defined(_DEBUG) -# define BOOST_LIB_RT_OPT "-sd" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -#elif defined(BOOST_BORLANDC) - -// -// figure out whether we want the debug builds or not: -// -#if BOOST_BORLANDC > 0x561 -#pragma defineonoption BOOST_BORLAND_DEBUG -v -#endif -// -// sanity check: -// -#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) -#error "Pre-built versions of the Boost libraries are not provided in STLport-debug form" -#endif - -# ifdef _RTLDLL - -# if defined(BOOST_BORLAND_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-yd" -# elif defined(BOOST_BORLAND_DEBUG) -# define BOOST_LIB_RT_OPT "-d" -# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-y" -# else -# define BOOST_LIB_RT_OPT -# endif - -# else - -# if defined(BOOST_BORLAND_DEBUG)\ - && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-syd" -# elif defined(BOOST_BORLAND_DEBUG) -# define BOOST_LIB_RT_OPT "-sd" -# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) -# define BOOST_LIB_RT_OPT "-sy" -# else -# define BOOST_LIB_RT_OPT "-s" -# endif - -# endif - -#endif - -// -// BOOST_LIB_ARCH_AND_MODEL_OPT -// - -#if defined( _M_IX86 ) -# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32" -#elif defined( _M_X64 ) -# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64" -#elif defined( _M_ARM ) -# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32" -#elif defined( _M_ARM64 ) -# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64" -#endif - -// -// select linkage opt: -// -#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) -# define BOOST_LIB_PREFIX -#elif defined(BOOST_DYN_LINK) -# error "Mixing a dll boost library with a static runtime is a really bad idea..." -#else -# define BOOST_LIB_PREFIX "lib" -#endif - -// -// now include the lib: -// -#if defined(BOOST_LIB_NAME) \ - && defined(BOOST_LIB_PREFIX) \ - && defined(BOOST_LIB_TOOLSET) \ - && defined(BOOST_LIB_THREAD_OPT) \ - && defined(BOOST_LIB_RT_OPT) \ - && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \ - && defined(BOOST_LIB_VERSION) - -#if defined(BOOST_EMBTC_WIN64) -# define BOOST_LIB_SUFFIX ".a" -#else -# define BOOST_LIB_SUFFIX ".lib" -#endif - -#ifdef BOOST_AUTO_LINK_NOMANGLE -# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) -# endif -#elif defined(BOOST_AUTO_LINK_TAGGED) -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX) -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX) -# endif -#elif defined(BOOST_AUTO_LINK_SYSTEM) -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) -# endif -#elif defined(BOOST_LIB_BUILDID) -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX) -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX) -# endif -#else -# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX) -# ifdef BOOST_LIB_DIAGNOSTIC -# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX) -# endif -#endif - -#else -# error "some required macros where not defined (internal logic error)." -#endif - - -#endif // _MSC_VER || __BORLANDC__ - -// -// finally undef any macros we may have set: -// -#ifdef BOOST_LIB_PREFIX -# undef BOOST_LIB_PREFIX -#endif -#if defined(BOOST_LIB_NAME) -# undef BOOST_LIB_NAME -#endif -// Don't undef this one: it can be set by the user and should be the -// same for all libraries: -//#if defined(BOOST_LIB_TOOLSET) -//# undef BOOST_LIB_TOOLSET -//#endif -#if defined(BOOST_LIB_THREAD_OPT) -# undef BOOST_LIB_THREAD_OPT -#endif -#if defined(BOOST_LIB_RT_OPT) -# undef BOOST_LIB_RT_OPT -#endif -#if defined(BOOST_LIB_ARCH_AND_MODEL_OPT) -# undef BOOST_LIB_ARCH_AND_MODEL_OPT -#endif -#if defined(BOOST_LIB_LINK_OPT) -# undef BOOST_LIB_LINK_OPT -#endif -#if defined(BOOST_LIB_DEBUG_OPT) -# undef BOOST_LIB_DEBUG_OPT -#endif -#if defined(BOOST_DYN_LINK) -# undef BOOST_DYN_LINK -#endif -#if defined(BOOST_LIB_SUFFIX) -# undef BOOST_LIB_SUFFIX -#endif +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to 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) + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE auto_link.hpp + * VERSION see + * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. + */ + +/************************************************************************* + +USAGE: +~~~~~~ + +Before including this header you must define one or more of define the following macros: + +BOOST_LIB_NAME: Required: A string containing the basename of the library, + for example boost_regex. +BOOST_LIB_TOOLSET: Optional: the base name of the toolset. +BOOST_DYN_LINK: Optional: when set link to dll rather than static library. +BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name + of the library selected (useful for debugging). +BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, + rather than a mangled-name version. +BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option. + This is essentially the same as the default name-mangled version, but without + the compiler name and version, or the Boost version. Just the build options. +BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option. + This is essentially the same as the non-name-mangled version, but with + the prefix to differentiate static and dll builds + +These macros will be undef'ed at the end of the header, further this header +has no include guards - so be sure to include it only once from your library! + +Algorithm: +~~~~~~~~~~ + +Libraries for Borland and Microsoft compilers are automatically +selected here, the name of the lib is selected according to the following +formula: + +BOOST_LIB_PREFIX + + BOOST_LIB_NAME + + "_" + + BOOST_LIB_TOOLSET + + BOOST_LIB_THREAD_OPT + + BOOST_LIB_RT_OPT + + BOOST_LIB_ARCH_AND_MODEL_OPT + "-" + + BOOST_LIB_VERSION + + BOOST_LIB_SUFFIX + +These are defined as: + +BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". + +BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). + +BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). + +BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. + +BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, + contains one or more of the following letters after + a hyphen: + + s static runtime (dynamic if not present). + g debug/diagnostic runtime (release if not present). + y Python debug/diagnostic runtime (release if not present). + d debug build (release if not present). + p STLport build. + n STLport build without its IOStreams. + +BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model + (-x32 or -x64 for x86/32 and x86/64 respectively) + +BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. + +BOOST_LIB_SUFFIX: Static/import libraries extension (".lib", ".a") for the compiler. + +***************************************************************************/ + +#ifdef __cplusplus +# ifndef BOOST_CONFIG_HPP +# include +# endif +#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) +// +// C language compatability (no, honestly) +// +# define BOOST_MSVC _MSC_VER +# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +# define BOOST_DO_STRINGIZE(X) #X +#endif +// +// Only include what follows for known and supported compilers: +// +#if defined(BOOST_MSVC) \ + || defined(BOOST_EMBTC_WINDOWS) \ + || defined(BOOST_BORLANDC) \ + || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ + || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \ + || (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)) + +#ifndef BOOST_VERSION_HPP +# include +#endif + +#ifndef BOOST_LIB_NAME +# error "Macro BOOST_LIB_NAME not set (internal error)" +#endif + +// +// error check: +// +#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) +# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") +# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") +# error "Incompatible build options" +#endif +// +// select toolset if not defined already: +// +#ifndef BOOST_LIB_TOOLSET +# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200) + // Note: no compilers before 1200 are supported +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300) + +# ifdef UNDER_CE + // eVC4: +# define BOOST_LIB_TOOLSET "evc4" +# else + // vc6: +# define BOOST_LIB_TOOLSET "vc6" +# endif + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310) + + // vc7: +# define BOOST_LIB_TOOLSET "vc7" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400) + + // vc71: +# define BOOST_LIB_TOOLSET "vc71" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500) + + // vc80: +# define BOOST_LIB_TOOLSET "vc80" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600) + + // vc90: +# define BOOST_LIB_TOOLSET "vc90" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700) + + // vc10: +# define BOOST_LIB_TOOLSET "vc100" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800) + + // vc11: +# define BOOST_LIB_TOOLSET "vc110" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900) + + // vc12: +# define BOOST_LIB_TOOLSET "vc120" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910) + + // vc14: +# define BOOST_LIB_TOOLSET "vc140" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920) + + // vc14.1: +# define BOOST_LIB_TOOLSET "vc141" + +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1930) + + // vc14.2: +# define BOOST_LIB_TOOLSET "vc142" + +# elif defined(BOOST_MSVC) + + // vc14.3: +# define BOOST_LIB_TOOLSET "vc143" + +# elif defined(BOOST_EMBTC_WINDOWS) + + // Embarcadero Clang based compilers: +# define BOOST_LIB_TOOLSET "embtc" + +# elif defined(BOOST_BORLANDC) + + // CBuilder 6: +# define BOOST_LIB_TOOLSET "bcb" + +# elif defined(__ICL) + + // Intel C++, no version number: +# define BOOST_LIB_TOOLSET "iw" + +# elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) + + // Metrowerks CodeWarrior 8.x +# define BOOST_LIB_TOOLSET "cw8" + +# elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) + + // Metrowerks CodeWarrior 9.x +# define BOOST_LIB_TOOLSET "cw9" + +# elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4) + + // Clang on Windows +# define BOOST_LIB_TOOLSET "clangw" BOOST_STRINGIZE(__clang_major__) + +# endif +#endif // BOOST_LIB_TOOLSET + +// +// select thread opt: +// +#if defined(_MT) || defined(__MT__) +# define BOOST_LIB_THREAD_OPT "-mt" +#else +# define BOOST_LIB_THREAD_OPT +#endif + +#if defined(_MSC_VER) || defined(__MWERKS__) + +# ifdef _DLL + +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-gydp" +# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-gdp" +# elif defined(_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-gydp" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gdp" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-p" +# endif + +# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-gydpn" +# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-gdpn" +# elif defined(_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-gydpn" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gdpn" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-pn" +# endif + +# else + +# if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-gyd" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gd" +# else +# define BOOST_LIB_RT_OPT +# endif + +# endif + +# else + +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-sgydp" +# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-sgdp" +# elif defined(_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-sgydp" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgdp" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-sp" +# endif + +# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-sgydpn" +# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-sgdpn" +# elif defined(_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-sgydpn" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgdpn" +# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-spn" +# endif + +# else + +# if defined(_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-sgyd" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgd" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +# endif + +#elif defined(BOOST_EMBTC_WINDOWS) + +# ifdef _RTLDLL + +# if defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-d" +# else +# define BOOST_LIB_RT_OPT +# endif + +# else + +# if defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sd" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +#elif defined(BOOST_BORLANDC) + +// +// figure out whether we want the debug builds or not: +// +#if BOOST_BORLANDC > 0x561 +#pragma defineonoption BOOST_BORLAND_DEBUG -v +#endif +// +// sanity check: +// +#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) +#error "Pre-built versions of the Boost libraries are not provided in STLport-debug form" +#endif + +# ifdef _RTLDLL + +# if defined(BOOST_BORLAND_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-yd" +# elif defined(BOOST_BORLAND_DEBUG) +# define BOOST_LIB_RT_OPT "-d" +# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-y" +# else +# define BOOST_LIB_RT_OPT +# endif + +# else + +# if defined(BOOST_BORLAND_DEBUG)\ + && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-syd" +# elif defined(BOOST_BORLAND_DEBUG) +# define BOOST_LIB_RT_OPT "-sd" +# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) +# define BOOST_LIB_RT_OPT "-sy" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +#endif + +// +// BOOST_LIB_ARCH_AND_MODEL_OPT +// + +#if defined( _M_IX86 ) +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32" +#elif defined( _M_X64 ) +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64" +#elif defined( _M_ARM ) +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32" +#elif defined( _M_ARM64 ) +# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64" +#endif + +// +// select linkage opt: +// +#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) +# define BOOST_LIB_PREFIX +#elif defined(BOOST_DYN_LINK) +# error "Mixing a dll boost library with a static runtime is a really bad idea..." +#else +# define BOOST_LIB_PREFIX "lib" +#endif + +// +// now include the lib: +// +#if defined(BOOST_LIB_NAME) \ + && defined(BOOST_LIB_PREFIX) \ + && defined(BOOST_LIB_TOOLSET) \ + && defined(BOOST_LIB_THREAD_OPT) \ + && defined(BOOST_LIB_RT_OPT) \ + && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \ + && defined(BOOST_LIB_VERSION) + +#if defined(BOOST_EMBTC_WIN64) +# define BOOST_LIB_SUFFIX ".a" +#else +# define BOOST_LIB_SUFFIX ".lib" +#endif + +#ifdef BOOST_AUTO_LINK_NOMANGLE +# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) +# endif +#elif defined(BOOST_AUTO_LINK_TAGGED) +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX) +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX) +# endif +#elif defined(BOOST_AUTO_LINK_SYSTEM) +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX) +# endif +#elif defined(BOOST_LIB_BUILDID) +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX) +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX) +# endif +#else +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX) +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX) +# endif +#endif + +#else +# error "some required macros where not defined (internal logic error)." +#endif + + +#endif // _MSC_VER || __BORLANDC__ + +// +// finally undef any macros we may have set: +// +#ifdef BOOST_LIB_PREFIX +# undef BOOST_LIB_PREFIX +#endif +#if defined(BOOST_LIB_NAME) +# undef BOOST_LIB_NAME +#endif +// Don't undef this one: it can be set by the user and should be the +// same for all libraries: +//#if defined(BOOST_LIB_TOOLSET) +//# undef BOOST_LIB_TOOLSET +//#endif +#if defined(BOOST_LIB_THREAD_OPT) +# undef BOOST_LIB_THREAD_OPT +#endif +#if defined(BOOST_LIB_RT_OPT) +# undef BOOST_LIB_RT_OPT +#endif +#if defined(BOOST_LIB_ARCH_AND_MODEL_OPT) +# undef BOOST_LIB_ARCH_AND_MODEL_OPT +#endif +#if defined(BOOST_LIB_LINK_OPT) +# undef BOOST_LIB_LINK_OPT +#endif +#if defined(BOOST_LIB_DEBUG_OPT) +# undef BOOST_LIB_DEBUG_OPT +#endif +#if defined(BOOST_DYN_LINK) +# undef BOOST_DYN_LINK +#endif +#if defined(BOOST_LIB_SUFFIX) +# undef BOOST_LIB_SUFFIX +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/borland.hpp b/external/include/boost_1_90_0/boost/config/compiler/borland.hpp similarity index 95% rename from external/include/boost_1_75/boost/config/compiler/borland.hpp rename to external/include/boost_1_90_0/boost/config/compiler/borland.hpp index c5113b7151..d34e13c9b2 100644 --- a/external/include/boost_1_75/boost/config/compiler/borland.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/borland.hpp @@ -1,338 +1,342 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Borland C++ compiler setup: - -// -// versions check: -// we don't support Borland prior to version 5.4: -#if __BORLANDC__ < 0x540 -# error "Compiler not supported or configured - please reconfigure" -#endif - -// last known compiler version: -#if (__BORLANDC__ > 0x613) -//# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -//# else -//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") -//# endif -#elif (__BORLANDC__ == 0x600) -# error "CBuilderX preview compiler is no longer supported" -#endif - -// -// Support macros to help with standard library detection -#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL) -# define BOOST_BCB_WITH_ROGUE_WAVE -#elif __BORLANDC__ < 0x570 -# define BOOST_BCB_WITH_STLPORT -#else -# define BOOST_BCB_WITH_DINKUMWARE -#endif - -// -// Version 5.0 and below: -# if __BORLANDC__ <= 0x0550 -// Borland C++Builder 4 and 5: -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# if __BORLANDC__ == 0x0550 -// Borland C++Builder 5, command-line compiler 5.5: -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# endif -// Variadic macros do not exist for C++ Builder versions 5 and below -#define BOOST_NO_CXX11_VARIADIC_MACROS -# endif - -// Version 5.51 and below: -#if (__BORLANDC__ <= 0x551) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_DEDUCED_TYPENAME -// workaround for missing WCHAR_MAX/WCHAR_MIN: -#ifdef __cplusplus -#include -#include -#else -#include -#include -#endif // __cplusplus -#ifndef WCHAR_MAX -# define WCHAR_MAX 0xffff -#endif -#ifndef WCHAR_MIN -# define WCHAR_MIN 0 -#endif -#endif - -// Borland C++ Builder 6 and below: -#if (__BORLANDC__ <= 0x564) - -# if defined(NDEBUG) && defined(__cplusplus) - // fix broken so that Boost.test works: -# include -# undef strcmp -# endif - // fix broken errno declaration: -# include -# ifndef errno -# define errno errno -# endif - -#endif - -// -// new bug in 5.61: -#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580) - // this seems to be needed by the command line compiler, but not the IDE: -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -#endif - -// Borland C++ Builder 2006 Update 2 and below: -#if (__BORLANDC__ <= 0x582) -# define BOOST_NO_SFINAE -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# define BOOST_NO_TEMPLATE_TEMPLATES - -# define BOOST_NO_PRIVATE_IN_AGGREGATE - -# ifdef _WIN32 -# define BOOST_NO_SWPRINTF -# elif defined(linux) || defined(__linux__) || defined(__linux) - // we should really be able to do without this - // but the wcs* functions aren't imported into std:: -# define BOOST_NO_STDC_NAMESPACE - // _CPPUNWIND doesn't get automatically set for some reason: -# pragma defineonoption BOOST_CPPUNWIND -x -# endif -#endif - -#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info - // we shouldn't really need this - but too many things choke - // without it, this needs more investigation: -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_IS_ABSTRACT -# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS -# define BOOST_NO_USING_TEMPLATE -# define BOOST_SP_NO_SP_CONVERTIBLE - -// Temporary workaround -#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS -#endif - -// Borland C++ Builder 2008 and below: -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -# define BOOST_NO_NESTED_FRIENDSHIP -# define BOOST_NO_TYPENAME_WITH_CTOR -#if (__BORLANDC__ < 0x600) -# define BOOST_ILLEGAL_CV_REFERENCES -#endif - -// -// Positive Feature detection -// -// Borland C++ Builder 2008 and below: -#if (__BORLANDC__ >= 0x599) -# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax -#endif -// -// C++0x Macros: -// -#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610) -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_SCOPED_ENUMS -# define BOOST_NO_CXX11_STATIC_ASSERT -#else -# define BOOST_HAS_ALIGNOF -# define BOOST_HAS_CHAR16_T -# define BOOST_HAS_CHAR32_T -# define BOOST_HAS_DECLTYPE -# define BOOST_HAS_EXPLICIT_CONVERSION_OPS -# define BOOST_HAS_REF_QUALIFIER -# define BOOST_HAS_RVALUE_REFS -# define BOOST_HAS_STATIC_ASSERT -#endif - -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DEFAULTED_MOVES -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#if __BORLANDC__ >= 0x590 -# define BOOST_HAS_TR1_HASH - -# define BOOST_HAS_MACRO_USE_FACET -#endif - -// -// Post 0x561 we have long long and stdint.h: -#if __BORLANDC__ >= 0x561 -# ifndef __NO_LONG_LONG -# define BOOST_HAS_LONG_LONG -# else -# define BOOST_NO_LONG_LONG -# endif - // On non-Win32 platforms let the platform config figure this out: -# ifdef _WIN32 -# define BOOST_HAS_STDINT_H -# endif -#endif - -// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is -// defined, then we have 0x560 or greater with the Rogue Wave implementation -// which presumably has the std::DBL_MAX bug. -#if defined( BOOST_BCB_WITH_ROGUE_WAVE ) -// is partly broken, some macros define symbols that are really in -// namespace std, so you end up having to use illegal constructs like -// std::DBL_MAX, as a fix we'll just include float.h and have done with: -#include -#endif -// -// __int64: -// -#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) -# define BOOST_HAS_MS_INT64 -#endif -// -// check for exception handling support: -// -#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif -// -// all versions have a : -// -#ifndef __STRICT_ANSI__ -# define BOOST_HAS_DIRENT_H -#endif -// -// all versions support __declspec: -// -#if defined(__STRICT_ANSI__) -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined -# define BOOST_SYMBOL_EXPORT -#endif -// -// ABI fixing headers: -// -#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" -#endif -#endif -// -// Disable Win32 support in ANSI mode: -// -#if __BORLANDC__ < 0x600 -# pragma defineonoption BOOST_DISABLE_WIN32 -A -#elif defined(__STRICT_ANSI__) -# define BOOST_DISABLE_WIN32 -#endif -// -// MSVC compatibility mode does some nasty things: -// TODO: look up if this doesn't apply to the whole 12xx range -// -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_VOID_RETURNS -#endif - -// Borland did not implement value-initialization completely, as I reported -// in 2007, Borland Report 51854, "Value-initialization: POD struct should be -// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854 -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -// (Niels Dekker, LKEB, April 2010) -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION - -#define BOOST_BORLANDC __BORLANDC__ -#define BOOST_COMPILER "Classic Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Borland C++ compiler setup: + +// +// versions check: +// we don't support Borland prior to version 5.4: +#if __BORLANDC__ < 0x540 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// last known compiler version: +#if (__BORLANDC__ > 0x613) +//# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +//# else +//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") +//# endif +#elif (__BORLANDC__ == 0x600) +# error "CBuilderX preview compiler is no longer supported" +#endif + +// +// Support macros to help with standard library detection +#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL) +# define BOOST_BCB_WITH_ROGUE_WAVE +#elif __BORLANDC__ < 0x570 +# define BOOST_BCB_WITH_STLPORT +#else +# define BOOST_BCB_WITH_DINKUMWARE +#endif + +// +// Version 5.0 and below: +# if __BORLANDC__ <= 0x0550 +// Borland C++Builder 4 and 5: +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# if __BORLANDC__ == 0x0550 +// Borland C++Builder 5, command-line compiler 5.5: +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# endif +// Variadic macros do not exist for C++ Builder versions 5 and below +#define BOOST_NO_CXX11_VARIADIC_MACROS +# endif + +// Version 5.51 and below: +#if (__BORLANDC__ <= 0x551) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# define BOOST_NO_DEDUCED_TYPENAME +// workaround for missing WCHAR_MAX/WCHAR_MIN: +#ifdef __cplusplus +#include +#include +#else +#include +#include +#endif // __cplusplus +#ifndef WCHAR_MAX +# define WCHAR_MAX 0xffff +#endif +#ifndef WCHAR_MIN +# define WCHAR_MIN 0 +#endif +#endif + +// Borland C++ Builder 6 and below: +#if (__BORLANDC__ <= 0x564) + +# if defined(NDEBUG) && defined(__cplusplus) + // fix broken so that Boost.test works: +# include +# undef strcmp +# endif + // fix broken errno declaration: +# include +# ifndef errno +# define errno errno +# endif + +#endif + +// +// new bug in 5.61: +#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580) + // this seems to be needed by the command line compiler, but not the IDE: +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +// Borland C++ Builder 2006 Update 2 and below: +#if (__BORLANDC__ <= 0x582) +# define BOOST_NO_SFINAE +# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# define BOOST_NO_TEMPLATE_TEMPLATES + +# define BOOST_NO_PRIVATE_IN_AGGREGATE + +# ifdef _WIN32 +# define BOOST_NO_SWPRINTF +# elif defined(linux) || defined(__linux__) || defined(__linux) + // we should really be able to do without this + // but the wcs* functions aren't imported into std:: +# define BOOST_NO_STDC_NAMESPACE + // _CPPUNWIND doesn't get automatically set for some reason: +# pragma defineonoption BOOST_CPPUNWIND -x +# endif +#endif + +#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info + // we shouldn't really need this - but too many things choke + // without it, this needs more investigation: +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS +# define BOOST_NO_USING_TEMPLATE +# define BOOST_SP_NO_SP_CONVERTIBLE + +// Temporary workaround +#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif + +// Borland C++ Builder 2008 and below: +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# define BOOST_NO_NESTED_FRIENDSHIP +# define BOOST_NO_TYPENAME_WITH_CTOR +#if (__BORLANDC__ < 0x600) +# define BOOST_ILLEGAL_CV_REFERENCES +#endif + +// +// Positive Feature detection +// +// Borland C++ Builder 2008 and below: +#if (__BORLANDC__ >= 0x599) +# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax +#endif +// +// C++0x Macros: +// +#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610) +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +# define BOOST_NO_CXX11_DECLTYPE +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_CXX11_EXTERN_TEMPLATE +# define BOOST_NO_CXX11_RVALUE_REFERENCES +# define BOOST_NO_CXX11_SCOPED_ENUMS +# define BOOST_NO_CXX11_STATIC_ASSERT +#else +# define BOOST_HAS_ALIGNOF +# define BOOST_HAS_CHAR16_T +# define BOOST_HAS_CHAR32_T +# define BOOST_HAS_DECLTYPE +# define BOOST_HAS_EXPLICIT_CONVERSION_OPS +# define BOOST_HAS_REF_QUALIFIER +# define BOOST_HAS_RVALUE_REFS +# define BOOST_HAS_STATIC_ASSERT +#endif + +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DEFAULTED_MOVES +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#if __BORLANDC__ >= 0x590 +# define BOOST_HAS_TR1_HASH + +# define BOOST_HAS_MACRO_USE_FACET +#endif + +// +// Post 0x561 we have long long and stdint.h: +#if __BORLANDC__ >= 0x561 +# ifndef __NO_LONG_LONG +# define BOOST_HAS_LONG_LONG +# else +# define BOOST_NO_LONG_LONG +# endif + // On non-Win32 platforms let the platform config figure this out: +# ifdef _WIN32 +# define BOOST_HAS_STDINT_H +# endif +#endif + +// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is +// defined, then we have 0x560 or greater with the Rogue Wave implementation +// which presumably has the std::DBL_MAX bug. +#if defined( BOOST_BCB_WITH_ROGUE_WAVE ) +// is partly broken, some macros define symbols that are really in +// namespace std, so you end up having to use illegal constructs like +// std::DBL_MAX, as a fix we'll just include float.h and have done with: +#include +#endif +// +// __int64: +// +#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) +# define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a : +// +#ifndef __STRICT_ANSI__ +# define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#if defined(__STRICT_ANSI__) +// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined +# define BOOST_SYMBOL_EXPORT +#endif +// +// ABI fixing headers: +// +#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +#endif +// +// Disable Win32 support in ANSI mode: +// +#if __BORLANDC__ < 0x600 +# pragma defineonoption BOOST_DISABLE_WIN32 -A +#elif defined(__STRICT_ANSI__) +# define BOOST_DISABLE_WIN32 +#endif +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_VOID_RETURNS +#endif + +// Borland did not implement value-initialization completely, as I reported +// in 2007, Borland Report 51854, "Value-initialization: POD struct should be +// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854 +// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues +// (Niels Dekker, LKEB, April 2010) +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION + +#define BOOST_BORLANDC __BORLANDC__ +#define BOOST_COMPILER "Classic Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) diff --git a/external/include/boost_1_75/boost/config/compiler/clang.hpp b/external/include/boost_1_90_0/boost/config/compiler/clang.hpp similarity index 90% rename from external/include/boost_1_75/boost/config/compiler/clang.hpp rename to external/include/boost_1_90_0/boost/config/compiler/clang.hpp index 9d8ba7d711..058e718437 100644 --- a/external/include/boost_1_75/boost/config/compiler/clang.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/clang.hpp @@ -1,353 +1,370 @@ -// (C) Copyright Douglas Gregor 2010 -// -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Clang compiler setup. - -#define BOOST_HAS_PRAGMA_ONCE - -// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. -#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) -# define BOOST_HAS_PRAGMA_DETECT_MISMATCH -#endif - -// When compiling with clang before __has_extension was defined, -// even if one writes 'defined(__has_extension) && __has_extension(xxx)', -// clang reports a compiler error. So the only workaround found is: - -#ifndef __has_extension -#define __has_extension __has_feature -#endif - -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif - -#ifndef __has_cpp_attribute -#define __has_cpp_attribute(x) 0 -#endif - -#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) -# define BOOST_NO_TYPEID -#endif - -#if !__has_feature(cxx_thread_local) -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -#ifdef __is_identifier -#if !__is_identifier(__int64) && !defined(__GNUC__) -# define BOOST_HAS_MS_INT64 -#endif -#endif - -#if __has_include() -# define BOOST_HAS_STDINT_H -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) -#if (__clang_major__ >= 4) && defined(__has_include) -#if __has_include() -# define BOOST_HAS_FLOAT128 -#endif -#endif -#endif - - -#define BOOST_HAS_NRVO - -// Branch prediction hints -#if !defined (__c2__) && defined(__has_builtin) -#if __has_builtin(__builtin_expect) -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) -#endif -#endif - -// Clang supports "long long" in all compilation modes. -#define BOOST_HAS_LONG_LONG - -// -// We disable this if the compiler is really nvcc with C++03 as it -// doesn't actually support __int128 as of CUDA_VERSION=7500 -// even though it defines __SIZEOF_INT128__. -// See https://svn.boost.org/trac/boost/ticket/10418 -// https://svn.boost.org/trac/boost/ticket/11852 -// Only re-enable this for nvcc if you're absolutely sure -// of the circumstances under which it's supported. -// Similarly __SIZEOF_INT128__ is defined when targetting msvc -// compatibility even though the required support functions are absent. -// -#if defined(__CUDACC__) -# if defined(BOOST_GCC_CXX11) -# define BOOST_NVCC_CXX11 -# else -# define BOOST_NVCC_CXX03 -# endif -#endif - -#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER) -# define BOOST_HAS_INT128 -#endif - - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) -# define BOOST_HAS_DECLSPEC -# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) -# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) -#else -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -#endif - -// -// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through -// between switch labels. -// -#if __cplusplus >= 201103L && defined(__has_warning) -# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") -# define BOOST_FALLTHROUGH [[clang::fallthrough]] -# endif -#endif - -#if !__has_feature(cxx_auto_type) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif - -// -// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t -// -#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -#endif - -#if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__) -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_LOG1P -#endif - -#if !__has_feature(cxx_constexpr) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#if !__has_feature(cxx_decltype) -# define BOOST_NO_CXX11_DECLTYPE -#endif - -#if !__has_feature(cxx_decltype_incomplete_return_types) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -#endif - -#if !__has_feature(cxx_defaulted_functions) -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#endif - -#if !__has_feature(cxx_deleted_functions) -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -#endif - -#if !__has_feature(cxx_explicit_conversions) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif - -#if !__has_feature(cxx_default_function_template_args) -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -#if !__has_feature(cxx_lambdas) -# define BOOST_NO_CXX11_LAMBDAS -#endif - -#if !__has_feature(cxx_local_type_template_args) -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif - -#if !__has_feature(cxx_noexcept) -# define BOOST_NO_CXX11_NOEXCEPT -#endif - -#if !__has_feature(cxx_nullptr) -# define BOOST_NO_CXX11_NULLPTR -#endif - -#if !__has_feature(cxx_range_for) -# define BOOST_NO_CXX11_RANGE_BASED_FOR -#endif - -#if !__has_feature(cxx_raw_string_literals) -# define BOOST_NO_CXX11_RAW_LITERALS -#endif - -#if !__has_feature(cxx_reference_qualified_functions) -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -#if !__has_feature(cxx_rvalue_references) -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif - -#if !__has_feature(cxx_strong_enums) -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -#if !__has_feature(cxx_static_assert) -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -#if !__has_feature(cxx_alias_templates) -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -#endif - -#if !__has_feature(cxx_unicode_literals) -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -#if !__has_feature(cxx_variadic_templates) -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -#if !__has_feature(cxx_user_literals) -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#endif - -#if !__has_feature(cxx_alignas) -# define BOOST_NO_CXX11_ALIGNAS -#endif - -#if !__has_feature(cxx_trailing_return) -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -#if !__has_feature(cxx_inline_namespaces) -# define BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -#if !__has_feature(cxx_override_control) -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_OVERRIDE -#endif - -#if !__has_feature(cxx_unrestricted_unions) -# define BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif - -#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif - -#if !__has_feature(__cxx_decltype_auto__) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif - -#if !__has_feature(__cxx_aggregate_nsdmi__) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif - -#if !__has_feature(__cxx_init_captures__) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif - -#if !__has_feature(__cxx_generic_lambdas__) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif - -// clang < 3.5 has a defect with dependent type, like following. -// -// template -// constexpr typename enable_if >::type foo(T &) -// { } // error: no return statement in constexpr function -// -// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. -// Therefore we don't care such case. -// -// Note that we can't check Clang version directly as the numbering system changes depending who's -// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) -// so instead verify that we have a feature that was introduced at the same time as working C++14 -// constexpr (generic lambda's in this case): -// -#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) -# define BOOST_NO_CXX14_CONSTEXPR -#endif - -#if !__has_feature(__cxx_return_type_deduction__) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif - -#if !__has_feature(__cxx_variable_templates__) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif - -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -// Clang 3.9+ in c++1z -#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L -# define BOOST_NO_CXX17_INLINE_VARIABLES -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif - -#if __cplusplus < 201103L -#define BOOST_NO_CXX11_SFINAE_EXPR -#endif - -#if __cplusplus < 201400 -// All versions with __cplusplus above this value seem to support this: -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -// -// __builtin_unreachable: -#if defined(__has_builtin) && __has_builtin(__builtin_unreachable) -#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); -#endif - -#if (__clang_major__ == 3) && (__clang_minor__ == 0) -// Apparently a clang bug: -# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#endif - -// Clang has supported the 'unused' attribute since the first release. -#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) - -// Type aliasing hint. -#if __has_attribute(__may_alias__) -# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "Clang version " __clang_version__ -#endif - -// Macro used to identify the Clang compiler. -#define BOOST_CLANG 1 - +// (C) Copyright Douglas Gregor 2010 +// +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Clang compiler setup. + +#define BOOST_HAS_PRAGMA_ONCE + +// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. +#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) +# define BOOST_HAS_PRAGMA_DETECT_MISMATCH +#endif + +// When compiling with clang before __has_extension was defined, +// even if one writes 'defined(__has_extension) && __has_extension(xxx)', +// clang reports a compiler error. So the only workaround found is: + +#ifndef __has_extension +#define __has_extension __has_feature +#endif + +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#ifndef __has_cpp_attribute +#define __has_cpp_attribute(x) 0 +#endif + +#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) +# define BOOST_NO_TYPEID +#endif + +#if !__has_feature(cxx_thread_local) +# define BOOST_NO_CXX11_THREAD_LOCAL +#endif + +#ifdef __is_identifier +#if !__is_identifier(__int64) && !defined(__GNUC__) +# define BOOST_HAS_MS_INT64 +#endif +#endif + +#if __has_include() +# define BOOST_HAS_STDINT_H +#endif + +#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) +#if (__clang_major__ >= 4) && defined(__has_include) +#if __has_include() +# define BOOST_HAS_FLOAT128 +#endif +#endif +#endif + + +#define BOOST_HAS_NRVO + +// Branch prediction hints +#if !defined (__c2__) && defined(__has_builtin) +#if __has_builtin(__builtin_expect) +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) +#endif +#endif + +// Clang supports "long long" in all compilation modes. +#define BOOST_HAS_LONG_LONG + +// +// We disable this if the compiler is really nvcc with C++03 as it +// doesn't actually support __int128 as of CUDA_VERSION=7500 +// even though it defines __SIZEOF_INT128__. +// See https://svn.boost.org/trac/boost/ticket/10418 +// https://svn.boost.org/trac/boost/ticket/11852 +// Only re-enable this for nvcc if you're absolutely sure +// of the circumstances under which it's supported. +// Similarly __SIZEOF_INT128__ is defined when targetting msvc +// compatibility even though the required support functions are absent. +// +#if defined(__CUDACC__) +# if defined(BOOST_GCC_CXX11) +# define BOOST_NVCC_CXX11 +# else +# define BOOST_NVCC_CXX03 +# endif +#endif + +#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER) +# define BOOST_HAS_INT128 +#endif + + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) +# define BOOST_HAS_DECLSPEC +# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) +# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) +#else +# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_IMPORT +#endif + +// +// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through +// between switch labels. +// +#if __cplusplus >= 201103L && defined(__has_warning) +# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +# define BOOST_FALLTHROUGH [[clang::fallthrough]] +# endif +#endif + +#if !__has_feature(cxx_auto_type) +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif + +// +// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t +// +#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +#endif + +#if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__) +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#endif + +#if !__has_feature(cxx_constexpr) +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +#if !__has_feature(cxx_decltype) +# define BOOST_NO_CXX11_DECLTYPE +#endif + +#if !__has_feature(cxx_decltype_incomplete_return_types) +# define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +#if !__has_feature(cxx_defaulted_functions) +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#endif + +#if !__has_feature(cxx_deleted_functions) +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +#endif + +#if !__has_feature(cxx_explicit_conversions) +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +#if !__has_feature(cxx_default_function_template_args) +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif + +#if !__has_feature(cxx_generalized_initializers) +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +#if !__has_feature(cxx_lambdas) +# define BOOST_NO_CXX11_LAMBDAS +#endif + +#if !__has_feature(cxx_local_type_template_args) +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +#if !__has_feature(cxx_noexcept) +# define BOOST_NO_CXX11_NOEXCEPT +#endif + +#if !__has_feature(cxx_nullptr) +# define BOOST_NO_CXX11_NULLPTR +#endif + +#if !__has_feature(cxx_range_for) +# define BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +#if !__has_feature(cxx_raw_string_literals) +# define BOOST_NO_CXX11_RAW_LITERALS +#endif + +#if !__has_feature(cxx_reference_qualified_functions) +# define BOOST_NO_CXX11_REF_QUALIFIERS +#endif + +#if !__has_feature(cxx_generalized_initializers) +# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif + +#if !__has_feature(cxx_rvalue_references) +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +#if !__has_feature(cxx_strong_enums) +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +#if !__has_feature(cxx_static_assert) +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif + +#if !__has_feature(cxx_alias_templates) +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +#endif + +#if !__has_feature(cxx_unicode_literals) +# define BOOST_NO_CXX11_UNICODE_LITERALS +#endif + +#if !__has_feature(cxx_variadic_templates) +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif + +#if !__has_feature(cxx_user_literals) +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif + +#if !__has_feature(cxx_alignas) +# define BOOST_NO_CXX11_ALIGNAS +#endif + +#if !__has_feature(cxx_alignof) +# define BOOST_NO_CXX11_ALIGNOF +#endif + +#if !__has_feature(cxx_trailing_return) +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +#if !__has_feature(cxx_inline_namespaces) +# define BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +#if !__has_feature(cxx_override_control) +# define BOOST_NO_CXX11_FINAL +# define BOOST_NO_CXX11_OVERRIDE +#endif + +#if !__has_feature(cxx_unrestricted_unions) +# define BOOST_NO_CXX11_UNRESTRICTED_UNION +#endif + +#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif + +#if !__has_feature(__cxx_decltype_auto__) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif + +#if !__has_feature(__cxx_aggregate_nsdmi__) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif + +#if !__has_feature(__cxx_init_captures__) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif + +#if !__has_feature(__cxx_generic_lambdas__) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif + +// clang < 3.5 has a defect with dependent type, like following. +// +// template +// constexpr typename enable_if >::type foo(T &) +// { } // error: no return statement in constexpr function +// +// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. +// Therefore we don't care such case. +// +// Note that we can't check Clang version directly as the numbering system changes depending who's +// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) +// so instead verify that we have a feature that was introduced at the same time as working C++14 +// constexpr (generic lambda's in this case): +// +#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) +# define BOOST_NO_CXX14_CONSTEXPR +#endif + +#if !__has_feature(__cxx_return_type_deduction__) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif + +#if !__has_feature(__cxx_variable_templates__) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif + +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif + +// Clang 3.9+ in c++1z +#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L +# define BOOST_NO_CXX17_INLINE_VARIABLES +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif + +#if (__clang_major__ < 4) || (__cplusplus < 201406L) /* non-standard value that is greater than 201402, which is reported by clang 4.0.0 for C++1z */ +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#if __cplusplus < 201103L +#define BOOST_NO_CXX11_SFINAE_EXPR +#endif + +#if __cplusplus < 201400 +// All versions with __cplusplus above this value seem to support this: +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif + +// Unreachable code markup +#if defined(__has_builtin) +#if __has_builtin(__builtin_unreachable) +#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); +#endif +#endif + +// Deprecated symbol markup +#if __has_attribute(deprecated) +#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) +#endif + +#if (__clang_major__ == 3) && (__clang_minor__ == 0) +// Apparently a clang bug: +# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#endif + +// Clang has supported the 'unused' attribute since the first release. +#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) + +// Type aliasing hint. +#if __has_attribute(__may_alias__) +# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) +#endif + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "Clang version " __clang_version__ +#endif + +// Macro used to identify the Clang compiler. +#define BOOST_CLANG 1 + +// BOOST_CLANG_VERSION +#include diff --git a/external/include/boost_1_90_0/boost/config/compiler/clang_version.hpp b/external/include/boost_1_90_0/boost/config/compiler/clang_version.hpp new file mode 100644 index 0000000000..10ed898ccf --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/compiler/clang_version.hpp @@ -0,0 +1,89 @@ +// Copyright 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt) + +#if !defined(__apple_build_version__) + +# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100) + +#else +# define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100) + +// https://en.wikipedia.org/wiki/Xcode#Toolchain_versions + +# if BOOST_CLANG_REPORTED_VERSION >= 150000 +# define BOOST_CLANG_VERSION 160000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 140003 +# define BOOST_CLANG_VERSION 150000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 140000 +# define BOOST_CLANG_VERSION 140000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 130100 +# define BOOST_CLANG_VERSION 130000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 130000 +# define BOOST_CLANG_VERSION 120000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 120005 +# define BOOST_CLANG_VERSION 110100 + +# elif BOOST_CLANG_REPORTED_VERSION >= 120000 +# define BOOST_CLANG_VERSION 100000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 110003 +# define BOOST_CLANG_VERSION 90000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 110000 +# define BOOST_CLANG_VERSION 80000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 100001 +# define BOOST_CLANG_VERSION 70000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 100000 +# define BOOST_CLANG_VERSION 60001 + +# elif BOOST_CLANG_REPORTED_VERSION >= 90100 +# define BOOST_CLANG_VERSION 50002 + +# elif BOOST_CLANG_REPORTED_VERSION >= 90000 +# define BOOST_CLANG_VERSION 40000 + +# elif BOOST_CLANG_REPORTED_VERSION >= 80000 +# define BOOST_CLANG_VERSION 30900 + +# elif BOOST_CLANG_REPORTED_VERSION >= 70300 +# define BOOST_CLANG_VERSION 30800 + +# elif BOOST_CLANG_REPORTED_VERSION >= 70000 +# define BOOST_CLANG_VERSION 30700 + +# elif BOOST_CLANG_REPORTED_VERSION >= 60100 +# define BOOST_CLANG_VERSION 30600 + +# elif BOOST_CLANG_REPORTED_VERSION >= 60000 +# define BOOST_CLANG_VERSION 30500 + +# elif BOOST_CLANG_REPORTED_VERSION >= 50100 +# define BOOST_CLANG_VERSION 30400 + +# elif BOOST_CLANG_REPORTED_VERSION >= 50000 +# define BOOST_CLANG_VERSION 30300 + +# elif BOOST_CLANG_REPORTED_VERSION >= 40200 +# define BOOST_CLANG_VERSION 30200 + +# elif BOOST_CLANG_REPORTED_VERSION >= 30100 +# define BOOST_CLANG_VERSION 30100 + +# elif BOOST_CLANG_REPORTED_VERSION >= 20100 +# define BOOST_CLANG_VERSION 30000 + +# else +# define BOOST_CLANG_VERSION 20900 + +# endif + +# undef BOOST_CLANG_REPORTED_VERSION +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/codegear.hpp b/external/include/boost_1_90_0/boost/config/compiler/codegear.hpp similarity index 95% rename from external/include/boost_1_75/boost/config/compiler/codegear.hpp rename to external/include/boost_1_90_0/boost/config/compiler/codegear.hpp index 77949aaf46..5869c4f656 100644 --- a/external/include/boost_1_75/boost/config/compiler/codegear.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/codegear.hpp @@ -1,384 +1,389 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// CodeGear C++ compiler setup: - -// -// versions check: -// last known and checked version is 0x740 -#if (__CODEGEARC__ > 0x740) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# else -# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") -# endif -#endif - -#ifdef __clang__ // Clang enhanced Windows compiler - -# include "clang.hpp" -# define BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR - -// This bug has been reported to Embarcadero - -#if defined(BOOST_HAS_INT128) -#undef BOOST_HAS_INT128 -#endif -#if defined(BOOST_HAS_FLOAT128) -#undef BOOST_HAS_FLOAT128 -#endif - -// The clang-based compilers can not do 128 atomic exchanges - -#define BOOST_ATOMIC_NO_CMPXCHG16B - -// 32 functions are missing from the current RTL in cwchar, so it really can not be used even if it exists - -# define BOOST_NO_CWCHAR - -# ifndef __MT__ /* If compiling in single-threaded mode, assume there is no CXX11_HDR_ATOMIC */ -# define BOOST_NO_CXX11_HDR_ATOMIC -# endif - -/* temporarily disable this until we can link against fegetround fesetround feholdexcept */ - -#define BOOST_NO_FENV_H - -/* Reported this bug to Embarcadero with the latest C++ Builder Rio release */ - -#define BOOST_NO_CXX11_HDR_EXCEPTION - -// -// check for exception handling support: -// -#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -/* - -// On non-Win32 platforms let the platform config figure this out: -#ifdef _WIN32 -# define BOOST_HAS_STDINT_H -#endif - -// -// __int64: -// -#if !defined(__STRICT_ANSI__) -# define BOOST_HAS_MS_INT64 -#endif -// -// all versions have a : -// -#if !defined(__STRICT_ANSI__) -# define BOOST_HAS_DIRENT_H -#endif -// -// Disable Win32 support in ANSI mode: -// -# pragma defineonoption BOOST_DISABLE_WIN32 -A -// -// MSVC compatibility mode does some nasty things: -// TODO: look up if this doesn't apply to the whole 12xx range -// -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_VOID_RETURNS -#endif -// - -*/ - -// Specific settings for Embarcadero drivers -# define BOOST_EMBTC __CODEGEARC__ -# define BOOST_EMBTC_FULL_VER ((__clang_major__ << 16) | \ - (__clang_minor__ << 8) | \ - __clang_patchlevel__ ) - -// Detecting which Embarcadero driver is being used -#if defined(BOOST_EMBTC) -# if defined(_WIN64) -# define BOOST_EMBTC_WIN64 1 -# define BOOST_EMBTC_WINDOWS 1 -# ifndef BOOST_USE_WINDOWS_H -# define BOOST_USE_WINDOWS_H -# endif -# elif defined(_WIN32) -# define BOOST_EMBTC_WIN32C 1 -# define BOOST_EMBTC_WINDOWS 1 -# ifndef BOOST_USE_WINDOWS_H -# define BOOST_USE_WINDOWS_H -# endif -# elif defined(__APPLE__) && defined(__arm__) -# define BOOST_EMBTC_IOSARM 1 -# define BOOST_EMBTC_IOS 1 -# elif defined(__APPLE__) && defined(__aarch64__) -# define BOOST_EMBTC_IOSARM64 1 -# define BOOST_EMBTC_IOS 1 -# elif defined(__ANDROID__) && defined(__arm__) -# define BOOST_EMBTC_AARM 1 -# define BOOST_EMBTC_ANDROID 1 -# elif -# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown Embarcadero driver" -# else -# warning "Unknown Embarcadero driver" -# endif /* defined(BOOST_ASSERT_CONFIG) */ -# endif -#endif /* defined(BOOST_EMBTC) */ - -#if defined(BOOST_EMBTC_WINDOWS) - -#if !defined(_chdir) -#define _chdir(x) chdir(x) -#endif - -#if !defined(_dup2) -#define _dup2(x,y) dup2(x,y) -#endif - -#endif - -# undef BOOST_COMPILER -# define BOOST_COMPILER "Embarcadero-Clang C++ version " BOOST_STRINGIZE(__CODEGEARC__) " clang: " __clang_version__ -// # define __CODEGEARC_CLANG__ __CODEGEARC__ -// # define __EMBARCADERO_CLANG__ __CODEGEARC__ -// # define __BORLANDC_CLANG__ __BORLANDC__ - -#else // #if !defined(__clang__) - -# define BOOST_CODEGEARC __CODEGEARC__ -# define BOOST_BORLANDC __BORLANDC__ - -#if !defined( BOOST_WITH_CODEGEAR_WARNINGS ) -// these warnings occur frequently in optimized template code -# pragma warn -8004 // var assigned value, but never used -# pragma warn -8008 // condition always true/false -# pragma warn -8066 // dead code can never execute -# pragma warn -8104 // static members with ctors not threadsafe -# pragma warn -8105 // reference member in class without ctors -#endif - -// CodeGear C++ Builder 2009 -#if (__CODEGEARC__ <= 0x613) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE - // we shouldn't really need this - but too many things choke - // without it, this needs more investigation: -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_SP_NO_SP_CONVERTIBLE -#endif - -// CodeGear C++ Builder 2010 -#if (__CODEGEARC__ <= 0x621) -# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member -# define BOOST_NO_USING_TEMPLATE -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -// Temporary hack, until specific MPL preprocessed headers are generated -# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -// CodeGear has not yet completely implemented value-initialization, for -// example for array types, as I reported in 2010: Embarcadero Report 83751, -// "Value-initialization: arrays should have each element value-initialized", -// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751 -// Last checked version: Embarcadero C++ 6.21 -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -// (Niels Dekker, LKEB, April 2010) -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION - -# if defined(NDEBUG) && defined(__cplusplus) - // fix broken so that Boost.test works: -# include -# undef strcmp -# endif - // fix broken errno declaration: -# include -# ifndef errno -# define errno errno -# endif - -#endif - -// Reportedly, #pragma once is supported since C++ Builder 2010 -#if (__CODEGEARC__ >= 0x620) -# define BOOST_HAS_PRAGMA_ONCE -#endif - -#define BOOST_NO_FENV_H - -// -// C++0x macros: -// -#if (__CODEGEARC__ <= 0x620) -#define BOOST_NO_CXX11_STATIC_ASSERT -#else -#define BOOST_HAS_STATIC_ASSERT -#endif -#define BOOST_HAS_CHAR16_T -#define BOOST_HAS_CHAR32_T -#define BOOST_HAS_LONG_LONG -// #define BOOST_HAS_ALIGNOF -#define BOOST_HAS_DECLTYPE -#define BOOST_HAS_EXPLICIT_CONVERSION_OPS -// #define BOOST_HAS_RVALUE_REFS -#define BOOST_HAS_SCOPED_ENUM -// #define BOOST_HAS_STATIC_ASSERT -#define BOOST_HAS_STD_TYPE_TRAITS - -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif - -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif - -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif - -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -// -// TR1 macros: -// -#define BOOST_HAS_TR1_HASH -#define BOOST_HAS_TR1_TYPE_TRAITS -#define BOOST_HAS_TR1_UNORDERED_MAP -#define BOOST_HAS_TR1_UNORDERED_SET - -#define BOOST_HAS_MACRO_USE_FACET - -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST - -// On non-Win32 platforms let the platform config figure this out: -#ifdef _WIN32 -# define BOOST_HAS_STDINT_H -#endif - -// -// __int64: -// -#if !defined(__STRICT_ANSI__) -# define BOOST_HAS_MS_INT64 -#endif -// -// check for exception handling support: -// -#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif -// -// all versions have a : -// -#if !defined(__STRICT_ANSI__) -# define BOOST_HAS_DIRENT_H -#endif -// -// all versions support __declspec: -// -#if defined(__STRICT_ANSI__) -// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined -# define BOOST_SYMBOL_EXPORT -#endif -// -// ABI fixing headers: -// -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" -#endif -// -// Disable Win32 support in ANSI mode: -// -# pragma defineonoption BOOST_DISABLE_WIN32 -A -// -// MSVC compatibility mode does some nasty things: -// TODO: look up if this doesn't apply to the whole 12xx range -// -#if defined(_MSC_VER) && (_MSC_VER <= 1200) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# define BOOST_NO_VOID_RETURNS -#endif - -#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__) - -#endif // #if !defined(__clang__) +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// CodeGear C++ compiler setup: + +// +// versions check: +// last known and checked version is 0x740 +#if (__CODEGEARC__ > 0x740) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# else +# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") +# endif +#endif + +#ifdef __clang__ // Clang enhanced Windows compiler + +# include "clang.hpp" +# define BOOST_NO_CXX11_THREAD_LOCAL +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR + +// This bug has been reported to Embarcadero + +#if defined(BOOST_HAS_INT128) +#undef BOOST_HAS_INT128 +#endif +#if defined(BOOST_HAS_FLOAT128) +#undef BOOST_HAS_FLOAT128 +#endif + +// The clang-based compilers can not do 128 atomic exchanges + +#define BOOST_ATOMIC_NO_CMPXCHG16B + +// 32 functions are missing from the current RTL in cwchar, so it really can not be used even if it exists + +# define BOOST_NO_CWCHAR + +# ifndef __MT__ /* If compiling in single-threaded mode, assume there is no CXX11_HDR_ATOMIC */ +# define BOOST_NO_CXX11_HDR_ATOMIC +# endif + +/* temporarily disable this until we can link against fegetround fesetround feholdexcept */ + +#define BOOST_NO_FENV_H + +/* Reported this bug to Embarcadero with the latest C++ Builder Rio release */ + +#define BOOST_NO_CXX11_HDR_EXCEPTION + +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +/* + +// On non-Win32 platforms let the platform config figure this out: +#ifdef _WIN32 +# define BOOST_HAS_STDINT_H +#endif + +// +// __int64: +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_MS_INT64 +#endif +// +// all versions have a : +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_DIRENT_H +#endif +// +// Disable Win32 support in ANSI mode: +// +# pragma defineonoption BOOST_DISABLE_WIN32 -A +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_VOID_RETURNS +#endif +// + +*/ + +// Specific settings for Embarcadero drivers +# define BOOST_EMBTC __CODEGEARC__ +# define BOOST_EMBTC_FULL_VER ((__clang_major__ << 16) | \ + (__clang_minor__ << 8) | \ + __clang_patchlevel__ ) + +// Detecting which Embarcadero driver is being used +#if defined(BOOST_EMBTC) +# if defined(_WIN64) +# define BOOST_EMBTC_WIN64 1 +# define BOOST_EMBTC_WINDOWS 1 +# ifndef BOOST_USE_WINDOWS_H +# define BOOST_USE_WINDOWS_H +# endif +# elif defined(_WIN32) +# define BOOST_EMBTC_WIN32C 1 +# define BOOST_EMBTC_WINDOWS 1 +# ifndef BOOST_USE_WINDOWS_H +# define BOOST_USE_WINDOWS_H +# endif +# elif defined(__APPLE__) && defined(__arm__) +# define BOOST_EMBTC_IOSARM 1 +# define BOOST_EMBTC_IOS 1 +# elif defined(__APPLE__) && defined(__aarch64__) +# define BOOST_EMBTC_IOSARM64 1 +# define BOOST_EMBTC_IOS 1 +# elif defined(__ANDROID__) && defined(__arm__) +# define BOOST_EMBTC_AARM 1 +# define BOOST_EMBTC_ANDROID 1 +# elif +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown Embarcadero driver" +# else +# warning "Unknown Embarcadero driver" +# endif /* defined(BOOST_ASSERT_CONFIG) */ +# endif +#endif /* defined(BOOST_EMBTC) */ + +#if defined(BOOST_EMBTC_WINDOWS) + +#if !defined(_chdir) +#define _chdir(x) chdir(x) +#endif + +#if !defined(_dup2) +#define _dup2(x,y) dup2(x,y) +#endif + +#endif + +# undef BOOST_COMPILER +# define BOOST_COMPILER "Embarcadero-Clang C++ version " BOOST_STRINGIZE(__CODEGEARC__) " clang: " __clang_version__ +// # define __CODEGEARC_CLANG__ __CODEGEARC__ +// # define __EMBARCADERO_CLANG__ __CODEGEARC__ +// # define __BORLANDC_CLANG__ __BORLANDC__ + +#else // #if !defined(__clang__) + +# define BOOST_CODEGEARC __CODEGEARC__ +# define BOOST_BORLANDC __BORLANDC__ + +#if !defined( BOOST_WITH_CODEGEAR_WARNINGS ) +// these warnings occur frequently in optimized template code +# pragma warn -8004 // var assigned value, but never used +# pragma warn -8008 // condition always true/false +# pragma warn -8066 // dead code can never execute +# pragma warn -8104 // static members with ctors not threadsafe +# pragma warn -8105 // reference member in class without ctors +#endif + +// CodeGear C++ Builder 2009 +#if (__CODEGEARC__ <= 0x613) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_PRIVATE_IN_AGGREGATE +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE + // we shouldn't really need this - but too many things choke + // without it, this needs more investigation: +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_SP_NO_SP_CONVERTIBLE +#endif + +// CodeGear C++ Builder 2010 +#if (__CODEGEARC__ <= 0x621) +# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member +# define BOOST_NO_USING_TEMPLATE +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +// Temporary hack, until specific MPL preprocessed headers are generated +# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +// CodeGear has not yet completely implemented value-initialization, for +// example for array types, as I reported in 2010: Embarcadero Report 83751, +// "Value-initialization: arrays should have each element value-initialized", +// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751 +// Last checked version: Embarcadero C++ 6.21 +// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues +// (Niels Dekker, LKEB, April 2010) +# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION + +# if defined(NDEBUG) && defined(__cplusplus) + // fix broken so that Boost.test works: +# include +# undef strcmp +# endif + // fix broken errno declaration: +# include +# ifndef errno +# define errno errno +# endif + +#endif + +// Reportedly, #pragma once is supported since C++ Builder 2010 +#if (__CODEGEARC__ >= 0x620) +# define BOOST_HAS_PRAGMA_ONCE +#endif + +#define BOOST_NO_FENV_H + +// +// C++0x macros: +// +#if (__CODEGEARC__ <= 0x620) +#define BOOST_NO_CXX11_STATIC_ASSERT +#else +#define BOOST_HAS_STATIC_ASSERT +#endif +#define BOOST_HAS_CHAR16_T +#define BOOST_HAS_CHAR32_T +#define BOOST_HAS_LONG_LONG +// #define BOOST_HAS_ALIGNOF +#define BOOST_HAS_DECLTYPE +#define BOOST_HAS_EXPLICIT_CONVERSION_OPS +// #define BOOST_HAS_RVALUE_REFS +#define BOOST_HAS_SCOPED_ENUM +// #define BOOST_HAS_STATIC_ASSERT +#define BOOST_HAS_STD_TYPE_TRAITS + +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXTERN_TEMPLATE +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif + +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif + +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif + +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif + +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +// +// TR1 macros: +// +#define BOOST_HAS_TR1_HASH +#define BOOST_HAS_TR1_TYPE_TRAITS +#define BOOST_HAS_TR1_UNORDERED_MAP +#define BOOST_HAS_TR1_UNORDERED_SET + +#define BOOST_HAS_MACRO_USE_FACET + +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST + +// On non-Win32 platforms let the platform config figure this out: +#ifdef _WIN32 +# define BOOST_HAS_STDINT_H +#endif + +// +// __int64: +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a : +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#if defined(__STRICT_ANSI__) +// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined +# define BOOST_SYMBOL_EXPORT +#endif +// +// ABI fixing headers: +// +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +// +// Disable Win32 support in ANSI mode: +// +# pragma defineonoption BOOST_DISABLE_WIN32 -A +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_VOID_RETURNS +#endif + +#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__) + +#endif // #if !defined(__clang__) diff --git a/external/include/boost_1_75/boost/config/compiler/comeau.hpp b/external/include/boost_1_90_0/boost/config/compiler/comeau.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/compiler/comeau.hpp rename to external/include/boost_1_90_0/boost/config/compiler/comeau.hpp index ca80fac37a..1b39de22a3 100644 --- a/external/include/boost_1_75/boost/config/compiler/comeau.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/comeau.hpp @@ -1,59 +1,59 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Douglas Gregor 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// (C) Copyright Beman Dawes 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Comeau C++ compiler setup: - -#include - -#if (__COMO_VERSION__ <= 4245) - -# if defined(_MSC_VER) && _MSC_VER <= 1300 -# if _MSC_VER > 100 - // only set this in non-strict mode: -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -# endif -# endif - -// Void returns don't work when emulating VC 6 (Peter Dimov) -// TODO: look up if this doesn't apply to the whole 12xx range -# if defined(_MSC_VER) && (_MSC_VER < 1300) -# define BOOST_NO_VOID_RETURNS -# endif - -#endif // version 4245 - -// -// enable __int64 support in VC emulation mode -// -# if defined(_MSC_VER) && (_MSC_VER >= 1200) -# define BOOST_HAS_MS_INT64 -# endif - -#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) - -// -// versions check: -// we don't know Comeau prior to version 4245: -#if __COMO_VERSION__ < 4245 -# error "Compiler not configured - please reconfigure" -#endif -// -// last known and checked version is 4245: -#if (__COMO_VERSION__ > 4245) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - +// (C) Copyright John Maddock 2001. +// (C) Copyright Douglas Gregor 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Aleksey Gurtovoy 2003. +// (C) Copyright Beman Dawes 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Comeau C++ compiler setup: + +#include + +#if (__COMO_VERSION__ <= 4245) + +# if defined(_MSC_VER) && _MSC_VER <= 1300 +# if _MSC_VER > 100 + // only set this in non-strict mode: +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# endif +# endif + +// Void returns don't work when emulating VC 6 (Peter Dimov) +// TODO: look up if this doesn't apply to the whole 12xx range +# if defined(_MSC_VER) && (_MSC_VER < 1300) +# define BOOST_NO_VOID_RETURNS +# endif + +#endif // version 4245 + +// +// enable __int64 support in VC emulation mode +// +# if defined(_MSC_VER) && (_MSC_VER >= 1200) +# define BOOST_HAS_MS_INT64 +# endif + +#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) + +// +// versions check: +// we don't know Comeau prior to version 4245: +#if __COMO_VERSION__ < 4245 +# error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4245: +#if (__COMO_VERSION__ > 4245) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + diff --git a/external/include/boost_1_75/boost/config/compiler/common_edg.hpp b/external/include/boost_1_90_0/boost/config/compiler/common_edg.hpp similarity index 78% rename from external/include/boost_1_75/boost/config/compiler/common_edg.hpp rename to external/include/boost_1_90_0/boost/config/compiler/common_edg.hpp index 6597cd2ac0..44c1854318 100644 --- a/external/include/boost_1_75/boost/config/compiler/common_edg.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/common_edg.hpp @@ -1,162 +1,185 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright Markus Schoepflin 2005. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// -// Options common to all edg based compilers. -// -// This is included from within the individual compiler mini-configs. - -#ifndef __EDG_VERSION__ -# error This file requires that __EDG_VERSION__ be defined. -#endif - -#if (__EDG_VERSION__ <= 238) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_SFINAE -#endif - -#if (__EDG_VERSION__ <= 240) -# define BOOST_NO_VOID_RETURNS -#endif - -#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) -# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -#endif - -#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) -# define BOOST_NO_TEMPLATE_TEMPLATES -#endif - -#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) -# define BOOST_NO_IS_ABSTRACT -#endif - -#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// See also kai.hpp which checks a Kai-specific symbol for EH -# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -# if !defined(__NO_LONG_LONG) -# define BOOST_HAS_LONG_LONG -# else -# define BOOST_NO_LONG_LONG -# endif - -// Not sure what version was the first to support #pragma once, but -// different EDG-based compilers (e.g. Intel) supported it for ages. -// Add a proper version check if it causes problems. -#define BOOST_HAS_PRAGMA_ONCE - -// -// C++0x features -// -// See above for BOOST_NO_LONG_LONG -// -#if (__EDG_VERSION__ < 310) -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -#endif -#if (__EDG_VERSION__ <= 310) -// No support for initializer lists -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif -#if (__EDG_VERSION__ < 400) -# define BOOST_NO_CXX11_VARIADIC_MACROS -#endif - -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif - -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#ifdef c_plusplus -// EDG has "long long" in non-strict mode -// However, some libraries have insufficient "long long" support -// #define BOOST_HAS_LONG_LONG -#endif +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright Markus Schoepflin 2005. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// +// Options common to all edg based compilers. +// +// This is included from within the individual compiler mini-configs. + +#ifndef __EDG_VERSION__ +# error This file requires that __EDG_VERSION__ be defined. +#endif + +#if (__EDG_VERSION__ <= 238) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_SFINAE +#endif + +#if (__EDG_VERSION__ <= 240) +# define BOOST_NO_VOID_RETURNS +#endif + +#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#endif + +#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) +# define BOOST_NO_TEMPLATE_TEMPLATES +#endif + +#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) +# define BOOST_NO_IS_ABSTRACT +#endif + +#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// See also kai.hpp which checks a Kai-specific symbol for EH +# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +# endif + +# if !defined(__NO_LONG_LONG) +# define BOOST_HAS_LONG_LONG +# else +# define BOOST_NO_LONG_LONG +# endif + +// Not sure what version was the first to support #pragma once, but +// different EDG-based compilers (e.g. Intel) supported it for ages. +// Add a proper version check if it causes problems. +#define BOOST_HAS_PRAGMA_ONCE + +// +// C++0x features +// +// See above for BOOST_NO_LONG_LONG +// +#if (__EDG_VERSION__ < 310) +# define BOOST_NO_CXX11_EXTERN_TEMPLATE +#endif +#if (__EDG_VERSION__ <= 310) +// No support for initializer lists +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif +#if (__EDG_VERSION__ < 400) +# define BOOST_NO_CXX11_VARIADIC_MACROS +#endif + +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +//__cpp_decltype 200707 possibly? +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 + +#if !defined(__cpp_unicode_characters) || (__cpp_unicode_characters < 200704) +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +#endif +#if !defined(__cpp_unicode_literals) || (__cpp_unicode_literals < 200710) +# define BOOST_NO_CXX11_UNICODE_LITERALS +#endif +#if !defined(__cpp_user_defined_literals) || (__cpp_user_defined_literals < 200809) +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif +#if !defined(__cpp_variadic_templates) || (__cpp_variadic_templates < 200704) +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 200907) +# define BOOST_NO_CXX11_CONSTEXPR +#endif +#if !defined(__cpp_lambdas) || (__cpp_lambdas < 200907) +# define BOOST_NO_CXX11_LAMBDAS +#endif +#if !defined(__cpp_range_based_for) || (__cpp_range_based_for < 200710) +# define BOOST_NO_CXX11_RANGE_BASED_FOR +#endif +#if !defined(__cpp_raw_strings) || (__cpp_raw_strings < 200610) +# define BOOST_NO_CXX11_RAW_LITERALS +#endif + + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#ifdef c_plusplus +// EDG has "long long" in non-strict mode +// However, some libraries have insufficient "long long" support +// #define BOOST_HAS_LONG_LONG +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/compaq_cxx.hpp b/external/include/boost_1_90_0/boost/config/compiler/compaq_cxx.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/compiler/compaq_cxx.hpp rename to external/include/boost_1_90_0/boost/config/compiler/compaq_cxx.hpp index 4d6b8ab3ac..f809ff8b06 100644 --- a/external/include/boost_1_75/boost/config/compiler/compaq_cxx.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/compaq_cxx.hpp @@ -1,19 +1,19 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Tru64 C++ compiler setup (now HP): - -#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER) - -#include - -// -// versions check: -// Nothing to do here? - - - +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Tru64 C++ compiler setup (now HP): + +#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER) + +#include + +// +// versions check: +// Nothing to do here? + + + diff --git a/external/include/boost_1_90_0/boost/config/compiler/cray.hpp b/external/include/boost_1_90_0/boost/config/compiler/cray.hpp new file mode 100644 index 0000000000..7ad5b54b0a --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/compiler/cray.hpp @@ -0,0 +1,446 @@ +// Copyright 2011 John Maddock +// Copyright 2013, 2017-2018 Cray, Inc. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Cray C++ compiler setup. +// +// There are a few parameters that affect the macros defined in this file: +// +// - What version of CCE (Cray Compiling Environment) are we running? This +// comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and +// '_RELEASE_PATCHLEVEL' macros. +// - What C++ standards conformance level are we using (e.g. '-h +// std=c++14')? This comes from the '__cplusplus' macro. +// - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h +// gnu' then CCE emulates GCC, and the macros '__GNUC__', +// '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined. +// +// This file is organized as follows: +// +// - Verify that the combination of parameters listed above is supported. +// If we have an unsupported combination, we abort with '#error'. +// - Establish baseline values for all Boost macros. +// - Apply changes to the baseline macros based on compiler version. These +// changes are cummulative so each version section only describes the +// changes since the previous version. +// - Within each version section, we may also apply changes based on +// other parameters (i.e. C++ standards conformance level and GCC +// extensions). +// +// To test changes to this file: +// +// ``` +// module load cce/8.6.5 # Pick the version you want to test. +// cd boost/libs/config/test/all +// b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt +// ``` +// Note: Using 'cxxstd-dialect=iso' is not supported at this time (the +// tests run, but many tests fail). +// +// Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise +// you get an 'undefined reference to clock_gettime' error. +// +// Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is +// reported as a defect. However, this is not actually a defect. This is an +// area where the test system is somewhat broken. Tests that are failing +// because of this problem are noted in the comments. +// +// Pay attention to the macro definitions for the macros you wish to +// modify. For example, only macros categorized as compiler macros should +// appear in this file; platform macros should not appear in this file. +// Also, some macros have to be defined to specific values; it is not +// always enough to define or undefine a macro. +// +// Macro definitions are available in the source code at: +// +// `boost/libs/config/doc/html/boost_config/boost_macro_reference.html` +// +// Macro definitions are also available online at: +// +// http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html +// +// Typically, if you enable a feature, and the tests pass, then you have +// nothing to worry about. However, it's sometimes hard to figure out if a +// disabled feature needs to stay disabled. To get a list of disabled +// features, run 'b2' in 'boost/libs/config/checks'. These are the macros +// you should pay attention to (in addition to macros that cause test +// failures). + +//// +//// Front matter +//// + +// In a developer build of the Cray compiler (i.e. a compiler built by a +// Cray employee), the release patch level is reported as "x". This gives +// versions that look like e.g. "8.6.x". +// +// To accomplish this, the the Cray compiler preprocessor inserts: +// +// #define _RELEASE_PATCHLEVEL x +// +// If we are using a developer build of the compiler, we want to use the +// configuration macros for the most recent patch level of the release. To +// accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99. +// +// However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must +// consider that the x will be expanded if x is defined as a macro +// elsewhere. For example, imagine if someone put "-D x=3" on the command +// line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would +// expand to 3, and we could not distinguish it from an actual +// _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in +// production builds, _RELEASE_PATCHLEVEL is always an integer. +// +// IMPORTANT: In developer builds, if x is defined as a macro, you will get +// an incorrect configuration. The behavior in this case is undefined. +// +// Even if x is not defined, we have to use some trickery to detect if +// _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary +// magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the +// expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_". +// +// - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_". +// - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5". +// - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get +// "BOOST_CRAY_x": +// +// Then we check if BOOST_CRAY_x is equal to the output of +// BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is +// treated as a macro name, and expanded again. If we can safely assume +// that BOOST_CRAY_ is not a macro defined as our magic number, and +// BOOST_CRAY_5 is not a macro defined as our magic number, then the only +// way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x. +// +// So, that is how we detect if we are using a developer build of the Cray +// compiler. + +#define BOOST_CRAY_x 9867657 // Arbitrary number +#define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO) +#define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO + +#if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL) + + // This is a developer build. + // + // - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro. + + // Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the + // most recent patch level in this release. + + #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99) + +#else + + // This is a production build. + // + // _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro. + + #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL) + +#endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL) + +#undef BOOST_CRAY_APPEND_INTERNAL +#undef BOOST_CRAY_APPEND +#undef BOOST_CRAY_x + + +#ifdef __GNUC__ +# define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL) +#endif + +// Since the Cray compiler defines '__GNUC__', we have to emulate some +// additional GCC macros in order to make everything work. +// +// FIXME: Perhaps Cray should fix the compiler to define these additional +// macros for GCC emulation? + +#if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define __GXX_EXPERIMENTAL_CXX0X__ 1 +#endif + +//// +//// Parameter validation +//// + +// FIXME: Do we really need to support compilers before 8.5? Do they pass +// the Boost.Config tests? + +#if BOOST_CRAY_VERSION < 80000 +# error "Boost is not configured for Cray compilers prior to version 8, please try the configure script." +#endif + +// We only support recent EDG based compilers. + +#ifndef __EDG__ +# error "Unsupported Cray compiler, please try running the configure script." +#endif + +//// +//// Baseline values +//// + +#include + +#define BOOST_HAS_NRVO +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_CHAR32_T +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_VARIADIC_MACROS +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_UNRESTRICTED_UNION +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP + +//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +#define BOOST_MATH_DISABLE_STD_FPCLASSIFY +//#define BOOST_HAS_FPCLASSIFY + +#define BOOST_SP_USE_PTHREADS +#define BOOST_AC_USE_PTHREADS + +// +// Everything that follows is working around what are thought to be +// compiler shortcomings. Revist all of these regularly. +// + +//#define BOOST_USE_ENUM_STATIC_ASSERT +//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define + +// These constants should be provided by the compiler. + +#ifndef __ATOMIC_RELAXED +#define __ATOMIC_RELAXED 0 +#define __ATOMIC_CONSUME 1 +#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_RELEASE 3 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_SEQ_CST 5 +#endif + +//// +//// Version changes +//// + +// +// 8.5.0 +// + +#if BOOST_CRAY_VERSION >= 80500 + +#if __cplusplus >= 201103L + +#undef BOOST_HAS_NRVO +#undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION +#undef BOOST_NO_CXX11_AUTO_DECLARATIONS +#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#undef BOOST_NO_CXX11_CHAR16_T +#undef BOOST_NO_CXX11_CHAR32_T +#undef BOOST_NO_CXX11_CONSTEXPR +#undef BOOST_NO_CXX11_DECLTYPE +#undef BOOST_NO_CXX11_DECLTYPE_N3276 +#undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#undef BOOST_NO_CXX11_DELETED_FUNCTIONS +#undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#undef BOOST_NO_CXX11_FINAL +#undef BOOST_NO_CXX11_OVERRIDE +#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#undef BOOST_NO_CXX11_LAMBDAS +#undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#undef BOOST_NO_CXX11_NOEXCEPT +#undef BOOST_NO_CXX11_NULLPTR +#undef BOOST_NO_CXX11_RANGE_BASED_FOR +#undef BOOST_NO_CXX11_RAW_LITERALS +#undef BOOST_NO_CXX11_REF_QUALIFIERS +#undef BOOST_NO_CXX11_RVALUE_REFERENCES +#undef BOOST_NO_CXX11_SCOPED_ENUMS +#undef BOOST_NO_CXX11_SFINAE_EXPR +#undef BOOST_NO_CXX11_STATIC_ASSERT +#undef BOOST_NO_CXX11_TEMPLATE_ALIASES +#undef BOOST_NO_CXX11_THREAD_LOCAL +#undef BOOST_NO_CXX11_UNICODE_LITERALS +#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#undef BOOST_NO_CXX11_USER_DEFINED_LITERALS +#undef BOOST_NO_CXX11_VARIADIC_MACROS +#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES +#undef BOOST_NO_CXX11_UNRESTRICTED_UNION +#undef BOOST_NO_SFINAE_EXPR +#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP +#undef BOOST_MATH_DISABLE_STD_FPCLASSIFY +#undef BOOST_SP_USE_PTHREADS +#undef BOOST_AC_USE_PTHREADS + +#define BOOST_HAS_VARIADIC_TMPL +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG +#define BOOST_HAS_TR1_COMPLEX_OVERLOADS +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_STATIC_ASSERT +#define BOOST_HAS_SIGACTION +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_RVALUE_REFS +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_PTHREAD_YIELD +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#define BOOST_HAS_NRVO +#define BOOST_HAS_NL_TYPES_H +#define BOOST_HAS_NANOSLEEP +#define BOOST_NO_CXX11_SMART_PTR +#define BOOST_NO_CXX11_HDR_FUNCTIONAL +#define BOOST_NO_CXX14_CONSTEXPR +#define BOOST_HAS_LONG_LONG +#define BOOST_HAS_FLOAT128 + +#if __cplusplus < 201402L +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif // __cplusplus < 201402L + +#endif // __cplusplus >= 201103L + +#endif // BOOST_CRAY_VERSION >= 80500 + +// +// 8.6.4 +// (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL) +// + +#if BOOST_CRAY_VERSION >= 80600 + +#if __cplusplus >= 199711L +#define BOOST_HAS_FLOAT128 +#define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results. +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run. +#undef BOOST_NO_CXX11_CHAR16_T +#undef BOOST_NO_CXX11_CHAR32_T +#undef BOOST_NO_CXX11_INLINE_NAMESPACES +#undef BOOST_NO_CXX11_FINAL +#undef BOOST_NO_CXX11_OVERRIDE +#undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails. +#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#undef BOOST_NO_CXX11_VARIADIC_MACROS +#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES +// 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled / +// disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However, +// 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that +// 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as +// depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying +// 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run. +// +// The 'no_ded_typename_pass.cpp' test should always compile and run +// successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an +// appropriate value (it's not just something that you turn on or off). +// Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME', +// you have to modify 'no_ded_typename_pass.cpp' to unconditionally include +// 'boost_no_ded_typename.ipp'. +#undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken. +#undef BOOST_NO_SFINAE_EXPR +#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif // __cplusplus >= 199711L + +#if __cplusplus >= 201103L +#undef BOOST_NO_CXX11_ALIGNAS +#undef BOOST_NO_CXX11_ALIGNOF +#undef BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_HDR_ATOMIC +#undef BOOST_NO_CXX11_HDR_FUNCTIONAL +#define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run. +#undef BOOST_NO_CXX11_SFINAE_EXPR +#undef BOOST_NO_CXX11_SMART_PTR +#undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif // __cplusplus >= 201103L + +#if __cplusplus >= 201402L +#undef BOOST_NO_CXX14_CONSTEXPR +#define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif // __cplusplus == 201402L + +#endif // BOOST_CRAY_VERSION >= 80600 + +// +// 8.6.5 +// (no change from 8.6.4) +// + +// +// 8.7.0 +// + +#if BOOST_CRAY_VERSION >= 80700 + +#if __cplusplus >= 199711L +#endif // __cplusplus >= 199711L + +#if __cplusplus >= 201103L +#undef BOOST_NO_CXX11_HDR_ATOMIC +#undef BOOST_NO_CXX11_HDR_REGEX +#endif // __cplusplus >= 201103L + +#if __cplusplus >= 201402L +#endif // __cplusplus == 201402L + +#endif // BOOST_CRAY_VERSION >= 80700 + +// +// Next release +// + +#if BOOST_CRAY_VERSION > 80799 + +#if __cplusplus >= 199711L +#endif // __cplusplus >= 199711L + +#if __cplusplus >= 201103L +#endif // __cplusplus >= 201103L + +#if __cplusplus >= 201402L +#endif // __cplusplus == 201402L + +#endif // BOOST_CRAY_VERSION > 80799 + +//// +//// Remove temporary macros +//// + +// I've commented out some '#undef' statements to signify that we purposely +// want to keep certain macros. + +//#undef __GXX_EXPERIMENTAL_CXX0X__ +//#undef BOOST_COMPILER +#undef BOOST_GCC_VERSION +#undef BOOST_CRAY_VERSION diff --git a/external/include/boost_1_75/boost/config/compiler/diab.hpp b/external/include/boost_1_90_0/boost/config/compiler/diab.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/compiler/diab.hpp rename to external/include/boost_1_90_0/boost/config/compiler/diab.hpp index 943db83fd6..a425abea11 100644 --- a/external/include/boost_1_75/boost/config/compiler/diab.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/diab.hpp @@ -1,26 +1,26 @@ -// (C) Copyright Brian Kuhl 2016. -// Use, modification and distribution are subject to 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) - -// Check this is a recent EDG based compiler, otherwise we don't support it here: - - -#ifndef __EDG_VERSION__ -# error "Unknown Diab compiler version - please run the configure tests and report the results" -#endif - -#include "boost/config/compiler/common_edg.hpp" - -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS - -#define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE -#define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS -#define BOOST_REGEX_NO_EXTERNAL_TEMPLATES - -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_HDR_CODECVT -#define BOOST_NO_CXX11_NUMERIC_LIMITS - -#define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__) +// (C) Copyright Brian Kuhl 2016. +// Use, modification and distribution are subject to 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) + +// Check this is a recent EDG based compiler, otherwise we don't support it here: + + +#ifndef __EDG_VERSION__ +# error "Unknown Diab compiler version - please run the configure tests and report the results" +#endif + +#include "boost/config/compiler/common_edg.hpp" + +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS + +#define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE +#define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS +#define BOOST_REGEX_NO_EXTERNAL_TEMPLATES + +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_HDR_CODECVT +#define BOOST_NO_CXX11_NUMERIC_LIMITS + +#define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__) diff --git a/external/include/boost_1_75/boost/config/compiler/digitalmars.hpp b/external/include/boost_1_90_0/boost/config/compiler/digitalmars.hpp similarity index 93% rename from external/include/boost_1_75/boost/config/compiler/digitalmars.hpp rename to external/include/boost_1_90_0/boost/config/compiler/digitalmars.hpp index 7641ee8a6d..4612ba612f 100644 --- a/external/include/boost_1_75/boost/config/compiler/digitalmars.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/digitalmars.hpp @@ -1,142 +1,146 @@ -// Copyright (C) Christof Meerwald 2003 -// Copyright (C) Dan Watkins 2003 -// -// Use, modification and distribution are subject to 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) - -// Digital Mars C++ compiler setup: -#define BOOST_COMPILER __DMC_VERSION_STRING__ - -#define BOOST_HAS_LONG_LONG -#define BOOST_HAS_PRAGMA_ONCE - -#if !defined(BOOST_STRICT_CONFIG) -#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#define BOOST_NO_OPERATORS_IN_NAMESPACE -#define BOOST_NO_UNREACHABLE_RETURN_DETECTION -#define BOOST_NO_SFINAE -#define BOOST_NO_USING_TEMPLATE -#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// has macros: -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_WINTHREADS - -#if (__DMC__ >= 0x847) -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_LOG1P -#endif - -// -// Is this really the best way to detect whether the std lib is in namespace std? -// -#ifdef __cplusplus -#include -#endif -#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) -# define BOOST_NO_STDC_NAMESPACE -#endif - - -// check for exception handling support: -#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -// -// C++0x features -// -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#if (__DMC__ <= 0x840) -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is ...: -#if (__DMC__ > 0x848) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif +// Copyright (C) Christof Meerwald 2003 +// Copyright (C) Dan Watkins 2003 +// +// Use, modification and distribution are subject to 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) + +// Digital Mars C++ compiler setup: +#define BOOST_COMPILER __DMC_VERSION_STRING__ + +#define BOOST_HAS_LONG_LONG +#define BOOST_HAS_PRAGMA_ONCE + +#if !defined(BOOST_STRICT_CONFIG) +#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#define BOOST_NO_OPERATORS_IN_NAMESPACE +#define BOOST_NO_UNREACHABLE_RETURN_DETECTION +#define BOOST_NO_SFINAE +#define BOOST_NO_USING_TEMPLATE +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// +// has macros: +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_WINTHREADS + +#if (__DMC__ >= 0x847) +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#endif + +// +// Is this really the best way to detect whether the std lib is in namespace std? +// +#ifdef __cplusplus +#include +#endif +#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) +# define BOOST_NO_STDC_NAMESPACE +#endif + + +// check for exception handling support: +#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +// +// C++0x features +// +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_CHAR32_T +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_EXTERN_TEMPLATE +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#if (__DMC__ <= 0x840) +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is ...: +#if (__DMC__ > 0x848) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif diff --git a/external/include/boost_1_90_0/boost/config/compiler/gcc.hpp b/external/include/boost_1_90_0/boost/config/compiler/gcc.hpp new file mode 100644 index 0000000000..b3459bcbb2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/compiler/gcc.hpp @@ -0,0 +1,386 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Jens Maurer 2001 - 2002. +// (C) Copyright Beman Dawes 2001 - 2003. +// (C) Copyright Douglas Gregor 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Synge Todo 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// GNU C++ compiler setup. + +// +// Define BOOST_GCC so we know this is "real" GCC and not some pretender: +// +#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#if !defined(__CUDACC__) +#define BOOST_GCC BOOST_GCC_VERSION +#endif + +#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) +# define BOOST_GCC_CXX11 +#endif + +#if __GNUC__ == 3 +# if defined (__PATHSCALE__) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +# define BOOST_NO_IS_ABSTRACT +# endif + +# if __GNUC_MINOR__ < 4 +# define BOOST_NO_IS_ABSTRACT +# endif +# define BOOST_NO_CXX11_EXTERN_TEMPLATE +#endif +#if __GNUC__ < 4 +// +// All problems to gcc-3.x and earlier here: +// +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +# ifdef __OPEN64__ +# define BOOST_NO_IS_ABSTRACT +# endif +#endif + +// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links +#if BOOST_GCC_VERSION >= 30400 +#define BOOST_HAS_PRAGMA_ONCE +#endif + +#if BOOST_GCC_VERSION < 40400 +// Previous versions of GCC did not completely implement value-initialization: +// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize +// members", reported by Jonathan Wakely in 2006, +// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4) +// GCC Bug 33916, "Default constructor fails to initialize array members", +// reported by Michael Elizabeth Chastain in 2007, +// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4) +// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +#endif + +#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + + +// +// Threading support: Turn this on unconditionally here (except for +// those platforms where we can know for sure). It will get turned off again +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif + +// +// gcc has "long long" +// Except on Darwin with standard compliance enabled (-pedantic) +// Apple gcc helpfully defines this macro we can query +// +#if !defined(__DARWIN_NO_LONG_LONG) +# define BOOST_HAS_LONG_LONG +#endif + +// +// gcc implements the named return value optimization since version 3.1 +// +#define BOOST_HAS_NRVO + +// Branch prediction hints +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if __GNUC__ >= 4 +# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) + // All Win32 development environments, including 64-bit Windows and MinGW, define + // _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment, + // so does not define _WIN32 or its variants, but still supports dllexport/dllimport. +# define BOOST_HAS_DECLSPEC +# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__)) +# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) +# else +# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_IMPORT +# endif +# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) +#else +// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined +# define BOOST_SYMBOL_EXPORT +#endif + +// +// RTTI and typeinfo detection is possible post gcc-4.3: +// +#if BOOST_GCC_VERSION > 40300 +# ifndef __GXX_RTTI +# ifndef BOOST_NO_TYPEID +# define BOOST_NO_TYPEID +# endif +# ifndef BOOST_NO_RTTI +# define BOOST_NO_RTTI +# endif +# endif +#endif + +// +// Recent GCC versions have __int128 when in 64-bit mode. +// +// We disable this if the compiler is really nvcc with C++03 as it +// doesn't actually support __int128 as of CUDA_VERSION=7500 +// even though it defines __SIZEOF_INT128__. +// See https://svn.boost.org/trac/boost/ticket/8048 +// https://svn.boost.org/trac/boost/ticket/11852 +// Only re-enable this for nvcc if you're absolutely sure +// of the circumstances under which it's supported: +// +#if defined(__CUDACC__) +# if defined(BOOST_GCC_CXX11) +# define BOOST_NVCC_CXX11 +# else +# define BOOST_NVCC_CXX03 +# endif +#endif + +#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) +# define BOOST_HAS_INT128 +#endif +// +// Recent GCC versions have a __float128 native type, we need to +// include a std lib header to detect this - not ideal, but we'll +// be including later anyway when we select the std lib. +// +// Nevertheless, as of CUDA 7.5, using __float128 with the host +// compiler in pre-C++11 mode is still not supported. +// See https://svn.boost.org/trac/boost/ticket/11852 +// +#ifdef __cplusplus +#include +#else +#include +#endif +#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03) +# define BOOST_HAS_FLOAT128 +#endif + +// C++0x features in 4.3.n and later +// +#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11) +// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are +// passed on the command line, which in turn defines +// __GXX_EXPERIMENTAL_CXX0X__. +# define BOOST_HAS_DECLTYPE +# define BOOST_HAS_RVALUE_REFS +# define BOOST_HAS_STATIC_ASSERT +# define BOOST_HAS_VARIADIC_TMPL +#else +# define BOOST_NO_CXX11_DECLTYPE +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +# define BOOST_NO_CXX11_RVALUE_REFERENCES +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif + +// C++0x features in 4.4.n and later +// +#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +# define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif + +#if BOOST_GCC_VERSION < 40500 +# define BOOST_NO_SFINAE_EXPR +#endif + +// GCC 4.5 forbids declaration of defaulted functions in private or protected sections +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + +// C++0x features in 4.5.0 and later +// +#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_CXX11_LAMBDAS +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +# define BOOST_NO_CXX11_RAW_LITERALS +# define BOOST_NO_CXX11_UNICODE_LITERALS +# define BOOST_NO_CXX11_ALIGNOF +#endif + +// C++0x features in 4.5.1 and later +// +#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11) +// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1 +// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +// C++0x features in 4.6.n and later +// +#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11) +#define BOOST_NO_CXX11_DEFAULTED_MOVES +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif + +// C++0x features in 4.7.n and later +// +#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11) +// Note that while constexpr is partly supported in gcc-4.6 it's a +// pre-std version with several bugs: +# define BOOST_NO_CXX11_CONSTEXPR +# define BOOST_NO_CXX11_FINAL +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +# define BOOST_NO_CXX11_OVERRIDE +#endif + +// C++0x features in 4.8.n and later +// +#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_THREAD_LOCAL +# define BOOST_NO_CXX11_SFINAE_EXPR +#endif + +// C++0x features in 4.8.1 and later +// +#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_DECLTYPE_N3276 +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif + +// C++0x features in 4.9.n and later +// +#if (BOOST_GCC_VERSION < 40900) || !defined(BOOST_GCC_CXX11) +// Although alignas support is added in gcc 4.8, it does not accept +// dependent constant expressions as an argument until gcc 4.9. +# define BOOST_NO_CXX11_ALIGNAS +#endif + +// C++0x features in 5.1 and later +// +#if (BOOST_GCC_VERSION < 50100) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_UNRESTRICTED_UNION +#endif + +// C++14 features in 4.9.0 and later +// +#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +# define BOOST_NO_CXX14_DECLTYPE_AUTO +# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11)) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +# endif +#endif + + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if (__GNUC__ < 7) || (__cplusplus < 201703L) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#if __GNUC__ >= 7 +# define BOOST_FALLTHROUGH __attribute__((fallthrough)) +#endif + +#if (__GNUC__ < 11) && defined(__MINGW32__) && !defined(__MINGW64__) +// thread_local was broken on mingw for all 32bit compiler releases prior to 11.x, see +// https://sourceforge.net/p/mingw-w64/bugs/527/ +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562 +// Not setting this causes program termination on thread exit. +#define BOOST_NO_CXX11_THREAD_LOCAL +#endif + +// +// Unused attribute: +#if __GNUC__ >= 4 +# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__)) +#endif + +// Type aliasing hint. Supported since gcc 3.3. +#define BOOST_MAY_ALIAS __attribute__((__may_alias__)) + +// Unreachable code markup +#if BOOST_GCC_VERSION >= 40500 +#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable(); +#endif + +// Deprecated symbol markup +#if BOOST_GCC_VERSION >= 40500 +#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) +#else +#define BOOST_DEPRECATED(msg) __attribute__((deprecated)) +#endif + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "GNU C++ version " __VERSION__ +#endif + +// ConceptGCC compiler: +// http://www.generic-programming.org/software/ConceptGCC/ +#ifdef __GXX_CONCEPTS__ +# define BOOST_HAS_CONCEPTS +# define BOOST_COMPILER "ConceptGCC version " __VERSION__ +#endif + +// versions check: +// we don't know gcc prior to version 3.30: +#if (BOOST_GCC_VERSION < 30300) +# error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 8.1: +#if (BOOST_GCC_VERSION > 80100) +# if defined(BOOST_ASSERT_CONFIG) +# error "Boost.Config is older than your compiler - please check for an updated Boost release." +# else +// we don't emit warnings here anymore since there are no defect macros defined for +// gcc post 3.4, so any failures are gcc regressions... +//# warning "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + diff --git a/external/include/boost_1_75/boost/config/compiler/gcc_xml.hpp b/external/include/boost_1_90_0/boost/config/compiler/gcc_xml.hpp similarity index 92% rename from external/include/boost_1_75/boost/config/compiler/gcc_xml.hpp rename to external/include/boost_1_90_0/boost/config/compiler/gcc_xml.hpp index fd6896a811..6895c053d0 100644 --- a/external/include/boost_1_75/boost/config/compiler/gcc_xml.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/gcc_xml.hpp @@ -1,113 +1,115 @@ -// (C) Copyright John Maddock 2006. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// GCC-XML C++ compiler setup: - -# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3)) -# define BOOST_NO_IS_ABSTRACT -# endif - -// -// Threading support: Turn this on unconditionally here (except for -// those platforms where we can know for sure). It will get turned off again -// later if no threading API is detected. -// -#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__) -# define BOOST_HAS_THREADS -#endif - -// -// gcc has "long long" -// -#define BOOST_HAS_LONG_LONG - -// C++0x features: -// -# define BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_CXX11_NULLPTR -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_STATIC_ASSERT -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_SCOPED_ENUMS -# define BOOST_NO_SFINAE_EXPR -# define BOOST_NO_CXX11_SFINAE_EXPR -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_CXX11_RANGE_BASED_FOR -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_UNICODE_LITERALS -# define BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_ALIGNAS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_REF_QUALIFIERS -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_OVERRIDE -# define BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ - - +// (C) Copyright John Maddock 2006. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// GCC-XML C++ compiler setup: + +# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3)) +# define BOOST_NO_IS_ABSTRACT +# endif + +// +// Threading support: Turn this on unconditionally here (except for +// those platforms where we can know for sure). It will get turned off again +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif + +// +// gcc has "long long" +// +#define BOOST_HAS_LONG_LONG + +// C++0x features: +// +# define BOOST_NO_CXX11_CONSTEXPR +# define BOOST_NO_CXX11_NULLPTR +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +# define BOOST_NO_CXX11_DECLTYPE +# define BOOST_NO_CXX11_DECLTYPE_N3276 +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +# define BOOST_NO_CXX11_RVALUE_REFERENCES +# define BOOST_NO_CXX11_STATIC_ASSERT +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +# define BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_SCOPED_ENUMS +# define BOOST_NO_SFINAE_EXPR +# define BOOST_NO_CXX11_SFINAE_EXPR +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_CXX11_LAMBDAS +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +# define BOOST_NO_CXX11_RANGE_BASED_FOR +# define BOOST_NO_CXX11_RAW_LITERALS +# define BOOST_NO_CXX11_UNICODE_LITERALS +# define BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_ALIGNOF +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +# define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_FINAL +# define BOOST_NO_CXX11_OVERRIDE +# define BOOST_NO_CXX11_THREAD_LOCAL +# define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ diff --git a/external/include/boost_1_75/boost/config/compiler/greenhills.hpp b/external/include/boost_1_90_0/boost/config/compiler/greenhills.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/compiler/greenhills.hpp rename to external/include/boost_1_90_0/boost/config/compiler/greenhills.hpp index 39112c2c1c..0a9911e828 100644 --- a/external/include/boost_1_75/boost/config/compiler/greenhills.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/greenhills.hpp @@ -1,28 +1,28 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Greenhills C++ compiler setup: - -#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) - -#include - -// -// versions check: -// we don't support Greenhills prior to version 0: -#if __ghs < 0 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0: -#if (__ghs > 0) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Greenhills C++ compiler setup: + +#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) + +#include + +// +// versions check: +// we don't support Greenhills prior to version 0: +#if __ghs < 0 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0: +#if (__ghs > 0) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/external/include/boost_1_75/boost/config/compiler/hp_acc.hpp b/external/include/boost_1_90_0/boost/config/compiler/hp_acc.hpp similarity index 93% rename from external/include/boost_1_75/boost/config/compiler/hp_acc.hpp rename to external/include/boost_1_90_0/boost/config/compiler/hp_acc.hpp index cf5667b520..aaa56386b9 100644 --- a/external/include/boost_1_75/boost/config/compiler/hp_acc.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/hp_acc.hpp @@ -1,148 +1,153 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Toon Knapen 2003. -// (C) Copyright Boris Gubenko 2006 - 2007. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// HP aCC C++ compiler setup: - -#if defined(__EDG__) -#include -#endif - -#if (__HP_aCC <= 33100) -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_OPERATORS_IN_NAMESPACE -# if !defined(_NAMESPACE_STD) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -# endif -#endif - -#if (__HP_aCC <= 33300) -// member templates are sufficiently broken that we disable them for now -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE -#endif - -#if (__HP_aCC <= 38000) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif - -#if (__HP_aCC > 50000) && (__HP_aCC < 60000) -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_NO_TEMPLATE_TEMPLATES -# define BOOST_NO_SWPRINTF -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_IS_ABSTRACT -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#endif - -// optional features rather than defects: -#if (__HP_aCC >= 33900) -# define BOOST_HAS_LONG_LONG -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -#endif - -// This macro should not be defined when compiling in strict ansi -// mode, but, currently, we don't have the ability to determine -// what standard mode we are compiling with. Some future version -// of aCC6 compiler will provide predefined macros reflecting the -// compilation options, including the standard mode. -#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98)) -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#endif - -#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) - -// -// versions check: -// we don't support HP aCC prior to version 33000: -#if __HP_aCC < 33000 -# error "Compiler not supported or configured - please reconfigure" -#endif - -// -// Extended checks for supporting aCC on PA-RISC -#if __HP_aCC > 30000 && __HP_aCC < 50000 -# if __HP_aCC < 38000 - // versions prior to version A.03.80 not supported -# error "Compiler version not supported - version A.03.80 or higher is required" -# elif !defined(__hpxstd98) - // must compile using the option +hpxstd98 with version A.03.80 and above -# error "Compiler option '+hpxstd98' is required for proper support" -# endif //PA-RISC -#endif - -// -// C++0x features -// -// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG -// -#if !defined(__EDG__) - -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -/* - See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and - https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436 -*/ - -#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE) - #define BOOST_NO_CXX11_VARIADIC_MACROS -#endif - -#endif - -// -// last known and checked version for HP-UX/ia64 is 61300 -// last known and checked version for PA-RISC is 38000 -#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Toon Knapen 2003. +// (C) Copyright Boris Gubenko 2006 - 2007. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// HP aCC C++ compiler setup: + +#if defined(__EDG__) +#include +#endif + +#if (__HP_aCC <= 33100) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# if !defined(_NAMESPACE_STD) +# define BOOST_NO_STD_LOCALE +# define BOOST_NO_STRINGSTREAM +# endif +#endif + +#if (__HP_aCC <= 33300) +// member templates are sufficiently broken that we disable them for now +# define BOOST_NO_MEMBER_TEMPLATES +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#endif + +#if (__HP_aCC <= 38000) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#if (__HP_aCC > 50000) && (__HP_aCC < 60000) +# define BOOST_NO_UNREACHABLE_RETURN_DETECTION +# define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_SWPRINTF +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif + +// optional features rather than defects: +#if (__HP_aCC >= 33900) +# define BOOST_HAS_LONG_LONG +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +// This macro should not be defined when compiling in strict ansi +// mode, but, currently, we don't have the ability to determine +// what standard mode we are compiling with. Some future version +// of aCC6 compiler will provide predefined macros reflecting the +// compilation options, including the standard mode. +#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98)) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) + +// +// versions check: +// we don't support HP aCC prior to version 33000: +#if __HP_aCC < 33000 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// +// Extended checks for supporting aCC on PA-RISC +#if __HP_aCC > 30000 && __HP_aCC < 50000 +# if __HP_aCC < 38000 + // versions prior to version A.03.80 not supported +# error "Compiler version not supported - version A.03.80 or higher is required" +# elif !defined(__hpxstd98) + // must compile using the option +hpxstd98 with version A.03.80 and above +# error "Compiler option '+hpxstd98' is required for proper support" +# endif //PA-RISC +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#if !defined(__EDG__) + +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_CHAR32_T +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_EXTERN_TEMPLATE +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +/* + See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and + https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436 +*/ + +#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE) + #define BOOST_NO_CXX11_VARIADIC_MACROS +#endif + +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#endif + +// +// last known and checked version for HP-UX/ia64 is 61300 +// last known and checked version for PA-RISC is 38000 +#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif diff --git a/external/include/boost_1_90_0/boost/config/compiler/intel.hpp b/external/include/boost_1_90_0/boost/config/compiler/intel.hpp new file mode 100644 index 0000000000..2203bece9e --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/compiler/intel.hpp @@ -0,0 +1,577 @@ +// (C) Copyright John Maddock 2001-8. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002 - 2003. +// (C) Copyright Guillaume Melquiond 2002 - 2003. +// (C) Copyright Beman Dawes 2003. +// (C) Copyright Martin Wille 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Intel compiler setup: + +#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) + +#ifdef _MSC_VER + +#include + +#undef BOOST_MSVC +#undef BOOST_MSVC_FULL_VER + +#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900) +// +// These appear to be supported, even though VC++ may not support them: +// +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#undef BOOST_NO_CXX14_BINARY_LITERALS +// This one may be a little risky to enable?? +#undef BOOST_NO_SFINAE_EXPR + +#endif + +#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +#else // defined(_MSC_VER) + +#include + +#undef BOOST_GCC_VERSION +#undef BOOST_GCC_CXX11 +#undef BOOST_GCC +#undef BOOST_FALLTHROUGH + +// Broken in all versions up to 17 (newer versions not tested) +#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR) +# define BOOST_NO_CXX14_CONSTEXPR +#endif + +#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) +# define BOOST_FALLTHROUGH [[fallthrough]] +#endif + +#endif // defined(_MSC_VER) + +#undef BOOST_COMPILER + +#if defined(__INTEL_COMPILER) +#if __INTEL_COMPILER == 9999 +# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. +#else +# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#endif +#elif defined(__ICL) +# define BOOST_INTEL_CXX_VERSION __ICL +#elif defined(__ICC) +# define BOOST_INTEL_CXX_VERSION __ICC +#elif defined(__ECC) +# define BOOST_INTEL_CXX_VERSION __ECC +#endif + +// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' +#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_INTEL_STDCXX0X +#endif +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +# define BOOST_INTEL_STDCXX0X +#endif + +#ifdef __GNUC__ +# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +#if !defined(BOOST_COMPILER) +# if defined(BOOST_INTEL_STDCXX0X) +# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# else +# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# endif +#endif + +#define BOOST_INTEL BOOST_INTEL_CXX_VERSION + +#if defined(_WIN32) || defined(_WIN64) +# define BOOST_INTEL_WIN BOOST_INTEL +#else +# define BOOST_INTEL_LINUX BOOST_INTEL +#endif + +#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) + +#include + +#if defined(__INTEL_COMPILER) +#if __INTEL_COMPILER == 9999 +# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. +#else +# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#endif +#elif defined(__ICL) +# define BOOST_INTEL_CXX_VERSION __ICL +#elif defined(__ICC) +# define BOOST_INTEL_CXX_VERSION __ICC +#elif defined(__ECC) +# define BOOST_INTEL_CXX_VERSION __ECC +#endif + +// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' +#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_INTEL_STDCXX0X +#endif +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +# define BOOST_INTEL_STDCXX0X +#endif + +#ifdef __GNUC__ +# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +#if !defined(BOOST_COMPILER) +# if defined(BOOST_INTEL_STDCXX0X) +# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# else +# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# endif +#endif + +#define BOOST_INTEL BOOST_INTEL_CXX_VERSION + +#if defined(_WIN32) || defined(_WIN64) +# define BOOST_INTEL_WIN BOOST_INTEL +#else +# define BOOST_INTEL_LINUX BOOST_INTEL +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 600) + +# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) + +// Boost libraries assume strong standard conformance unless otherwise +// indicated by a config macro. As configured by Intel, the EDG front-end +// requires certain compiler options be set to achieve that strong conformance. +// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) +// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for +// details as they apply to particular versions of the compiler. When the +// compiler does not predefine a macro indicating if an option has been set, +// this config file simply assumes the option has been set. +// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if +// the compiler option is not enabled. + +# define BOOST_NO_SWPRINTF +# endif + +// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) + +# if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_VOID_RETURNS +# define BOOST_NO_INTEGRAL_INT64_T +# endif + +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#endif + +// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 +#if BOOST_INTEL_CXX_VERSION < 600 +# define BOOST_NO_INTRINSIC_WCHAR_T +#else +// We should test the macro _WCHAR_T_DEFINED to check if the compiler +// supports wchar_t natively. *BUT* there is a problem here: the standard +// headers define this macro if they typedef wchar_t. Anyway, we're lucky +// because they define it without a value, while Intel C++ defines it +// to 1. So we can check its value to see if the macro was defined natively +// or not. +// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T +// is used instead. +# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) +# define BOOST_NO_INTRINSIC_WCHAR_T +# endif +#endif + +#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +// +// Figure out when Intel is emulating this gcc bug +// (All Intel versions prior to 9.0.26, and versions +// later than that if they are set up to emulate gcc 3.2 +// or earlier): +// +# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# endif +#endif +#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200) +// GCC or VC emulation: +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif +// +// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T +// set correctly, if we don't do this now, we will get errors later +// in type_traits code among other things, getting this correct +// for the Intel compiler is actually remarkably fragile and tricky: +// +#ifdef __cplusplus +#if defined(BOOST_NO_INTRINSIC_WCHAR_T) +#include +template< typename T > struct assert_no_intrinsic_wchar_t; +template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; +// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T +// where it is defined above: +typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; +#else +template< typename T > struct assert_intrinsic_wchar_t; +template<> struct assert_intrinsic_wchar_t {}; +// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: +template<> struct assert_intrinsic_wchar_t {}; +#endif +#endif + +#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000) +# if _MSC_VER >= 1200 +# define BOOST_HAS_MS_INT64 +# endif +# define BOOST_NO_SWPRINTF +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#elif defined(_WIN32) +# define BOOST_DISABLE_WIN32 +#endif + +// I checked version 6.0 build 020312Z, it implements the NRVO. +// Correct this as you find out which version of the compiler +// implemented the NRVO first. (Daniel Frey) +#if (BOOST_INTEL_CXX_VERSION >= 600) +# define BOOST_HAS_NRVO +#endif + +// Branch prediction hints +// I'm not sure 8.0 was the first version to support these builtins, +// update the condition if the version is not accurate. (Andrey Semashev) +#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800 +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) +#endif + +// RTTI +// __RTTI is the EDG macro +// __INTEL_RTTI__ is the Intel macro +// __GXX_RTTI is the g++ macro +// _CPPRTTI is the MSVC++ macro +#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI) + +#if !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +// in MS mode, static typeid works even when RTTI is off +#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID) +# define BOOST_NO_TYPEID +#endif + +#endif + +// +// versions check: +// we don't support Intel prior to version 6.0: +#if BOOST_INTEL_CXX_VERSION < 600 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// Intel on MacOS requires +#if defined(__APPLE__) && defined(__INTEL_COMPILER) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +// Intel on Altix Itanium +#if defined(__itanium__) && defined(__INTEL_COMPILER) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +// +// An attempt to value-initialize a pointer-to-member may trigger an +// internal error on Intel <= 11.1 (last checked version), as was +// reported by John Maddock, Intel support issue 589832, May 2010. +// Moreover, according to test results from Huang-Vista-x86_32_intel, +// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some +// cases when it should be value-initialized. +// (Niels Dekker, LKEB, May 2010) +// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression). +#if defined(__INTEL_COMPILER) +# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600)) +# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +# endif +#endif + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if defined(__GNUC__) && (__GNUC__ >= 4) +# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default"))) +# define BOOST_SYMBOL_IMPORT +# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default"))) +#endif + +// Type aliasing hint +#if defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1300) +# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) +#endif + +// +// C++0x features +// For each feature we need to check both the Intel compiler version, +// and the version of MSVC or GCC that we are emulating. +// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ +// for a list of which features were implemented in which Intel releases. +// +#if defined(BOOST_INTEL_STDCXX0X) +// BOOST_NO_CXX11_CONSTEXPR: +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER) +// Available in earlier Intel versions, but fail our tests: +# undef BOOST_NO_CXX11_CONSTEXPR +#endif +// BOOST_NO_CXX11_NULLPTR: +#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_NULLPTR +#endif +// BOOST_NO_CXX11_TEMPLATE_ALIASES +#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_TEMPLATE_ALIASES +#endif + +// BOOST_NO_CXX11_DECLTYPE +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_DECLTYPE +#endif + +// BOOST_NO_CXX11_DECLTYPE_N3276 +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif + +// BOOST_NO_CXX11_RVALUE_REFERENCES +#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +// This is available from earlier Intel versions, but breaks Filesystem and other libraries: +# undef BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +// BOOST_NO_CXX11_STATIC_ASSERT +#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_STATIC_ASSERT +#endif + +// BOOST_NO_CXX11_VARIADIC_TEMPLATES +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif + +// BOOST_NO_CXX11_VARIADIC_MACROS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400)) +# undef BOOST_NO_CXX11_VARIADIC_MACROS +#endif + +// BOOST_NO_CXX11_AUTO_DECLARATIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_AUTO_DECLARATIONS +#endif + +// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif + +// BOOST_NO_CXX11_CHAR16_T +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_CHAR16_T +#endif + +// BOOST_NO_CXX11_CHAR32_T +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_CHAR32_T +#endif + +// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#endif + +// BOOST_NO_CXX11_DELETED_FUNCTIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_DELETED_FUNCTIONS +#endif + +// BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +# undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +// BOOST_NO_CXX11_SCOPED_ENUMS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +// This is available but broken in earlier Intel releases. +# undef BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +// BOOST_NO_SFINAE_EXPR +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_SFINAE_EXPR +#endif + +// BOOST_NO_CXX11_SFINAE_EXPR +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER) +# undef BOOST_NO_CXX11_SFINAE_EXPR +#endif + +// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +// This is available in earlier Intel releases, but breaks Multiprecision: +# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +// BOOST_NO_CXX11_LAMBDAS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_LAMBDAS +#endif + +// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) +# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +// BOOST_NO_CXX11_RANGE_BASED_FOR +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +# undef BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +// BOOST_NO_CXX11_RAW_LITERALS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_RAW_LITERALS +#endif + +// BOOST_NO_CXX11_UNICODE_LITERALS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_UNICODE_LITERALS +#endif + +// BOOST_NO_CXX11_NOEXCEPT +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +// Available in earlier Intel release, but generates errors when used with +// conditional exception specifications, for example in multiprecision: +# undef BOOST_NO_CXX11_NOEXCEPT +#endif + +// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif + +// BOOST_NO_CXX11_USER_DEFINED_LITERALS +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif + +// BOOST_NO_CXX11_ALIGNAS +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_ALIGNAS +# undef BOOST_NO_CXX11_ALIGNOF +#endif + +// BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +// BOOST_NO_CXX11_INLINE_NAMESPACES +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +// BOOST_NO_CXX11_REF_QUALIFIERS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_REF_QUALIFIERS +#endif + +// BOOST_NO_CXX11_FINAL +// BOOST_NO_CXX11_OVERRIDE +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +# undef BOOST_NO_CXX11_FINAL +# undef BOOST_NO_CXX11_OVERRIDE +#endif + +// BOOST_NO_CXX11_UNRESTRICTED_UNION +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 50100)) && (!defined(_MSC_VER)) +# undef BOOST_NO_CXX11_UNRESTRICTED_UNION +#endif + +#endif // defined(BOOST_INTEL_STDCXX0X) + +// +// Broken in all versions up to 15: +#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS + +#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310) +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400) +// A regression in Intel's compiler means that seems to be broken in this release as well as : +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_TUPLE +#endif + +#if (BOOST_INTEL_CXX_VERSION < 1200) +// +// fenv.h appears not to work with Intel prior to 12.0: +// +# define BOOST_NO_FENV_H +#endif + +// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections, +// producing the following errors: +// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object +#if (BOOST_INTEL_CXX_VERSION <= 1310) +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +# define BOOST_HAS_STDINT_H +#endif + +#if defined(__CUDACC__) +# if defined(BOOST_GCC_CXX11) +# define BOOST_NVCC_CXX11 +# else +# define BOOST_NVCC_CXX03 +# endif +#endif + +#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03) +# define BOOST_HAS_INT128 +#endif + +#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) +// +// last known and checked version: +#if (BOOST_INTEL_CXX_VERSION > 1700) +# if defined(BOOST_ASSERT_CONFIG) +# error "Boost.Config is older than your compiler - please check for an updated Boost release." +# elif defined(_MSC_VER) +// +// We don't emit this warning any more, since we have so few +// defect macros set anyway (just the one). +// +//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results") +# endif +#endif + diff --git a/external/include/boost_1_75/boost/config/compiler/kai.hpp b/external/include/boost_1_90_0/boost/config/compiler/kai.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/compiler/kai.hpp rename to external/include/boost_1_90_0/boost/config/compiler/kai.hpp index 0b22ec1d6c..c7f9aebe24 100644 --- a/external/include/boost_1_75/boost/config/compiler/kai.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/kai.hpp @@ -1,33 +1,33 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Kai C++ compiler setup: - -#include - -# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) - // at least on Sun, the contents of is not in namespace std -# define BOOST_NO_STDC_NAMESPACE -# endif - -// see also common_edg.hpp which needs a special check for __KCC -# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -# endif - -// -// last known and checked version is 4001: -#if (__KCC_VERSION > 4001) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - +// (C) Copyright John Maddock 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Kai C++ compiler setup: + +#include + +# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) + // at least on Sun, the contents of is not in namespace std +# define BOOST_NO_STDC_NAMESPACE +# endif + +// see also common_edg.hpp which needs a special check for __KCC +# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +# endif + +// +// last known and checked version is 4001: +#if (__KCC_VERSION > 4001) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + diff --git a/external/include/boost_1_75/boost/config/compiler/metrowerks.hpp b/external/include/boost_1_90_0/boost/config/compiler/metrowerks.hpp similarity index 94% rename from external/include/boost_1_75/boost/config/compiler/metrowerks.hpp rename to external/include/boost_1_90_0/boost/config/compiler/metrowerks.hpp index 32c1ca9a2a..b3b36c166b 100644 --- a/external/include/boost_1_75/boost/config/compiler/metrowerks.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/metrowerks.hpp @@ -1,197 +1,201 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2001 - 2002. -// (C) Copyright Beman Dawes 2001 - 2003. -// (C) Copyright Stefan Slapeta 2004. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Metrowerks C++ compiler setup: - -// locale support is disabled when linking with the dynamic runtime -# ifdef _MSL_NO_LOCALE -# define BOOST_NO_STD_LOCALE -# endif - -# if __MWERKS__ <= 0x2301 // 5.3 -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_NO_POINTER_TO_MEMBER_CONST -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# endif - -# if __MWERKS__ <= 0x2401 // 6.2 -//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if(__MWERKS__ <= 0x2407) // 7.x -# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS -# define BOOST_NO_UNREACHABLE_RETURN_DETECTION -# endif - -# if(__MWERKS__ <= 0x3003) // 8.x -# define BOOST_NO_SFINAE -# endif - -// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last -// tested version *only*: -# if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -# define BOOST_NO_IS_ABSTRACT -# endif - -#if !__option(wchar_type) -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) -# if __MWERKS__ == 0x3000 -# define BOOST_COMPILER_VERSION 8.0 -# elif __MWERKS__ == 0x3001 -# define BOOST_COMPILER_VERSION 8.1 -# elif __MWERKS__ == 0x3002 -# define BOOST_COMPILER_VERSION 8.2 -# elif __MWERKS__ == 0x3003 -# define BOOST_COMPILER_VERSION 8.3 -# elif __MWERKS__ == 0x3200 -# define BOOST_COMPILER_VERSION 9.0 -# elif __MWERKS__ == 0x3201 -# define BOOST_COMPILER_VERSION 9.1 -# elif __MWERKS__ == 0x3202 -# define BOOST_COMPILER_VERSION 9.2 -# elif __MWERKS__ == 0x3204 -# define BOOST_COMPILER_VERSION 9.3 -# elif __MWERKS__ == 0x3205 -# define BOOST_COMPILER_VERSION 9.4 -# elif __MWERKS__ == 0x3206 -# define BOOST_COMPILER_VERSION 9.5 -# elif __MWERKS__ == 0x3207 -# define BOOST_COMPILER_VERSION 9.6 -# else -# define BOOST_COMPILER_VERSION __MWERKS__ -# endif -#else -# define BOOST_COMPILER_VERSION __MWERKS__ -#endif - -// -// C++0x features -// -// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG -// -#if __MWERKS__ > 0x3206 && __option(rvalue_refs) -# define BOOST_HAS_RVALUE_REFS -#else -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_VARIADIC_MACROS -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// -// versions check: -// we don't support Metrowerks prior to version 5.3: -#if __MWERKS__ < 0x2301 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (__MWERKS__ > 0x3205) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - - - - - - +// (C) Copyright John Maddock 2001. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright David Abrahams 2001 - 2002. +// (C) Copyright Beman Dawes 2001 - 2003. +// (C) Copyright Stefan Slapeta 2004. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Metrowerks C++ compiler setup: + +// locale support is disabled when linking with the dynamic runtime +# ifdef _MSL_NO_LOCALE +# define BOOST_NO_STD_LOCALE +# endif + +# if __MWERKS__ <= 0x2301 // 5.3 +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_NO_POINTER_TO_MEMBER_CONST +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# endif + +# if __MWERKS__ <= 0x2401 // 6.2 +//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# endif + +# if(__MWERKS__ <= 0x2407) // 7.x +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# define BOOST_NO_UNREACHABLE_RETURN_DETECTION +# endif + +# if(__MWERKS__ <= 0x3003) // 8.x +# define BOOST_NO_SFINAE +# endif + +// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last +// tested version *only*: +# if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_IS_ABSTRACT +# endif + +#if !__option(wchar_type) +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) +# if __MWERKS__ == 0x3000 +# define BOOST_COMPILER_VERSION 8.0 +# elif __MWERKS__ == 0x3001 +# define BOOST_COMPILER_VERSION 8.1 +# elif __MWERKS__ == 0x3002 +# define BOOST_COMPILER_VERSION 8.2 +# elif __MWERKS__ == 0x3003 +# define BOOST_COMPILER_VERSION 8.3 +# elif __MWERKS__ == 0x3200 +# define BOOST_COMPILER_VERSION 9.0 +# elif __MWERKS__ == 0x3201 +# define BOOST_COMPILER_VERSION 9.1 +# elif __MWERKS__ == 0x3202 +# define BOOST_COMPILER_VERSION 9.2 +# elif __MWERKS__ == 0x3204 +# define BOOST_COMPILER_VERSION 9.3 +# elif __MWERKS__ == 0x3205 +# define BOOST_COMPILER_VERSION 9.4 +# elif __MWERKS__ == 0x3206 +# define BOOST_COMPILER_VERSION 9.5 +# elif __MWERKS__ == 0x3207 +# define BOOST_COMPILER_VERSION 9.6 +# else +# define BOOST_COMPILER_VERSION __MWERKS__ +# endif +#else +# define BOOST_COMPILER_VERSION __MWERKS__ +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#if __MWERKS__ > 0x3206 && __option(rvalue_refs) +# define BOOST_HAS_RVALUE_REFS +#else +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_CHAR32_T +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_EXTERN_TEMPLATE +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_VARIADIC_MACROS +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Metrowerks prior to version 5.3: +#if __MWERKS__ < 0x2301 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version: +#if (__MWERKS__ > 0x3205) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + + + + diff --git a/external/include/boost_1_75/boost/config/compiler/mpw.hpp b/external/include/boost_1_90_0/boost/config/compiler/mpw.hpp similarity index 93% rename from external/include/boost_1_75/boost/config/compiler/mpw.hpp rename to external/include/boost_1_90_0/boost/config/compiler/mpw.hpp index 750d588415..e0b0a82d79 100644 --- a/external/include/boost_1_75/boost/config/compiler/mpw.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/mpw.hpp @@ -1,139 +1,143 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Aleksey Gurtovoy 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// MPW C++ compilers setup: - -# if defined(__SC__) -# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) -# elif defined(__MRC__) -# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) -# else -# error "Using MPW compiler configuration by mistake. Please update." -# endif - -// -// MPW 8.90: -// -#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define BOOST_NO_USING_TEMPLATE - -# define BOOST_NO_CWCHAR -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS - -# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ - -#endif - -// -// C++0x features -// -// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG -// -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_CXX11_SFINAE_EXPR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_VARIADIC_MACROS -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_THREAD_LOCAL -#define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -// -// versions check: -// we don't support MPW prior to version 8.9: -#if MPW_CPLUS < 0x890 -# error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version is 0x890: -#if (MPW_CPLUS > 0x890) -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown compiler version - please run the configure tests and report the results" -# endif -#endif - - +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// MPW C++ compilers setup: + +# if defined(__SC__) +# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) +# elif defined(__MRC__) +# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) +# else +# error "Using MPW compiler configuration by mistake. Please update." +# endif + +// +// MPW 8.90: +// +#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_INTRINSIC_WCHAR_T +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# define BOOST_NO_USING_TEMPLATE + +# define BOOST_NO_CWCHAR +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + +# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ + +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_CHAR32_T +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_EXTERN_TEMPLATE +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_VARIADIC_MACROS +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +// +// versions check: +// we don't support MPW prior to version 8.9: +#if MPW_CPLUS < 0x890 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x890: +#if (MPW_CPLUS > 0x890) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/external/include/boost_1_75/boost/config/compiler/nvcc.hpp b/external/include/boost_1_90_0/boost/config/compiler/nvcc.hpp similarity index 87% rename from external/include/boost_1_75/boost/config/compiler/nvcc.hpp rename to external/include/boost_1_90_0/boost/config/compiler/nvcc.hpp index ed035fcf73..f98bb65430 100644 --- a/external/include/boost_1_75/boost/config/compiler/nvcc.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/nvcc.hpp @@ -1,58 +1,64 @@ -// (C) Copyright Eric Jourdanneau, Joel Falcou 2010 -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// NVIDIA CUDA C++ compiler setup - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler" -#endif - -#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__) -# define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__) -#else -// We don't really know what the CUDA version is, but it's definitely before 7.5: -# define BOOST_CUDA_VERSION 7000000 -#endif - -// NVIDIA Specific support -// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device -#define BOOST_GPU_ENABLED __host__ __device__ - -// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions -// https://svn.boost.org/trac/boost/ticket/11897 -// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance -// check is enough to detect versions < 7.5 -#if BOOST_CUDA_VERSION < 7050000 -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif -// The same bug is back again in 8.0: -#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000) -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif -// CUDA (8.0) has no constexpr support in msvc mode: -#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#ifdef __CUDACC__ -// -// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc: -// -#if defined(_MSC_VER) -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif -// -// And this one effects the NVCC front end, -// See https://svn.boost.org/trac/boost/ticket/13049 -// -#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000) -# define BOOST_NO_CXX11_NOEXCEPT -#endif - -#endif - +// (C) Copyright Eric Jourdanneau, Joel Falcou 2010 +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// NVIDIA CUDA C++ compiler setup + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler" +#endif + +#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__) +# define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__) +#else +// We don't really know what the CUDA version is, but it's definitely before 7.5: +# define BOOST_CUDA_VERSION 7000000 +#endif + +// NVIDIA Specific support +// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device +#define BOOST_GPU_ENABLED __host__ __device__ + +#if !defined(__clang__) || defined(__NVCC__) +// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions +// https://svn.boost.org/trac/boost/ticket/11897 +// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance +// check is enough to detect versions < 7.5 +#if BOOST_CUDA_VERSION < 7050000 +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif +// The same bug is back again in 8.0: +#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000) +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif +// CUDA (8.0) has no constexpr support in msvc mode: +#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000) +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +#endif + +#ifdef __CUDACC__ +// +// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc: +// +#if defined(_MSC_VER) +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +# define BOOST_NO_CXX11_UNICODE_LITERALS +#endif +// +// And this one effects the NVCC front end, +// See https://svn.boost.org/trac/boost/ticket/13049 +// +#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000) +# define BOOST_NO_CXX11_NOEXCEPT +#endif + +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/pathscale.hpp b/external/include/boost_1_90_0/boost/config/compiler/pathscale.hpp similarity index 93% rename from external/include/boost_1_75/boost/config/compiler/pathscale.hpp rename to external/include/boost_1_90_0/boost/config/compiler/pathscale.hpp index 683b0d31ba..65229dca78 100644 --- a/external/include/boost_1_75/boost/config/compiler/pathscale.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/pathscale.hpp @@ -1,137 +1,141 @@ -// (C) Copyright Bryce Lelbach 2011 - -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// PathScale EKOPath C++ Compiler - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__ -#endif - -#if __PATHCC__ >= 6 -// PathCC is based on clang, and supports the __has_*() builtins used -// to detect features in clang.hpp. Since the clang toolset is much -// better maintained, it is more convenient to reuse its definitions. -# include "boost/config/compiler/clang.hpp" -#elif __PATHCC__ >= 4 -# define BOOST_MSVC6_MEMBER_TEMPLATES -# define BOOST_HAS_UNISTD_H -# define BOOST_HAS_STDINT_H -# define BOOST_HAS_SIGACTION -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_THREADS -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_PTHREAD_YIELD -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -# define BOOST_HAS_NRVO -# define BOOST_HAS_NL_TYPES_H -# define BOOST_HAS_NANOSLEEP -# define BOOST_HAS_LONG_LONG -# define BOOST_HAS_LOG1P -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_EXPM1 -# define BOOST_HAS_DIRENT_H -# define BOOST_HAS_CLOCK_GETTIME -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_UNICODE_LITERALS -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_STATIC_ASSERT -# define BOOST_NO_SFINAE_EXPR -# define BOOST_NO_CXX11_SFINAE_EXPR -# define BOOST_NO_CXX11_SCOPED_ENUMS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_RANGE_BASED_FOR -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_NULLPTR -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DECLTYPE -# define BOOST_NO_CXX11_DECLTYPE_N3276 -# define BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_ALIGNAS -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_REF_QUALIFIERS -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_OVERRIDE -# define BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_UNRESTRICTED_UNION - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif -#endif +// (C) Copyright Bryce Lelbach 2011 + +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// PathScale EKOPath C++ Compiler + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__ +#endif + +#if __PATHCC__ >= 6 +// PathCC is based on clang, and supports the __has_*() builtins used +// to detect features in clang.hpp. Since the clang toolset is much +// better maintained, it is more convenient to reuse its definitions. +# include "boost/config/compiler/clang.hpp" +#elif __PATHCC__ >= 4 +# define BOOST_MSVC6_MEMBER_TEMPLATES +# define BOOST_HAS_UNISTD_H +# define BOOST_HAS_STDINT_H +# define BOOST_HAS_SIGACTION +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_THREADS +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_PTHREAD_YIELD +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +# define BOOST_HAS_NRVO +# define BOOST_HAS_NL_TYPES_H +# define BOOST_HAS_NANOSLEEP +# define BOOST_HAS_LONG_LONG +# define BOOST_HAS_LOG1P +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_EXPM1 +# define BOOST_HAS_DIRENT_H +# define BOOST_HAS_CLOCK_GETTIME +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +# define BOOST_NO_CXX11_UNICODE_LITERALS +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +# define BOOST_NO_CXX11_STATIC_ASSERT +# define BOOST_NO_SFINAE_EXPR +# define BOOST_NO_CXX11_SFINAE_EXPR +# define BOOST_NO_CXX11_SCOPED_ENUMS +# define BOOST_NO_CXX11_RVALUE_REFERENCES +# define BOOST_NO_CXX11_RANGE_BASED_FOR +# define BOOST_NO_CXX11_RAW_LITERALS +# define BOOST_NO_CXX11_NULLPTR +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NO_CXX11_LAMBDAS +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_NO_CXX11_DECLTYPE +# define BOOST_NO_CXX11_DECLTYPE_N3276 +# define BOOST_NO_CXX11_CONSTEXPR +# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +# define BOOST_NO_CXX11_CHAR32_T +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_ALIGNOF +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +# define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_FINAL +# define BOOST_NO_CXX11_OVERRIDE +# define BOOST_NO_CXX11_THREAD_LOCAL +# define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/pgi.hpp b/external/include/boost_1_90_0/boost/config/compiler/pgi.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/compiler/pgi.hpp rename to external/include/boost_1_90_0/boost/config/compiler/pgi.hpp index 4e909d8a17..7d919358cc 100644 --- a/external/include/boost_1_75/boost/config/compiler/pgi.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/pgi.hpp @@ -1,23 +1,23 @@ -// (C) Copyright Noel Belcourt 2007. -// Copyright 2017, NVIDIA CORPORATION. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// PGI C++ compiler setup: - -#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ -#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) - -// PGI is mostly GNU compatible. So start with that. -#include - -// Now adjust for things that are different. - -// __float128 is a typedef, not a distinct type. -#undef BOOST_HAS_FLOAT128 - -// __int128 is not supported. -#undef BOOST_HAS_INT128 +// (C) Copyright Noel Belcourt 2007. +// Copyright 2017, NVIDIA CORPORATION. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// PGI C++ compiler setup: + +#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ +#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// PGI is mostly GNU compatible. So start with that. +#include + +// Now adjust for things that are different. + +// __float128 is a typedef, not a distinct type. +#undef BOOST_HAS_FLOAT128 + +// __int128 is not supported. +#undef BOOST_HAS_INT128 diff --git a/external/include/boost_1_75/boost/config/compiler/sgi_mipspro.hpp b/external/include/boost_1_90_0/boost/config/compiler/sgi_mipspro.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/compiler/sgi_mipspro.hpp rename to external/include/boost_1_90_0/boost/config/compiler/sgi_mipspro.hpp index 54433c9978..a5a6bcd0e9 100644 --- a/external/include/boost_1_75/boost/config/compiler/sgi_mipspro.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/sgi_mipspro.hpp @@ -1,29 +1,29 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// SGI C++ compiler setup: - -#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) - -#include - -// -// Threading support: -// Turn this on unconditionally here, it will get turned off again later -// if no threading API is detected. -// -#define BOOST_HAS_THREADS -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP - -#undef BOOST_NO_SWPRINTF -#undef BOOST_DEDUCED_TYPENAME - -// -// version check: -// probably nothing to do here? - - +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// SGI C++ compiler setup: + +#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) + +#include + +// +// Threading support: +// Turn this on unconditionally here, it will get turned off again later +// if no threading API is detected. +// +#define BOOST_HAS_THREADS +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP + +#undef BOOST_NO_SWPRINTF +#undef BOOST_DEDUCED_TYPENAME + +// +// version check: +// probably nothing to do here? + + diff --git a/external/include/boost_1_75/boost/config/compiler/sunpro_cc.hpp b/external/include/boost_1_90_0/boost/config/compiler/sunpro_cc.hpp similarity index 91% rename from external/include/boost_1_75/boost/config/compiler/sunpro_cc.hpp rename to external/include/boost_1_90_0/boost/config/compiler/sunpro_cc.hpp index c674e8ab58..18734b988d 100644 --- a/external/include/boost_1_75/boost/config/compiler/sunpro_cc.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/sunpro_cc.hpp @@ -1,215 +1,225 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright Peter Dimov 2002. -// (C) Copyright Aleksey Gurtovoy 2002 - 2003. -// (C) Copyright David Abrahams 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Sun C++ compiler setup: - -# if __SUNPRO_CC <= 0x500 -# define BOOST_NO_MEMBER_TEMPLATES -# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# endif - -# if (__SUNPRO_CC <= 0x520) - // - // Sunpro 5.2 and earler: - // - // although sunpro 5.2 supports the syntax for - // inline initialization it often gets the value - // wrong, especially where the value is computed - // from other constants (J Maddock 6th May 2001) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // Although sunpro 5.2 supports the syntax for - // partial specialization, it often seems to - // bind to the wrong specialization. Better - // to disable it until suppport becomes more stable - // (J Maddock 6th May 2001). -# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# endif - -# if (__SUNPRO_CC <= 0x530) - // Requesting debug info (-g) with Boost.Python results - // in an internal compiler error for "static const" - // initialized in-class. - // >> Assertion: (../links/dbg_cstabs.cc, line 611) - // while processing ../test.cpp at line 0. - // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002) -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION - - // SunPro 5.3 has better support for partial specialization, - // but breaks when compiling std::less > - // (Jens Maurer 4 Nov 2001). - - // std::less specialization fixed as reported by George - // Heintzelman; partial specialization re-enabled - // (Peter Dimov 17 Jan 2002) - -//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - // integral constant expressions with 64 bit numbers fail -# define BOOST_NO_INTEGRAL_INT64_T -# endif - -# if (__SUNPRO_CC < 0x570) -# define BOOST_NO_TEMPLATE_TEMPLATES - // see http://lists.boost.org/MailArchives/boost/msg47184.php - // and http://lists.boost.org/MailArchives/boost/msg47220.php -# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_NO_SFINAE -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# endif -# if (__SUNPRO_CC <= 0x580) -# define BOOST_NO_IS_ABSTRACT -# endif - -# if (__SUNPRO_CC <= 0x5100) - // Sun 5.10 may not correctly value-initialize objects of - // some user defined types, as was reported in April 2010 - // (CR 6947016), and confirmed by Steve Clamage. - // (Niels Dekker, LKEB, May 2010). -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -# endif - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if __SUNPRO_CC > 0x500 -# define BOOST_SYMBOL_EXPORT __global -# define BOOST_SYMBOL_IMPORT __global -# define BOOST_SYMBOL_VISIBLE __global -#endif - -#if (__SUNPRO_CC < 0x5130) -// C++03 features in 12.4: -#define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#define BOOST_NO_SFINAE_EXPR -#define BOOST_NO_ADL_BARRIER -#define BOOST_NO_CXX11_VARIADIC_MACROS -#endif - -#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100) -// C++11 only featuires in 12.4: -#define BOOST_NO_CXX11_AUTO_DECLARATIONS -#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#define BOOST_NO_CXX11_DELETED_FUNCTIONS -#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#define BOOST_NO_CXX11_EXTERN_TEMPLATE -#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#define BOOST_NO_CXX11_LAMBDAS -#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_NULLPTR -#define BOOST_NO_CXX11_RANGE_BASED_FOR -#define BOOST_NO_CXX11_RAW_LITERALS -#define BOOST_NO_CXX11_RVALUE_REFERENCES -#define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_TEMPLATE_ALIASES -#define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_FINAL -#define BOOST_NO_CXX11_OVERRIDE -#define BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif - -#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103) -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#define BOOST_NO_CXX11_DECLTYPE_N3276 -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -// -// C++0x features -// -# define BOOST_HAS_LONG_LONG - -#define BOOST_NO_CXX11_SFINAE_EXPR - -// C++ 14: -#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif -#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif -#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) -# define BOOST_NO_CXX14_CONSTEXPR -#endif -#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif -#if (__cplusplus < 201304) // There's no SD6 check for this.... -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif -#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif -#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif -#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif -#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -// C++17 -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) -# define BOOST_NO_CXX17_INLINE_VARIABLES -#endif -#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -// Turn on threading support for Solaris 12. -// Ticket #11972 -#if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS) -# define BOOST_HAS_THREADS -#endif - -// -// Version -// - -#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) - -// -// versions check: -// we don't support sunpro prior to version 4: -#if __SUNPRO_CC < 0x400 -#error "Compiler not supported or configured - please reconfigure" -#endif -// -// last known and checked version: -#if (__SUNPRO_CC > 0x5150) -# if defined(BOOST_ASSERT_CONFIG) -# error "Boost.Config is older than your compiler - please check for an updated Boost release." -# endif -#endif +// (C) Copyright John Maddock 2001. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright Peter Dimov 2002. +// (C) Copyright Aleksey Gurtovoy 2002 - 2003. +// (C) Copyright David Abrahams 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Sun C++ compiler setup: + +# if __SUNPRO_CC <= 0x500 +# define BOOST_NO_MEMBER_TEMPLATES +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# endif + +# if (__SUNPRO_CC <= 0x520) + // + // Sunpro 5.2 and earler: + // + // although sunpro 5.2 supports the syntax for + // inline initialization it often gets the value + // wrong, especially where the value is computed + // from other constants (J Maddock 6th May 2001) +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + + // Although sunpro 5.2 supports the syntax for + // partial specialization, it often seems to + // bind to the wrong specialization. Better + // to disable it until suppport becomes more stable + // (J Maddock 6th May 2001). +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# endif + +# if (__SUNPRO_CC <= 0x530) + // Requesting debug info (-g) with Boost.Python results + // in an internal compiler error for "static const" + // initialized in-class. + // >> Assertion: (../links/dbg_cstabs.cc, line 611) + // while processing ../test.cpp at line 0. + // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002) +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + + // SunPro 5.3 has better support for partial specialization, + // but breaks when compiling std::less > + // (Jens Maurer 4 Nov 2001). + + // std::less specialization fixed as reported by George + // Heintzelman; partial specialization re-enabled + // (Peter Dimov 17 Jan 2002) + +//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + // integral constant expressions with 64 bit numbers fail +# define BOOST_NO_INTEGRAL_INT64_T +# endif + +# if (__SUNPRO_CC < 0x570) +# define BOOST_NO_TEMPLATE_TEMPLATES + // see http://lists.boost.org/MailArchives/boost/msg47184.php + // and http://lists.boost.org/MailArchives/boost/msg47220.php +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_SFINAE +# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# endif +# if (__SUNPRO_CC <= 0x580) +# define BOOST_NO_IS_ABSTRACT +# endif + +# if (__SUNPRO_CC <= 0x5100) + // Sun 5.10 may not correctly value-initialize objects of + // some user defined types, as was reported in April 2010 + // (CR 6947016), and confirmed by Steve Clamage. + // (Niels Dekker, LKEB, May 2010). +# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +# endif + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if __SUNPRO_CC > 0x500 +# define BOOST_SYMBOL_EXPORT __global +# define BOOST_SYMBOL_IMPORT __global +# define BOOST_SYMBOL_VISIBLE __global +#endif + +// Deprecated symbol markup +// Oracle Studio 12.4 supports deprecated attribute with a message; this is the first release that supports the attribute. +#if (__SUNPRO_CC >= 0x5130) +#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) +#endif + +#if (__SUNPRO_CC < 0x5130) +// C++03 features in 12.4: +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_ADL_BARRIER +#define BOOST_NO_CXX11_VARIADIC_MACROS +#endif + +#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100) +// C++11 only featuires in 12.4: +#define BOOST_NO_CXX11_AUTO_DECLARATIONS +#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CXX11_CHAR16_T +#define BOOST_NO_CXX11_CHAR32_T +#define BOOST_NO_CXX11_CONSTEXPR +#define BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_CXX11_EXTERN_TEMPLATE +#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RVALUE_REFERENCES +#define BOOST_NO_CXX11_SCOPED_ENUMS +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_UNRESTRICTED_UNION +#endif + +#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103) +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_THREAD_LOCAL +#endif + +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +// +// C++0x features +// +# define BOOST_HAS_LONG_LONG + +#define BOOST_NO_CXX11_SFINAE_EXPR + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +// Turn on threading support for Solaris 12. +// Ticket #11972 +#if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS) +# define BOOST_HAS_THREADS +#endif + +// +// Version +// + +#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) + +// +// versions check: +// we don't support sunpro prior to version 4: +#if __SUNPRO_CC < 0x400 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version: +#if (__SUNPRO_CC > 0x5150) +# if defined(BOOST_ASSERT_CONFIG) +# error "Boost.Config is older than your compiler - please check for an updated Boost release." +# endif +#endif diff --git a/external/include/boost_1_90_0/boost/config/compiler/vacpp.hpp b/external/include/boost_1_90_0/boost/config/compiler/vacpp.hpp new file mode 100644 index 0000000000..5af1df1872 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/compiler/vacpp.hpp @@ -0,0 +1,189 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Toon Knapen 2001 - 2003. +// (C) Copyright Lie-Quan Lee 2001. +// (C) Copyright Markus Schoepflin 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Visual Age (IBM) C++ compiler setup: + +#if __IBMCPP__ <= 501 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +#if (__IBMCPP__ <= 502) +// Actually the compiler supports inclass member initialization but it +// requires a definition for the class member and it doesn't recognize +// it as an integral constant expression when used as a template argument. +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#endif + +#if (__IBMCPP__ <= 1110) +// XL C++ V11.1 and earlier versions may not always value-initialize +// a temporary object T(), when T is a non-POD aggregate class type. +// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it +// high priority. -- Niels Dekker (LKEB), May 2010. +# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +#endif + +// +// On AIX thread support seems to be indicated by _THREAD_SAFE: +// +#ifdef _THREAD_SAFE +# define BOOST_HAS_THREADS +#endif + +#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) + +// +// versions check: +// we don't support Visual age prior to version 5: +#if __IBMCPP__ < 500 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 1210: +#if (__IBMCPP__ > 1210) +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + +// Some versions of the compiler have issues with default arguments on partial specializations +#if __IBMCPP__ <= 1010 +#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +#endif + +// Type aliasing hint. Supported since XL C++ 13.1 +#if (__IBMCPP__ >= 1310) +# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#if ! __IBMCPP_AUTO_TYPEDEDUCTION +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif +#if ! __IBMCPP_UTF_LITERAL__ +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +#endif +#if ! __IBMCPP_CONSTEXPR +# define BOOST_NO_CXX11_CONSTEXPR +#endif +#if ! __IBMCPP_DECLTYPE +# define BOOST_NO_CXX11_DECLTYPE +#else +# define BOOST_HAS_DECLTYPE +#endif +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#define BOOST_NO_CXX11_DELETED_FUNCTIONS +#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif +#if ! __IBMCPP_EXTERN_TEMPLATE +# define BOOST_NO_CXX11_EXTERN_TEMPLATE +#endif +#if ! __IBMCPP_VARIADIC_TEMPLATES +// not enabled separately at this time +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#if ! __IBMCPP_RVALUE_REFERENCES +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif +#if ! __IBMCPP_SCOPED_ENUM +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#if ! __IBMCPP_STATIC_ASSERT +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_UNICODE_LITERALS +#if ! __IBMCPP_VARIADIC_TEMPLATES +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif +#if ! __C99_MACRO_WITH_VA_ARGS +# define BOOST_NO_CXX11_VARIADIC_MACROS +#endif +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#define BOOST_NO_CXX11_INLINE_NAMESPACES +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_UNRESTRICTED_UNION + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// C++17 +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif +#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606) +# define BOOST_NO_CXX17_INLINE_VARIABLES +#endif +#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603) +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/visualc.hpp b/external/include/boost_1_90_0/boost/config/compiler/visualc.hpp similarity index 89% rename from external/include/boost_1_75/boost/config/compiler/visualc.hpp rename to external/include/boost_1_90_0/boost/config/compiler/visualc.hpp index 7335540db0..0b9b9c59fe 100644 --- a/external/include/boost_1_75/boost/config/compiler/visualc.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/visualc.hpp @@ -1,367 +1,398 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright Aleksey Gurtovoy 2002. -// (C) Copyright David Abrahams 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. -// -// Microsoft Visual C++ compiler setup: -// -// We need to be careful with the checks in this file, as contrary -// to popular belief there are versions with _MSC_VER with the final -// digit non-zero (mainly the MIPS cross compiler). -// -// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX. -// No other comparisons (==, >, or <=) are safe. -// - -#define BOOST_MSVC _MSC_VER - -// -// Helper macro BOOST_MSVC_FULL_VER for use in Boost code: -// -#if _MSC_FULL_VER > 100000000 -# define BOOST_MSVC_FULL_VER _MSC_FULL_VER -#else -# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10) -#endif - -// Attempt to suppress VC6 warnings about the length of decorated names (obsolete): -#pragma warning( disable : 4503 ) // warning: decorated name length exceeded - -#define BOOST_HAS_PRAGMA_ONCE - -// -// versions check: -// we don't support Visual C++ prior to version 7.1: -#if _MSC_VER < 1310 -# error "Compiler not supported or configured - please reconfigure" -#endif - -// VS2005 (VC8) docs: __assume has been in Visual C++ for multiple releases -#define BOOST_UNREACHABLE_RETURN(x) __assume(0); - -#if _MSC_FULL_VER < 180020827 -# define BOOST_NO_FENV_H -#endif - -#if _MSC_VER < 1400 -// although a conforming signature for swprint exists in VC7.1 -// it appears not to actually work: -# define BOOST_NO_SWPRINTF -// Our extern template tests also fail for this compiler: -# define BOOST_NO_CXX11_EXTERN_TEMPLATE -// Variadic macros do not exist for VC7.1 and lower -# define BOOST_NO_CXX11_VARIADIC_MACROS -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif - -#if _MSC_VER < 1500 // 140X == VC++ 8.0 -# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS -#endif - -#if _MSC_VER < 1600 // 150X == VC++ 9.0 - // A bug in VC9: -# define BOOST_NO_ADL_BARRIER -#endif - - -#ifndef _NATIVE_WCHAR_T_DEFINED -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -// -// check for exception handling support: -#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -// -// __int64 support: -// -#define BOOST_HAS_MS_INT64 -#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400) -# define BOOST_HAS_LONG_LONG -#else -# define BOOST_NO_LONG_LONG -#endif -#if (_MSC_VER >= 1400) && !defined(_DEBUG) -# define BOOST_HAS_NRVO -#endif -#if _MSC_VER >= 1600 // 160X == VC++ 10.0 -# define BOOST_HAS_PRAGMA_DETECT_MISMATCH -#endif -// -// disable Win32 API's if compiler extensions are -// turned off: -// -#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32) -# define BOOST_DISABLE_WIN32 -#endif -#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -// -// TR1 features: -// -#if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0) -// # define BOOST_HAS_TR1_HASH // don't know if this is true yet. -// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet. -# define BOOST_HAS_TR1_UNORDERED_MAP -# define BOOST_HAS_TR1_UNORDERED_SET -#endif - -// -// C++0x features -// -// See above for BOOST_NO_LONG_LONG - -// C++ features supported by VC++ 10 (aka 2010) -// -#if _MSC_VER < 1600 -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# define BOOST_NO_CXX11_LAMBDAS -# define BOOST_NO_CXX11_RVALUE_REFERENCES -# define BOOST_NO_CXX11_STATIC_ASSERT -# define BOOST_NO_CXX11_NULLPTR -# define BOOST_NO_CXX11_DECLTYPE -#endif // _MSC_VER < 1600 - -#if _MSC_VER >= 1600 -# define BOOST_HAS_STDINT_H -#endif - -// C++11 features supported by VC++ 11 (aka 2012) -// -#if _MSC_VER < 1700 -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_RANGE_BASED_FOR -# define BOOST_NO_CXX11_SCOPED_ENUMS -# define BOOST_NO_CXX11_OVERRIDE -#endif // _MSC_VER < 1700 - -// C++11 features supported by VC++ 12 (aka 2013). -// -#if _MSC_FULL_VER < 180020827 -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# define BOOST_NO_CXX11_RAW_LITERALS -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -# define BOOST_NO_CXX11_DECLTYPE_N3276 -#endif - -#if _MSC_FULL_VER >= 180020827 -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_LOG1P -#endif - -// C++11 features supported by VC++ 14 (aka 2015) -// -#if (_MSC_FULL_VER < 190023026) -# define BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NO_CXX11_DEFAULTED_MOVES -# define BOOST_NO_CXX11_REF_QUALIFIERS -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -# define BOOST_NO_CXX11_ALIGNAS -# define BOOST_NO_CXX11_INLINE_NAMESPACES -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -# define BOOST_NO_CXX11_UNICODE_LITERALS -# define BOOST_NO_CXX14_DECLTYPE_AUTO -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -# define BOOST_NO_CXX14_BINARY_LITERALS -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -# define BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif -// C++11 features supported by VC++ 14 update 3 (aka 2015) -// -#if (_MSC_FULL_VER < 190024210) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -# define BOOST_NO_SFINAE_EXPR -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -// C++14 features supported by VC++ 14.1 (Visual Studio 2017) -// -#if (_MSC_VER < 1910) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif - -// C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3 -// -#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -# define BOOST_NO_CXX17_IF_CONSTEXPR -// Let the defaults handle these now: -//# define BOOST_NO_CXX17_HDR_OPTIONAL -//# define BOOST_NO_CXX17_HDR_STRING_VIEW -#endif - -// MSVC including version 14 has not yet completely -// implemented value-initialization, as is reported: -// "VC++ does not value-initialize members of derived classes without -// user-declared constructor", reported in 2009 by Sylvester Hesp: -// https://connect.microsoft.com/VisualStudio/feedback/details/484295 -// "Presence of copy constructor breaks member class initialization", -// reported in 2009 by Alex Vakulenko: -// https://connect.microsoft.com/VisualStudio/feedback/details/499606 -// "Value-initialization in new-expression", reported in 2005 by -// Pavel Kuznetsov (MetaCommunications Engineering): -// https://connect.microsoft.com/VisualStudio/feedback/details/100744 -// Reported again by John Maddock in 2015 for VC14: -// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -// (Niels Dekker, LKEB, May 2010) -// Still present in VC15.5, Dec 2017. -#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION -// -// C++ 11: -// -// This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell -// if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go -// on defining it for now: -// -# define BOOST_NO_TWO_PHASE_NAME_LOOKUP - -#if (_MSC_VER < 1912) || (_MSVC_LANG < 201402) -// Supported from msvc-15.5 onwards: -#define BOOST_NO_CXX11_SFINAE_EXPR -#endif -#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402) -// C++ 14: -// Still gives internal compiler error for msvc-15.5: -# define BOOST_NO_CXX14_CONSTEXPR -#endif -// C++ 17: -#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703) -#define BOOST_NO_CXX17_INLINE_VARIABLES -#define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif - -// -// Things that don't work in clr mode: -// -#ifdef _M_CEE -#ifndef BOOST_NO_CXX11_THREAD_LOCAL -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif -#ifndef BOOST_NO_SFINAE_EXPR -# define BOOST_NO_SFINAE_EXPR -#endif -#ifndef BOOST_NO_CXX11_REF_QUALIFIERS -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif -#endif -#ifdef _M_CEE_PURE -#ifndef BOOST_NO_CXX11_CONSTEXPR -# define BOOST_NO_CXX11_CONSTEXPR -#endif -#endif - -// -// prefix and suffix headers: -// -#ifndef BOOST_ABI_PREFIX -# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" -#endif -#ifndef BOOST_ABI_SUFFIX -# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" -#endif - -#ifndef BOOST_COMPILER -// TODO: -// these things are mostly bogus. 1200 means version 12.0 of the compiler. The -// artificial versions assigned to them only refer to the versions of some IDE -// these compilers have been shipped with, and even that is not all of it. Some -// were shipped with freely downloadable SDKs, others as crosscompilers in eVC. -// IOW, you can't use these 'versions' in any sensible way. Sorry. -# if defined(UNDER_CE) -# if _MSC_VER < 1400 - // Note: I'm not aware of any CE compiler with version 13xx -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" -# else -# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") -# endif -# elif _MSC_VER < 1500 -# define BOOST_COMPILER_VERSION evc8 -# elif _MSC_VER < 1600 -# define BOOST_COMPILER_VERSION evc9 -# elif _MSC_VER < 1700 -# define BOOST_COMPILER_VERSION evc10 -# elif _MSC_VER < 1800 -# define BOOST_COMPILER_VERSION evc11 -# elif _MSC_VER < 1900 -# define BOOST_COMPILER_VERSION evc12 -# elif _MSC_VER < 2000 -# define BOOST_COMPILER_VERSION evc14 -# else -# if defined(BOOST_ASSERT_CONFIG) -# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" -# else -# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") -# endif -# endif -# else -# if _MSC_VER < 1200 - // Note: Versions up to 10.0 aren't supported. -# define BOOST_COMPILER_VERSION 5.0 -# elif _MSC_VER < 1300 -# define BOOST_COMPILER_VERSION 6.0 -# elif _MSC_VER < 1310 -# define BOOST_COMPILER_VERSION 7.0 -# elif _MSC_VER < 1400 -# define BOOST_COMPILER_VERSION 7.1 -# elif _MSC_VER < 1500 -# define BOOST_COMPILER_VERSION 8.0 -# elif _MSC_VER < 1600 -# define BOOST_COMPILER_VERSION 9.0 -# elif _MSC_VER < 1700 -# define BOOST_COMPILER_VERSION 10.0 -# elif _MSC_VER < 1800 -# define BOOST_COMPILER_VERSION 11.0 -# elif _MSC_VER < 1900 -# define BOOST_COMPILER_VERSION 12.0 -# elif _MSC_VER < 1910 -# define BOOST_COMPILER_VERSION 14.0 -# elif _MSC_VER < 1920 -# define BOOST_COMPILER_VERSION 14.1 -# elif _MSC_VER < 1930 -# define BOOST_COMPILER_VERSION 14.2 -# else -# define BOOST_COMPILER_VERSION _MSC_VER -# endif -# endif - -# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) -#endif - -#include - -// -// last known and checked version is 19.20.27508 (VC++ 2019 RC3): -#if (_MSC_VER > 1920) -# if defined(BOOST_ASSERT_CONFIG) -# error "Boost.Config is older than your current compiler version." -# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE) - // - // Disabled as of March 2018 - the pace of VS releases is hard to keep up with - // and in any case, we have relatively few defect macros defined now. - // BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.") -# endif -#endif +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. +// +// Microsoft Visual C++ compiler setup: +// +// We need to be careful with the checks in this file, as contrary +// to popular belief there are versions with _MSC_VER with the final +// digit non-zero (mainly the MIPS cross compiler). +// +// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX. +// No other comparisons (==, >, or <=) are safe. +// + +#define BOOST_MSVC _MSC_VER + +// +// Helper macro BOOST_MSVC_FULL_VER for use in Boost code: +// +#if _MSC_FULL_VER > 100000000 +# define BOOST_MSVC_FULL_VER _MSC_FULL_VER +#else +# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10) +#endif + +// Attempt to suppress VC6 warnings about the length of decorated names (obsolete): +#pragma warning( disable : 4503 ) // warning: decorated name length exceeded + +#define BOOST_HAS_PRAGMA_ONCE + +// +// versions check: +// we don't support Visual C++ prior to version 7.1: +#if _MSC_VER < 1310 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// VS2005 (VC8) docs: __assume has been in Visual C++ for multiple releases +#define BOOST_UNREACHABLE_RETURN(x) __assume(0); + +#if _MSC_FULL_VER < 180020827 +# define BOOST_NO_FENV_H +#endif + +#if _MSC_VER < 1400 +// although a conforming signature for swprint exists in VC7.1 +// it appears not to actually work: +# define BOOST_NO_SWPRINTF +// Our extern template tests also fail for this compiler: +# define BOOST_NO_CXX11_EXTERN_TEMPLATE +// Variadic macros do not exist for VC7.1 and lower +# define BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +#if _MSC_VER < 1500 // 140X == VC++ 8.0 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif + +#if _MSC_VER < 1600 // 150X == VC++ 9.0 + // A bug in VC9: +# define BOOST_NO_ADL_BARRIER +#endif + + +#ifndef _NATIVE_WCHAR_T_DEFINED +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +// +// check for exception handling support: +#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +// +// __int64 support: +// +#define BOOST_HAS_MS_INT64 +#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400) +# define BOOST_HAS_LONG_LONG +#else +# define BOOST_NO_LONG_LONG +#endif +#if (_MSC_VER >= 1400) && !defined(_DEBUG) +# define BOOST_HAS_NRVO +#endif +#if _MSC_VER >= 1600 // 160X == VC++ 10.0 +# define BOOST_HAS_PRAGMA_DETECT_MISMATCH +#endif +// +// disable Win32 API's if compiler extensions are +// turned off: +// +#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32) +# define BOOST_DISABLE_WIN32 +#endif +#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +// Deprecated symbol markup +#if (_MSC_VER >= 1400) +#define BOOST_DEPRECATED(msg) __declspec(deprecated(msg)) +#else +// MSVC 7.1 only supports the attribute without a message +#define BOOST_DEPRECATED(msg) __declspec(deprecated) +#endif + +// +// TR1 features: +// +#if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0) +// # define BOOST_HAS_TR1_HASH // don't know if this is true yet. +// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet. +# define BOOST_HAS_TR1_UNORDERED_MAP +# define BOOST_HAS_TR1_UNORDERED_SET +#endif + +// +// C++0x features +// +// See above for BOOST_NO_LONG_LONG + +// C++ features supported by VC++ 10 (aka 2010) +// +#if _MSC_VER < 1600 +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CXX11_LAMBDAS +# define BOOST_NO_CXX11_RVALUE_REFERENCES +# define BOOST_NO_CXX11_STATIC_ASSERT +# define BOOST_NO_CXX11_NULLPTR +# define BOOST_NO_CXX11_DECLTYPE +#endif // _MSC_VER < 1600 + +#if _MSC_VER >= 1600 +# define BOOST_HAS_STDINT_H +#endif + +// C++11 features supported by VC++ 11 (aka 2012) +// +#if _MSC_VER < 1700 +# define BOOST_NO_CXX11_FINAL +# define BOOST_NO_CXX11_RANGE_BASED_FOR +# define BOOST_NO_CXX11_SCOPED_ENUMS +# define BOOST_NO_CXX11_OVERRIDE +#endif // _MSC_VER < 1700 + +// C++11 features supported by VC++ 12 (aka 2013). +// +#if _MSC_FULL_VER < 180020827 +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +# define BOOST_NO_CXX11_RAW_LITERALS +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +# define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +#if _MSC_FULL_VER >= 180020827 +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#endif + +// C++11 features supported by VC++ 14 (aka 2015) +// +#if (_MSC_FULL_VER < 190023026) +# define BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NO_CXX11_DEFAULTED_MOVES +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_ALIGNOF +# define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +# define BOOST_NO_CXX11_UNICODE_LITERALS +# define BOOST_NO_CXX14_DECLTYPE_AUTO +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +# define BOOST_NO_CXX14_BINARY_LITERALS +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +# define BOOST_NO_CXX11_THREAD_LOCAL +# define BOOST_NO_CXX11_UNRESTRICTED_UNION +#endif +// C++11 features supported by VC++ 14 update 3 (aka 2015) +// +#if (_MSC_FULL_VER < 190024210) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +# define BOOST_NO_SFINAE_EXPR +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +// C++14 features supported by VC++ 14.1 (Visual Studio 2017) +// +#if (_MSC_VER < 1910) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif + +// C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3 +// +#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +# define BOOST_NO_CXX17_IF_CONSTEXPR +// Let the defaults handle these now: +//# define BOOST_NO_CXX17_HDR_OPTIONAL +//# define BOOST_NO_CXX17_HDR_STRING_VIEW +#endif + +// MSVC including version 14 has not yet completely +// implemented value-initialization, as is reported: +// "VC++ does not value-initialize members of derived classes without +// user-declared constructor", reported in 2009 by Sylvester Hesp: +// https://connect.microsoft.com/VisualStudio/feedback/details/484295 +// "Presence of copy constructor breaks member class initialization", +// reported in 2009 by Alex Vakulenko: +// https://connect.microsoft.com/VisualStudio/feedback/details/499606 +// "Value-initialization in new-expression", reported in 2005 by +// Pavel Kuznetsov (MetaCommunications Engineering): +// https://connect.microsoft.com/VisualStudio/feedback/details/100744 +// Reported again by John Maddock in 2015 for VC14: +// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly +// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues +// (Niels Dekker, LKEB, May 2010) +// Still present in VC15.5, Dec 2017. +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +// +// C++ 11: +// +// This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell +// if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go +// on defining it for now: +// +#if (_MSC_FULL_VER < 193030705) || (_MSVC_LANG < 202004) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#if (_MSC_VER < 1912) || (_MSVC_LANG < 201402) +// Supported from msvc-15.5 onwards: +#define BOOST_NO_CXX11_SFINAE_EXPR +#endif +#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402) +// C++ 14: +// Still gives internal compiler error for msvc-15.5: +# define BOOST_NO_CXX14_CONSTEXPR +#endif +// C++ 17: +#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703) +#define BOOST_NO_CXX17_INLINE_VARIABLES +#define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif +#if (_MSC_VER < 1914) || (_MSVC_LANG < 201703) +#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +// +// Things that don't work in clr mode: +// +#ifdef _M_CEE +#ifndef BOOST_NO_CXX11_THREAD_LOCAL +# define BOOST_NO_CXX11_THREAD_LOCAL +#endif +#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG) +# define BOOST_NO_SFINAE_EXPR +#endif +#ifndef BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_REF_QUALIFIERS +#endif +#endif +#ifdef _M_CEE_PURE +#ifndef BOOST_NO_CXX11_CONSTEXPR +# define BOOST_NO_CXX11_CONSTEXPR +#endif +#endif + +// +// prefix and suffix headers: +// +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" +#endif + +// +// Approximate compiler conformance version +// +#ifdef _MSVC_LANG +# define BOOST_CXX_VERSION _MSVC_LANG +#elif defined(_HAS_CXX17) +# define BOOST_CXX_VERSION 201703L +#elif BOOST_MSVC >= 1916 +# define BOOST_CXX_VERSION 201402L +#endif + +#if BOOST_CXX_VERSION >= 201703L +# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]] +#endif + +#ifndef BOOST_COMPILER +// TODO: +// these things are mostly bogus. 1200 means version 12.0 of the compiler. The +// artificial versions assigned to them only refer to the versions of some IDE +// these compilers have been shipped with, and even that is not all of it. Some +// were shipped with freely downloadable SDKs, others as crosscompilers in eVC. +// IOW, you can't use these 'versions' in any sensible way. Sorry. +# if defined(UNDER_CE) +# if _MSC_VER < 1400 + // Note: I'm not aware of any CE compiler with version 13xx +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" +# else +# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") +# endif +# elif _MSC_VER < 1500 +# define BOOST_COMPILER_VERSION evc8 +# elif _MSC_VER < 1600 +# define BOOST_COMPILER_VERSION evc9 +# elif _MSC_VER < 1700 +# define BOOST_COMPILER_VERSION evc10 +# elif _MSC_VER < 1800 +# define BOOST_COMPILER_VERSION evc11 +# elif _MSC_VER < 1900 +# define BOOST_COMPILER_VERSION evc12 +# elif _MSC_VER < 2000 +# define BOOST_COMPILER_VERSION evc14 +# else +# if defined(BOOST_ASSERT_CONFIG) +# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" +# else +# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") +# endif +# endif +# else +# if _MSC_VER < 1200 + // Note: Versions up to 10.0 aren't supported. +# define BOOST_COMPILER_VERSION 5.0 +# elif _MSC_VER < 1300 +# define BOOST_COMPILER_VERSION 6.0 +# elif _MSC_VER < 1310 +# define BOOST_COMPILER_VERSION 7.0 +# elif _MSC_VER < 1400 +# define BOOST_COMPILER_VERSION 7.1 +# elif _MSC_VER < 1500 +# define BOOST_COMPILER_VERSION 8.0 +# elif _MSC_VER < 1600 +# define BOOST_COMPILER_VERSION 9.0 +# elif _MSC_VER < 1700 +# define BOOST_COMPILER_VERSION 10.0 +# elif _MSC_VER < 1800 +# define BOOST_COMPILER_VERSION 11.0 +# elif _MSC_VER < 1900 +# define BOOST_COMPILER_VERSION 12.0 +# elif _MSC_VER < 1910 +# define BOOST_COMPILER_VERSION 14.0 +# elif _MSC_VER < 1920 +# define BOOST_COMPILER_VERSION 14.1 +# elif _MSC_VER < 1930 +# define BOOST_COMPILER_VERSION 14.2 +# elif _MSC_VER < 1940 +# define BOOST_COMPILER_VERSION 14.3 +# else +# define BOOST_COMPILER_VERSION _MSC_VER +# endif +# endif + +# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) +#endif + +#include + +// +// last known and checked version is 19.3x (VS2022): +#if (_MSC_VER >= 1940) +# if defined(BOOST_ASSERT_CONFIG) +# error "Boost.Config is older than your current compiler version." +# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE) + // + // Disabled as of March 2018 - the pace of VS releases is hard to keep up with + // and in any case, we have relatively few defect macros defined now. + // BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.") +# endif +#endif diff --git a/external/include/boost_1_75/boost/config/compiler/xlcpp.hpp b/external/include/boost_1_90_0/boost/config/compiler/xlcpp.hpp similarity index 91% rename from external/include/boost_1_75/boost/config/compiler/xlcpp.hpp rename to external/include/boost_1_90_0/boost/config/compiler/xlcpp.hpp index c24b2c5163..8597882291 100644 --- a/external/include/boost_1_75/boost/config/compiler/xlcpp.hpp +++ b/external/include/boost_1_90_0/boost/config/compiler/xlcpp.hpp @@ -1,290 +1,303 @@ -// (C) Copyright Douglas Gregor 2010 -// -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang. - -#define BOOST_HAS_PRAGMA_ONCE - -// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. -#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) -# define BOOST_HAS_PRAGMA_DETECT_MISMATCH -#endif - -// When compiling with clang before __has_extension was defined, -// even if one writes 'defined(__has_extension) && __has_extension(xxx)', -// clang reports a compiler error. So the only workaround found is: - -#ifndef __has_extension -#define __has_extension __has_feature -#endif - -#ifndef __has_cpp_attribute -#define __has_cpp_attribute(x) 0 -#endif - -#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) -# define BOOST_NO_EXCEPTIONS -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) -# define BOOST_NO_TYPEID -#endif - -#if defined(__int64) && !defined(__GNUC__) -# define BOOST_HAS_MS_INT64 -#endif - -#define BOOST_HAS_NRVO - -// Branch prediction hints -#if defined(__has_builtin) -#if __has_builtin(__builtin_expect) -#define BOOST_LIKELY(x) __builtin_expect(x, 1) -#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) -#endif -#endif - -// Clang supports "long long" in all compilation modes. -#define BOOST_HAS_LONG_LONG - -// -// Dynamic shared object (DSO) and dynamic-link library (DLL) support -// -#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) -# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) -# define BOOST_SYMBOL_IMPORT -# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) -#endif - -// -// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through -// between switch labels. -// -#if __cplusplus >= 201103L && defined(__has_warning) -# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") -# define BOOST_FALLTHROUGH [[clang::fallthrough]] -# endif -#endif - -#if !__has_feature(cxx_auto_type) -# define BOOST_NO_CXX11_AUTO_DECLARATIONS -# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -#endif - -// -// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t -// -#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) -# define BOOST_NO_CXX11_CHAR16_T -# define BOOST_NO_CXX11_CHAR32_T -#endif - -#if !__has_feature(cxx_constexpr) -# define BOOST_NO_CXX11_CONSTEXPR -#endif - -#if !__has_feature(cxx_decltype) -# define BOOST_NO_CXX11_DECLTYPE -#endif - -#if !__has_feature(cxx_decltype_incomplete_return_types) -# define BOOST_NO_CXX11_DECLTYPE_N3276 -#endif - -#if !__has_feature(cxx_defaulted_functions) -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -#endif - -#if !__has_feature(cxx_deleted_functions) -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -#endif - -#if !__has_feature(cxx_explicit_conversions) -# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -#endif - -#if !__has_feature(cxx_default_function_template_args) -# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -#endif - -#if !__has_feature(cxx_lambdas) -# define BOOST_NO_CXX11_LAMBDAS -#endif - -#if !__has_feature(cxx_local_type_template_args) -# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif - -#if !__has_feature(cxx_noexcept) -# define BOOST_NO_CXX11_NOEXCEPT -#endif - -#if !__has_feature(cxx_nullptr) -# define BOOST_NO_CXX11_NULLPTR -#endif - -#if !__has_feature(cxx_range_for) -# define BOOST_NO_CXX11_RANGE_BASED_FOR -#endif - -#if !__has_feature(cxx_raw_string_literals) -# define BOOST_NO_CXX11_RAW_LITERALS -#endif - -#if !__has_feature(cxx_reference_qualified_functions) -# define BOOST_NO_CXX11_REF_QUALIFIERS -#endif - -#if !__has_feature(cxx_generalized_initializers) -# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#endif - -#if !__has_feature(cxx_rvalue_references) -# define BOOST_NO_CXX11_RVALUE_REFERENCES -#endif - -#if !__has_feature(cxx_strong_enums) -# define BOOST_NO_CXX11_SCOPED_ENUMS -#endif - -#if !__has_feature(cxx_static_assert) -# define BOOST_NO_CXX11_STATIC_ASSERT -#endif - -#if !__has_feature(cxx_alias_templates) -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -#endif - -#if !__has_feature(cxx_unicode_literals) -# define BOOST_NO_CXX11_UNICODE_LITERALS -#endif - -#if !__has_feature(cxx_variadic_templates) -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#endif - -#if !__has_feature(cxx_user_literals) -# define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#endif - -#if !__has_feature(cxx_alignas) -# define BOOST_NO_CXX11_ALIGNAS -#endif - -#if !__has_feature(cxx_trailing_return) -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -#endif - -#if !__has_feature(cxx_inline_namespaces) -# define BOOST_NO_CXX11_INLINE_NAMESPACES -#endif - -#if !__has_feature(cxx_override_control) -# define BOOST_NO_CXX11_FINAL -# define BOOST_NO_CXX11_OVERRIDE -#endif - -#if !__has_feature(cxx_unrestricted_unions) -# define BOOST_NO_CXX11_UNRESTRICTED_UNION -#endif - -#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) -# define BOOST_NO_CXX14_BINARY_LITERALS -#endif - -#if !__has_feature(__cxx_decltype_auto__) -# define BOOST_NO_CXX14_DECLTYPE_AUTO -#endif - -#if !__has_feature(__cxx_aggregate_nsdmi__) -# define BOOST_NO_CXX14_AGGREGATE_NSDMI -#endif - -#if !__has_feature(__cxx_init_captures__) -# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES -#endif - -#if !__has_feature(__cxx_generic_lambdas__) -# define BOOST_NO_CXX14_GENERIC_LAMBDAS -#endif - -// clang < 3.5 has a defect with dependent type, like following. -// -// template -// constexpr typename enable_if >::type foo(T &) -// { } // error: no return statement in constexpr function -// -// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. -// Therefore we don't care such case. -// -// Note that we can't check Clang version directly as the numbering system changes depending who's -// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) -// so instead verify that we have a feature that was introduced at the same time as working C++14 -// constexpr (generic lambda's in this case): -// -#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) -# define BOOST_NO_CXX14_CONSTEXPR -#endif - -#if !__has_feature(__cxx_return_type_deduction__) -# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION -#endif - -#if !__has_feature(__cxx_variable_templates__) -# define BOOST_NO_CXX14_VARIABLE_TEMPLATES -#endif - -#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) -# define BOOST_NO_CXX17_STRUCTURED_BINDINGS -#endif - -#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) -# define BOOST_NO_CXX17_IF_CONSTEXPR -#endif - -// Clang 3.9+ in c++1z -#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L -# define BOOST_NO_CXX17_INLINE_VARIABLES -# define BOOST_NO_CXX17_FOLD_EXPRESSIONS -#endif - -#if !__has_feature(cxx_thread_local) -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -#if __cplusplus < 201400 -// All versions with __cplusplus above this value seem to support this: -# define BOOST_NO_CXX14_DIGIT_SEPARATORS -#endif - - -// Unused attribute: -#if defined(__GNUC__) && (__GNUC__ >= 4) -# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) -#endif - -// Type aliasing hint. -#if __has_attribute(__may_alias__) -# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) -#endif - -#ifndef BOOST_COMPILER -# define BOOST_COMPILER "Clang version " __clang_version__ -#endif - -// Macro used to identify the Clang compiler. -#define BOOST_CLANG 1 - +// (C) Copyright Douglas Gregor 2010 +// +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang. + +#define BOOST_HAS_PRAGMA_ONCE + +// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. +#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) +# define BOOST_HAS_PRAGMA_DETECT_MISMATCH +#endif + +// When compiling with clang before __has_extension was defined, +// even if one writes 'defined(__has_extension) && __has_extension(xxx)', +// clang reports a compiler error. So the only workaround found is: + +#ifndef __has_extension +#define __has_extension __has_feature +#endif + +#ifndef __has_cpp_attribute +#define __has_cpp_attribute(x) 0 +#endif + +#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) +# define BOOST_NO_TYPEID +#endif + +#if defined(__int64) && !defined(__GNUC__) +# define BOOST_HAS_MS_INT64 +#endif + +#define BOOST_HAS_NRVO + +// Branch prediction hints +#if defined(__has_builtin) +#if __has_builtin(__builtin_expect) +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) +#endif +#endif + +// Clang supports "long long" in all compilation modes. +#define BOOST_HAS_LONG_LONG + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) +# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_IMPORT +# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) +#endif + +// +// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through +// between switch labels. +// +#if __cplusplus >= 201103L && defined(__has_warning) +# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +# define BOOST_FALLTHROUGH [[clang::fallthrough]] +# endif +#endif + +#if !__has_feature(cxx_auto_type) +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif + +// +// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t +// +#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +#endif + +#if !__has_feature(cxx_constexpr) +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +#if !__has_feature(cxx_decltype) +# define BOOST_NO_CXX11_DECLTYPE +#endif + +#if !__has_feature(cxx_decltype_incomplete_return_types) +# define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +#if !__has_feature(cxx_defaulted_functions) +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#endif + +#if !__has_feature(cxx_deleted_functions) +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +#endif + +#if !__has_feature(cxx_explicit_conversions) +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +#if !__has_feature(cxx_default_function_template_args) +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif + +#if !__has_feature(cxx_generalized_initializers) +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +#if !__has_feature(cxx_lambdas) +# define BOOST_NO_CXX11_LAMBDAS +#endif + +#if !__has_feature(cxx_local_type_template_args) +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +#if !__has_feature(cxx_noexcept) +# define BOOST_NO_CXX11_NOEXCEPT +#endif + +#if !__has_feature(cxx_nullptr) +# define BOOST_NO_CXX11_NULLPTR +#endif + +#if !__has_feature(cxx_range_for) +# define BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +#if !__has_feature(cxx_raw_string_literals) +# define BOOST_NO_CXX11_RAW_LITERALS +#endif + +#if !__has_feature(cxx_reference_qualified_functions) +# define BOOST_NO_CXX11_REF_QUALIFIERS +#endif + +#if !__has_feature(cxx_generalized_initializers) +# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif + +#if !__has_feature(cxx_rvalue_references) +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +#if !__has_feature(cxx_strong_enums) +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +#if !__has_feature(cxx_static_assert) +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif + +#if !__has_feature(cxx_alias_templates) +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +#endif + +#if !__has_feature(cxx_unicode_literals) +# define BOOST_NO_CXX11_UNICODE_LITERALS +#endif + +#if !__has_feature(cxx_variadic_templates) +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif + +#if !__has_feature(cxx_user_literals) +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif + +#if !__has_feature(cxx_alignas) +# define BOOST_NO_CXX11_ALIGNAS +#endif + +#if !__has_feature(cxx_alignof) +# define BOOST_NO_CXX11_ALIGNOF +#endif + +#if !__has_feature(cxx_trailing_return) +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +#if !__has_feature(cxx_inline_namespaces) +# define BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +#if !__has_feature(cxx_override_control) +# define BOOST_NO_CXX11_FINAL +# define BOOST_NO_CXX11_OVERRIDE +#endif + +#if !__has_feature(cxx_unrestricted_unions) +# define BOOST_NO_CXX11_UNRESTRICTED_UNION +#endif + +#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif + +#if !__has_feature(__cxx_decltype_auto__) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif + +#if !__has_feature(__cxx_aggregate_nsdmi__) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif + +#if !__has_feature(__cxx_init_captures__) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif + +#if !__has_feature(__cxx_generic_lambdas__) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif + +// clang < 3.5 has a defect with dependent type, like following. +// +// template +// constexpr typename enable_if >::type foo(T &) +// { } // error: no return statement in constexpr function +// +// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. +// Therefore we don't care such case. +// +// Note that we can't check Clang version directly as the numbering system changes depending who's +// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) +// so instead verify that we have a feature that was introduced at the same time as working C++14 +// constexpr (generic lambda's in this case): +// +#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) +# define BOOST_NO_CXX14_CONSTEXPR +#endif + +#if !__has_feature(__cxx_return_type_deduction__) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif + +#if !__has_feature(__cxx_variable_templates__) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif + +#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606) +# define BOOST_NO_CXX17_IF_CONSTEXPR +#endif + +// Clang 3.9+ in c++1z +#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L +# define BOOST_NO_CXX17_INLINE_VARIABLES +# define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#endif + +#if !defined(__cpp_nontype_template_parameter_auto) || (__cpp_nontype_template_parameter_auto < 201606) +# define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS +#endif + +#if !__has_feature(cxx_thread_local) +# define BOOST_NO_CXX11_THREAD_LOCAL +#endif + +#if __cplusplus < 201400 +// All versions with __cplusplus above this value seem to support this: +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif + +// Deprecated symbol markup +#if __has_attribute(deprecated) +#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg))) +#endif + +// Unused attribute: +#if defined(__GNUC__) && (__GNUC__ >= 4) +# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) +#endif + +// Type aliasing hint. +#if __has_attribute(__may_alias__) +# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) +#endif + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "Clang version " __clang_version__ +#endif + +// Macro used to identify the Clang compiler. +#define BOOST_CLANG 1 + +#define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) diff --git a/external/include/boost_1_90_0/boost/config/compiler/xlcpp_zos.hpp b/external/include/boost_1_90_0/boost/config/compiler/xlcpp_zos.hpp new file mode 100644 index 0000000000..69a567d000 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/compiler/xlcpp_zos.hpp @@ -0,0 +1,174 @@ +// Copyright (c) 2017 Dynatrace +// +// 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 + +// See http://www.boost.org for most recent version. + +// Compiler setup for IBM z/OS XL C/C++ compiler. + +// Oldest compiler version currently supported is 2.1 (V2R1) +#if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000 +# error "Compiler not supported or configured - please reconfigure" +#endif + +#if __COMPILER_VER__ > 0x42010000 +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + +#define BOOST_COMPILER "IBM z/OS XL C/C++ version " BOOST_STRINGIZE(__COMPILER_VER__) +#define BOOST_XLCPP_ZOS __COMPILER_VER__ + +// ------------------------------------- + +#include // For __UU, __C99, __TR1, ... + +#if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS) +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + +// ------------------------------------- + +#if defined(__UU) || defined(__C99) || defined(__TR1) +# define BOOST_HAS_LOG1P +# define BOOST_HAS_EXPM1 +#endif + +#if defined(__C99) || defined(__TR1) +# define BOOST_HAS_STDINT_H +#else +# define BOOST_NO_FENV_H +#endif + +// ------------------------------------- + +#define BOOST_HAS_NRVO + +#if !defined(__RTTI_ALL__) +# define BOOST_NO_RTTI +#endif + +#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) +# define BOOST_HAS_LONG_LONG +#else +# define BOOST_NO_LONG_LONG +#endif + +#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64) +# define BOOST_HAS_MS_INT64 +#endif + +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_CXX11_SFINAE_EXPR + +#if defined(__IBMCPP_VARIADIC_TEMPLATES) +# define BOOST_HAS_VARIADIC_TMPL +#else +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif + +#if defined(__IBMCPP_STATIC_ASSERT) +# define BOOST_HAS_STATIC_ASSERT +#else +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif + +#if defined(__IBMCPP_RVALUE_REFERENCES) +# define BOOST_HAS_RVALUE_REFS +#else +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +#if !defined(__IBMCPP_SCOPED_ENUM) +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#define BOOST_NO_CXX11_TEMPLATE_ALIASES +#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS + +#if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS) +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +#if !defined(__IBMCPP_DECLTYPE) +# define BOOST_NO_CXX11_DECLTYPE +#else +# define BOOST_HAS_DECLTYPE +#endif +#define BOOST_NO_CXX11_DECLTYPE_N3276 + +#if !defined(__IBMCPP_INLINE_NAMESPACE) +# define BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +#if !defined(__IBMCPP_AUTO_TYPEDEDUCTION) +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +#if !defined(__IBM_CHAR32_T__) +# define BOOST_NO_CXX11_CHAR32_T +#endif +#if !defined(__IBM_CHAR16_T__) +# define BOOST_NO_CXX11_CHAR16_T +#endif + +#if !defined(__IBMCPP_CONSTEXPR) +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_UNICODE_LITERALS +#define BOOST_NO_CXX11_RAW_LITERALS +#define BOOST_NO_CXX11_RANGE_BASED_FOR +#define BOOST_NO_CXX11_NULLPTR +#define BOOST_NO_CXX11_NOEXCEPT +#define BOOST_NO_CXX11_LAMBDAS +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_THREAD_LOCAL +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#define BOOST_NO_CXX11_OVERRIDE +#define BOOST_NO_CXX11_ALIGNAS +#define BOOST_NO_CXX11_ALIGNOF +#define BOOST_NO_CXX11_UNRESTRICTED_UNION +#define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#define BOOST_NO_CXX14_AGGREGATE_NSDMI +#define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#define BOOST_NO_CXX14_GENERIC_LAMBDAS +#define BOOST_NO_CXX14_DIGIT_SEPARATORS +#define BOOST_NO_CXX14_DECLTYPE_AUTO +#define BOOST_NO_CXX14_CONSTEXPR +#define BOOST_NO_CXX14_BINARY_LITERALS +#define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#define BOOST_NO_CXX17_INLINE_VARIABLES +#define BOOST_NO_CXX17_FOLD_EXPRESSIONS +#define BOOST_NO_CXX17_IF_CONSTEXPR +#define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS + +// ------------------------------------- + +#if defined(__IBM_ATTRIBUTES) +# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) +# define BOOST_NOINLINE __attribute__ ((__noinline__)) +# define BOOST_MAY_ALIAS __attribute__((__may_alias__)) +// No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1). +#endif + +extern "builtin" long __builtin_expect(long, long); + +#define BOOST_LIKELY(x) __builtin_expect((x) && true, 1) +#define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0) diff --git a/external/include/boost_1_90_0/boost/config/detail/cxx_composite.hpp b/external/include/boost_1_90_0/boost/config/detail/cxx_composite.hpp new file mode 100644 index 0000000000..ea0c52b1f4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/detail/cxx_composite.hpp @@ -0,0 +1,218 @@ +// This file was automatically generated on Fri Oct 13 19:09:38 2023 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#if defined(BOOST_NO_ADL_BARRIER)\ + || defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\ + || defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\ + || defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\ + || defined(BOOST_NO_CTYPE_FUNCTIONS)\ + || defined(BOOST_NO_CV_SPECIALIZATIONS)\ + || defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\ + || defined(BOOST_NO_CWCHAR)\ + || defined(BOOST_NO_CWCTYPE)\ + || defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\ + || defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\ + || defined(BOOST_NO_EXCEPTIONS)\ + || defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\ + || defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\ + || defined(BOOST_NO_FENV_H)\ + || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\ + || defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\ + || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\ + || defined(BOOST_NO_INTEGRAL_INT64_T)\ + || defined(BOOST_NO_INTRINSIC_WCHAR_T)\ + || defined(BOOST_NO_IOSFWD)\ + || defined(BOOST_NO_IOSTREAM)\ + || defined(BOOST_NO_IS_ABSTRACT)\ + || defined(BOOST_NO_LIMITS)\ + || defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\ + || defined(BOOST_NO_LONG_LONG)\ + || defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\ + || defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\ + || defined(BOOST_NO_MEMBER_TEMPLATES)\ + || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\ + || defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\ + || defined(BOOST_NO_NESTED_FRIENDSHIP)\ + || defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\ + || defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\ + || defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\ + || defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\ + || defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\ + || defined(BOOST_NO_RESTRICT_REFERENCES)\ + || defined(BOOST_NO_RTTI)\ + || defined(BOOST_NO_SFINAE)\ + || defined(BOOST_NO_SFINAE_EXPR)\ + || defined(BOOST_NO_STDC_NAMESPACE)\ + || defined(BOOST_NO_STD_ALLOCATOR)\ + || defined(BOOST_NO_STD_DISTANCE)\ + || defined(BOOST_NO_STD_ITERATOR)\ + || defined(BOOST_NO_STD_ITERATOR_TRAITS)\ + || defined(BOOST_NO_STD_LOCALE)\ + || defined(BOOST_NO_STD_MESSAGES)\ + || defined(BOOST_NO_STD_MIN_MAX)\ + || defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\ + || defined(BOOST_NO_STD_TYPEINFO)\ + || defined(BOOST_NO_STD_USE_FACET)\ + || defined(BOOST_NO_STD_WSTREAMBUF)\ + || defined(BOOST_NO_STD_WSTRING)\ + || defined(BOOST_NO_STRINGSTREAM)\ + || defined(BOOST_NO_TEMPLATED_IOSTREAMS)\ + || defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ + || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\ + || defined(BOOST_NO_TEMPLATE_TEMPLATES)\ + || defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\ + || defined(BOOST_NO_TYPEID)\ + || defined(BOOST_NO_TYPENAME_WITH_CTOR)\ + || defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\ + || defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\ + || defined(BOOST_NO_USING_TEMPLATE)\ + || defined(BOOST_NO_VOID_RETURNS) +# define BOOST_NO_CXX03 +#endif + +#if defined(BOOST_NO_CXX03)\ + || defined(BOOST_NO_CXX11_ADDRESSOF)\ + || defined(BOOST_NO_CXX11_ALIGNAS)\ + || defined(BOOST_NO_CXX11_ALIGNOF)\ + || defined(BOOST_NO_CXX11_ALLOCATOR)\ + || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\ + || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\ + || defined(BOOST_NO_CXX11_CHAR16_T)\ + || defined(BOOST_NO_CXX11_CHAR32_T)\ + || defined(BOOST_NO_CXX11_CONSTEXPR)\ + || defined(BOOST_NO_CXX11_DECLTYPE)\ + || defined(BOOST_NO_CXX11_DECLTYPE_N3276)\ + || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\ + || defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\ + || defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\ + || defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\ + || defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\ + || defined(BOOST_NO_CXX11_FINAL)\ + || defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\ + || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\ + || defined(BOOST_NO_CXX11_HDR_ARRAY)\ + || defined(BOOST_NO_CXX11_HDR_ATOMIC)\ + || defined(BOOST_NO_CXX11_HDR_CHRONO)\ + || defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\ + || defined(BOOST_NO_CXX11_HDR_EXCEPTION)\ + || defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\ + || defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\ + || defined(BOOST_NO_CXX11_HDR_FUTURE)\ + || defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\ + || defined(BOOST_NO_CXX11_HDR_MUTEX)\ + || defined(BOOST_NO_CXX11_HDR_RANDOM)\ + || defined(BOOST_NO_CXX11_HDR_RATIO)\ + || defined(BOOST_NO_CXX11_HDR_REGEX)\ + || defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\ + || defined(BOOST_NO_CXX11_HDR_THREAD)\ + || defined(BOOST_NO_CXX11_HDR_TUPLE)\ + || defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\ + || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\ + || defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\ + || defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\ + || defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\ + || defined(BOOST_NO_CXX11_LAMBDAS)\ + || defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\ + || defined(BOOST_NO_CXX11_NOEXCEPT)\ + || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\ + || defined(BOOST_NO_CXX11_NULLPTR)\ + || defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\ + || defined(BOOST_NO_CXX11_OVERRIDE)\ + || defined(BOOST_NO_CXX11_POINTER_TRAITS)\ + || defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\ + || defined(BOOST_NO_CXX11_RAW_LITERALS)\ + || defined(BOOST_NO_CXX11_REF_QUALIFIERS)\ + || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\ + || defined(BOOST_NO_CXX11_SCOPED_ENUMS)\ + || defined(BOOST_NO_CXX11_SFINAE_EXPR)\ + || defined(BOOST_NO_CXX11_SMART_PTR)\ + || defined(BOOST_NO_CXX11_STATIC_ASSERT)\ + || defined(BOOST_NO_CXX11_STD_ALIGN)\ + || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\ + || defined(BOOST_NO_CXX11_THREAD_LOCAL)\ + || defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\ + || defined(BOOST_NO_CXX11_UNICODE_LITERALS)\ + || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\ + || defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\ + || defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\ + || defined(BOOST_NO_CXX11_VARIADIC_MACROS)\ + || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +# define BOOST_NO_CXX11 +#endif + +#if defined(BOOST_NO_CXX11)\ + || defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\ + || defined(BOOST_NO_CXX14_BINARY_LITERALS)\ + || defined(BOOST_NO_CXX14_CONSTEXPR)\ + || defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\ + || defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\ + || defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\ + || defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\ + || defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\ + || defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\ + || defined(BOOST_NO_CXX14_STD_EXCHANGE)\ + || defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) +# define BOOST_NO_CXX14 +#endif + +#if defined(BOOST_NO_CXX14)\ + || defined(BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS)\ + || defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\ + || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\ + || defined(BOOST_NO_CXX17_HDR_ANY)\ + || defined(BOOST_NO_CXX17_HDR_CHARCONV)\ + || defined(BOOST_NO_CXX17_HDR_EXECUTION)\ + || defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\ + || defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\ + || defined(BOOST_NO_CXX17_HDR_OPTIONAL)\ + || defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\ + || defined(BOOST_NO_CXX17_HDR_VARIANT)\ + || defined(BOOST_NO_CXX17_IF_CONSTEXPR)\ + || defined(BOOST_NO_CXX17_INLINE_VARIABLES)\ + || defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\ + || defined(BOOST_NO_CXX17_STD_APPLY)\ + || defined(BOOST_NO_CXX17_STD_INVOKE)\ + || defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) +# define BOOST_NO_CXX17 +#endif + +#if defined(BOOST_NO_CXX17)\ + || defined(BOOST_NO_CXX20_HDR_BARRIER)\ + || defined(BOOST_NO_CXX20_HDR_BIT)\ + || defined(BOOST_NO_CXX20_HDR_COMPARE)\ + || defined(BOOST_NO_CXX20_HDR_CONCEPTS)\ + || defined(BOOST_NO_CXX20_HDR_COROUTINE)\ + || defined(BOOST_NO_CXX20_HDR_FORMAT)\ + || defined(BOOST_NO_CXX20_HDR_LATCH)\ + || defined(BOOST_NO_CXX20_HDR_NUMBERS)\ + || defined(BOOST_NO_CXX20_HDR_RANGES)\ + || defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\ + || defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\ + || defined(BOOST_NO_CXX20_HDR_SPAN)\ + || defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\ + || defined(BOOST_NO_CXX20_HDR_SYNCSTREAM)\ + || defined(BOOST_NO_CXX20_HDR_VERSION) +# define BOOST_NO_CXX20 +#endif + +#if defined(BOOST_NO_CXX20)\ + || defined(BOOST_NO_CXX23_HDR_EXPECTED)\ + || defined(BOOST_NO_CXX23_HDR_FLAT_MAP)\ + || defined(BOOST_NO_CXX23_HDR_FLAT_SET)\ + || defined(BOOST_NO_CXX23_HDR_GENERATOR)\ + || defined(BOOST_NO_CXX23_HDR_MDSPAN)\ + || defined(BOOST_NO_CXX23_HDR_PRINT)\ + || defined(BOOST_NO_CXX23_HDR_SPANSTREAM)\ + || defined(BOOST_NO_CXX23_HDR_STACKTRACE)\ + || defined(BOOST_NO_CXX23_HDR_STDFLOAT) +# define BOOST_NO_CXX23 +#endif + diff --git a/external/include/boost_1_75/boost/config/detail/posix_features.hpp b/external/include/boost_1_90_0/boost/config/detail/posix_features.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/detail/posix_features.hpp rename to external/include/boost_1_90_0/boost/config/detail/posix_features.hpp index d12954797f..bc3921cf82 100644 --- a/external/include/boost_1_75/boost/config/detail/posix_features.hpp +++ b/external/include/boost_1_90_0/boost/config/detail/posix_features.hpp @@ -1,95 +1,95 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// All POSIX feature tests go in this file, -// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well -// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's -// may be present but none-functional unless _POSIX_C_SOURCE and -// _XOPEN_SOURCE have been defined to the right value (it's up -// to the user to do this *before* including any header, although -// in most cases the compiler will do this for you). - -# if defined(BOOST_HAS_UNISTD_H) -# include - - // XOpen has , but is this the correct version check? -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) -# define BOOST_HAS_NL_TYPES_H -# endif - - // POSIX version 6 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) -# define BOOST_HAS_STDINT_H -# endif - - // POSIX version 2 requires -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) -# define BOOST_HAS_DIRENT_H -# endif - - // POSIX version 3 requires to have sigaction: -# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) -# define BOOST_HAS_SIGACTION -# endif - // POSIX defines _POSIX_THREADS > 0 for pthread support, - // however some platforms define _POSIX_THREADS without - // a value, hence the (_POSIX_THREADS+0 >= 0) check. - // Strictly speaking this may catch platforms with a - // non-functioning stub , but such occurrences should - // occur very rarely if at all. -# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) -# define BOOST_HAS_PTHREADS -# endif - - // BOOST_HAS_NANOSLEEP: - // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_NANOSLEEP -# endif - - // BOOST_HAS_CLOCK_GETTIME: - // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME - // but at least one platform - linux - defines that flag without - // defining clock_gettime): -# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) -# define BOOST_HAS_CLOCK_GETTIME -# endif - - // BOOST_HAS_SCHED_YIELD: - // This is predicated on _POSIX_PRIORITY_SCHEDULING or - // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. -# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ - || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ - || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) -# define BOOST_HAS_SCHED_YIELD -# endif - - // BOOST_HAS_GETTIMEOFDAY: - // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: - // These are predicated on _XOPEN_VERSION, and appears to be first released - // in issue 4, version 2 (_XOPEN_VERSION > 500). - // Likewise for the functions log1p and expm1. -# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) -# define BOOST_HAS_GETTIMEOFDAY -# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# endif -# ifndef BOOST_HAS_LOG1P -# define BOOST_HAS_LOG1P -# endif -# ifndef BOOST_HAS_EXPM1 -# define BOOST_HAS_EXPM1 -# endif -# endif - -# endif - - - - +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to 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) + + +// See http://www.boost.org for most recent version. + +// All POSIX feature tests go in this file, +// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well +// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's +// may be present but none-functional unless _POSIX_C_SOURCE and +// _XOPEN_SOURCE have been defined to the right value (it's up +// to the user to do this *before* including any header, although +// in most cases the compiler will do this for you). + +# if defined(BOOST_HAS_UNISTD_H) +# include + + // XOpen has , but is this the correct version check? +# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) +# define BOOST_HAS_NL_TYPES_H +# endif + + // POSIX version 6 requires +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) +# define BOOST_HAS_STDINT_H +# endif + + // POSIX version 2 requires +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) +# define BOOST_HAS_DIRENT_H +# endif + + // POSIX version 3 requires to have sigaction: +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) +# define BOOST_HAS_SIGACTION +# endif + // POSIX defines _POSIX_THREADS > 0 for pthread support, + // however some platforms define _POSIX_THREADS without + // a value, hence the (_POSIX_THREADS+0 >= 0) check. + // Strictly speaking this may catch platforms with a + // non-functioning stub , but such occurrences should + // occur very rarely if at all. +# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) +# define BOOST_HAS_PTHREADS +# endif + + // BOOST_HAS_NANOSLEEP: + // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: +# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ + || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) +# define BOOST_HAS_NANOSLEEP +# endif + + // BOOST_HAS_CLOCK_GETTIME: + // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME + // but at least one platform - linux - defines that flag without + // defining clock_gettime): +# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) +# define BOOST_HAS_CLOCK_GETTIME +# endif + + // BOOST_HAS_SCHED_YIELD: + // This is predicated on _POSIX_PRIORITY_SCHEDULING or + // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. +# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ + || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ + || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) +# define BOOST_HAS_SCHED_YIELD +# endif + + // BOOST_HAS_GETTIMEOFDAY: + // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: + // These are predicated on _XOPEN_VERSION, and appears to be first released + // in issue 4, version 2 (_XOPEN_VERSION > 500). + // Likewise for the functions log1p and expm1. +# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) +# define BOOST_HAS_GETTIMEOFDAY +# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# endif +# ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +# endif +# ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +# endif +# endif + +# endif + + + + diff --git a/external/include/boost_1_75/boost/config/detail/select_compiler_config.hpp b/external/include/boost_1_90_0/boost/config/detail/select_compiler_config.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/detail/select_compiler_config.hpp rename to external/include/boost_1_90_0/boost/config/detail/select_compiler_config.hpp index c3d99e1a43..fbd770d00e 100644 --- a/external/include/boost_1_75/boost/config/detail/select_compiler_config.hpp +++ b/external/include/boost_1_90_0/boost/config/detail/select_compiler_config.hpp @@ -1,157 +1,157 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Martin Wille 2003. -// (C) Copyright Guillaume Melquiond 2003. -// -// 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) - -// See http://www.boost.org/ for most recent version. - -// locate which compiler we are using and define -// BOOST_COMPILER_CONFIG as needed: - -#if defined __CUDACC__ -// NVIDIA CUDA C++ compiler for GPU -# include "boost/config/compiler/nvcc.hpp" - -#endif - -#if defined(__GCCXML__) -// GCC-XML emulates other compilers, it has to appear first here! -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" - -#elif defined(_CRAYC) -// EDG based Cray compiler: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" - -#elif defined __COMO__ -// Comeau C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" - -#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4) -// PathScale EKOPath compiler (has to come before clang and gcc) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" - -#elif defined __clang__ && !defined(__ibmxl__) && !defined(__CODEGEARC__) -// Clang C++ emulates GCC, so it has to appear early. -# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" - -#elif defined __DMC__ -// Digital Mars C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" - -#elif defined __DCC__ -// Wind River Diab C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp" - -#elif defined(__PGI) -// Portland Group Inc. -# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp" - -# elif defined(__GNUC__) && !defined(__ibmxl__) -// GNU C++: -# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" - -#elif defined __KCC -// Kai C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" - -#elif defined __sgi -// SGI MIPSpro C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" - -#elif defined __ghs -// Greenhills C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" - -#elif defined __CODEGEARC__ -// CodeGear - must be checked for before Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp" - -#elif defined __BORLANDC__ -// Borland -# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" - -#elif defined __HP_aCC -// HP aCC -# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" - -#elif defined(__MRC__) || defined(__SC__) -// MPW MrCpp or SCpp -# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) -// IBM z/OS XL C/C++ -# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp_zos.hpp" - -#elif defined(__ibmxl__) -// IBM XL C/C++ for Linux (Little Endian) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" - -#elif defined(__IBMCPP__) -// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian) -# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the compiler: -# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the headers we *might* include: -// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif - +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Martin Wille 2003. +// (C) Copyright Guillaume Melquiond 2003. +// +// 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) + +// See http://www.boost.org/ for most recent version. + +// locate which compiler we are using and define +// BOOST_COMPILER_CONFIG as needed: + +#if defined __CUDACC__ +// NVIDIA CUDA C++ compiler for GPU +# include "boost/config/compiler/nvcc.hpp" + +#endif + +#if defined(__GCCXML__) +// GCC-XML emulates other compilers, it has to appear first here! +# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" + +#elif defined(_CRAYC) +// EDG based Cray compiler: +# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp" + +#elif defined __COMO__ +// Comeau C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" + +#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4) +// PathScale EKOPath compiler (has to come before clang and gcc) +# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp" + +#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) +// Intel +# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" + +#elif defined __clang__ && !defined(__ibmxl__) && !defined(__CODEGEARC__) +// Clang C++ emulates GCC, so it has to appear early. +# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" + +#elif defined __DMC__ +// Digital Mars C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" + +#elif defined __DCC__ +// Wind River Diab C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp" + +#elif defined(__PGI) +// Portland Group Inc. +# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp" + +# elif defined(__GNUC__) && !defined(__ibmxl__) +// GNU C++: +# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" + +#elif defined __KCC +// Kai C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" + +#elif defined __sgi +// SGI MIPSpro C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" + +#elif defined __DECCXX +// Compaq Tru64 Unix cxx +# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" + +#elif defined __ghs +// Greenhills C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" + +#elif defined __CODEGEARC__ +// CodeGear - must be checked for before Borland +# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp" + +#elif defined __BORLANDC__ +// Borland +# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" + +#elif defined __MWERKS__ +// Metrowerks CodeWarrior +# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" + +#elif defined __SUNPRO_CC +// Sun Workshop Compiler C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" + +#elif defined __HP_aCC +// HP aCC +# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" + +#elif defined(__MRC__) || defined(__SC__) +// MPW MrCpp or SCpp +# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) +// IBM z/OS XL C/C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp_zos.hpp" + +#elif defined(__ibmxl__) +// IBM XL C/C++ for Linux (Little Endian) +# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" + +#elif defined(__IBMCPP__) +// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian) +# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" + +#elif defined _MSC_VER +// Microsoft Visual C++ +// +// Must remain the last #elif since some other vendors (Metrowerks, for +// example) also #define _MSC_VER +# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" + +#elif defined (BOOST_ASSERT_CONFIG) +// this must come last - generate an error if we don't +// recognise the compiler: +# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" + +#endif + +#if 0 +// +// This section allows dependency scanners to find all the headers we *might* include: +// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif + diff --git a/external/include/boost_1_75/boost/config/detail/select_platform_config.hpp b/external/include/boost_1_90_0/boost/config/detail/select_platform_config.hpp similarity index 94% rename from external/include/boost_1_75/boost/config/detail/select_platform_config.hpp rename to external/include/boost_1_90_0/boost/config/detail/select_platform_config.hpp index b36eca57a2..a312230921 100644 --- a/external/include/boost_1_75/boost/config/detail/select_platform_config.hpp +++ b/external/include/boost_1_90_0/boost/config/detail/select_platform_config.hpp @@ -1,142 +1,147 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. -// Note that we define the headers to include using "header_name" not -// in order to prevent macro expansion within the header -// name (for example "linux" is a macro on linux systems). - -#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) -// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? -# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" - -#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) -// BSD: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" - -#elif defined(sun) || defined(__sun) -// solaris: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" - -#elif defined(__sgi) -// SGI Irix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" - -#elif defined(__hpux) -// hp unix: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" - -#elif defined(__CYGWIN__) -// cygwin is not win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -// win32: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" - -#elif defined(__HAIKU__) -// Haiku -# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" - -#elif defined(__BEOS__) -// BeOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" - -#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) -// MacOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" - -#elif defined(__TOS_MVS__) -// IBM z/OS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" - -#elif defined(__IBMCPP__) || defined(_AIX) -// IBM AIX -# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" - -#elif defined(__amigaos__) -// AmigaOS -# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" - -#elif defined(__QNXNTO__) -// QNX: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" - -#elif defined(__VXWORKS__) -// vxWorks: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" - -#elif defined(__SYMBIAN32__) -// Symbian: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" - -#elif defined(_CRAYC) -// Cray: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" - -#elif defined(__VMS) -// VMS: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" - -#elif defined(__CloudABI__) -// Nuxi CloudABI: -# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp" -#else - -# if defined(unix) \ - || defined(__unix) \ - || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) - - // generic unix platform: - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif - -# include - -# endif - -# if defined (BOOST_ASSERT_CONFIG) - // this must come last - generate an error if we don't - // recognise the platform: -# error "Unknown platform - please configure and report the results to boost.org" -# endif - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the files we *might* include: -// -# include "boost/config/platform/linux.hpp" -# include "boost/config/platform/bsd.hpp" -# include "boost/config/platform/solaris.hpp" -# include "boost/config/platform/irix.hpp" -# include "boost/config/platform/hpux.hpp" -# include "boost/config/platform/cygwin.hpp" -# include "boost/config/platform/win32.hpp" -# include "boost/config/platform/beos.hpp" -# include "boost/config/platform/macos.hpp" -# include "boost/config/platform/zos.hpp" -# include "boost/config/platform/aix.hpp" -# include "boost/config/platform/amigaos.hpp" -# include "boost/config/platform/qnxnto.hpp" -# include "boost/config/platform/vxworks.hpp" -# include "boost/config/platform/symbian.hpp" -# include "boost/config/platform/cray.hpp" -# include "boost/config/platform/vms.hpp" -# include - - - -#endif - +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. +// Note that we define the headers to include using "header_name" not +// in order to prevent macro expansion within the header +// name (for example "linux" is a macro on linux systems). + +#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC) +// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? +# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" + +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +// BSD: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" + +#elif defined(sun) || defined(__sun) +// solaris: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" + +#elif defined(__sgi) +// SGI Irix: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" + +#elif defined(__hpux) +// hp unix: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" + +#elif defined(__CYGWIN__) +// cygwin is not win32: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +// win32: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" + +#elif defined(__HAIKU__) +// Haiku +# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" + +#elif defined(__BEOS__) +// BeOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" + +#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) +// MacOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" + +#elif defined(__TOS_MVS__) +// IBM z/OS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp" + +#elif defined(__IBMCPP__) || defined(_AIX) +// IBM AIX +# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" + +#elif defined(__amigaos__) +// AmigaOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" + +#elif defined(__QNXNTO__) +// QNX: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" + +#elif defined(__VXWORKS__) +// vxWorks: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" + +#elif defined(__SYMBIAN32__) +// Symbian: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp" + +#elif defined(_CRAYC) +// Cray: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp" + +#elif defined(__VMS) +// VMS: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp" + +#elif defined(__CloudABI__) +// Nuxi CloudABI: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp" + +#elif defined (__wasm__) +// Web assembly: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/wasm.hpp" + +#else + +# if defined(unix) \ + || defined(__unix) \ + || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) + + // generic unix platform: + +# ifndef BOOST_HAS_UNISTD_H +# define BOOST_HAS_UNISTD_H +# endif + +# include + +# endif + +# if defined (BOOST_ASSERT_CONFIG) + // this must come last - generate an error if we don't + // recognise the platform: +# error "Unknown platform - please configure and report the results to boost.org" +# endif + +#endif + +#if 0 +// +// This section allows dependency scanners to find all the files we *might* include: +// +# include "boost/config/platform/linux.hpp" +# include "boost/config/platform/bsd.hpp" +# include "boost/config/platform/solaris.hpp" +# include "boost/config/platform/irix.hpp" +# include "boost/config/platform/hpux.hpp" +# include "boost/config/platform/cygwin.hpp" +# include "boost/config/platform/win32.hpp" +# include "boost/config/platform/beos.hpp" +# include "boost/config/platform/macos.hpp" +# include "boost/config/platform/zos.hpp" +# include "boost/config/platform/aix.hpp" +# include "boost/config/platform/amigaos.hpp" +# include "boost/config/platform/qnxnto.hpp" +# include "boost/config/platform/vxworks.hpp" +# include "boost/config/platform/symbian.hpp" +# include "boost/config/platform/cray.hpp" +# include "boost/config/platform/vms.hpp" +# include + + + +#endif + diff --git a/external/include/boost_1_75/boost/config/detail/select_stdlib_config.hpp b/external/include/boost_1_90_0/boost/config/detail/select_stdlib_config.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/detail/select_stdlib_config.hpp rename to external/include/boost_1_90_0/boost/config/detail/select_stdlib_config.hpp index 1a09dda126..4c77a7533d 100644 --- a/external/include/boost_1_75/boost/config/detail/select_stdlib_config.hpp +++ b/external/include/boost_1_90_0/boost/config/detail/select_stdlib_config.hpp @@ -1,121 +1,121 @@ -// Boost compiler configuration selection header file - -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2002. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: - -// First, check if __has_include is available and include can be located, -// otherwise include to determine if some version of STLport is in use as the std lib -// (do not rely on this header being included since users can short-circuit this header -// if they know whose std lib they are using.) -#if defined(__cplusplus) && defined(__has_include) -# if __has_include() -// It should be safe to include `` when it is present without checking -// the actual C++ language version as it consists solely of macro definitions. -// [version.syn] p1: The header supplies implementation-dependent -// information about the C++ standard library (e.g., version number and release date). -# include -# else -# include -# endif -#elif defined(__cplusplus) -# include -#else -# include -#endif - -#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) -// STLPort library; this _must_ come first, otherwise since -// STLport typically sits on top of some other library, we -// can end up detecting that first rather than STLport: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" - -#else - -// If our std lib was not some version of STLport, and has not otherwise -// been detected, then include as it is about -// the smallest of the std lib headers that includes real C++ stuff. -// Some std libs do not include their C++-related macros in -// so this additional include makes sure we get those definitions. -// Note: do not rely on this header being included since users can short-circuit this -// #include if they know whose std lib they are using. -#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\ - && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\ - && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\ - && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER) -#include -#endif - -#if defined(__LIBCOMO__) -// Comeau STL: -#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" - -#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) -// Rogue Wave library: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" - -#elif defined(_LIBCPP_VERSION) -// libc++ -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp" - -#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) -// GNU libstdc++ 3 -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" - -#elif defined(__STL_CONFIG_H) -// generic SGI STL -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" - -#elif defined(__MSL_CPP__) -// MSL standard lib: -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) -// IBM z/OS XL C/C++ -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/xlcpp_zos.hpp" - -#elif defined(__IBMCPP__) -// take the default VACPP std lib -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" - -#elif defined(MSIPL_COMPILE_H) -// Modena C++ standard library -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" - -#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) -// Dinkumware Library (this has to appear after any possible replacement libraries): -# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" - -#elif defined (BOOST_ASSERT_CONFIG) -// this must come last - generate an error if we don't -// recognise the library: -# error "Unknown standard library - please configure and report the results to boost.org" - -#endif - -#endif - -#if 0 -// -// This section allows dependency scanners to find all the files we *might* include: -// -# include "boost/config/stdlib/stlport.hpp" -# include "boost/config/stdlib/libcomo.hpp" -# include "boost/config/stdlib/roguewave.hpp" -# include "boost/config/stdlib/libcpp.hpp" -# include "boost/config/stdlib/libstdcpp3.hpp" -# include "boost/config/stdlib/sgi.hpp" -# include "boost/config/stdlib/msl.hpp" -# include "boost/config/stdlib/xlcpp_zos.hpp" -# include "boost/config/stdlib/vacpp.hpp" -# include "boost/config/stdlib/modena.hpp" -# include "boost/config/stdlib/dinkumware.hpp" -#endif - +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2002. +// Use, modification and distribution are subject to 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) + + +// See http://www.boost.org for most recent version. + +// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: + +// First, check if __has_include is available and include can be located, +// otherwise include to determine if some version of STLport is in use as the std lib +// (do not rely on this header being included since users can short-circuit this header +// if they know whose std lib they are using.) +#if defined(__cplusplus) && defined(__has_include) +# if __has_include() +// It should be safe to include `` when it is present without checking +// the actual C++ language version as it consists solely of macro definitions. +// [version.syn] p1: The header supplies implementation-dependent +// information about the C++ standard library (e.g., version number and release date). +# include +# else +# include +# endif +#elif defined(__cplusplus) +# include +#else +# include +#endif + +#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) +// STLPort library; this _must_ come first, otherwise since +// STLport typically sits on top of some other library, we +// can end up detecting that first rather than STLport: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" + +#else + +// If our std lib was not some version of STLport, and has not otherwise +// been detected, then include as it is about +// the smallest of the std lib headers that includes real C++ stuff. +// Some std libs do not include their C++-related macros in +// so this additional include makes sure we get those definitions. +// Note: do not rely on this header being included since users can short-circuit this +// #include if they know whose std lib they are using. +#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\ + && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\ + && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\ + && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER) +#include +#endif + +#if defined(__LIBCOMO__) +// Comeau STL: +#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" + +#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) +// Rogue Wave library: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" + +#elif defined(_LIBCPP_VERSION) +// libc++ +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp" + +#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) +// GNU libstdc++ 3 +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" + +#elif defined(__STL_CONFIG_H) +// generic SGI STL +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" + +#elif defined(__MSL_CPP__) +// MSL standard lib: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__) +// IBM z/OS XL C/C++ +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/xlcpp_zos.hpp" + +#elif defined(__IBMCPP__) +// take the default VACPP std lib +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" + +#elif defined(MSIPL_COMPILE_H) +// Modena C++ standard library +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" + +#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +// Dinkumware Library (this has to appear after any possible replacement libraries): +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" + +#elif defined (BOOST_ASSERT_CONFIG) +// this must come last - generate an error if we don't +// recognise the library: +# error "Unknown standard library - please configure and report the results to boost.org" + +#endif + +#endif + +#if 0 +// +// This section allows dependency scanners to find all the files we *might* include: +// +# include "boost/config/stdlib/stlport.hpp" +# include "boost/config/stdlib/libcomo.hpp" +# include "boost/config/stdlib/roguewave.hpp" +# include "boost/config/stdlib/libcpp.hpp" +# include "boost/config/stdlib/libstdcpp3.hpp" +# include "boost/config/stdlib/sgi.hpp" +# include "boost/config/stdlib/msl.hpp" +# include "boost/config/stdlib/xlcpp_zos.hpp" +# include "boost/config/stdlib/vacpp.hpp" +# include "boost/config/stdlib/modena.hpp" +# include "boost/config/stdlib/dinkumware.hpp" +#endif + diff --git a/external/include/boost_1_75/boost/config/detail/suffix.hpp b/external/include/boost_1_90_0/boost/config/detail/suffix.hpp similarity index 79% rename from external/include/boost_1_75/boost/config/detail/suffix.hpp rename to external/include/boost_1_90_0/boost/config/detail/suffix.hpp index 994dce9289..c880d21a89 100644 --- a/external/include/boost_1_75/boost/config/detail/suffix.hpp +++ b/external/include/boost_1_90_0/boost/config/detail/suffix.hpp @@ -1,1116 +1,1334 @@ -// Boost config.hpp configuration header file ------------------------------// -// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file - -// Copyright (c) 2001-2003 John Maddock -// Copyright (c) 2001 Darin Adler -// Copyright (c) 2001 Peter Dimov -// Copyright (c) 2002 Bill Kempf -// Copyright (c) 2002 Jens Maurer -// Copyright (c) 2002-2003 David Abrahams -// Copyright (c) 2003 Gennaro Prota -// Copyright (c) 2003 Eric Friedman -// Copyright (c) 2010 Eric Jourdanneau, Joel Falcou -// 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) - -// See http://www.boost.org/ for most recent version. - -// Boost config.hpp policy and rationale documentation has been moved to -// http://www.boost.org/libs/config/ -// -// This file is intended to be stable, and relatively unchanging. -// It should contain boilerplate code only - no compiler specific -// code unless it is unavoidable - no changes unless unavoidable. - -#ifndef BOOST_CONFIG_SUFFIX_HPP -#define BOOST_CONFIG_SUFFIX_HPP - -#if defined(__GNUC__) && (__GNUC__ >= 4) -// -// Some GCC-4.x versions issue warnings even when __extension__ is used, -// so use this as a workaround: -// -#pragma GCC system_header -#endif - -// -// ensure that visibility macros are always defined, thus simplifying use -// -#ifndef BOOST_SYMBOL_EXPORT -# define BOOST_SYMBOL_EXPORT -#endif -#ifndef BOOST_SYMBOL_IMPORT -# define BOOST_SYMBOL_IMPORT -#endif -#ifndef BOOST_SYMBOL_VISIBLE -# define BOOST_SYMBOL_VISIBLE -#endif - -// -// look for long long by looking for the appropriate macros in . -// Note that we use limits.h rather than climits for maximal portability, -// remember that since these just declare a bunch of macros, there should be -// no namespace issues from this. -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \ - && !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) -# include -# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# define BOOST_HAS_LONG_LONG -# else -# define BOOST_NO_LONG_LONG -# endif -#endif - -// GCC 3.x will clean up all of those nasty macro definitions that -// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine -// it under GCC 3.x. -#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) -# undef BOOST_NO_CTYPE_FUNCTIONS -#endif - -// -// Assume any extensions are in namespace std:: unless stated otherwise: -// -# ifndef BOOST_STD_EXTENSION_NAMESPACE -# define BOOST_STD_EXTENSION_NAMESPACE std -# endif - -// -// If cv-qualified specializations are not allowed, then neither are cv-void ones: -// -# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ - && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# endif - -// -// If there is no numeric_limits template, then it can't have any compile time -// constants either! -// -# if defined(BOOST_NO_LIMITS) \ - && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// if there is no long long then there is no specialisation -// for numeric_limits either: -// -#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -#endif - -// -// if there is no __int64 then there is no specialisation -// for numeric_limits<__int64> either: -// -#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// if member templates are supported then so is the -// VC6 subset of member templates: -// -# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) -# define BOOST_MSVC6_MEMBER_TEMPLATES -# endif - -// -// Without partial specialization, can't test for partial specialisation bugs: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) -# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG -# endif - -// -// Without partial specialization, we can't have array-type partial specialisations: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS -# endif - -// -// Without partial specialization, std::iterator_traits can't work: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_STD_ITERATOR_TRAITS) -# define BOOST_NO_STD_ITERATOR_TRAITS -# endif - -// -// Without partial specialization, partial -// specialization with default args won't work either: -// -# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) -# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS -# endif - -// -// Without member template support, we can't have template constructors -// in the standard library either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# endif - -// -// Without member template support, we can't have a conforming -// std::allocator template either: -// -# if defined(BOOST_NO_MEMBER_TEMPLATES) \ - && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ - && !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_NO_STD_ALLOCATOR -# endif - -// -// without ADL support then using declarations will break ADL as well: -// -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) -# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL -#endif - -// -// Without typeid support we have no dynamic RTTI either: -// -#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI) -# define BOOST_NO_RTTI -#endif - -// -// If we have a standard allocator, then we have a partial one as well: -// -#if !defined(BOOST_NO_STD_ALLOCATOR) -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -#endif - -// -// We can't have a working std::use_facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) -# define BOOST_NO_STD_USE_FACET -# endif - -// -// We can't have a std::messages facet if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) -# define BOOST_NO_STD_MESSAGES -# endif - -// -// We can't have a working std::wstreambuf if there is no std::locale: -// -# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) -# define BOOST_NO_STD_WSTREAMBUF -# endif - -// -// We can't have a if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) -# define BOOST_NO_CWCTYPE -# endif - -// -// We can't have a swprintf if there is no : -// -# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -# endif - -// -// If Win32 support is turned off, then we must turn off -// threading support also, unless there is some other -// thread API enabled: -// -#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ - && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) -# define BOOST_DISABLE_THREADS -#endif - -// -// Turn on threading support if the compiler thinks that it's in -// multithreaded mode. We put this here because there are only a -// limited number of macros that identify this (if there's any missing -// from here then add to the appropriate compiler section): -// -#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ - || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ - && !defined(BOOST_HAS_THREADS) -# define BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if BOOST_DISABLE_THREADS is defined: -// -#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading support off if we don't recognise the threading API: -// -#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ - && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ - && !defined(BOOST_HAS_MPTASKS) -# undef BOOST_HAS_THREADS -#endif - -// -// Turn threading detail macros off if we don't (want to) use threading -// -#ifndef BOOST_HAS_THREADS -# undef BOOST_HAS_PTHREADS -# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# undef BOOST_HAS_PTHREAD_YIELD -# undef BOOST_HAS_PTHREAD_DELAY_NP -# undef BOOST_HAS_WINTHREADS -# undef BOOST_HAS_BETHREADS -# undef BOOST_HAS_MPTASKS -#endif - -// -// If the compiler claims to be C99 conformant, then it had better -// have a : -// -# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) -# define BOOST_HAS_STDINT_H -# ifndef BOOST_HAS_LOG1P -# define BOOST_HAS_LOG1P -# endif -# ifndef BOOST_HAS_EXPM1 -# define BOOST_HAS_EXPM1 -# endif -# endif - -// -// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. -// Note that this is for backwards compatibility only. -// -# if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST) -# define BOOST_NO_SLIST -# endif - -# if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH) -# define BOOST_NO_HASH -# endif - -// -// Set BOOST_SLIST_HEADER if not set already: -// -#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER) -# define BOOST_SLIST_HEADER -#endif - -// -// Set BOOST_HASH_SET_HEADER if not set already: -// -#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER) -# define BOOST_HASH_SET_HEADER -#endif - -// -// Set BOOST_HASH_MAP_HEADER if not set already: -// -#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER) -# define BOOST_HASH_MAP_HEADER -#endif - -// BOOST_HAS_ABI_HEADERS -// This macro gets set if we have headers that fix the ABI, -// and prevent ODR violations when linking to external libraries: -#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) -# define BOOST_HAS_ABI_HEADERS -#endif - -#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) -# undef BOOST_HAS_ABI_HEADERS -#endif - -// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// -// Because std::size_t usage is so common, even in boost headers which do not -// otherwise use the C library, the workaround is included here so -// that ugly workaround code need not appear in many other boost headers. -// NOTE WELL: This is a workaround for non-conforming compilers; -// must still be #included in the usual places so that inclusion -// works as expected with standard conforming compilers. The resulting -// double inclusion of is harmless. - -# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus) -# include - namespace std { using ::ptrdiff_t; using ::size_t; } -# endif - -// Workaround for the unfortunate min/max macros defined by some platform headers - -#define BOOST_PREVENT_MACRO_SUBSTITUTION - -#ifndef BOOST_USING_STD_MIN -# define BOOST_USING_STD_MIN() using std::min -#endif - -#ifndef BOOST_USING_STD_MAX -# define BOOST_USING_STD_MAX() using std::max -#endif - -// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// - -# if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus) - -namespace std { - template - inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __b < __a ? __b : __a; - } - template - inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { - return __a < __b ? __b : __a; - } -} - -# endif - -// BOOST_STATIC_CONSTANT workaround --------------------------------------- // -// On compilers which don't allow in-class initialization of static integral -// constant members, we must use enums as a workaround if we want the constants -// to be available at compile-time. This macro gives us a convenient way to -// declare such constants. - -# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION -# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } -# else -# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment -# endif - -// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// -// When the standard library does not have a conforming std::use_facet there -// are various workarounds available, but they differ from library to library. -// The same problem occurs with has_facet. -// These macros provide a consistent way to access a locale's facets. -// Usage: -// replace -// std::use_facet(loc); -// with -// BOOST_USE_FACET(Type, loc); -// Note do not add a std:: prefix to the front of BOOST_USE_FACET! -// Use for BOOST_HAS_FACET is analogous. - -#if defined(BOOST_NO_STD_USE_FACET) -# ifdef BOOST_HAS_TWO_ARG_USE_FACET -# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) -# elif defined(BOOST_HAS_MACRO_USE_FACET) -# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) -# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) -# elif defined(BOOST_HAS_STLP_USE_FACET) -# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -# endif -#else -# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) -# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) -#endif - -// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// -// Member templates are supported by some compilers even though they can't use -// the A::template member syntax, as a workaround replace: -// -// typedef typename A::template rebind binder; -// -// with: -// -// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; - -#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD -# define BOOST_NESTED_TEMPLATE template -#else -# define BOOST_NESTED_TEMPLATE -#endif - -// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// -// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION -// is defined, in which case it evaluates to return x; Use when you have a return -// statement that can never be reached. - -#ifndef BOOST_UNREACHABLE_RETURN -# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION -# define BOOST_UNREACHABLE_RETURN(x) return x; -# else -# define BOOST_UNREACHABLE_RETURN(x) -# endif -#endif - -// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// -// -// Some compilers don't support the use of `typename' for dependent -// types in deduced contexts, e.g. -// -// template void f(T, typename T::type); -// ^^^^^^^^ -// Replace these declarations with: -// -// template void f(T, BOOST_DEDUCED_TYPENAME T::type); - -#ifndef BOOST_NO_DEDUCED_TYPENAME -# define BOOST_DEDUCED_TYPENAME typename -#else -# define BOOST_DEDUCED_TYPENAME -#endif - -#ifndef BOOST_NO_TYPENAME_WITH_CTOR -# define BOOST_CTOR_TYPENAME typename -#else -# define BOOST_CTOR_TYPENAME -#endif - -// long long workaround ------------------------------------------// -// On gcc (and maybe other compilers?) long long is alway supported -// but it's use may generate either warnings (with -ansi), or errors -// (with -pedantic -ansi) unless it's use is prefixed by __extension__ -// -#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef long long long_long_type; - __extension__ typedef unsigned long long ulong_long_type; -# else - typedef long long long_long_type; - typedef unsigned long long ulong_long_type; -# endif -} -#endif -// same again for __int128: -#if defined(BOOST_HAS_INT128) && defined(__cplusplus) -namespace boost{ -# ifdef __GNUC__ - __extension__ typedef __int128 int128_type; - __extension__ typedef unsigned __int128 uint128_type; -# else - typedef __int128 int128_type; - typedef unsigned __int128 uint128_type; -# endif -} -#endif -// same again for __float128: -#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus) -namespace boost { -# ifdef __GNUC__ - __extension__ typedef __float128 float128_type; -# else - typedef __float128 float128_type; -# endif -} -#endif - -// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// - -// These macros are obsolete. Port away and remove. - -# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) -# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) - -// When BOOST_NO_STD_TYPEINFO is defined, we can just import -// the global definition into std namespace, -// see https://svn.boost.org/trac10/ticket/4115 -#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC) -#include -namespace std{ using ::type_info; } -// Since we do now have typeinfo, undef the macro: -#undef BOOST_NO_STD_TYPEINFO -#endif - -// ---------------------------------------------------------------------------// - -// Helper macro BOOST_STRINGIZE: -// Helper macro BOOST_JOIN: - -#include - -// -// Set some default values for compiler/library/platform names. -// These are for debugging config setup only: -// -# ifndef BOOST_COMPILER -# define BOOST_COMPILER "Unknown ISO C++ Compiler" -# endif -# ifndef BOOST_STDLIB -# define BOOST_STDLIB "Unknown ISO standard library" -# endif -# ifndef BOOST_PLATFORM -# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) -# define BOOST_PLATFORM "Generic Unix" -# else -# define BOOST_PLATFORM "Unknown" -# endif -# endif - -// -// Set some default values GPU support -// -# ifndef BOOST_GPU_ENABLED -# define BOOST_GPU_ENABLED -# endif - -// BOOST_RESTRICT ---------------------------------------------// -// Macro to use in place of 'restrict' keyword variants -#if !defined(BOOST_RESTRICT) -# if defined(_MSC_VER) -# define BOOST_RESTRICT __restrict -# if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026) -# define BOOST_NO_RESTRICT_REFERENCES -# endif -# elif defined(__GNUC__) && __GNUC__ > 3 - // Clang also defines __GNUC__ (as 4) -# define BOOST_RESTRICT __restrict__ -# else -# define BOOST_RESTRICT -# if !defined(BOOST_NO_RESTRICT_REFERENCES) -# define BOOST_NO_RESTRICT_REFERENCES -# endif -# endif -#endif - -// BOOST_MAY_ALIAS -----------------------------------------------// -// The macro expands to an attribute to mark a type that is allowed to alias other types. -// The macro is defined in the compiler-specific headers. -#if !defined(BOOST_MAY_ALIAS) -# define BOOST_NO_MAY_ALIAS -# define BOOST_MAY_ALIAS -#endif - -// BOOST_FORCEINLINE ---------------------------------------------// -// Macro to use in place of 'inline' to force a function to be inline -#if !defined(BOOST_FORCEINLINE) -# if defined(_MSC_VER) -# define BOOST_FORCEINLINE __forceinline -# elif defined(__GNUC__) && __GNUC__ > 3 - // Clang also defines __GNUC__ (as 4) -# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) -# else -# define BOOST_FORCEINLINE inline -# endif -#endif - -// BOOST_NOINLINE ---------------------------------------------// -// Macro to use in place of 'inline' to prevent a function to be inlined -#if !defined(BOOST_NOINLINE) -# if defined(_MSC_VER) -# define BOOST_NOINLINE __declspec(noinline) -# elif defined(__GNUC__) && __GNUC__ > 3 - // Clang also defines __GNUC__ (as 4) -# if defined(__CUDACC__) - // nvcc doesn't always parse __noinline__, - // see: https://svn.boost.org/trac/boost/ticket/9392 -# define BOOST_NOINLINE __attribute__ ((noinline)) -# else -# define BOOST_NOINLINE __attribute__ ((__noinline__)) -# endif -# else -# define BOOST_NOINLINE -# endif -#endif - -// BOOST_NORETURN ---------------------------------------------// -// Macro to use before a function declaration/definition to designate -// the function as not returning normally (i.e. with a return statement -// or by leaving the function scope, if the function return type is void). -#if !defined(BOOST_NORETURN) -# if defined(_MSC_VER) -# define BOOST_NORETURN __declspec(noreturn) -# elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__) -# define BOOST_NORETURN __attribute__ ((__noreturn__)) -# elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) -# if __has_attribute(noreturn) -# define BOOST_NORETURN [[noreturn]] -# endif -# elif defined(__has_cpp_attribute) -# if __has_cpp_attribute(noreturn) -# define BOOST_NORETURN [[noreturn]] -# endif -# endif -#endif - -#if !defined(BOOST_NORETURN) -# define BOOST_NO_NORETURN -# define BOOST_NORETURN -#endif - -// Branch prediction hints -// These macros are intended to wrap conditional expressions that yield true or false -// -// if (BOOST_LIKELY(var == 10)) -// { -// // the most probable code here -// } -// -#if !defined(BOOST_LIKELY) -# define BOOST_LIKELY(x) x -#endif -#if !defined(BOOST_UNLIKELY) -# define BOOST_UNLIKELY(x) x -#endif - -#if !defined(BOOST_NO_CXX11_OVERRIDE) -# define BOOST_OVERRIDE override -#else -# define BOOST_OVERRIDE -#endif - -// Type and data alignment specification -// -#if !defined(BOOST_ALIGNMENT) -# if !defined(BOOST_NO_CXX11_ALIGNAS) -# define BOOST_ALIGNMENT(x) alignas(x) -# elif defined(_MSC_VER) -# define BOOST_ALIGNMENT(x) __declspec(align(x)) -# elif defined(__GNUC__) -# define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) -# else -# define BOOST_NO_ALIGNMENT -# define BOOST_ALIGNMENT(x) -# endif -#endif - -// Lack of non-public defaulted functions is implied by the lack of any defaulted functions -#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) -# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS -#endif - -// Lack of defaulted moves is implied by the lack of either rvalue references or any defaulted functions -#if !defined(BOOST_NO_CXX11_DEFAULTED_MOVES) && (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) -# define BOOST_NO_CXX11_DEFAULTED_MOVES -#endif - -// Defaulted and deleted function declaration helpers -// These macros are intended to be inside a class definition. -// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its -// body, which will be used if the compiler doesn't support defaulted functions. -// BOOST_DELETED_FUNCTION only accepts the function declaration. It -// will expand to a private function declaration, if the compiler doesn't support -// deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION -// in the end of the class definition. -// -// class my_class -// { -// public: -// // Default-constructible -// BOOST_DEFAULTED_FUNCTION(my_class(), {}) -// // Copying prohibited -// BOOST_DELETED_FUNCTION(my_class(my_class const&)) -// BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&)) -// }; -// -#if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)) -# define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default; -#else -# define BOOST_DEFAULTED_FUNCTION(fun, body) fun body -#endif - -#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) -# define BOOST_DELETED_FUNCTION(fun) fun = delete; -#else -# define BOOST_DELETED_FUNCTION(fun) private: fun; -#endif - -// -// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined -// -#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) -#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE -#endif - -// -------------------- Deprecated macros for 1.50 --------------------------- -// These will go away in a future release - -// Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP -// instead of BOOST_NO_STD_UNORDERED -#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET) -# ifndef BOOST_NO_CXX11_STD_UNORDERED -# define BOOST_NO_CXX11_STD_UNORDERED -# endif -#endif - -// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS -#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) -# define BOOST_NO_INITIALIZER_LISTS -#endif - -// Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY -#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY) -# define BOOST_NO_0X_HDR_ARRAY -#endif -// Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO -#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO) -# define BOOST_NO_0X_HDR_CHRONO -#endif -// Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT -#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT) -# define BOOST_NO_0X_HDR_CODECVT -#endif -// Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE -#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) -# define BOOST_NO_0X_HDR_CONDITION_VARIABLE -#endif -// Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST -#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST) -# define BOOST_NO_0X_HDR_FORWARD_LIST -#endif -// Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE -#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE) -# define BOOST_NO_0X_HDR_FUTURE -#endif - -// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST -// instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS -#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST -# define BOOST_NO_0X_HDR_INITIALIZER_LIST -# endif -# ifndef BOOST_NO_INITIALIZER_LISTS -# define BOOST_NO_INITIALIZER_LISTS -# endif -#endif - -// Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX -#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX) -# define BOOST_NO_0X_HDR_MUTEX -#endif -// Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM -#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM) -# define BOOST_NO_0X_HDR_RANDOM -#endif -// Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO -#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO) -# define BOOST_NO_0X_HDR_RATIO -#endif -// Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX -#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX) -# define BOOST_NO_0X_HDR_REGEX -#endif -// Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR -#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR) -# define BOOST_NO_0X_HDR_SYSTEM_ERROR -#endif -// Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD -#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD) -# define BOOST_NO_0X_HDR_THREAD -#endif -// Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE -#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE) -# define BOOST_NO_0X_HDR_TUPLE -#endif -// Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS -#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS) -# define BOOST_NO_0X_HDR_TYPE_TRAITS -#endif -// Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX -#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX) -# define BOOST_NO_0X_HDR_TYPEINDEX -#endif -// Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP -#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP) -# define BOOST_NO_0X_HDR_UNORDERED_MAP -#endif -// Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET -#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET) -# define BOOST_NO_0X_HDR_UNORDERED_SET -#endif - -// ------------------ End of deprecated macros for 1.50 --------------------------- - -// -------------------- Deprecated macros for 1.51 --------------------------- -// These will go away in a future release - -// Use BOOST_NO_CXX11_AUTO_DECLARATIONS instead of BOOST_NO_AUTO_DECLARATIONS -#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS) -# define BOOST_NO_AUTO_DECLARATIONS -#endif -// Use BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of BOOST_NO_AUTO_MULTIDECLARATIONS -#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS) -# define BOOST_NO_AUTO_MULTIDECLARATIONS -#endif -// Use BOOST_NO_CXX11_CHAR16_T instead of BOOST_NO_CHAR16_T -#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T) -# define BOOST_NO_CHAR16_T -#endif -// Use BOOST_NO_CXX11_CHAR32_T instead of BOOST_NO_CHAR32_T -#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T) -# define BOOST_NO_CHAR32_T -#endif -// Use BOOST_NO_CXX11_TEMPLATE_ALIASES instead of BOOST_NO_TEMPLATE_ALIASES -#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES) -# define BOOST_NO_TEMPLATE_ALIASES -#endif -// Use BOOST_NO_CXX11_CONSTEXPR instead of BOOST_NO_CONSTEXPR -#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR) -# define BOOST_NO_CONSTEXPR -#endif -// Use BOOST_NO_CXX11_DECLTYPE_N3276 instead of BOOST_NO_DECLTYPE_N3276 -#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276) -# define BOOST_NO_DECLTYPE_N3276 -#endif -// Use BOOST_NO_CXX11_DECLTYPE instead of BOOST_NO_DECLTYPE -#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE) -# define BOOST_NO_DECLTYPE -#endif -// Use BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of BOOST_NO_DEFAULTED_FUNCTIONS -#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS) -# define BOOST_NO_DEFAULTED_FUNCTIONS -#endif -// Use BOOST_NO_CXX11_DELETED_FUNCTIONS instead of BOOST_NO_DELETED_FUNCTIONS -#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS) -# define BOOST_NO_DELETED_FUNCTIONS -#endif -// Use BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of BOOST_NO_EXPLICIT_CONVERSION_OPERATORS -#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS) -# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS -#endif -// Use BOOST_NO_CXX11_EXTERN_TEMPLATE instead of BOOST_NO_EXTERN_TEMPLATE -#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE) -# define BOOST_NO_EXTERN_TEMPLATE -#endif -// Use BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS -#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS) -# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS -#endif -// Use BOOST_NO_CXX11_LAMBDAS instead of BOOST_NO_LAMBDAS -#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS) -# define BOOST_NO_LAMBDAS -#endif -// Use BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS -#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS) -# define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS -#endif -// Use BOOST_NO_CXX11_NOEXCEPT instead of BOOST_NO_NOEXCEPT -#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT) -# define BOOST_NO_NOEXCEPT -#endif -// Use BOOST_NO_CXX11_NULLPTR instead of BOOST_NO_NULLPTR -#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR) -# define BOOST_NO_NULLPTR -#endif -// Use BOOST_NO_CXX11_RAW_LITERALS instead of BOOST_NO_RAW_LITERALS -#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS) -# define BOOST_NO_RAW_LITERALS -#endif -// Use BOOST_NO_CXX11_RVALUE_REFERENCES instead of BOOST_NO_RVALUE_REFERENCES -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES) -# define BOOST_NO_RVALUE_REFERENCES -#endif -// Use BOOST_NO_CXX11_SCOPED_ENUMS instead of BOOST_NO_SCOPED_ENUMS -#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS) -# define BOOST_NO_SCOPED_ENUMS -#endif -// Use BOOST_NO_CXX11_STATIC_ASSERT instead of BOOST_NO_STATIC_ASSERT -#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT) -# define BOOST_NO_STATIC_ASSERT -#endif -// Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED -#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED) -# define BOOST_NO_STD_UNORDERED -#endif -// Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS -#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS) -# define BOOST_NO_UNICODE_LITERALS -#endif -// Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX -#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX) -# define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX -#endif -// Use BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of BOOST_NO_VARIADIC_TEMPLATES -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES) -# define BOOST_NO_VARIADIC_TEMPLATES -#endif -// Use BOOST_NO_CXX11_VARIADIC_MACROS instead of BOOST_NO_VARIADIC_MACROS -#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS) -# define BOOST_NO_VARIADIC_MACROS -#endif -// Use BOOST_NO_CXX11_NUMERIC_LIMITS instead of BOOST_NO_NUMERIC_LIMITS_LOWEST -#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST) -# define BOOST_NO_NUMERIC_LIMITS_LOWEST -#endif -// ------------------ End of deprecated macros for 1.51 --------------------------- - - -// -// Helper macro for marking types and methods final -// -#if !defined(BOOST_NO_CXX11_FINAL) -# define BOOST_FINAL final -#else -# define BOOST_FINAL -#endif - -// -// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR -// These aid the transition to C++11 while still supporting C++03 compilers -// -#ifdef BOOST_NO_CXX11_NOEXCEPT -# define BOOST_NOEXCEPT -# define BOOST_NOEXCEPT_OR_NOTHROW throw() -# define BOOST_NOEXCEPT_IF(Predicate) -# define BOOST_NOEXCEPT_EXPR(Expression) false -#else -# define BOOST_NOEXCEPT noexcept -# define BOOST_NOEXCEPT_OR_NOTHROW noexcept -# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate)) -# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression)) -#endif -// -// Helper macro BOOST_FALLTHROUGH -// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended -// fall-through between case labels in a switch statement. We use a definition -// that requires a semicolon after it to avoid at least one type of misuse even -// on unsupported compilers. -// -#ifndef BOOST_FALLTHROUGH -# define BOOST_FALLTHROUGH ((void)0) -#endif - -// -// constexpr workarounds -// -#if defined(BOOST_NO_CXX11_CONSTEXPR) -#define BOOST_CONSTEXPR -#define BOOST_CONSTEXPR_OR_CONST const -#else -#define BOOST_CONSTEXPR constexpr -#define BOOST_CONSTEXPR_OR_CONST constexpr -#endif -#if defined(BOOST_NO_CXX14_CONSTEXPR) -#define BOOST_CXX14_CONSTEXPR -#else -#define BOOST_CXX14_CONSTEXPR constexpr -#endif - -// -// C++17 inline variables -// -#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES) -#define BOOST_INLINE_VARIABLE inline -#else -#define BOOST_INLINE_VARIABLE -#endif -// -// C++17 if constexpr -// -#if !defined(BOOST_NO_CXX17_IF_CONSTEXPR) -# define BOOST_IF_CONSTEXPR if constexpr -#else -# define BOOST_IF_CONSTEXPR if -#endif - -#define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST - -// -// Unused variable/typedef workarounds: -// -#ifndef BOOST_ATTRIBUTE_UNUSED -# define BOOST_ATTRIBUTE_UNUSED -#endif -// -// [[nodiscard]]: -// -#if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) -#if __has_attribute(nodiscard) -# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] -#endif -#if __has_attribute(no_unique_address) -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] -#endif -#elif defined(__has_cpp_attribute) -// clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic -#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) -# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] -#endif -#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100)) -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] -#endif -#endif -#ifndef BOOST_ATTRIBUTE_NODISCARD -# define BOOST_ATTRIBUTE_NODISCARD -#endif -#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS -#endif - -#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST - -// -// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined -// -#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT) -# define BOOST_HAS_STATIC_ASSERT -#endif - -// -// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined -// -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS) -#define BOOST_HAS_RVALUE_REFS -#endif - -// -// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined -// -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) -#define BOOST_HAS_VARIADIC_TMPL -#endif -// -// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when -// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set: -// -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS) -# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS -#endif - -// This is a catch all case for obsolete compilers / std libs: -#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured -#if (!defined(__has_include) || (__cplusplus < 201700)) -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_VARIANT -#else -#if !__has_include() -# define BOOST_NO_CXX17_HDR_OPTIONAL -#endif -#if !__has_include() -# define BOOST_NO_CXX17_HDR_STRING_VIEW -#endif -#if !__has_include() -# define BOOST_NO_CXX17_HDR_VARIANT -#endif -#endif -#endif - -// -// Finish off with checks for macros that are depricated / no longer supported, -// if any of these are set then it's very likely that much of Boost will no -// longer work. So stop with a #error for now, but give the user a chance -// to continue at their own risk if they really want to: -// -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED) -# error "You are using a compiler which lacks features which are now a minimum requirement in order to use Boost, define BOOST_CONFIG_ALLOW_DEPRECATED if you want to continue at your own risk!!!" -#endif - -#endif +// Boost config.hpp configuration header file ------------------------------// +// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file + +// Copyright (c) 2001-2003 John Maddock +// Copyright (c) 2001 Darin Adler +// Copyright (c) 2001 Peter Dimov +// Copyright (c) 2002 Bill Kempf +// Copyright (c) 2002 Jens Maurer +// Copyright (c) 2002-2003 David Abrahams +// Copyright (c) 2003 Gennaro Prota +// Copyright (c) 2003 Eric Friedman +// Copyright (c) 2010 Eric Jourdanneau, Joel Falcou +// 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) + +// See http://www.boost.org/ for most recent version. + +// Boost config.hpp policy and rationale documentation has been moved to +// http://www.boost.org/libs/config/ +// +// This file is intended to be stable, and relatively unchanging. +// It should contain boilerplate code only - no compiler specific +// code unless it is unavoidable - no changes unless unavoidable. + +#ifndef BOOST_CONFIG_SUFFIX_HPP +#define BOOST_CONFIG_SUFFIX_HPP + +#if defined(__GNUC__) && (__GNUC__ >= 4) +// +// Some GCC-4.x versions issue warnings even when __extension__ is used, +// so use this as a workaround: +// +#pragma GCC system_header +#endif + +// +// ensure that visibility macros are always defined, thus simplifying use +// +#ifndef BOOST_SYMBOL_EXPORT +# define BOOST_SYMBOL_EXPORT +#endif +#ifndef BOOST_SYMBOL_IMPORT +# define BOOST_SYMBOL_IMPORT +#endif +#ifndef BOOST_SYMBOL_VISIBLE +# define BOOST_SYMBOL_VISIBLE +#endif + +// +// disable explicitly enforced visibility +// +#if defined(BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY) + +#undef BOOST_SYMBOL_EXPORT +#define BOOST_SYMBOL_EXPORT + +#undef BOOST_SYMBOL_IMPORT +#define BOOST_SYMBOL_IMPORT + +#undef BOOST_SYMBOL_VISIBLE +#define BOOST_SYMBOL_VISIBLE + +#endif + +// +// look for long long by looking for the appropriate macros in . +// Note that we use limits.h rather than climits for maximal portability, +// remember that since these just declare a bunch of macros, there should be +// no namespace issues from this. +// +#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \ + && !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) +# include +# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) +# define BOOST_HAS_LONG_LONG +# else +# define BOOST_NO_LONG_LONG +# endif +#endif + +// GCC 3.x will clean up all of those nasty macro definitions that +// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine +// it under GCC 3.x. +#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) +# undef BOOST_NO_CTYPE_FUNCTIONS +#endif + +// +// Assume any extensions are in namespace std:: unless stated otherwise: +// +# ifndef BOOST_STD_EXTENSION_NAMESPACE +# define BOOST_STD_EXTENSION_NAMESPACE std +# endif + +// +// If cv-qualified specializations are not allowed, then neither are cv-void ones: +// +# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ + && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# endif + +// +// If there is no numeric_limits template, then it can't have any compile time +// constants either! +// +# if defined(BOOST_NO_LIMITS) \ + && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# endif + +// +// if there is no long long then there is no specialisation +// for numeric_limits either: +// +#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +#endif + +// +// if there is no __int64 then there is no specialisation +// for numeric_limits<__int64> either: +// +#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +#endif + +// +// if member templates are supported then so is the +// VC6 subset of member templates: +// +# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) +# define BOOST_MSVC6_MEMBER_TEMPLATES +# endif + +// +// Without partial specialization, can't test for partial specialisation bugs: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) +# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# endif + +// +// Without partial specialization, we can't have array-type partial specialisations: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# endif + +// +// Without partial specialization, std::iterator_traits can't work: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_STD_ITERATOR_TRAITS) +# define BOOST_NO_STD_ITERATOR_TRAITS +# endif + +// +// Without partial specialization, partial +// specialization with default args won't work either: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) +# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +# endif + +// +// Without member template support, we can't have template constructors +// in the standard library either: +// +# if defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ + && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# endif + +// +// Without member template support, we can't have a conforming +// std::allocator template either: +// +# if defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ + && !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_NO_STD_ALLOCATOR +# endif + +// +// without ADL support then using declarations will break ADL as well: +// +#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// +// Without typeid support we have no dynamic RTTI either: +// +#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +// +// If we have a standard allocator, then we have a partial one as well: +// +#if !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +// +// We can't have a working std::use_facet if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) +# define BOOST_NO_STD_USE_FACET +# endif + +// +// We can't have a std::messages facet if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) +# define BOOST_NO_STD_MESSAGES +# endif + +// +// We can't have a working std::wstreambuf if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) +# define BOOST_NO_STD_WSTREAMBUF +# endif + +// +// We can't have a if there is no : +// +# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) +# define BOOST_NO_CWCTYPE +# endif + +// +// We can't have a swprintf if there is no : +// +# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) +# define BOOST_NO_SWPRINTF +# endif + +// +// If Win32 support is turned off, then we must turn off +// threading support also, unless there is some other +// thread API enabled: +// +#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ + && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) +# define BOOST_DISABLE_THREADS +#endif + +// +// Turn on threading support if the compiler thinks that it's in +// multithreaded mode. We put this here because there are only a +// limited number of macros that identify this (if there's any missing +// from here then add to the appropriate compiler section): +// +#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ + || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ + && !defined(BOOST_HAS_THREADS) +# define BOOST_HAS_THREADS +#endif + +// +// Turn threading support off if BOOST_DISABLE_THREADS is defined: +// +#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) +# undef BOOST_HAS_THREADS +#endif + +// +// Turn threading support off if we don't recognise the threading API: +// +#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ + && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ + && !defined(BOOST_HAS_MPTASKS) +# undef BOOST_HAS_THREADS +#endif + +// +// Turn threading detail macros off if we don't (want to) use threading +// +#ifndef BOOST_HAS_THREADS +# undef BOOST_HAS_PTHREADS +# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# undef BOOST_HAS_PTHREAD_YIELD +# undef BOOST_HAS_PTHREAD_DELAY_NP +# undef BOOST_HAS_WINTHREADS +# undef BOOST_HAS_BETHREADS +# undef BOOST_HAS_MPTASKS +#endif + +// +// If the compiler claims to be C99 conformant, then it had better +// have a : +// +# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) +# define BOOST_HAS_STDINT_H +# ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +# endif +# ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +# endif +# endif + +// +// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. +// Note that this is for backwards compatibility only. +// +# if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST) +# define BOOST_NO_SLIST +# endif + +# if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH) +# define BOOST_NO_HASH +# endif + +// +// Set BOOST_SLIST_HEADER if not set already: +// +#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER) +# define BOOST_SLIST_HEADER +#endif + +// +// Set BOOST_HASH_SET_HEADER if not set already: +// +#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER) +# define BOOST_HASH_SET_HEADER +#endif + +// +// Set BOOST_HASH_MAP_HEADER if not set already: +// +#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER) +# define BOOST_HASH_MAP_HEADER +#endif + +// BOOST_HAS_ABI_HEADERS +// This macro gets set if we have headers that fix the ABI, +// and prevent ODR violations when linking to external libraries: +#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) +# define BOOST_HAS_ABI_HEADERS +#endif + +#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) +# undef BOOST_HAS_ABI_HEADERS +#endif + +// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// +// Because std::size_t usage is so common, even in boost headers which do not +// otherwise use the C library, the workaround is included here so +// that ugly workaround code need not appear in many other boost headers. +// NOTE WELL: This is a workaround for non-conforming compilers; +// must still be #included in the usual places so that inclusion +// works as expected with standard conforming compilers. The resulting +// double inclusion of is harmless. + +# if defined(BOOST_NO_STDC_NAMESPACE) && defined(__cplusplus) +# include + namespace std { using ::ptrdiff_t; using ::size_t; } +# endif + +// Workaround for the unfortunate min/max macros defined by some platform headers + +#define BOOST_PREVENT_MACRO_SUBSTITUTION + +#ifndef BOOST_USING_STD_MIN +# define BOOST_USING_STD_MIN() using std::min +#endif + +#ifndef BOOST_USING_STD_MAX +# define BOOST_USING_STD_MAX() using std::max +#endif + +// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// + +# if defined(BOOST_NO_STD_MIN_MAX) && defined(__cplusplus) + +namespace std { + template + inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { + return __b < __a ? __b : __a; + } + template + inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { + return __a < __b ? __b : __a; + } +} + +# endif + +// BOOST_STATIC_CONSTANT workaround --------------------------------------- // +// On compilers which don't allow in-class initialization of static integral +// constant members, we must use enums as a workaround if we want the constants +// to be available at compile-time. This macro gives us a convenient way to +// declare such constants. + +# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } +# else +# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment +# endif + +// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// +// When the standard library does not have a conforming std::use_facet there +// are various workarounds available, but they differ from library to library. +// The same problem occurs with has_facet. +// These macros provide a consistent way to access a locale's facets. +// Usage: +// replace +// std::use_facet(loc); +// with +// BOOST_USE_FACET(Type, loc); +// Note do not add a std:: prefix to the front of BOOST_USE_FACET! +// Use for BOOST_HAS_FACET is analogous. + +#if defined(BOOST_NO_STD_USE_FACET) +# ifdef BOOST_HAS_TWO_ARG_USE_FACET +# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) +# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) +# elif defined(BOOST_HAS_MACRO_USE_FACET) +# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) +# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) +# elif defined(BOOST_HAS_STLP_USE_FACET) +# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) +# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) +# endif +#else +# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) +# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) +#endif + +// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// +// Member templates are supported by some compilers even though they can't use +// the A::template member syntax, as a workaround replace: +// +// typedef typename A::template rebind binder; +// +// with: +// +// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; + +#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# define BOOST_NESTED_TEMPLATE template +#else +# define BOOST_NESTED_TEMPLATE +#endif + +// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// +// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION +// is defined, in which case it evaluates to return x; Use when you have a return +// statement that can never be reached. + +#ifndef BOOST_UNREACHABLE_RETURN +# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION +# define BOOST_UNREACHABLE_RETURN(x) return x; +# else +# define BOOST_UNREACHABLE_RETURN(x) +# endif +#endif + +// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// +// +// Some compilers don't support the use of `typename' for dependent +// types in deduced contexts, e.g. +// +// template void f(T, typename T::type); +// ^^^^^^^^ +// Replace these declarations with: +// +// template void f(T, BOOST_DEDUCED_TYPENAME T::type); + +#ifndef BOOST_NO_DEDUCED_TYPENAME +# define BOOST_DEDUCED_TYPENAME typename +#else +# define BOOST_DEDUCED_TYPENAME +#endif + +#ifndef BOOST_NO_TYPENAME_WITH_CTOR +# define BOOST_CTOR_TYPENAME typename +#else +# define BOOST_CTOR_TYPENAME +#endif + +// +// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __int128 and __float128 support if present: +// +#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128) +# undef BOOST_HAS_FLOAT128 +#endif +#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_INT128) +# undef BOOST_HAS_INT128 +#endif + +// long long workaround ------------------------------------------// +// On gcc (and maybe other compilers?) long long is alway supported +// but it's use may generate either warnings (with -ansi), or errors +// (with -pedantic -ansi) unless it's use is prefixed by __extension__ +// +#if defined(BOOST_HAS_LONG_LONG) && defined(__cplusplus) +namespace boost{ +# ifdef __GNUC__ + __extension__ typedef long long long_long_type; + __extension__ typedef unsigned long long ulong_long_type; +# else + typedef long long long_long_type; + typedef unsigned long long ulong_long_type; +# endif +} +#endif +// same again for __int128: +#if defined(BOOST_HAS_INT128) && defined(__cplusplus) +namespace boost{ +# ifdef __GNUC__ + __extension__ typedef __int128 int128_type; + __extension__ typedef unsigned __int128 uint128_type; +# else + typedef __int128 int128_type; + typedef unsigned __int128 uint128_type; +# endif +} +#endif +// same again for __float128: +#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus) +namespace boost { +# ifdef __GNUC__ + __extension__ typedef __float128 float128_type; +# else + typedef __float128 float128_type; +# endif +} +#endif + +// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// + +// These macros are obsolete. Port away and remove. + +# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + +// When BOOST_NO_STD_TYPEINFO is defined, we can just import +// the global definition into std namespace, +// see https://svn.boost.org/trac10/ticket/4115 +#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC) +#include +namespace std{ using ::type_info; } +// Since we do now have typeinfo, undef the macro: +#undef BOOST_NO_STD_TYPEINFO +#endif + +// ---------------------------------------------------------------------------// + +// Helper macro BOOST_STRINGIZE: +// Helper macro BOOST_JOIN: + +#include + +// +// Set some default values for compiler/library/platform names. +// These are for debugging config setup only: +// +# ifndef BOOST_COMPILER +# define BOOST_COMPILER "Unknown ISO C++ Compiler" +# endif +# ifndef BOOST_STDLIB +# define BOOST_STDLIB "Unknown ISO standard library" +# endif +# ifndef BOOST_PLATFORM +# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) +# define BOOST_PLATFORM "Generic Unix" +# else +# define BOOST_PLATFORM "Unknown" +# endif +# endif + +// +// Set some default values GPU support +// +# ifndef BOOST_GPU_ENABLED +# define BOOST_GPU_ENABLED +# endif + +// BOOST_RESTRICT ---------------------------------------------// +// Macro to use in place of 'restrict' keyword variants +#if !defined(BOOST_RESTRICT) +# if defined(_MSC_VER) +# define BOOST_RESTRICT __restrict +# if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026) +# define BOOST_NO_RESTRICT_REFERENCES +# endif +# elif defined(__GNUC__) && __GNUC__ > 3 + // Clang also defines __GNUC__ (as 4) +# define BOOST_RESTRICT __restrict__ +# else +# define BOOST_RESTRICT +# if !defined(BOOST_NO_RESTRICT_REFERENCES) +# define BOOST_NO_RESTRICT_REFERENCES +# endif +# endif +#endif + +// BOOST_MAY_ALIAS -----------------------------------------------// +// The macro expands to an attribute to mark a type that is allowed to alias other types. +// The macro is defined in the compiler-specific headers. +#if !defined(BOOST_MAY_ALIAS) +# define BOOST_NO_MAY_ALIAS +# define BOOST_MAY_ALIAS +#endif + +// BOOST_FORCEINLINE ---------------------------------------------// +// Macro to use in place of 'inline' to force a function to be inline +#if !defined(BOOST_FORCEINLINE) +# if defined(_MSC_VER) +# define BOOST_FORCEINLINE __forceinline +# elif defined(__GNUC__) && __GNUC__ > 3 + // Clang also defines __GNUC__ (as 4) +# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__)) +# else +# define BOOST_FORCEINLINE inline +# endif +#endif + +// BOOST_NOINLINE ---------------------------------------------// +// Macro to use in place of 'inline' to prevent a function to be inlined +#if !defined(BOOST_NOINLINE) +# if defined(_MSC_VER) +# define BOOST_NOINLINE __declspec(noinline) +# elif defined(__GNUC__) && __GNUC__ > 3 + // Clang also defines __GNUC__ (as 4) +# if defined(__CUDACC__) + // nvcc doesn't always parse __noinline__, + // see: https://svn.boost.org/trac/boost/ticket/9392 +# define BOOST_NOINLINE __attribute__ ((noinline)) +# elif defined(__HIP__) + // See https://github.com/boostorg/config/issues/392 +# define BOOST_NOINLINE __attribute__ ((noinline)) +# else +# define BOOST_NOINLINE __attribute__ ((__noinline__)) +# endif +# else +# define BOOST_NOINLINE +# endif +#endif + +// BOOST_NORETURN ---------------------------------------------// +// Macro to use before a function declaration/definition to designate +// the function as not returning normally (i.e. with a return statement +// or by leaving the function scope, if the function return type is void). +#if !defined(BOOST_NORETURN) +# if defined(_MSC_VER) +# define BOOST_NORETURN __declspec(noreturn) +# elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__) +# define BOOST_NORETURN __attribute__ ((__noreturn__)) +# elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) +# if __has_attribute(noreturn) +# define BOOST_NORETURN [[noreturn]] +# endif +# elif defined(__has_cpp_attribute) +# if __has_cpp_attribute(noreturn) +# define BOOST_NORETURN [[noreturn]] +# endif +# endif +#endif + +#if !defined(BOOST_NORETURN) +# define BOOST_NO_NORETURN +# define BOOST_NORETURN +#endif + +// BOOST_DEPRECATED -------------------------------------------// +// The macro can be used to mark deprecated symbols, such as functions, objects and types. +// Any code that uses these symbols will produce warnings, possibly with a message specified +// as an argument. The warnings can be suppressed by defining BOOST_ALLOW_DEPRECATED_SYMBOLS +// or BOOST_ALLOW_DEPRECATED. +#if !defined(BOOST_DEPRECATED) && __cplusplus >= 201402 +#define BOOST_DEPRECATED(msg) [[deprecated(msg)]] +#endif + +#if defined(BOOST_ALLOW_DEPRECATED_SYMBOLS) || defined(BOOST_ALLOW_DEPRECATED) +#undef BOOST_DEPRECATED +#endif + +#if !defined(BOOST_DEPRECATED) +#define BOOST_DEPRECATED(msg) +#endif + +// Branch prediction hints +// These macros are intended to wrap conditional expressions that yield true or false +// +// if (BOOST_LIKELY(var == 10)) +// { +// // the most probable code here +// } +// +#if !defined(BOOST_LIKELY) +# define BOOST_LIKELY(x) x +#endif +#if !defined(BOOST_UNLIKELY) +# define BOOST_UNLIKELY(x) x +#endif + +#if !defined(BOOST_NO_CXX11_OVERRIDE) +# define BOOST_OVERRIDE override +#else +# define BOOST_OVERRIDE +#endif + +// Type and data alignment specification +// +#if !defined(BOOST_ALIGNMENT) +# if !defined(BOOST_NO_CXX11_ALIGNAS) +# define BOOST_ALIGNMENT(x) alignas(x) +# elif defined(_MSC_VER) +# define BOOST_ALIGNMENT(x) __declspec(align(x)) +# elif defined(__GNUC__) +# define BOOST_ALIGNMENT(x) __attribute__ ((__aligned__(x))) +# else +# define BOOST_NO_ALIGNMENT +# define BOOST_ALIGNMENT(x) +# endif +#endif + +// Lack of non-public defaulted functions is implied by the lack of any defaulted functions +#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + +// Lack of defaulted moves is implied by the lack of either rvalue references or any defaulted functions +#if !defined(BOOST_NO_CXX11_DEFAULTED_MOVES) && (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) +# define BOOST_NO_CXX11_DEFAULTED_MOVES +#endif + +// Defaulted and deleted function declaration helpers +// These macros are intended to be inside a class definition. +// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its +// body, which will be used if the compiler doesn't support defaulted functions. +// BOOST_DELETED_FUNCTION only accepts the function declaration. It +// will expand to a private function declaration, if the compiler doesn't support +// deleted functions. Because of this it is recommended to use BOOST_DELETED_FUNCTION +// in the end of the class definition. +// +// class my_class +// { +// public: +// // Default-constructible +// BOOST_DEFAULTED_FUNCTION(my_class(), {}) +// // Copying prohibited +// BOOST_DELETED_FUNCTION(my_class(my_class const&)) +// BOOST_DELETED_FUNCTION(my_class& operator= (my_class const&)) +// }; +// +#if !(defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)) +# define BOOST_DEFAULTED_FUNCTION(fun, body) fun = default; +#else +# define BOOST_DEFAULTED_FUNCTION(fun, body) fun body +#endif + +#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) +# define BOOST_DELETED_FUNCTION(fun) fun = delete; +#else +# define BOOST_DELETED_FUNCTION(fun) private: fun; +#endif + +// +// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined +// +#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) +#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE +#endif + +// -------------------- Deprecated macros for 1.50 --------------------------- +// These will go away in a future release + +// Use BOOST_NO_CXX11_HDR_UNORDERED_SET or BOOST_NO_CXX11_HDR_UNORDERED_MAP +// instead of BOOST_NO_STD_UNORDERED +#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined (BOOST_NO_CXX11_HDR_UNORDERED_SET) +# ifndef BOOST_NO_CXX11_STD_UNORDERED +# define BOOST_NO_CXX11_STD_UNORDERED +# endif +#endif + +// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST instead of BOOST_NO_INITIALIZER_LISTS +#if defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) +# define BOOST_NO_INITIALIZER_LISTS +#endif + +// Use BOOST_NO_CXX11_HDR_ARRAY instead of BOOST_NO_0X_HDR_ARRAY +#if defined(BOOST_NO_CXX11_HDR_ARRAY) && !defined(BOOST_NO_0X_HDR_ARRAY) +# define BOOST_NO_0X_HDR_ARRAY +#endif +// Use BOOST_NO_CXX11_HDR_CHRONO instead of BOOST_NO_0X_HDR_CHRONO +#if defined(BOOST_NO_CXX11_HDR_CHRONO) && !defined(BOOST_NO_0X_HDR_CHRONO) +# define BOOST_NO_0X_HDR_CHRONO +#endif +// Use BOOST_NO_CXX11_HDR_CODECVT instead of BOOST_NO_0X_HDR_CODECVT +#if defined(BOOST_NO_CXX11_HDR_CODECVT) && !defined(BOOST_NO_0X_HDR_CODECVT) +# define BOOST_NO_0X_HDR_CODECVT +#endif +// Use BOOST_NO_CXX11_HDR_CONDITION_VARIABLE instead of BOOST_NO_0X_HDR_CONDITION_VARIABLE +#if defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) && !defined(BOOST_NO_0X_HDR_CONDITION_VARIABLE) +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +#endif +// Use BOOST_NO_CXX11_HDR_FORWARD_LIST instead of BOOST_NO_0X_HDR_FORWARD_LIST +#if defined(BOOST_NO_CXX11_HDR_FORWARD_LIST) && !defined(BOOST_NO_0X_HDR_FORWARD_LIST) +# define BOOST_NO_0X_HDR_FORWARD_LIST +#endif +// Use BOOST_NO_CXX11_HDR_FUTURE instead of BOOST_NO_0X_HDR_FUTURE +#if defined(BOOST_NO_CXX11_HDR_FUTURE) && !defined(BOOST_NO_0X_HDR_FUTURE) +# define BOOST_NO_0X_HDR_FUTURE +#endif + +// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST +// instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS +#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# endif +# ifndef BOOST_NO_INITIALIZER_LISTS +# define BOOST_NO_INITIALIZER_LISTS +# endif +#endif + +// Use BOOST_NO_CXX11_HDR_MUTEX instead of BOOST_NO_0X_HDR_MUTEX +#if defined(BOOST_NO_CXX11_HDR_MUTEX) && !defined(BOOST_NO_0X_HDR_MUTEX) +# define BOOST_NO_0X_HDR_MUTEX +#endif +// Use BOOST_NO_CXX11_HDR_RANDOM instead of BOOST_NO_0X_HDR_RANDOM +#if defined(BOOST_NO_CXX11_HDR_RANDOM) && !defined(BOOST_NO_0X_HDR_RANDOM) +# define BOOST_NO_0X_HDR_RANDOM +#endif +// Use BOOST_NO_CXX11_HDR_RATIO instead of BOOST_NO_0X_HDR_RATIO +#if defined(BOOST_NO_CXX11_HDR_RATIO) && !defined(BOOST_NO_0X_HDR_RATIO) +# define BOOST_NO_0X_HDR_RATIO +#endif +// Use BOOST_NO_CXX11_HDR_REGEX instead of BOOST_NO_0X_HDR_REGEX +#if defined(BOOST_NO_CXX11_HDR_REGEX) && !defined(BOOST_NO_0X_HDR_REGEX) +# define BOOST_NO_0X_HDR_REGEX +#endif +// Use BOOST_NO_CXX11_HDR_SYSTEM_ERROR instead of BOOST_NO_0X_HDR_SYSTEM_ERROR +#if defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) && !defined(BOOST_NO_0X_HDR_SYSTEM_ERROR) +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +#endif +// Use BOOST_NO_CXX11_HDR_THREAD instead of BOOST_NO_0X_HDR_THREAD +#if defined(BOOST_NO_CXX11_HDR_THREAD) && !defined(BOOST_NO_0X_HDR_THREAD) +# define BOOST_NO_0X_HDR_THREAD +#endif +// Use BOOST_NO_CXX11_HDR_TUPLE instead of BOOST_NO_0X_HDR_TUPLE +#if defined(BOOST_NO_CXX11_HDR_TUPLE) && !defined(BOOST_NO_0X_HDR_TUPLE) +# define BOOST_NO_0X_HDR_TUPLE +#endif +// Use BOOST_NO_CXX11_HDR_TYPE_TRAITS instead of BOOST_NO_0X_HDR_TYPE_TRAITS +#if defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS) +# define BOOST_NO_0X_HDR_TYPE_TRAITS +#endif +// Use BOOST_NO_CXX11_HDR_TYPEINDEX instead of BOOST_NO_0X_HDR_TYPEINDEX +#if defined(BOOST_NO_CXX11_HDR_TYPEINDEX) && !defined(BOOST_NO_0X_HDR_TYPEINDEX) +# define BOOST_NO_0X_HDR_TYPEINDEX +#endif +// Use BOOST_NO_CXX11_HDR_UNORDERED_MAP instead of BOOST_NO_0X_HDR_UNORDERED_MAP +#if defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) && !defined(BOOST_NO_0X_HDR_UNORDERED_MAP) +# define BOOST_NO_0X_HDR_UNORDERED_MAP +#endif +// Use BOOST_NO_CXX11_HDR_UNORDERED_SET instead of BOOST_NO_0X_HDR_UNORDERED_SET +#if defined(BOOST_NO_CXX11_HDR_UNORDERED_SET) && !defined(BOOST_NO_0X_HDR_UNORDERED_SET) +# define BOOST_NO_0X_HDR_UNORDERED_SET +#endif + +// ------------------ End of deprecated macros for 1.50 --------------------------- + +// -------------------- Deprecated macros for 1.51 --------------------------- +// These will go away in a future release + +// Use BOOST_NO_CXX11_AUTO_DECLARATIONS instead of BOOST_NO_AUTO_DECLARATIONS +#if defined(BOOST_NO_CXX11_AUTO_DECLARATIONS) && !defined(BOOST_NO_AUTO_DECLARATIONS) +# define BOOST_NO_AUTO_DECLARATIONS +#endif +// Use BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS instead of BOOST_NO_AUTO_MULTIDECLARATIONS +#if defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS) && !defined(BOOST_NO_AUTO_MULTIDECLARATIONS) +# define BOOST_NO_AUTO_MULTIDECLARATIONS +#endif +// Use BOOST_NO_CXX11_CHAR16_T instead of BOOST_NO_CHAR16_T +#if defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CHAR16_T) +# define BOOST_NO_CHAR16_T +#endif +// Use BOOST_NO_CXX11_CHAR32_T instead of BOOST_NO_CHAR32_T +#if defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_NO_CHAR32_T) +# define BOOST_NO_CHAR32_T +#endif +// Use BOOST_NO_CXX11_TEMPLATE_ALIASES instead of BOOST_NO_TEMPLATE_ALIASES +#if defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_NO_TEMPLATE_ALIASES) +# define BOOST_NO_TEMPLATE_ALIASES +#endif +// Use BOOST_NO_CXX11_CONSTEXPR instead of BOOST_NO_CONSTEXPR +#if defined(BOOST_NO_CXX11_CONSTEXPR) && !defined(BOOST_NO_CONSTEXPR) +# define BOOST_NO_CONSTEXPR +#endif +// Use BOOST_NO_CXX11_DECLTYPE_N3276 instead of BOOST_NO_DECLTYPE_N3276 +#if defined(BOOST_NO_CXX11_DECLTYPE_N3276) && !defined(BOOST_NO_DECLTYPE_N3276) +# define BOOST_NO_DECLTYPE_N3276 +#endif +// Use BOOST_NO_CXX11_DECLTYPE instead of BOOST_NO_DECLTYPE +#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_DECLTYPE) +# define BOOST_NO_DECLTYPE +#endif +// Use BOOST_NO_CXX11_DEFAULTED_FUNCTIONS instead of BOOST_NO_DEFAULTED_FUNCTIONS +#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_DEFAULTED_FUNCTIONS) +# define BOOST_NO_DEFAULTED_FUNCTIONS +#endif +// Use BOOST_NO_CXX11_DELETED_FUNCTIONS instead of BOOST_NO_DELETED_FUNCTIONS +#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_DELETED_FUNCTIONS) +# define BOOST_NO_DELETED_FUNCTIONS +#endif +// Use BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS instead of BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#if defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_EXPLICIT_CONVERSION_OPERATORS) +# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#endif +// Use BOOST_NO_CXX11_EXTERN_TEMPLATE instead of BOOST_NO_EXTERN_TEMPLATE +#if defined(BOOST_NO_CXX11_EXTERN_TEMPLATE) && !defined(BOOST_NO_EXTERN_TEMPLATE) +# define BOOST_NO_EXTERN_TEMPLATE +#endif +// Use BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS instead of BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS) +# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif +// Use BOOST_NO_CXX11_LAMBDAS instead of BOOST_NO_LAMBDAS +#if defined(BOOST_NO_CXX11_LAMBDAS) && !defined(BOOST_NO_LAMBDAS) +# define BOOST_NO_LAMBDAS +#endif +// Use BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS instead of BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS +#if defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS) && !defined(BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS) +# define BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif +// Use BOOST_NO_CXX11_NOEXCEPT instead of BOOST_NO_NOEXCEPT +#if defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_NOEXCEPT) +# define BOOST_NO_NOEXCEPT +#endif +// Use BOOST_NO_CXX11_NULLPTR instead of BOOST_NO_NULLPTR +#if defined(BOOST_NO_CXX11_NULLPTR) && !defined(BOOST_NO_NULLPTR) +# define BOOST_NO_NULLPTR +#endif +// Use BOOST_NO_CXX11_RAW_LITERALS instead of BOOST_NO_RAW_LITERALS +#if defined(BOOST_NO_CXX11_RAW_LITERALS) && !defined(BOOST_NO_RAW_LITERALS) +# define BOOST_NO_RAW_LITERALS +#endif +// Use BOOST_NO_CXX11_RVALUE_REFERENCES instead of BOOST_NO_RVALUE_REFERENCES +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_RVALUE_REFERENCES) +# define BOOST_NO_RVALUE_REFERENCES +#endif +// Use BOOST_NO_CXX11_SCOPED_ENUMS instead of BOOST_NO_SCOPED_ENUMS +#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_NO_SCOPED_ENUMS) +# define BOOST_NO_SCOPED_ENUMS +#endif +// Use BOOST_NO_CXX11_STATIC_ASSERT instead of BOOST_NO_STATIC_ASSERT +#if defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_NO_STATIC_ASSERT) +# define BOOST_NO_STATIC_ASSERT +#endif +// Use BOOST_NO_CXX11_STD_UNORDERED instead of BOOST_NO_STD_UNORDERED +#if defined(BOOST_NO_CXX11_STD_UNORDERED) && !defined(BOOST_NO_STD_UNORDERED) +# define BOOST_NO_STD_UNORDERED +#endif +// Use BOOST_NO_CXX11_UNICODE_LITERALS instead of BOOST_NO_UNICODE_LITERALS +#if defined(BOOST_NO_CXX11_UNICODE_LITERALS) && !defined(BOOST_NO_UNICODE_LITERALS) +# define BOOST_NO_UNICODE_LITERALS +#endif +// Use BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX instead of BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX +#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !defined(BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX) +# define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX +#endif +// Use BOOST_NO_CXX11_VARIADIC_TEMPLATES instead of BOOST_NO_VARIADIC_TEMPLATES +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_VARIADIC_TEMPLATES) +# define BOOST_NO_VARIADIC_TEMPLATES +#endif +// Use BOOST_NO_CXX11_VARIADIC_MACROS instead of BOOST_NO_VARIADIC_MACROS +#if defined(BOOST_NO_CXX11_VARIADIC_MACROS) && !defined(BOOST_NO_VARIADIC_MACROS) +# define BOOST_NO_VARIADIC_MACROS +#endif +// Use BOOST_NO_CXX11_NUMERIC_LIMITS instead of BOOST_NO_NUMERIC_LIMITS_LOWEST +#if defined(BOOST_NO_CXX11_NUMERIC_LIMITS) && !defined(BOOST_NO_NUMERIC_LIMITS_LOWEST) +# define BOOST_NO_NUMERIC_LIMITS_LOWEST +#endif +// ------------------ End of deprecated macros for 1.51 --------------------------- + + +// +// Helper macro for marking types and methods final +// +#if !defined(BOOST_NO_CXX11_FINAL) +# define BOOST_FINAL final +#else +# define BOOST_FINAL +#endif + +// +// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR +// These aid the transition to C++11 while still supporting C++03 compilers +// +#ifdef BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NOEXCEPT +# define BOOST_NOEXCEPT_OR_NOTHROW throw() +# define BOOST_NOEXCEPT_IF(Predicate) +# define BOOST_NOEXCEPT_EXPR(Expression) false +#else +# define BOOST_NOEXCEPT noexcept +# define BOOST_NOEXCEPT_OR_NOTHROW noexcept +# define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate)) +# define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression)) +#endif +// +// Helper macro BOOST_FALLTHROUGH +// Fallback definition of BOOST_FALLTHROUGH macro used to mark intended +// fall-through between case labels in a switch statement. We use a definition +// that requires a semicolon after it to avoid at least one type of misuse even +// on unsupported compilers. +// +#ifndef BOOST_FALLTHROUGH +# define BOOST_FALLTHROUGH ((void)0) +#endif + +// +// constexpr workarounds +// +#if defined(BOOST_NO_CXX11_CONSTEXPR) +#define BOOST_CONSTEXPR +#define BOOST_CONSTEXPR_OR_CONST const +#else +#define BOOST_CONSTEXPR constexpr +#define BOOST_CONSTEXPR_OR_CONST constexpr +#endif +#if defined(BOOST_NO_CXX14_CONSTEXPR) +#define BOOST_CXX14_CONSTEXPR +#else +#define BOOST_CXX14_CONSTEXPR constexpr +#endif +#if !defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) && defined(BOOST_NO_CXX11_HDR_TUPLE) +# define BOOST_NO_CXX17_STRUCTURED_BINDINGS +#endif + +// +// C++17 inline variables +// +#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES) +#define BOOST_INLINE_VARIABLE inline +#else +#define BOOST_INLINE_VARIABLE +#endif +// +// C++17 if constexpr +// +#if !defined(BOOST_NO_CXX17_IF_CONSTEXPR) +# define BOOST_IF_CONSTEXPR if constexpr +#else +# define BOOST_IF_CONSTEXPR if +#endif + +#define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST + +// +// Unused variable/typedef workarounds: +// +#ifndef BOOST_ATTRIBUTE_UNUSED +# if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) +# if __has_attribute(maybe_unused) +# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]] +# endif +# elif defined(__has_cpp_attribute) +# if __has_cpp_attribute(maybe_unused) +# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]] +# endif +# endif +#endif + +#ifndef BOOST_ATTRIBUTE_UNUSED +# define BOOST_ATTRIBUTE_UNUSED +#endif + +// +// [[nodiscard]]: +// +#if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) +#if __has_attribute(nodiscard) +# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] +#endif +#if __has_attribute(no_unique_address) +# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] +#endif +#elif defined(__has_cpp_attribute) +// clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic +#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) && !(defined(__GNUC__) && (__cplusplus < 201100)) +# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] +#endif +#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100)) +# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] +#endif +#endif +#ifndef BOOST_ATTRIBUTE_NODISCARD +# define BOOST_ATTRIBUTE_NODISCARD +#endif +#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS +# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS +#endif + +#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST + +#if !defined(BOOST_NO_CXX11_NULLPTR) +# define BOOST_NULLPTR nullptr +#else +# define BOOST_NULLPTR 0 +#endif + +// +// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined +// +#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT) +# define BOOST_HAS_STATIC_ASSERT +#endif + +// +// Set BOOST_HAS_RVALUE_REFS when BOOST_NO_CXX11_RVALUE_REFERENCES is not defined +// +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS) +#define BOOST_HAS_RVALUE_REFS +#endif + +// +// Set BOOST_HAS_VARIADIC_TMPL when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined +// +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) +#define BOOST_HAS_VARIADIC_TMPL +#endif +// +// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when +// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set: +// +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS) +# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#endif + +// This is a catch all case for obsolete compilers / std libs: +#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured +#if (!defined(__has_include) || (__cplusplus < 201700)) +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW +# define BOOST_NO_CXX17_HDR_VARIANT +# define BOOST_NO_CXX17_HDR_ANY +# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE +# define BOOST_NO_CXX17_HDR_CHARCONV +# define BOOST_NO_CXX17_HDR_EXECUTION +# define BOOST_NO_CXX17_HDR_FILESYSTEM +#else +#if !__has_include() +# define BOOST_NO_CXX17_HDR_OPTIONAL +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_STRING_VIEW +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_VARIANT +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_ANY +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_CHARCONV +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_EXECUTION +#endif +#if !__has_include() +# define BOOST_NO_CXX17_HDR_FILESYSTEM +#endif +#endif +#endif +// +// Define the std level that the compiler claims to support: +// +#ifndef BOOST_CXX_VERSION +# define BOOST_CXX_VERSION __cplusplus +#endif + +#if (!defined(__has_include) || (BOOST_CXX_VERSION < 201704)) +# define BOOST_NO_CXX20_HDR_BARRIER +# define BOOST_NO_CXX20_HDR_FORMAT +# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION +# define BOOST_NO_CXX20_HDR_BIT +# define BOOST_NO_CXX20_HDR_LATCH +# define BOOST_NO_CXX20_HDR_SPAN +# define BOOST_NO_CXX20_HDR_COMPARE +# define BOOST_NO_CXX20_HDR_NUMBERS +# define BOOST_NO_CXX20_HDR_STOP_TOKEN +# define BOOST_NO_CXX20_HDR_CONCEPTS +# define BOOST_NO_CXX20_HDR_RANGES +# define BOOST_NO_CXX20_HDR_SYNCSTREAM +# define BOOST_NO_CXX20_HDR_COROUTINE +# define BOOST_NO_CXX20_HDR_SEMAPHORE +#else +#if (!__has_include() || !defined(__cpp_lib_barrier) || (__cpp_lib_barrier < 201907L)) && !defined(BOOST_NO_CXX20_HDR_BARRIER) +# define BOOST_NO_CXX20_HDR_BARRIER +#endif +#if (!__has_include() || !defined(__cpp_lib_format) || (__cpp_lib_format < 201907L)) && !defined(BOOST_NO_CXX20_HDR_FORMAT) +# define BOOST_NO_CXX20_HDR_FORMAT +#endif +#if (!__has_include() || !defined(__cpp_lib_source_location) || (__cpp_lib_source_location < 201907L)) && !defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION) +# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION +#endif +#if (!__has_include() || !defined(__cpp_lib_bit_cast) || (__cpp_lib_bit_cast < 201806L) || !defined(__cpp_lib_bitops) || (__cpp_lib_bitops < 201907L) || !defined(__cpp_lib_endian) || (__cpp_lib_endian < 201907L)) && !defined(BOOST_NO_CXX20_HDR_BIT) +# define BOOST_NO_CXX20_HDR_BIT +#endif +#if (!__has_include() || !defined(__cpp_lib_latch) || (__cpp_lib_latch < 201907L)) && !defined(BOOST_NO_CXX20_HDR_LATCH) +# define BOOST_NO_CXX20_HDR_LATCH +#endif +#if (!__has_include() || !defined(__cpp_lib_span) || (__cpp_lib_span < 202002L)) && !defined(BOOST_NO_CXX20_HDR_SPAN) +# define BOOST_NO_CXX20_HDR_SPAN +#endif +#if (!__has_include() || !defined(__cpp_lib_three_way_comparison) || (__cpp_lib_three_way_comparison < 201907L)) && !defined(BOOST_NO_CXX20_HDR_COMPARE) +# define BOOST_NO_CXX20_HDR_COMPARE +#endif +#if (!__has_include() || !defined(__cpp_lib_math_constants) || (__cpp_lib_math_constants < 201907L)) && !defined(BOOST_NO_CXX20_HDR_NUMBERS) +# define BOOST_NO_CXX20_HDR_NUMBERS +#endif +#if (!__has_include() || !defined(__cpp_lib_jthread) || (__cpp_lib_jthread < 201911L)) && !defined(BOOST_NO_CXX20_HDR_STOP_TOKEN) +# define BOOST_NO_CXX20_HDR_STOP_TOKEN +#endif +#if (!__has_include() || !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L)) && !defined(_YVALS) && !defined(_CPPLIB_VER) && !defined(BOOST_NO_CXX20_HDR_CONCEPTS) +# define BOOST_NO_CXX20_HDR_CONCEPTS +#endif +#if (!__has_include() || !defined(__cpp_lib_ranges) || (__cpp_lib_ranges < 201911L)) && !defined(BOOST_NO_CXX20_HDR_RANGES) +# define BOOST_NO_CXX20_HDR_RANGES +#endif +#if (!__has_include() || !defined(__cpp_lib_syncbuf) || (__cpp_lib_syncbuf < 201803L)) && !defined(BOOST_NO_CXX20_HDR_SYNCSTREAM) +# define BOOST_NO_CXX20_HDR_SYNCSTREAM +#endif +#if (!__has_include() || !defined(__cpp_lib_coroutine) || (__cpp_lib_coroutine < 201902L)) && !defined(BOOST_NO_CXX20_HDR_COROUTINE) +# define BOOST_NO_CXX20_HDR_COROUTINE +#endif +#if (!__has_include() || !defined(__cpp_lib_semaphore) || (__cpp_lib_semaphore < 201907L)) && !defined(BOOST_NO_CXX20_HDR_SEMAPHORE) +# define BOOST_NO_CXX20_HDR_SEMAPHORE +#endif +#endif + +#if (!defined(__has_include) || (BOOST_CXX_VERSION < 202003L)) +# define BOOST_NO_CXX23_HDR_EXPECTED +# define BOOST_NO_CXX23_HDR_FLAT_MAP +# define BOOST_NO_CXX23_HDR_FLAT_SET +# define BOOST_NO_CXX23_HDR_GENERATOR +# define BOOST_NO_CXX23_HDR_MDSPAN +# define BOOST_NO_CXX23_HDR_PRINT +# define BOOST_NO_CXX23_HDR_SPANSTREAM +# define BOOST_NO_CXX23_HDR_STACKTRACE +# define BOOST_NO_CXX23_HDR_STDFLOAT +#else +#if (!__has_include() || !defined(__cpp_lib_expected) || (__cpp_lib_expected < 202211L)) && !defined(BOOST_NO_CXX23_HDR_EXPECTED) +# define BOOST_NO_CXX23_HDR_EXPECTED +#endif +#if (!__has_include() || !defined(__cpp_lib_flat_map) || (__cpp_lib_flat_map < 202207L)) && !defined(BOOST_NO_CXX23_HDR_FLAT_MAP) +# define BOOST_NO_CXX23_HDR_FLAT_MAP +#endif +#if (!__has_include() || !defined(__cpp_lib_flat_set) || (__cpp_lib_flat_set < 202207L)) && !defined(BOOST_NO_CXX23_HDR_FLAT_SET) +# define BOOST_NO_CXX23_HDR_FLAT_SET +#endif +#if (!__has_include() || !defined(__cpp_lib_generator) || (__cpp_lib_generator < 202207L)) && !defined(BOOST_NO_CXX23_HDR_GENERATOR) +# define BOOST_NO_CXX23_HDR_GENERATOR +#endif +#if (!__has_include() || !defined(__cpp_lib_mdspan) || (__cpp_lib_mdspan < 202207L)) && !defined(BOOST_NO_CXX23_HDR_MDSPAN) +# define BOOST_NO_CXX23_HDR_MDSPAN +#endif +#if (!__has_include() || !defined(__cpp_lib_print) || (__cpp_lib_print < 202207L)) && !defined(BOOST_NO_CXX23_HDR_PRINT) +# define BOOST_NO_CXX23_HDR_PRINT +#endif +#if (!__has_include() || !defined(__cpp_lib_spanstream) || (__cpp_lib_spanstream < 202106L)) && !defined(BOOST_NO_CXX23_HDR_SPANSTREAM) +# define BOOST_NO_CXX23_HDR_SPANSTREAM +#endif +#if (!__has_include() || !defined(__cpp_lib_stacktrace) || (__cpp_lib_stacktrace < 202011L)) && !defined(BOOST_NO_CXX23_HDR_STACKTRACE) +# define BOOST_NO_CXX23_HDR_STACKTRACE +#endif +#if !__has_include() && !defined(BOOST_NO_CXX23_HDR_STDFLOAT) +# define BOOST_NO_CXX23_HDR_STDFLOAT +#endif +#endif + +#if defined(__cplusplus) && defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX20_HDR_VERSION +#else +// For convenience, this is always included: +# include +#endif +#else +# define BOOST_NO_CXX20_HDR_VERSION +#endif + +#if defined(BOOST_MSVC) +#if (BOOST_MSVC < 1914) || (_MSVC_LANG < 201703) +# define BOOST_NO_CXX17_DEDUCTION_GUIDES +#endif +#elif !defined(__cpp_deduction_guides) || (__cpp_deduction_guides < 201606) +# define BOOST_NO_CXX17_DEDUCTION_GUIDES +#endif + +// +// Define composite agregate macros: +// +#include + +// +// Finish off with checks for macros that are depricated / no longer supported, +// if any of these are set then it's very likely that much of Boost will no +// longer work. So stop with a #error for now, but give the user a chance +// to continue at their own risk if they really want to: +// +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_CONFIG_ALLOW_DEPRECATED) +# error "You are using a compiler which lacks features which are now a minimum requirement in order to use Boost, define BOOST_CONFIG_ALLOW_DEPRECATED if you want to continue at your own risk!!!" +#endif + +#endif diff --git a/external/include/boost_1_75/boost/config/header_deprecated.hpp b/external/include/boost_1_90_0/boost/config/header_deprecated.hpp similarity index 87% rename from external/include/boost_1_75/boost/config/header_deprecated.hpp rename to external/include/boost_1_90_0/boost/config/header_deprecated.hpp index 864554f2a2..c622bad808 100644 --- a/external/include/boost_1_75/boost/config/header_deprecated.hpp +++ b/external/include/boost_1_90_0/boost/config/header_deprecated.hpp @@ -1,26 +1,26 @@ -#ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED -#define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED - -// Copyright 2017 Peter Dimov. -// -// 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 -// -// BOOST_HEADER_DEPRECATED("") -// -// Expands to the equivalent of -// BOOST_PRAGMA_MESSAGE("This header is deprecated. Use instead.") -// -// Note that this header is C compatible. - -#include - -#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) -# define BOOST_HEADER_DEPRECATED(a) -#else -# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.") -#endif - -#endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED +#ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED +#define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED + +// Copyright 2017 Peter Dimov. +// +// 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 +// +// BOOST_HEADER_DEPRECATED("") +// +// Expands to the equivalent of +// BOOST_PRAGMA_MESSAGE("This header is deprecated. Use instead.") +// +// Note that this header is C compatible. + +#include + +#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) || defined(BOOST_ALLOW_DEPRECATED) +# define BOOST_HEADER_DEPRECATED(a) +#else +# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.") +#endif + +#endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/config/helper_macros.hpp b/external/include/boost_1_90_0/boost/config/helper_macros.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/helper_macros.hpp rename to external/include/boost_1_90_0/boost/config/helper_macros.hpp index 3e79526df6..4578a34c44 100644 --- a/external/include/boost_1_75/boost/config/helper_macros.hpp +++ b/external/include/boost_1_90_0/boost/config/helper_macros.hpp @@ -1,37 +1,37 @@ -#ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED -#define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED - -// Copyright 2001 John Maddock. -// Copyright 2017 Peter Dimov. -// -// 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 -// -// BOOST_STRINGIZE(X) -// BOOST_JOIN(X, Y) -// -// Note that this header is C compatible. - -// -// Helper macro BOOST_STRINGIZE: -// Converts the parameter X to a string after macro replacement -// on X has been performed. -// -#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) -#define BOOST_DO_STRINGIZE(X) #X - -// -// Helper macro BOOST_JOIN: -// The following piece of macro magic joins the two -// arguments together, even when one of the arguments is -// itself a macro (see 16.3.1 in C++ standard). The key -// is that macro expansion of macro arguments does not -// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. -// -#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y) -#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y) -#define BOOST_DO_JOIN2(X, Y) X##Y - -#endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED +#ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED +#define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED + +// Copyright 2001 John Maddock. +// Copyright 2017 Peter Dimov. +// +// 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 +// +// BOOST_STRINGIZE(X) +// BOOST_JOIN(X, Y) +// +// Note that this header is C compatible. + +// +// Helper macro BOOST_STRINGIZE: +// Converts the parameter X to a string after macro replacement +// on X has been performed. +// +#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +#define BOOST_DO_STRINGIZE(X) #X + +// +// Helper macro BOOST_JOIN: +// The following piece of macro magic joins the two +// arguments together, even when one of the arguments is +// itself a macro (see 16.3.1 in C++ standard). The key +// is that macro expansion of macro arguments does not +// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. +// +#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y) +#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y) +#define BOOST_DO_JOIN2(X, Y) X##Y + +#endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/config/no_tr1/cmath.hpp b/external/include/boost_1_90_0/boost/config/no_tr1/cmath.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/no_tr1/cmath.hpp rename to external/include/boost_1_90_0/boost/config/no_tr1/cmath.hpp index d8268d842a..19ff526344 100644 --- a/external/include/boost_1_75/boost/config/no_tr1/cmath.hpp +++ b/external/include/boost_1_90_0/boost/config/no_tr1/cmath.hpp @@ -1,28 +1,28 @@ -// (C) Copyright John Maddock 2008. -// Use, modification and distribution are subject to 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) -// -// The aim of this header is just to include but to do -// so in a way that does not result in recursive inclusion of -// the Boost TR1 components if boost/tr1/tr1/cmath is in the -// include search path. We have to do this to avoid circular -// dependencies: -// - -#ifndef BOOST_CONFIG_CMATH -# define BOOST_CONFIG_CMATH - -# ifndef BOOST_TR1_NO_RECURSION -# define BOOST_TR1_NO_RECURSION -# define BOOST_CONFIG_NO_CMATH_RECURSION -# endif - -# include - -# ifdef BOOST_CONFIG_NO_CMATH_RECURSION -# undef BOOST_TR1_NO_RECURSION -# undef BOOST_CONFIG_NO_CMATH_RECURSION -# endif - -#endif +// (C) Copyright John Maddock 2008. +// Use, modification and distribution are subject to 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) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/cmath is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_CMATH +# define BOOST_CONFIG_CMATH + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_CMATH_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_CMATH_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_CMATH_RECURSION +# endif + +#endif diff --git a/external/include/boost_1_75/boost/config/no_tr1/complex.hpp b/external/include/boost_1_90_0/boost/config/no_tr1/complex.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/no_tr1/complex.hpp rename to external/include/boost_1_90_0/boost/config/no_tr1/complex.hpp index ca200922b3..c6f42543fc 100644 --- a/external/include/boost_1_75/boost/config/no_tr1/complex.hpp +++ b/external/include/boost_1_90_0/boost/config/no_tr1/complex.hpp @@ -1,28 +1,28 @@ -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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) -// -// The aim of this header is just to include but to do -// so in a way that does not result in recursive inclusion of -// the Boost TR1 components if boost/tr1/tr1/complex is in the -// include search path. We have to do this to avoid circular -// dependencies: -// - -#ifndef BOOST_CONFIG_COMPLEX -# define BOOST_CONFIG_COMPLEX - -# ifndef BOOST_TR1_NO_RECURSION -# define BOOST_TR1_NO_RECURSION -# define BOOST_CONFIG_NO_COMPLEX_RECURSION -# endif - -# include - -# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION -# undef BOOST_TR1_NO_RECURSION -# undef BOOST_CONFIG_NO_COMPLEX_RECURSION -# endif - -#endif +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to 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) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/complex is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_COMPLEX +# define BOOST_CONFIG_COMPLEX + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_COMPLEX_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_COMPLEX_RECURSION +# endif + +#endif diff --git a/external/include/boost_1_75/boost/config/no_tr1/functional.hpp b/external/include/boost_1_90_0/boost/config/no_tr1/functional.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/no_tr1/functional.hpp rename to external/include/boost_1_90_0/boost/config/no_tr1/functional.hpp index e395efc197..08d46fc4ab 100644 --- a/external/include/boost_1_75/boost/config/no_tr1/functional.hpp +++ b/external/include/boost_1_90_0/boost/config/no_tr1/functional.hpp @@ -1,28 +1,28 @@ -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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) -// -// The aim of this header is just to include but to do -// so in a way that does not result in recursive inclusion of -// the Boost TR1 components if boost/tr1/tr1/functional is in the -// include search path. We have to do this to avoid circular -// dependencies: -// - -#ifndef BOOST_CONFIG_FUNCTIONAL -# define BOOST_CONFIG_FUNCTIONAL - -# ifndef BOOST_TR1_NO_RECURSION -# define BOOST_TR1_NO_RECURSION -# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION -# endif - -# include - -# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION -# undef BOOST_TR1_NO_RECURSION -# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION -# endif - -#endif +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to 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) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/functional is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_FUNCTIONAL +# define BOOST_CONFIG_FUNCTIONAL + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION +# endif + +#endif diff --git a/external/include/boost_1_75/boost/config/no_tr1/memory.hpp b/external/include/boost_1_90_0/boost/config/no_tr1/memory.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/no_tr1/memory.hpp rename to external/include/boost_1_90_0/boost/config/no_tr1/memory.hpp index 2b5d208027..d998a54e4d 100644 --- a/external/include/boost_1_75/boost/config/no_tr1/memory.hpp +++ b/external/include/boost_1_90_0/boost/config/no_tr1/memory.hpp @@ -1,28 +1,28 @@ -// (C) Copyright John Maddock 2005. -// Use, modification and distribution are subject to 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) -// -// The aim of this header is just to include but to do -// so in a way that does not result in recursive inclusion of -// the Boost TR1 components if boost/tr1/tr1/memory is in the -// include search path. We have to do this to avoid circular -// dependencies: -// - -#ifndef BOOST_CONFIG_MEMORY -# define BOOST_CONFIG_MEMORY - -# ifndef BOOST_TR1_NO_RECURSION -# define BOOST_TR1_NO_RECURSION -# define BOOST_CONFIG_NO_MEMORY_RECURSION -# endif - -# include - -# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION -# undef BOOST_TR1_NO_RECURSION -# undef BOOST_CONFIG_NO_MEMORY_RECURSION -# endif - -#endif +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to 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) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/memory is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_MEMORY +# define BOOST_CONFIG_MEMORY + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_MEMORY_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_MEMORY_RECURSION +# endif + +#endif diff --git a/external/include/boost_1_90_0/boost/config/no_tr1/utility.hpp b/external/include/boost_1_90_0/boost/config/no_tr1/utility.hpp new file mode 100644 index 0000000000..40f223486b --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/no_tr1/utility.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to 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) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/utility is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_UTILITY +# define BOOST_CONFIG_UTILITY + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_UTILITY_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_UTILITY_RECURSION +# endif + +#endif diff --git a/external/include/boost_1_75/boost/config/platform/aix.hpp b/external/include/boost_1_90_0/boost/config/platform/aix.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/aix.hpp rename to external/include/boost_1_90_0/boost/config/platform/aix.hpp index a48e232061..84ab1e5bfa 100644 --- a/external/include/boost_1_75/boost/config/platform/aix.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/aix.hpp @@ -1,33 +1,33 @@ -// (C) Copyright John Maddock 2001 - 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// IBM/Aix specific config options: - -#define BOOST_PLATFORM "IBM Aix" - -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_NL_TYPES_H -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_CLOCK_GETTIME - -// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. -// This platform has header named which includes all -// the things needed. -#define BOOST_HAS_STDINT_H - -// Threading API's: -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_PTHREAD_DELAY_NP -#define BOOST_HAS_SCHED_YIELD -//#define BOOST_HAS_PTHREAD_YIELD - -// boilerplate code: -#include - - - - +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// IBM/Aix specific config options: + +#define BOOST_PLATFORM "IBM Aix" + +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_NL_TYPES_H +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_CLOCK_GETTIME + +// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. +// This platform has header named which includes all +// the things needed. +#define BOOST_HAS_STDINT_H + +// Threading API's: +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_PTHREAD_DELAY_NP +#define BOOST_HAS_SCHED_YIELD +//#define BOOST_HAS_PTHREAD_YIELD + +// boilerplate code: +#include + + + + diff --git a/external/include/boost_1_75/boost/config/platform/amigaos.hpp b/external/include/boost_1_90_0/boost/config/platform/amigaos.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/amigaos.hpp rename to external/include/boost_1_90_0/boost/config/platform/amigaos.hpp index 34bcf4128b..fe22635a96 100644 --- a/external/include/boost_1_75/boost/config/platform/amigaos.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/amigaos.hpp @@ -1,15 +1,15 @@ -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -#define BOOST_PLATFORM "AmigaOS" - -#define BOOST_DISABLE_THREADS -#define BOOST_NO_CWCHAR -#define BOOST_NO_STD_WSTRING -#define BOOST_NO_INTRINSIC_WCHAR_T - - +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +#define BOOST_PLATFORM "AmigaOS" + +#define BOOST_DISABLE_THREADS +#define BOOST_NO_CWCHAR +#define BOOST_NO_STD_WSTRING +#define BOOST_NO_INTRINSIC_WCHAR_T + + diff --git a/external/include/boost_1_75/boost/config/platform/beos.hpp b/external/include/boost_1_90_0/boost/config/platform/beos.hpp similarity index 95% rename from external/include/boost_1_75/boost/config/platform/beos.hpp rename to external/include/boost_1_90_0/boost/config/platform/beos.hpp index 6158c1c20b..f0f2a4efdc 100644 --- a/external/include/boost_1_75/boost/config/platform/beos.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/beos.hpp @@ -1,26 +1,26 @@ -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// BeOS specific config options: - -#define BOOST_PLATFORM "BeOS" - -#define BOOST_NO_CWCHAR -#define BOOST_NO_CWCTYPE -#define BOOST_HAS_UNISTD_H - -#define BOOST_HAS_BETHREADS - -#ifndef BOOST_DISABLE_THREADS -# define BOOST_HAS_THREADS -#endif - -// boilerplate code: -#include - - - +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// BeOS specific config options: + +#define BOOST_PLATFORM "BeOS" + +#define BOOST_NO_CWCHAR +#define BOOST_NO_CWCTYPE +#define BOOST_HAS_UNISTD_H + +#define BOOST_HAS_BETHREADS + +#ifndef BOOST_DISABLE_THREADS +# define BOOST_HAS_THREADS +#endif + +// boilerplate code: +#include + + + diff --git a/external/include/boost_1_75/boost/config/platform/bsd.hpp b/external/include/boost_1_90_0/boost/config/platform/bsd.hpp similarity index 89% rename from external/include/boost_1_75/boost/config/platform/bsd.hpp rename to external/include/boost_1_90_0/boost/config/platform/bsd.hpp index 79e74a080a..d211c48d84 100644 --- a/external/include/boost_1_75/boost/config/platform/bsd.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/bsd.hpp @@ -1,86 +1,83 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Douglas Gregor 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// generic BSD config options: - -#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) -#error "This platform is not BSD" -#endif - -#ifdef __FreeBSD__ -#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) -#elif defined(__NetBSD__) -#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) -#elif defined(__OpenBSD__) -#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) -#elif defined(__DragonFly__) -#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__) -#endif - -// -// is this the correct version check? -// FreeBSD has but does not -// advertise the fact in : -// -#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__) -# define BOOST_HAS_NL_TYPES_H -#endif - -// -// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in -// and not in -// -#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\ - || defined(__OpenBSD__) || defined(__DragonFly__) -# define BOOST_HAS_PTHREADS -#endif - -// -// No wide character support in the BSD header files: -// -#if defined(__NetBSD__) -#define __NetBSD_GCC__ (__GNUC__ * 1000000 \ - + __GNUC_MINOR__ * 1000 \ - + __GNUC_PATCHLEVEL__) -// XXX - the following is required until c++config.h -// defines _GLIBCXX_HAVE_SWPRINTF and friends -// or the preprocessor conditionals are removed -// from the cwchar header. -#define _GLIBCXX_HAVE_SWPRINTF 1 -#endif - -#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) || defined(__DragonFly__)) -# define BOOST_NO_CWCHAR -#endif -// -// The BSD has macros only, no functions: -// -#if !defined(__OpenBSD__) || defined(__DragonFly__) -# define BOOST_NO_CTYPE_FUNCTIONS -#endif - -// -// thread API's not auto detected: -// -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_SIGACTION - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - - - - +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Douglas Gregor 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// generic BSD config options: + +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) +#error "This platform is not BSD" +#endif + +#ifdef __FreeBSD__ +#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) +#elif defined(__NetBSD__) +#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) +#elif defined(__OpenBSD__) +#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) +#elif defined(__DragonFly__) +#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__) +#endif + +// +// is this the correct version check? +// FreeBSD has but does not +// advertise the fact in : +// +#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) \ + || defined(__OpenBSD__) || defined(__DragonFly__) +# define BOOST_HAS_NL_TYPES_H +#endif + +// +// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in +// and not in +// +#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\ + || defined(__OpenBSD__) || defined(__DragonFly__) +# define BOOST_HAS_PTHREADS +#endif + +// +// No wide character support in the BSD header files: +// +#if defined(__NetBSD__) +#define __NetBSD_GCC__ (__GNUC__ * 1000000 \ + + __GNUC_MINOR__ * 1000 \ + + __GNUC_PATCHLEVEL__) +// XXX - the following is required until c++config.h +// defines _GLIBCXX_HAVE_SWPRINTF and friends +// or the preprocessor conditionals are removed +// from the cwchar header. +#define _GLIBCXX_HAVE_SWPRINTF 1 +#endif + +#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \ + || (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) \ + || defined(__OpenBSD__) || defined(__DragonFly__)) +# define BOOST_NO_CWCHAR +#endif +// +// The BSD has macros only, no functions: +// +#if !defined(__OpenBSD__) || defined(__DragonFly__) +# define BOOST_NO_CTYPE_FUNCTIONS +#endif + +// +// thread API's not auto detected: +// +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_SIGACTION +#define BOOST_HAS_CLOCK_GETTIME + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include diff --git a/external/include/boost_1_75/boost/config/platform/cloudabi.hpp b/external/include/boost_1_90_0/boost/config/platform/cloudabi.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/cloudabi.hpp rename to external/include/boost_1_90_0/boost/config/platform/cloudabi.hpp index bed7b6318d..ebe99d00c9 100644 --- a/external/include/boost_1_75/boost/config/platform/cloudabi.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/cloudabi.hpp @@ -1,18 +1,18 @@ -// Copyright Nuxi, https://nuxi.nl/ 2015. -// 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) - -#define BOOST_PLATFORM "CloudABI" - -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_UNISTD_H - -#define BOOST_HAS_CLOCK_GETTIME -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_LOG1P -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_SCHED_YIELD +// Copyright Nuxi, https://nuxi.nl/ 2015. +// 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) + +#define BOOST_PLATFORM "CloudABI" + +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_UNISTD_H + +#define BOOST_HAS_CLOCK_GETTIME +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_LOG1P +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_SCHED_YIELD diff --git a/external/include/boost_1_90_0/boost/config/platform/cray.hpp b/external/include/boost_1_90_0/boost/config/platform/cray.hpp new file mode 100644 index 0000000000..c3a5e5d2eb --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/platform/cray.hpp @@ -0,0 +1,18 @@ +// (C) Copyright John Maddock 2011. +// Use, modification and distribution are subject to 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) + + +// See http://www.boost.org for most recent version. + +// SGI Irix specific config options: + +#define BOOST_PLATFORM "Cray" + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + diff --git a/external/include/boost_1_75/boost/config/platform/cygwin.hpp b/external/include/boost_1_90_0/boost/config/platform/cygwin.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/cygwin.hpp rename to external/include/boost_1_90_0/boost/config/platform/cygwin.hpp index d0052d8b45..f2f861b04a 100644 --- a/external/include/boost_1_75/boost/config/platform/cygwin.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/cygwin.hpp @@ -1,71 +1,71 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// cygwin specific config options: - -#define BOOST_PLATFORM "Cygwin" -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_LOG1P -#define BOOST_HAS_EXPM1 - -// -// Threading API: -// See if we have POSIX threads, if we do use them, otherwise -// revert to native Win threads. -#define BOOST_HAS_UNISTD_H -#include -#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -//# define BOOST_HAS_SIGACTION -#else -# if !defined(BOOST_HAS_WINTHREADS) -# define BOOST_HAS_WINTHREADS -# endif -# define BOOST_HAS_FTIME -#endif - -// -// find out if we have a stdint.h, there should be a better way to do this: -// -#include -#ifdef _STDINT_H -#define BOOST_HAS_STDINT_H -#endif -#if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H) -# define BOOST_HAS_STDINT_H -#endif - -#include -#if (CYGWIN_VERSION_API_MAJOR == 0 && CYGWIN_VERSION_API_MINOR < 231) -/// Cygwin has no fenv.h -#define BOOST_NO_FENV_H -#endif - -// Cygwin has it's own which breaks unless the correct compiler flags are used: -#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX -#include -#if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112) -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#endif - -// boilerplate code: -#include - -// -// Cygwin lies about XSI conformance, there is no nl_types.h: -// -#ifdef BOOST_HAS_NL_TYPES_H -# undef BOOST_HAS_NL_TYPES_H -#endif - - - - +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// cygwin specific config options: + +#define BOOST_PLATFORM "Cygwin" +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_LOG1P +#define BOOST_HAS_EXPM1 + +// +// Threading API: +// See if we have POSIX threads, if we do use them, otherwise +// revert to native Win threads. +#define BOOST_HAS_UNISTD_H +#include +#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +//# define BOOST_HAS_SIGACTION +#else +# if !defined(BOOST_HAS_WINTHREADS) +# define BOOST_HAS_WINTHREADS +# endif +# define BOOST_HAS_FTIME +#endif + +// +// find out if we have a stdint.h, there should be a better way to do this: +// +#include +#ifdef _STDINT_H +#define BOOST_HAS_STDINT_H +#endif +#if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H) +# define BOOST_HAS_STDINT_H +#endif + +#include +#if (CYGWIN_VERSION_API_MAJOR == 0 && CYGWIN_VERSION_API_MINOR < 231) +/// Cygwin has no fenv.h +#define BOOST_NO_FENV_H +#endif + +// Cygwin has it's own which breaks unless the correct compiler flags are used: +#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX +#include +#if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#endif + +// boilerplate code: +#include + +// +// Cygwin lies about XSI conformance, there is no nl_types.h: +// +#ifdef BOOST_HAS_NL_TYPES_H +# undef BOOST_HAS_NL_TYPES_H +#endif + + + + diff --git a/external/include/boost_1_75/boost/config/platform/haiku.hpp b/external/include/boost_1_90_0/boost/config/platform/haiku.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/haiku.hpp rename to external/include/boost_1_90_0/boost/config/platform/haiku.hpp index 04244c5677..929a10dcbc 100644 --- a/external/include/boost_1_75/boost/config/platform/haiku.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/haiku.hpp @@ -1,31 +1,31 @@ -// (C) Copyright Jessica Hamilton 2014. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Haiku specific config options: - -#define BOOST_PLATFORM "Haiku" - -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_STDINT_H - -#ifndef BOOST_DISABLE_THREADS -# define BOOST_HAS_THREADS -#endif - -#define BOOST_NO_CXX11_HDR_TYPE_TRAITS -#define BOOST_NO_CXX11_ATOMIC_SMART_PTR -#define BOOST_NO_CXX11_STATIC_ASSERT -#define BOOST_NO_CXX11_VARIADIC_MACROS - -// -// thread API's not auto detected: -// -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_GETTIMEOFDAY - -// boilerplate code: -#include +// (C) Copyright Jessica Hamilton 2014. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Haiku specific config options: + +#define BOOST_PLATFORM "Haiku" + +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_STDINT_H + +#ifndef BOOST_DISABLE_THREADS +# define BOOST_HAS_THREADS +#endif + +#define BOOST_NO_CXX11_HDR_TYPE_TRAITS +#define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_VARIADIC_MACROS + +// +// thread API's not auto detected: +// +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_GETTIMEOFDAY + +// boilerplate code: +#include diff --git a/external/include/boost_1_75/boost/config/platform/hpux.hpp b/external/include/boost_1_90_0/boost/config/platform/hpux.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/hpux.hpp rename to external/include/boost_1_90_0/boost/config/platform/hpux.hpp index 222622e7ee..303f3bce9e 100644 --- a/external/include/boost_1_75/boost/config/platform/hpux.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/hpux.hpp @@ -1,87 +1,87 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Toon Knapen 2003. -// (C) Copyright Boris Gubenko 2006 - 2007. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// hpux specific config options: - -#define BOOST_PLATFORM "HP-UX" - -// In principle, HP-UX has a nice under the name -// However, it has the following problem: -// Use of UINT32_C(0) results in "0u l" for the preprocessed source -// (verifyable with gcc 2.95.3) -#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC) -# define BOOST_HAS_STDINT_H -#endif - -#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE)) -# define BOOST_NO_SWPRINTF -#endif -#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE) -# define BOOST_NO_CWCTYPE -#endif - -#if defined(__GNUC__) -# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) - // GNU C on HP-UX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -# elif !defined(BOOST_DISABLE_THREADS) - // threads supported from gcc-3.3 onwards: -# define BOOST_HAS_THREADS -# define BOOST_HAS_PTHREADS -# endif -#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS) -# define BOOST_HAS_PTHREADS -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -// the following are always available: -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_SCHED_YIELD -#endif -#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#endif -#ifndef BOOST_HAS_NL_TYPES_H -# define BOOST_HAS_NL_TYPES_H -#endif -#ifndef BOOST_HAS_NANOSLEEP -# define BOOST_HAS_NANOSLEEP -#endif -#ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -#endif -#ifndef BOOST_HAS_DIRENT_H -# define BOOST_HAS_DIRENT_H -#endif -#ifndef BOOST_HAS_CLOCK_GETTIME -# define BOOST_HAS_CLOCK_GETTIME -#endif -#ifndef BOOST_HAS_SIGACTION -# define BOOST_HAS_SIGACTION -#endif -#ifndef BOOST_HAS_NRVO -# ifndef __parisc -# define BOOST_HAS_NRVO -# endif -#endif -#ifndef BOOST_HAS_LOG1P -# define BOOST_HAS_LOG1P -#endif -#ifndef BOOST_HAS_EXPM1 -# define BOOST_HAS_EXPM1 -#endif - +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Toon Knapen 2003. +// (C) Copyright Boris Gubenko 2006 - 2007. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// hpux specific config options: + +#define BOOST_PLATFORM "HP-UX" + +// In principle, HP-UX has a nice under the name +// However, it has the following problem: +// Use of UINT32_C(0) results in "0u l" for the preprocessed source +// (verifyable with gcc 2.95.3) +#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC) +# define BOOST_HAS_STDINT_H +#endif + +#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE)) +# define BOOST_NO_SWPRINTF +#endif +#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE) +# define BOOST_NO_CWCTYPE +#endif + +#if defined(__GNUC__) +# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) + // GNU C on HP-UX does not support threads (checked up to gcc 3.3) +# define BOOST_DISABLE_THREADS +# elif !defined(BOOST_DISABLE_THREADS) + // threads supported from gcc-3.3 onwards: +# define BOOST_HAS_THREADS +# define BOOST_HAS_PTHREADS +# endif +#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS) +# define BOOST_HAS_PTHREADS +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +// the following are always available: +#ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +#endif +#ifndef BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_SCHED_YIELD +#endif +#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#endif +#ifndef BOOST_HAS_NL_TYPES_H +# define BOOST_HAS_NL_TYPES_H +#endif +#ifndef BOOST_HAS_NANOSLEEP +# define BOOST_HAS_NANOSLEEP +#endif +#ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +#endif +#ifndef BOOST_HAS_DIRENT_H +# define BOOST_HAS_DIRENT_H +#endif +#ifndef BOOST_HAS_CLOCK_GETTIME +# define BOOST_HAS_CLOCK_GETTIME +#endif +#ifndef BOOST_HAS_SIGACTION +# define BOOST_HAS_SIGACTION +#endif +#ifndef BOOST_HAS_NRVO +# ifndef __parisc +# define BOOST_HAS_NRVO +# endif +#endif +#ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +#endif +#ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +#endif + diff --git a/external/include/boost_1_75/boost/config/platform/irix.hpp b/external/include/boost_1_90_0/boost/config/platform/irix.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/irix.hpp rename to external/include/boost_1_90_0/boost/config/platform/irix.hpp index 0acb651552..b87812a571 100644 --- a/external/include/boost_1_75/boost/config/platform/irix.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/irix.hpp @@ -1,31 +1,31 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to 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) - - -// See http://www.boost.org for most recent version. - -// SGI Irix specific config options: - -#define BOOST_PLATFORM "SGI Irix" - -#define BOOST_NO_SWPRINTF -// -// these are not auto detected by POSIX feature tests: -// -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE - -#ifdef __GNUC__ - // GNU C on IRIX does not support threads (checked up to gcc 3.3) -# define BOOST_DISABLE_THREADS -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - - - +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to 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) + + +// See http://www.boost.org for most recent version. + +// SGI Irix specific config options: + +#define BOOST_PLATFORM "SGI Irix" + +#define BOOST_NO_SWPRINTF +// +// these are not auto detected by POSIX feature tests: +// +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE + +#ifdef __GNUC__ + // GNU C on IRIX does not support threads (checked up to gcc 3.3) +# define BOOST_DISABLE_THREADS +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + diff --git a/external/include/boost_1_75/boost/config/platform/linux.hpp b/external/include/boost_1_90_0/boost/config/platform/linux.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/linux.hpp rename to external/include/boost_1_90_0/boost/config/platform/linux.hpp index c4eef8f80c..0beb7256bc 100644 --- a/external/include/boost_1_75/boost/config/platform/linux.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/linux.hpp @@ -1,106 +1,106 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// linux specific config options: - -#define BOOST_PLATFORM "linux" - -// make sure we have __GLIBC_PREREQ if available at all -#ifdef __cplusplus -#include -#else -#include -#endif - -// -// added to glibc 2.1.1 -// We can only test for 2.1 though: -// -#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) - // defines int64_t unconditionally, but defines - // int64_t only if __GNUC__. Thus, assume a fully usable - // only when using GCC. Update 2017: this appears not to be the case for - // recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045 -# if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5))) -# define BOOST_HAS_STDINT_H -# endif -#endif - -#if defined(__LIBCOMO__) - // - // como on linux doesn't have std:: c functions: - // NOTE: versions of libcomo prior to beta28 have octal version numbering, - // e.g. version 25 is 21 (dec) - // -# if __LIBCOMO_VERSION__ <= 20 -# define BOOST_NO_STDC_NAMESPACE -# endif - -# if __LIBCOMO_VERSION__ <= 21 -# define BOOST_NO_SWPRINTF -# endif - -#endif - -// -// If glibc is past version 2 then we definitely have -// gettimeofday, earlier versions may or may not have it: -// -#if defined(__GLIBC__) && (__GLIBC__ >= 2) -# define BOOST_HAS_GETTIMEOFDAY -#endif - -#ifdef __USE_POSIX199309 -# define BOOST_HAS_NANOSLEEP -#endif - -#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) -// __GLIBC_PREREQ is available since 2.1.2 - - // swprintf is available since glibc 2.2.0 -# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) -# define BOOST_NO_SWPRINTF -# endif -#else -# define BOOST_NO_SWPRINTF -#endif - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include -#if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID) -#define BOOST_HAS_PTHREAD_YIELD -#endif - -#ifndef __GNUC__ -// -// if the compiler is not gcc we still need to be able to parse -// the GNU system headers, some of which (mainly ) -// use GNU specific extensions: -// -# ifndef __extension__ -# define __extension__ -# endif -# ifndef __const__ -# define __const__ const -# endif -# ifndef __volatile__ -# define __volatile__ volatile -# endif -# ifndef __signed__ -# define __signed__ signed -# endif -# ifndef __typeof__ -# define __typeof__ typeof -# endif -# ifndef __inline__ -# define __inline__ inline -# endif -#endif - - +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// linux specific config options: + +#define BOOST_PLATFORM "linux" + +// make sure we have __GLIBC_PREREQ if available at all +#ifdef __cplusplus +#include +#else +#include +#endif + +// +// added to glibc 2.1.1 +// We can only test for 2.1 though: +// +#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) + // defines int64_t unconditionally, but defines + // int64_t only if __GNUC__. Thus, assume a fully usable + // only when using GCC. Update 2017: this appears not to be the case for + // recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045 +# if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5))) +# define BOOST_HAS_STDINT_H +# endif +#endif + +#if defined(__LIBCOMO__) + // + // como on linux doesn't have std:: c functions: + // NOTE: versions of libcomo prior to beta28 have octal version numbering, + // e.g. version 25 is 21 (dec) + // +# if __LIBCOMO_VERSION__ <= 20 +# define BOOST_NO_STDC_NAMESPACE +# endif + +# if __LIBCOMO_VERSION__ <= 21 +# define BOOST_NO_SWPRINTF +# endif + +#endif + +// +// If glibc is past version 2 then we definitely have +// gettimeofday, earlier versions may or may not have it: +// +#if defined(__GLIBC__) && (__GLIBC__ >= 2) +# define BOOST_HAS_GETTIMEOFDAY +#endif + +#ifdef __USE_POSIX199309 +# define BOOST_HAS_NANOSLEEP +#endif + +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +// __GLIBC_PREREQ is available since 2.1.2 + + // swprintf is available since glibc 2.2.0 +# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) +# define BOOST_NO_SWPRINTF +# endif +#else +# define BOOST_NO_SWPRINTF +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include +#if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID) +#define BOOST_HAS_PTHREAD_YIELD +#endif + +#ifndef __GNUC__ +// +// if the compiler is not gcc we still need to be able to parse +// the GNU system headers, some of which (mainly ) +// use GNU specific extensions: +// +# ifndef __extension__ +# define __extension__ +# endif +# ifndef __const__ +# define __const__ const +# endif +# ifndef __volatile__ +# define __volatile__ volatile +# endif +# ifndef __signed__ +# define __signed__ signed +# endif +# ifndef __typeof__ +# define __typeof__ typeof +# endif +# ifndef __inline__ +# define __inline__ inline +# endif +#endif + + diff --git a/external/include/boost_1_75/boost/config/platform/macos.hpp b/external/include/boost_1_90_0/boost/config/platform/macos.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/macos.hpp rename to external/include/boost_1_90_0/boost/config/platform/macos.hpp index ed7dc15f28..81aed319c1 100644 --- a/external/include/boost_1_75/boost/config/platform/macos.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/macos.hpp @@ -1,87 +1,87 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001 - 2002. -// (C) Copyright Bill Kempf 2002. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Mac OS specific config options: - -#define BOOST_PLATFORM "Mac OS" - -#if __MACH__ && !defined(_MSL_USING_MSL_C) - -// Using the Mac OS X system BSD-style C library. - -# ifndef BOOST_HAS_UNISTD_H -# define BOOST_HAS_UNISTD_H -# endif -// -// Begin by including our boilerplate code for POSIX -// feature detection, this is safe even when using -// the MSL as Metrowerks supply their own -// to replace the platform-native BSD one. G++ users -// should also always be able to do this on MaxOS X. -// -# include -# ifndef BOOST_HAS_STDINT_H -# define BOOST_HAS_STDINT_H -# endif - -// -// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, -// of these only pthreads are advertised in , so set the -// other options explicitly: -// -# define BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_SIGACTION - -# if (__GNUC__ < 3) && !defined( __APPLE_CC__) - -// GCC strange "ignore std" mode works better if you pretend everything -// is in the std namespace, for the most part. - -# define BOOST_NO_STDC_NAMESPACE -# endif - -# if (__GNUC__ >= 4) - -// Both gcc and intel require these. -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_NANOSLEEP - -# endif - -#else - -// Using the MSL C library. - -// We will eventually support threads in non-Carbon builds, but we do -// not support this yet. -# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) - -# if !defined(BOOST_HAS_PTHREADS) -// MPTasks support is deprecated/removed from Boost: -//# define BOOST_HAS_MPTASKS -# elif ( __dest_os == __mac_os_x ) -// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the -// gettimeofday and no posix. -# define BOOST_HAS_GETTIMEOFDAY -# endif - -#ifdef BOOST_HAS_PTHREADS -# define BOOST_HAS_THREADS -#endif - -// The remote call manager depends on this. -# define BOOST_BIND_ENABLE_PASCAL - -# endif - -#endif - - - +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Bill Kempf 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Mac OS specific config options: + +#define BOOST_PLATFORM "Mac OS" + +#if __MACH__ && !defined(_MSL_USING_MSL_C) + +// Using the Mac OS X system BSD-style C library. + +# ifndef BOOST_HAS_UNISTD_H +# define BOOST_HAS_UNISTD_H +# endif +// +// Begin by including our boilerplate code for POSIX +// feature detection, this is safe even when using +// the MSL as Metrowerks supply their own +// to replace the platform-native BSD one. G++ users +// should also always be able to do this on MaxOS X. +// +# include +# ifndef BOOST_HAS_STDINT_H +# define BOOST_HAS_STDINT_H +# endif + +// +// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, +// of these only pthreads are advertised in , so set the +// other options explicitly: +// +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_SIGACTION + +# if (__GNUC__ < 3) && !defined( __APPLE_CC__) + +// GCC strange "ignore std" mode works better if you pretend everything +// is in the std namespace, for the most part. + +# define BOOST_NO_STDC_NAMESPACE +# endif + +# if (__GNUC__ >= 4) + +// Both gcc and intel require these. +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_NANOSLEEP + +# endif + +#else + +// Using the MSL C library. + +// We will eventually support threads in non-Carbon builds, but we do +// not support this yet. +# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) + +# if !defined(BOOST_HAS_PTHREADS) +// MPTasks support is deprecated/removed from Boost: +//# define BOOST_HAS_MPTASKS +# elif ( __dest_os == __mac_os_x ) +// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the +// gettimeofday and no posix. +# define BOOST_HAS_GETTIMEOFDAY +# endif + +#ifdef BOOST_HAS_PTHREADS +# define BOOST_HAS_THREADS +#endif + +// The remote call manager depends on this. +# define BOOST_BIND_ENABLE_PASCAL + +# endif + +#endif + + + diff --git a/external/include/boost_1_75/boost/config/platform/qnxnto.hpp b/external/include/boost_1_90_0/boost/config/platform/qnxnto.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/qnxnto.hpp rename to external/include/boost_1_90_0/boost/config/platform/qnxnto.hpp index d0298cb4ec..85320cb27f 100644 --- a/external/include/boost_1_75/boost/config/platform/qnxnto.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/qnxnto.hpp @@ -1,31 +1,31 @@ -// (C) Copyright Jim Douglas 2005. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// QNX specific config options: - -#define BOOST_PLATFORM "QNX" - -#define BOOST_HAS_UNISTD_H -#include - -// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h -// or log1p and expm1: -#undef BOOST_HAS_NL_TYPES_H -#undef BOOST_HAS_LOG1P -#undef BOOST_HAS_EXPM1 - -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE - -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_CLOCK_GETTIME -#define BOOST_HAS_NANOSLEEP - - - - - +// (C) Copyright Jim Douglas 2005. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// QNX specific config options: + +#define BOOST_PLATFORM "QNX" + +#define BOOST_HAS_UNISTD_H +#include + +// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h +// or log1p and expm1: +#undef BOOST_HAS_NL_TYPES_H +#undef BOOST_HAS_LOG1P +#undef BOOST_HAS_EXPM1 + +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE + +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_CLOCK_GETTIME +#define BOOST_HAS_NANOSLEEP + + + + + diff --git a/external/include/boost_1_75/boost/config/platform/solaris.hpp b/external/include/boost_1_90_0/boost/config/platform/solaris.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/solaris.hpp rename to external/include/boost_1_90_0/boost/config/platform/solaris.hpp index 51ffe67f33..3840e4dc44 100644 --- a/external/include/boost_1_75/boost/config/platform/solaris.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/solaris.hpp @@ -1,31 +1,31 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// sun specific config options: - -#define BOOST_PLATFORM "Sun Solaris" - -#define BOOST_HAS_GETTIMEOFDAY - -// boilerplate code: -#define BOOST_HAS_UNISTD_H -#include - -// -// pthreads don't actually work with gcc unless _PTHREADS is defined: -// -#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS) -# undef BOOST_HAS_PTHREADS -#endif - -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_LOG1P -#define BOOST_HAS_EXPM1 - - +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// sun specific config options: + +#define BOOST_PLATFORM "Sun Solaris" + +#define BOOST_HAS_GETTIMEOFDAY + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +// +// pthreads don't actually work with gcc unless _PTHREADS is defined: +// +#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS) +# undef BOOST_HAS_PTHREADS +#endif + +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_LOG1P +#define BOOST_HAS_EXPM1 + + diff --git a/external/include/boost_1_75/boost/config/platform/symbian.hpp b/external/include/boost_1_90_0/boost/config/platform/symbian.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/symbian.hpp rename to external/include/boost_1_90_0/boost/config/platform/symbian.hpp index f814d00b5b..24519bfaf6 100644 --- a/external/include/boost_1_75/boost/config/platform/symbian.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/symbian.hpp @@ -1,97 +1,97 @@ -// (C) Copyright Yuriy Krasnoschek 2009. -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// symbian specific config options: - - -#define BOOST_PLATFORM "Symbian" -#define BOOST_SYMBIAN 1 - - -#if defined(__S60_3X__) -// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL -# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK -// make sure we have __GLIBC_PREREQ if available at all -#ifdef __cplusplus -#include -#else -#include -#endif// boilerplate code: -# define BOOST_HAS_UNISTD_H -# include -// S60 SDK defines _POSIX_VERSION as POSIX.1 -# ifndef BOOST_HAS_STDINT_H -# define BOOST_HAS_STDINT_H -# endif -# ifndef BOOST_HAS_GETTIMEOFDAY -# define BOOST_HAS_GETTIMEOFDAY -# endif -# ifndef BOOST_HAS_DIRENT_H -# define BOOST_HAS_DIRENT_H -# endif -# ifndef BOOST_HAS_SIGACTION -# define BOOST_HAS_SIGACTION -# endif -# ifndef BOOST_HAS_PTHREADS -# define BOOST_HAS_PTHREADS -# endif -# ifndef BOOST_HAS_NANOSLEEP -# define BOOST_HAS_NANOSLEEP -# endif -# ifndef BOOST_HAS_SCHED_YIELD -# define BOOST_HAS_SCHED_YIELD -# endif -# ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# endif -# ifndef BOOST_HAS_LOG1P -# define BOOST_HAS_LOG1P -# endif -# ifndef BOOST_HAS_EXPM1 -# define BOOST_HAS_EXPM1 -# endif -# ifndef BOOST_POSIX_API -# define BOOST_POSIX_API -# endif -// endianess support -# include -// Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER -# ifndef __LITTLE_ENDIAN -# ifdef _LITTLE_ENDIAN -# define __LITTLE_ENDIAN _LITTLE_ENDIAN -# else -# define __LITTLE_ENDIAN 1234 -# endif -# endif -# ifndef __BIG_ENDIAN -# ifdef _BIG_ENDIAN -# define __BIG_ENDIAN _BIG_ENDIAN -# else -# define __BIG_ENDIAN 4321 -# endif -# endif -# ifndef __BYTE_ORDER -# define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE -# endif -// Known limitations -# define BOOST_ASIO_DISABLE_SERIAL_PORT -# define BOOST_DATE_TIME_NO_LOCALE -# define BOOST_NO_STD_WSTRING -# define BOOST_EXCEPTION_DISABLE -# define BOOST_NO_EXCEPTIONS - -#else // TODO: More platform support e.g. UIQ -# error "Unsuppoted Symbian SDK" -#endif - -#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32) -# define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro -#endif - - +// (C) Copyright Yuriy Krasnoschek 2009. +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// symbian specific config options: + + +#define BOOST_PLATFORM "Symbian" +#define BOOST_SYMBIAN 1 + + +#if defined(__S60_3X__) +// Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL +# define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK +// make sure we have __GLIBC_PREREQ if available at all +#ifdef __cplusplus +#include +#else +#include +#endif// boilerplate code: +# define BOOST_HAS_UNISTD_H +# include +// S60 SDK defines _POSIX_VERSION as POSIX.1 +# ifndef BOOST_HAS_STDINT_H +# define BOOST_HAS_STDINT_H +# endif +# ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +# endif +# ifndef BOOST_HAS_DIRENT_H +# define BOOST_HAS_DIRENT_H +# endif +# ifndef BOOST_HAS_SIGACTION +# define BOOST_HAS_SIGACTION +# endif +# ifndef BOOST_HAS_PTHREADS +# define BOOST_HAS_PTHREADS +# endif +# ifndef BOOST_HAS_NANOSLEEP +# define BOOST_HAS_NANOSLEEP +# endif +# ifndef BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_SCHED_YIELD +# endif +# ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# endif +# ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +# endif +# ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +# endif +# ifndef BOOST_POSIX_API +# define BOOST_POSIX_API +# endif +// endianess support +# include +// Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER +# ifndef __LITTLE_ENDIAN +# ifdef _LITTLE_ENDIAN +# define __LITTLE_ENDIAN _LITTLE_ENDIAN +# else +# define __LITTLE_ENDIAN 1234 +# endif +# endif +# ifndef __BIG_ENDIAN +# ifdef _BIG_ENDIAN +# define __BIG_ENDIAN _BIG_ENDIAN +# else +# define __BIG_ENDIAN 4321 +# endif +# endif +# ifndef __BYTE_ORDER +# define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE +# endif +// Known limitations +# define BOOST_ASIO_DISABLE_SERIAL_PORT +# define BOOST_DATE_TIME_NO_LOCALE +# define BOOST_NO_STD_WSTRING +# define BOOST_EXCEPTION_DISABLE +# define BOOST_NO_EXCEPTIONS + +#else // TODO: More platform support e.g. UIQ +# error "Unsuppoted Symbian SDK" +#endif + +#if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32) +# define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro +#endif + + diff --git a/external/include/boost_1_75/boost/config/platform/vms.hpp b/external/include/boost_1_90_0/boost/config/platform/vms.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/vms.hpp rename to external/include/boost_1_90_0/boost/config/platform/vms.hpp index f70efcfb8e..3d510296f7 100644 --- a/external/include/boost_1_75/boost/config/platform/vms.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/vms.hpp @@ -1,25 +1,25 @@ -// (C) Copyright Artyom Beilis 2010. -// Use, modification and distribution are subject to 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) - -#ifndef BOOST_CONFIG_PLATFORM_VMS_HPP -#define BOOST_CONFIG_PLATFORM_VMS_HPP - -#define BOOST_PLATFORM "OpenVMS" - -#undef BOOST_HAS_STDINT_H -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_NL_TYPES_H -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_CLOCK_GETTIME -#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -#define BOOST_HAS_LOG1P -#define BOOST_HAS_EXPM1 -#define BOOST_HAS_THREADS -#undef BOOST_HAS_SCHED_YIELD - -#endif +// (C) Copyright Artyom Beilis 2010. +// Use, modification and distribution are subject to 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) + +#ifndef BOOST_CONFIG_PLATFORM_VMS_HPP +#define BOOST_CONFIG_PLATFORM_VMS_HPP + +#define BOOST_PLATFORM "OpenVMS" + +#undef BOOST_HAS_STDINT_H +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_NL_TYPES_H +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_CLOCK_GETTIME +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_LOG1P +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_THREADS +#undef BOOST_HAS_SCHED_YIELD + +#endif diff --git a/external/include/boost_1_75/boost/config/platform/vxworks.hpp b/external/include/boost_1_90_0/boost/config/platform/vxworks.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/platform/vxworks.hpp rename to external/include/boost_1_90_0/boost/config/platform/vxworks.hpp index 0564b9443f..1fd8e1b7fc 100644 --- a/external/include/boost_1_75/boost/config/platform/vxworks.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/vxworks.hpp @@ -1,422 +1,422 @@ -// (C) Copyright Dustin Spicuzza 2009. -// Adapted to vxWorks 6.9 by Peter Brockamp 2012. -// Updated for VxWorks 7 by Brian Kuhl 2016 -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Old versions of vxWorks (namely everything below 6.x) are -// absolutely unable to use boost. Old STLs and compilers -// like (GCC 2.96) . Do not even think of getting this to work, -// a miserable failure will be guaranteed! -// -// VxWorks supports C++ linkage in the kernel with -// DKMs (Downloadable Kernel Modules). But, until recently -// the kernel used a C89 library with no -// wide character support and no guarantee of ANSI C. -// Regardless of the C library the same Dinkum -// STL library is used in both contexts. -// -// Similarly the Dinkum abridged STL that supports the loosely specified -// embedded C++ standard has not been tested and is unlikely to work -// on anything but the simplest library. -// ==================================================================== -// -// Some important information regarding the usage of POSIX semaphores: -// ------------------------------------------------------------------- -// -// VxWorks as a real time operating system handles threads somewhat -// different from what "normal" OSes do, regarding their scheduling! -// This could lead to a scenario called "priority inversion" when using -// semaphores, see http://en.wikipedia.org/wiki/Priority_inversion. -// -// Now, VxWorks POSIX-semaphores for DKM's default to the usage of -// priority inverting semaphores, which is fine. On the other hand, -// for RTP's it defaults to using non priority inverting semaphores, -// which could easily pose a serious problem for a real time process. -// -// To change the default properties for POSIX-semaphores in VxWorks 7 -// enable core > CORE_USER Menu > DEFAULT_PTHREAD_PRIO_INHERIT -// -// In VxWorks 6.x so as to integrate with boost. -// - Edit the file -// installDir/vxworks-6.x/target/usr/src/posix/pthreadLib.c -// - Around line 917 there should be the definition of the default -// mutex attributes: -// -// LOCAL pthread_mutexattr_t defaultMutexAttr = -// { -// PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0, -// PTHREAD_MUTEX_DEFAULT -// }; -// -// Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT. -// - Around line 1236 there should be a definition for the function -// pthread_mutexattr_init(). A couple of lines below you should -// find a block of code like this: -// -// pAttr->mutexAttrStatus = PTHREAD_INITIALIZED_OBJ; -// pAttr->mutexAttrProtocol = PTHREAD_PRIO_NONE; -// pAttr->mutexAttrPrioceiling = 0; -// pAttr->mutexAttrType = PTHREAD_MUTEX_DEFAULT; -// -// Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT. -// - Finally, rebuild your VSB. This will rebuild the libraries -// with the changed properties. That's it! Now, using boost should -// no longer cause any problems with task deadlocks! -// -// ==================================================================== - -// Block out all versions before vxWorks 6.x, as these don't work: -// Include header with the vxWorks version information and query them -#include -#if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6) -# error "The vxWorks version you're using is so badly outdated,\ - it doesn't work at all with boost, sorry, no chance!" -#endif - -// Handle versions above 5.X but below 6.9 -#if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9) -// TODO: Starting from what version does vxWorks work with boost? -// We can't reasonably insert a #warning "" as a user hint here, -// as this will show up with every file including some boost header, -// badly bugging the user... So for the time being we just leave it. -#endif - -// vxWorks specific config options: -// -------------------------------- -#define BOOST_PLATFORM "vxWorks" - - -// Generally available headers: -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_STDINT_H -#define BOOST_HAS_DIRENT_H -//#define BOOST_HAS_SLIST - -// vxWorks does not have installed an iconv-library by default, -// so unfortunately no Unicode support from scratch is available! -// Thus, instead it is suggested to switch to ICU, as this seems -// to be the most complete and portable option... -#ifndef BOOST_LOCALE_WITH_ICU - #define BOOST_LOCALE_WITH_ICU -#endif - -// Generally available functionality: -#define BOOST_HAS_THREADS -#define BOOST_HAS_NANOSLEEP -#define BOOST_HAS_GETTIMEOFDAY -#define BOOST_HAS_CLOCK_GETTIME -#define BOOST_HAS_MACRO_USE_FACET - -// Generally available threading API's: -#define BOOST_HAS_PTHREADS -#define BOOST_HAS_SCHED_YIELD -#define BOOST_HAS_SIGACTION - -// Functionality available for RTPs only: -#ifdef __RTP__ -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_LOG1P -# define BOOST_HAS_EXPM1 -#endif - -// Functionality available for DKMs only: -#ifdef _WRS_KERNEL - // Luckily, at the moment there seems to be none! -#endif - -// These #defines allow detail/posix_features to work, since vxWorks doesn't -// #define them itself for DKMs (for RTPs on the contrary it does): -#ifdef _WRS_KERNEL -# ifndef _POSIX_TIMERS -# define _POSIX_TIMERS 1 -# endif -# ifndef _POSIX_THREADS -# define _POSIX_THREADS 1 -# endif -// no sysconf( _SC_PAGESIZE) in kernel -# define BOOST_THREAD_USES_GETPAGESIZE -#endif - -#if (_WRS_VXWORKS_MAJOR < 7) -// vxWorks-around: #defines CLOCKS_PER_SEC as sysClkRateGet() but -// miserably fails to #include the required to make -// sysClkRateGet() available! So we manually include it here. -# ifdef __RTP__ -# include -# include -# endif - -// vxWorks-around: In the macros INT32_C(), UINT32_C(), INT64_C() and -// UINT64_C() are defined erroneously, yielding not a signed/ -// unsigned long/long long type, but a signed/unsigned int/long -// type. Eventually this leads to compile errors in ratio_fwd.hpp, -// when trying to define several constants which do not fit into a -// long type! We correct them here by redefining. - -# include - -// Special behaviour for DKMs: - -// Some macro-magic to do the job -# define VX_JOIN(X, Y) VX_DO_JOIN(X, Y) -# define VX_DO_JOIN(X, Y) VX_DO_JOIN2(X, Y) -# define VX_DO_JOIN2(X, Y) X##Y - -// Correctly setup the macros -# undef INT32_C -# undef UINT32_C -# undef INT64_C -# undef UINT64_C -# define INT32_C(x) VX_JOIN(x, L) -# define UINT32_C(x) VX_JOIN(x, UL) -# define INT64_C(x) VX_JOIN(x, LL) -# define UINT64_C(x) VX_JOIN(x, ULL) - -// #include Libraries required for the following function adaption -# include -#endif // _WRS_VXWORKS_MAJOR < 7 - -#include -#include - -#if defined(_WRS_KERNEL) && (_CPPLIB_VER < 700) - // recent kernels use Dinkum clib v7.00+ - // with widechar but older kernels - // do not have the -header, - // but apparently they do have an intrinsic wchar_t meanwhile! -# define BOOST_NO_CWCHAR - - // Lots of wide-functions and -headers are unavailable for DKMs as well: -# define BOOST_NO_CWCTYPE -# define BOOST_NO_SWPRINTF -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - - -// Use C-linkage for the following helper functions -#ifdef __cplusplus -extern "C" { -#endif - -// vxWorks-around: The required functions getrlimit() and getrlimit() are missing. -// But we have the similar functions getprlimit() and setprlimit(), -// which may serve the purpose. -// Problem: The vxWorks-documentation regarding these functions -// doesn't deserve its name! It isn't documented what the first two -// parameters idtype and id mean, so we must fall back to an educated -// guess - null, argh... :-/ - -// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason. -// Thus for DKMs there would have to be another implementation. -#if defined ( __RTP__) && (_WRS_VXWORKS_MAJOR < 7) - inline int getrlimit(int resource, struct rlimit *rlp){ - return getprlimit(0, 0, resource, rlp); - } - - inline int setrlimit(int resource, const struct rlimit *rlp){ - return setprlimit(0, 0, resource, const_cast(rlp)); - } -#endif - -// vxWorks has ftruncate() only, so we do simulate truncate(): -inline int truncate(const char *p, off_t l){ - int fd = open(p, O_WRONLY); - if (fd == -1){ - errno = EACCES; - return -1; - } - if (ftruncate(fd, l) == -1){ - close(fd); - errno = EACCES; - return -1; - } - return close(fd); -} - -#ifdef __GNUC__ -# define ___unused __attribute__((unused)) -#else -# define ___unused -#endif - -// Fake symlink handling by dummy functions: -inline int symlink(const char* path1 ___unused, const char* path2 ___unused){ - // vxWorks has no symlinks -> always return an error! - errno = EACCES; - return -1; -} - -inline ssize_t readlink(const char* path1 ___unused, char* path2 ___unused, size_t size ___unused){ - // vxWorks has no symlinks -> always return an error! - errno = EACCES; - return -1; -} - -#if (_WRS_VXWORKS_MAJOR < 7) - -inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - tv->tv_sec = ts.tv_sec; - tv->tv_usec = ts.tv_nsec / 1000; - return 0; -} -#endif - -#ifdef __cplusplus -} // extern "C" -#endif - -/* - * moved to os/utils/unix/freind_h/times.h in VxWorks 7 - * to avoid conflict with MPL operator times - */ -#if (_WRS_VXWORKS_MAJOR < 7) -# ifdef __cplusplus - -// vxWorks provides neither struct tms nor function times()! -// We implement an empty dummy-function, simply setting the user -// and system time to the half of thew actual system ticks-value -// and the child user and system time to 0. -// Rather ugly but at least it suppresses compiler errors... -// Unfortunately, this of course *does* have an severe impact on -// dependant libraries, actually this is chrono only! Here it will -// not be possible to correctly use user and system times! But -// as vxWorks is lacking the ability to calculate user and system -// process times there seems to be no other possible solution. -struct tms{ - clock_t tms_utime; // User CPU time - clock_t tms_stime; // System CPU time - clock_t tms_cutime; // User CPU time of terminated child processes - clock_t tms_cstime; // System CPU time of terminated child processes -}; - - - inline clock_t times(struct tms *t){ - struct timespec ts; - clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); - clock_t ticks(static_cast(static_cast(ts.tv_sec) * CLOCKS_PER_SEC + - static_cast(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0)); - t->tms_utime = ticks/2U; - t->tms_stime = ticks/2U; - t->tms_cutime = 0; // vxWorks is lacking the concept of a child process! - t->tms_cstime = 0; // -> Set the wait times for childs to 0 - return ticks; -} - - -namespace std { - using ::times; -} -# endif // __cplusplus -#endif // _WRS_VXWORKS_MAJOR < 7 - - -#ifdef __cplusplus -extern "C" void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h - -// Put the selfmade functions into the std-namespace, just in case -namespace std { -# ifdef __RTP__ - using ::getrlimit; - using ::setrlimit; -# endif - using ::truncate; - using ::symlink; - using ::readlink; -# if (_WRS_VXWORKS_MAJOR < 7) - using ::gettimeofday; -# endif -} -#endif // __cplusplus - -// Some more macro-magic: -// vxWorks-around: Some functions are not present or broken in vxWorks -// but may be patched to life via helper macros... - -// Include signal.h which might contain a typo to be corrected here -#include - -#if (_WRS_VXWORKS_MAJOR < 7) -# define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway! -inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks! -#endif - -#ifndef S_ISSOCK -# define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket? -#endif -#ifndef FPE_FLTINV -# define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy -#endif -#if !defined(BUS_ADRALN) && defined(BUS_ADRALNR) -# define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' -#endif -typedef int locale_t; // locale_t is a POSIX-extension, currently not present in vxWorks! - -// #include boilerplate code: -#include - -// vxWorks lies about XSI conformance, there is no nl_types.h: -#undef BOOST_HAS_NL_TYPES_H - -// vxWorks 7 adds C++11 support -// however it is optional, and does not match exactly the support determined -// by examining the Dinkum STL version and GCC version (or ICC and DCC) -#if !( defined( _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011) || defined(_WRS_CONFIG_LIBCPLUS_STD)) -# define BOOST_NO_CXX11_ADDRESSOF // C11 addressof operator on memory location -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_NUMERIC_LIMITS // max_digits10 in test/../print_helper.hpp -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_STD_ALIGN - - -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST //serialization/test/test_list.cpp -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM //math/../test_data.hpp -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -#else -# ifndef BOOST_SYSTEM_NO_DEPRECATED -# define BOOST_SYSTEM_NO_DEPRECATED // workaround link error in spirit -# endif -#endif - - -// NONE is used in enums in lamda and other libraries -#undef NONE -// restrict is an iostreams class -#undef restrict -// affects some typeof tests -#undef V7 - -// use fake poll() from Unix layer in ASIO to get full functionality -// most libraries will use select() but this define allows 'iostream' functionality -// which is based on poll() only -#if (_WRS_VXWORKS_MAJOR > 6) -# ifndef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR -# define BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR -# endif -#else -# define BOOST_ASIO_DISABLE_SERIAL_PORT -#endif - +// (C) Copyright Dustin Spicuzza 2009. +// Adapted to vxWorks 6.9 by Peter Brockamp 2012. +// Updated for VxWorks 7 by Brian Kuhl 2016 +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Old versions of vxWorks (namely everything below 6.x) are +// absolutely unable to use boost. Old STLs and compilers +// like (GCC 2.96) . Do not even think of getting this to work, +// a miserable failure will be guaranteed! +// +// VxWorks supports C++ linkage in the kernel with +// DKMs (Downloadable Kernel Modules). But, until recently +// the kernel used a C89 library with no +// wide character support and no guarantee of ANSI C. +// Regardless of the C library the same Dinkum +// STL library is used in both contexts. +// +// Similarly the Dinkum abridged STL that supports the loosely specified +// embedded C++ standard has not been tested and is unlikely to work +// on anything but the simplest library. +// ==================================================================== +// +// Some important information regarding the usage of POSIX semaphores: +// ------------------------------------------------------------------- +// +// VxWorks as a real time operating system handles threads somewhat +// different from what "normal" OSes do, regarding their scheduling! +// This could lead to a scenario called "priority inversion" when using +// semaphores, see http://en.wikipedia.org/wiki/Priority_inversion. +// +// Now, VxWorks POSIX-semaphores for DKM's default to the usage of +// priority inverting semaphores, which is fine. On the other hand, +// for RTP's it defaults to using non priority inverting semaphores, +// which could easily pose a serious problem for a real time process. +// +// To change the default properties for POSIX-semaphores in VxWorks 7 +// enable core > CORE_USER Menu > DEFAULT_PTHREAD_PRIO_INHERIT +// +// In VxWorks 6.x so as to integrate with boost. +// - Edit the file +// installDir/vxworks-6.x/target/usr/src/posix/pthreadLib.c +// - Around line 917 there should be the definition of the default +// mutex attributes: +// +// LOCAL pthread_mutexattr_t defaultMutexAttr = +// { +// PTHREAD_INITIALIZED_OBJ, PTHREAD_PRIO_NONE, 0, +// PTHREAD_MUTEX_DEFAULT +// }; +// +// Here, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT. +// - Around line 1236 there should be a definition for the function +// pthread_mutexattr_init(). A couple of lines below you should +// find a block of code like this: +// +// pAttr->mutexAttrStatus = PTHREAD_INITIALIZED_OBJ; +// pAttr->mutexAttrProtocol = PTHREAD_PRIO_NONE; +// pAttr->mutexAttrPrioceiling = 0; +// pAttr->mutexAttrType = PTHREAD_MUTEX_DEFAULT; +// +// Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT. +// - Finally, rebuild your VSB. This will rebuild the libraries +// with the changed properties. That's it! Now, using boost should +// no longer cause any problems with task deadlocks! +// +// ==================================================================== + +// Block out all versions before vxWorks 6.x, as these don't work: +// Include header with the vxWorks version information and query them +#include +#if !defined(_WRS_VXWORKS_MAJOR) || (_WRS_VXWORKS_MAJOR < 6) +# error "The vxWorks version you're using is so badly outdated,\ + it doesn't work at all with boost, sorry, no chance!" +#endif + +// Handle versions above 5.X but below 6.9 +#if (_WRS_VXWORKS_MAJOR == 6) && (_WRS_VXWORKS_MINOR < 9) +// TODO: Starting from what version does vxWorks work with boost? +// We can't reasonably insert a #warning "" as a user hint here, +// as this will show up with every file including some boost header, +// badly bugging the user... So for the time being we just leave it. +#endif + +// vxWorks specific config options: +// -------------------------------- +#define BOOST_PLATFORM "vxWorks" + + +// Generally available headers: +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_DIRENT_H +//#define BOOST_HAS_SLIST + +// vxWorks does not have installed an iconv-library by default, +// so unfortunately no Unicode support from scratch is available! +// Thus, instead it is suggested to switch to ICU, as this seems +// to be the most complete and portable option... +#ifndef BOOST_LOCALE_WITH_ICU + #define BOOST_LOCALE_WITH_ICU +#endif + +// Generally available functionality: +#define BOOST_HAS_THREADS +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_CLOCK_GETTIME +#define BOOST_HAS_MACRO_USE_FACET + +// Generally available threading API's: +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_SIGACTION + +// Functionality available for RTPs only: +#ifdef __RTP__ +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_LOG1P +# define BOOST_HAS_EXPM1 +#endif + +// Functionality available for DKMs only: +#ifdef _WRS_KERNEL + // Luckily, at the moment there seems to be none! +#endif + +// These #defines allow detail/posix_features to work, since vxWorks doesn't +// #define them itself for DKMs (for RTPs on the contrary it does): +#ifdef _WRS_KERNEL +# ifndef _POSIX_TIMERS +# define _POSIX_TIMERS 1 +# endif +# ifndef _POSIX_THREADS +# define _POSIX_THREADS 1 +# endif +// no sysconf( _SC_PAGESIZE) in kernel +# define BOOST_THREAD_USES_GETPAGESIZE +#endif + +#if (_WRS_VXWORKS_MAJOR < 7) +// vxWorks-around: #defines CLOCKS_PER_SEC as sysClkRateGet() but +// miserably fails to #include the required to make +// sysClkRateGet() available! So we manually include it here. +# ifdef __RTP__ +# include +# include +# endif + +// vxWorks-around: In the macros INT32_C(), UINT32_C(), INT64_C() and +// UINT64_C() are defined erroneously, yielding not a signed/ +// unsigned long/long long type, but a signed/unsigned int/long +// type. Eventually this leads to compile errors in ratio_fwd.hpp, +// when trying to define several constants which do not fit into a +// long type! We correct them here by redefining. + +# include + +// Special behaviour for DKMs: + +// Some macro-magic to do the job +# define VX_JOIN(X, Y) VX_DO_JOIN(X, Y) +# define VX_DO_JOIN(X, Y) VX_DO_JOIN2(X, Y) +# define VX_DO_JOIN2(X, Y) X##Y + +// Correctly setup the macros +# undef INT32_C +# undef UINT32_C +# undef INT64_C +# undef UINT64_C +# define INT32_C(x) VX_JOIN(x, L) +# define UINT32_C(x) VX_JOIN(x, UL) +# define INT64_C(x) VX_JOIN(x, LL) +# define UINT64_C(x) VX_JOIN(x, ULL) + +// #include Libraries required for the following function adaption +# include +#endif // _WRS_VXWORKS_MAJOR < 7 + +#include +#include + +#if defined(_WRS_KERNEL) && (_CPPLIB_VER < 700) + // recent kernels use Dinkum clib v7.00+ + // with widechar but older kernels + // do not have the -header, + // but apparently they do have an intrinsic wchar_t meanwhile! +# define BOOST_NO_CWCHAR + + // Lots of wide-functions and -headers are unavailable for DKMs as well: +# define BOOST_NO_CWCTYPE +# define BOOST_NO_SWPRINTF +# define BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTREAMBUF +#endif + + +// Use C-linkage for the following helper functions +#ifdef __cplusplus +extern "C" { +#endif + +// vxWorks-around: The required functions getrlimit() and getrlimit() are missing. +// But we have the similar functions getprlimit() and setprlimit(), +// which may serve the purpose. +// Problem: The vxWorks-documentation regarding these functions +// doesn't deserve its name! It isn't documented what the first two +// parameters idtype and id mean, so we must fall back to an educated +// guess - null, argh... :-/ + +// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason. +// Thus for DKMs there would have to be another implementation. +#if defined ( __RTP__) && (_WRS_VXWORKS_MAJOR < 7) + inline int getrlimit(int resource, struct rlimit *rlp){ + return getprlimit(0, 0, resource, rlp); + } + + inline int setrlimit(int resource, const struct rlimit *rlp){ + return setprlimit(0, 0, resource, const_cast(rlp)); + } +#endif + +// vxWorks has ftruncate() only, so we do simulate truncate(): +inline int truncate(const char *p, off_t l){ + int fd = open(p, O_WRONLY); + if (fd == -1){ + errno = EACCES; + return -1; + } + if (ftruncate(fd, l) == -1){ + close(fd); + errno = EACCES; + return -1; + } + return close(fd); +} + +#ifdef __GNUC__ +# define ___unused __attribute__((unused)) +#else +# define ___unused +#endif + +// Fake symlink handling by dummy functions: +inline int symlink(const char* path1 ___unused, const char* path2 ___unused){ + // vxWorks has no symlinks -> always return an error! + errno = EACCES; + return -1; +} + +inline ssize_t readlink(const char* path1 ___unused, char* path2 ___unused, size_t size ___unused){ + // vxWorks has no symlinks -> always return an error! + errno = EACCES; + return -1; +} + +#if (_WRS_VXWORKS_MAJOR < 7) + +inline int gettimeofday(struct timeval *tv, void * /*tzv*/) { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + tv->tv_sec = ts.tv_sec; + tv->tv_usec = ts.tv_nsec / 1000; + return 0; +} +#endif + +#ifdef __cplusplus +} // extern "C" +#endif + +/* + * moved to os/utils/unix/freind_h/times.h in VxWorks 7 + * to avoid conflict with MPL operator times + */ +#if (_WRS_VXWORKS_MAJOR < 7) +# ifdef __cplusplus + +// vxWorks provides neither struct tms nor function times()! +// We implement an empty dummy-function, simply setting the user +// and system time to the half of thew actual system ticks-value +// and the child user and system time to 0. +// Rather ugly but at least it suppresses compiler errors... +// Unfortunately, this of course *does* have an severe impact on +// dependant libraries, actually this is chrono only! Here it will +// not be possible to correctly use user and system times! But +// as vxWorks is lacking the ability to calculate user and system +// process times there seems to be no other possible solution. +struct tms{ + clock_t tms_utime; // User CPU time + clock_t tms_stime; // System CPU time + clock_t tms_cutime; // User CPU time of terminated child processes + clock_t tms_cstime; // System CPU time of terminated child processes +}; + + + inline clock_t times(struct tms *t){ + struct timespec ts; + clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); + clock_t ticks(static_cast(static_cast(ts.tv_sec) * CLOCKS_PER_SEC + + static_cast(ts.tv_nsec) * CLOCKS_PER_SEC / 1000000.0)); + t->tms_utime = ticks/2U; + t->tms_stime = ticks/2U; + t->tms_cutime = 0; // vxWorks is lacking the concept of a child process! + t->tms_cstime = 0; // -> Set the wait times for childs to 0 + return ticks; +} + + +namespace std { + using ::times; +} +# endif // __cplusplus +#endif // _WRS_VXWORKS_MAJOR < 7 + + +#ifdef __cplusplus +extern "C" void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h + +// Put the selfmade functions into the std-namespace, just in case +namespace std { +# ifdef __RTP__ + using ::getrlimit; + using ::setrlimit; +# endif + using ::truncate; + using ::symlink; + using ::readlink; +# if (_WRS_VXWORKS_MAJOR < 7) + using ::gettimeofday; +# endif +} +#endif // __cplusplus + +// Some more macro-magic: +// vxWorks-around: Some functions are not present or broken in vxWorks +// but may be patched to life via helper macros... + +// Include signal.h which might contain a typo to be corrected here +#include + +#if (_WRS_VXWORKS_MAJOR < 7) +# define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway! +inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks! +#endif + +#ifndef S_ISSOCK +# define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket? +#endif +#ifndef FPE_FLTINV +# define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy +#endif +#if !defined(BUS_ADRALN) && defined(BUS_ADRALNR) +# define BUS_ADRALN BUS_ADRALNR // Correct a supposed typo in vxWorks' +#endif +typedef int locale_t; // locale_t is a POSIX-extension, currently not present in vxWorks! + +// #include boilerplate code: +#include + +// vxWorks lies about XSI conformance, there is no nl_types.h: +#undef BOOST_HAS_NL_TYPES_H + +// vxWorks 7 adds C++11 support +// however it is optional, and does not match exactly the support determined +// by examining the Dinkum STL version and GCC version (or ICC and DCC) +#if !( defined( _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011) || defined(_WRS_CONFIG_LIBCPLUS_STD)) +# define BOOST_NO_CXX11_ADDRESSOF // C11 addressof operator on memory location +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_NUMERIC_LIMITS // max_digits10 in test/../print_helper.hpp +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_STD_ALIGN + + +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST //serialization/test/test_list.cpp +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM //math/../test_data.hpp +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +#else +# ifndef BOOST_SYSTEM_NO_DEPRECATED +# define BOOST_SYSTEM_NO_DEPRECATED // workaround link error in spirit +# endif +#endif + + +// NONE is used in enums in lamda and other libraries +#undef NONE +// restrict is an iostreams class +#undef restrict +// affects some typeof tests +#undef V7 + +// use fake poll() from Unix layer in ASIO to get full functionality +// most libraries will use select() but this define allows 'iostream' functionality +// which is based on poll() only +#if (_WRS_VXWORKS_MAJOR > 6) +# ifndef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR +# define BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR +# endif +#else +# define BOOST_ASIO_DISABLE_SERIAL_PORT +#endif + diff --git a/external/include/boost_1_90_0/boost/config/platform/wasm.hpp b/external/include/boost_1_90_0/boost/config/platform/wasm.hpp new file mode 100644 index 0000000000..489ba1f225 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/platform/wasm.hpp @@ -0,0 +1,23 @@ +// (C) Copyright John Maddock 2020. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// WASM specific config options: + +#define BOOST_PLATFORM "Wasm" + +#ifdef __has_include +#if __has_include() +# define BOOST_HAS_UNISTD_H +#endif +#endif + +// boilerplate code: +#include +// +// fenv lacks the C++11 macros: +// +#define BOOST_NO_FENV_H diff --git a/external/include/boost_1_75/boost/config/platform/win32.hpp b/external/include/boost_1_90_0/boost/config/platform/win32.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/win32.hpp rename to external/include/boost_1_90_0/boost/config/platform/win32.hpp index 450158fbaa..8fc3ba3649 100644 --- a/external/include/boost_1_75/boost/config/platform/win32.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/win32.hpp @@ -1,90 +1,90 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Bill Kempf 2001. -// (C) Copyright Aleksey Gurtovoy 2003. -// (C) Copyright Rene Rivera 2005. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Win32 specific config options: - -#define BOOST_PLATFORM "Win32" - -// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION. -#if defined(__MINGW32__) -# include <_mingw.h> -#endif - -#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) -# define BOOST_NO_SWPRINTF -#endif - -// Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT -// If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport), -// its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and -// BOOST_SYMBOL_IMPORT -#ifndef BOOST_SYMBOL_EXPORT -# define BOOST_HAS_DECLSPEC -# define BOOST_SYMBOL_EXPORT __declspec(dllexport) -# define BOOST_SYMBOL_IMPORT __declspec(dllimport) -#endif - -#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0))) -# define BOOST_HAS_STDINT_H -# ifndef __STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS -# endif -# define BOOST_HAS_DIRENT_H -# define BOOST_HAS_UNISTD_H -#endif - -#if defined(__MINGW32__) && (__GNUC__ >= 4) -// Mingw has these functions but there are persistent problems -// with calls to these crashing, so disable for now: -//# define BOOST_HAS_EXPM1 -//# define BOOST_HAS_LOG1P -# define BOOST_HAS_GETTIMEOFDAY -#endif -// -// Win32 will normally be using native Win32 threads, -// but there is a pthread library avaliable as an option, -// we used to disable this when BOOST_DISABLE_WIN32 was -// defined but no longer - this should allow some -// files to be compiled in strict mode - while maintaining -// a consistent setting of BOOST_HAS_THREADS across -// all translation units (needed for shared_ptr etc). -// - -#ifndef BOOST_HAS_PTHREADS -# define BOOST_HAS_WINTHREADS -#endif - -// -// WinCE configuration: -// -#if defined(_WIN32_WCE) || defined(UNDER_CE) -# define BOOST_NO_ANSI_APIS -// Windows CE does not have a conforming signature for swprintf -# define BOOST_NO_SWPRINTF -#else -# define BOOST_HAS_GETSYSTEMTIMEASFILETIME -# define BOOST_HAS_THREADEX -# define BOOST_HAS_GETSYSTEMTIMEASFILETIME -#endif - -// -// Windows Runtime -// -#if defined(WINAPI_FAMILY) && \ - (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) -# define BOOST_NO_ANSI_APIS -#endif - -#ifndef BOOST_DISABLE_WIN32 -// WEK: Added -#define BOOST_HAS_FTIME -#define BOOST_WINDOWS 1 - -#endif +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Bill Kempf 2001. +// (C) Copyright Aleksey Gurtovoy 2003. +// (C) Copyright Rene Rivera 2005. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Win32 specific config options: + +#define BOOST_PLATFORM "Win32" + +// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION. +#if defined(__MINGW32__) +# include <_mingw.h> +#endif + +#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) +# define BOOST_NO_SWPRINTF +#endif + +// Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT +// If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport), +// its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and +// BOOST_SYMBOL_IMPORT +#ifndef BOOST_SYMBOL_EXPORT +# define BOOST_HAS_DECLSPEC +# define BOOST_SYMBOL_EXPORT __declspec(dllexport) +# define BOOST_SYMBOL_IMPORT __declspec(dllimport) +#endif + +#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0))) +# define BOOST_HAS_STDINT_H +# ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +# endif +# define BOOST_HAS_DIRENT_H +# define BOOST_HAS_UNISTD_H +#endif + +#if defined(__MINGW32__) && (__GNUC__ >= 4) +// Mingw has these functions but there are persistent problems +// with calls to these crashing, so disable for now: +//# define BOOST_HAS_EXPM1 +//# define BOOST_HAS_LOG1P +# define BOOST_HAS_GETTIMEOFDAY +#endif +// +// Win32 will normally be using native Win32 threads, +// but there is a pthread library avaliable as an option, +// we used to disable this when BOOST_DISABLE_WIN32 was +// defined but no longer - this should allow some +// files to be compiled in strict mode - while maintaining +// a consistent setting of BOOST_HAS_THREADS across +// all translation units (needed for shared_ptr etc). +// + +#ifndef BOOST_HAS_PTHREADS +# define BOOST_HAS_WINTHREADS +#endif + +// +// WinCE configuration: +// +#if defined(_WIN32_WCE) || defined(UNDER_CE) +# define BOOST_NO_ANSI_APIS +// Windows CE does not have a conforming signature for swprintf +# define BOOST_NO_SWPRINTF +#else +# define BOOST_HAS_GETSYSTEMTIMEASFILETIME +# define BOOST_HAS_THREADEX +# define BOOST_HAS_GETSYSTEMTIMEASFILETIME +#endif + +// +// Windows Runtime +// +#if defined(WINAPI_FAMILY) && \ + (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) +# define BOOST_NO_ANSI_APIS +#endif + +#ifndef BOOST_DISABLE_WIN32 +// WEK: Added +#define BOOST_HAS_FTIME +#define BOOST_WINDOWS 1 + +#endif diff --git a/external/include/boost_1_75/boost/config/platform/zos.hpp b/external/include/boost_1_90_0/boost/config/platform/zos.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/platform/zos.hpp rename to external/include/boost_1_90_0/boost/config/platform/zos.hpp index fa77999edc..72b74ab889 100644 --- a/external/include/boost_1_75/boost/config/platform/zos.hpp +++ b/external/include/boost_1_90_0/boost/config/platform/zos.hpp @@ -1,32 +1,32 @@ -// Copyright (c) 2017 Dynatrace -// -// 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 - -// See http://www.boost.org for most recent version. - -// Platform setup for IBM z/OS. - -#define BOOST_PLATFORM "IBM z/OS" - -#include // For __UU, __C99, __TR1, ... - -#if defined(__UU) -# define BOOST_HAS_GETTIMEOFDAY -#endif - -#if defined(_OPEN_THREADS) || defined(__SUSV3_THR) -# define BOOST_HAS_PTHREADS -# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE -# define BOOST_HAS_THREADS -#endif - -#if defined(__SUSV3) || defined(__SUSV3_THR) -# define BOOST_HAS_SCHED_YIELD -#endif - -#define BOOST_HAS_SIGACTION -#define BOOST_HAS_UNISTD_H -#define BOOST_HAS_DIRENT_H -#define BOOST_HAS_NL_TYPES_H +// Copyright (c) 2017 Dynatrace +// +// 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 + +// See http://www.boost.org for most recent version. + +// Platform setup for IBM z/OS. + +#define BOOST_PLATFORM "IBM z/OS" + +#include // For __UU, __C99, __TR1, ... + +#if defined(__UU) +# define BOOST_HAS_GETTIMEOFDAY +#endif + +#if defined(_OPEN_THREADS) || defined(__SUSV3_THR) +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_THREADS +#endif + +#if defined(__SUSV3) || defined(__SUSV3_THR) +# define BOOST_HAS_SCHED_YIELD +#endif + +#define BOOST_HAS_SIGACTION +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_NL_TYPES_H diff --git a/external/include/boost_1_75/boost/config/pragma_message.hpp b/external/include/boost_1_90_0/boost/config/pragma_message.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/pragma_message.hpp rename to external/include/boost_1_90_0/boost/config/pragma_message.hpp index b2c5ff2e86..ffa6b8682b 100644 --- a/external/include/boost_1_75/boost/config/pragma_message.hpp +++ b/external/include/boost_1_90_0/boost/config/pragma_message.hpp @@ -1,31 +1,31 @@ -#ifndef BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED -#define BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED - -// Copyright 2017 Peter Dimov. -// -// 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 -// -// BOOST_PRAGMA_MESSAGE("message") -// -// Expands to the equivalent of #pragma message("message") -// -// Note that this header is C compatible. - -#include - -#if defined(BOOST_DISABLE_PRAGMA_MESSAGE) -# define BOOST_PRAGMA_MESSAGE(x) -#elif defined(__INTEL_COMPILER) -# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x)) -#elif defined(__GNUC__) -# define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x))) -#elif defined(_MSC_VER) -# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x)) -#else -# define BOOST_PRAGMA_MESSAGE(x) -#endif - -#endif // BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED +#ifndef BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED +#define BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED + +// Copyright 2017 Peter Dimov. +// +// 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 +// +// BOOST_PRAGMA_MESSAGE("message") +// +// Expands to the equivalent of #pragma message("message") +// +// Note that this header is C compatible. + +#include + +#if defined(BOOST_DISABLE_PRAGMA_MESSAGE) +# define BOOST_PRAGMA_MESSAGE(x) +#elif defined(__INTEL_COMPILER) +# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x)) +#elif defined(__GNUC__) +# define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x))) +#elif defined(_MSC_VER) +# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x)) +#else +# define BOOST_PRAGMA_MESSAGE(x) +#endif + +#endif // BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/config/requires_threads.hpp b/external/include/boost_1_90_0/boost/config/requires_threads.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/requires_threads.hpp rename to external/include/boost_1_90_0/boost/config/requires_threads.hpp index c23a2ce3c9..9cbe261dcf 100644 --- a/external/include/boost_1_75/boost/config/requires_threads.hpp +++ b/external/include/boost_1_90_0/boost/config/requires_threads.hpp @@ -1,92 +1,92 @@ -// (C) Copyright John Maddock 2003. -// Use, modification and distribution are subject to 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) - - -#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP -#define BOOST_CONFIG_REQUIRES_THREADS_HPP - -#ifndef BOOST_CONFIG_HPP -# include -#endif - -#if defined(BOOST_DISABLE_THREADS) - -// -// special case to handle versions of gcc which don't currently support threads: -// -#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) -// -// this is checked up to gcc 3.3: -// -#if defined(__sgi) || defined(__hpux) -# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" -#endif - -#endif - -# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" - -#elif !defined(BOOST_HAS_THREADS) - -# if defined __COMO__ -// Comeau C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" - -#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) -// Intel -#ifdef _WIN32 -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" -#else -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" -#endif - -# elif defined __GNUC__ -// GNU C++: -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" - -#elif defined __sgi -// SGI MIPSpro C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" - -#elif defined __DECCXX -// Compaq Tru64 Unix cxx -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" - -#elif defined BOOST_BORLANDC -// Borland -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" - -#elif defined __MWERKS__ -// Metrowerks CodeWarrior -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" - -#elif defined __SUNPRO_CC -// Sun Workshop Compiler C++ -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined __HP_aCC -// HP aCC -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" - -#elif defined(__IBMCPP__) -// IBM Visual Age -# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" - -#elif defined _MSC_VER -// Microsoft Visual C++ -// -// Must remain the last #elif since some other vendors (Metrowerks, for -// example) also #define _MSC_VER -# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" - -#else - -# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" - -#endif // compilers - -#endif // BOOST_HAS_THREADS - -#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to 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) + + +#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP +#define BOOST_CONFIG_REQUIRES_THREADS_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_DISABLE_THREADS) + +// +// special case to handle versions of gcc which don't currently support threads: +// +#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) +// +// this is checked up to gcc 3.3: +// +#if defined(__sgi) || defined(__hpux) +# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" +#endif + +#endif + +# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" + +#elif !defined(BOOST_HAS_THREADS) + +# if defined __COMO__ +// Comeau C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" + +#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) +// Intel +#ifdef _WIN32 +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" +#else +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" +#endif + +# elif defined __GNUC__ +// GNU C++: +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" + +#elif defined __sgi +// SGI MIPSpro C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" + +#elif defined __DECCXX +// Compaq Tru64 Unix cxx +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" + +#elif defined BOOST_BORLANDC +// Borland +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" + +#elif defined __MWERKS__ +// Metrowerks CodeWarrior +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" + +#elif defined __SUNPRO_CC +// Sun Workshop Compiler C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" + +#elif defined __HP_aCC +// HP aCC +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" + +#elif defined(__IBMCPP__) +// IBM Visual Age +# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" + +#elif defined _MSC_VER +// Microsoft Visual C++ +// +// Must remain the last #elif since some other vendors (Metrowerks, for +// example) also #define _MSC_VER +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" + +#else + +# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" + +#endif // compilers + +#endif // BOOST_HAS_THREADS + +#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP diff --git a/external/include/boost_1_75/boost/config/stdlib/dinkumware.hpp b/external/include/boost_1_90_0/boost/config/stdlib/dinkumware.hpp similarity index 79% rename from external/include/boost_1_75/boost/config/stdlib/dinkumware.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/dinkumware.hpp index 3dc6d50867..634538625c 100644 --- a/external/include/boost_1_75/boost/config/stdlib/dinkumware.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/dinkumware.hpp @@ -1,266 +1,324 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright Peter Dimov 2001. -// (C) Copyright David Abrahams 2002. -// (C) Copyright Guillaume Melquiond 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Dinkumware standard library config: - -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#include -#if !defined(_YVALS) && !defined(_CPPLIB_VER) -#error This is not the Dinkumware lib! -#endif -#endif - - -#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) - // full dinkumware 3.06 and above - // fully conforming provided the compiler supports it: -# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(BOOST_BORLANDC) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h -# define BOOST_NO_STDC_NAMESPACE -# endif -# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) -# define BOOST_NO_STD_ALLOCATOR -# endif -# define BOOST_HAS_PARTIAL_STD_ALLOCATOR -# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) - // if this lib version is set up for vc6 then there is no std::use_facet: -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET - // C lib functions aren't in namespace std either: -# define BOOST_NO_STDC_NAMESPACE - // and nor is -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -// There's no numeric_limits support unless _LONGLONG is defined: -# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -// 3.06 appears to have (non-sgi versions of) & , -// and no at all -#else -# define BOOST_MSVC_STD_ITERATOR 1 -# define BOOST_NO_STD_ITERATOR -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_STD_USE_FACET -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -# define BOOST_HAS_MACRO_USE_FACET -# ifndef _CPPLIB_VER - // Updated Dinkum library defines this, and provides - // its own min and max definitions, as does MTA version. -# ifndef __MTA__ -# define BOOST_NO_STD_MIN_MAX -# endif -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -# endif -#endif - -// -// std extension namespace is stdext for vc7.1 and later, -// the same applies to other compilers that sit on top -// of vc7.1 (Intel and Comeau): -// -#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(BOOST_BORLANDC) -# define BOOST_STD_EXTENSION_NAMESPACE stdext -#endif - - -#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(BOOST_BORLANDC)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) - // if we're using a dinkum lib that's - // been configured for VC6/7 then there is - // no iterator traits (true even for icl) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) -// Intel C++ chokes over any non-trivial use of -// this may be an overly restrictive define, but regex fails without it: -# define BOOST_NO_STD_LOCALE -#endif - -#if ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) && (_MSC_VER < 1800) -// Fix for VC++ 8.0 on up ( I do not have a previous version to test ) -// or clang-cl. If exceptions are off you must manually include the -// header before including the header. Admittedly -// trying to use Boost libraries or the standard C++ libraries without -// exception support is not suggested but currently clang-cl ( v 3.4 ) -// does not support exceptions and must be compiled with exceptions off. -#if !_HAS_EXCEPTIONS -#include -#endif -#include -#if !_HAS_EXCEPTIONS -# define BOOST_NO_STD_TYPEINFO -#endif -#endif -#if defined(__ghs__) && !_HAS_NAMESPACE -# define BOOST_NO_STD_TYPEINFO -#endif - -// C++0x headers implemented in 520 (as shipped by Microsoft) -// -#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520 -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_SMART_PTR -#endif - -#if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \ - && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610) -# define BOOST_NO_CXX11_HDR_TUPLE -#endif - -// C++0x headers implemented in 540 (as shipped by Microsoft) -// -#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540 -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_HDR_EXCEPTION -#endif - -// C++0x headers implemented in 610 (as shipped by Microsoft) -// -#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610 -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_ALLOCATOR -// 540 has std::align but it is not a conforming implementation -# define BOOST_NO_CXX11_STD_ALIGN -#endif - -// Before 650 std::pointer_traits has a broken rebind template -#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 -# define BOOST_NO_CXX11_POINTER_TRAITS -#elif defined(BOOST_MSVC) && BOOST_MSVC < 1910 -# define BOOST_NO_CXX11_POINTER_TRAITS -#endif - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif (__cplusplus < 201402) && !defined(_MSC_VER) -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) -# define BOOST_NO_CXX14_STD_EXCHANGE -#endif - -// C++17 features -#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1910) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_ITERATOR_TRAITS -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_VARIANT -#endif -#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709) -# define BOOST_NO_CXX17_STD_INVOKE -#endif - -#if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)) -// Deprecated std::iterator: -# define BOOST_NO_STD_ITERATOR -#endif - -#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400) -// Intel's compiler can't handle this header yet: -# define BOOST_NO_CXX11_HDR_ATOMIC -#endif - - -// 520..610 have std::addressof, but it doesn't support functions -// -#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 -# define BOOST_NO_CXX11_ADDRESSOF -#endif - -// Bug specific to VC14, -// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t -// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2 -#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650) -# define BOOST_NO_CXX11_HDR_CODECVT -#endif - -#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650) -// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr and std::random_shuffle are not available. -// See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++ -// and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx -# if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0) -# define BOOST_NO_AUTO_PTR -# define BOOST_NO_CXX98_RANDOM_SHUFFLE -# define BOOST_NO_CXX98_FUNCTION_BASE -# define BOOST_NO_CXX98_BINDERS -# endif -#endif - - -// -// Things not supported by the CLR: -#ifdef _M_CEE -#ifndef BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_MUTEX -#endif -#ifndef BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_HDR_ATOMIC -#endif -#ifndef BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_FUTURE -#endif -#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -#endif -#ifndef BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_THREAD -#endif -#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#ifndef BOOST_NO_CXX14_STD_EXCHANGE -# define BOOST_NO_CXX14_STD_EXCHANGE -#endif -#ifndef BOOST_NO_FENV_H -# define BOOST_NO_FENV_H -#endif -#endif - -#ifdef _CPPLIB_VER -# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER -#else -# define BOOST_DINKUMWARE_STDLIB 1 -#endif - -#ifdef _CPPLIB_VER -# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) -#else -# define BOOST_STDLIB "Dinkumware standard library version 1.x" -#endif +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Guillaume Melquiond 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Dinkumware standard library config: + +#if !defined(_YVALS) && !defined(_CPPLIB_VER) +#include +#if !defined(_YVALS) && !defined(_CPPLIB_VER) +#error This is not the Dinkumware lib! +#endif +#endif + + +#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) + // full dinkumware 3.06 and above + // fully conforming provided the compiler supports it: +# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(BOOST_BORLANDC) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h +# define BOOST_NO_STDC_NAMESPACE +# endif +# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) +# define BOOST_NO_STD_ALLOCATOR +# endif +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) + // if this lib version is set up for vc6 then there is no std::use_facet: +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET + // C lib functions aren't in namespace std either: +# define BOOST_NO_STDC_NAMESPACE + // and nor is +# define BOOST_NO_EXCEPTION_STD_NAMESPACE +# endif +// There's no numeric_limits support unless _LONGLONG is defined: +# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# endif +// 3.06 appears to have (non-sgi versions of) & , +// and no at all +#else +# define BOOST_MSVC_STD_ITERATOR 1 +# define BOOST_NO_STD_ITERATOR +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_STD_USE_FACET +# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +# define BOOST_HAS_MACRO_USE_FACET +# ifndef _CPPLIB_VER + // Updated Dinkum library defines this, and provides + // its own min and max definitions, as does MTA version. +# ifndef __MTA__ +# define BOOST_NO_STD_MIN_MAX +# endif +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# endif +#endif + +// +// std extension namespace is stdext for vc7.1 and later, +// the same applies to other compilers that sit on top +// of vc7.1 (Intel and Comeau): +// +#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(BOOST_BORLANDC) +# define BOOST_STD_EXTENSION_NAMESPACE stdext +#endif + + +#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(BOOST_BORLANDC)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) + // if we're using a dinkum lib that's + // been configured for VC6/7 then there is + // no iterator traits (true even for icl) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) +// Intel C++ chokes over any non-trivial use of +// this may be an overly restrictive define, but regex fails without it: +# define BOOST_NO_STD_LOCALE +#endif + +#if ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) && (_MSC_VER < 1800) +// Fix for VC++ 8.0 on up ( I do not have a previous version to test ) +// or clang-cl. If exceptions are off you must manually include the +// header before including the header. Admittedly +// trying to use Boost libraries or the standard C++ libraries without +// exception support is not suggested but currently clang-cl ( v 3.4 ) +// does not support exceptions and must be compiled with exceptions off. +#if !_HAS_EXCEPTIONS +#include +#endif +#include +#if !_HAS_EXCEPTIONS +# define BOOST_NO_STD_TYPEINFO +#endif +#endif +#if defined(__ghs__) && !_HAS_NAMESPACE +# define BOOST_NO_STD_TYPEINFO +#endif + +// C++0x headers implemented in 520 (as shipped by Microsoft) +// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520 +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_SMART_PTR +#endif + +#if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \ + && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610) +# define BOOST_NO_CXX11_HDR_TUPLE +#endif + +// C++0x headers implemented in 540 (as shipped by Microsoft) +// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540 +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_HDR_EXCEPTION +#endif + +// C++0x headers implemented in 610 (as shipped by Microsoft) +// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610 +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_ALLOCATOR +// 540 has std::align but it is not a conforming implementation +# define BOOST_NO_CXX11_STD_ALIGN +#endif + +// Before 650 std::pointer_traits has a broken rebind template +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 +# define BOOST_NO_CXX11_POINTER_TRAITS +#elif defined(BOOST_MSVC) && BOOST_MSVC < 1910 +# define BOOST_NO_CXX11_POINTER_TRAITS +#endif + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif (__cplusplus < 201402) && !defined(_MSC_VER) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) +# define BOOST_NO_CXX14_STD_EXCHANGE +#endif + +// C++17 features +#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) \ + || ((!defined(BOOST_MSVC) || (BOOST_MSVC < 1910))) && (!defined(__clang__) || !defined(_MSC_VER) || (_MSC_VER < 1929))\ + || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_ITERATOR_TRAITS +# define BOOST_NO_CXX17_HDR_STRING_VIEW +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_VARIANT +# define BOOST_NO_CXX17_HDR_ANY +# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE +# define BOOST_NO_CXX17_HDR_CHARCONV +# define BOOST_NO_CXX17_HDR_EXECUTION +# define BOOST_NO_CXX17_HDR_FILESYSTEM +#endif +#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709) +# define BOOST_NO_CXX17_STD_INVOKE +#endif + +// C++20 features which aren't configured in suffix.hpp correctly: +#if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202008L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0) +# define BOOST_NO_CXX20_HDR_CONCEPTS +#endif + +#if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)) +// Deprecated std::iterator: +# define BOOST_NO_STD_ITERATOR +#endif + +#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400) +// Intel's compiler can't handle this header yet: +# define BOOST_NO_CXX11_HDR_ATOMIC +#endif + + +// 520..610 have std::addressof, but it doesn't support functions +// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 +# define BOOST_NO_CXX11_ADDRESSOF +#endif + +// Bug specific to VC14, +// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t +// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2 +#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650) && (!defined(_MSVC_STL_VERSION) || (_MSVC_STL_VERSION < 142)) +# define BOOST_NO_CXX11_HDR_CODECVT +#endif + +#if (_MSVC_LANG > 201700) && !defined(BOOST_NO_CXX11_HDR_CODECVT) +// +// is deprected as of C++17, and by default MSVC emits hard errors +// if you try to use it, so mark it as unavailable: +// +# define BOOST_NO_CXX11_HDR_CODECVT +#endif + +#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650) +// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr and std::random_shuffle are not available. +// See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++ +// and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx +# if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0) +# define BOOST_NO_AUTO_PTR +# define BOOST_NO_CXX98_RANDOM_SHUFFLE +# define BOOST_NO_CXX98_FUNCTION_BASE +# define BOOST_NO_CXX98_BINDERS +# elif defined(_HAS_DEPRECATED_ADAPTOR_TYPEDEFS) && (_HAS_DEPRECATED_ADAPTOR_TYPEDEFS == 0) +# define BOOST_NO_CXX98_BINDERS +# endif +#endif +// +// Things deprecated in C++20: +// +#if defined(_HAS_CXX20) +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#endif + + +// +// Things not supported by the CLR: +#ifdef _M_CEE +#ifndef BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_MUTEX +#endif +#ifndef BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_HDR_ATOMIC +#endif +#ifndef BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_FUTURE +#endif +#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +#endif +#ifndef BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_THREAD +#endif +#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#ifndef BOOST_NO_CXX14_STD_EXCHANGE +# define BOOST_NO_CXX14_STD_EXCHANGE +#endif +#ifndef BOOST_NO_FENV_H +# define BOOST_NO_FENV_H +#endif +#endif + +#ifdef _CPPLIB_VER +# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER +#else +# define BOOST_DINKUMWARE_STDLIB 1 +#endif + +// BOOST_MSSTL_VERSION: as _MSVC_STL_VERSION, but for earlier releases as well + +#if defined(_MSVC_STL_VERSION) // VS2017 (14.1) and above +# define BOOST_MSSTL_VERSION _MSVC_STL_VERSION + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 650 // VS2015 (14.0) +# define BOOST_MSSTL_VERSION 140 + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 610 // VS2013 (12.0) +# define BOOST_MSSTL_VERSION 120 + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 540 // VS2012 (11.0) +# define BOOST_MSSTL_VERSION 110 + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 // VS2010 (10.0) +# define BOOST_MSSTL_VERSION 100 + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 505 // VS2008SP1 (9.0) +# define BOOST_MSSTL_VERSION 91 + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 503 // VS2008 (also 9.0) +# define BOOST_MSSTL_VERSION 90 + +#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 405 // VS2005 (8.0) +# define BOOST_MSSTL_VERSION 80 + +#endif + +// + +#ifdef _CPPLIB_VER +# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) +#else +# define BOOST_STDLIB "Dinkumware standard library version 1.x" +#endif diff --git a/external/include/boost_1_75/boost/config/stdlib/libcomo.hpp b/external/include/boost_1_90_0/boost/config/stdlib/libcomo.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/stdlib/libcomo.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/libcomo.hpp index 6a8a161962..0ddf08ebd7 100644 --- a/external/include/boost_1_75/boost/config/stdlib/libcomo.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/libcomo.hpp @@ -1,93 +1,93 @@ -// (C) Copyright John Maddock 2002 - 2003. -// (C) Copyright Jens Maurer 2002 - 2003. -// (C) Copyright Beman Dawes 2002 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Comeau STL: - -#if !defined(__LIBCOMO__) -# include -# if !defined(__LIBCOMO__) -# error "This is not the Comeau STL!" -# endif -#endif - -// -// std::streambuf is non-standard -// NOTE: versions of libcomo prior to beta28 have octal version numbering, -// e.g. version 25 is 21 (dec) -#if __LIBCOMO_VERSION__ <= 22 -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) -#define BOOST_NO_SWPRINTF -#endif - -#if __LIBCOMO_VERSION__ >= 31 -# define BOOST_HAS_HASH -# define BOOST_HAS_SLIST -#endif - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_EXCEPTION -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) +// (C) Copyright John Maddock 2002 - 2003. +// (C) Copyright Jens Maurer 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Comeau STL: + +#if !defined(__LIBCOMO__) +# include +# if !defined(__LIBCOMO__) +# error "This is not the Comeau STL!" +# endif +#endif + +// +// std::streambuf is non-standard +// NOTE: versions of libcomo prior to beta28 have octal version numbering, +// e.g. version 25 is 21 (dec) +#if __LIBCOMO_VERSION__ <= 22 +# define BOOST_NO_STD_WSTREAMBUF +#endif + +#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) +#define BOOST_NO_SWPRINTF +#endif + +#if __LIBCOMO_VERSION__ >= 31 +# define BOOST_HAS_HASH +# define BOOST_HAS_SLIST +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_EXCEPTION +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) diff --git a/external/include/boost_1_75/boost/config/stdlib/libcpp.hpp b/external/include/boost_1_90_0/boost/config/stdlib/libcpp.hpp similarity index 81% rename from external/include/boost_1_75/boost/config/stdlib/libcpp.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/libcpp.hpp index e8eea9117c..4f25c3d90f 100644 --- a/external/include/boost_1_75/boost/config/stdlib/libcpp.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/libcpp.hpp @@ -1,145 +1,185 @@ -// (C) Copyright Christopher Jefferson 2011. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// config for libc++ -// Might need more in here later. - -#if !defined(_LIBCPP_VERSION) -# include -# if !defined(_LIBCPP_VERSION) -# error "This is not libc++!" -# endif -#endif - -#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION) - -#define BOOST_HAS_THREADS - -#ifdef _LIBCPP_HAS_NO_VARIADICS -# define BOOST_NO_CXX11_HDR_TUPLE -#endif - -// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 -// allocator model. The C++11 allocator model requires a conforming -// std::allocator_traits which is only possible with C++11 template -// aliases since members rebind_alloc and rebind_traits require it. -#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -#endif - -#if __cplusplus < 201103 -// -// These two appear to be somewhat useable in C++03 mode, there may be others... -// -//# define BOOST_NO_CXX11_HDR_ARRAY -//# define BOOST_NO_CXX11_HDR_FORWARD_LIST - -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_EXCEPTION -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_FUTURE -#elif _LIBCPP_VERSION < 3700 -// -// These appear to be unusable/incomplete so far: -// -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_FUTURE -#endif - - -#if _LIBCPP_VERSION < 3700 -// libc++ uses a non-standard messages_base -#define BOOST_NO_STD_MESSAGES -#endif - -// C++14 features -#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L) -# define BOOST_NO_CXX14_STD_EXCHANGE -#endif - -// C++17 features -#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_VARIANT -#endif -#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) -# define BOOST_NO_AUTO_PTR -#endif -#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE) -# define BOOST_NO_CXX98_RANDOM_SHUFFLE -#endif -#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS) -# define BOOST_NO_CXX98_BINDERS -#endif - -#define BOOST_NO_CXX17_ITERATOR_TRAITS -#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result) - -#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) -// This is a bit of a sledgehammer, because really it's just libc++abi that has no -// support for thread_local, leading to linker errors such as -// "undefined reference to `__cxa_thread_atexit'". It is fixed in the -// most recent releases of libc++abi though... -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) -// After libc++-dev is installed on Trusty, clang++-libc++ almost works, -// except uses of `thread_local` fail with undefined reference to -// `__cxa_thread_atexit`. -// -// clang's libc++abi provides an implementation by deferring to the glibc -// implementation, which may or may not be available (it is not on Trusty). -// clang 4's libc++abi will provide an implementation if one is not in glibc -// though, so thread local support should work with clang 4 and above as long -// as libc++abi is linked in. -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus <= 201103 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000) -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// --- end --- +// (C) Copyright Christopher Jefferson 2011. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// config for libc++ +// Might need more in here later. + +#if !defined(_LIBCPP_VERSION) +# include +# if !defined(_LIBCPP_VERSION) +# error "This is not libc++!" +# endif +#endif + +#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION) + +#define BOOST_HAS_THREADS + +#ifdef _LIBCPP_HAS_NO_VARIADICS +# define BOOST_NO_CXX11_HDR_TUPLE +#endif + +// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11 +// allocator model. The C++11 allocator model requires a conforming +// std::allocator_traits which is only possible with C++11 template +// aliases since members rebind_alloc and rebind_traits require it. +#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES) +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +#endif + +#if __cplusplus < 201103 +// +// These two appear to be somewhat useable in C++03 mode, there may be others... +// +//# define BOOST_NO_CXX11_HDR_ARRAY +//# define BOOST_NO_CXX11_HDR_FORWARD_LIST + +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_EXCEPTION +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_FUTURE +#elif _LIBCPP_VERSION < 3700 +// +// These appear to be unusable/incomplete so far: +// +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_FUTURE +#endif + + +#if _LIBCPP_VERSION < 3700 +// libc++ uses a non-standard messages_base +#define BOOST_NO_STD_MESSAGES +#endif + +// C++14 features +#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L) +# define BOOST_NO_CXX14_STD_EXCHANGE +#endif + +// C++17 features +#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW +# define BOOST_NO_CXX17_HDR_VARIANT +#endif +#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) +# define BOOST_NO_AUTO_PTR +#endif +#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE) +# define BOOST_NO_CXX98_RANDOM_SHUFFLE +#endif +#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS) +# define BOOST_NO_CXX98_BINDERS +#endif + +#if defined(__cplusplus) && defined(__has_include) +#if __has_include() +#include + +#if !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L) +# define BOOST_NO_CXX17_HDR_EXECUTION +#endif +#if !defined(__cpp_lib_invoke) || (__cpp_lib_invoke < 201411L) +#define BOOST_NO_CXX17_STD_INVOKE +#endif + +#if(_LIBCPP_VERSION < 9000) +// as_writable_bytes is missing. +# define BOOST_NO_CXX20_HDR_SPAN +#endif + +#else +#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result) +#define BOOST_NO_CXX17_HDR_EXECUTION +#endif +#else +#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result) +#define BOOST_NO_CXX17_HDR_EXECUTION +#endif + +#if _LIBCPP_VERSION < 10000 // What's the correct version check here? +#define BOOST_NO_CXX17_ITERATOR_TRAITS +#endif + +#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) +// This is a bit of a sledgehammer, because really it's just libc++abi that has no +// support for thread_local, leading to linker errors such as +// "undefined reference to `__cxa_thread_atexit'". It is fixed in the +// most recent releases of libc++abi though... +# define BOOST_NO_CXX11_THREAD_LOCAL +#endif + +#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) +// After libc++-dev is installed on Trusty, clang++-libc++ almost works, +// except uses of `thread_local` fail with undefined reference to +// `__cxa_thread_atexit`. +// +// clang's libc++abi provides an implementation by deferring to the glibc +// implementation, which may or may not be available (it is not on Trusty). +// clang 4's libc++abi will provide an implementation if one is not in glibc +// though, so thread local support should work with clang 4 and above as long +// as libc++abi is linked in. +# define BOOST_NO_CXX11_THREAD_LOCAL +#endif + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus <= 201103 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +#if _LIBCPP_VERSION >= 15000 +// +// Unary function is now deprecated in C++11 and later: +// +#if __cplusplus >= 201103L +#define BOOST_NO_CXX98_FUNCTION_BASE +#endif +#endif + +#if _LIBCPP_VERSION <= 170006 +// no std::ranges::join_view +# define BOOST_NO_CXX20_HDR_RANGES +#endif + +// --- end --- diff --git a/external/include/boost_1_75/boost/config/stdlib/libstdcpp3.hpp b/external/include/boost_1_90_0/boost/config/stdlib/libstdcpp3.hpp similarity index 75% rename from external/include/boost_1_75/boost/config/stdlib/libstdcpp3.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/libstdcpp3.hpp index ee8f2a20ae..160fd44f85 100644 --- a/external/include/boost_1_75/boost/config/stdlib/libstdcpp3.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/libstdcpp3.hpp @@ -1,359 +1,482 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// config for libstdc++ v3 -// not much to go in here: - -#define BOOST_GNU_STDLIB 1 - -#ifdef __GLIBCXX__ -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) -#else -#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) -#endif - -#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -# define BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTREAMBUF -#endif - -#if defined(__osf__) && !defined(_REENTRANT) \ - && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) -// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header -// file is included, therefore for consistency we define it here as well. -# define _REENTRANT -#endif - -#ifdef __GLIBCXX__ // gcc 3.4 and greater: -# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ - || defined(_GLIBCXX__PTHREADS) \ - || defined(_GLIBCXX_HAS_GTHREADS) \ - || defined(_WIN32) \ - || defined(_AIX) \ - || defined(__HAIKU__) - // - // If the std lib has thread support turned on, then turn it on in Boost - // as well. We do this because some gcc-3.4 std lib headers define _REENTANT - // while others do not... - // -# define BOOST_HAS_THREADS -# else -# define BOOST_DISABLE_THREADS -# endif -#elif defined(__GLIBCPP__) \ - && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ - && !defined(_GLIBCPP__PTHREADS) - // disable thread support if the std lib was built single threaded: -# define BOOST_DISABLE_THREADS -#endif - -#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) -// linux on arm apparently doesn't define _REENTRANT -// so just turn on threading support whenever the std lib is thread safe: -# define BOOST_HAS_THREADS -#endif - -#if !defined(_GLIBCPP_USE_LONG_LONG) \ - && !defined(_GLIBCXX_USE_LONG_LONG)\ - && defined(BOOST_HAS_LONG_LONG) -// May have been set by compiler/*.hpp, but "long long" without library -// support is useless. -# undef BOOST_HAS_LONG_LONG -#endif - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - -#ifndef __VXWORKS__ // VxWorks uses Dinkum, not GNU STL with GCC -#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 -# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx -# define BOOST_HAS_SLIST -# define BOOST_HAS_HASH -# define BOOST_SLIST_HEADER -# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) -# define BOOST_HASH_SET_HEADER -# define BOOST_HASH_MAP_HEADER -# else -# define BOOST_HASH_SET_HEADER -# define BOOST_HASH_MAP_HEADER -# endif -#endif -#endif - -// -// Decide whether we have C++11 support turned on: -// -#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103) -# define BOOST_LIBSTDCXX11 -#endif - -// -// Decide which version of libstdc++ we have, normally -// libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly -// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++ -// developers. He also commented: -// -// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in -// GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305. -// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support -// than any release in the 4.2 series." -// -// Another resource for understanding libstdc++ features is: -// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x -// -// However, using the GCC version number fails when the compiler is clang since this -// only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473 -// for a long discussion on this issue. What we can do though is use clang's __has_include -// to detect the presence of a C++11 header that was introduced with a specific GCC release. -// We still have to be careful though as many such headers were buggy and/or incomplete when -// first introduced, so we only check for headers that were fully featured from day 1, and then -// use that to infer the underlying GCC version: -// -#ifdef __clang__ - -#if __has_include() -# define BOOST_LIBSTDCXX_VERSION 100100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 90100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 80100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 70100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 60100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 50100 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40900 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40800 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40700 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40600 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40500 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40400 -#elif __has_include() -# define BOOST_LIBSTDCXX_VERSION 40300 -#endif - -#if (BOOST_LIBSTDCXX_VERSION < 50100) -// libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it, -// defining it here is a terrible cludge, but should get things working: -extern "C" char *gets (char *__s); -#endif -// -// clang is unable to parse some GCC headers, add those workarounds here: -// -#if BOOST_LIBSTDCXX_VERSION < 50000 -# define BOOST_NO_CXX11_HDR_REGEX -#endif -// -// GCC 4.7.x has no __cxa_thread_atexit which -// thread_local objects require for cleanup: -// -#if BOOST_LIBSTDCXX_VERSION < 40800 -# define BOOST_NO_CXX11_THREAD_LOCAL -#endif -// -// Early clang versions can handle , not exactly sure which versions -// but certainly up to clang-3.8 and gcc-4.6: -// -#if (__clang_major__ < 5) -# if BOOST_LIBSTDCXX_VERSION < 40800 -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CHRONO -# endif -#endif - -// -// GCC 4.8 and 9 add working versions of and respectively. -// However, we have no test for these as the headers were present but broken -// in early GCC versions. -// -#endif - -#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L) -// -// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't -// set __GNUC__ -// -#if __SUNPRO_CC >= 0x5140 -#define BOOST_LIBSTDCXX_VERSION 50100 -#else -#define BOOST_LIBSTDCXX_VERSION 40800 -#endif -#endif - -#if !defined(BOOST_LIBSTDCXX_VERSION) -# define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -// std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier) -// or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later). -#if defined(BOOST_LIBSTDCXX11) -# if BOOST_LIBSTDCXX_VERSION < 40600 -# if !_GLIBCXX_DEPRECATED -# define BOOST_NO_AUTO_PTR -# endif -# elif !_GLIBCXX_USE_DEPRECATED -# define BOOST_NO_AUTO_PTR -# endif -#endif - -// C++0x headers in GCC 4.3.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -#endif - -// C++0x headers in GCC 4.4.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_EXCEPTION -#else -# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG -# define BOOST_HAS_TR1_COMPLEX_OVERLOADS -#endif - -// C++0x features in GCC 4.5.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_RANDOM -#endif - -// C++0x features in GCC 4.6.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX17_ITERATOR_TRAITS -#endif - -// C++0x features in GCC 4.7.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11) -// Note that although existed prior to 4.7, "steady_clock" is spelled "monotonic_clock" -// so 4.7.0 is the first truly conforming one. -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -#endif -// C++0x features in GCC 4.8.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11) -// Note that although existed prior to gcc 4.8 it was largely unimplemented for many types: -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_HDR_THREAD -#endif -// C++0x features in GCC 4.9.0 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) -// Although is present and compilable against, the actual implementation is not functional -// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. -# define BOOST_NO_CXX11_HDR_REGEX -#endif -#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103) -# define BOOST_NO_CXX14_STD_EXCHANGE -#endif - -#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7))) -// As of clang-3.6, libstdc++ header throws up errors with clang: -# define BOOST_NO_CXX11_HDR_ATOMIC -#endif -// -// C++0x features in GCC 5.1 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_STD_ALIGN -#endif - -// -// C++17 features in GCC 7.1 and later -// -#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L) -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_VARIANT -#endif - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus <= 201103 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// -// Headers not present on Solaris with the Oracle compiler: -#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140) -#define BOOST_NO_CXX11_HDR_FUTURE -#define BOOST_NO_CXX11_HDR_FORWARD_LIST -#define BOOST_NO_CXX11_HDR_ATOMIC -// shared_ptr is present, but is not convertible to bool -// which causes all kinds of problems especially in Boost.Thread -// but probably elsewhere as well. -#define BOOST_NO_CXX11_SMART_PTR -#endif - -#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) - // Headers not always available: -# ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# endif -# ifndef BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_MUTEX -# endif -# ifndef BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_THREAD -# endif -# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -# endif -#endif - -#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) -// Timed mutexes are not always available: -# define BOOST_NO_CXX11_HDR_MUTEX -#endif - -// --- end --- +// (C) Copyright John Maddock 2001. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// config for libstdc++ v3 +// not much to go in here: + +#define BOOST_GNU_STDLIB 1 + +#ifdef __GLIBCXX__ +#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) +#else +#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) +#endif + +#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) +# define BOOST_NO_CWCHAR +# define BOOST_NO_CWCTYPE +# define BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTREAMBUF +#endif + +#if defined(__osf__) && !defined(_REENTRANT) \ + && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) +// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header +// file is included, therefore for consistency we define it here as well. +# define _REENTRANT +#endif + +#ifdef __GLIBCXX__ // gcc 3.4 and greater: +# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ + || defined(_GLIBCXX__PTHREADS) \ + || defined(_GLIBCXX_HAS_GTHREADS) \ + || defined(_WIN32) \ + || defined(_AIX) \ + || defined(__HAIKU__) + // + // If the std lib has thread support turned on, then turn it on in Boost + // as well. We do this because some gcc-3.4 std lib headers define _REENTANT + // while others do not... + // +# define BOOST_HAS_THREADS +# else +# define BOOST_DISABLE_THREADS +# endif +#elif defined(__GLIBCPP__) \ + && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ + && !defined(_GLIBCPP__PTHREADS) + // disable thread support if the std lib was built single threaded: +# define BOOST_DISABLE_THREADS +#endif + +#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) +// linux on arm apparently doesn't define _REENTRANT +// so just turn on threading support whenever the std lib is thread safe: +# define BOOST_HAS_THREADS +#endif + +#if !defined(_GLIBCPP_USE_LONG_LONG) \ + && !defined(_GLIBCXX_USE_LONG_LONG)\ + && defined(BOOST_HAS_LONG_LONG) +// May have been set by compiler/*.hpp, but "long long" without library +// support is useless. +# undef BOOST_HAS_LONG_LONG +#endif + +// Apple doesn't seem to reliably defined a *unix* macro +#if !defined(CYGWIN) && ( defined(__unix__) \ + || defined(__unix) \ + || defined(unix) \ + || defined(__APPLE__) \ + || defined(__APPLE) \ + || defined(APPLE)) +# include +#endif + +#ifndef __VXWORKS__ // VxWorks uses Dinkum, not GNU STL with GCC +#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 +# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx +# define BOOST_HAS_SLIST +# define BOOST_HAS_HASH +# define BOOST_SLIST_HEADER +# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) +# define BOOST_HASH_SET_HEADER +# define BOOST_HASH_MAP_HEADER +# else +# define BOOST_HASH_SET_HEADER +# define BOOST_HASH_MAP_HEADER +# endif +#endif +#endif + +#if defined(__has_include) +#if defined(BOOST_HAS_HASH) +#if !__has_include(BOOST_HASH_SET_HEADER) || (__GNUC__ >= 10) +#undef BOOST_HAS_HASH +#undef BOOST_HAS_SET_HEADER +#undef BOOST_HAS_MAP_HEADER +#endif +#if !__has_include(BOOST_SLIST_HEADER) +#undef BOOST_HAS_SLIST +#undef BOOST_HAS_SLIST_HEADER +#endif +#endif +#endif + +// +// Decide whether we have C++11 support turned on: +// +#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103) +# define BOOST_LIBSTDCXX11 +#endif + +// +// Decide which version of libstdc++ we have, normally +// libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly +// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++ +// developers. He also commented: +// +// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in +// GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305. +// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support +// than any release in the 4.2 series." +// +// Another resource for understanding libstdc++ features is: +// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x +// +// However, using the GCC version number fails when the compiler is clang since this +// only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473 +// for a long discussion on this issue. What we can do though is use clang's __has_include +// to detect the presence of a C++11 header that was introduced with a specific GCC release. +// We still have to be careful though as many such headers were buggy and/or incomplete when +// first introduced, so we only check for headers that were fully featured from day 1, and then +// use that to infer the underlying GCC version: +// +#ifdef __clang__ + +#ifdef _GLIBCXX_RELEASE +# define BOOST_LIBSTDCXX_VERSION (_GLIBCXX_RELEASE * 10000 + 100) +#else +// +// We figure out which gcc version issued this std lib +// by checking which headers are available: +// +#if __has_include() +# define BOOST_LIBSTDCXX_VERSION 120100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 110100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 100100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 90100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 80100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 70100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 60100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 50100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40900 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40800 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40700 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40600 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40500 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40400 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40300 +#endif +#endif +// +// If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is +// configured to support this type. If not disable it: +// +#if defined(BOOST_HAS_FLOAT128) && !defined(_GLIBCXX_USE_FLOAT128) +# undef BOOST_HAS_FLOAT128 +#endif + +#if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH) +// +// hash_set/hash_map deprecated and have terminal bugs: +// +#undef BOOST_HAS_HASH +#undef BOOST_HAS_SET_HEADER +#undef BOOST_HAS_MAP_HEADER +#endif + + +#if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH) +// +// hash_set/hash_map deprecated and have terminal bugs: +// +#undef BOOST_HAS_HASH +#undef BOOST_HAS_SET_HEADER +#undef BOOST_HAS_MAP_HEADER +#endif + + +#if (BOOST_LIBSTDCXX_VERSION < 50100) +// libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it, +// defining it here is a terrible cludge, but should get things working: +extern "C" char *gets (char *__s); +#endif +// +// clang is unable to parse some GCC headers, add those workarounds here: +// +#if BOOST_LIBSTDCXX_VERSION < 50000 +# define BOOST_NO_CXX11_HDR_REGEX +#endif +// +// GCC 4.7.x has no __cxa_thread_atexit which +// thread_local objects require for cleanup: +// +#if BOOST_LIBSTDCXX_VERSION < 40800 +# define BOOST_NO_CXX11_THREAD_LOCAL +#endif +// +// Early clang versions can handle , not exactly sure which versions +// but certainly up to clang-3.8 and gcc-4.6: +// +#if (__clang_major__ < 5) +# if BOOST_LIBSTDCXX_VERSION < 40800 +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_CHRONO +# endif +#endif + +// +// GCC 4.8 and 9 add working versions of and respectively. +// However, we have no test for these as the headers were present but broken +// in early GCC versions. +// +#endif + +#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L) +// +// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't +// set __GNUC__ +// +#if __SUNPRO_CC >= 0x5140 +#define BOOST_LIBSTDCXX_VERSION 50100 +#else +#define BOOST_LIBSTDCXX_VERSION 40800 +#endif +#endif + +#if !defined(BOOST_LIBSTDCXX_VERSION) +# define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +// std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier) +// or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later). +#if defined(BOOST_LIBSTDCXX11) +# if BOOST_LIBSTDCXX_VERSION < 40600 +# if !_GLIBCXX_DEPRECATED +# define BOOST_NO_AUTO_PTR +# endif +# elif !defined(_GLIBCXX_USE_DEPRECATED) || !_GLIBCXX_USE_DEPRECATED +# define BOOST_NO_AUTO_PTR +# define BOOST_NO_CXX98_BINDERS +# endif +#endif + +// C++0x headers in GCC 4.3.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +#endif + +// C++0x headers in GCC 4.4.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_EXCEPTION +#else +# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG +# define BOOST_HAS_TR1_COMPLEX_OVERLOADS +#endif + +// C++0x features in GCC 4.5.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_RANDOM +#endif + +// C++0x features in GCC 4.6.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX17_ITERATOR_TRAITS +#endif + +// C++0x features in GCC 4.7.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11) +// Note that although existed prior to 4.7, "steady_clock" is spelled "monotonic_clock" +// so 4.7.0 is the first truly conforming one. +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +#endif +// C++0x features in GCC 4.8.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11) +// Note that although existed prior to gcc 4.8 it was largely unimplemented for many types: +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_HDR_THREAD +#endif +// C++0x features in GCC 4.9.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) +// Although is present and compilable against, the actual implementation is not functional +// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. +# define BOOST_NO_CXX11_HDR_REGEX +#endif +#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103) +# define BOOST_NO_CXX14_STD_EXCHANGE +#endif + +// +// C++0x features in GCC 5.1 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_STD_ALIGN +#endif + +// +// C++17 features in GCC 7.1 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L) +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW +# define BOOST_NO_CXX17_HDR_VARIANT +#endif + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus <= 201103 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +// +// has a dependency to Intel's thread building blocks: +// unless these are installed seperately, including leads +// to inscrutable errors inside libstdc++'s own headers. +// +#if (BOOST_LIBSTDCXX_VERSION < 100100) +#if !__has_include() +#define BOOST_NO_CXX17_HDR_EXECUTION +#endif +#endif +#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +#if BOOST_LIBSTDCXX_VERSION < 100100 +// +// The header may be present but is incomplete: +// +# define BOOST_NO_CXX17_HDR_CHARCONV +#endif + +#if BOOST_LIBSTDCXX_VERSION < 110000 +// +// Header may be present but lacks std::bit_cast: +// +#define BOOST_NO_CXX20_HDR_BIT +#endif + +#if BOOST_LIBSTDCXX_VERSION >= 120000 +// +// Unary function is now deprecated in C++11 and later: +// +#if __cplusplus >= 201103L +#define BOOST_NO_CXX98_FUNCTION_BASE +#endif +#endif + +#ifndef __cpp_impl_coroutine +# define BOOST_NO_CXX20_HDR_COROUTINE +#endif + +// +// These next defines are mostly for older clang versions with a newer libstdc++ : +// +#if !defined(__cpp_lib_concepts) +#if !defined(BOOST_NO_CXX20_HDR_COMPARE) +# define BOOST_NO_CXX20_HDR_COMPARE +#endif +#if !defined(BOOST_NO_CXX20_HDR_CONCEPTS) +# define BOOST_NO_CXX20_HDR_CONCEPTS +#endif +#if !defined(BOOST_NO_CXX20_HDR_SPAN) +# define BOOST_NO_CXX20_HDR_SPAN +#endif +#if !defined(BOOST_NO_CXX20_HDR_RANGES) +# define BOOST_NO_CXX20_HDR_RANGES +#endif +#endif + +#if defined(__clang__) +#if (__clang_major__ < 11) && !defined(BOOST_NO_CXX20_HDR_RANGES) +# define BOOST_NO_CXX20_HDR_RANGES +#endif +#if (__clang_major__ < 10) && (BOOST_LIBSTDCXX_VERSION >= 110000) && !defined(BOOST_NO_CXX11_HDR_CHRONO) +// Old clang can't parse : +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +#endif +#endif + +#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && !defined(BOOST_NO_CXX11_NULLPTR) +# define BOOST_NO_CXX11_NULLPTR +#endif +#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && defined(BOOST_HAS_INT128) && defined(__APPLE_CC__) +#undef BOOST_HAS_INT128 +#endif + +// +// Headers not present on Solaris with the Oracle compiler: +#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140) +#define BOOST_NO_CXX11_HDR_FUTURE +#define BOOST_NO_CXX11_HDR_FORWARD_LIST +#define BOOST_NO_CXX11_HDR_ATOMIC +// shared_ptr is present, but is not convertible to bool +// which causes all kinds of problems especially in Boost.Thread +// but probably elsewhere as well. +#define BOOST_NO_CXX11_SMART_PTR +#endif + +#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) + // Headers not always available: +# ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# endif +# ifndef BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_MUTEX +# endif +# ifndef BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_THREAD +# endif +# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +# endif +#endif + +#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) && (__GNUC__ < 6) +// Timed mutexes are not always available: +# define BOOST_NO_CXX11_HDR_MUTEX +#endif + +// --- end --- diff --git a/external/include/boost_1_75/boost/config/stdlib/modena.hpp b/external/include/boost_1_90_0/boost/config/stdlib/modena.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/stdlib/modena.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/modena.hpp index 31a26c856a..63a075ba81 100644 --- a/external/include/boost_1_75/boost/config/stdlib/modena.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/modena.hpp @@ -1,79 +1,79 @@ -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Modena C++ standard library (comes with KAI C++) - -#if !defined(MSIPL_COMPILE_H) -# include -# if !defined(__MSIPL_COMPILE_H) -# error "This is not the Modena C++ library!" -# endif -#endif - -#ifndef MSIPL_NL_TYPES -#define BOOST_NO_STD_MESSAGES -#endif - -#ifndef MSIPL_WCHART -#define BOOST_NO_STD_WSTRING -#endif - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_EXCEPTION - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS - -#define BOOST_STDLIB "Modena C++ standard library" - - - - - +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Modena C++ standard library (comes with KAI C++) + +#if !defined(MSIPL_COMPILE_H) +# include +# if !defined(__MSIPL_COMPILE_H) +# error "This is not the Modena C++ library!" +# endif +#endif + +#ifndef MSIPL_NL_TYPES +#define BOOST_NO_STD_MESSAGES +#endif + +#ifndef MSIPL_WCHART +#define BOOST_NO_STD_WSTRING +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_EXCEPTION + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS + +#define BOOST_STDLIB "Modena C++ standard library" + + + + + diff --git a/external/include/boost_1_75/boost/config/stdlib/msl.hpp b/external/include/boost_1_90_0/boost/config/stdlib/msl.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/stdlib/msl.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/msl.hpp index f2f825983b..139f71845c 100644 --- a/external/include/boost_1_75/boost/config/stdlib/msl.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/msl.hpp @@ -1,98 +1,98 @@ -// (C) Copyright John Maddock 2001. -// (C) Copyright Darin Adler 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Metrowerks standard library: - -#ifndef __MSL_CPP__ -# include -# ifndef __MSL_CPP__ -# error This is not the MSL standard library! -# endif -#endif - -#if __MSL_CPP__ >= 0x6000 // Pro 6 -# define BOOST_HAS_HASH -# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks -#endif -#define BOOST_HAS_SLIST - -#if __MSL_CPP__ < 0x6209 -# define BOOST_NO_STD_MESSAGES -#endif - -// check C lib version for -#include - -#if defined(__MSL__) && (__MSL__ >= 0x5000) -# define BOOST_HAS_STDINT_H -# if !defined(__PALMOS_TRAPS__) -# define BOOST_HAS_UNISTD_H -# endif - // boilerplate code: -# include -#endif - -#if defined(_MWMT) || _MSL_THREADSAFE -# define BOOST_HAS_THREADS -#endif - -#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_EXCEPTION - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS - -#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) +// (C) Copyright John Maddock 2001. +// (C) Copyright Darin Adler 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Metrowerks standard library: + +#ifndef __MSL_CPP__ +# include +# ifndef __MSL_CPP__ +# error This is not the MSL standard library! +# endif +#endif + +#if __MSL_CPP__ >= 0x6000 // Pro 6 +# define BOOST_HAS_HASH +# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks +#endif +#define BOOST_HAS_SLIST + +#if __MSL_CPP__ < 0x6209 +# define BOOST_NO_STD_MESSAGES +#endif + +// check C lib version for +#include + +#if defined(__MSL__) && (__MSL__ >= 0x5000) +# define BOOST_HAS_STDINT_H +# if !defined(__PALMOS_TRAPS__) +# define BOOST_HAS_UNISTD_H +# endif + // boilerplate code: +# include +#endif + +#if defined(_MWMT) || _MSL_THREADSAFE +# define BOOST_HAS_THREADS +#endif + +#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_EXCEPTION + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS + +#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) diff --git a/external/include/boost_1_75/boost/config/stdlib/roguewave.hpp b/external/include/boost_1_90_0/boost/config/stdlib/roguewave.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/stdlib/roguewave.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/roguewave.hpp index 03a65768c0..747d4dd53b 100644 --- a/external/include/boost_1_75/boost/config/stdlib/roguewave.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/roguewave.hpp @@ -1,208 +1,208 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001. -// (C) Copyright David Abrahams 2003. -// (C) Copyright Boris Gubenko 2007. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// Rogue Wave std lib: - -#define BOOST_RW_STDLIB 1 - -#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# include -# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) -# error This is not the Rogue Wave standard library -# endif -#endif -// -// figure out a consistent version number: -// -#ifndef _RWSTD_VER -# define BOOST_RWSTD_VER 0x010000 -#elif _RWSTD_VER < 0x010000 -# define BOOST_RWSTD_VER (_RWSTD_VER << 8) -#else -# define BOOST_RWSTD_VER _RWSTD_VER -#endif - -#ifndef _RWSTD_VER -# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" -#elif _RWSTD_VER < 0x04010200 - # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) -#else -# ifdef _RWSTD_VER_STR -# define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR -# else -# define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER) -# endif -#endif - -// -// Prior to version 2.2.0 the primary template for std::numeric_limits -// does not have compile time constants, even though specializations of that -// template do: -// -#if BOOST_RWSTD_VER < 0x020200 -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the -// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): -#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) -# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS -# endif - -// -// Borland version of numeric_limits lacks __int64 specialisation: -// -#ifdef BOOST_BORLANDC -# define BOOST_NO_MS_INT64_NUMERIC_LIMITS -#endif - -// -// No std::iterator if it can't figure out default template args: -// -#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// No iterator traits without partial specialization: -// -#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// Prior to version 2.0, std::auto_ptr was buggy, and there were no -// new-style iostreams, and no conformant std::allocator: -// -#if (BOOST_RWSTD_VER < 0x020000) -# define BOOST_NO_AUTO_PTR -# define BOOST_NO_STRINGSTREAM -# define BOOST_NO_STD_ALLOCATOR -# define BOOST_NO_STD_LOCALE -#endif - -// -// No template iterator constructors without member template support: -// -#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -#endif - -// -// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use -// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR -// on HP aCC systems even though the allocator is in fact broken): -// -#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If we have a std::locale, we still may not have std::use_facet: -// -#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_TWO_ARG_USE_FACET -#endif - -// -// There's no std::distance prior to version 2, or without -// partial specialization support: -// -#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) - #define BOOST_NO_STD_DISTANCE -#endif - -// -// Some versions of the rogue wave library don't have assignable -// OutputIterators: -// -#if BOOST_RWSTD_VER < 0x020100 -# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN -#endif - -// -// Disable BOOST_HAS_LONG_LONG when the library has no support for it. -// -#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) -# undef BOOST_HAS_LONG_LONG -#endif - -// -// check that on HP-UX, the proper RW library is used -// -#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD) -# error "Boost requires Standard RW library. Please compile and link with -AA" -#endif - -// -// Define macros specific to RW V2.2 on HP-UX -// -#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100) -# ifndef __HP_TC1_MAKE_PAIR -# define __HP_TC1_MAKE_PAIR -# endif -# ifndef _HP_INSTANTIATE_STD2_VL -# define _HP_INSTANTIATE_STD2_VL -# endif -#endif - -#if _RWSTD_VER < 0x05000000 -# define BOOST_NO_CXX11_HDR_ARRAY -#endif -// type_traits header is incomplete: -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -// -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_EXCEPTION - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2003. +// (C) Copyright Boris Gubenko 2007. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// Rogue Wave std lib: + +#define BOOST_RW_STDLIB 1 + +#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) +# include +# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) +# error This is not the Rogue Wave standard library +# endif +#endif +// +// figure out a consistent version number: +// +#ifndef _RWSTD_VER +# define BOOST_RWSTD_VER 0x010000 +#elif _RWSTD_VER < 0x010000 +# define BOOST_RWSTD_VER (_RWSTD_VER << 8) +#else +# define BOOST_RWSTD_VER _RWSTD_VER +#endif + +#ifndef _RWSTD_VER +# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" +#elif _RWSTD_VER < 0x04010200 + # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) +#else +# ifdef _RWSTD_VER_STR +# define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR +# else +# define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER) +# endif +#endif + +// +// Prior to version 2.2.0 the primary template for std::numeric_limits +// does not have compile time constants, even though specializations of that +// template do: +// +#if BOOST_RWSTD_VER < 0x020200 +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the +// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): +#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# endif + +// +// Borland version of numeric_limits lacks __int64 specialisation: +// +#ifdef BOOST_BORLANDC +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +#endif + +// +// No std::iterator if it can't figure out default template args: +// +#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) +# define BOOST_NO_STD_ITERATOR +#endif + +// +// No iterator traits without partial specialization: +// +#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// Prior to version 2.0, std::auto_ptr was buggy, and there were no +// new-style iostreams, and no conformant std::allocator: +// +#if (BOOST_RWSTD_VER < 0x020000) +# define BOOST_NO_AUTO_PTR +# define BOOST_NO_STRINGSTREAM +# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_STD_LOCALE +#endif + +// +// No template iterator constructors without member template support: +// +#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +#endif + +// +// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use +// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR +// on HP aCC systems even though the allocator is in fact broken): +// +#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// If we have a std::locale, we still may not have std::use_facet: +// +#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET +#endif + +// +// There's no std::distance prior to version 2, or without +// partial specialization support: +// +#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) + #define BOOST_NO_STD_DISTANCE +#endif + +// +// Some versions of the rogue wave library don't have assignable +// OutputIterators: +// +#if BOOST_RWSTD_VER < 0x020100 +# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +#endif + +// +// Disable BOOST_HAS_LONG_LONG when the library has no support for it. +// +#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) +# undef BOOST_HAS_LONG_LONG +#endif + +// +// check that on HP-UX, the proper RW library is used +// +#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD) +# error "Boost requires Standard RW library. Please compile and link with -AA" +#endif + +// +// Define macros specific to RW V2.2 on HP-UX +// +#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100) +# ifndef __HP_TC1_MAKE_PAIR +# define __HP_TC1_MAKE_PAIR +# endif +# ifndef _HP_INSTANTIATE_STD2_VL +# define _HP_INSTANTIATE_STD2_VL +# endif +#endif + +#if _RWSTD_VER < 0x05000000 +# define BOOST_NO_CXX11_HDR_ARRAY +#endif +// type_traits header is incomplete: +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +// +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_EXCEPTION + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS diff --git a/external/include/boost_1_75/boost/config/stdlib/sgi.hpp b/external/include/boost_1_90_0/boost/config/stdlib/sgi.hpp similarity index 96% rename from external/include/boost_1_75/boost/config/stdlib/sgi.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/sgi.hpp index c49957cef8..6a568832c7 100644 --- a/external/include/boost_1_75/boost/config/stdlib/sgi.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/sgi.hpp @@ -1,168 +1,168 @@ -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001 - 2003. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// generic SGI STL: - -#if !defined(__STL_CONFIG_H) -# include -# if !defined(__STL_CONFIG_H) -# error "This is not the SGI STL!" -# endif -#endif - -// -// No std::iterator traits without partial specialisation: -// -#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No std::stringstream with gcc < 3 -// -#if defined(__GNUC__) && (__GNUC__ < 3) && \ - ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ - !defined(__STL_USE_NEW_IOSTREAMS) || \ - defined(__APPLE_CC__) - // Note that we only set this for GNU C++ prior to 2.95 since the - // latest patches for that release do contain a minimal - // If you are running a 2.95 release prior to 2.95.3 then this will need - // setting, but there is no way to detect that automatically (other - // than by running the configure script). - // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't - // have . -# define BOOST_NO_STRINGSTREAM -#endif - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - - -// -// Assume no std::locale without own iostreams (this may be an -// incorrect assumption in some cases): -// -#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// Original native SGI streams have non-standard std::messages facet: -// -#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -#endif - -// -// SGI's new iostreams have missing "const" in messages<>::open -// -#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) -# define BOOST_NO_STD_MESSAGES -#endif - -// -// No template iterator constructors, or std::allocator -// without member templates: -// -#if !defined(__STL_MEMBER_TEMPLATES) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST - -// -// If this is GNU libstdc++2, then no and no std::wstring: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) -# include -# if defined(__BASTRING__) -# define BOOST_NO_LIMITS -// Note: will provide compile-time constants -# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -# define BOOST_NO_STD_WSTRING -# endif -#endif - -// -// There is no standard iterator unless we have namespace support: -// -#if !defined(__STL_USE_NAMESPACES) -# define BOOST_NO_STD_ITERATOR -#endif - -// -// Intrinsic type_traits support. -// The SGI STL has it's own __type_traits class, which -// has intrinsic compiler support with SGI's compilers. -// Whatever map SGI style type traits to boost equivalents: -// -#define BOOST_HAS_SGI_TYPE_TRAITS - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_EXCEPTION - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS - -#define BOOST_STDLIB "SGI standard library" +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// generic SGI STL: + +#if !defined(__STL_CONFIG_H) +# include +# if !defined(__STL_CONFIG_H) +# error "This is not the SGI STL!" +# endif +#endif + +// +// No std::iterator traits without partial specialisation: +// +#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// No std::stringstream with gcc < 3 +// +#if defined(__GNUC__) && (__GNUC__ < 3) && \ + ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ + !defined(__STL_USE_NEW_IOSTREAMS) || \ + defined(__APPLE_CC__) + // Note that we only set this for GNU C++ prior to 2.95 since the + // latest patches for that release do contain a minimal + // If you are running a 2.95 release prior to 2.95.3 then this will need + // setting, but there is no way to detect that automatically (other + // than by running the configure script). + // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't + // have . +# define BOOST_NO_STRINGSTREAM +#endif + +// Apple doesn't seem to reliably defined a *unix* macro +#if !defined(CYGWIN) && ( defined(__unix__) \ + || defined(__unix) \ + || defined(unix) \ + || defined(__APPLE__) \ + || defined(__APPLE) \ + || defined(APPLE)) +# include +#endif + + +// +// Assume no std::locale without own iostreams (this may be an +// incorrect assumption in some cases): +// +#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +#endif + +// +// Original native SGI streams have non-standard std::messages facet: +// +#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +#endif + +// +// SGI's new iostreams have missing "const" in messages<>::open +// +#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) +# define BOOST_NO_STD_MESSAGES +#endif + +// +// No template iterator constructors, or std::allocator +// without member templates: +// +#if !defined(__STL_MEMBER_TEMPLATES) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// We always have SGI style hash_set, hash_map, and slist: +// +#define BOOST_HAS_HASH +#define BOOST_HAS_SLIST + +// +// If this is GNU libstdc++2, then no and no std::wstring: +// +#if (defined(__GNUC__) && (__GNUC__ < 3)) +# include +# if defined(__BASTRING__) +# define BOOST_NO_LIMITS +// Note: will provide compile-time constants +# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_STD_WSTRING +# endif +#endif + +// +// There is no standard iterator unless we have namespace support: +// +#if !defined(__STL_USE_NAMESPACES) +# define BOOST_NO_STD_ITERATOR +#endif + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_EXCEPTION + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS + +#define BOOST_STDLIB "SGI standard library" diff --git a/external/include/boost_1_75/boost/config/stdlib/stlport.hpp b/external/include/boost_1_90_0/boost/config/stdlib/stlport.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/stdlib/stlport.hpp rename to external/include/boost_1_90_0/boost/config/stdlib/stlport.hpp index 38bc763f95..503625429f 100644 --- a/external/include/boost_1_75/boost/config/stdlib/stlport.hpp +++ b/external/include/boost_1_90_0/boost/config/stdlib/stlport.hpp @@ -1,258 +1,258 @@ -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Darin Adler 2001. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to 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) - -// See http://www.boost.org for most recent version. - -// STLPort standard library config: - -#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# include -# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) -# error "This is not STLPort!" -# endif -#endif - -// Apple doesn't seem to reliably defined a *unix* macro -#if !defined(CYGWIN) && ( defined(__unix__) \ - || defined(__unix) \ - || defined(unix) \ - || defined(__APPLE__) \ - || defined(__APPLE) \ - || defined(APPLE)) -# include -#endif - -// -// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -// for versions prior to 4.1(beta) -// -#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - -// -// If STLport thinks that there is no partial specialisation, then there is no -// std::iterator traits: -// -#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) -# define BOOST_NO_STD_ITERATOR_TRAITS -#endif - -// -// No new style iostreams on GCC without STLport's iostreams enabled: -// -#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) -# define BOOST_NO_STRINGSTREAM -#endif - -// -// No new iostreams implies no std::locale, and no std::stringstream: -// -#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) -# define BOOST_NO_STD_LOCALE -# define BOOST_NO_STRINGSTREAM -#endif - -// -// If the streams are not native, and we have a "using ::x" compiler bug -// then the io stream facets are not available in namespace std:: -// -#ifdef _STLPORT_VERSION -# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC) -# define BOOST_NO_STD_LOCALE -# endif -#else -# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC) -# define BOOST_NO_STD_LOCALE -# endif -#endif - -#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520) -# define BOOST_HAS_TR1_UNORDERED_SET -# define BOOST_HAS_TR1_UNORDERED_MAP -#endif -// -// Without member template support enabled, their are no template -// iterate constructors, and no std::allocator: -// -#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) -# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS -# define BOOST_NO_STD_ALLOCATOR -#endif -// -// however we always have at least a partial allocator: -// -#define BOOST_HAS_PARTIAL_STD_ALLOCATOR - -#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE) -# define BOOST_NO_STD_ALLOCATOR -#endif - -#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) -# define BOOST_NO_STD_ALLOCATOR -#endif - -// -// If STLport thinks there is no wchar_t at all, then we have to disable -// the support for the relevant specilazations of std:: templates. -// -#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) -# ifndef BOOST_NO_STD_WSTRING -# define BOOST_NO_STD_WSTRING -# endif -# ifndef BOOST_NO_STD_WSTREAMBUF -# define BOOST_NO_STD_WSTREAMBUF -# endif -#endif - -// -// We always have SGI style hash_set, hash_map, and slist: -// -#ifndef _STLP_NO_EXTENSIONS -#define BOOST_HAS_HASH -#define BOOST_HAS_SLIST -#endif - -// -// STLport does a good job of importing names into namespace std::, -// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our -// workaround does not conflict with STLports: -// -// -// Harold Howe says: -// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with -// BCB6 does cause problems. If we detect C++ Builder, then don't define -// BOOST_NO_STDC_NAMESPACE -// -#if !defined(BOOST_BORLANDC) && !defined(__DMC__) -// -// If STLport is using it's own namespace, and the real names are in -// the global namespace, then we duplicate STLport's using declarations -// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't -// necessarily import all the names we need into namespace std:: -// -# if (defined(__STL_IMPORT_VENDOR_CSTD) \ - || defined(__STL_USE_OWN_NAMESPACE) \ - || defined(_STLP_IMPORT_VENDOR_CSTD) \ - || defined(_STLP_USE_OWN_NAMESPACE)) \ - && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) -# define BOOST_NO_STDC_NAMESPACE -# define BOOST_NO_EXCEPTION_STD_NAMESPACE -# endif -#elif defined(BOOST_BORLANDC) && BOOST_BORLANDC < 0x560 -// STLport doesn't import std::abs correctly: -#include -namespace std { using ::abs; } -// and strcmp/strcpy don't get imported either ('cos they are macros) -#include -#ifdef strcpy -# undef strcpy -#endif -#ifdef strcmp -# undef strcmp -#endif -#ifdef _STLP_VENDOR_CSTD -namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } -#endif -#endif - -// -// std::use_facet may be non-standard, uses a class instead: -// -#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) -# define BOOST_NO_STD_USE_FACET -# define BOOST_HAS_STLP_USE_FACET -#endif - -// -// If STLport thinks there are no wide functions, etc. is not working; but -// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import -// into std:: ourselves). -// -#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) -# define BOOST_NO_CWCHAR -# define BOOST_NO_CWCTYPE -#endif - -// -// If STLport for some reason was configured so that it thinks that wchar_t -// is not an intrinsic type, then we have to disable the support for it as -// well (we would be missing required specializations otherwise). -// -#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) -# undef BOOST_NO_INTRINSIC_WCHAR_T -# define BOOST_NO_INTRINSIC_WCHAR_T -#endif - -// -// Borland ships a version of STLport with C++ Builder 6 that lacks -// hashtables and the like: -// -#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x560) -# undef BOOST_HAS_HASH -#endif - -// -// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max -// -#if defined(__GNUC__) && (__GNUC__ < 3) -# include // for std::min and std::max -# define BOOST_USING_STD_MIN() ((void)0) -# define BOOST_USING_STD_MAX() ((void)0) -namespace boost { using std::min; using std::max; } -#endif - -// C++0x headers not yet implemented -// -# define BOOST_NO_CXX11_HDR_ARRAY -# define BOOST_NO_CXX11_HDR_CHRONO -# define BOOST_NO_CXX11_HDR_CODECVT -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_FORWARD_LIST -# define BOOST_NO_CXX11_HDR_FUTURE -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_HDR_MUTEX -# define BOOST_NO_CXX11_HDR_RANDOM -# define BOOST_NO_CXX11_HDR_RATIO -# define BOOST_NO_CXX11_HDR_REGEX -# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR -# define BOOST_NO_CXX11_HDR_THREAD -# define BOOST_NO_CXX11_HDR_TUPLE -# define BOOST_NO_CXX11_HDR_TYPE_TRAITS -# define BOOST_NO_CXX11_HDR_TYPEINDEX -# define BOOST_NO_CXX11_HDR_UNORDERED_MAP -# define BOOST_NO_CXX11_HDR_UNORDERED_SET -# define BOOST_NO_CXX11_NUMERIC_LIMITS -# define BOOST_NO_CXX11_ALLOCATOR -# define BOOST_NO_CXX11_POINTER_TRAITS -# define BOOST_NO_CXX11_ATOMIC_SMART_PTR -# define BOOST_NO_CXX11_SMART_PTR -# define BOOST_NO_CXX11_HDR_FUNCTIONAL -# define BOOST_NO_CXX11_HDR_ATOMIC -# define BOOST_NO_CXX11_STD_ALIGN -# define BOOST_NO_CXX11_ADDRESSOF -# define BOOST_NO_CXX11_HDR_EXCEPTION - -#if defined(__has_include) -#if !__has_include() -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#elif __cplusplus < 201402 -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif -#else -# define BOOST_NO_CXX14_HDR_SHARED_MUTEX -#endif - -// C++14 features -# define BOOST_NO_CXX14_STD_EXCHANGE - -// C++17 features -# define BOOST_NO_CXX17_STD_APPLY -# define BOOST_NO_CXX17_STD_INVOKE -# define BOOST_NO_CXX17_ITERATOR_TRAITS - -#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +// STLPort standard library config: + +#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) +# include +# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) +# error "This is not STLPort!" +# endif +#endif + +// Apple doesn't seem to reliably defined a *unix* macro +#if !defined(CYGWIN) && ( defined(__unix__) \ + || defined(__unix) \ + || defined(unix) \ + || defined(__APPLE__) \ + || defined(__APPLE) \ + || defined(APPLE)) +# include +#endif + +// +// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +// for versions prior to 4.1(beta) +// +#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// +// If STLport thinks that there is no partial specialisation, then there is no +// std::iterator traits: +// +#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// No new style iostreams on GCC without STLport's iostreams enabled: +// +#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) +# define BOOST_NO_STRINGSTREAM +#endif + +// +// No new iostreams implies no std::locale, and no std::stringstream: +// +#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +# define BOOST_NO_STRINGSTREAM +#endif + +// +// If the streams are not native, and we have a "using ::x" compiler bug +// then the io stream facets are not available in namespace std:: +// +#ifdef _STLPORT_VERSION +# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC) +# define BOOST_NO_STD_LOCALE +# endif +#else +# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC) +# define BOOST_NO_STD_LOCALE +# endif +#endif + +#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520) +# define BOOST_HAS_TR1_UNORDERED_SET +# define BOOST_HAS_TR1_UNORDERED_MAP +#endif +// +// Without member template support enabled, their are no template +// iterate constructors, and no std::allocator: +// +#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +#endif +// +// however we always have at least a partial allocator: +// +#define BOOST_HAS_PARTIAL_STD_ALLOCATOR + +#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE) +# define BOOST_NO_STD_ALLOCATOR +#endif + +#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// If STLport thinks there is no wchar_t at all, then we have to disable +// the support for the relevant specilazations of std:: templates. +// +#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) +# ifndef BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTRING +# endif +# ifndef BOOST_NO_STD_WSTREAMBUF +# define BOOST_NO_STD_WSTREAMBUF +# endif +#endif + +// +// We always have SGI style hash_set, hash_map, and slist: +// +#ifndef _STLP_NO_EXTENSIONS +#define BOOST_HAS_HASH +#define BOOST_HAS_SLIST +#endif + +// +// STLport does a good job of importing names into namespace std::, +// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our +// workaround does not conflict with STLports: +// +// +// Harold Howe says: +// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with +// BCB6 does cause problems. If we detect C++ Builder, then don't define +// BOOST_NO_STDC_NAMESPACE +// +#if !defined(BOOST_BORLANDC) && !defined(__DMC__) +// +// If STLport is using it's own namespace, and the real names are in +// the global namespace, then we duplicate STLport's using declarations +// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't +// necessarily import all the names we need into namespace std:: +// +# if (defined(__STL_IMPORT_VENDOR_CSTD) \ + || defined(__STL_USE_OWN_NAMESPACE) \ + || defined(_STLP_IMPORT_VENDOR_CSTD) \ + || defined(_STLP_USE_OWN_NAMESPACE)) \ + && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) +# define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_EXCEPTION_STD_NAMESPACE +# endif +#elif defined(BOOST_BORLANDC) && BOOST_BORLANDC < 0x560 +// STLport doesn't import std::abs correctly: +#include +namespace std { using ::abs; } +// and strcmp/strcpy don't get imported either ('cos they are macros) +#include +#ifdef strcpy +# undef strcpy +#endif +#ifdef strcmp +# undef strcmp +#endif +#ifdef _STLP_VENDOR_CSTD +namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } +#endif +#endif + +// +// std::use_facet may be non-standard, uses a class instead: +// +#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_STLP_USE_FACET +#endif + +// +// If STLport thinks there are no wide functions, etc. is not working; but +// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import +// into std:: ourselves). +// +#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) +# define BOOST_NO_CWCHAR +# define BOOST_NO_CWCTYPE +#endif + +// +// If STLport for some reason was configured so that it thinks that wchar_t +// is not an intrinsic type, then we have to disable the support for it as +// well (we would be missing required specializations otherwise). +// +#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) +# undef BOOST_NO_INTRINSIC_WCHAR_T +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +// +// Borland ships a version of STLport with C++ Builder 6 that lacks +// hashtables and the like: +// +#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x560) +# undef BOOST_HAS_HASH +#endif + +// +// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max +// +#if defined(__GNUC__) && (__GNUC__ < 3) +# include // for std::min and std::max +# define BOOST_USING_STD_MIN() ((void)0) +# define BOOST_USING_STD_MAX() ((void)0) +namespace boost { using std::min; using std::max; } +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_EXCEPTION + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS + +#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) diff --git a/external/include/boost_1_90_0/boost/config/stdlib/vacpp.hpp b/external/include/boost_1_90_0/boost/config/stdlib/vacpp.hpp new file mode 100644 index 0000000000..1dacf88efa --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/stdlib/vacpp.hpp @@ -0,0 +1,74 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org for most recent version. + +#if __IBMCPP__ <= 501 +# define BOOST_NO_STD_ALLOCATOR +#endif + +#define BOOST_HAS_MACRO_USE_FACET +#define BOOST_NO_STD_MESSAGES + +// Apple doesn't seem to reliably defined a *unix* macro +#if !defined(CYGWIN) && ( defined(__unix__) \ + || defined(__unix) \ + || defined(unix) \ + || defined(__APPLE__) \ + || defined(__APPLE) \ + || defined(APPLE)) +# include +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CHRONO +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_FUTURE +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPE_TRAITS +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_POINTER_TRAITS +# define BOOST_NO_CXX11_ATOMIC_SMART_PTR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +# define BOOST_NO_CXX11_HDR_EXCEPTION + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// C++14 features +# define BOOST_NO_CXX14_STD_EXCHANGE + +// C++17 features +# define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_STD_INVOKE +# define BOOST_NO_CXX17_ITERATOR_TRAITS + +#define BOOST_STDLIB "Visual Age default standard library" diff --git a/external/include/boost_1_90_0/boost/config/stdlib/xlcpp_zos.hpp b/external/include/boost_1_90_0/boost/config/stdlib/xlcpp_zos.hpp new file mode 100644 index 0000000000..3712ba27aa --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/stdlib/xlcpp_zos.hpp @@ -0,0 +1,61 @@ +// Copyright (c) 2017 Dynatrace +// +// 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 + +// See http://www.boost.org for most recent version. + +// Standard library setup for IBM z/OS XL C/C++ compiler. + +// Oldest library version currently supported is 2.1 (V2R1) +#if __TARGET_LIB__ < 0x42010000 +# error "Library version not supported or configured - please reconfigure" +#endif + +#if __TARGET_LIB__ > 0x42010000 +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown library version - please run the configure tests and report the results" +# endif +#endif + +#define BOOST_STDLIB "IBM z/OS XL C/C++ standard library" + +#define BOOST_HAS_MACRO_USE_FACET + +#define BOOST_NO_CXX11_HDR_TYPE_TRAITS +#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST + +#define BOOST_NO_CXX11_ADDRESSOF +#define BOOST_NO_CXX11_SMART_PTR +#define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#define BOOST_NO_CXX11_NUMERIC_LIMITS +#define BOOST_NO_CXX11_ALLOCATOR +#define BOOST_NO_CXX11_POINTER_TRAITS +#define BOOST_NO_CXX11_HDR_FUNCTIONAL +#define BOOST_NO_CXX11_HDR_UNORDERED_SET +#define BOOST_NO_CXX11_HDR_UNORDERED_MAP +#define BOOST_NO_CXX11_HDR_TYPEINDEX +#define BOOST_NO_CXX11_HDR_TUPLE +#define BOOST_NO_CXX11_HDR_THREAD +#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +#define BOOST_NO_CXX11_HDR_REGEX +#define BOOST_NO_CXX11_HDR_RATIO +#define BOOST_NO_CXX11_HDR_RANDOM +#define BOOST_NO_CXX11_HDR_MUTEX +#define BOOST_NO_CXX11_HDR_FUTURE +#define BOOST_NO_CXX11_HDR_FORWARD_LIST +#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +#define BOOST_NO_CXX11_HDR_CODECVT +#define BOOST_NO_CXX11_HDR_CHRONO +#define BOOST_NO_CXX11_HDR_ATOMIC +#define BOOST_NO_CXX11_HDR_ARRAY +#define BOOST_NO_CXX11_HDR_EXCEPTION +#define BOOST_NO_CXX11_STD_ALIGN + +#define BOOST_NO_CXX14_STD_EXCHANGE +#define BOOST_NO_CXX14_HDR_SHARED_MUTEX + +#define BOOST_NO_CXX17_STD_INVOKE +#define BOOST_NO_CXX17_STD_APPLY +#define BOOST_NO_CXX17_ITERATOR_TRAITS diff --git a/external/include/boost_1_75/boost/config/user.hpp b/external/include/boost_1_90_0/boost/config/user.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/user.hpp rename to external/include/boost_1_90_0/boost/config/user.hpp index 8160fcae25..144139226a 100644 --- a/external/include/boost_1_75/boost/config/user.hpp +++ b/external/include/boost_1_90_0/boost/config/user.hpp @@ -1,133 +1,133 @@ -// boost/config/user.hpp ---------------------------------------------------// - -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to 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) - -// Do not check in modified versions of this file, -// This file may be customized by the end user, but not by boost. - -// -// Use this file to define a site and compiler specific -// configuration policy: -// - -// define this to locate a compiler config file: -// #define BOOST_COMPILER_CONFIG - -// define this to locate a stdlib config file: -// #define BOOST_STDLIB_CONFIG - -// define this to locate a platform config file: -// #define BOOST_PLATFORM_CONFIG - -// define this to disable compiler config, -// use if your compiler config has nothing to set: -// #define BOOST_NO_COMPILER_CONFIG - -// define this to disable stdlib config, -// use if your stdlib config has nothing to set: -// #define BOOST_NO_STDLIB_CONFIG - -// define this to disable platform config, -// use if your platform config has nothing to set: -// #define BOOST_NO_PLATFORM_CONFIG - -// define this to disable all config options, -// excluding the user config. Use if your -// setup is fully ISO compliant, and has no -// useful extensions, or for autoconf generated -// setups: -// #define BOOST_NO_CONFIG - -// define this to make the config "optimistic" -// about unknown compiler versions. Normally -// unknown compiler versions are assumed to have -// all the defects of the last known version, however -// setting this flag, causes the config to assume -// that unknown compiler versions are fully conformant -// with the standard: -// #define BOOST_STRICT_CONFIG - -// define this to cause the config to halt compilation -// with an #error if it encounters anything unknown -- -// either an unknown compiler version or an unknown -// compiler/platform/library: -// #define BOOST_ASSERT_CONFIG - - -// define if you want to disable threading support, even -// when available: -// #define BOOST_DISABLE_THREADS - -// define when you want to disable Win32 specific features -// even when available: -// #define BOOST_DISABLE_WIN32 - -// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any -// prefix/suffix headers that normally control things like struct -// packing and alignment. -// #define BOOST_DISABLE_ABI_HEADERS - -// BOOST_ABI_PREFIX: A prefix header to include in place of whatever -// boost.config would normally select, any replacement should set up -// struct packing and alignment options as required. -// #define BOOST_ABI_PREFIX my-header-name - -// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever -// boost.config would normally select, any replacement should undo -// the effects of the prefix header. -// #define BOOST_ABI_SUFFIX my-header-name - -// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, -// to be linked as dll's rather than static libraries on Microsoft Windows -// (this macro is used to turn on __declspec(dllimport) modifiers, so that -// the compiler knows which symbols to look for in a dll rather than in a -// static library). Note that there may be some libraries that can only -// be linked in one way (statically or dynamically), in these cases this -// macro has no effect. -// #define BOOST_ALL_DYN_LINK - -// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll -// rather than a static library on Microsoft Windows: replace the WHATEVER -// part of the macro name with the name of the library that you want to -// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or -// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) -// modifiers, so that the compiler knows which symbols to look for in a dll -// rather than in a static library). -// Note that there may be some libraries that can only -// be linked in one way (statically or dynamically), -// in these cases this macro is unsupported. -// #define BOOST_WHATEVER_DYN_LINK - -// BOOST_ALL_NO_LIB: Tells the config system not to automatically select -// which libraries to link against. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, -// simply by the act of including one of that library's headers. -// This macro turns that feature off. -// #define BOOST_ALL_NO_LIB - -// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically -// select which library to link against for library "whatever", -// replace WHATEVER in the macro name with the name of the library; -// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, simply -// by the act of including one of that library's headers. This macro turns -// that feature off. -// #define BOOST_WHATEVER_NO_LIB - -// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's -// --buildid command line option. For example if you built using: -// -// bjam address-model=64 --buildid=amd64 -// -// then compile your code with: -// -// -DBOOST_LIB_BUILDID = amd64 -// -// to ensure the correct libraries are selected at link time. -// #define BOOST_LIB_BUILDID amd64 - +// boost/config/user.hpp ---------------------------------------------------// + +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to 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) + +// Do not check in modified versions of this file, +// This file may be customized by the end user, but not by boost. + +// +// Use this file to define a site and compiler specific +// configuration policy: +// + +// define this to locate a compiler config file: +// #define BOOST_COMPILER_CONFIG + +// define this to locate a stdlib config file: +// #define BOOST_STDLIB_CONFIG + +// define this to locate a platform config file: +// #define BOOST_PLATFORM_CONFIG + +// define this to disable compiler config, +// use if your compiler config has nothing to set: +// #define BOOST_NO_COMPILER_CONFIG + +// define this to disable stdlib config, +// use if your stdlib config has nothing to set: +// #define BOOST_NO_STDLIB_CONFIG + +// define this to disable platform config, +// use if your platform config has nothing to set: +// #define BOOST_NO_PLATFORM_CONFIG + +// define this to disable all config options, +// excluding the user config. Use if your +// setup is fully ISO compliant, and has no +// useful extensions, or for autoconf generated +// setups: +// #define BOOST_NO_CONFIG + +// define this to make the config "optimistic" +// about unknown compiler versions. Normally +// unknown compiler versions are assumed to have +// all the defects of the last known version, however +// setting this flag, causes the config to assume +// that unknown compiler versions are fully conformant +// with the standard: +// #define BOOST_STRICT_CONFIG + +// define this to cause the config to halt compilation +// with an #error if it encounters anything unknown -- +// either an unknown compiler version or an unknown +// compiler/platform/library: +// #define BOOST_ASSERT_CONFIG + + +// define if you want to disable threading support, even +// when available: +// #define BOOST_DISABLE_THREADS + +// define when you want to disable Win32 specific features +// even when available: +// #define BOOST_DISABLE_WIN32 + +// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any +// prefix/suffix headers that normally control things like struct +// packing and alignment. +// #define BOOST_DISABLE_ABI_HEADERS + +// BOOST_ABI_PREFIX: A prefix header to include in place of whatever +// boost.config would normally select, any replacement should set up +// struct packing and alignment options as required. +// #define BOOST_ABI_PREFIX my-header-name + +// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever +// boost.config would normally select, any replacement should undo +// the effects of the prefix header. +// #define BOOST_ABI_SUFFIX my-header-name + +// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, +// to be linked as dll's rather than static libraries on Microsoft Windows +// (this macro is used to turn on __declspec(dllimport) modifiers, so that +// the compiler knows which symbols to look for in a dll rather than in a +// static library). Note that there may be some libraries that can only +// be linked in one way (statically or dynamically), in these cases this +// macro has no effect. +// #define BOOST_ALL_DYN_LINK + +// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll +// rather than a static library on Microsoft Windows: replace the WHATEVER +// part of the macro name with the name of the library that you want to +// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or +// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) +// modifiers, so that the compiler knows which symbols to look for in a dll +// rather than in a static library). +// Note that there may be some libraries that can only +// be linked in one way (statically or dynamically), +// in these cases this macro is unsupported. +// #define BOOST_WHATEVER_DYN_LINK + +// BOOST_ALL_NO_LIB: Tells the config system not to automatically select +// which libraries to link against. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, +// simply by the act of including one of that library's headers. +// This macro turns that feature off. +// #define BOOST_ALL_NO_LIB + +// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically +// select which library to link against for library "whatever", +// replace WHATEVER in the macro name with the name of the library; +// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, simply +// by the act of including one of that library's headers. This macro turns +// that feature off. +// #define BOOST_WHATEVER_NO_LIB + +// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's +// --buildid command line option. For example if you built using: +// +// bjam address-model=64 --buildid=amd64 +// +// then compile your code with: +// +// -DBOOST_LIB_BUILDID = amd64 +// +// to ensure the correct libraries are selected at link time. +// #define BOOST_LIB_BUILDID amd64 + diff --git a/external/include/boost_1_75/boost/config/warning_disable.hpp b/external/include/boost_1_90_0/boost/config/warning_disable.hpp similarity index 97% rename from external/include/boost_1_75/boost/config/warning_disable.hpp rename to external/include/boost_1_90_0/boost/config/warning_disable.hpp index fea8e829f1..94e97506a0 100644 --- a/external/include/boost_1_75/boost/config/warning_disable.hpp +++ b/external/include/boost_1_90_0/boost/config/warning_disable.hpp @@ -1,47 +1,47 @@ -// Copyright John Maddock 2008 -// Use, modification, and distribution is subject to 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) -// -// This file exists to turn off some overly-pedantic warning emitted -// by certain compilers. You should include this header only in: -// -// * A test case, before any other headers, or, -// * A library source file before any other headers. -// -// IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER. -// -// YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING. -// -// The only warnings disabled here are those that are: -// -// * Quite unreasonably pedantic. -// * Generally only emitted by a single compiler. -// * Can't easily be fixed: for example if the vendors own std lib -// code emits these warnings! -// -// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS: -// not even std library ones! Doing so may turn the warning -// off too late to be of any use. For example the VC++ C4996 -// warning can be emitted from if that header is included -// before or by this one :-( -// - -#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP -#define BOOST_CONFIG_WARNING_DISABLE_HPP - -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - // Error 'function': was declared deprecated - // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx - // This error is emitted when you use some perfectly conforming - // std lib functions in a perfectly correct way, and also by - // some of Microsoft's own std lib code ! -# pragma warning(disable:4996) -#endif -#if defined(__INTEL_COMPILER) || defined(__ICL) - // As above: gives warning when a "deprecated" - // std library function is encountered. -# pragma warning(disable:1786) -#endif - -#endif // BOOST_CONFIG_WARNING_DISABLE_HPP +// Copyright John Maddock 2008 +// Use, modification, and distribution is subject to 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) +// +// This file exists to turn off some overly-pedantic warning emitted +// by certain compilers. You should include this header only in: +// +// * A test case, before any other headers, or, +// * A library source file before any other headers. +// +// IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER. +// +// YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING. +// +// The only warnings disabled here are those that are: +// +// * Quite unreasonably pedantic. +// * Generally only emitted by a single compiler. +// * Can't easily be fixed: for example if the vendors own std lib +// code emits these warnings! +// +// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS: +// not even std library ones! Doing so may turn the warning +// off too late to be of any use. For example the VC++ C4996 +// warning can be emitted from if that header is included +// before or by this one :-( +// + +#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP +#define BOOST_CONFIG_WARNING_DISABLE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + // Error 'function': was declared deprecated + // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx + // This error is emitted when you use some perfectly conforming + // std lib functions in a perfectly correct way, and also by + // some of Microsoft's own std lib code ! +# pragma warning(disable:4996) +#endif +#if defined(__INTEL_COMPILER) || defined(__ICL) + // As above: gives warning when a "deprecated" + // std library function is encountered. +# pragma warning(disable:1786) +#endif + +#endif // BOOST_CONFIG_WARNING_DISABLE_HPP diff --git a/external/include/boost_1_90_0/boost/config/workaround.hpp b/external/include/boost_1_90_0/boost/config/workaround.hpp new file mode 100644 index 0000000000..684acf9c65 --- /dev/null +++ b/external/include/boost_1_90_0/boost/config/workaround.hpp @@ -0,0 +1,305 @@ +// Copyright David Abrahams 2002. +// 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) +#ifndef BOOST_CONFIG_WORKAROUND_HPP +#define BOOST_CONFIG_WORKAROUND_HPP + +// Compiler/library version workaround macro +// +// Usage: +// +// #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +// // workaround for eVC4 and VC6 +// ... // workaround code here +// #endif +// +// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the +// first argument must be undefined or expand to a numeric +// value. The above expands to: +// +// (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300 +// +// When used for workarounds that apply to the latest known version +// and all earlier versions of a compiler, the following convention +// should be observed: +// +// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) +// +// The version number in this case corresponds to the last version in +// which the workaround was known to have been required. When +// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro +// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates +// the workaround for any version of the compiler. When +// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or +// error will be issued if the compiler version exceeds the argument +// to BOOST_TESTED_AT(). This can be used to locate workarounds which +// may be obsoleted by newer versions. + +#ifndef BOOST_STRICT_CONFIG + +#include + +#ifndef __BORLANDC__ +#define __BORLANDC___WORKAROUND_GUARD 1 +#else +#define __BORLANDC___WORKAROUND_GUARD 0 +#endif +#ifndef __CODEGEARC__ +#define __CODEGEARC___WORKAROUND_GUARD 1 +#else +#define __CODEGEARC___WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_BORLANDC +#define BOOST_BORLANDC_WORKAROUND_GUARD 1 +#else +#define BOOST_BORLANDC_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_CODEGEARC +#define BOOST_CODEGEARC_WORKAROUND_GUARD 1 +#else +#define BOOST_CODEGEARC_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_EMBTC +#define BOOST_EMBTC_WORKAROUND_GUARD 1 +#else +#define BOOST_EMBTC_WORKAROUND_GUARD 0 +#endif +#ifndef _MSC_VER +#define _MSC_VER_WORKAROUND_GUARD 1 +#else +#define _MSC_VER_WORKAROUND_GUARD 0 +#endif +#ifndef _MSC_FULL_VER +#define _MSC_FULL_VER_WORKAROUND_GUARD 1 +#else +#define _MSC_FULL_VER_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_MSVC +#define BOOST_MSVC_WORKAROUND_GUARD 1 +#else +#define BOOST_MSVC_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_MSVC_FULL_VER +#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 1 +#else +#define BOOST_MSVC_FULL_VER_WORKAROUND_GUARD 0 +#endif +#ifndef __GNUC__ +#define __GNUC___WORKAROUND_GUARD 1 +#else +#define __GNUC___WORKAROUND_GUARD 0 +#endif +#ifndef __GNUC_MINOR__ +#define __GNUC_MINOR___WORKAROUND_GUARD 1 +#else +#define __GNUC_MINOR___WORKAROUND_GUARD 0 +#endif +#ifndef __GNUC_PATCHLEVEL__ +#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1 +#else +#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_GCC +#define BOOST_GCC_WORKAROUND_GUARD 1 +#define BOOST_GCC_VERSION_WORKAROUND_GUARD 1 +#else +#define BOOST_GCC_WORKAROUND_GUARD 0 +#define BOOST_GCC_VERSION_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_XLCPP_ZOS +#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1 +#else +#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 0 +#endif +#ifndef __IBMCPP__ +#define __IBMCPP___WORKAROUND_GUARD 1 +#else +#define __IBMCPP___WORKAROUND_GUARD 0 +#endif +#ifndef __SUNPRO_CC +#define __SUNPRO_CC_WORKAROUND_GUARD 1 +#else +#define __SUNPRO_CC_WORKAROUND_GUARD 0 +#endif +#ifndef __DECCXX_VER +#define __DECCXX_VER_WORKAROUND_GUARD 1 +#else +#define __DECCXX_VER_WORKAROUND_GUARD 0 +#endif +#ifndef __MWERKS__ +#define __MWERKS___WORKAROUND_GUARD 1 +#else +#define __MWERKS___WORKAROUND_GUARD 0 +#endif +#ifndef __EDG__ +#define __EDG___WORKAROUND_GUARD 1 +#else +#define __EDG___WORKAROUND_GUARD 0 +#endif +#ifndef __EDG_VERSION__ +#define __EDG_VERSION___WORKAROUND_GUARD 1 +#else +#define __EDG_VERSION___WORKAROUND_GUARD 0 +#endif +#ifndef __HP_aCC +#define __HP_aCC_WORKAROUND_GUARD 1 +#else +#define __HP_aCC_WORKAROUND_GUARD 0 +#endif +#ifndef __hpxstd98 +#define __hpxstd98_WORKAROUND_GUARD 1 +#else +#define __hpxstd98_WORKAROUND_GUARD 0 +#endif +#ifndef _CRAYC +#define _CRAYC_WORKAROUND_GUARD 1 +#else +#define _CRAYC_WORKAROUND_GUARD 0 +#endif +#ifndef __DMC__ +#define __DMC___WORKAROUND_GUARD 1 +#else +#define __DMC___WORKAROUND_GUARD 0 +#endif +#ifndef MPW_CPLUS +#define MPW_CPLUS_WORKAROUND_GUARD 1 +#else +#define MPW_CPLUS_WORKAROUND_GUARD 0 +#endif +#ifndef __COMO__ +#define __COMO___WORKAROUND_GUARD 1 +#else +#define __COMO___WORKAROUND_GUARD 0 +#endif +#ifndef __COMO_VERSION__ +#define __COMO_VERSION___WORKAROUND_GUARD 1 +#else +#define __COMO_VERSION___WORKAROUND_GUARD 0 +#endif +#ifndef __INTEL_COMPILER +#define __INTEL_COMPILER_WORKAROUND_GUARD 1 +#else +#define __INTEL_COMPILER_WORKAROUND_GUARD 0 +#endif +#ifndef __ICL +#define __ICL_WORKAROUND_GUARD 1 +#else +#define __ICL_WORKAROUND_GUARD 0 +#endif +#ifndef _COMPILER_VERSION +#define _COMPILER_VERSION_WORKAROUND_GUARD 1 +#else +#define _COMPILER_VERSION_WORKAROUND_GUARD 0 +#endif +#ifndef __clang_major__ +#define __clang_major___WORKAROUND_GUARD 1 +#else +#define __clang_major___WORKAROUND_GUARD 0 +#endif + +#ifndef _RWSTD_VER +#define _RWSTD_VER_WORKAROUND_GUARD 1 +#else +#define _RWSTD_VER_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_RWSTD_VER +#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1 +#else +#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0 +#endif +#ifndef __GLIBCPP__ +#define __GLIBCPP___WORKAROUND_GUARD 1 +#else +#define __GLIBCPP___WORKAROUND_GUARD 0 +#endif +#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC +#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1 +#else +#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0 +#endif +#ifndef __SGI_STL_PORT +#define __SGI_STL_PORT_WORKAROUND_GUARD 1 +#else +#define __SGI_STL_PORT_WORKAROUND_GUARD 0 +#endif +#ifndef _STLPORT_VERSION +#define _STLPORT_VERSION_WORKAROUND_GUARD 1 +#else +#define _STLPORT_VERSION_WORKAROUND_GUARD 0 +#endif +#ifndef __LIBCOMO_VERSION__ +#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1 +#else +#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0 +#endif +#ifndef _CPPLIB_VER +#define _CPPLIB_VER_WORKAROUND_GUARD 1 +#else +#define _CPPLIB_VER_WORKAROUND_GUARD 0 +#endif + +#ifndef BOOST_INTEL_CXX_VERSION +#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1 +#else +#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_INTEL_WIN +#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1 +#else +#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_DINKUMWARE_STDLIB +#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1 +#else +#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_INTEL +#define BOOST_INTEL_WORKAROUND_GUARD 1 +#else +#define BOOST_INTEL_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_CLANG_VERSION +#define BOOST_CLANG_VERSION_WORKAROUND_GUARD 1 +#else +#define BOOST_CLANG_VERSION_WORKAROUND_GUARD 0 +#endif + +// Always define to zero, if it's used it'll be defined my MPL: +#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0 + +#define BOOST_WORKAROUND(symbol, test) \ + ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ + (symbol != 0) && (1 % (( (symbol test) ) + 1))) +// ^ ^ ^ ^ +// The extra level of parenthesis nesting above, along with the +// BOOST_OPEN_PAREN indirection below, is required to satisfy the +// broken preprocessor in MWCW 8.3 and earlier. +// +// The basic mechanism works as follows: +// (symbol test) + 1 => if (symbol test) then 2 else 1 +// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0 +// +// The complication with % is for cooperation with BOOST_TESTED_AT(). +// When "test" is BOOST_TESTED_AT(x) and +// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, +// +// symbol test => if (symbol <= x) then 1 else -1 +// (symbol test) + 1 => if (symbol <= x) then 2 else 0 +// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero +// + +#ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS +# define BOOST_OPEN_PAREN ( +# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 +#else +# define BOOST_TESTED_AT(value) != ((value)-(value)) +#endif + +#else + +#define BOOST_WORKAROUND(symbol, test) 0 + +#endif + +#endif // BOOST_CONFIG_WORKAROUND_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/detail/hash_integral.hpp b/external/include/boost_1_90_0/boost/container_hash/detail/hash_integral.hpp new file mode 100644 index 0000000000..73ad57bd9d --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/detail/hash_integral.hpp @@ -0,0 +1,146 @@ +// Copyright 2021-2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_DETAIL_HASH_INTEGRAL_HPP +#define BOOST_HASH_DETAIL_HASH_INTEGRAL_HPP + +#include +#include +#include +#include + +namespace boost +{ +namespace hash_detail +{ + +// libstdc++ doesn't provide support for __int128 in the standard traits + +template struct is_integral: public std::is_integral +{ +}; + +template struct is_unsigned: public std::is_unsigned +{ +}; + +template struct make_unsigned: public std::make_unsigned +{ +}; + +#if defined(__SIZEOF_INT128__) + +template<> struct is_integral<__int128_t>: public std::true_type +{ +}; + +template<> struct is_integral<__uint128_t>: public std::true_type +{ +}; + +template<> struct is_unsigned<__int128_t>: public std::false_type +{ +}; + +template<> struct is_unsigned<__uint128_t>: public std::true_type +{ +}; + +template<> struct make_unsigned<__int128_t> +{ + typedef __uint128_t type; +}; + +template<> struct make_unsigned<__uint128_t> +{ + typedef __uint128_t type; +}; + +#endif + +template sizeof(std::size_t)), + bool is_unsigned = is_unsigned::value, + std::size_t size_t_bits = sizeof(std::size_t) * CHAR_BIT, + std::size_t type_bits = sizeof(T) * CHAR_BIT> +struct hash_integral_impl; + +template struct hash_integral_impl +{ + static std::size_t fn( T v ) + { + return static_cast( v ); + } +}; + +template struct hash_integral_impl +{ + static std::size_t fn( T v ) + { + typedef typename make_unsigned::type U; + + if( v >= 0 ) + { + return hash_integral_impl::fn( static_cast( v ) ); + } + else + { + return ~hash_integral_impl::fn( static_cast( ~static_cast( v ) ) ); + } + } +}; + +template struct hash_integral_impl +{ + static std::size_t fn( T v ) + { + std::size_t seed = 0; + + seed = static_cast( v >> 32 ) + hash_detail::hash_mix( seed ); + seed = static_cast( v & 0xFFFFFFFF ) + hash_detail::hash_mix( seed ); + + return seed; + } +}; + +template struct hash_integral_impl +{ + static std::size_t fn( T v ) + { + std::size_t seed = 0; + + seed = static_cast( v >> 96 ) + hash_detail::hash_mix( seed ); + seed = static_cast( v >> 64 ) + hash_detail::hash_mix( seed ); + seed = static_cast( v >> 32 ) + hash_detail::hash_mix( seed ); + seed = static_cast( v ) + hash_detail::hash_mix( seed ); + + return seed; + } +}; + +template struct hash_integral_impl +{ + static std::size_t fn( T v ) + { + std::size_t seed = 0; + + seed = static_cast( v >> 64 ) + hash_detail::hash_mix( seed ); + seed = static_cast( v ) + hash_detail::hash_mix( seed ); + + return seed; + } +}; + +} // namespace hash_detail + +template +typename std::enable_if::value, std::size_t>::type + hash_value( T v ) +{ + return hash_detail::hash_integral_impl::fn( v ); +} + +} // namespace boost + +#endif // #ifndef BOOST_HASH_DETAIL_HASH_INTEGRAL_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/detail/hash_mix.hpp b/external/include/boost_1_90_0/boost/container_hash/detail/hash_mix.hpp new file mode 100644 index 0000000000..252d33071e --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/detail/hash_mix.hpp @@ -0,0 +1,113 @@ +// Copyright 2022 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_DETAIL_HASH_MIX_HPP +#define BOOST_HASH_DETAIL_HASH_MIX_HPP + +#include +#include +#include + +namespace boost +{ +namespace hash_detail +{ + +template struct hash_mix_impl; + +// hash_mix for 64 bit size_t +// +// The general "xmxmx" form of state of the art 64 bit mixers originates +// from Murmur3 by Austin Appleby, which uses the following function as +// its "final mix": +// +// k ^= k >> 33; +// k *= 0xff51afd7ed558ccd; +// k ^= k >> 33; +// k *= 0xc4ceb9fe1a85ec53; +// k ^= k >> 33; +// +// (https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp) +// +// It has subsequently been improved multiple times by different authors +// by changing the constants. The most well known improvement is the +// so-called "variant 13" function by David Stafford: +// +// k ^= k >> 30; +// k *= 0xbf58476d1ce4e5b9; +// k ^= k >> 27; +// k *= 0x94d049bb133111eb; +// k ^= k >> 31; +// +// (https://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html) +// +// This mixing function is used in the splitmix64 RNG: +// http://xorshift.di.unimi.it/splitmix64.c +// +// We use Jon Maiga's implementation from +// http://jonkagstrom.com/mx3/mx3_rev2.html +// +// x ^= x >> 32; +// x *= 0xe9846af9b1a615d; +// x ^= x >> 32; +// x *= 0xe9846af9b1a615d; +// x ^= x >> 28; +// +// An equally good alternative is Pelle Evensen's Moremur: +// +// x ^= x >> 27; +// x *= 0x3C79AC492BA7B653; +// x ^= x >> 33; +// x *= 0x1C69B3F74AC4AE35; +// x ^= x >> 27; +// +// (https://mostlymangling.blogspot.com/2019/12/stronger-better-morer-moremur-better.html) + +template<> struct hash_mix_impl<64> +{ + inline static std::uint64_t fn( std::uint64_t x ) + { + std::uint64_t const m = 0xe9846af9b1a615d; + + x ^= x >> 32; + x *= m; + x ^= x >> 32; + x *= m; + x ^= x >> 28; + + return x; + } +}; + +// hash_mix for 32 bit size_t +// +// We use the "best xmxmx" implementation from +// https://github.com/skeeto/hash-prospector/issues/19 + +template<> struct hash_mix_impl<32> +{ + inline static std::uint32_t fn( std::uint32_t x ) + { + std::uint32_t const m1 = 0x21f0aaad; + std::uint32_t const m2 = 0x735a2d97; + + x ^= x >> 16; + x *= m1; + x ^= x >> 15; + x *= m2; + x ^= x >> 15; + + return x; + } +}; + +inline std::size_t hash_mix( std::size_t v ) +{ + return hash_mix_impl::fn( v ); +} + +} // namespace hash_detail +} // namespace boost + +#endif // #ifndef BOOST_HASH_DETAIL_HASH_MIX_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/detail/hash_range.hpp b/external/include/boost_1_90_0/boost/container_hash/detail/hash_range.hpp new file mode 100644 index 0000000000..8dec300d37 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/detail/hash_range.hpp @@ -0,0 +1,408 @@ +// Copyright 2022 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_DETAIL_HASH_RANGE_HPP +#define BOOST_HASH_DETAIL_HASH_RANGE_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ +namespace hash_detail +{ + +template struct is_char_type: public std::false_type {}; + +#if CHAR_BIT == 8 + +template<> struct is_char_type: public std::true_type {}; +template<> struct is_char_type: public std::true_type {}; +template<> struct is_char_type: public std::true_type {}; + +#if defined(__cpp_char8_t) && __cpp_char8_t >= 201811L +template<> struct is_char_type: public std::true_type {}; +#endif + +#if defined(__cpp_lib_byte) && __cpp_lib_byte >= 201603L +template<> struct is_char_type: public std::true_type {}; +#endif + +#endif + +// generic version + +template +inline typename std::enable_if< + !is_char_type::value_type>::value, +std::size_t >::type + hash_range( std::size_t seed, It first, It last ) +{ + for( ; first != last; ++first ) + { + hash_combine::value_type>( seed, *first ); + } + + return seed; +} + +// specialized char[] version, 32 bit + +template inline std::uint32_t read32le( It p ) +{ + // clang 5+, gcc 5+ figure out this pattern and use a single mov on x86 + // gcc on s390x and power BE even knows how to use load-reverse + + std::uint32_t w = + static_cast( static_cast( p[0] ) ) | + static_cast( static_cast( p[1] ) ) << 8 | + static_cast( static_cast( p[2] ) ) << 16 | + static_cast( static_cast( p[3] ) ) << 24; + + return w; +} + +#if defined(_MSC_VER) && !defined(__clang__) + +template inline std::uint32_t read32le( T* p ) +{ + std::uint32_t w; + + std::memcpy( &w, p, 4 ); + return w; +} + +#endif + +inline std::uint64_t mul32( std::uint32_t x, std::uint32_t y ) +{ + return static_cast( x ) * y; +} + +template +inline typename std::enable_if< + is_char_type::value_type>::value && + std::is_same::iterator_category, std::random_access_iterator_tag>::value && + std::numeric_limits::digits <= 32, +std::size_t>::type + hash_range( std::size_t seed, It first, It last ) +{ + It p = first; + std::size_t n = static_cast( last - first ); + + std::uint32_t const q = 0x9e3779b9U; + std::uint32_t const k = 0xe35e67b1U; // q * q + + std::uint64_t h = mul32( static_cast( seed ) + q, k ); + std::uint32_t w = static_cast( h & 0xFFFFFFFF ); + + h ^= n; + + while( n >= 4 ) + { + std::uint32_t v1 = read32le( p ); + + w += q; + h ^= mul32( v1 + w, k ); + + p += 4; + n -= 4; + } + + { + std::uint32_t v1 = 0; + + if( n >= 1 ) + { + std::size_t const x1 = ( n - 1 ) & 2; // 1: 0, 2: 0, 3: 2 + std::size_t const x2 = n >> 1; // 1: 0, 2: 1, 3: 1 + + v1 = + static_cast( static_cast( p[ static_cast( x1 ) ] ) ) << x1 * 8 | + static_cast( static_cast( p[ static_cast( x2 ) ] ) ) << x2 * 8 | + static_cast( static_cast( p[ 0 ] ) ); + } + + w += q; + h ^= mul32( v1 + w, k ); + } + + w += q; + h ^= mul32( static_cast( h & 0xFFFFFFFF ) + w, static_cast( h >> 32 ) + w + k ); + + return static_cast( h & 0xFFFFFFFF ) ^ static_cast( h >> 32 ); +} + +template +inline typename std::enable_if< + is_char_type::value_type>::value && + !std::is_same::iterator_category, std::random_access_iterator_tag>::value && + std::numeric_limits::digits <= 32, +std::size_t>::type + hash_range( std::size_t seed, It first, It last ) +{ + std::size_t n = 0; + + std::uint32_t const q = 0x9e3779b9U; + std::uint32_t const k = 0xe35e67b1U; // q * q + + std::uint64_t h = mul32( static_cast( seed ) + q, k ); + std::uint32_t w = static_cast( h & 0xFFFFFFFF ); + + std::uint32_t v1 = 0; + + for( ;; ) + { + v1 = 0; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ); + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 8; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 16; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 24; + ++first; + ++n; + + w += q; + h ^= mul32( v1 + w, k ); + } + + h ^= n; + + w += q; + h ^= mul32( v1 + w, k ); + + w += q; + h ^= mul32( static_cast( h & 0xFFFFFFFF ) + w, static_cast( h >> 32 ) + w + k ); + + return static_cast( h & 0xFFFFFFFF ) ^ static_cast( h >> 32 ); +} + +// specialized char[] version, 64 bit + +template inline std::uint64_t read64le( It p ) +{ + std::uint64_t w = + static_cast( static_cast( p[0] ) ) | + static_cast( static_cast( p[1] ) ) << 8 | + static_cast( static_cast( p[2] ) ) << 16 | + static_cast( static_cast( p[3] ) ) << 24 | + static_cast( static_cast( p[4] ) ) << 32 | + static_cast( static_cast( p[5] ) ) << 40 | + static_cast( static_cast( p[6] ) ) << 48 | + static_cast( static_cast( p[7] ) ) << 56; + + return w; +} + +#if defined(_MSC_VER) && !defined(__clang__) + +template inline std::uint64_t read64le( T* p ) +{ + std::uint64_t w; + + std::memcpy( &w, p, 8 ); + return w; +} + +#endif + +template +inline typename std::enable_if< + is_char_type::value_type>::value && + std::is_same::iterator_category, std::random_access_iterator_tag>::value && + (std::numeric_limits::digits > 32), +std::size_t>::type + hash_range( std::size_t seed, It first, It last ) +{ + It p = first; + std::size_t n = static_cast( last - first ); + + std::uint64_t const q = 0x9e3779b97f4a7c15; + std::uint64_t const k = 0xdf442d22ce4859b9; // q * q + + std::uint64_t w = mulx( seed + q, k ); + std::uint64_t h = w ^ n; + + while( n >= 8 ) + { + std::uint64_t v1 = read64le( p ); + + w += q; + h ^= mulx( v1 + w, k ); + + p += 8; + n -= 8; + } + + { + std::uint64_t v1 = 0; + + if( n >= 4 ) + { + v1 = static_cast( read32le( p + static_cast( n - 4 ) ) ) << ( n - 4 ) * 8 | read32le( p ); + } + else if( n >= 1 ) + { + std::size_t const x1 = ( n - 1 ) & 2; // 1: 0, 2: 0, 3: 2 + std::size_t const x2 = n >> 1; // 1: 0, 2: 1, 3: 1 + + v1 = + static_cast( static_cast( p[ static_cast( x1 ) ] ) ) << x1 * 8 | + static_cast( static_cast( p[ static_cast( x2 ) ] ) ) << x2 * 8 | + static_cast( static_cast( p[ 0 ] ) ); + } + + w += q; + h ^= mulx( v1 + w, k ); + } + + return mulx( h + w, k ); +} + +template +inline typename std::enable_if< + is_char_type::value_type>::value && + !std::is_same::iterator_category, std::random_access_iterator_tag>::value && + (std::numeric_limits::digits > 32), +std::size_t>::type + hash_range( std::size_t seed, It first, It last ) +{ + std::size_t n = 0; + + std::uint64_t const q = 0x9e3779b97f4a7c15; + std::uint64_t const k = 0xdf442d22ce4859b9; // q * q + + std::uint64_t w = mulx( seed + q, k ); + std::uint64_t h = w; + + std::uint64_t v1 = 0; + + for( ;; ) + { + v1 = 0; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ); + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 8; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 16; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 24; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 32; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 40; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 48; + ++first; + ++n; + + if( first == last ) + { + break; + } + + v1 |= static_cast( static_cast( *first ) ) << 56; + ++first; + ++n; + + w += q; + h ^= mulx( v1 + w, k ); + } + + h ^= n; + + w += q; + h ^= mulx( v1 + w, k ); + + return mulx( h + w, k ); +} + +} // namespace hash_detail +} // namespace boost + +#endif // #ifndef BOOST_HASH_DETAIL_HASH_RANGE_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/detail/hash_tuple_like.hpp b/external/include/boost_1_90_0/boost/container_hash/detail/hash_tuple_like.hpp new file mode 100644 index 0000000000..b8b55b7012 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/detail/hash_tuple_like.hpp @@ -0,0 +1,62 @@ +// Copyright 2005-2009 Daniel James. +// Copyright 2021 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_DETAIL_HASH_TUPLE_LIKE_HPP +#define BOOST_HASH_DETAIL_HASH_TUPLE_LIKE_HPP + +#include +#include +#include +#include +#include + +namespace boost +{ +namespace hash_detail +{ + +template +inline +typename std::enable_if<(I == std::tuple_size::value), void>::type + hash_combine_tuple_like( std::size_t&, T const& ) +{ +} + +template +inline +typename std::enable_if<(I < std::tuple_size::value), void>::type + hash_combine_tuple_like( std::size_t& seed, T const& v ) +{ + using std::get; + boost::hash_combine( seed, get( v ) ); + + boost::hash_detail::hash_combine_tuple_like( seed, v ); +} + +template +inline std::size_t hash_tuple_like( T const& v ) +{ + std::size_t seed = 0; + + boost::hash_detail::hash_combine_tuple_like<0>( seed, v ); + + return seed; +} + +} // namespace hash_detail + +template +inline +typename std::enable_if< + container_hash::is_tuple_like::value && !container_hash::is_range::value, +std::size_t>::type + hash_value( T const& v ) +{ + return boost::hash_detail::hash_tuple_like( v ); +} + +} // namespace boost + +#endif // #ifndef BOOST_HASH_DETAIL_HASH_TUPLE_LIKE_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/detail/mulx.hpp b/external/include/boost_1_90_0/boost/container_hash/detail/mulx.hpp new file mode 100644 index 0000000000..28e58c59f3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/detail/mulx.hpp @@ -0,0 +1,79 @@ +// Copyright 2022, 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_DETAIL_MULX_HPP +#define BOOST_HASH_DETAIL_MULX_HPP + +#include +#if defined(_MSC_VER) +# include +#endif + +namespace boost +{ +namespace hash_detail +{ + +#if defined(_MSC_VER) && defined(_M_X64) && !defined(__clang__) + +__forceinline std::uint64_t mulx( std::uint64_t x, std::uint64_t y ) +{ + std::uint64_t r2; + std::uint64_t r = _umul128( x, y, &r2 ); + return r ^ r2; +} + +#elif defined(_MSC_VER) && defined(_M_ARM64) && !defined(__clang__) + +__forceinline std::uint64_t mulx( std::uint64_t x, std::uint64_t y ) +{ + std::uint64_t r = x * y; + std::uint64_t r2 = __umulh( x, y ); + return r ^ r2; +} + +#elif defined(__SIZEOF_INT128__) + +inline std::uint64_t mulx( std::uint64_t x, std::uint64_t y ) +{ + __uint128_t r = static_cast<__uint128_t>( x ) * y; + return static_cast( r ) ^ static_cast( r >> 64 ); +} + +#else + +inline std::uint64_t mulx( std::uint64_t x, std::uint64_t y ) +{ + std::uint64_t x1 = static_cast( x ); + std::uint64_t x2 = x >> 32; + + std::uint64_t y1 = static_cast( y ); + std::uint64_t y2 = y >> 32; + + std::uint64_t r3 = x2 * y2; + + std::uint64_t r2a = x1 * y2; + + r3 += r2a >> 32; + + std::uint64_t r2b = x2 * y1; + + r3 += r2b >> 32; + + std::uint64_t r1 = x1 * y1; + + std::uint64_t r2 = (r1 >> 32) + static_cast( r2a ) + static_cast( r2b ); + + r1 = (r2 << 32) + static_cast( r1 ); + r3 += r2 >> 32; + + return r1 ^ r3; +} + +#endif + +} // namespace hash_detail +} // namespace boost + +#endif // #ifndef BOOST_HASH_DETAIL_MULX_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/hash.hpp b/external/include/boost_1_90_0/boost/container_hash/hash.hpp new file mode 100644 index 0000000000..2999d37bdc --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/hash.hpp @@ -0,0 +1,573 @@ +// Copyright 2005-2014 Daniel James. +// Copyright 2021, 2022, 2025 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +// Based on Peter Dimov's proposal +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf +// issue 6.18. + +#ifndef BOOST_FUNCTIONAL_HASH_HASH_HPP +#define BOOST_FUNCTIONAL_HASH_HASH_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(BOOST_DESCRIBE_CXX14) +# include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_NO_CXX11_SMART_PTR) +# include +#endif + +#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) +#include +#endif + +#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) +#include +#endif + +#if !defined(BOOST_NO_CXX17_HDR_OPTIONAL) +#include +#endif + +#if !defined(BOOST_NO_CXX17_HDR_VARIANT) +#include +#endif + +#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) +# include +#endif + +namespace boost +{ + + // + // boost::hash_value + // + + // integral types + // in detail/hash_integral.hpp + + // enumeration types + + template + typename std::enable_if::value, std::size_t>::type + hash_value( T v ) + { + // This should in principle return the equivalent of + // + // boost::hash_value( to_underlying(v) ); + // + // However, the C++03 implementation of underlying_type, + // + // conditional, make_signed, make_unsigned>::type::type + // + // generates a legitimate -Wconversion warning in is_signed, + // because -1 is not a valid enum value when all the enumerators + // are nonnegative. + // + // So the legacy implementation will have to do for now. + + return static_cast( v ); + } + + // floating point types + + namespace hash_detail + { + template::digits> + struct hash_float_impl; + + // float + template struct hash_float_impl + { + static std::size_t fn( T v ) + { + std::uint32_t w; + std::memcpy( &w, &v, sizeof( v ) ); + + return w; + } + }; + + // double + template struct hash_float_impl + { + static std::size_t fn( T v ) + { + std::uint64_t w; + std::memcpy( &w, &v, sizeof( v ) ); + + return hash_value( w ); + } + }; + + // 80 bit long double in 12 bytes + template struct hash_float_impl + { + static std::size_t fn( T v ) + { + std::uint64_t w[ 2 ] = {}; + std::memcpy( &w, &v, 80 / CHAR_BIT ); + + std::size_t seed = 0; + + seed = hash_value( w[0] ) + hash_detail::hash_mix( seed ); + seed = hash_value( w[1] ) + hash_detail::hash_mix( seed ); + + return seed; + } + }; + + // 80 bit long double in 16 bytes + template struct hash_float_impl + { + static std::size_t fn( T v ) + { + std::uint64_t w[ 2 ] = {}; + std::memcpy( &w, &v, 80 / CHAR_BIT ); + + std::size_t seed = 0; + + seed = hash_value( w[0] ) + hash_detail::hash_mix( seed ); + seed = hash_value( w[1] ) + hash_detail::hash_mix( seed ); + + return seed; + } + }; + + // 128 bit long double + template struct hash_float_impl + { + static std::size_t fn( T v ) + { + std::uint64_t w[ 2 ]; + std::memcpy( &w, &v, sizeof( v ) ); + + std::size_t seed = 0; + +#if defined(__FLOAT_WORD_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __FLOAT_WORD_ORDER__ == __ORDER_BIG_ENDIAN__ + + seed = hash_value( w[1] ) + hash_detail::hash_mix( seed ); + seed = hash_value( w[0] ) + hash_detail::hash_mix( seed ); + +#else + + seed = hash_value( w[0] ) + hash_detail::hash_mix( seed ); + seed = hash_value( w[1] ) + hash_detail::hash_mix( seed ); + +#endif + return seed; + } + }; + + } // namespace hash_detail + + template + typename std::enable_if::value, std::size_t>::type + hash_value( T v ) + { + return boost::hash_detail::hash_float_impl::fn( v + 0 ); + } + + // pointer types + + // `x + (x >> 3)` adjustment by Alberto Barbati and Dave Harris. + template std::size_t hash_value( T* const& v ) + { + std::uintptr_t x = reinterpret_cast( v ); + return boost::hash_value( x + (x >> 3) ); + } + + // array types + + template + inline std::size_t hash_value( T const (&x)[ N ] ) + { + return boost::hash_range( x, x + N ); + } + + template + inline std::size_t hash_value( T (&x)[ N ] ) + { + return boost::hash_range( x, x + N ); + } + + // complex + + template + std::size_t hash_value( std::complex const& v ) + { + std::size_t re = boost::hash()( v.real() ); + std::size_t im = boost::hash()( v.imag() ); + + return re + hash_detail::hash_mix( im ); + } + + // pair + + template + std::size_t hash_value( std::pair const& v ) + { + std::size_t seed = 0; + + boost::hash_combine( seed, v.first ); + boost::hash_combine( seed, v.second ); + + return seed; + } + + // ranges (list, set, deque...) + + template + typename std::enable_if::value && !container_hash::is_contiguous_range::value && !container_hash::is_unordered_range::value, std::size_t>::type + hash_value( T const& v ) + { + return boost::hash_range( v.begin(), v.end() ); + } + + // contiguous ranges (string, vector, array) + + template + typename std::enable_if::value, std::size_t>::type + hash_value( T const& v ) + { + return boost::hash_range( v.data(), v.data() + v.size() ); + } + + // unordered ranges (unordered_set, unordered_map) + + template + typename std::enable_if::value, std::size_t>::type + hash_value( T const& v ) + { + return boost::hash_unordered_range( v.begin(), v.end() ); + } + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && ( \ + ( defined(_MSVC_STL_VERSION) && _MSVC_STL_VERSION < 142 ) || \ + ( !defined(_MSVC_STL_VERSION) && defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 ) ) + + // resolve ambiguity with unconstrained stdext::hash_value in :-/ + + template class L, class... T> + typename std::enable_if>::value && !container_hash::is_contiguous_range>::value && !container_hash::is_unordered_range>::value, std::size_t>::type + hash_value( L const& v ) + { + return boost::hash_range( v.begin(), v.end() ); + } + + // contiguous ranges (string, vector, array) + + template class L, class... T> + typename std::enable_if>::value, std::size_t>::type + hash_value( L const& v ) + { + return boost::hash_range( v.data(), v.data() + v.size() ); + } + + template class L, class T, std::size_t N> + typename std::enable_if>::value, std::size_t>::type + hash_value( L const& v ) + { + return boost::hash_range( v.data(), v.data() + v.size() ); + } + + // unordered ranges (unordered_set, unordered_map) + + template class L, class... T> + typename std::enable_if>::value, std::size_t>::type + hash_value( L const& v ) + { + return boost::hash_unordered_range( v.begin(), v.end() ); + } + +#endif + + // described classes + +#if defined(BOOST_DESCRIBE_CXX14) + +#if defined(_MSC_VER) && _MSC_VER == 1900 +# pragma warning(push) +# pragma warning(disable: 4100) // unreferenced formal parameter +#endif + + template + typename std::enable_if::value, std::size_t>::type + hash_value( T const& v ) + { + static_assert( !std::is_union::value, "described unions are not supported" ); + + std::size_t r = 0; + + using Bd = describe::describe_bases; + + mp11::mp_for_each([&](auto D){ + + using B = typename decltype(D)::type; + boost::hash_combine( r, (B const&)v ); + + }); + + using Md = describe::describe_members; + + mp11::mp_for_each([&](auto D){ + + boost::hash_combine( r, v.*D.pointer ); + + }); + + return r; + } + +#if defined(_MSC_VER) && _MSC_VER == 1900 +# pragma warning(pop) +#endif + +#endif + + // std::unique_ptr, std::shared_ptr + +#if !defined(BOOST_NO_CXX11_SMART_PTR) + + template + std::size_t hash_value( std::shared_ptr const& x ) + { + return boost::hash_value( x.get() ); + } + + template + std::size_t hash_value( std::unique_ptr const& x ) + { + return boost::hash_value( x.get() ); + } + +#endif + + // std::type_index + +#if !defined(BOOST_NO_CXX11_HDR_TYPEINDEX) + + inline std::size_t hash_value( std::type_index const& v ) + { + return v.hash_code(); + } + +#endif + + // std::error_code, std::error_condition + +#if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR) + + inline std::size_t hash_value( std::error_code const& v ) + { + std::size_t seed = 0; + + boost::hash_combine( seed, v.value() ); + boost::hash_combine( seed, &v.category() ); + + return seed; + } + + inline std::size_t hash_value( std::error_condition const& v ) + { + std::size_t seed = 0; + + boost::hash_combine( seed, v.value() ); + boost::hash_combine( seed, &v.category() ); + + return seed; + } + +#endif + + // std::nullptr_t + +#if !defined(BOOST_NO_CXX11_NULLPTR) + + template + typename std::enable_if::value, std::size_t>::type + hash_value( T const& /*v*/ ) + { + return boost::hash_value( static_cast( nullptr ) ); + } + +#endif + + // std::optional + +#if !defined(BOOST_NO_CXX17_HDR_OPTIONAL) + + template + std::size_t hash_value( std::optional const& v ) + { + if( !v ) + { + // Arbitrary value for empty optional. + return 0x12345678; + } + else + { + return boost::hash()(*v); + } + } + +#endif + + // std::variant + +#if !defined(BOOST_NO_CXX17_HDR_VARIANT) + + inline std::size_t hash_value( std::monostate ) + { + return 0x87654321; + } + + template + std::size_t hash_value( std::variant const& v ) + { + std::size_t seed = 0; + + hash_combine( seed, v.index() ); + std::visit( [&seed](auto&& x) { hash_combine(seed, x); }, v ); + + return seed; + } + +#endif + + // + // boost::hash_combine + // + + template + inline void hash_combine( std::size_t& seed, T const& v ) + { + seed = boost::hash_detail::hash_mix( seed + 0x9e3779b9 + boost::hash()( v ) ); + } + + // + // boost::hash_range + // + + template + inline void hash_range( std::size_t& seed, It first, It last ) + { + seed = hash_detail::hash_range( seed, first, last ); + } + + template + inline std::size_t hash_range( It first, It last ) + { + std::size_t seed = 0; + + hash_range( seed, first, last ); + + return seed; + } + + // + // boost::hash_unordered_range + // + + template + inline void hash_unordered_range( std::size_t& seed, It first, It last ) + { + std::size_t r = 0; + std::size_t const s2( seed ); + + for( ; first != last; ++first ) + { + std::size_t s3( s2 ); + + hash_combine::value_type>( s3, *first ); + + r += s3; + } + + seed += r; + } + + template + inline std::size_t hash_unordered_range( It first, It last ) + { + std::size_t seed = 0; + + hash_unordered_range( seed, first, last ); + + return seed; + } + + // + // boost::hash + // + + template struct hash + { + typedef T argument_type; + typedef std::size_t result_type; + + std::size_t operator()( T const& val ) const + { + return hash_value( val ); + } + }; + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && ( \ + ( defined(_MSVC_STL_VERSION) && _MSVC_STL_VERSION < 142 ) || \ + ( !defined(_MSVC_STL_VERSION) && defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 ) ) + + // Dinkumware has stdext::hash_value for basic_string in :-/ + + template struct hash< std::basic_string > + { + typedef std::basic_string argument_type; + typedef std::size_t result_type; + + std::size_t operator()( std::basic_string const& val ) const + { + return boost::hash_value( val ); + } + }; + +#endif + + // hash_is_avalanching + + template struct hash_is_avalanching< boost::hash< std::basic_string > >: std::is_integral {}; + +#if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW) + + template struct hash_is_avalanching< boost::hash< std::basic_string_view > >: std::is_integral {}; + +#endif + +} // namespace boost + +#endif // #ifndef BOOST_FUNCTIONAL_HASH_HASH_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/hash_fwd.hpp b/external/include/boost_1_90_0/boost/container_hash/hash_fwd.hpp new file mode 100644 index 0000000000..49675b8fb0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/hash_fwd.hpp @@ -0,0 +1,39 @@ +// Copyright 2005-2009 Daniel James. +// Copyright 2021, 2022, 2025 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_FUNCTIONAL_HASH_FWD_HPP +#define BOOST_FUNCTIONAL_HASH_FWD_HPP + +#include + +namespace boost +{ + +namespace container_hash +{ + +template struct is_range; +template struct is_contiguous_range; +template struct is_unordered_range; +template struct is_described_class; +template struct is_tuple_like; + +} // namespace container_hash + +template struct hash; + +template void hash_combine( std::size_t& seed, T const& v ); + +template void hash_range( std::size_t&, It, It ); +template std::size_t hash_range( It, It ); + +template void hash_unordered_range( std::size_t&, It, It ); +template std::size_t hash_unordered_range( It, It ); + +template struct hash_is_avalanching; + +} // namespace boost + +#endif // #ifndef BOOST_FUNCTIONAL_HASH_FWD_HPP diff --git a/external/include/boost_1_90_0/boost/container_hash/hash_is_avalanching.hpp b/external/include/boost_1_90_0/boost/container_hash/hash_is_avalanching.hpp new file mode 100644 index 0000000000..81ba479ef4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/hash_is_avalanching.hpp @@ -0,0 +1,57 @@ +// Copyright 2025 Joaquin M Lopez Munoz. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_HASH_IS_AVALANCHING_HPP_INCLUDED +#define BOOST_HASH_HASH_IS_AVALANCHING_HPP_INCLUDED + +#include + +namespace boost +{ +namespace hash_detail +{ + +template struct make_void +{ + using type = void; +}; + +template using void_t = typename make_void::type; + +template struct avalanching_value +{ + static constexpr bool value = IsAvalanching::value; +}; + +// may be explicitly marked as BOOST_DEPRECATED in the future +template<> struct avalanching_value +{ + static constexpr bool value = true; +}; + +template struct hash_is_avalanching_impl: std::false_type +{ +}; + +template struct hash_is_avalanching_impl >: + std::integral_constant::value> +{ +}; + +template +struct hash_is_avalanching_impl::type> +{ + // Hash::is_avalanching is not a type: we don't define value to produce + // a compile error downstream +}; + +} // namespace hash_detail + +template struct hash_is_avalanching: hash_detail::hash_is_avalanching_impl::type +{ +}; + +} // namespace boost + +#endif // #ifndef BOOST_HASH_HASH_IS_AVALANCHING_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/container_hash/is_contiguous_range.hpp b/external/include/boost_1_90_0/boost/container_hash/is_contiguous_range.hpp new file mode 100644 index 0000000000..e293c16e02 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/is_contiguous_range.hpp @@ -0,0 +1,98 @@ +// Copyright 2017, 2018 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_IS_CONTIGUOUS_RANGE_HPP_INCLUDED +#define BOOST_HASH_IS_CONTIGUOUS_RANGE_HPP_INCLUDED + +#include +#include +#include +#include + +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1910) + +#include + +namespace boost +{ +namespace hash_detail +{ + +template + std::integral_constant< bool, std::is_same::value_type, T>::value && std::is_integral::value > + is_contiguous_range_check( It first, It last, T const*, T const*, S ); + +template decltype( is_contiguous_range_check( std::declval().begin(), std::declval().end(), std::declval().data(), std::declval().data() + std::declval().size(), std::declval().size() ) ) is_contiguous_range_( int ); +template std::false_type is_contiguous_range_( ... ); + +template struct is_contiguous_range: decltype( hash_detail::is_contiguous_range_( 0 ) ) +{ +}; + +} // namespace hash_detail + +namespace container_hash +{ + +template struct is_contiguous_range: std::integral_constant< bool, is_range::value && hash_detail::is_contiguous_range::value > +{ +}; + +} // namespace container_hash +} // namespace boost + +#else // !BOOST_WORKAROUND(BOOST_MSVC, < 1910) + +#include +#include +#include +#include + +namespace boost +{ +namespace container_hash +{ + +template struct is_contiguous_range: std::false_type +{ +}; + +template struct is_contiguous_range< std::basic_string >: std::true_type +{ +}; + +template struct is_contiguous_range< std::basic_string const >: std::true_type +{ +}; + +template struct is_contiguous_range< std::vector >: std::true_type +{ +}; + +template struct is_contiguous_range< std::vector const >: std::true_type +{ +}; + +template struct is_contiguous_range< std::vector >: std::false_type +{ +}; + +template struct is_contiguous_range< std::vector const >: std::false_type +{ +}; + +template struct is_contiguous_range< std::array >: std::true_type +{ +}; + +template struct is_contiguous_range< std::array const >: std::true_type +{ +}; + +} // namespace container_hash +} // namespace boost + +#endif // !BOOST_WORKAROUND(BOOST_MSVC, < 1910) + +#endif // #ifndef BOOST_HASH_IS_CONTIGUOUS_RANGE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/container_hash/is_described_class.hpp b/external/include/boost_1_90_0/boost/container_hash/is_described_class.hpp new file mode 100644 index 0000000000..7dbfa26a3e --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/is_described_class.hpp @@ -0,0 +1,37 @@ +// Copyright 2022 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_IS_DESCRIBED_CLASS_HPP_INCLUDED +#define BOOST_HASH_IS_DESCRIBED_CLASS_HPP_INCLUDED + +#include +#include +#include + +namespace boost +{ +namespace container_hash +{ + +#if defined(BOOST_DESCRIBE_CXX11) + +template struct is_described_class: std::integral_constant::value && + describe::has_describe_members::value && + !std::is_union::value> +{ +}; + +#else + +template struct is_described_class: std::false_type +{ +}; + +#endif + +} // namespace container_hash +} // namespace boost + +#endif // #ifndef BOOST_HASH_IS_DESCRIBED_CLASS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/container_hash/is_range.hpp b/external/include/boost_1_90_0/boost/container_hash/is_range.hpp new file mode 100644 index 0000000000..9c2e80e72d --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/is_range.hpp @@ -0,0 +1,41 @@ +// Copyright 2017 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_IS_RANGE_HPP_INCLUDED +#define BOOST_HASH_IS_RANGE_HPP_INCLUDED + +#include +#include + +namespace boost +{ + +namespace hash_detail +{ + +template struct iterator_traits: std::iterator_traits {}; +template<> struct iterator_traits< void* > {}; +template<> struct iterator_traits< void const* > {}; + +template + std::integral_constant< bool, !std::is_same::type, typename iterator_traits::value_type>::value > + is_range_check( It first, It last ); + +template decltype( is_range_check( std::declval().begin(), std::declval().end() ) ) is_range_( int ); +template std::false_type is_range_( ... ); + +} // namespace hash_detail + +namespace container_hash +{ + +template struct is_range: decltype( hash_detail::is_range_( 0 ) ) +{ +}; + +} // namespace container_hash + +} // namespace boost + +#endif // #ifndef BOOST_HASH_IS_RANGE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/container_hash/is_tuple_like.hpp b/external/include/boost_1_90_0/boost/container_hash/is_tuple_like.hpp new file mode 100644 index 0000000000..38a33f7f03 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/is_tuple_like.hpp @@ -0,0 +1,36 @@ +#ifndef BOOST_HASH_IS_TUPLE_LIKE_HPP_INCLUDED +#define BOOST_HASH_IS_TUPLE_LIKE_HPP_INCLUDED + +// Copyright 2017, 2022 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include + +namespace boost +{ +namespace hash_detail +{ + +template struct is_tuple_like_: std::false_type +{ +}; + +template struct is_tuple_like_::value == std::tuple_size::value> >: std::true_type +{ +}; + +} // namespace hash_detail + +namespace container_hash +{ + +template struct is_tuple_like: hash_detail::is_tuple_like_< typename std::remove_cv::type > +{ +}; + +} // namespace container_hash +} // namespace boost + +#endif // #ifndef BOOST_HASH_IS_TUPLE_LIKE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/container_hash/is_unordered_range.hpp b/external/include/boost_1_90_0/boost/container_hash/is_unordered_range.hpp new file mode 100644 index 0000000000..393251b8f9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/container_hash/is_unordered_range.hpp @@ -0,0 +1,38 @@ +// Copyright 2017 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_HASH_IS_UNORDERED_RANGE_HPP_INCLUDED +#define BOOST_HASH_IS_UNORDERED_RANGE_HPP_INCLUDED + +#include +#include + +namespace boost +{ +namespace hash_detail +{ + +template struct has_hasher_: std::false_type +{ +}; + +template struct has_hasher_< T, std::integral_constant< bool, + std::is_same::value + > >: std::true_type +{ +}; + +} // namespace hash_detail + +namespace container_hash +{ + +template struct is_unordered_range: std::integral_constant< bool, is_range::value && hash_detail::has_hasher_::value > +{ +}; + +} // namespace container_hash +} // namespace boost + +#endif // #ifndef BOOST_HASH_IS_UNORDERED_RANGE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/addressof.hpp b/external/include/boost_1_90_0/boost/core/addressof.hpp new file mode 100644 index 0000000000..33ddeb758a --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/addressof.hpp @@ -0,0 +1,274 @@ +/* +Copyright (C) 2002 Brad King (brad.king@kitware.com) + Douglas Gregor (gregod@cs.rpi.edu) + +Copyright (C) 2002, 2008, 2013 Peter Dimov + +Copyright (C) 2017 Glen Joseph Fernandes (glenjofe@gmail.com) + +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) +*/ + +#ifndef BOOST_CORE_ADDRESSOF_HPP +#define BOOST_CORE_ADDRESSOF_HPP + +#include + +#if defined(BOOST_MSVC_FULL_VER) && BOOST_MSVC_FULL_VER >= 190024215 +#define BOOST_CORE_HAS_BUILTIN_ADDRESSOF +#elif defined(BOOST_GCC) && BOOST_GCC >= 70000 +#define BOOST_CORE_HAS_BUILTIN_ADDRESSOF +#elif defined(__has_builtin) +#if __has_builtin(__builtin_addressof) +#define BOOST_CORE_HAS_BUILTIN_ADDRESSOF +#endif +#endif + +#if defined(BOOST_CORE_HAS_BUILTIN_ADDRESSOF) +#if defined(BOOST_NO_CXX11_CONSTEXPR) +#define BOOST_CORE_NO_CONSTEXPR_ADDRESSOF +#endif + +namespace boost { + +template +BOOST_CONSTEXPR inline T* +addressof(T& o) BOOST_NOEXCEPT +{ + return __builtin_addressof(o); +} + +} /* boost */ +#else +#include +#include + +namespace boost { +namespace detail { + +template +class addrof_ref { +public: + BOOST_FORCEINLINE addrof_ref(T& o) BOOST_NOEXCEPT + : o_(o) { } + BOOST_FORCEINLINE operator T&() const BOOST_NOEXCEPT { + return o_; + } +private: + addrof_ref& operator=(const addrof_ref&); + T& o_; +}; + +template +struct addrof { + static BOOST_FORCEINLINE T* get(T& o, long) BOOST_NOEXCEPT { + return reinterpret_cast(& + const_cast(reinterpret_cast(o))); + } + static BOOST_FORCEINLINE T* get(T* p, int) BOOST_NOEXCEPT { + return p; + } +}; + +#if !defined(BOOST_NO_CXX11_NULLPTR) +#if !defined(BOOST_NO_CXX11_DECLTYPE) && \ + (defined(__INTEL_COMPILER) || \ + (defined(__clang__) && !defined(_LIBCPP_VERSION))) +typedef decltype(nullptr) addrof_null_t; +#else +typedef std::nullptr_t addrof_null_t; +#endif + +template<> +struct addrof { + typedef addrof_null_t type; + static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { + return &o; + } +}; + +template<> +struct addrof { + typedef const addrof_null_t type; + static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { + return &o; + } +}; + +template<> +struct addrof { + typedef volatile addrof_null_t type; + static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { + return &o; + } +}; + +template<> +struct addrof { + typedef const volatile addrof_null_t type; + static BOOST_FORCEINLINE type* get(type& o, int) BOOST_NOEXCEPT { + return &o; + } +}; +#endif + +} /* detail */ + +#if defined(BOOST_NO_CXX11_SFINAE_EXPR) || \ + defined(BOOST_NO_CXX11_CONSTEXPR) || \ + defined(BOOST_NO_CXX11_DECLTYPE) +#define BOOST_CORE_NO_CONSTEXPR_ADDRESSOF + +template +BOOST_FORCEINLINE T* +addressof(T& o) BOOST_NOEXCEPT +{ +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) || \ + BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5120) + return boost::detail::addrof::get(o, 0); +#else + return boost::detail::addrof::get(boost::detail::addrof_ref(o), 0); +#endif +} + +#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) +namespace detail { + +template +struct addrof_result { + typedef T* type; +}; + +} /* detail */ + +template +BOOST_FORCEINLINE typename boost::detail::addrof_result::type +addressof(T (&o)[N]) BOOST_NOEXCEPT +{ + return &o; +} +#endif + +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +template +BOOST_FORCEINLINE +T (*addressof(T (&o)[N]) BOOST_NOEXCEPT)[N] +{ + return reinterpret_cast(&o); +} + +template +BOOST_FORCEINLINE +const T (*addressof(const T (&o)[N]) BOOST_NOEXCEPT)[N] +{ + return reinterpret_cast(&o); +} +#endif +#else +namespace detail { + +template +T addrof_declval() BOOST_NOEXCEPT; + +template +struct addrof_void { + typedef void type; +}; + +template +struct addrof_member_operator { + static constexpr bool value = false; +}; + +template +struct addrof_member_operator().operator&())>::type> { + static constexpr bool value = true; +}; + +#if BOOST_WORKAROUND(BOOST_INTEL, < 1600) +struct addrof_addressable { }; + +addrof_addressable* +operator&(addrof_addressable&) BOOST_NOEXCEPT; +#endif + +template +struct addrof_non_member_operator { + static constexpr bool value = false; +}; + +template +struct addrof_non_member_operator()))>::type> { + static constexpr bool value = true; +}; + +template +struct addrof_expression { + static constexpr bool value = false; +}; + +template +struct addrof_expression())>::type> { + static constexpr bool value = true; +}; + +template +struct addrof_is_constexpr { + static constexpr bool value = addrof_expression::value && + !addrof_member_operator::value && + !addrof_non_member_operator::value; +}; + +template +struct addrof_if { }; + +template +struct addrof_if { + typedef T* type; +}; + +template +BOOST_FORCEINLINE +typename addrof_if::value, T>::type +addressof(T& o) BOOST_NOEXCEPT +{ + return addrof::get(addrof_ref(o), 0); +} + +template +constexpr BOOST_FORCEINLINE +typename addrof_if::value, T>::type +addressof(T& o) BOOST_NOEXCEPT +{ + return &o; +} + +} /* detail */ + +template +constexpr BOOST_FORCEINLINE T* +addressof(T& o) BOOST_NOEXCEPT +{ + return boost::detail::addressof(o); +} +#endif + +} /* boost */ +#endif + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ + !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) +namespace boost { + +template +const T* addressof(const T&&) = delete; + +} /* boost */ +#endif + +#endif diff --git a/external/include/boost_1_90_0/boost/core/bit.hpp b/external/include/boost_1_90_0/boost/core/bit.hpp new file mode 100644 index 0000000000..083240f922 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/bit.hpp @@ -0,0 +1,954 @@ +#ifndef BOOST_CORE_BIT_HPP_INCLUDED +#define BOOST_CORE_BIT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/core/bit.hpp +// +// A portable version of the C++20 standard header +// +// Copyright 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#include +#include +#include + +#if defined(_MSC_VER) + +# include +# pragma intrinsic(_BitScanForward) +# pragma intrinsic(_BitScanReverse) + +# if defined(_M_X64) || defined(_M_ARM64) +# pragma intrinsic(_BitScanForward64) +# pragma intrinsic(_BitScanReverse64) +# endif + +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +# pragma warning(disable: 4244) // conversion from int to T + +#endif // defined(_MSC_VER) + +#if defined(BOOST_MSVC) && BOOST_MSVC >= 1925 +# define BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL +#endif + +#if defined(__has_builtin) +# if __has_builtin(__builtin_bit_cast) +# define BOOST_CORE_HAS_BUILTIN_BIT_CAST +# endif +# if __has_builtin(__builtin_bswap16) +# define BOOST_CORE_HAS_BUILTIN_BSWAP16 +# endif +#endif + +#if !defined(BOOST_CORE_HAS_BUILTIN_BIT_CAST) && (defined(BOOST_MSVC) && BOOST_MSVC >= 1926) +# define BOOST_CORE_HAS_BUILTIN_BIT_CAST +#endif + +#if !defined(BOOST_CORE_HAS_BUILTIN_BSWAP16) && (defined(BOOST_GCC) && BOOST_GCC >= 40800) +# define BOOST_CORE_HAS_BUILTIN_BSWAP16 +#endif + +namespace boost +{ +namespace core +{ + +// bit_cast + +#if defined(BOOST_CORE_HAS_BUILTIN_BIT_CAST) + +template +BOOST_CONSTEXPR To bit_cast( From const & from ) BOOST_NOEXCEPT +{ + return __builtin_bit_cast( To, from ); +} + +#else + +template +To bit_cast( From const & from ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( sizeof(To) == sizeof(From) ); + + To to; + std::memcpy( &to, &from, sizeof(To) ); + return to; +} + +#endif + +// countl + +#if defined(__GNUC__) || defined(__clang__) + +namespace detail +{ + +BOOST_CONSTEXPR inline int countl_impl( unsigned char x ) BOOST_NOEXCEPT +{ + return x? __builtin_clz( x ) - ( std::numeric_limits::digits - std::numeric_limits::digits ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countl_impl( unsigned short x ) BOOST_NOEXCEPT +{ + return x? __builtin_clz( x ) - ( std::numeric_limits::digits - std::numeric_limits::digits ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countl_impl( unsigned int x ) BOOST_NOEXCEPT +{ + return x? __builtin_clz( x ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countl_impl( unsigned long x ) BOOST_NOEXCEPT +{ + return x? __builtin_clzl( x ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countl_impl( boost::ulong_long_type x ) BOOST_NOEXCEPT +{ + return x? __builtin_clzll( x ): std::numeric_limits::digits; +} + +} // namespace detail + +template +BOOST_CONSTEXPR int countl_zero( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return boost::core::detail::countl_impl( x ); +} + +#else // defined(__GNUC__) || defined(__clang__) + +namespace detail +{ + +#if defined(_MSC_VER) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline int countl_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + if( __builtin_is_constant_evaluated() ) + { + constexpr unsigned char mod37[ 37 ] = { 32, 31, 6, 30, 9, 5, 0, 29, 16, 8, 2, 4, 21, 0, 19, 28, 25, 15, 0, 7, 10, 1, 17, 3, 22, 20, 26, 0, 11, 18, 23, 27, 12, 24, 13, 14, 0 }; + + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + + return mod37[ x % 37 ]; + } + else + { + unsigned long r; + + if( _BitScanReverse( &r, x ) ) + { + return 31 - static_cast( r ); + } + else + { + return 32; + } + } +} + +BOOST_CXX14_CONSTEXPR inline int countl_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countl_impl( static_cast( x ) ) - 24; +} + +BOOST_CXX14_CONSTEXPR inline int countl_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countl_impl( static_cast( x ) ) - 16; +} + +#elif defined(_MSC_VER) + +inline int countl_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + unsigned long r; + + if( _BitScanReverse( &r, x ) ) + { + return 31 - static_cast( r ); + } + else + { + return 32; + } +} + +inline int countl_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countl_impl( static_cast( x ) ) - 24; +} + +inline int countl_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countl_impl( static_cast( x ) ) - 16; +} + +#else + +inline int countl_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + static unsigned char const mod37[ 37 ] = { 32, 31, 6, 30, 9, 5, 0, 29, 16, 8, 2, 4, 21, 0, 19, 28, 25, 15, 0, 7, 10, 1, 17, 3, 22, 20, 26, 0, 11, 18, 23, 27, 12, 24, 13, 14, 0 }; + + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + + return mod37[ x % 37 ]; +} + +inline int countl_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countl_impl( static_cast( x ) ) - 24; +} + +inline int countl_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countl_impl( static_cast( x ) ) - 16; +} + +#endif + +#if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_ARM64)) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline int countl_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + if( __builtin_is_constant_evaluated() ) + { + return static_cast( x >> 32 ) != 0? + boost::core::detail::countl_impl( static_cast( x >> 32 ) ): + boost::core::detail::countl_impl( static_cast( x ) ) + 32; + } + else + { + unsigned long r; + + if( _BitScanReverse64( &r, x ) ) + { + return 63 - static_cast( r ); + } + else + { + return 64; + } + } +} + +#elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_ARM64)) + +inline int countl_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + unsigned long r; + + if( _BitScanReverse64( &r, x ) ) + { + return 63 - static_cast( r ); + } + else + { + return 64; + } +} + +#elif defined(_MSC_VER) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline int countl_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + return static_cast( x >> 32 ) != 0? + boost::core::detail::countl_impl( static_cast( x >> 32 ) ): + boost::core::detail::countl_impl( static_cast( x ) ) + 32; +} + +#else + +inline int countl_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + return static_cast( x >> 32 ) != 0? + boost::core::detail::countl_impl( static_cast( x >> 32 ) ): + boost::core::detail::countl_impl( static_cast( x ) ) + 32; +} + +#endif + +} // namespace detail + +template +BOOST_CXX14_CONSTEXPR int countl_zero( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + BOOST_CORE_STATIC_ASSERT( sizeof(T) == sizeof(boost::uint8_t) || sizeof(T) == sizeof(boost::uint16_t) || sizeof(T) == sizeof(boost::uint32_t) || sizeof(T) == sizeof(boost::uint64_t) ); + + BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint8_t) ) + { + return boost::core::detail::countl_impl( static_cast( x ) ); + } + else BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint16_t) ) + { + return boost::core::detail::countl_impl( static_cast( x ) ); + } + else BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint32_t) ) + { + return boost::core::detail::countl_impl( static_cast( x ) ); + } + else + { + return boost::core::detail::countl_impl( static_cast( x ) ); + } +} + +#endif // defined(__GNUC__) || defined(__clang__) + +template +BOOST_CONSTEXPR int countl_one( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return boost::core::countl_zero( static_cast( ~x ) ); +} + +// countr + +#if defined(__GNUC__) || defined(__clang__) + +namespace detail +{ + +BOOST_CONSTEXPR inline int countr_impl( unsigned char x ) BOOST_NOEXCEPT +{ + return x? __builtin_ctz( x ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countr_impl( unsigned short x ) BOOST_NOEXCEPT +{ + return x? __builtin_ctz( x ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countr_impl( unsigned int x ) BOOST_NOEXCEPT +{ + return x? __builtin_ctz( x ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countr_impl( unsigned long x ) BOOST_NOEXCEPT +{ + return x? __builtin_ctzl( x ): std::numeric_limits::digits; +} + +BOOST_CONSTEXPR inline int countr_impl( boost::ulong_long_type x ) BOOST_NOEXCEPT +{ + return x? __builtin_ctzll( x ): std::numeric_limits::digits; +} + +} // namespace detail + +template +BOOST_CONSTEXPR int countr_zero( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return boost::core::detail::countr_impl( x ); +} + +#else // defined(__GNUC__) || defined(__clang__) + +namespace detail +{ + +#if defined(_MSC_VER) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline int countr_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + if( __builtin_is_constant_evaluated() ) + { + constexpr unsigned char mod37[ 37 ] = { 32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13, 4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9, 5, 20, 8, 19, 18 }; + return mod37[ ( -(boost::int32_t)x & x ) % 37 ]; + } + else + { + unsigned long r; + + if( _BitScanForward( &r, x ) ) + { + return static_cast( r ); + } + else + { + return 32; + } + } +} + +BOOST_CXX14_CONSTEXPR inline int countr_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countr_impl( static_cast( x ) | 0x100 ); +} + +BOOST_CXX14_CONSTEXPR inline int countr_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countr_impl( static_cast( x ) | 0x10000 ); +} + +#elif defined(_MSC_VER) + +inline int countr_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + unsigned long r; + + if( _BitScanForward( &r, x ) ) + { + return static_cast( r ); + } + else + { + return 32; + } +} + +inline int countr_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countr_impl( static_cast( x ) | 0x100 ); +} + +inline int countr_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countr_impl( static_cast( x ) | 0x10000 ); +} + +#else + +inline int countr_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + static unsigned char const mod37[ 37 ] = { 32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13, 4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9, 5, 20, 8, 19, 18 }; + return mod37[ ( -(boost::int32_t)x & x ) % 37 ]; +} + +inline int countr_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countr_impl( static_cast( x ) | 0x100 ); +} + +inline int countr_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return boost::core::detail::countr_impl( static_cast( x ) | 0x10000 ); +} + +#endif + +#if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_ARM64)) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline int countr_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + if( __builtin_is_constant_evaluated() ) + { + return static_cast( x ) != 0? + boost::core::detail::countr_impl( static_cast( x ) ): + boost::core::detail::countr_impl( static_cast( x >> 32 ) ) + 32; + } + else + { + unsigned long r; + + if( _BitScanForward64( &r, x ) ) + { + return static_cast( r ); + } + else + { + return 64; + } + } +} + +#elif defined(_MSC_VER) && (defined(_M_X64) || defined(_M_ARM64)) + +inline int countr_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + unsigned long r; + + if( _BitScanForward64( &r, x ) ) + { + return static_cast( r ); + } + else + { + return 64; + } +} + +#elif defined(_MSC_VER) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline int countr_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + return static_cast( x ) != 0? + boost::core::detail::countr_impl( static_cast( x ) ): + boost::core::detail::countr_impl( static_cast( x >> 32 ) ) + 32; +} + +#else + +inline int countr_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + return static_cast( x ) != 0? + boost::core::detail::countr_impl( static_cast( x ) ): + boost::core::detail::countr_impl( static_cast( x >> 32 ) ) + 32; +} + +#endif + +} // namespace detail + +template +BOOST_CXX14_CONSTEXPR int countr_zero( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + BOOST_CORE_STATIC_ASSERT( sizeof(T) == sizeof(boost::uint8_t) || sizeof(T) == sizeof(boost::uint16_t) || sizeof(T) == sizeof(boost::uint32_t) || sizeof(T) == sizeof(boost::uint64_t) ); + + BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint8_t) ) + { + return boost::core::detail::countr_impl( static_cast( x ) ); + } + else BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint16_t) ) + { + return boost::core::detail::countr_impl( static_cast( x ) ); + } + else BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint32_t) ) + { + return boost::core::detail::countr_impl( static_cast( x ) ); + } + else + { + return boost::core::detail::countr_impl( static_cast( x ) ); + } +} + +#endif // defined(__GNUC__) || defined(__clang__) + +template +BOOST_CONSTEXPR int countr_one( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return boost::core::countr_zero( static_cast( ~x ) ); +} + +// popcount + +#if defined(__GNUC__) || defined(__clang__) + +#if defined(__clang__) && __clang_major__ * 100 + __clang_minor__ < 304 +# define BOOST_CORE_POPCOUNT_CONSTEXPR +#else +# define BOOST_CORE_POPCOUNT_CONSTEXPR BOOST_CONSTEXPR +#endif + +namespace detail +{ + +BOOST_CORE_POPCOUNT_CONSTEXPR inline int popcount_impl( unsigned char x ) BOOST_NOEXCEPT +{ + return __builtin_popcount( x ); +} + +BOOST_CORE_POPCOUNT_CONSTEXPR inline int popcount_impl( unsigned short x ) BOOST_NOEXCEPT +{ + return __builtin_popcount( x ); +} + +BOOST_CORE_POPCOUNT_CONSTEXPR inline int popcount_impl( unsigned int x ) BOOST_NOEXCEPT +{ + return __builtin_popcount( x ); +} + +BOOST_CORE_POPCOUNT_CONSTEXPR inline int popcount_impl( unsigned long x ) BOOST_NOEXCEPT +{ + return __builtin_popcountl( x ); +} + +BOOST_CORE_POPCOUNT_CONSTEXPR inline int popcount_impl( boost::ulong_long_type x ) BOOST_NOEXCEPT +{ + return __builtin_popcountll( x ); +} + +} // namespace detail + +#undef BOOST_CORE_POPCOUNT_CONSTEXPR + +template +BOOST_CONSTEXPR int popcount( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return boost::core::detail::popcount_impl( x ); +} + +#else // defined(__GNUC__) || defined(__clang__) + +namespace detail +{ + +BOOST_CXX14_CONSTEXPR inline int popcount_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + x = x - ( ( x >> 1 ) & 0x55555555 ); + x = ( x & 0x33333333 ) + ( ( x >> 2 ) & 0x33333333 ); + x = ( x + ( x >> 4 ) ) & 0x0F0F0F0F; + + return static_cast( ( x * 0x01010101 ) >> 24 ); +} + +BOOST_CXX14_CONSTEXPR inline int popcount_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + x = x - ( ( x >> 1 ) & 0x5555555555555555 ); + x = ( x & 0x3333333333333333 ) + ( ( x >> 2 ) & 0x3333333333333333 ); + x = ( x + ( x >> 4 ) ) & 0x0F0F0F0F0F0F0F0F; + + return static_cast( ( x * 0x0101010101010101 ) >> 56 ); +} + +} // namespace detail + +template +BOOST_CXX14_CONSTEXPR int popcount( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + BOOST_CORE_STATIC_ASSERT( sizeof(T) <= sizeof(boost::uint64_t) ); + + BOOST_IF_CONSTEXPR ( sizeof(T) <= sizeof(boost::uint32_t) ) + { + return boost::core::detail::popcount_impl( static_cast( x ) ); + } + else + { + return boost::core::detail::popcount_impl( static_cast( x ) ); + } +} + +#endif // defined(__GNUC__) || defined(__clang__) + +// rotating + +template +BOOST_CXX14_CONSTEXPR T rotl( T x, int s ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + unsigned const mask = std::numeric_limits::digits - 1; + return static_cast( x << (static_cast( s ) & mask) | x >> (static_cast( -s ) & mask) ); +} + +template +BOOST_CXX14_CONSTEXPR T rotr( T x, int s ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + unsigned const mask = std::numeric_limits::digits - 1; + return static_cast( x >> (static_cast( s ) & mask) | x << (static_cast( -s ) & mask) ); +} + +// integral powers of 2 + +template +BOOST_CONSTEXPR bool has_single_bit( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return x != 0 && ( x & ( x - 1 ) ) == 0; +} + +// bit_width returns `int` now, https://cplusplus.github.io/LWG/issue3656 +// has been applied to C++20 as a DR + +template +BOOST_CONSTEXPR int bit_width( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return std::numeric_limits::digits - boost::core::countl_zero( x ); +} + +template +BOOST_CONSTEXPR T bit_floor( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + return x == 0? T(0): static_cast( T(1) << ( boost::core::bit_width( x ) - 1 ) ); +} + +namespace detail +{ + +BOOST_CXX14_CONSTEXPR inline boost::uint32_t bit_ceil_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + if( x == 0 ) + { + return 1; + } + + --x; + + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + + ++x; + + return x; +} + +BOOST_CXX14_CONSTEXPR inline boost::uint64_t bit_ceil_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + if( x == 0 ) + { + return 1; + } + + --x; + + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + x |= x >> 32; + + ++x; + + return x; +} + +} // namespace detail + +template +BOOST_CXX14_CONSTEXPR T bit_ceil( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer && !std::numeric_limits::is_signed ); + + BOOST_CORE_STATIC_ASSERT( sizeof(T) <= sizeof(boost::uint64_t) ); + + BOOST_IF_CONSTEXPR ( sizeof(T) <= sizeof(boost::uint32_t) ) + { + return static_cast( boost::core::detail::bit_ceil_impl( static_cast( x ) ) ); + } + else + { + return static_cast( boost::core::detail::bit_ceil_impl( static_cast( x ) ) ); + } +} + +// endian + +#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER =little + +#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER =big + +#elif defined(__BYTE_ORDER__) && defined(__ORDER_PDP_ENDIAN__) && __BYTE_ORDER__ == __ORDER_PDP_ENDIAN__ + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER + +#elif defined(__LITTLE_ENDIAN__) + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER =little + +#elif defined(__BIG_ENDIAN__) + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER =big + +#elif defined(_MSC_VER) || defined(__i386__) || defined(__x86_64__) + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER =little + +#else + +# define BOOST_CORE_BIT_NATIVE_INITIALIZER + +#endif + +#if !defined(BOOST_NO_CXX11_SCOPED_ENUMS) + +enum class endian +{ + big, + little, + native BOOST_CORE_BIT_NATIVE_INITIALIZER +}; + +typedef endian endian_type; + +#else + +namespace endian +{ + +enum type +{ + big, + little, + native BOOST_CORE_BIT_NATIVE_INITIALIZER +}; + +} // namespace endian + +typedef endian::type endian_type; + +#endif + +#undef BOOST_CORE_BIT_NATIVE_INITIALIZER + +// byteswap + +namespace detail +{ + +BOOST_CONSTEXPR inline boost::uint8_t byteswap_impl( boost::uint8_t x ) BOOST_NOEXCEPT +{ + return x; +} + +#if defined(BOOST_CORE_HAS_BUILTIN_BSWAP16) + +BOOST_CONSTEXPR inline boost::uint16_t byteswap_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return __builtin_bswap16( x ); +} + +#else + +BOOST_CONSTEXPR inline boost::uint16_t byteswap_impl( boost::uint16_t x ) BOOST_NOEXCEPT +{ + return static_cast( x << 8 | x >> 8 ); +} + +#endif + +#if defined(__GNUC__) || defined(__clang__) + +BOOST_CXX14_CONSTEXPR inline boost::uint32_t byteswap_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + return __builtin_bswap32( x ); +} + +BOOST_CXX14_CONSTEXPR inline boost::uint64_t byteswap_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + return __builtin_bswap64( x ); +} + +#elif defined(_MSC_VER) && defined(BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL) + +BOOST_CXX14_CONSTEXPR inline boost::uint32_t byteswap_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + if( __builtin_is_constant_evaluated() ) + { + boost::uint32_t step16 = x << 16 | x >> 16; + return ((step16 << 8) & 0xff00ff00) | ((step16 >> 8) & 0x00ff00ff); + } + else + { + return _byteswap_ulong( x ); + } +} + +BOOST_CXX14_CONSTEXPR inline boost::uint64_t byteswap_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + if( __builtin_is_constant_evaluated() ) + { + boost::uint64_t step32 = x << 32 | x >> 32; + boost::uint64_t step16 = (step32 & 0x0000FFFF0000FFFFULL) << 16 | (step32 & 0xFFFF0000FFFF0000ULL) >> 16; + return (step16 & 0x00FF00FF00FF00FFULL) << 8 | (step16 & 0xFF00FF00FF00FF00ULL) >> 8; + } + else + { + return _byteswap_uint64( x ); + } +} + +#elif defined(_MSC_VER) + +inline boost::uint32_t byteswap_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + return _byteswap_ulong( x ); +} + +inline boost::uint64_t byteswap_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + return _byteswap_uint64( x ); +} + +#else + +BOOST_CXX14_CONSTEXPR inline boost::uint32_t byteswap_impl( boost::uint32_t x ) BOOST_NOEXCEPT +{ + boost::uint32_t step16 = x << 16 | x >> 16; + return ((step16 << 8) & 0xff00ff00) | ((step16 >> 8) & 0x00ff00ff); +} + +BOOST_CXX14_CONSTEXPR inline boost::uint64_t byteswap_impl( boost::uint64_t x ) BOOST_NOEXCEPT +{ + boost::uint64_t step32 = x << 32 | x >> 32; + boost::uint64_t step16 = (step32 & 0x0000FFFF0000FFFFULL) << 16 | (step32 & 0xFFFF0000FFFF0000ULL) >> 16; + return (step16 & 0x00FF00FF00FF00FFULL) << 8 | (step16 & 0xFF00FF00FF00FF00ULL) >> 8; +} + +#endif + +} // namespace detail + +template BOOST_CXX14_CONSTEXPR T byteswap( T x ) BOOST_NOEXCEPT +{ + BOOST_CORE_STATIC_ASSERT( std::numeric_limits::is_integer ); + + BOOST_CORE_STATIC_ASSERT( sizeof(T) == sizeof(boost::uint8_t) || sizeof(T) == sizeof(boost::uint16_t) || sizeof(T) == sizeof(boost::uint32_t) || sizeof(T) == sizeof(boost::uint64_t) ); + + BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint8_t) ) + { + return static_cast( boost::core::detail::byteswap_impl( static_cast( x ) ) ); + } + else BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint16_t) ) + { + return static_cast( boost::core::detail::byteswap_impl( static_cast( x ) ) ); + } + else BOOST_IF_CONSTEXPR ( sizeof(T) == sizeof(boost::uint32_t) ) + { + return static_cast( boost::core::detail::byteswap_impl( static_cast( x ) ) ); + } + else + { + return static_cast( boost::core::detail::byteswap_impl( static_cast( x ) ) ); + } +} + +} // namespace core +} // namespace boost + +#if defined(_MSC_VER) +# pragma warning(pop) +#endif + +#endif // #ifndef BOOST_CORE_BIT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/checked_delete.hpp b/external/include/boost_1_90_0/boost/core/checked_delete.hpp new file mode 100644 index 0000000000..67f3c74287 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/checked_delete.hpp @@ -0,0 +1,97 @@ +#ifndef BOOST_CORE_CHECKED_DELETE_HPP +#define BOOST_CORE_CHECKED_DELETE_HPP + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include + +// +// boost/checked_delete.hpp +// +// Copyright (c) 2002, 2003 Peter Dimov +// Copyright (c) 2003 Daniel Frey +// Copyright (c) 2003 Howard Hinnant +// +// 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) +// +// See http://www.boost.org/libs/core/doc/html/core/checked_delete.html for documentation. +// + +namespace boost +{ + +// verify that types are complete for increased safety + +template inline void checked_delete(T * x) BOOST_NOEXCEPT +{ +#if defined(__cpp_static_assert) && __cpp_static_assert >= 200410L + + static_assert( sizeof(T) != 0, "Type must be complete" ); + +#else + + typedef char type_must_be_complete[ sizeof(T) ]; + (void) sizeof(type_must_be_complete); + +#endif + + delete x; +} + +template inline void checked_array_delete(T * x) BOOST_NOEXCEPT +{ +#if defined(__cpp_static_assert) && __cpp_static_assert >= 200410L + + static_assert( sizeof(T) != 0, "Type must be complete" ); + +#else + + typedef char type_must_be_complete[ sizeof(T) ]; + (void) sizeof(type_must_be_complete); + +#endif + + delete [] x; +} + +// Block unintended ADL +namespace checked_deleters +{ + +template struct checked_deleter +{ + typedef void result_type; + typedef T * argument_type; + + void operator()(T * x) const BOOST_NOEXCEPT + { + // boost:: disables ADL + boost::checked_delete(x); + } +}; + +template struct checked_array_deleter +{ + typedef void result_type; + typedef T * argument_type; + + void operator()(T * x) const BOOST_NOEXCEPT + { + boost::checked_array_delete(x); + } +}; + +} // namespace checked_deleters + +using checked_deleters::checked_deleter; +using checked_deleters::checked_array_deleter; + +} // namespace boost + +#endif // #ifndef BOOST_CORE_CHECKED_DELETE_HPP diff --git a/external/include/boost_1_75/boost/core/demangle.hpp b/external/include/boost_1_90_0/boost/core/demangle.hpp similarity index 96% rename from external/include/boost_1_75/boost/core/demangle.hpp rename to external/include/boost_1_90_0/boost/core/demangle.hpp index dc714d806c..63e5f7c337 100644 --- a/external/include/boost_1_75/boost/core/demangle.hpp +++ b/external/include/boost_1_90_0/boost/core/demangle.hpp @@ -30,7 +30,7 @@ #if defined( BOOST_CORE_HAS_CXXABI_H ) # include -// For some archtectures (mips, mips64, x86, x86_64) cxxabi.h in Android NDK is implemented by gabi++ library +// For some architectures (mips, mips64, x86, x86_64) cxxabi.h in Android NDK is implemented by gabi++ library // (https://android.googlesource.com/platform/ndk/+/master/sources/cxx-stl/gabi++/), which does not implement // abi::__cxa_demangle(). We detect this implementation by checking the include guard here. # if defined( __GABIXX_CXXABI_H__ ) diff --git a/external/include/boost_1_90_0/boost/core/detail/sp_thread_pause.hpp b/external/include/boost_1_90_0/boost/core/detail/sp_thread_pause.hpp new file mode 100644 index 0000000000..8971fbd1eb --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/detail/sp_thread_pause.hpp @@ -0,0 +1,71 @@ +#ifndef BOOST_CORE_DETAIL_SP_THREAD_PAUSE_HPP_INCLUDED +#define BOOST_CORE_DETAIL_SP_THREAD_PAUSE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/core/detail/sp_thread_pause.hpp +// +// inline void bost::core::sp_thread_pause(); +// +// Emits a "pause" instruction. +// +// Copyright 2008, 2020, 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0 +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#if defined(__has_builtin) +# if __has_builtin(__builtin_ia32_pause) && !defined(__INTEL_COMPILER) +# define BOOST_CORE_HAS_BUILTIN_IA32_PAUSE +# endif +#endif + +#if defined(BOOST_CORE_HAS_BUILTIN_IA32_PAUSE) + +# define BOOST_CORE_SP_PAUSE() __builtin_ia32_pause() + +#elif defined(_MSC_VER) && ( defined(_M_IX86) || defined(_M_X64) ) + +# include +# define BOOST_CORE_SP_PAUSE() _mm_pause() + +#elif defined(_MSC_VER) && ( defined(_M_ARM) || defined(_M_ARM64) ) + +# include +# define BOOST_CORE_SP_PAUSE() __yield() + +#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) ) + +# define BOOST_CORE_SP_PAUSE() __asm__ __volatile__( "rep; nop" : : : "memory" ) + +#elif defined(__GNUC__) && ( (defined(__ARM_ARCH) && __ARM_ARCH >= 8) || defined(__ARM_ARCH_8A__) || defined(__aarch64__) ) + +# define BOOST_CORE_SP_PAUSE() __asm__ __volatile__( "yield" : : : "memory" ) + +#else + +# define BOOST_CORE_SP_PAUSE() ((void)0) + +#endif + +namespace boost +{ +namespace core +{ + +BOOST_FORCEINLINE void sp_thread_pause() BOOST_NOEXCEPT +{ + BOOST_CORE_SP_PAUSE(); +} + +} // namespace core +} // namespace boost + +#undef BOOST_CORE_SP_PAUSE + +#endif // #ifndef BOOST_CORE_DETAIL_SP_THREAD_PAUSE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/detail/sp_thread_sleep.hpp b/external/include/boost_1_90_0/boost/core/detail/sp_thread_sleep.hpp new file mode 100644 index 0000000000..bb5b1e0872 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/detail/sp_thread_sleep.hpp @@ -0,0 +1,122 @@ +#ifndef BOOST_CORE_DETAIL_SP_THREAD_SLEEP_HPP_INCLUDED +#define BOOST_CORE_DETAIL_SP_THREAD_SLEEP_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/core/detail/sp_thread_sleep.hpp +// +// inline void bost::core::sp_thread_sleep(); +// +// Cease execution for a while to yield to other threads, +// as if by calling nanosleep() with an appropriate interval. +// +// Copyright 2008, 2020, 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0 +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include + +#if defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + BOOST_PRAGMA_MESSAGE("Using Sleep(1) in sp_thread_sleep") +#endif + +#include + +namespace boost +{ +namespace core +{ +namespace detail +{ + +inline void sp_thread_sleep() BOOST_NOEXCEPT +{ + Sleep( 1 ); +} + +} // namespace detail + +using boost::core::detail::sp_thread_sleep; + +} // namespace core +} // namespace boost + +#elif defined(BOOST_HAS_NANOSLEEP) + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + BOOST_PRAGMA_MESSAGE("Using nanosleep() in sp_thread_sleep") +#endif + +#include + +#if defined(BOOST_HAS_PTHREADS) && !defined(__ANDROID__) +# include +#endif + +namespace boost +{ +namespace core +{ + +inline void sp_thread_sleep() BOOST_NOEXCEPT +{ +#if defined(BOOST_HAS_PTHREADS) && !defined(__ANDROID__) && !defined(__OHOS__) + + int oldst; + pthread_setcancelstate( PTHREAD_CANCEL_DISABLE, &oldst ); + +#endif + + // g++ -Wextra warns on {} or {0} + struct timespec rqtp = { 0, 0 }; + + // POSIX says that timespec has tv_sec and tv_nsec + // But it doesn't guarantee order or placement + + rqtp.tv_sec = 0; + rqtp.tv_nsec = 1000; + + nanosleep( &rqtp, 0 ); + +#if defined(BOOST_HAS_PTHREADS) && !defined(__ANDROID__) && !defined(__OHOS__) + + pthread_setcancelstate( oldst, &oldst ); + +#endif + +} + +} // namespace core +} // namespace boost + +#else + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + BOOST_PRAGMA_MESSAGE("Using sp_thread_yield() in sp_thread_sleep") +#endif + +#include + +namespace boost +{ +namespace core +{ + +inline void sp_thread_sleep() BOOST_NOEXCEPT +{ + sp_thread_yield(); +} + +} // namespace core +} // namespace boost + +#endif + +#endif // #ifndef BOOST_CORE_DETAIL_SP_THREAD_SLEEP_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/detail/sp_thread_yield.hpp b/external/include/boost_1_90_0/boost/core/detail/sp_thread_yield.hpp new file mode 100644 index 0000000000..25127e8a0b --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/detail/sp_thread_yield.hpp @@ -0,0 +1,100 @@ +#ifndef BOOST_CORE_DETAIL_SP_THREAD_YIELD_HPP_INCLUDED +#define BOOST_CORE_DETAIL_SP_THREAD_YIELD_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/core/detail/sp_thread_yield.hpp +// +// inline void bost::core::sp_thread_yield(); +// +// Gives up the remainder of the time slice, +// as if by calling sched_yield(). +// +// Copyright 2008, 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0 +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include + +#if defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + BOOST_PRAGMA_MESSAGE("Using SwitchToThread() in sp_thread_yield") +#endif + +#include + +namespace boost +{ +namespace core +{ +namespace detail +{ + +inline void sp_thread_yield() BOOST_NOEXCEPT +{ + SwitchToThread(); +} + +} // namespace detail + +using boost::core::detail::sp_thread_yield; + +} // namespace core +} // namespace boost + +#elif defined(BOOST_HAS_SCHED_YIELD) + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + BOOST_PRAGMA_MESSAGE("Using sched_yield() in sp_thread_yield") +#endif + +#ifndef _AIX +# include +#else + // AIX's sched.h defines ::var which sometimes conflicts with Lambda's var + extern "C" int sched_yield(void); +#endif + +namespace boost +{ +namespace core +{ + +inline void sp_thread_yield() BOOST_NOEXCEPT +{ + sched_yield(); +} + +} // namespace core +} // namespace boost + +#else + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + BOOST_PRAGMA_MESSAGE("Using sp_thread_pause() in sp_thread_yield") +#endif + +#include + +namespace boost +{ +namespace core +{ + +inline void sp_thread_yield() BOOST_NOEXCEPT +{ + sp_thread_pause(); +} + +} // namespace core +} // namespace boost + +#endif + +#endif // #ifndef BOOST_CORE_DETAIL_SP_THREAD_YIELD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/detail/sp_win32_sleep.hpp b/external/include/boost_1_90_0/boost/core/detail/sp_win32_sleep.hpp new file mode 100644 index 0000000000..adec53e4a5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/detail/sp_win32_sleep.hpp @@ -0,0 +1,54 @@ +#ifndef BOOST_CORE_DETAIL_SP_WIN32_SLEEP_HPP_INCLUDED +#define BOOST_CORE_DETAIL_SP_WIN32_SLEEP_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/core/detail/sp_win32_sleep.hpp +// +// Declares the Win32 Sleep() function. +// +// Copyright 2008, 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0 +// https://www.boost.org/LICENSE_1_0.txt + +#if defined( BOOST_USE_WINDOWS_H ) +# include +#endif + +namespace boost +{ +namespace core +{ +namespace detail +{ + +#if !defined( BOOST_USE_WINDOWS_H ) + +#if defined(__clang__) && defined(__x86_64__) +// clang x64 warns that __stdcall is ignored +# define BOOST_CORE_SP_STDCALL +#else +# define BOOST_CORE_SP_STDCALL __stdcall +#endif + +#if defined(__LP64__) // Cygwin 64 + extern "C" __declspec(dllimport) void BOOST_CORE_SP_STDCALL Sleep( unsigned int ms ); +#else + extern "C" __declspec(dllimport) void BOOST_CORE_SP_STDCALL Sleep( unsigned long ms ); +#endif + +extern "C" __declspec(dllimport) int BOOST_CORE_SP_STDCALL SwitchToThread(); + +#undef BOOST_CORE_SP_STDCALL + +#endif // !defined( BOOST_USE_WINDOWS_H ) + +} // namespace detail +} // namespace core +} // namespace boost + +#endif // #ifndef BOOST_CORE_DETAIL_SP_WIN32_SLEEP_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/detail/static_assert.hpp b/external/include/boost_1_90_0/boost/core/detail/static_assert.hpp new file mode 100644 index 0000000000..7d4139bdd2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/detail/static_assert.hpp @@ -0,0 +1,42 @@ +#ifndef BOOST_CORE_DETAIL_STATIC_ASSERT_HPP_INCLUDED +#define BOOST_CORE_DETAIL_STATIC_ASSERT_HPP_INCLUDED + +// Copyright 2025 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#if defined(__cpp_static_assert) && __cpp_static_assert >= 200410L + +#define BOOST_CORE_STATIC_ASSERT(...) static_assert(__VA_ARGS__, #__VA_ARGS__) + +#else + +#include +#include + +namespace boost +{ +namespace core +{ + +template struct STATIC_ASSERTION_FAILURE; + +template<> struct STATIC_ASSERTION_FAILURE +{ +}; + +template struct static_assert_test +{ +}; + +} // namespace core +} // namespace boost + +#define BOOST_CORE_STATIC_ASSERT(expr) \ + typedef ::boost::core::static_assert_test< \ + sizeof( ::boost::core::STATIC_ASSERTION_FAILURE<(expr)? true: false> ) \ + > BOOST_JOIN(boost_static_assert_typedef_,__LINE__) BOOST_ATTRIBUTE_UNUSED + +#endif + +#endif // #ifndef BOOST_CORE_DETAIL_STATIC_ASSERT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/enable_if.hpp b/external/include/boost_1_90_0/boost/core/enable_if.hpp new file mode 100644 index 0000000000..2816bfca99 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/enable_if.hpp @@ -0,0 +1,128 @@ +// Boost enable_if library + +// Copyright 2003 (c) The Trustees of Indiana University. + +// Use, modification, and distribution is subject to 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) + +// Authors: Jaakko Jarvi (jajarvi at osl.iu.edu) +// Jeremiah Willcock (jewillco at osl.iu.edu) +// Andrew Lumsdaine (lums at osl.iu.edu) + + +#ifndef BOOST_CORE_ENABLE_IF_HPP +#define BOOST_CORE_ENABLE_IF_HPP + +#include "boost/config.hpp" + +// Even the definition of enable_if causes problems on some compilers, +// so it's macroed out for all compilers that do not support SFINAE + +#ifndef BOOST_NO_SFINAE + +namespace boost +{ + template + struct enable_if_has_type + { + typedef R type; + }; + + template + struct enable_if_c { + typedef T type; + }; + + template + struct enable_if_c {}; + + template + struct enable_if : public enable_if_c {}; + + template + struct lazy_enable_if_c { + typedef typename T::type type; + }; + + template + struct lazy_enable_if_c {}; + + template + struct lazy_enable_if : public lazy_enable_if_c {}; + + + template + struct disable_if_c { + typedef T type; + }; + + template + struct disable_if_c {}; + + template + struct disable_if : public disable_if_c {}; + + template + struct lazy_disable_if_c { + typedef typename T::type type; + }; + + template + struct lazy_disable_if_c {}; + + template + struct lazy_disable_if : public lazy_disable_if_c {}; + +} // namespace boost + +#else + +namespace boost { + + namespace detail { typedef void enable_if_default_T; } + + template + struct enable_if_does_not_work_on_this_compiler; + + template + struct enable_if_has_type : enable_if_does_not_work_on_this_compiler + { }; + + template + struct enable_if_c : enable_if_does_not_work_on_this_compiler + { }; + + template + struct disable_if_c : enable_if_does_not_work_on_this_compiler + { }; + + template + struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler + { }; + + template + struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler + { }; + + template + struct enable_if : enable_if_does_not_work_on_this_compiler + { }; + + template + struct disable_if : enable_if_does_not_work_on_this_compiler + { }; + + template + struct lazy_enable_if : enable_if_does_not_work_on_this_compiler + { }; + + template + struct lazy_disable_if : enable_if_does_not_work_on_this_compiler + { }; + +} // namespace boost + +#endif // BOOST_NO_SFINAE + +#endif diff --git a/external/include/boost_1_90_0/boost/core/invoke_swap.hpp b/external/include/boost_1_90_0/boost/core/invoke_swap.hpp new file mode 100644 index 0000000000..391163506d --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/invoke_swap.hpp @@ -0,0 +1,93 @@ +// Copyright (C) 2007, 2008 Steven Watanabe, Joseph Gauterin, Niels Dekker +// Copyright (C) 2023 Andrey Semashev +// +// 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) +// For more information, see http://www.boost.org + +#ifndef BOOST_CORE_INVOKE_SWAP_HPP +#define BOOST_CORE_INVOKE_SWAP_HPP + +// Note: the implementation of this utility contains various workarounds: +// - invoke_swap_impl is put outside the boost namespace, to avoid infinite +// recursion (causing stack overflow) when swapping objects of a primitive +// type. +// - std::swap is imported with a using-directive, rather than +// a using-declaration, because some compilers (including MSVC 7.1, +// Borland 5.9.3, and Intel 8.1) don't do argument-dependent lookup +// when it has a using-declaration instead. +// - The main entry function is called invoke_swap rather than swap +// to avoid forming an infinite recursion when the arguments are not +// swappable. + +#include +#include +#if __cplusplus >= 201103L || defined(BOOST_DINKUMWARE_STDLIB) +#include // for std::swap (C++11) +#else +#include // for std::swap (C++98) +#endif +#include // for std::size_t + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#if defined(BOOST_GCC) && (BOOST_GCC < 40700) +// gcc 4.6 ICEs on noexcept specifications below +#define BOOST_CORE_SWAP_NOEXCEPT_IF(x) +#else +#define BOOST_CORE_SWAP_NOEXCEPT_IF(x) BOOST_NOEXCEPT_IF(x) +#endif + +namespace boost_swap_impl { + +// we can't use type_traits here + +template struct is_const { enum _vt { value = 0 }; }; +template struct is_const { enum _vt { value = 1 }; }; + +// Use std::swap if argument dependent lookup fails. +// We need to have this at namespace scope to be able to use unqualified swap() call +// in noexcept specification. +using namespace std; + +template +BOOST_GPU_ENABLED +inline void invoke_swap_impl(T& left, T& right) BOOST_CORE_SWAP_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(swap(left, right))) +{ + swap(left, right); +} + +template +BOOST_GPU_ENABLED +inline void invoke_swap_impl(T (& left)[N], T (& right)[N]) + BOOST_CORE_SWAP_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(::boost_swap_impl::invoke_swap_impl(left[0], right[0]))) +{ + for (std::size_t i = 0; i < N; ++i) + { + ::boost_swap_impl::invoke_swap_impl(left[i], right[i]); + } +} + +} // namespace boost_swap_impl + +namespace boost { +namespace core { + +template +BOOST_GPU_ENABLED +inline typename enable_if_c< !::boost_swap_impl::is_const::value >::type +invoke_swap(T& left, T& right) + BOOST_CORE_SWAP_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(::boost_swap_impl::invoke_swap_impl(left, right))) +{ + ::boost_swap_impl::invoke_swap_impl(left, right); +} + +} // namespace core +} // namespace boost + +#undef BOOST_CORE_SWAP_NOEXCEPT_IF + +#endif // BOOST_CORE_INVOKE_SWAP_HPP diff --git a/external/include/boost_1_90_0/boost/core/launder.hpp b/external/include/boost_1_90_0/boost/core/launder.hpp new file mode 100644 index 0000000000..9ec5e7ee92 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/launder.hpp @@ -0,0 +1,69 @@ +#ifndef BOOST_CORE_LAUNDER_HPP_INCLUDED +#define BOOST_CORE_LAUNDER_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// Copyright 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#if defined(__has_builtin) +# if __has_builtin(__builtin_launder) +# define BOOST_CORE_HAS_BUILTIN_LAUNDER +# endif +#endif + +#if defined(BOOST_MSVC) && BOOST_MSVC < 1920 + +// msvc-14.1 suffers from internal compiler errors when using std::launder +// https://github.com/boostorg/core/issues/160 +// https://github.com/boostorg/optional/issues/122 + +#elif (BOOST_CXX_VERSION >= 201703L) && !defined(BOOST_CORE_HAS_BUILTIN_LAUNDER) + +#include + +#if defined(__cpp_lib_launder) +# define BOOST_CORE_HAS_STD_LAUNDER +#endif + +#endif + +namespace boost +{ +namespace core +{ + +#if defined(BOOST_CORE_HAS_BUILTIN_LAUNDER) + +template T* launder( T* p ) +{ + return __builtin_launder( p ); +} + +#elif defined(BOOST_CORE_HAS_STD_LAUNDER) + +template T* launder( T* p ) +{ + return std::launder( p ); +} + +#else + +template T* launder( T* p ) +{ + return p; +} + +#endif + +} // namespace core +} // namespace boost + +#endif // #ifndef BOOST_CORE_LAUNDER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/core/no_exceptions_support.hpp b/external/include/boost_1_90_0/boost/core/no_exceptions_support.hpp similarity index 97% rename from external/include/boost_1_75/boost/core/no_exceptions_support.hpp rename to external/include/boost_1_90_0/boost/core/no_exceptions_support.hpp index 1278e85688..bad62c76a1 100644 --- a/external/include/boost_1_75/boost/core/no_exceptions_support.hpp +++ b/external/include/boost_1_90_0/boost/core/no_exceptions_support.hpp @@ -1,56 +1,56 @@ -#ifndef BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP -#define BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -//---------------------------------------------------------------------- -// (C) Copyright 2004 Pavel Vozenilek. -// Use, modification and distribution is subject to 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) -// -// -// This file contains helper macros used when exception support may be -// disabled (as indicated by macro BOOST_NO_EXCEPTIONS). -// -// Before picking up these macros you may consider using RAII techniques -// to deal with exceptions - their syntax can be always the same with -// or without exception support enabled. -//---------------------------------------------------------------------- - -#include -#include - -#if !(defined BOOST_NO_EXCEPTIONS) -# define BOOST_TRY { try -# define BOOST_CATCH(x) catch(x) -# define BOOST_RETHROW throw; -# define BOOST_CATCH_END } -#else -# if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) -# define BOOST_TRY { if ("") -# define BOOST_CATCH(x) else if (!"") -# elif !defined(BOOST_MSVC) || BOOST_MSVC >= 1900 -# define BOOST_TRY { if (true) -# define BOOST_CATCH(x) else if (false) -# else - // warning C4127: conditional expression is constant -# define BOOST_TRY { \ - __pragma(warning(push)) \ - __pragma(warning(disable: 4127)) \ - if (true) \ - __pragma(warning(pop)) -# define BOOST_CATCH(x) else \ - __pragma(warning(push)) \ - __pragma(warning(disable: 4127)) \ - if (false) \ - __pragma(warning(pop)) -# endif -# define BOOST_RETHROW -# define BOOST_CATCH_END } -#endif - - -#endif +#ifndef BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP +#define BOOST_CORE_NO_EXCEPTIONS_SUPPORT_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +//---------------------------------------------------------------------- +// (C) Copyright 2004 Pavel Vozenilek. +// Use, modification and distribution is subject to 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) +// +// +// This file contains helper macros used when exception support may be +// disabled (as indicated by macro BOOST_NO_EXCEPTIONS). +// +// Before picking up these macros you may consider using RAII techniques +// to deal with exceptions - their syntax can be always the same with +// or without exception support enabled. +//---------------------------------------------------------------------- + +#include +#include + +#if !(defined BOOST_NO_EXCEPTIONS) +# define BOOST_TRY { try +# define BOOST_CATCH(x) catch(x) +# define BOOST_RETHROW throw; +# define BOOST_CATCH_END } +#else +# if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +# define BOOST_TRY { if ("") +# define BOOST_CATCH(x) else if (!"") +# elif !defined(BOOST_MSVC) || BOOST_MSVC >= 1900 +# define BOOST_TRY { if (true) +# define BOOST_CATCH(x) else if (false) +# else + // warning C4127: conditional expression is constant +# define BOOST_TRY { \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4127)) \ + if (true) \ + __pragma(warning(pop)) +# define BOOST_CATCH(x) else \ + __pragma(warning(push)) \ + __pragma(warning(disable: 4127)) \ + if (false) \ + __pragma(warning(pop)) +# endif +# define BOOST_RETHROW +# define BOOST_CATCH_END } +#endif + + +#endif diff --git a/external/include/boost_1_90_0/boost/core/noncopyable.hpp b/external/include/boost_1_90_0/boost/core/noncopyable.hpp new file mode 100644 index 0000000000..25169cf7ac --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/noncopyable.hpp @@ -0,0 +1,63 @@ +// Boost noncopyable.hpp header file --------------------------------------// + +// (C) Copyright Beman Dawes 1999-2003. 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) + +// See http://www.boost.org/libs/utility for documentation. + +#ifndef BOOST_CORE_NONCOPYABLE_HPP +#define BOOST_CORE_NONCOPYABLE_HPP + +#include + +namespace boost { + +// Private copy constructor and copy assignment ensure classes derived from +// class noncopyable cannot be copied. + +// Contributed by Dave Abrahams + +namespace noncopyable_ // protection from unintended ADL +{ +#ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED +#define BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED + +// noncopyable derives from base_token to enable Type Traits to detect +// whether a type derives from noncopyable without needing the definition +// of noncopyable itself. +// +// The definition of base_token is macro-guarded so that Type Traits can +// define it locally without including this header, to avoid a dependency +// on Core. + + struct base_token {}; + +#endif // #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED + + class noncopyable: base_token + { + protected: +#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) + BOOST_CONSTEXPR noncopyable() = default; + ~noncopyable() = default; +#else + noncopyable() {} + ~noncopyable() {} +#endif +#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) + noncopyable( const noncopyable& ) = delete; + noncopyable& operator=( const noncopyable& ) = delete; +#else + private: // emphasize the following members are private + noncopyable( const noncopyable& ); + noncopyable& operator=( const noncopyable& ); +#endif + }; +} + +typedef noncopyable_::noncopyable noncopyable; + +} // namespace boost + +#endif // BOOST_CORE_NONCOPYABLE_HPP diff --git a/external/include/boost_1_90_0/boost/core/ref.hpp b/external/include/boost_1_90_0/boost/core/ref.hpp new file mode 100644 index 0000000000..1b8742b841 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/ref.hpp @@ -0,0 +1,345 @@ +#ifndef BOOST_CORE_REF_HPP +#define BOOST_CORE_REF_HPP + +#include +#include +#include +#include + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +// +// ref.hpp - ref/cref, useful helper functions +// +// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) +// Copyright (C) 2001, 2002 Peter Dimov +// Copyright (C) 2002 David Abrahams +// +// Copyright (C) 2014 Glen Joseph Fernandes +// (glenjofe@gmail.com) +// +// Copyright (C) 2014 Agustin Berge +// +// 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) +// +// See http://www.boost.org/libs/core/doc/html/core/ref.html for documentation. +// + +/** + @file +*/ + +/** + Boost namespace. +*/ +namespace boost +{ + +#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 ) + + struct ref_workaround_tag {}; + +#endif + +namespace detail +{ + +template< class Y, class T > struct ref_convertible +{ + typedef char (&yes) [1]; + typedef char (&no) [2]; + + static yes f( T* ); + static no f( ... ); + + enum _vt { value = sizeof( (f)( static_cast(0) ) ) == sizeof(yes) }; +}; + +#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) +struct ref_empty +{ +}; +#endif + +} // namespace detail + +// reference_wrapper + +/** + @brief Contains a reference to an object of type `T`. + + `reference_wrapper` is primarily used to "feed" references to + function templates (algorithms) that take their parameter by + value. It provides an implicit conversion to `T&`, which + usually allows the function templates to work on references + unmodified. +*/ +template class reference_wrapper +{ +public: + /** + Type `T`. + */ + typedef T type; + + /** + Constructs a `reference_wrapper` object that stores a + reference to `t`. + + @remark Does not throw. + */ + BOOST_FORCEINLINE explicit reference_wrapper(T& t) BOOST_NOEXCEPT : t_(boost::addressof(t)) {} + +#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 ) + + BOOST_FORCEINLINE explicit reference_wrapper( T & t, ref_workaround_tag ) BOOST_NOEXCEPT : t_( boost::addressof( t ) ) {} + +#endif + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + /** + @remark Construction from a temporary object is disabled. + */ + BOOST_DELETED_FUNCTION(reference_wrapper(T&& t)) +public: +#endif + + template friend class reference_wrapper; + + /** + Constructs a `reference_wrapper` object that stores the + reference stored in the compatible `reference_wrapper` `r`. + + @remark Only enabled when `Y*` is convertible to `T*`. + @remark Does not throw. + */ +#if !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) + template::value>::type> + reference_wrapper( reference_wrapper r ) BOOST_NOEXCEPT : t_( r.t_ ) + { + } +#else + template reference_wrapper( reference_wrapper r, + typename enable_if_c::value, + boost::detail::ref_empty>::type = boost::detail::ref_empty() ) BOOST_NOEXCEPT : t_( r.t_ ) + { + } +#endif + + /** + @return The stored reference. + @remark Does not throw. + */ + BOOST_FORCEINLINE operator T& () const BOOST_NOEXCEPT { return *t_; } + + /** + @return The stored reference. + @remark Does not throw. + */ + BOOST_FORCEINLINE T& get() const BOOST_NOEXCEPT { return *t_; } + + /** + @return A pointer to the object referenced by the stored + reference. + @remark Does not throw. + */ + BOOST_FORCEINLINE T* get_pointer() const BOOST_NOEXCEPT { return t_; } + +private: + + T* t_; +}; + +// ref + +/** + @cond +*/ +#if defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x581) ) +# define BOOST_REF_CONST +#else +# define BOOST_REF_CONST const +#endif +/** + @endcond +*/ + +/** + @return `reference_wrapper(t)` + @remark Does not throw. +*/ +template BOOST_FORCEINLINE reference_wrapper BOOST_REF_CONST ref( T & t ) BOOST_NOEXCEPT +{ +#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, == 1600 ) + + return reference_wrapper( t, ref_workaround_tag() ); + +#else + + return reference_wrapper( t ); + +#endif +} + +// cref + +/** + @return `reference_wrapper(t)` + @remark Does not throw. +*/ +template BOOST_FORCEINLINE reference_wrapper BOOST_REF_CONST cref( T const & t ) BOOST_NOEXCEPT +{ + return reference_wrapper(t); +} + +#undef BOOST_REF_CONST + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + +/** + @cond +*/ +#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) +# define BOOST_REF_DELETE +#else +# define BOOST_REF_DELETE = delete +#endif +/** + @endcond +*/ + +/** + @remark Construction from a temporary object is disabled. +*/ +template void ref(T const&&) BOOST_REF_DELETE; + +/** + @remark Construction from a temporary object is disabled. +*/ +template void cref(T const&&) BOOST_REF_DELETE; + +#undef BOOST_REF_DELETE + +#endif + +// is_reference_wrapper + +/** + @brief Determine if a type `T` is an instantiation of + `reference_wrapper`. + + The value static constant will be true if the type `T` is a + specialization of `reference_wrapper`. +*/ +template struct is_reference_wrapper +{ + BOOST_STATIC_CONSTANT( bool, value = false ); +}; + +/** + @cond +*/ +template struct is_reference_wrapper< reference_wrapper > +{ + BOOST_STATIC_CONSTANT( bool, value = true ); +}; + +#if !defined(BOOST_NO_CV_SPECIALIZATIONS) + +template struct is_reference_wrapper< reference_wrapper const > +{ + BOOST_STATIC_CONSTANT( bool, value = true ); +}; + +template struct is_reference_wrapper< reference_wrapper volatile > +{ + BOOST_STATIC_CONSTANT( bool, value = true ); +}; + +template struct is_reference_wrapper< reference_wrapper const volatile > +{ + BOOST_STATIC_CONSTANT( bool, value = true ); +}; + +#endif // !defined(BOOST_NO_CV_SPECIALIZATIONS) + +/** + @endcond +*/ + + +// unwrap_reference + +/** + @brief Find the type in a `reference_wrapper`. + + The `typedef` type is `T::type` if `T` is a + `reference_wrapper`, `T` otherwise. +*/ +template struct unwrap_reference +{ + typedef T type; +}; + +/** + @cond +*/ +template struct unwrap_reference< reference_wrapper > +{ + typedef T type; +}; + +#if !defined(BOOST_NO_CV_SPECIALIZATIONS) + +template struct unwrap_reference< reference_wrapper const > +{ + typedef T type; +}; + +template struct unwrap_reference< reference_wrapper volatile > +{ + typedef T type; +}; + +template struct unwrap_reference< reference_wrapper const volatile > +{ + typedef T type; +}; + +#endif // !defined(BOOST_NO_CV_SPECIALIZATIONS) + +/** + @endcond +*/ + +// unwrap_ref + +/** + @return `unwrap_reference::type&(t)` + @remark Does not throw. +*/ +template BOOST_FORCEINLINE typename unwrap_reference::type& unwrap_ref( T & t ) BOOST_NOEXCEPT +{ + return t; +} + +// get_pointer + +/** + @cond +*/ +template BOOST_FORCEINLINE T* get_pointer( reference_wrapper const & r ) BOOST_NOEXCEPT +{ + return r.get_pointer(); +} +/** + @endcond +*/ + +} // namespace boost + +#endif // #ifndef BOOST_CORE_REF_HPP diff --git a/external/include/boost_1_90_0/boost/core/typeinfo.hpp b/external/include/boost_1_90_0/boost/core/typeinfo.hpp new file mode 100644 index 0000000000..d33d29ba68 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/typeinfo.hpp @@ -0,0 +1,167 @@ +#ifndef BOOST_CORE_TYPEINFO_HPP_INCLUDED +#define BOOST_CORE_TYPEINFO_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// core::typeinfo, BOOST_CORE_TYPEID +// +// Copyright 2007, 2014 Peter Dimov +// +// 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) + +#include + +#if defined( BOOST_NO_TYPEID ) + +#include +#include +#include + +namespace boost +{ + +namespace core +{ + +class typeinfo +{ +private: + + typeinfo( typeinfo const& ); + typeinfo& operator=( typeinfo const& ); + + char const * name_; + void (*lib_id_)(); + +public: + + typeinfo( char const * name, void (*lib_id)() ): name_( name ), lib_id_( lib_id ) + { + } + + bool operator==( typeinfo const& rhs ) const + { +#if ( defined(_WIN32) || defined(__CYGWIN__) ) && ( defined(__GNUC__) || defined(__clang__) ) && !defined(BOOST_DISABLE_CURRENT_FUNCTION) + + return lib_id_ == rhs.lib_id_? this == &rhs: std::strcmp( name_, rhs.name_ ) == 0; + +#else + + return this == &rhs; + +#endif + } + + bool operator!=( typeinfo const& rhs ) const + { + return !( *this == rhs ); + } + + bool before( typeinfo const& rhs ) const + { +#if ( defined(_WIN32) || defined(__CYGWIN__) ) && ( defined(__GNUC__) || defined(__clang__) ) && !defined(BOOST_DISABLE_CURRENT_FUNCTION) + + return lib_id_ == rhs.lib_id_? std::less< typeinfo const* >()( this, &rhs ): std::strcmp( name_, rhs.name_ ) < 0; + +#else + + return std::less< typeinfo const* >()( this, &rhs ); + +#endif + } + + char const* name() const + { + return name_; + } +}; + +inline char const * demangled_name( core::typeinfo const & ti ) +{ + return ti.name(); +} + +} // namespace core + +namespace detail +{ + +template struct BOOST_SYMBOL_VISIBLE core_typeid_ +{ + static boost::core::typeinfo ti_; + + static char const * name() + { + return BOOST_CURRENT_FUNCTION; + } +}; + +BOOST_SYMBOL_VISIBLE inline void core_typeid_lib_id() +{ +} + +template boost::core::typeinfo core_typeid_< T >::ti_( core_typeid_< T >::name(), &core_typeid_lib_id ); + +template struct core_typeid_< T & >: core_typeid_< T > +{ +}; + +template struct core_typeid_< T const >: core_typeid_< T > +{ +}; + +template struct core_typeid_< T volatile >: core_typeid_< T > +{ +}; + +template struct core_typeid_< T const volatile >: core_typeid_< T > +{ +}; + +} // namespace detail + +} // namespace boost + +#define BOOST_CORE_TYPEID(T) (boost::detail::core_typeid_::ti_) + +#else + +#include +#include + +namespace boost +{ + +namespace core +{ + +#if defined( BOOST_NO_STD_TYPEINFO ) + +typedef ::type_info typeinfo; + +#else + +typedef std::type_info typeinfo; + +#endif + +inline std::string demangled_name( core::typeinfo const & ti ) +{ + return core::demangle( ti.name() ); +} + +} // namespace core + +} // namespace boost + +#define BOOST_CORE_TYPEID(T) typeid(T) + +#endif + +#endif // #ifndef BOOST_CORE_TYPEINFO_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/core/underlying_type.hpp b/external/include/boost_1_90_0/boost/core/underlying_type.hpp new file mode 100644 index 0000000000..7ecba313f4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/underlying_type.hpp @@ -0,0 +1,79 @@ +// underlying_type.hpp ---------------------------------------------------------// + +// Copyright Beman Dawes, 2009 +// Copyright (C) 2011-2012 Vicente J. Botet Escriba +// Copyright (C) 2012 Anthony Williams +// Copyright (C) 2014 Andrey Semashev + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_CORE_UNDERLYING_TYPE_HPP +#define BOOST_CORE_UNDERLYING_TYPE_HPP + +#include + +// GCC 4.7 and later seem to provide std::underlying_type +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) || (defined(BOOST_GCC) && BOOST_GCC >= 40700 && defined(__GXX_EXPERIMENTAL_CXX0X__)) +#include +#define BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE +#endif + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost { + +namespace detail { + +template< typename EnumType, typename Void = void > +struct underlying_type_impl; + +#if defined(BOOST_NO_CXX11_SCOPED_ENUMS) + +// Support for boost/core/scoped_enum.hpp +template< typename EnumType > +struct underlying_type_impl< EnumType, typename EnumType::is_boost_scoped_enum_tag > +{ + /** + * The member typedef type names the underlying type of EnumType. It is EnumType::underlying_type when the EnumType is an emulated scoped enum, + */ + typedef typename EnumType::underlying_type type; +}; + +#endif + +#if defined(BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE) + +template< typename EnumType, typename Void > +struct underlying_type_impl +{ + typedef typename std::underlying_type< EnumType >::type type; +}; + +#endif + +} // namespace detail + +#if !defined(BOOST_NO_CXX11_SCOPED_ENUMS) && !defined(BOOST_DETAIL_HAS_STD_UNDERLYING_TYPE) +#define BOOST_NO_UNDERLYING_TYPE +#endif + +/** + * Meta-function to get the underlying type of a scoped enum. + * + * Requires EnumType must be an enum type or the emulation of a scoped enum. + * If BOOST_NO_UNDERLYING_TYPE is defined, the implementation will not be able + * to deduce the underlying type of enums. The user is expected to specialize + * this trait in this case. + */ +template< typename EnumType > +struct underlying_type : + public detail::underlying_type_impl< EnumType > +{ +}; + +} // namespace boost + +#endif // BOOST_CORE_UNDERLYING_TYPE_HPP diff --git a/external/include/boost_1_75/boost/core/use_default.hpp b/external/include/boost_1_90_0/boost/core/use_default.hpp similarity index 94% rename from external/include/boost_1_75/boost/core/use_default.hpp rename to external/include/boost_1_90_0/boost/core/use_default.hpp index 9d9be79d80..7cb5c13727 100644 --- a/external/include/boost_1_75/boost/core/use_default.hpp +++ b/external/include/boost_1_90_0/boost/core/use_default.hpp @@ -1,17 +1,17 @@ -/* -Copyright 2019 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_CORE_USE_DEFAULT_HPP -#define BOOST_CORE_USE_DEFAULT_HPP - -namespace boost { - -struct use_default { }; - -} /* boost */ - -#endif +/* +Copyright 2019 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_CORE_USE_DEFAULT_HPP +#define BOOST_CORE_USE_DEFAULT_HPP + +namespace boost { + +struct use_default { }; + +} /* boost */ + +#endif diff --git a/external/include/boost_1_90_0/boost/core/yield_primitives.hpp b/external/include/boost_1_90_0/boost/core/yield_primitives.hpp new file mode 100644 index 0000000000..899453e5a7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/core/yield_primitives.hpp @@ -0,0 +1,12 @@ +#ifndef BOOST_CORE_YIELD_PRIMITIVES_HPP_INCLUDED +#define BOOST_CORE_YIELD_PRIMITIVES_HPP_INCLUDED + +// Copyright 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include + +#endif // #ifndef BOOST_CORE_YIELD_PRIMITIVES_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/cstdint.hpp b/external/include/boost_1_90_0/boost/cstdint.hpp similarity index 97% rename from external/include/boost_1_75/boost/cstdint.hpp rename to external/include/boost_1_90_0/boost/cstdint.hpp index 967aacfd3e..9f2231034f 100644 --- a/external/include/boost_1_75/boost/cstdint.hpp +++ b/external/include/boost_1_90_0/boost/cstdint.hpp @@ -1,556 +1,556 @@ -// boost cstdint.hpp header file ------------------------------------------// - -// (C) Copyright Beman Dawes 1999. -// (C) Copyright Jens Mauer 2001 -// (C) Copyright John Maddock 2001 -// 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) - -// See http://www.boost.org/libs/integer for documentation. - -// Revision History -// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.) -// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer) -// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer) -// 12 Nov 00 Merged (Jens Maurer) -// 23 Sep 00 Added INTXX_C macro support (John Maddock). -// 22 Sep 00 Better 64-bit support (John Maddock) -// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost -// 8 Aug 99 Initial version (Beman Dawes) - - -#ifndef BOOST_CSTDINT_HPP -#define BOOST_CSTDINT_HPP - -// -// Since we always define the INT#_C macros as per C++0x, -// define __STDC_CONSTANT_MACROS so that does the right -// thing if possible, and so that the user knows that the macros -// are actually defined as per C99. -// -#ifndef __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS -#endif - -#include -// -// For the following code we get several warnings along the lines of: -// -// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant -// -// So we declare this a system header to suppress these warnings. -// See also https://github.com/boostorg/config/issues/190 -// -#if defined(__GNUC__) && (__GNUC__ >= 4) -#pragma GCC system_header -#endif - -// -// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not -// depending upon what headers happen to have been included first... -// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG. -// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 -// -#if defined(BOOST_HAS_STDINT_H) \ - && (!defined(__GLIBC__) \ - || defined(__GLIBC_HAVE_LONG_LONG) \ - || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17))))) - -// The following #include is an implementation artifact; not part of interface. -# ifdef __hpux -// HP-UX has a vaguely nice in a non-standard location -# include -# ifdef __STDC_32_MODE__ - // this is triggered with GCC, because it defines __cplusplus < 199707L -# define BOOST_NO_INT64_T -# endif -# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) -# include -# else -# include - -// There is a bug in Cygwin two _C macros -# if defined(INTMAX_C) && defined(__CYGWIN__) -# undef INTMAX_C -# undef UINTMAX_C -# define INTMAX_C(c) c##LL -# define UINTMAX_C(c) c##ULL -# endif - -# endif - -#if defined(__QNX__) && defined(__EXT_QNX) - -// QNX (Dinkumware stdlib) defines these as non-standard names. -// Reflect to the standard names. - -typedef ::intleast8_t int_least8_t; -typedef ::intfast8_t int_fast8_t; -typedef ::uintleast8_t uint_least8_t; -typedef ::uintfast8_t uint_fast8_t; - -typedef ::intleast16_t int_least16_t; -typedef ::intfast16_t int_fast16_t; -typedef ::uintleast16_t uint_least16_t; -typedef ::uintfast16_t uint_fast16_t; - -typedef ::intleast32_t int_least32_t; -typedef ::intfast32_t int_fast32_t; -typedef ::uintleast32_t uint_least32_t; -typedef ::uintfast32_t uint_fast32_t; - -# ifndef BOOST_NO_INT64_T - -typedef ::intleast64_t int_least64_t; -typedef ::intfast64_t int_fast64_t; -typedef ::uintleast64_t uint_least64_t; -typedef ::uintfast64_t uint_fast64_t; - -# endif - -#endif - -namespace boost -{ - - using ::int8_t; - using ::int_least8_t; - using ::int_fast8_t; - using ::uint8_t; - using ::uint_least8_t; - using ::uint_fast8_t; - - using ::int16_t; - using ::int_least16_t; - using ::int_fast16_t; - using ::uint16_t; - using ::uint_least16_t; - using ::uint_fast16_t; - - using ::int32_t; - using ::int_least32_t; - using ::int_fast32_t; - using ::uint32_t; - using ::uint_least32_t; - using ::uint_fast32_t; - -# ifndef BOOST_NO_INT64_T - - using ::int64_t; - using ::int_least64_t; - using ::int_fast64_t; - using ::uint64_t; - using ::uint_least64_t; - using ::uint_fast64_t; - -# endif - - using ::intmax_t; - using ::uintmax_t; - -} // namespace boost - -#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__) -// FreeBSD and Tru64 have an that contains much of what we need. -# include - -namespace boost { - - using ::int8_t; - typedef int8_t int_least8_t; - typedef int8_t int_fast8_t; - using ::uint8_t; - typedef uint8_t uint_least8_t; - typedef uint8_t uint_fast8_t; - - using ::int16_t; - typedef int16_t int_least16_t; - typedef int16_t int_fast16_t; - using ::uint16_t; - typedef uint16_t uint_least16_t; - typedef uint16_t uint_fast16_t; - - using ::int32_t; - typedef int32_t int_least32_t; - typedef int32_t int_fast32_t; - using ::uint32_t; - typedef uint32_t uint_least32_t; - typedef uint32_t uint_fast32_t; - -# ifndef BOOST_NO_INT64_T - - using ::int64_t; - typedef int64_t int_least64_t; - typedef int64_t int_fast64_t; - using ::uint64_t; - typedef uint64_t uint_least64_t; - typedef uint64_t uint_fast64_t; - - typedef int64_t intmax_t; - typedef uint64_t uintmax_t; - -# else - - typedef int32_t intmax_t; - typedef uint32_t uintmax_t; - -# endif - -} // namespace boost - -#else // BOOST_HAS_STDINT_H - -# include // implementation artifact; not part of interface -# include // needed for limits macros - - -namespace boost -{ - -// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit -// platforms. For other systems, they will have to be hand tailored. -// -// Because the fast types are assumed to be the same as the undecorated types, -// it may be possible to hand tailor a more efficient implementation. Such -// an optimization may be illusionary; on the Intel x86-family 386 on, for -// example, byte arithmetic and load/stores are as fast as "int" sized ones. - -// 8-bit types ------------------------------------------------------------// - -# if UCHAR_MAX == 0xff - typedef signed char int8_t; - typedef signed char int_least8_t; - typedef signed char int_fast8_t; - typedef unsigned char uint8_t; - typedef unsigned char uint_least8_t; - typedef unsigned char uint_fast8_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -// 16-bit types -----------------------------------------------------------// - -# if USHRT_MAX == 0xffff -# if defined(__crayx1) - // The Cray X1 has a 16-bit short, however it is not recommend - // for use in performance critical code. - typedef short int16_t; - typedef short int_least16_t; - typedef int int_fast16_t; - typedef unsigned short uint16_t; - typedef unsigned short uint_least16_t; - typedef unsigned int uint_fast16_t; -# else - typedef short int16_t; - typedef short int_least16_t; - typedef short int_fast16_t; - typedef unsigned short uint16_t; - typedef unsigned short uint_least16_t; - typedef unsigned short uint_fast16_t; -# endif -# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) - // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified - // MTA / XMT does support the following non-standard integer types - typedef __short16 int16_t; - typedef __short16 int_least16_t; - typedef __short16 int_fast16_t; - typedef unsigned __short16 uint16_t; - typedef unsigned __short16 uint_least16_t; - typedef unsigned __short16 uint_fast16_t; -# elif (USHRT_MAX == 0xffffffff) && defined(CRAY) - // no 16-bit types on Cray: - typedef short int_least16_t; - typedef short int_fast16_t; - typedef unsigned short uint_least16_t; - typedef unsigned short uint_fast16_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -// 32-bit types -----------------------------------------------------------// - -# if UINT_MAX == 0xffffffff - typedef int int32_t; - typedef int int_least32_t; - typedef int int_fast32_t; - typedef unsigned int uint32_t; - typedef unsigned int uint_least32_t; - typedef unsigned int uint_fast32_t; -# elif (USHRT_MAX == 0xffffffff) - typedef short int32_t; - typedef short int_least32_t; - typedef short int_fast32_t; - typedef unsigned short uint32_t; - typedef unsigned short uint_least32_t; - typedef unsigned short uint_fast32_t; -# elif ULONG_MAX == 0xffffffff - typedef long int32_t; - typedef long int_least32_t; - typedef long int_fast32_t; - typedef unsigned long uint32_t; - typedef unsigned long uint_least32_t; - typedef unsigned long uint_fast32_t; -# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) - // Integers are 64 bits on the MTA / XMT - typedef __int32 int32_t; - typedef __int32 int_least32_t; - typedef __int32 int_fast32_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int32 uint_least32_t; - typedef unsigned __int32 uint_fast32_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -// 64-bit types + intmax_t and uintmax_t ----------------------------------// - -# if defined(BOOST_HAS_LONG_LONG) && \ - !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) && \ - (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \ - (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) -# if defined(__hpux) - // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions -# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) - // 2**64 - 1 -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - - typedef ::boost::long_long_type intmax_t; - typedef ::boost::ulong_long_type uintmax_t; - typedef ::boost::long_long_type int64_t; - typedef ::boost::long_long_type int_least64_t; - typedef ::boost::long_long_type int_fast64_t; - typedef ::boost::ulong_long_type uint64_t; - typedef ::boost::ulong_long_type uint_least64_t; - typedef ::boost::ulong_long_type uint_fast64_t; - -# elif ULONG_MAX != 0xffffffff - -# if ULONG_MAX == 18446744073709551615 // 2**64 - 1 - typedef long intmax_t; - typedef unsigned long uintmax_t; - typedef long int64_t; - typedef long int_least64_t; - typedef long int_fast64_t; - typedef unsigned long uint64_t; - typedef unsigned long uint_least64_t; - typedef unsigned long uint_fast64_t; -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG) - __extension__ typedef long long intmax_t; - __extension__ typedef unsigned long long uintmax_t; - __extension__ typedef long long int64_t; - __extension__ typedef long long int_least64_t; - __extension__ typedef long long int_fast64_t; - __extension__ typedef unsigned long long uint64_t; - __extension__ typedef unsigned long long uint_least64_t; - __extension__ typedef unsigned long long uint_fast64_t; -# elif defined(BOOST_HAS_MS_INT64) - // - // we have Borland/Intel/Microsoft __int64: - // - typedef __int64 intmax_t; - typedef unsigned __int64 uintmax_t; - typedef __int64 int64_t; - typedef __int64 int_least64_t; - typedef __int64 int_fast64_t; - typedef unsigned __int64 uint64_t; - typedef unsigned __int64 uint_least64_t; - typedef unsigned __int64 uint_fast64_t; -# else // assume no 64-bit integers -# define BOOST_NO_INT64_T - typedef int32_t intmax_t; - typedef uint32_t uintmax_t; -# endif - -} // namespace boost - - -#endif // BOOST_HAS_STDINT_H - -// intptr_t/uintptr_t are defined separately because they are optional and not universally available -#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H) -// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h -#include -#endif - -#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ - || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ - || defined(__CYGWIN__) || defined(__VXWORKS__) \ - || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ - || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX) - -namespace boost { - using ::intptr_t; - using ::uintptr_t; -} -#define BOOST_HAS_INTPTR_T - -// Clang pretends to be GCC, so it'll match this condition -#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) - -namespace boost { - typedef __INTPTR_TYPE__ intptr_t; - typedef __UINTPTR_TYPE__ uintptr_t; -} -#define BOOST_HAS_INTPTR_T - -#endif - -#endif // BOOST_CSTDINT_HPP - - -/**************************************************** - -Macro definition section: - -Added 23rd September 2000 (John Maddock). -Modified 11th September 2001 to be excluded when -BOOST_HAS_STDINT_H is defined (John Maddock). -Modified 11th Dec 2009 to always define the -INT#_C macros if they're not already defined (John Maddock). - -******************************************************/ - -#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \ - (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C)) -// -// Undef the macros as a precaution, since we may get here if has failed -// to define them all, see https://svn.boost.org/trac/boost/ticket/12786 -// -#undef INT8_C -#undef INT16_C -#undef INT32_C -#undef INT64_C -#undef INTMAX_C -#undef UINT8_C -#undef UINT16_C -#undef UINT32_C -#undef UINT64_C -#undef UINTMAX_C - -#include -# define BOOST__STDC_CONSTANT_MACROS_DEFINED -# if defined(BOOST_HAS_MS_INT64) -// -// Borland/Intel/Microsoft compilers have width specific suffixes: -// -#ifndef INT8_C -# define INT8_C(value) value##i8 -#endif -#ifndef INT16_C -# define INT16_C(value) value##i16 -#endif -#ifndef INT32_C -# define INT32_C(value) value##i32 -#endif -#ifndef INT64_C -# define INT64_C(value) value##i64 -#endif -# ifdef BOOST_BORLANDC - // Borland bug: appending ui8 makes the type a signed char -# define UINT8_C(value) static_cast(value##u) -# else -# define UINT8_C(value) value##ui8 -# endif -#ifndef UINT16_C -# define UINT16_C(value) value##ui16 -#endif -#ifndef UINT32_C -# define UINT32_C(value) value##ui32 -#endif -#ifndef UINT64_C -# define UINT64_C(value) value##ui64 -#endif -#ifndef INTMAX_C -# define INTMAX_C(value) value##i64 -# define UINTMAX_C(value) value##ui64 -#endif - -# else -// do it the old fashioned way: - -// 8-bit types ------------------------------------------------------------// - -# if (UCHAR_MAX == 0xff) && !defined(INT8_C) -# define INT8_C(value) static_cast(value) -# define UINT8_C(value) static_cast(value##u) -# endif - -// 16-bit types -----------------------------------------------------------// - -# if (USHRT_MAX == 0xffff) && !defined(INT16_C) -# define INT16_C(value) static_cast(value) -# define UINT16_C(value) static_cast(value##u) -# endif - -// 32-bit types -----------------------------------------------------------// -#ifndef INT32_C -# if (UINT_MAX == 0xffffffff) -# define INT32_C(value) value -# define UINT32_C(value) value##u -# elif ULONG_MAX == 0xffffffff -# define INT32_C(value) value##L -# define UINT32_C(value) value##uL -# endif -#endif - -// 64-bit types + intmax_t and uintmax_t ----------------------------------// -#ifndef INT64_C -# if defined(BOOST_HAS_LONG_LONG) && \ - (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX)) - -# if defined(__hpux) - // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions -# define INT64_C(value) value##LL -# define UINT64_C(value) value##uLL -# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ - (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ - (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ - (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ - (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL) - -# define INT64_C(value) value##LL -# define UINT64_C(value) value##uLL -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# elif ULONG_MAX != 0xffffffff - -# if ULONG_MAX == 18446744073709551615U // 2**64 - 1 -# define INT64_C(value) value##L -# define UINT64_C(value) value##uL -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# elif defined(BOOST_HAS_LONG_LONG) - // Usual macros not defined, work things out for ourselves: -# if(~0uLL == 18446744073709551615ULL) -# define INT64_C(value) value##LL -# define UINT64_C(value) value##uLL -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif -# else -# error defaults not correct; you must hand modify boost/cstdint.hpp -# endif - -# ifdef BOOST_NO_INT64_T -# define INTMAX_C(value) INT32_C(value) -# define UINTMAX_C(value) UINT32_C(value) -# else -# define INTMAX_C(value) INT64_C(value) -# define UINTMAX_C(value) UINT64_C(value) -# endif -#endif -# endif // Borland/Microsoft specific width suffixes - -#endif // INT#_C macros. - - - - +// boost cstdint.hpp header file ------------------------------------------// + +// (C) Copyright Beman Dawes 1999. +// (C) Copyright Jens Mauer 2001 +// (C) Copyright John Maddock 2001 +// 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) + +// See http://www.boost.org/libs/integer for documentation. + +// Revision History +// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.) +// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer) +// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer) +// 12 Nov 00 Merged (Jens Maurer) +// 23 Sep 00 Added INTXX_C macro support (John Maddock). +// 22 Sep 00 Better 64-bit support (John Maddock) +// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost +// 8 Aug 99 Initial version (Beman Dawes) + + +#ifndef BOOST_CSTDINT_HPP +#define BOOST_CSTDINT_HPP + +// +// Since we always define the INT#_C macros as per C++0x, +// define __STDC_CONSTANT_MACROS so that does the right +// thing if possible, and so that the user knows that the macros +// are actually defined as per C99. +// +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif + +#include +// +// For the following code we get several warnings along the lines of: +// +// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant +// +// So we declare this a system header to suppress these warnings. +// See also https://github.com/boostorg/config/issues/190 +// +#if defined(__GNUC__) && (__GNUC__ >= 4) +#pragma GCC system_header +#endif + +// +// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not +// depending upon what headers happen to have been included first... +// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG. +// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 +// +#if defined(BOOST_HAS_STDINT_H) \ + && (!defined(__GLIBC__) \ + || defined(__GLIBC_HAVE_LONG_LONG) \ + || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17))))) + +// The following #include is an implementation artifact; not part of interface. +# ifdef __hpux +// HP-UX has a vaguely nice in a non-standard location +# include +# ifdef __STDC_32_MODE__ + // this is triggered with GCC, because it defines __cplusplus < 199707L +# define BOOST_NO_INT64_T +# endif +# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) +# include +# else +# include + +// There is a bug in Cygwin two _C macros +# if defined(INTMAX_C) && defined(__CYGWIN__) +# undef INTMAX_C +# undef UINTMAX_C +# define INTMAX_C(c) c##LL +# define UINTMAX_C(c) c##ULL +# endif + +# endif + +#if defined(__QNX__) && defined(__EXT_QNX) + +// QNX (Dinkumware stdlib) defines these as non-standard names. +// Reflect to the standard names. + +typedef ::intleast8_t int_least8_t; +typedef ::intfast8_t int_fast8_t; +typedef ::uintleast8_t uint_least8_t; +typedef ::uintfast8_t uint_fast8_t; + +typedef ::intleast16_t int_least16_t; +typedef ::intfast16_t int_fast16_t; +typedef ::uintleast16_t uint_least16_t; +typedef ::uintfast16_t uint_fast16_t; + +typedef ::intleast32_t int_least32_t; +typedef ::intfast32_t int_fast32_t; +typedef ::uintleast32_t uint_least32_t; +typedef ::uintfast32_t uint_fast32_t; + +# ifndef BOOST_NO_INT64_T + +typedef ::intleast64_t int_least64_t; +typedef ::intfast64_t int_fast64_t; +typedef ::uintleast64_t uint_least64_t; +typedef ::uintfast64_t uint_fast64_t; + +# endif + +#endif + +namespace boost +{ + + using ::int8_t; + using ::int_least8_t; + using ::int_fast8_t; + using ::uint8_t; + using ::uint_least8_t; + using ::uint_fast8_t; + + using ::int16_t; + using ::int_least16_t; + using ::int_fast16_t; + using ::uint16_t; + using ::uint_least16_t; + using ::uint_fast16_t; + + using ::int32_t; + using ::int_least32_t; + using ::int_fast32_t; + using ::uint32_t; + using ::uint_least32_t; + using ::uint_fast32_t; + +# ifndef BOOST_NO_INT64_T + + using ::int64_t; + using ::int_least64_t; + using ::int_fast64_t; + using ::uint64_t; + using ::uint_least64_t; + using ::uint_fast64_t; + +# endif + + using ::intmax_t; + using ::uintmax_t; + +} // namespace boost + +#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__) +// FreeBSD and Tru64 have an that contains much of what we need. +# include + +namespace boost { + + using ::int8_t; + typedef int8_t int_least8_t; + typedef int8_t int_fast8_t; + using ::uint8_t; + typedef uint8_t uint_least8_t; + typedef uint8_t uint_fast8_t; + + using ::int16_t; + typedef int16_t int_least16_t; + typedef int16_t int_fast16_t; + using ::uint16_t; + typedef uint16_t uint_least16_t; + typedef uint16_t uint_fast16_t; + + using ::int32_t; + typedef int32_t int_least32_t; + typedef int32_t int_fast32_t; + using ::uint32_t; + typedef uint32_t uint_least32_t; + typedef uint32_t uint_fast32_t; + +# ifndef BOOST_NO_INT64_T + + using ::int64_t; + typedef int64_t int_least64_t; + typedef int64_t int_fast64_t; + using ::uint64_t; + typedef uint64_t uint_least64_t; + typedef uint64_t uint_fast64_t; + + typedef int64_t intmax_t; + typedef uint64_t uintmax_t; + +# else + + typedef int32_t intmax_t; + typedef uint32_t uintmax_t; + +# endif + +} // namespace boost + +#else // BOOST_HAS_STDINT_H + +# include // implementation artifact; not part of interface +# include // needed for limits macros + + +namespace boost +{ + +// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit +// platforms. For other systems, they will have to be hand tailored. +// +// Because the fast types are assumed to be the same as the undecorated types, +// it may be possible to hand tailor a more efficient implementation. Such +// an optimization may be illusionary; on the Intel x86-family 386 on, for +// example, byte arithmetic and load/stores are as fast as "int" sized ones. + +// 8-bit types ------------------------------------------------------------// + +# if UCHAR_MAX == 0xff + typedef signed char int8_t; + typedef signed char int_least8_t; + typedef signed char int_fast8_t; + typedef unsigned char uint8_t; + typedef unsigned char uint_least8_t; + typedef unsigned char uint_fast8_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +// 16-bit types -----------------------------------------------------------// + +# if USHRT_MAX == 0xffff +# if defined(__crayx1) + // The Cray X1 has a 16-bit short, however it is not recommend + // for use in performance critical code. + typedef short int16_t; + typedef short int_least16_t; + typedef int int_fast16_t; + typedef unsigned short uint16_t; + typedef unsigned short uint_least16_t; + typedef unsigned int uint_fast16_t; +# else + typedef short int16_t; + typedef short int_least16_t; + typedef short int_fast16_t; + typedef unsigned short uint16_t; + typedef unsigned short uint_least16_t; + typedef unsigned short uint_fast16_t; +# endif +# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) + // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified + // MTA / XMT does support the following non-standard integer types + typedef __short16 int16_t; + typedef __short16 int_least16_t; + typedef __short16 int_fast16_t; + typedef unsigned __short16 uint16_t; + typedef unsigned __short16 uint_least16_t; + typedef unsigned __short16 uint_fast16_t; +# elif (USHRT_MAX == 0xffffffff) && defined(CRAY) + // no 16-bit types on Cray: + typedef short int_least16_t; + typedef short int_fast16_t; + typedef unsigned short uint_least16_t; + typedef unsigned short uint_fast16_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +// 32-bit types -----------------------------------------------------------// + +# if UINT_MAX == 0xffffffff + typedef int int32_t; + typedef int int_least32_t; + typedef int int_fast32_t; + typedef unsigned int uint32_t; + typedef unsigned int uint_least32_t; + typedef unsigned int uint_fast32_t; +# elif (USHRT_MAX == 0xffffffff) + typedef short int32_t; + typedef short int_least32_t; + typedef short int_fast32_t; + typedef unsigned short uint32_t; + typedef unsigned short uint_least32_t; + typedef unsigned short uint_fast32_t; +# elif ULONG_MAX == 0xffffffff + typedef long int32_t; + typedef long int_least32_t; + typedef long int_fast32_t; + typedef unsigned long uint32_t; + typedef unsigned long uint_least32_t; + typedef unsigned long uint_fast32_t; +# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) + // Integers are 64 bits on the MTA / XMT + typedef __int32 int32_t; + typedef __int32 int_least32_t; + typedef __int32 int_fast32_t; + typedef unsigned __int32 uint32_t; + typedef unsigned __int32 uint_least32_t; + typedef unsigned __int32 uint_fast32_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +// 64-bit types + intmax_t and uintmax_t ----------------------------------// + +# if defined(BOOST_HAS_LONG_LONG) && \ + !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) && \ + (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \ + (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) +# if defined(__hpux) + // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions +# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) + // 2**64 - 1 +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + + typedef ::boost::long_long_type intmax_t; + typedef ::boost::ulong_long_type uintmax_t; + typedef ::boost::long_long_type int64_t; + typedef ::boost::long_long_type int_least64_t; + typedef ::boost::long_long_type int_fast64_t; + typedef ::boost::ulong_long_type uint64_t; + typedef ::boost::ulong_long_type uint_least64_t; + typedef ::boost::ulong_long_type uint_fast64_t; + +# elif ULONG_MAX != 0xffffffff + +# if ULONG_MAX == 18446744073709551615 // 2**64 - 1 + typedef long intmax_t; + typedef unsigned long uintmax_t; + typedef long int64_t; + typedef long int_least64_t; + typedef long int_fast64_t; + typedef unsigned long uint64_t; + typedef unsigned long uint_least64_t; + typedef unsigned long uint_fast64_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG) + __extension__ typedef long long intmax_t; + __extension__ typedef unsigned long long uintmax_t; + __extension__ typedef long long int64_t; + __extension__ typedef long long int_least64_t; + __extension__ typedef long long int_fast64_t; + __extension__ typedef unsigned long long uint64_t; + __extension__ typedef unsigned long long uint_least64_t; + __extension__ typedef unsigned long long uint_fast64_t; +# elif defined(BOOST_HAS_MS_INT64) + // + // we have Borland/Intel/Microsoft __int64: + // + typedef __int64 intmax_t; + typedef unsigned __int64 uintmax_t; + typedef __int64 int64_t; + typedef __int64 int_least64_t; + typedef __int64 int_fast64_t; + typedef unsigned __int64 uint64_t; + typedef unsigned __int64 uint_least64_t; + typedef unsigned __int64 uint_fast64_t; +# else // assume no 64-bit integers +# define BOOST_NO_INT64_T + typedef int32_t intmax_t; + typedef uint32_t uintmax_t; +# endif + +} // namespace boost + + +#endif // BOOST_HAS_STDINT_H + +// intptr_t/uintptr_t are defined separately because they are optional and not universally available +#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H) +// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h +#include +#endif + +#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ + || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ + || defined(__CYGWIN__) || defined(__VXWORKS__) \ + || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ + || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX) + +namespace boost { + using ::intptr_t; + using ::uintptr_t; +} +#define BOOST_HAS_INTPTR_T + +// Clang pretends to be GCC, so it'll match this condition +#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) + +namespace boost { + typedef __INTPTR_TYPE__ intptr_t; + typedef __UINTPTR_TYPE__ uintptr_t; +} +#define BOOST_HAS_INTPTR_T + +#endif + +#endif // BOOST_CSTDINT_HPP + + +/**************************************************** + +Macro definition section: + +Added 23rd September 2000 (John Maddock). +Modified 11th September 2001 to be excluded when +BOOST_HAS_STDINT_H is defined (John Maddock). +Modified 11th Dec 2009 to always define the +INT#_C macros if they're not already defined (John Maddock). + +******************************************************/ + +#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \ + (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C)) +// +// Undef the macros as a precaution, since we may get here if has failed +// to define them all, see https://svn.boost.org/trac/boost/ticket/12786 +// +#undef INT8_C +#undef INT16_C +#undef INT32_C +#undef INT64_C +#undef INTMAX_C +#undef UINT8_C +#undef UINT16_C +#undef UINT32_C +#undef UINT64_C +#undef UINTMAX_C + +#include +# define BOOST__STDC_CONSTANT_MACROS_DEFINED +# if defined(BOOST_HAS_MS_INT64) +// +// Borland/Intel/Microsoft compilers have width specific suffixes: +// +#ifndef INT8_C +# define INT8_C(value) value##i8 +#endif +#ifndef INT16_C +# define INT16_C(value) value##i16 +#endif +#ifndef INT32_C +# define INT32_C(value) value##i32 +#endif +#ifndef INT64_C +# define INT64_C(value) value##i64 +#endif +# ifdef BOOST_BORLANDC + // Borland bug: appending ui8 makes the type a signed char +# define UINT8_C(value) static_cast(value##u) +# else +# define UINT8_C(value) value##ui8 +# endif +#ifndef UINT16_C +# define UINT16_C(value) value##ui16 +#endif +#ifndef UINT32_C +# define UINT32_C(value) value##ui32 +#endif +#ifndef UINT64_C +# define UINT64_C(value) value##ui64 +#endif +#ifndef INTMAX_C +# define INTMAX_C(value) value##i64 +# define UINTMAX_C(value) value##ui64 +#endif + +# else +// do it the old fashioned way: + +// 8-bit types ------------------------------------------------------------// + +# if (UCHAR_MAX == 0xff) && !defined(INT8_C) +# define INT8_C(value) static_cast(value) +# define UINT8_C(value) static_cast(value##u) +# endif + +// 16-bit types -----------------------------------------------------------// + +# if (USHRT_MAX == 0xffff) && !defined(INT16_C) +# define INT16_C(value) static_cast(value) +# define UINT16_C(value) static_cast(value##u) +# endif + +// 32-bit types -----------------------------------------------------------// +#ifndef INT32_C +# if (UINT_MAX == 0xffffffff) +# define INT32_C(value) value +# define UINT32_C(value) value##u +# elif ULONG_MAX == 0xffffffff +# define INT32_C(value) value##L +# define UINT32_C(value) value##uL +# endif +#endif + +// 64-bit types + intmax_t and uintmax_t ----------------------------------// +#ifndef INT64_C +# if defined(BOOST_HAS_LONG_LONG) && \ + (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX)) + +# if defined(__hpux) + // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions +# define INT64_C(value) value##LL +# define UINT64_C(value) value##uLL +# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ + (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ + (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ + (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ + (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL) + +# define INT64_C(value) value##LL +# define UINT64_C(value) value##uLL +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# elif ULONG_MAX != 0xffffffff + +# if ULONG_MAX == 18446744073709551615U // 2**64 - 1 +# define INT64_C(value) value##L +# define UINT64_C(value) value##uL +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# elif defined(BOOST_HAS_LONG_LONG) + // Usual macros not defined, work things out for ourselves: +# if(~0uLL == 18446744073709551615ULL) +# define INT64_C(value) value##LL +# define UINT64_C(value) value##uLL +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +# ifdef BOOST_NO_INT64_T +# define INTMAX_C(value) INT32_C(value) +# define UINTMAX_C(value) UINT32_C(value) +# else +# define INTMAX_C(value) INT64_C(value) +# define UINTMAX_C(value) UINT64_C(value) +# endif +#endif +# endif // Borland/Microsoft specific width suffixes + +#endif // INT#_C macros. + + + + diff --git a/external/include/boost_1_75/boost/current_function.hpp b/external/include/boost_1_90_0/boost/current_function.hpp similarity index 95% rename from external/include/boost_1_75/boost/current_function.hpp rename to external/include/boost_1_90_0/boost/current_function.hpp index 731d1b13e5..7db6e4313e 100644 --- a/external/include/boost_1_75/boost/current_function.hpp +++ b/external/include/boost_1_90_0/boost/current_function.hpp @@ -1,75 +1,75 @@ -#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED -#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// boost/current_function.hpp - BOOST_CURRENT_FUNCTION -// -// Copyright 2002-2018 Peter Dimov -// -// 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 -// -// http://www.boost.org/libs/assert -// - -namespace boost -{ - -namespace detail -{ - -inline void current_function_helper() -{ - -#if defined( BOOST_DISABLE_CURRENT_FUNCTION ) - -# define BOOST_CURRENT_FUNCTION "(unknown)" - -#elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__) - -# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ - -#elif defined(__DMC__) && (__DMC__ >= 0x810) - -# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ - -#elif defined(__FUNCSIG__) - -# define BOOST_CURRENT_FUNCTION __FUNCSIG__ - -#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) - -# define BOOST_CURRENT_FUNCTION __FUNCTION__ - -#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) - -# define BOOST_CURRENT_FUNCTION __FUNC__ - -#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) - -# define BOOST_CURRENT_FUNCTION __func__ - -#elif defined(__cplusplus) && (__cplusplus >= 201103) - -# define BOOST_CURRENT_FUNCTION __func__ - -#else - -# define BOOST_CURRENT_FUNCTION "(unknown)" - -#endif - -} - -} // namespace detail - -} // namespace boost - -#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED +#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED +#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/current_function.hpp - BOOST_CURRENT_FUNCTION +// +// Copyright 2002-2018 Peter Dimov +// +// 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 +// +// http://www.boost.org/libs/assert +// + +namespace boost +{ + +namespace detail +{ + +inline void current_function_helper() +{ + +#if defined( BOOST_DISABLE_CURRENT_FUNCTION ) + +# define BOOST_CURRENT_FUNCTION "(unknown)" + +#elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__) + +# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ + +#elif defined(__DMC__) && (__DMC__ >= 0x810) + +# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ + +#elif defined(__FUNCSIG__) + +# define BOOST_CURRENT_FUNCTION __FUNCSIG__ + +#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) + +# define BOOST_CURRENT_FUNCTION __FUNCTION__ + +#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) + +# define BOOST_CURRENT_FUNCTION __FUNC__ + +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) + +# define BOOST_CURRENT_FUNCTION __func__ + +#elif defined(__cplusplus) && (__cplusplus >= 201103) + +# define BOOST_CURRENT_FUNCTION __func__ + +#else + +# define BOOST_CURRENT_FUNCTION "(unknown)" + +#endif + +} + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/describe/bases.hpp b/external/include/boost_1_90_0/boost/describe/bases.hpp new file mode 100644 index 0000000000..b465e3da51 --- /dev/null +++ b/external/include/boost_1_90_0/boost/describe/bases.hpp @@ -0,0 +1,50 @@ +#ifndef BOOST_DESCRIBE_BASES_HPP_INCLUDED +#define BOOST_DESCRIBE_BASES_HPP_INCLUDED + +// Copyright 2020, 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include + +#if defined(BOOST_DESCRIBE_CXX11) + +#include +#include + +namespace boost +{ +namespace describe +{ +namespace detail +{ + +template using _describe_bases = decltype( boost_base_descriptor_fn( static_cast(0) ) ); + +template struct base_filter +{ + template using fn = mp11::mp_bool< ( M & mod_any_access & T::modifiers ) != 0 >; +}; + +template struct has_describe_bases: std::false_type +{ +}; + +template struct has_describe_bases>>: std::true_type +{ +}; + +} // namespace detail + +template using describe_bases = mp11::mp_copy_if_q, detail::base_filter>; + +template using has_describe_bases = detail::has_describe_bases; + +} // namespace describe +} // namespace boost + +#endif // !defined(BOOST_DESCRIBE_CXX11) + +#endif // #ifndef BOOST_DESCRIBE_BASES_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/describe/detail/config.hpp b/external/include/boost_1_90_0/boost/describe/detail/config.hpp new file mode 100644 index 0000000000..c6cb1fa5a0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/describe/detail/config.hpp @@ -0,0 +1,48 @@ +#ifndef BOOST_DESCRIBE_DETAIL_CONFIG_HPP_INCLUDED +#define BOOST_DESCRIBE_DETAIL_CONFIG_HPP_INCLUDED + +// Copyright 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#if __cplusplus >= 201402L + +# define BOOST_DESCRIBE_CXX14 +# define BOOST_DESCRIBE_CXX11 + +#elif defined(_MSC_VER) && _MSC_VER >= 1900 + +# define BOOST_DESCRIBE_CXX14 +# define BOOST_DESCRIBE_CXX11 + +#elif __cplusplus >= 201103L + +# define BOOST_DESCRIBE_CXX11 + +# if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 7 +# undef BOOST_DESCRIBE_CXX11 +# endif + +#endif + +#if defined(BOOST_DESCRIBE_CXX11) +# define BOOST_DESCRIBE_CONSTEXPR_OR_CONST constexpr +#else +# define BOOST_DESCRIBE_CONSTEXPR_OR_CONST const +#endif + +#if defined(__clang__) +# define BOOST_DESCRIBE_MAYBE_UNUSED __attribute__((unused)) +#else +# define BOOST_DESCRIBE_MAYBE_UNUSED +#endif + +#if defined(__cpp_inline_variables) && __cpp_inline_variables >= 201606L +# define BOOST_DESCRIBE_INLINE_VARIABLE inline +#else +# define BOOST_DESCRIBE_INLINE_VARIABLE +#endif + +#define BOOST_DESCRIBE_INLINE_CONSTEXPR BOOST_DESCRIBE_INLINE_VARIABLE BOOST_DESCRIBE_CONSTEXPR_OR_CONST + +#endif // #ifndef BOOST_DESCRIBE_DETAIL_CONFIG_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/describe/detail/cx_streq.hpp b/external/include/boost_1_90_0/boost/describe/detail/cx_streq.hpp new file mode 100644 index 0000000000..179d51682e --- /dev/null +++ b/external/include/boost_1_90_0/boost/describe/detail/cx_streq.hpp @@ -0,0 +1,30 @@ +#ifndef BOOST_DESCRIBE_DETAIL_CX_STREQ_HPP_INCLUDED +#define BOOST_DESCRIBE_DETAIL_CX_STREQ_HPP_INCLUDED + +// Copyright 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#if defined(BOOST_DESCRIBE_CXX11) + +namespace boost +{ +namespace describe +{ +namespace detail +{ + +constexpr bool cx_streq( char const * s1, char const * s2 ) +{ + return s1[0] == s2[0] && ( s1[0] == 0 || cx_streq( s1 + 1, s2 + 1 ) ); +} + +} // namespace detail +} // namespace describe +} // namespace boost + +#endif // defined(BOOST_DESCRIBE_CXX11) + +#endif // #ifndef BOOST_DESCRIBE_DETAIL_CX_STREQ_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/describe/detail/void_t.hpp b/external/include/boost_1_90_0/boost/describe/detail/void_t.hpp new file mode 100644 index 0000000000..4a2c1858aa --- /dev/null +++ b/external/include/boost_1_90_0/boost/describe/detail/void_t.hpp @@ -0,0 +1,32 @@ +#ifndef BOOST_DESCRIBE_DETAIL_VOID_T_HPP_INCLUDED +#define BOOST_DESCRIBE_DETAIL_VOID_T_HPP_INCLUDED + +// Copyright 2021 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#if defined(BOOST_DESCRIBE_CXX11) + +namespace boost +{ +namespace describe +{ +namespace detail +{ + +template struct make_void +{ + using type = void; +}; + +template using void_t = typename make_void::type; + +} // namespace detail +} // namespace describe +} // namespace boost + +#endif // defined(BOOST_DESCRIBE_CXX11) + +#endif // #ifndef BOOST_DESCRIBE_DETAIL_VOID_T_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/describe/members.hpp b/external/include/boost_1_90_0/boost/describe/members.hpp new file mode 100644 index 0000000000..6e4519bb40 --- /dev/null +++ b/external/include/boost_1_90_0/boost/describe/members.hpp @@ -0,0 +1,161 @@ +#ifndef BOOST_DESCRIBE_DATA_MEMBERS_HPP_INCLUDED +#define BOOST_DESCRIBE_DATA_MEMBERS_HPP_INCLUDED + +// Copyright 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include +#include +#include + +#if defined(BOOST_DESCRIBE_CXX11) + +#include +#include +#include +#include +#include +#include + +namespace boost +{ +namespace describe +{ +namespace detail +{ + +// _describe_members + +template using _describe_public_members = decltype( boost_public_member_descriptor_fn( static_cast(0) ) ); +template using _describe_protected_members = decltype( boost_protected_member_descriptor_fn( static_cast(0) ) ); +template using _describe_private_members = decltype( boost_private_member_descriptor_fn( static_cast(0) ) ); + +template using _describe_members = mp11::mp_append<_describe_public_members, _describe_protected_members, _describe_private_members>; + +// describe_inherited_members + +// T: type +// V: list of virtual bases visited so far +template struct describe_inherited_members_impl; +template using describe_inherited_members = typename describe_inherited_members_impl::type; + +// L: list of base class descriptors +// T: derived type +// V: list of virtual bases visited so far +template struct describe_inherited_members2_impl; +template using describe_inherited_members2 = typename describe_inherited_members2_impl::type; + +template struct describe_inherited_members_impl +{ + using R1 = describe_inherited_members2, T, V>; + using R2 = _describe_members; + + using type = mp11::mp_append; +}; + +template class L, class T, class V> struct describe_inherited_members2_impl, T, V> +{ + using type = L<>; +}; + +template using name_matches = mp11::mp_bool< cx_streq( D1::name, D2::name ) >; + +template using name_is_hidden = mp11::mp_any_of_q>; + +constexpr unsigned cx_max( unsigned m1, unsigned m2 ) +{ + return m1 > m2? m1: m2; +} + +template struct update_modifiers +{ + template struct fn + { + using L = _describe_members; + static constexpr unsigned hidden = name_is_hidden::value? mod_hidden: 0; + + static constexpr unsigned mods = D::modifiers; + static constexpr unsigned access = cx_max( mods & mod_any_access, Bm & mod_any_access ); + + static constexpr decltype(D::pointer) pointer = D::pointer; + static constexpr decltype(D::name) name = D::name; + static constexpr unsigned modifiers = ( mods & ~mod_any_access ) | access | mod_inherited | hidden; + }; +}; + +#ifndef __cpp_inline_variables +template template constexpr decltype(D::pointer) update_modifiers::fn::pointer; +template template constexpr decltype(D::name) update_modifiers::fn::name; +template template constexpr unsigned update_modifiers::fn::modifiers; +#endif + +template struct gather_virtual_bases_impl; +template using gather_virtual_bases = typename gather_virtual_bases_impl::type; + +template struct gather_virtual_bases_impl +{ + using B = typename D::type; + static constexpr unsigned M = D::modifiers; + + using R1 = mp11::mp_transform>; + using R2 = mp11::mp_apply; + + using type = mp11::mp_if_c<(M & mod_virtual) != 0, mp11::mp_push_front, R2>; +}; + +template class L, class D1, class... D, class T, class V> struct describe_inherited_members2_impl, T, V> +{ + using B = typename D1::type; + static constexpr unsigned M = D1::modifiers; + + using R1 = mp11::mp_if_c<(M & mod_virtual) && mp11::mp_contains::value, L<>, describe_inherited_members>; + + using R2 = mp11::mp_transform_q, R1>; + + using V2 = mp11::mp_append>; + using R3 = describe_inherited_members2, T, V2>; + + using type = mp11::mp_append; +}; + +// describe_members + +template using describe_members = mp11::mp_eval_if_c<(M & mod_inherited) == 0, _describe_members, describe_inherited_members, T, mp11::mp_list<>>; + +// member_filter + +template struct member_filter +{ + template using fn = mp11::mp_bool< + (M & mod_any_access & T::modifiers) != 0 && + ( (M & mod_any_member) != 0 || (M & mod_static) == (T::modifiers & mod_static) ) && + ( (M & mod_any_member) != 0 || (M & mod_function) == (T::modifiers & mod_function) ) && + (M & mod_hidden) >= (T::modifiers & mod_hidden) + >; +}; + +// has_describe_members + +template struct has_describe_members: std::false_type +{ +}; + +template struct has_describe_members>>: std::true_type +{ +}; + +} // namespace detail + +template using describe_members = mp11::mp_copy_if_q, detail::member_filter>; + +template using has_describe_members = detail::has_describe_members; + +} // namespace describe +} // namespace boost + +#endif // !defined(BOOST_DESCRIBE_CXX11) + +#endif // #ifndef BOOST_DESCRIBE_DATA_MEMBERS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/describe/modifiers.hpp b/external/include/boost_1_90_0/boost/describe/modifiers.hpp new file mode 100644 index 0000000000..8f2effc7ca --- /dev/null +++ b/external/include/boost_1_90_0/boost/describe/modifiers.hpp @@ -0,0 +1,33 @@ +#ifndef BOOST_DESCRIBE_MODIFIERS_HPP_INCLUDED +#define BOOST_DESCRIBE_MODIFIERS_HPP_INCLUDED + +// Copyright 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +namespace boost +{ +namespace describe +{ + +enum modifiers +{ + mod_public = 1, + mod_protected = 2, + mod_private = 4, + mod_virtual = 8, + mod_static = 16, + mod_function = 32, + mod_any_member = 64, + mod_inherited = 128, + mod_hidden = 256 +}; + +BOOST_DESCRIBE_INLINE_CONSTEXPR modifiers mod_any_access = static_cast( mod_public | mod_protected | mod_private ); + +} // namespace describe +} // namespace boost + +#endif // #ifndef BOOST_DESCRIBE_MODIFIERS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/detail/call_traits.hpp b/external/include/boost_1_90_0/boost/detail/call_traits.hpp new file mode 100644 index 0000000000..feca93da37 --- /dev/null +++ b/external/include/boost_1_90_0/boost/detail/call_traits.hpp @@ -0,0 +1,172 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/utility for most recent version including documentation. + +// call_traits: defines typedefs for function usage +// (see libs/utility/call_traits.htm) + +/* Release notes: + 23rd July 2000: + Fixed array specialization. (JM) + Added Borland specific fixes for reference types + (issue raised by Steve Cleary). +*/ + +#ifndef BOOST_DETAIL_CALL_TRAITS_HPP +#define BOOST_DETAIL_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif +#include + +#include +#include +#include +#include + +namespace boost{ + +namespace detail{ + +template +struct ct_imp2 +{ + typedef const T& param_type; +}; + +template +struct ct_imp2 +{ + typedef const T param_type; +}; + +template +struct ct_imp +{ + typedef const T& param_type; +}; + +template +struct ct_imp +{ + typedef typename ct_imp2::param_type param_type; +}; + +template +struct ct_imp +{ + typedef typename ct_imp2::param_type param_type; +}; + +template +struct ct_imp +{ + typedef const T param_type; +}; + +} + +template +struct call_traits +{ +public: + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + // + // C++ Builder workaround: we should be able to define a compile time + // constant and pass that as a single template parameter to ct_imp, + // however compiler bugs prevent this - instead pass three bool's to + // ct_imp and add an extra partial specialisation + // of ct_imp to handle the logic. (JM) + typedef typename boost::detail::ct_imp< + T, + ::boost::is_pointer::value, + ::boost::is_arithmetic::value, + ::boost::is_enum::value + >::param_type param_type; +}; + +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; + +#if BOOST_WORKAROUND( BOOST_BORLANDC, < 0x5A0 ) +// these are illegal specialisations; cv-qualifies applied to +// references have no effect according to [8.3.2p1], +// C++ Builder requires them though as it treats cv-qualified +// references as distinct types... +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; + +template +struct call_traits< T * > +{ + typedef T * value_type; + typedef T * & reference; + typedef T * const & const_reference; + typedef T * const param_type; // hh removed const +}; +#endif +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +template +struct call_traits +{ +private: + typedef T array_type[N]; +public: + // degrades array to pointer: + typedef const T* value_type; + typedef array_type& reference; + typedef const array_type& const_reference; + typedef const T* const param_type; +}; + +template +struct call_traits +{ +private: + typedef const T array_type[N]; +public: + // degrades array to pointer: + typedef const T* value_type; + typedef array_type& reference; + typedef const array_type& const_reference; + typedef const T* const param_type; +}; +#endif + +} + +#endif // BOOST_DETAIL_CALL_TRAITS_HPP diff --git a/external/include/boost_1_90_0/boost/detail/workaround.hpp b/external/include/boost_1_90_0/boost/detail/workaround.hpp new file mode 100644 index 0000000000..f3aab8de74 --- /dev/null +++ b/external/include/boost_1_90_0/boost/detail/workaround.hpp @@ -0,0 +1,10 @@ +// Copyright David Abrahams 2002. +// 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) +#ifndef BOOST_WORKAROUND_DWA2002126_HPP +#define BOOST_WORKAROUND_DWA2002126_HPP + +#include + +#endif // BOOST_WORKAROUND_DWA2002126_HPP diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset.hpp b/external/include/boost_1_90_0/boost/dynamic_bitset.hpp new file mode 100644 index 0000000000..cb3d91cc76 --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset.hpp @@ -0,0 +1,17 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2004, 2008 Gennaro Prota +// +// 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) +// +// ----------------------------------------------------------- + +#ifndef BOOST_DYNAMIC_BITSET_HPP +#define BOOST_DYNAMIC_BITSET_HPP + +#include "boost/dynamic_bitset/dynamic_bitset.hpp" + +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset/config.hpp b/external/include/boost_1_90_0/boost/dynamic_bitset/config.hpp new file mode 100644 index 0000000000..3b1b1a6ec4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset/config.hpp @@ -0,0 +1,51 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2006, 2008, 2025 Gennaro Prota +// +// 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) +// +// ----------------------------------------------------------- + +#ifndef BOOST_DYNAMIC_BITSET_CONFIG_HPP_GP_20040424 +#define BOOST_DYNAMIC_BITSET_CONFIG_HPP_GP_20040424 + +#include "boost/config.hpp" + +// no-op function to workaround gcc bug c++/8419 +// +namespace boost { +namespace detail { +template< typename T > +T +make_non_const( T t ) +{ + return t; +} +} +} + +#if defined( __GNUC__ ) +# define BOOST_DYNAMIC_BITSET_WRAP_CONSTANT( expr ) \ + ( boost::detail::make_non_const( expr ) ) +#else +# define BOOST_DYNAMIC_BITSET_WRAP_CONSTANT( expr ) ( expr ) +#endif + +#if ! defined( BOOST_NO_CXX11_HDR_FUNCTIONAL ) && ! defined( BOOST_DYNAMIC_BITSET_NO_STD_HASH ) +# define BOOST_DYNAMIC_BITSET_SPECIALIZE_STD_HASH +#endif + +#if ( defined( _MSVC_LANG ) && _MSVC_LANG >= 201703L ) || __cplusplus >= 201703L +# define BOOST_DYNAMIC_BITSET_USE_CPP17_OR_LATER +#endif + +#if ( defined( _MSVC_LANG ) && _MSVC_LANG >= 202002L ) || __cplusplus >= 202002L +# define BOOST_DYNAMIC_BITSET_CONSTEXPR20 constexpr +#else +# define BOOST_DYNAMIC_BITSET_CONSTEXPR20 +#endif + +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset/detail/dynamic_bitset.hpp b/external/include/boost_1_90_0/boost/dynamic_bitset/detail/dynamic_bitset.hpp new file mode 100644 index 0000000000..65794d4f97 --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset/detail/dynamic_bitset.hpp @@ -0,0 +1,154 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2006, 2008, 2025 Gennaro Prota +// Copyright (c) 2014 Glen Joseph Fernandes +// (glenjofe@gmail.com) +// Copyright (c) 2018 Evgeny Shulgin +// Copyright (c) 2019 Andrey Semashev +// +// 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) +// +// ----------------------------------------------------------- + +#ifndef BOOST_DETAIL_DYNAMIC_BITSET_HPP +#define BOOST_DETAIL_DYNAMIC_BITSET_HPP + +#include +#include +#include +#include + +namespace boost { + +namespace detail { +namespace dynamic_bitset_impl { + +template< typename AllocatorOrContainer, typename Block > +class is_container +{ +private: + template< typename U > + static decltype( std::declval< U >().resize( std::size_t{} ), std::declval< U >()[ 0 ], typename U::value_type(), std::is_same< typename U::value_type, Block >{}, std::true_type{} ) test( int ); + + template< typename > + static std::false_type test( ... ); + +public: + static constexpr bool value = decltype( test< AllocatorOrContainer >( 0 ) )::value; +}; + +template< typename AllocatorOrContainer, bool IsContainer > +class allocator_type_extractor_impl; + +template< typename AllocatorOrContainer > +class allocator_type_extractor_impl< AllocatorOrContainer, false > +{ +public: + typedef AllocatorOrContainer type; +}; + +template< typename AllocatorOrContainer > +class allocator_type_extractor_impl< AllocatorOrContainer, true > +{ +public: + typedef typename AllocatorOrContainer::allocator_type type; +}; + +template< typename AllocatorOrContainer, typename Block > +class allocator_type_extractor +{ +public: + typedef typename allocator_type_extractor_impl< + AllocatorOrContainer, + is_container< AllocatorOrContainer, Block >::value >::type type; +}; + +template< typename T, int amount, int width /* = default */ > +struct shifter +{ + static BOOST_DYNAMIC_BITSET_CONSTEXPR20 void + left_shift( T & v ) + { + amount >= width ? ( v = 0 ) + : ( v >>= BOOST_DYNAMIC_BITSET_WRAP_CONSTANT( amount ) ); + } +}; + +template< bool value > +struct value_to_type +{ +}; + +// for static_asserts +template< typename T > +struct allowed_block_type +{ + enum + { + value = T( -1 ) > 0 // ensure T has no sign + }; +}; + +template<> +struct allowed_block_type< bool > +{ + enum + { + value = false + }; +}; + +template< typename T > +struct is_numeric +{ + enum + { + value = false + }; +}; + +#define BOOST_dynamic_bitset_is_numeric( x ) \ + template<> \ + struct is_numeric< x > \ + { \ + enum \ + { \ + value = true \ + }; \ + } /**/ + +BOOST_dynamic_bitset_is_numeric( bool ); +BOOST_dynamic_bitset_is_numeric( char ); + +#if ! defined( BOOST_NO_INTRINSIC_WCHAR_T ) +BOOST_dynamic_bitset_is_numeric( wchar_t ); +#endif + +BOOST_dynamic_bitset_is_numeric( signed char ); +BOOST_dynamic_bitset_is_numeric( short ); +BOOST_dynamic_bitset_is_numeric( int ); +BOOST_dynamic_bitset_is_numeric( long ); +BOOST_dynamic_bitset_is_numeric( long long ); + +BOOST_dynamic_bitset_is_numeric( unsigned char ); +BOOST_dynamic_bitset_is_numeric( unsigned short ); +BOOST_dynamic_bitset_is_numeric( unsigned int ); +BOOST_dynamic_bitset_is_numeric( unsigned long ); +BOOST_dynamic_bitset_is_numeric( unsigned long long ); + +// intentionally omitted +// BOOST_dynamic_bitset_is_numeric(float); +// BOOST_dynamic_bitset_is_numeric(double); +// BOOST_dynamic_bitset_is_numeric(long double); + +#undef BOOST_dynamic_bitset_is_numeric + +} // dynamic_bitset_impl +} // namespace detail + +} // namespace boost + +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset/detail/lowest_bit.hpp b/external/include/boost_1_90_0/boost/dynamic_bitset/detail/lowest_bit.hpp new file mode 100644 index 0000000000..29767ecadc --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset/detail/lowest_bit.hpp @@ -0,0 +1,36 @@ +// ----------------------------------------------------------- +// lowest_bit() +// +// Position of the lowest bit that is set. +// +// Copyright (c) 2003-2004, 2008, 2025 Gennaro Prota +// +// 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) +// +// ----------------------------------------------------------- + +#ifndef BOOST_LOWEST_BIT_HPP_GP_20030301 +#define BOOST_LOWEST_BIT_HPP_GP_20030301 + +#include "boost/assert.hpp" +#include "boost/core/bit.hpp" +#include + +namespace boost { +namespace detail { + +template< typename T > +int +lowest_bit( T x ) +{ + BOOST_ASSERT( x >= 1 ); + + return boost::core::countr_zero( static_cast< typename std::make_unsigned< T >::type >( x ) ); +} + +} +} + +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset/dynamic_bitset.hpp b/external/include/boost_1_90_0/boost/dynamic_bitset/dynamic_bitset.hpp new file mode 100644 index 0000000000..c4da154493 --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset/dynamic_bitset.hpp @@ -0,0 +1,1787 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2006, 2008, 2025 Gennaro Prota +// Copyright (c) 2014 Ahmed Charles +// +// Copyright (c) 2014 Glen Joseph Fernandes +// (glenjofe@gmail.com) +// +// Copyright (c) 2014 Riccardo Marcangelo +// Copyright (c) 2018 Evgeny Shulgin +// +// 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) +// +// ----------------------------------------------------------- + +#ifndef BOOST_DYNAMIC_BITSET_DYNAMIC_BITSET_HPP +#define BOOST_DYNAMIC_BITSET_DYNAMIC_BITSET_HPP + +#include "boost/dynamic_bitset/config.hpp" +#include "boost/dynamic_bitset/detail/dynamic_bitset.hpp" +#include "boost/dynamic_bitset_fwd.hpp" +#include "boost/limits.hpp" +#include +#include +#include +#include +#include + +#if defined( BOOST_DYNAMIC_BITSET_SPECIALIZE_STD_HASH ) +# include +namespace std { + +//! Support for std::hash. +//! +//! You can exclude this support by defining the macro +//! `BOOST_DYNAMIC_BITSET_NO_STD_HASH`. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +struct hash< boost::dynamic_bitset< Block, AllocatorOrContainer > >; + +} +#endif + +namespace boost { + +template< typename Iterator > +class bit_iterator_base; + +template< typename DynamicBitset > +class bit_iterator; + +template< typename DynamicBitset > +class const_bit_iterator; + +//! The `dynamic_bitset` template represents a set of bits. +//! +//! \par Template parameters +//! - `Block` +//! The integer type in which the bits are stored. Defaults to +//! `unsigned long`. +//! +//! - `AllocatorOrContainer` +//! Either an allocator (to use for all internal memory management) or +//! a container of Block's. Defaults to `std::allocator< Block >`. +//! +//! \par Concepts modeled +//! DefaultConstructible, CopyConstructible, CopyAssignable, +//! MoveConstructible, MoveAssignable, EqualityComparable, +//! LessThanComparable. +//! +//! \par Type requirements +//! `Block` is a cv-unqualified unsigned integer type other than +//! `bool`. `AllocatorOrContainer` satisfies the standard requirements for an +//! allocator +//! or is a container-like type which provides at least bidirectional +//! iterators. +// --------------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +class dynamic_bitset +{ + static_assert( (bool)detail::dynamic_bitset_impl::allowed_block_type< Block >::value, "Block type not allowed" ); + static_assert( std::is_same< Block, typename AllocatorOrContainer::value_type >::value, "Block is not the same type as AllocatorOrContainer::value_type" ); + +public: + //! The same type as `Block`. + // ----------------------------------------------------------------------- + typedef Block block_type; + + //! The allocator used for all memory allocations. + // ----------------------------------------------------------------------- + typedef typename detail::dynamic_bitset_impl::allocator_type_extractor< AllocatorOrContainer, Block >::type + allocator_type; + + //! An unsigned integral type that can represent the size of the + //! bitset. See \ref size(). + // ----------------------------------------------------------------------- + typedef std::size_t size_type; + + //! Note: Made public to cope with failures from many GCC and + //! Clang versions which seem to ignore the friend declarations + //! of `bit_iterator` and `const_bit_iterator`. + // ----------------------------------------------------------------------- + typedef typename std::conditional< + detail::dynamic_bitset_impl::is_container< AllocatorOrContainer, Block >::value, + AllocatorOrContainer, + std::vector< Block, AllocatorOrContainer > >::type buffer_type; + + //! The number of bits the type `Block` uses to represent + //! values, excluding any padding bits. Numerically equal to + //! `std::numeric_limits< Block >::digits`. + // ----------------------------------------------------------------------- + static constexpr int bits_per_block = std::numeric_limits< Block >::digits; + + //! The maximum value of `size_type`. + // ----------------------------------------------------------------------- + static constexpr size_type npos = static_cast< size_type >( -1 ); + + //! A proxy class to simulate lvalues of bit type. + //! + //! This class exists only as a helper class for + //! `dynamic_bitset`'s `operator[]`. The following list + //! describes the valid operations on the reference type. Assume + //! that `b` is an instance of `dynamic_bitset`, `i`, `j` are of + //! `size_type` and in the range `[0, b.size())`. Also, note + //! that when we write `b[ i ]` we mean an object of type + //! `reference` that was initialized from `b[ i ]`. The variable + //! `x` is a `bool`. + //! + //! - `(bool)b[ i ]` + //! + //! Returns the i-th bit of `b`. + //! + //! - `(bool)~ b[ i ]` + //! + //! Returns the opposite of the i-th bit of `b`. + //! + //! - `b[ i ].flip()` + //! + //! Flips the i-th bit of `b` and returns `b[ i ]`. + //! + //! - `x = b[ i ]` + //! + //! Assigns the i-th bit of `b` to `x`. + //! + //! - `b[ i ] = x` + //! + //! Sets the i-th bit of `b` to the value of `x` and returns + //! `b[ i ]`. + //! + //! - `b[ i ] = b[ j ]` + //! + //! Sets the i-th bit of `b` to the value of the j-th bit of + //! `b` and returns `b[ i ]`. + //! + //! - `b[ i ] |= x` + //! + //! Does an OR of the i-th bit of `b` with the value of `x` + //! and returns `b[ i ]`. + //! + //! - `b[ i ] &= x` + //! + //! Does an AND of the i-th bit of `b` with the value of `x` + //! and returns `b[ i ]`. + //! + //! - `b[ i ] ^= x` + //! + //! Does a XOR of the i-th bit of `b` with the value of `x` + //! and returns `b[ i ]`. + //! + //! - `b[ i ] -= x` + //! + //! If `x` is `true`, clears the i-th bit of `b`. Returns `b[ + //! i ]`. + //! + //! - `b[ i ] |= b[ j ]` + //! + //! Does an OR of the i-th bit of `b` with the j-th bit of `b` + //! and returns `b[ i ]`. + //! + //! - `b[ i ] &= b[ j ]` + //! + //! Does an AND of the i-th bit of `b` with the j-th bit of + //! `b` and returns `b[ i ]`. + //! + //! - `b[ i ] ^= b[ j ]` + //! + //! Does a XOR of the i-th bit of `b` with the j-th bit of `b` + //! and returns `b[ i ]`. + //! + //! - `b[ i ] -= b[ j ]` + //! + //! If the j-th bit of `b` is set, clears the i-th bit of `b`. + //! Returns `b[ i ]`. + // ----------------------------------------------------------------------- + class reference + { + friend class dynamic_bitset< Block, AllocatorOrContainer >; + friend class bit_iterator< dynamic_bitset >; + + //! The one and only non-copy ctor + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference( block_type & b, int pos ); + + public: + //! Deleted address-of operator. + // ------------------------------------------------------------------- + void operator&() = delete; + + //! Copy constructor. + //! + //! Constructs a `reference` which refers to the same bit as + //! `other`. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference( const reference & other ); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 operator bool() const; + + //! See the class description. + //! + //! \return The opposite of the value of `*this`. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator~() const; + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & flip(); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & operator=( bool x ); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & operator=( const reference & rhs ); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & operator|=( bool x ); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & operator&=( bool x ); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & operator^=( bool x ); + + //! See the class description. + // ------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference & operator-=( bool x ); + + private: + block_type & m_block; + const block_type m_mask; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void do_set(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void do_reset(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void do_flip(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void do_assign( bool x ); + }; + + //! The type bool. + // ----------------------------------------------------------------------- + typedef bool const_reference; + + friend class bit_iterator< dynamic_bitset >; + friend class const_bit_iterator< dynamic_bitset >; + + //! A read/write iterator into the bitset. + //! + //! If `AllocatorOrContainer` is an allocator type, this is a + //! C++20 RandomAccessIterator; otherwise, its category is the + //! corresponding "non-legacy" category of the iterator type of + //! the underlying container; for instance, if the underlying + //! container provides LegacyBidirectionalIterators, this is a + //! BidirectionalIterator. + // ----------------------------------------------------------------------- + typedef bit_iterator< dynamic_bitset > iterator; + + //! A read-only iterator into the bitset. + //! + //! \copydetails iterator + // ----------------------------------------------------------------------- + typedef const_bit_iterator< dynamic_bitset > const_iterator; + + //! A reverse read/write reverse iterator into the bitset. + // ----------------------------------------------------------------------- + typedef std::reverse_iterator< iterator > reverse_iterator; + + //! A reverse read-only iterator into the bitset. + // ----------------------------------------------------------------------- + typedef std::reverse_iterator< const_iterator > const_reverse_iterator; + +#if defined( __cpp_lib_ranges ) + static_assert( std::bidirectional_iterator< typename buffer_type::iterator >, "AllocatorOrContainer doesn't provide at least BidirectionalIterators" ); + static_assert( std::bidirectional_iterator< iterator > ); +#endif + + //! Constructs a bitset of size zero. + //! + //! \post + //! `this->size() == 0`. + //! + //! (Required by DefaultConstructible.) + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset(); + + //! Constructs a bitset of size zero. + //! + //! \param alloc An allocator, a copy of which will be used to + //! allocate memory when needed. + //! + //! \post + //! `this->size() == 0` + // ----------------------------------------------------------------------- + explicit BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset( const allocator_type & alloc ); + + //! Constructs a bitset from an integer. + //! + //! The first `M` bits (where `M = min( num_bits, + //! std::numeric_limits< unsigned long >::digits )`) are + //! initialized to the corresponding bits in `value` and all + //! other bits, if any, to zero. A copy of the `alloc` object + //! will be used in subsequent bitset operations such as + //! `resize()` to allocate memory. Note that, e.g., the + //! following + //! + //! \code + //! dynamic_bitset b<>( 16, 7 ); + //! \endcode + //! + //! will match the constructor from an iterator range (not this + //! one), but the underlying implementation will still "do the + //! right thing" and construct a bitset of 16 bits, from the + //! value 7. + //! + //! \param num_bits The size of the constructed bitset. + //! \param value The value to initialize the bitset from. + //! \param alloc The allocator to use. + //! + //! \post + //! - `this->size() == num_bits` + //! - For all i in the range `[0, M)`, `( *this )[ i ] == ( + //! value >> i ) & 1`. + //! - For all i in the range `[M, num_bits)`, `( *this )[ i ] == + //! false`. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + explicit BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset( size_type num_bits, unsigned long value = 0, const allocator_type & alloc = allocator_type() ); + + //! Constructs a bitset from a string of 0's and 1's. + //! + //! The size of the bitset is `num_bits` if `num_bits != npos`, + //! otherwise `rlen = min( n, s.size() - pos )`. The first `M = + //! min( num_bits, rlen )` bits are initialized to the + //! corresponding characters in `s`. Note that the highest + //! character position in `s`, not the lowest, corresponds to + //! the least significant bit. So, for example, `dynamic_bitset( + //! std::string( "1101" ))` is the same as `dynamic_bitset( + //! 13ul)`. + //! + //! \pre + //! `pos <= s.size()` and the characters used to initialize the + //! bits compare equal to either `std::use_facet< std::ctype< CharT > >( std::locale() ).widen( '0' )` + //! or `std::use_facet< std::ctype< CharT > >( std::locale() ).widen( '1' )`. E.g.: + //! `dynamic_bitset<> b( std::string( "10xyz" ), 0, 2 ); // OK`. + + //! + //! \param s The string to construct from. + //! \param pos The start position in the string. + //! \param n The maximum number of characters in the string to + //! consider. + //! \param num_bits The size of the bitset to construct, if + //! different from `npos`. + //! \param alloc The allocator to use. + // ----------------------------------------------------------------------- + template< typename CharT, typename Traits, typename Alloc > + explicit dynamic_bitset( const std::basic_string< CharT, Traits, Alloc > & s, typename std::basic_string< CharT, Traits, Alloc >::size_type pos = 0, typename std::basic_string< CharT, Traits, Alloc >::size_type n = ( std::basic_string< CharT, Traits, Alloc >::npos ), size_type num_bits = npos, const allocator_type & alloc = allocator_type() ); + + //! Similar to the constructor from a `basic_string`, but takes + //! a pointer to a C-style string (and doesn't take a `pos`). + //! + //! The size of the bitset is `num_bits` if `num_bits != npos`, + //! otherwise `rlen = min( n, std::char_traits< CharT >::length( s ) )`. + //! The first `M = min( num_bits, rlen )` bits are initialized + //! to the corresponding characters in `s`. + //! + //! \pre + //! The characters in `s` that are used to initialize the bits + //! compare equal to either `std::use_facet< std::ctype< CharT > >( std::locale() ).widen( '0' )` + //! or `std::use_facet< std::ctype< CharT > >( std::locale() ).widen( '1' )`. E.g.: + //! `dynamic_bitset<> b( "10xyz", 2 ); // OK`. + //! + //! \param s The string to construct from. + //! \param n The maximum number of characters in the string to + //! consider. + //! \param num_bits The size of the bitset to construct, if + //! different from `npos`. + //! \param alloc The allocator to use. + // ----------------------------------------------------------------------- + template< typename CharT > + explicit dynamic_bitset( const CharT * s, std::size_t n = std::size_t( -1 ), size_type num_bits = npos, const allocator_type & alloc = allocator_type() ); + +#if defined( BOOST_DYNAMIC_BITSET_USE_CPP17_OR_LATER ) + + //! Similar to the constructor from a pointer to a C-style + //! string, but takes a `std::basic_string_view`. This + //! constructor is only available if DynamicBitset is compiled + //! as C++17 or later. + //! + //! \pre + //! The characters in `sv` that are use to initialize the bits + //! compare equal to either `std::use_facet< std::ctype< CharT > >( std::locale() ).widen( '0' )` + //! or `std::use_facet< std::ctype< CharT > >( std::locale() ).widen( '1' )`. E.g.: + //! `dynamic_bitset<> b( std::string_view( "10xyz", 2 ) ); // OK`. + //! + //! \param sv The basic_string_view to construct from. + //! \param num_bits The size of the bitset to construct, if + //! different from `npos`. (Otherwise the size of the bitset is + //! `sv.length()`.) + //! \param alloc The allocator to use. + // ----------------------------------------------------------------------- + template< typename CharT, typename Traits > + explicit dynamic_bitset( std::basic_string_view< CharT, Traits > sv, size_type num_bits = npos, const allocator_type & alloc = allocator_type() ); + +#endif + + //! Constructs a bitset from a range of blocks or from an + //! integer. + //! + //! If this constructor is called with a type + //! `BlockInputIterator` which is actually an integral type, the + //! library behaves as if the constructor from `unsigned long` + //! were called, with arguments `static_cast< size_type >( first )`, + //! `last` and `alloc`, in that order. + //! + //! \par Example + //! Given: + //! + //! \code + //! dynamic_bitset< unsigned short > b( 8, 7 ); + //! \endcode + //! + //! `b` is constructed as if by calling the constructor: + //! + //! \code + //! dynamic_bitset(size_type num_bits, + //! unsigned long value = 0, + //! const allocator_type & alloc = allocator_type()) + //! \endcode + //! + //! with arguments: + //! + //! \code + //! static_cast< dynamic_bitset< unsigned short >::size_type >( 8 ), + //! 7, + //! allocator_type() + //! \endcode + //! + //! Note: + //! At the time of writing (October 2008) this is aligned with + //! the proposed resolution for library issue 438. That is a + //! post C++03 change, and is currently in the working paper for + //! C++0x. Informally speaking, the critical changes with + //! respect to C++03 are the drop of a `static_cast` on the + //! second argument, and more leeway as to when the templated + //! constructor should have the same effect as the `(size, value)` + //! one: Only when `InputIterator` is an integral type, in + //! C++03; when it is either an integral type or any other type + //! that the implementation might detect as impossible to be an + //! input iterator, with the proposed resolution. For the + //! purposes of dynamic_bitset we limit ourselves to the first + //! of these two changes. + //! + //! Otherwise (i.e. if the template argument is not an integral + //! type), constructs a bitset based on a range of blocks. Let + //! `*first` be block number 0, `\*++first` block number 1, etc. + //! Block number `b` is used to initialize the bits of the + //! dynamic_bitset in the position range `[b * bits_per_block, ( + //! b + 1 ) * bits_per_block)`. For each block number `b` with + //! value `bval`, the bit `( bval >> i ) & 1` corresponds to the + //! bit at position `b * bits_per_block + i` in the bitset + //! (where i goes through the range `[0, bits_per_block)`). + //! \pre + //! `BlockInputIterator` must be either an integral type or a + //! model of LegacyInputIterator + //! whose `value_type` is the same type as `Block`. + //! + //! \param first `numbits` if the template argument is an + //! integral type, otherwise the start of the range. + //! \param last `value` if the template argument is an integral + //! type, otherwise the end of the range. + //! \param alloc The allocator to use. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + template< typename BlockInputIterator > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset( BlockInputIterator first, BlockInputIterator last, const allocator_type & alloc = allocator_type() ); + + //! Copy constructor. + //! + //! Constructs a bitset that is a copy of the bitset `b`. The + //! allocator for this bitset is a copy of the allocator of `b`. + //! + //! \post + //! For all i in the range `[0, b.size())`, `( *this )[ i ] == + //! b[ i ]`. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + //! + //! (Required by CopyConstructible.) + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset( const dynamic_bitset & b ); + + //! Copy assignment operator. + //! + //! This bitset becomes a copy of the bitset `b`. + //! + //! \post + //! For all `i` in the range `[0, x.size())`, `( *this )[ i ] == + //! b[ i ]`. + //! + //! \return + //! `*this`. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + //! (Required by CopyAssignable.) + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator=( const dynamic_bitset & b ); + + //! Destructor. + //! + //! Releases the memory associated with this bitset and destroys + //! the bitset object itself. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 ~dynamic_bitset(); + + //! Returns a read/write iterator that refers to the least + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 iterator begin(); + + //! Returns a read-only iterator that refers to the least + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_iterator begin() const; + + //! Returns a read/write iterator that refers one past the most + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 iterator end(); + + //! Returns a read-only iterator that refers one past the most + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_iterator end() const; + + //! Returns a read/write reverse iterator that refers to the + //! most significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reverse_iterator rbegin(); + + //! Returns a read-only reverse iterator that refers to the most + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_reverse_iterator rbegin() const; + + //! Returns a read/write reverse iterator that refers to one + //! before the least significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reverse_iterator rend(); + + //! Returns a read-only reverse iterator that refers to one + //! before the least significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_reverse_iterator rend() const; + + //! Returns a read-only iterator that refers to the least + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_iterator cbegin() const; + + //! Returns a read-only iterator that refers to one past the + //! most significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_iterator cend() const; + + //! Returns a read-only reverse iterator that refers to the most + //! significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_reverse_iterator crbegin() const; + + //! Returns a read-only reverse iterator that refers to one + //! before the least significant bit in the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_reverse_iterator crend() const; + + //! Swaps the contents of this bitset and bitset `b`. + //! + //! \param b The bitset to be swapped with `*this`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void swap( dynamic_bitset & b ) noexcept; + + //! Move constructor. + //! + //! Constructs a bitset that is the same as the bitset `src`, + //! while using the resources from `src`. The allocator for this + //! bitset is moved from the allocator in `src`. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset( dynamic_bitset && src ); + + //! Move assignment operator. + //! + //! This bitset becomes the same as the bitset `src`, while + //! using the resources from `src`. + //! + //! \return + //! `*this`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator=( dynamic_bitset && src ); + + //! Returns a copy of the allocator object used to construct + //! `*this`. + //! + //! \return A copy of the said allocator. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 allocator_type get_allocator() const; + + //! Changes the number of bits of the bitset to `num_bits`. + //! + //! If `num_bits >= size()` then the bits in the range `[0, + //! size())` remain the same, and the bits in `[size(), num_bits)` + //! are all set to `value`. If `num_bits < size()` then the bits + //! in the range `[0, num_bits)` stay the same (and the + //! remaining bits are discarded). + //! + //! \param num_bits The new size of the bitset. + //! \param value The value to set any new bit to. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void resize( size_type num_bits, bool value = false ); + + //! Clears the bitset, i.e. makes its size zero. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void clear(); + + //! Increases the size of the bitset by one, and sets the value + //! of the new most significant bit to `bit`. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + //! + //! \param bit The value to set the most significant bit to. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void push_back( bool bit ); + + //! Increases the size of the bitset by one, and sets the value + //! of the new least significant bit to `bit`. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + //! + //! \param bit The value to set the least significant bit to. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void push_front( bool bit ); + + //! Decreases the size of the bitset by one, removing the most + //! significant bit. + //! + //! \pre + //! `! this->empty()`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void pop_back(); + + //! Decreases the size of the bitset by one, removing the least + //! significant bit. + //! + //! \pre + //! `! this->empty()`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void pop_front(); + + //! Appends the bits in `block` to this bitset (appends to the + //! most significant end). This increases the size of the bitset + //! by `bits_per_block`. Let `s` be the old size of the bitset, + //! then for `i` in the range `[0, bits_per_block)`, the bit at + //! position `s + i` is set to `( block >> i ) & 1`. + //! + //! \param block The block to append. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void append( Block block ); + + //! Appends a range of blocks to `*this`. + //! + //! This member provides the same end result as the following + //! code, but is typically more efficient. + //! + //! \code + //! for (; first != last; ++first) { + //! append( *first ); + //! } + //! \endcode + //! + //! \pre + //! The `BlockInputIterator` type must be a model of + //! LegacyInputIterator + //! and its value_type must be the same type as Block. + //! + //! \param first The start of the range. + //! \param last The end of the range. + // ----------------------------------------------------------------------- + template< typename BlockInputIterator > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void append( BlockInputIterator first, BlockInputIterator last ); // strong guarantee + + //! Bitwise-ANDs all the bits in this bitset with the bits in + //! `b`. + //! + //! This is equivalent to: + //! \code + //! for ( size_type i = 0; i != this->size(); ++ i ) { + //! ( *this )[ i ] = ( *this )[ i ] & b[ i ]; + //! } + //! \endcode + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator&=( const dynamic_bitset & b ); + + //! Bitwise-ORs all the bits in this bitset with the bits in + //! `b`. + //! + //! This is equivalent to: + //! \code + //! for ( size_type i = 0; i != this->size(); ++ i ) { + //! ( *this )[ i ] = ( *this )[ i ] | b[ i ]; + //! } + //! \endcode + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator|=( const dynamic_bitset & b ); + + //! Bitwise-XORs all the bits in this bitset with the bits in + //! `b`. + //! + //! This is equivalent to: + //! \code + //! for ( size_type i = 0; i != this->size(); ++ i ) { + //! ( *this )[ i ] = ( *this )[ i ] ^ b[ i ]; + //! } + //! \endcode + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator^=( const dynamic_bitset & b ); + + //! Computes the set difference of this bitset and the `b` + //! bitset. + //! + //! This is equivalent to: + //! \code + //! for ( size_type i = 0; i != this->size(); ++ i ) { + //! ( *this )[ i ] = ( *this )[ i ] && ! b[ i ]; + //! } + //! \endcode + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator-=( const dynamic_bitset & b ); + + //! Shifts the bits in this bitset to the left by `n` positions. + //! + //! For each bit in the bitset, the bit at position `pos` takes + //! on the previous value of the bit at position `pos - n`, or + //! zero if no such bit exists. + //! + //! \return + //! `*this`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator<<=( size_type n ); + + //! Shifts the bits in this bitset to the right by `n` + //! positions. + //! + //! For each bit in the bitset, the bit at position `pos` takes + //! on the previous value of the bit at position `pos + n`, or + //! zero if no such bit exists. + //! + //! \return + //! `*this`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & operator>>=( size_type n ); + + //! Returns a shifted copy of `*this`. + //! + //! \return + //! A copy of `*this` shifted to the left by `n` positions. For + //! each bit in the returned bitset, the bit at position `pos` + //! takes on the value of the bit at position `pos - n` of this + //! bitset, or zero if no such bit exists. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset operator<<( size_type n ) const; + + //! Returns a shifted copy of `*this`. + //! + //! \return + //! A copy of `*this` shifted to the right by `n` positions. For + //! each bit in the returned bitset, the bit at position `pos` + //! takes on the value of the bit at position `pos + n` of this + //! bitset, or zero if no such bit exists. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset operator>>( size_type n ) const; + + //! Sets the bits in the range `[pos, pos + len)` to `val`. + //! + //! If `len` is zero, does nothing. Otherwise, sets all the bits + //! in this bitset which have a position in `[pos, pos + len - + //! 1]` to `val`. + //! + //! \pre + //! `pos + len <= this->size()`. + //! + //! \param pos The position of the first bit to set. + //! \param len The number of bits to set. + //! \param val The value to set the bits to. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & set( size_type pos, size_type len, bool val /* = true */ ); // default would make it ambiguous + + //! Sets the bit at position `pos` in this bitset to `val`. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \param pos The position of the bit to set or clear. + //! \param val The value to set the bit to. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & set( size_type pos, bool val = true ); + + //! Sets all the bits in this bitset. + //! + //! \return + //! `*this`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & set(); + + //! If `len` is zero, does nothing. Otherwise, resets all the + //! bits in this bitset which have a position in `[pos, pos + + //! len - 1]`. + //! + //! \pre + //! `pos + len <= this->size()`. + //! + //! \oaram pos The position of the lowest bit to reset. + //! \param len The number of bits to reset. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & reset( size_type pos, size_type len ); + + //! Resets the bit in this bitset at position `pos`. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \param pos The position of the bit to reset. + //! + //! \return + //! `this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & reset( size_type pos ); + + //! Resets all the bits in this bitset. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & reset(); + + //! Toggles the bits in the range `[pos, pos + len)`. + //! + //! If `len` is zero, does nothing. Otherwise, toggles all the + //! bits in this bitset which have a position in `[pos, pos + + //! len - 1]`. + //! + //! \pre + //! `pos + len <= this->size()`. + //! + //! \param pos The position of the lowest bit to toggle. + //! \param len The number of bits to toggle. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & flip( size_type pos, size_type len ); + + //! Toggles the bit at position `pos` in this bitset. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \param pos The position of the bit to toggle. + //! + //! \return + //! `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & flip( size_type pos ); + + //! Toggles the value of every bit in this bitset. + //! + //! \return + //! `*this`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & flip(); + + //! A checked version of `operator[]()`. + //! + //! \param pos The position of the bit to test. + //! + //! \return + //! The same as `operator[]( pos )`. + //! + //! \par Throws + //! `std::out_of_range` if `pos` is not within the range of the + //! bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference at( size_type pos ); + + //! A checked version of `operator[]()`. + //! + //! \param pos The position of the bit to test. + //! + //! \return + //! The same as `operator[]( pos )`. + //! + //! \par Throws + //! `std::out_of_range` if `pos` is not within the range of the + //! bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool at( size_type pos ) const; + + //! Tests the bit at the given position. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \param pos The position of the bit to test. + //! + //! \return + //! `true` if bit `pos` is set, and `false` if it is zero. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool test( size_type pos ) const; + + //! Sets bit `pos` if `val` is `true`, and clears it if `val` is + //! `false`. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \param pos The position of the bit to set or clear. + //! \param val The value to set the bit at position `pos` to. + //! + //! \return + //! The previous state of bit `pos`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool test_set( size_type pos, bool val = true ); + + //! Checks whether all bits in `*this` are set. + //! + //! \return + //! `true` if all bits in this bitset are set or if `size() == + //! 0`; otherwise `false`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool all() const; + + //! Checks whether any bits in `*this` are set. + //! + //! \return + //! `true` if any bits in this bitset are set, otherwise + //! `false`. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool any() const; + + //! Checks whether this bitset has no set bit. + //! + //! \return + //! `true` if no bits in this bitset are set, otherwise `false`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool none() const; + + //! Returns a copy of `*this` with all of its bits toggled. + //! + //! \return A copy of `*this` with all of its bits toggled. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset operator~() const; + + //! Returns the number of bits in this bitset that are set. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type count() const noexcept; + + //! Returns a `reference` to the bit at position `pos`. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \return + //! A `reference` to bit `pos`. Note that `reference` is a proxy + //! class with an assignment operator and a conversion to + //! `bool`, which allows you to use `operator[]` for assignment. + //! That is, you can write both `x = b[ n ]` and `b[ n ] = x`. + //! However, in many other respects the proxy is not the same as + //! the true reference type `bool &`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference operator[]( size_type pos ); + + //! The same as `test( pos )`. + //! + //! \pre + //! `pos < this->size()`. + //! + //! \return + //! The same as `test( pos )`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator[]( size_type pos ) const; + + //! Returns the numeric value corresponding to the bits in + //! `*this`. + //! + //! \par Throws + //! `std::overflow_error` if that value is too large to be + //! represented in an `unsigned long`, i.e. if `*this` has any + //! non-zero bit at a position >= `std::numeric_limits< unsigned + //! long >::digits`. + //! + //! \return + //! The numeric value corresponding to the bits in `*this`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 unsigned long to_ulong() const; + + //! Returns the number of bits in this bitset. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type size() const noexcept; + + //! Returns the number of blocks in this bitset. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type num_blocks() const noexcept; + + //! Returns the maximum size of a bitset of this type. + //! + //! \par Throws + //! Nothing. + //! + //! \return + //! The maximum size of a `dynamic_bitset` object having the + //! same type as `*this`. Note that if any `dynamic_bitset` + //! operation causes `size()` to exceed `max_size()` then + //! the behavior is undefined. + //! + //! [The semantics of this function could change slightly when + //! lib issue 197 will be closed.] + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type max_size() const noexcept; + + //! Checks whether this bitset has size zero. + //! + //! \return + //! `this->size() == 0`. + //! + //! \par Note + //! Not to be confused with `none()`, which has different + //! semantics. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool empty() const noexcept; + + //! Returns the total number of elements that `*this` can hold + //! without requiring reallocation. + //! + //! \return The abovementioned number of elements. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type capacity() const noexcept; + + //! Informs the bitset of a planned change in size, so that it + //! can manage the storage allocation accordingly. + //! + //! After `reserve()`, `capacity()` is greater or equal to the + //! argument of `reserve()` if reallocation happens; and equal + //! to the previous value of `capacity()` otherwise. + //! Reallocation happens at this point if and only if the + //! current capacity is less than the argument of `reserve()`. + //! + //! \param num_bits The number of bits the bitset should be able + //! to store without reallocation. + //! + //! \par Note + //! It does not change the size of the bitset. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void reserve( size_type num_bits ); + + //! Requests the bitset to reduce memory use by removing unused + //! capacity. + //! + //! \par Note + //! It does not change the size of the bitset. + //! + //! \par Throws + //! An allocation error if memory is exhausted (`std::bad_alloc` + //! if `allocator_type` is a `std::allocator`). + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void shrink_to_fit(); + + //! Checks whether `*this` is a subset of `b`. + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \param b The bitset to test `*this` against. + //! + //! \return + //! `true` if this bitset is a subset of bitset `b`. That is, it + //! returns `true` if, for every bit that is set in this bitset, + //! the corresponding bit in bitset `b` is also set. Otherwise + //! this function returns `false`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool is_subset_of( const dynamic_bitset & b ) const; + + //! Checks whether `*this` is a proper subset of `b`. + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \param b The bitset to test `*this` against. + //! + //! \return + //! `true` if this bitset is a proper subset of bitset `b`. That + //! is, it returns `true` if, for every bit that is set in this + //! bitset, the corresponding bit in bitset a is also set and if + //! `this->count() < b.count()`. Otherwise this function returns + //! `false`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool is_proper_subset_of( const dynamic_bitset & b ) const; + + //! Checks whether `*this` intersects with `b`. + //! + //! \pre + //! `this->size() == b.size()`. + //! + //! \param b The bitset to test `*this` against. + //! + //! \return + //! `true` if this bitset and `b` intersect. That is, it returns + //! `true` if there is a bit which is set in this bitset, such + //! that the corresponding bit in bitset `b` is also set. + //! Otherwise this function returns `false`. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool intersects( const dynamic_bitset & b ) const; + + //! Finds the first set bit in `*this` with an index >= `pos`, + //! if any. + //! + //! \return + //! The lowest index `i` greater than or equal to `pos` such + //! that bit `i` is set in `*this`, or `npos` if no such index + //! exists. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type find_first( size_type pos = 0 ) const; + + //! Finds the first unset bit in `*this` with an index >= `pos`, + //! if any. + //! + //! \param pos The lower bound (inclusively) to start the search + //! from. + //! + //! \return + //! The lowest index `i` greater than or equal to `pos` such + //! that bit `i` is unset in `*this`, or `npos` if no such index + //! exists. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type find_first_off( size_type pos = 0 ) const; + + //! Finds the first bit set in `*this` with an index > `pos`, if + //! any. + //! + //! \param pos The lower bound (exclusively) to start the search + //! from. + //! + //! \return + //! The lowest index `i` greater than `pos` such that bit `i` is + //! set, or `npos` if no such index exists. + //! + //! \par Throws + //! Nothing. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type find_next( size_type pos ) const; + + //! Finds the first unset bit in `*this` with an index > `pos`, + //! if any. + //! + //! \param pos The lower bound (exclusively) to start the search + //! from. + //! + //! \return + //! The lowest index `i` greater than `pos` such that bit `i` is + //! unset, or `npos` if no such index exists. + // ----------------------------------------------------------------------- + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type find_next_off( size_type pos ) const; + + template< typename B, typename A > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator==( const dynamic_bitset< B, A > & a, const dynamic_bitset< B, A > & b ); + + template< typename B, typename A > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator<( const dynamic_bitset< B, A > & a, const dynamic_bitset< B, A > & b ); + + template< typename B, typename A, typename BlockOutputIterator > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 void to_block_range( const dynamic_bitset< B, A > & b, BlockOutputIterator result ); + + template< typename BlockIterator, typename B, typename A > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 void from_block_range( BlockIterator first, BlockIterator last, dynamic_bitset< B, A > & result ); + + template< typename CharT, typename Traits, typename B, typename A > + friend std::basic_istream< CharT, Traits > & operator>>( std::basic_istream< CharT, Traits > & is, dynamic_bitset< B, A > & b ); + + template< typename B, typename A, typename StringT > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 void to_string_helper( const dynamic_bitset< B, A > & b, StringT & s, bool dump_all ); + + //! Computes a hash value for a `dynamic_bitset`. + //! + //! This enables the use of `dynamic_bitset` in hash-based + //! containers such as `boost::unordered_map` or + //! `boost::unordered_set`. + //! + //! \return The computed hash value. + // ----------------------------------------------------------------------- + template< typename B, typename A > + friend std::size_t hash_value( const dynamic_bitset< B, A > & a ); + + //! Optional zero-copy serialization support. + // ----------------------------------------------------------------------- + class serialize_impl; + friend class serialize_impl; + +private: + static constexpr int ulong_width = std::numeric_limits< unsigned long >::digits; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset & range_operation( size_type pos, size_type len, Block ( *partial_block_operation )( Block, size_type, size_type ), Block ( *full_block_operation )( Block ) ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void m_zero_unused_bits(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool m_check_invariants() const; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static bool m_not_empty( Block x ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static bool m_not_full( Block x ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type m_do_find_from( size_type first_block, bool value ) const; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 int count_extra_bits() const noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static size_type block_index( size_type pos ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static int bit_index( size_type pos ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block bit_mask( size_type pos ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block bit_mask( size_type first, size_type last ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block set_block_bits( Block block, size_type first, size_type last, bool val ) noexcept; + + // Functions for operations on ranges + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block set_block_partial( Block block, size_type first, size_type last ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block set_block_full( Block ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block reset_block_partial( Block block, size_type first, size_type last ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block reset_block_full( Block ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block flip_block_partial( Block block, size_type first, size_type last ) noexcept; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 static Block flip_block_full( Block block ) noexcept; + + template< typename T > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void dispatch_init( T num_bits, unsigned long value, detail::dynamic_bitset_impl::value_to_type< true > ); + + template< typename T > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void dispatch_init( T first, T last, detail::dynamic_bitset_impl::value_to_type< false > ); + + template< typename BlockIter > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void init_from_block_range( BlockIter first, BlockIter last ); + + template< typename CharT, typename Traits = std::char_traits< CharT > > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void init_from_string( const CharT * s, std::size_t string_length, std::size_t pos, std::size_t n, size_type num_bits ); + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void init_from_unsigned_long( size_type num_bits, unsigned long value /*, + const allocator_type& alloc*/ + ); + + template< typename BlockInputIterator > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void m_append( BlockInputIterator first, BlockInputIterator last, std::input_iterator_tag ); + + template< typename BlockInputIterator > + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void m_append( BlockInputIterator first, BlockInputIterator last, std::forward_iterator_tag ); + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool m_unchecked_test( size_type pos ) const; + static BOOST_DYNAMIC_BITSET_CONSTEXPR20 size_type calc_num_blocks( size_type num_bits ); + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block & m_highest_block(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const Block & m_highest_block() const; + + buffer_type m_bits; + size_type m_num_bits; + + class bit_appender; + friend class bit_appender; + class bit_appender + { + // Helper for stream >>. + // + // Makes up for the lack of an efficient append at the least + // significant end: bits are actually appended "at left" but + // rearranged in the destructor. + // + dynamic_bitset & bs; + size_type n; + Block mask; + Block * current; + + public: + bit_appender( const bit_appender & ) = delete; + bit_appender & operator=( const bit_appender & ) = delete; + + bit_appender( dynamic_bitset & r ); + ~bit_appender(); + void do_append( bool value ); + size_type get_count() const; + }; +}; + +template< typename Iterator > +class bit_iterator_base +{ +public: + typedef typename Iterator::iterator_category iterator_category; + typedef bool value_type; + typedef std::ptrdiff_t difference_type; + typedef value_type * pointer; + typedef value_type & reference; + + static constexpr int bits_per_block = std::numeric_limits< typename Iterator::value_type >::digits; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator_base( Iterator block_iterator, int bit_index ); + + template< typename Iter > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator==( const bit_iterator_base< Iter > & lhs, const bit_iterator_base< Iter > & rhs ); + template< typename Iter > + friend BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator<( const bit_iterator_base< Iter > & lhs, const bit_iterator_base< Iter > & rhs ); + +protected: + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void increment(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void decrement(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 void add( typename Iterator::difference_type n ); + + Iterator m_block_iterator; + int m_bit_index = 0; +}; + +template< typename DynamicBitset > +class bit_iterator + : public bit_iterator_base< typename DynamicBitset::buffer_type::iterator > +{ +public: + typedef typename DynamicBitset::reference reference; + typedef reference * pointer; + typedef typename bit_iterator_base< typename DynamicBitset::buffer_type::iterator >::difference_type difference_type; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator( typename DynamicBitset::buffer_type::iterator block_iterator, int bit_index ); + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference operator*() const; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator & operator++(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator operator++( int ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator & operator--(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator operator--( int ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator & operator+=( difference_type n ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator & operator-=( difference_type n ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 reference operator[]( difference_type n ) const; +}; + +template< typename DynamicBitset > +class const_bit_iterator + : public bit_iterator_base< typename DynamicBitset::buffer_type::const_iterator > +{ +public: + typedef bool reference; + typedef bool const_reference; + typedef const bool * pointer; + typedef typename bit_iterator_base< typename DynamicBitset::buffer_type::const_iterator >::difference_type difference_type; + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator( typename DynamicBitset::buffer_type::const_iterator block_iterator, int bit_index ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator( const bit_iterator< DynamicBitset > & it ); + + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_reference operator*() const; + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator & operator++(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator operator++( int ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator & operator--(); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator operator--( int ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator & operator+=( difference_type n ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator & operator-=( difference_type n ); + BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_reference operator[]( difference_type n ) const; +}; + +//! Compares two bitsets. +//! +//! \return +//! `true` if `a.size() == b.size()` and for all `i` in the range +//! `[0, a.size())`, `a[ i ] == b[ i ]`. Otherwise `false`. +//! +//! \par Throws +//! Nothing. +//! +//! (Required by EqualityComparable.) +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator==( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Compares two bitsets. +//! +//! \return +//! `! ( a == b )`. +//! +//! \par Throws +//! Nothing. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator!=( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Compares two bitsets. +//! +//! \return +//! `true` if `a` is lexicographically less than `b`, otherwise +//! `false`. +//! +//! \par Throws +//! Nothing. +//! +//! (Required by LessThanComparable.) +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator<( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Compares two bitsets. +//! +//! \return +//! `a < b || a == b`. +//! +//! \par Throws +//! Nothing. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator<=( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Compares two bitsets. +//! +//! \return +//! `b < a`. +//! +//! \par Throws +//! Nothing. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator>( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Compares two bitsets. +//! +//! \return +//! `b <= a`. +//! +//! \par Throws +//! Nothing. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool operator>=( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Inserts a textual representation of `b` into the stream `os`, +//! highest bit first. +//! +//! Informally, the output is the same as: +//! +//! \code +//! std::basic_string s; +//! boost::to_string(x, s): +//! os << s; +//! \endcode +//! +//! except that the stream inserter takes into accout the locale +//! imbued into `os`, which `boost::to_string()` can't do. More +//! precisely: First, for each valid position `i` into the bitset b +//! let's put: `character_of( b[ i ) ] ) = b[ i ] ? os.widen( '1' ) +//! : os.widen( '0' );`. Let also `s` be a `std::basic_string` object, having length `b.size()` and such that, for +//! each `i` in `[0, b.size())`, `s[ i ]` is `character_of( b[ i ] +//! )`. Then, the output, the effects on `os` and the exception +//! behavior is the same as outputting the object `s` to `os` (same +//! width, same exception mask, same padding, same `setstate()` +//! logic.) +//! +//! \return +//! `os`. +// ----------------------------------------------------------------------- +template< typename CharT, typename Traits, typename Block, typename AllocatorOrContainer > +std::basic_ostream< CharT, Traits > & +operator<<( std::basic_ostream< CharT, Traits > & os, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Extracts a `dynamic_bitset` from an input stream. +//! +//! \par Definitions +//! - A (non-eof) character `c` extracted from `is` is a bitset +//! digit if and only if either `Traits::eq(c, is.widen('0'))` +//! or `Traits::eq(c, is.widen('1'))` return `true`. +//! +//! - If `c` is a bitset digit, its corresponding bit value is 0 if +//! `Tr::eq(c, is.widen('0'))` returns true, 1 otherwise. +//! +//! The extractor begins by constructing a `sentry` object `k` as if +//! by `typename std::basic_istream< Char, Traits >::sentry k( is +//! )`. If `bool( k )` is `true`, it calls `b.clear()` then attempts +//! to extract characters from `is`. For each character `c` that is +//! a bitset digit, the corresponding bit value is appended to the +//! less significant end of `b` (appending may throw). If +//! `is.width()` is greater than zero and smaller than +//! `b.max_size()` then the maximum number `n` of bits appended is +//! `is.width()`; otherwise `n = b.max_size()`. Unless the extractor +//! is exited via an exception, characters are extracted (and +//! corresponding bits appended) until any of the following occurs: +//! +//! - `n` bits are stored into the bitset; +//! - end-of-file, or an error, occurs on the input sequence; +//! - the next available input character isn't a bitset digit. +//! +//! If no exception caused the function to exit then `is.width( 0 )` +//! is called, regardless of how many characters were actually +//! extracted. The sentry object `k` is destroyed. +//! +//! If the function extracts no characters, it calls `is.setstate( +//! std::ios::failbit )`, which may throw `std::ios_base::failure`. +//! +//! \return +//! `is`. +// ----------------------------------------------------------------------- +template< typename CharT, typename Traits, typename Block, typename AllocatorOrContainer > +std::basic_istream< CharT, Traits > & +operator>>( std::basic_istream< CharT, Traits > & is, dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Performs a bitwise-AND of two bitsets. +//! +//! \pre +//! `a.size() == b.size()`. +//! +//! \return +//! A new bitset which is the bitwise-AND of the bitsets `a` and +//! `b`. +//! +//! \par Throws +//! An allocation error if memory is exhausted (`std::bad_alloc` if +//! `AllocatorOrContainer` is a `std::allocator`). +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator&( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Performs a bitwise-OR of two bitsets. +//! +//! \pre +//! `a.size() == b.size()`. +//! +//! \return +//! A new bitset which is the bitwise-OR of the bitsets `a` and `b`. +//! +//! \par Throws +//! An allocation error if memory is exhausted (`std::bad_alloc` if +//! `allocator_type` is a `std::allocator`). +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator|( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Performs a bitwise-XOR of two bitsets. +//! +//! \pre +//! `a.size() == b.size()`. +//! +//! \return +//! A new bitset which is the bitwise-XOR of the bitsets `a` and +//! `b`. +//! +//! \par Throws +//! An allocation error if memory is exhausted (`std::bad_alloc` if +//! `allocator_type` is a `std::allocator`). +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator^( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Calculates the set difference of two bitsets. +//! +//! \pre +//! `a.size() == b.size()`. +//! +//! \return +//! A new bitset which is the set difference of the bitsets `a` and +//! `b`. +//! +//! \par Throws +//! An allocation error if memory is exhausted (`std::bad_alloc` if +//! `allocator_type` is a `std::allocator`). +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator-( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ); + +//! Exchanges the contents of `a` and `b`. +//! +//! \param a The bitset to exchange the contents of with `b`. +//! \param b The bitset to exchange the contents of with `a`. +//! +//! \par Throws +//! Nothing. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void swap( dynamic_bitset< Block, AllocatorOrContainer > & a, dynamic_bitset< Block, AllocatorOrContainer > & b ) noexcept; + +//! Copies a representation of `b` into the string `s`. +//! +//! Character position `i` in the string corresponds to bit position +//! `b.size() - 1 - i`. +//! +//! \par Throws +//! An allocation error from `s` if memory is exhausted. +//! +//! \par Rationale +//! This function is not a member function taking zero arguments and +//! returning a string for a couple of historical reasons. First, this +//! version could be slightly more efficient because the string is not +//! copied. Second, as a member function, to allow for flexibility with +//! regards to the template parameters of `basic_string`, the member +//! function would require explicit template parameters. Few C++ programmers +//! were familiar with explicit template parameters, and some C++ compilers +//! did not handle them properly. +//! +//! \param b The bitset of which to copy the representation. +//! \param s The string in which to copy the representation. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer, typename StringT > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +to_string( const dynamic_bitset< Block, AllocatorOrContainer > & b, StringT & s ); + +//! Writes the bits of the bitset into the iterator `result`, a +//! block at a time. +//! +//! The first block written represents the bits in the position +//! range `[0, bits_per_block)` in the bitset, the second block +//! written the bits in the range `[bits_per_block, 2 \* bits_per_block)`, +//! and so on. For each block `bval` written, the bit +//! `( bval >> i ) & 1` corresponds to the bit at position +//! `b \* bits_per_block + i` in the bitset. +//! +//! \pre +//! The type `BlockOutputIterator` must be a model of +//! LegacyOutputIterator +//! and its `value_type` must be the same type as `Block`. +//! Furthermore, the size of the output range must be greater than +//! or equal to `b.num_blocks()`. +//! +//! \param b The bitset of which to copy the bits. +//! \param result The start of the range to write to. +// ----------------------------------------------------------------------- +template< typename Block, typename AllocatorOrContainer, typename BlockOutputIterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +to_block_range( const dynamic_bitset< Block, AllocatorOrContainer > & b, BlockOutputIterator result ); + +//! Reads blocks from the iterator range into the bitset. +//! +//! \pre +//! The type `BlockIterator` must be a model of +//! LegacyInputIterator +//! and its `value_type` must be the same type as `Block`. The size +//! of the iterator range must be less than or equal to +//! `b.num_blocks()`. +//! +//! \param first The start of the range. +//! \param last The end of the range. +//! \param result The resulting bitset. +// ----------------------------------------------------------------------- +template< typename BlockIterator, typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +from_block_range( BlockIterator first, BlockIterator last, dynamic_bitset< Block, AllocatorOrContainer > & result ); + +} + +#include "boost/dynamic_bitset/impl/dynamic_bitset.ipp" +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset/impl/dynamic_bitset.ipp b/external/include/boost_1_90_0/boost/dynamic_bitset/impl/dynamic_bitset.ipp new file mode 100644 index 0000000000..745f2a7152 --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset/impl/dynamic_bitset.ipp @@ -0,0 +1,2237 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2006, 2008, 2025 Gennaro Prota +// Copyright (c) 2014 Ahmed Charles +// +// Copyright (c) 2014 Glen Joseph Fernandes +// (glenjofe@gmail.com) +// +// Copyright (c) 2014 Riccardo Marcangelo +// Copyright (c) 2018 Evgeny Shulgin +// +// 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) +// +// ----------------------------------------------------------- + +#include "boost/assert.hpp" +#include "boost/core/bit.hpp" +#include "boost/core/no_exceptions_support.hpp" +#include "boost/dynamic_bitset/detail/lowest_bit.hpp" +#include "boost/functional/hash/hash.hpp" +#include "boost/throw_exception.hpp" +#include +#include +#include +#include +#include +#include +#include + +namespace boost { + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >::reference::reference( block_type & b, int pos ) + : m_block( b ), m_mask( ( BOOST_ASSERT( pos < bits_per_block ), block_type( 1 ) << pos ) ) +{ +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer >::reference::reference( const reference & other ) = default; + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer >::reference:: + operator bool() const +{ + return ( m_block & m_mask ) != 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator~() const +{ + return ( m_block & m_mask ) == 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::flip() +{ + do_flip(); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator=( bool x ) +{ + do_assign( x ); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator=( const reference & rhs ) +{ + do_assign( rhs ); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator|=( bool x ) +{ + if ( x ) { + do_set(); + } + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator&=( bool x ) +{ + if ( ! x ) { + do_reset(); + } + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator^=( bool x ) +{ + if ( x ) { + do_flip(); + } + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference & +dynamic_bitset< Block, AllocatorOrContainer >::reference::operator-=( bool x ) +{ + if ( x ) { + do_reset(); + } + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::reference::do_set() +{ + m_block |= m_mask; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::reference::do_reset() +{ + m_block &= ~m_mask; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::reference::do_flip() +{ + m_block ^= m_mask; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::reference::do_assign( bool x ) +{ + if ( x ) { + do_set(); + } else { + do_reset(); + } +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +bit_iterator_base< Iterator >::bit_iterator_base( Iterator block_iterator, int bit_index ) + : m_block_iterator( block_iterator ) + , m_bit_index( bit_index ) +{ + BOOST_ASSERT( 0 <= bit_index && bit_index < bits_per_block ); +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +bit_iterator_base< Iterator >::increment() +{ + ++m_bit_index; + if ( m_bit_index == bits_per_block ) { + m_bit_index = 0; + ++m_block_iterator; + } +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +bit_iterator_base< Iterator >::decrement() +{ + --m_bit_index; + if ( m_bit_index < 0 ) { + m_bit_index = bits_per_block - 1; + --m_block_iterator; + } +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +bit_iterator_base< Iterator >::add( typename Iterator::difference_type n ) +{ + typename Iterator::difference_type d = m_bit_index + n; + m_block_iterator += d / bits_per_block; + d %= bits_per_block; + if ( d < 0 ) { + d += bits_per_block; + --m_block_iterator; + } + m_bit_index = static_cast< int >( d ); +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator==( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return lhs.m_block_iterator == rhs.m_block_iterator && lhs.m_bit_index == rhs.m_bit_index; +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator!=( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return ! ( lhs == rhs ); +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator<( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return lhs.m_block_iterator < rhs.m_block_iterator + || ( lhs.m_block_iterator == rhs.m_block_iterator && lhs.m_bit_index < rhs.m_bit_index ); +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator<=( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return ! ( rhs < lhs ); +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator>( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return rhs < lhs; +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator>=( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return ! ( lhs < rhs ); +} + +template< typename Iterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 std::ptrdiff_t + operator-( const bit_iterator_base< Iterator > & lhs, const bit_iterator_base< Iterator > & rhs ) +{ + return ( lhs.m_block_iterator - rhs.m_block_iterator ) * bit_iterator_base< Iterator >::bits_per_block + + lhs.m_bit_index - rhs.m_bit_index; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +bit_iterator< DynamicBitset >::bit_iterator() + : bit_iterator_base< typename DynamicBitset::buffer_type::iterator >() +{ +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +bit_iterator< DynamicBitset >::bit_iterator( typename DynamicBitset::buffer_type::iterator block_iterator, int bit_index ) + : bit_iterator_base< typename DynamicBitset::buffer_type::iterator >( block_iterator, bit_index ) +{ +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename DynamicBitset::reference +bit_iterator< DynamicBitset >::operator*() const +{ + return reference( *( this->m_block_iterator ), this->m_bit_index ); +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > & + bit_iterator< DynamicBitset >::operator++() +{ + this->increment(); + return *this; +} +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > + bit_iterator< DynamicBitset >::operator++( int ) +{ + bit_iterator temp = *this; + this->increment(); + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > & + bit_iterator< DynamicBitset >::operator--() +{ + this->decrement(); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > + bit_iterator< DynamicBitset >::operator--( int ) +{ + bit_iterator temp = *this; + this->decrement(); + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > & + bit_iterator< DynamicBitset >::operator+=( difference_type n ) +{ + this->add( n ); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > & + bit_iterator< DynamicBitset >::operator-=( difference_type n ) +{ + this->add( -n ); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > + operator+( const bit_iterator< DynamicBitset > & it, typename bit_iterator< DynamicBitset >::difference_type n ) +{ + bit_iterator< DynamicBitset > temp = it; + temp += n; + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > + operator+( typename bit_iterator< DynamicBitset >::difference_type n, const bit_iterator< DynamicBitset > & it ) +{ + return it + n; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bit_iterator< DynamicBitset > + operator-( const bit_iterator< DynamicBitset > & it, typename bit_iterator< DynamicBitset >::difference_type n ) +{ + bit_iterator< DynamicBitset > temp = it; + temp -= n; + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename DynamicBitset::reference +bit_iterator< DynamicBitset >::operator[]( difference_type n ) const +{ + return *( *this + n ); +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +const_bit_iterator< DynamicBitset >::const_bit_iterator( typename DynamicBitset::buffer_type::const_iterator block_iterator, int bit_index ) + : bit_iterator_base< typename DynamicBitset::buffer_type::const_iterator >( block_iterator, bit_index ) +{ +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +const_bit_iterator< DynamicBitset >::const_bit_iterator( const bit_iterator< DynamicBitset > & it ) + : bit_iterator_base< typename DynamicBitset::buffer_type::const_iterator >( it.m_block_iterator, it.m_bit_index ) +{ +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename const_bit_iterator< DynamicBitset >::const_reference +const_bit_iterator< DynamicBitset >::operator*() const +{ + return ( *( this->m_block_iterator ) & ( typename DynamicBitset::block_type( 1 ) << this->m_bit_index ) ) != 0; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > & + const_bit_iterator< DynamicBitset >::const_bit_iterator::operator++() +{ + this->increment(); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > + const_bit_iterator< DynamicBitset >::operator++( int ) +{ + const_bit_iterator temp = *this; + this->increment(); + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > & + const_bit_iterator< DynamicBitset >::const_bit_iterator::operator--() +{ + this->decrement(); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > + const_bit_iterator< DynamicBitset >::operator--( int ) +{ + const_bit_iterator temp = *this; + this->decrement(); + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > & + const_bit_iterator< DynamicBitset >::operator+=( difference_type n ) +{ + this->add( n ); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > & + const_bit_iterator< DynamicBitset >::operator-=( difference_type n ) +{ + this->add( -n ); + return *this; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > + operator+( const const_bit_iterator< DynamicBitset > & it, typename const_bit_iterator< DynamicBitset >::difference_type n ) +{ + const_bit_iterator< DynamicBitset > temp = it; + temp += n; + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > + operator+( typename const_bit_iterator< DynamicBitset >::difference_type n, const const_bit_iterator< DynamicBitset > & it ) +{ + return it + n; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const_bit_iterator< DynamicBitset > + operator-( const const_bit_iterator< DynamicBitset > & it, typename const_bit_iterator< DynamicBitset >::difference_type n ) +{ + const_bit_iterator< DynamicBitset > temp = it; + temp -= n; + return temp; +} + +template< typename DynamicBitset > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename const_bit_iterator< DynamicBitset >::const_reference +const_bit_iterator< DynamicBitset >::operator[]( difference_type n ) const +{ + return *( *this + n ); +} + +template< typename BlockIterator, typename B, typename A > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +from_block_range( BlockIterator first, BlockIterator last, dynamic_bitset< B, A > & result ) +{ + // PRE: distance(first, last) <= numblocks() + std::copy( first, last, result.m_bits.begin() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset() + : m_num_bits( 0 ) +{ +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset( const allocator_type & alloc ) + : m_bits( alloc ), m_num_bits( 0 ) +{ +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >:: + dynamic_bitset( size_type num_bits, unsigned long value, const allocator_type & alloc ) + : m_bits( alloc ), m_num_bits( 0 ) +{ + init_from_unsigned_long( num_bits, value ); +} + +template< typename Block, typename AllocatorOrContainer > +template< typename CharT, typename Traits, typename Alloc > +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset( + const std::basic_string< CharT, Traits, Alloc > & s, + typename std::basic_string< CharT, Traits, Alloc >::size_type pos, + typename std::basic_string< CharT, Traits, Alloc >::size_type n, + size_type num_bits, + const allocator_type & alloc ) + + : m_bits( alloc ), m_num_bits( 0 ) +{ + init_from_string( s.c_str(), s.length(), pos, n, num_bits ); +} + +template< typename Block, typename AllocatorOrContainer > +template< typename CharT > +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset( + const CharT * s, + std::size_t n, + size_type num_bits, + const allocator_type & alloc ) + : m_bits( alloc ), m_num_bits( 0 ) +{ + init_from_string( s, std::char_traits< CharT >::length( s ), 0, n, num_bits ); +} + +#if defined( BOOST_DYNAMIC_BITSET_USE_CPP17_OR_LATER ) + +template< typename Block, typename AllocatorOrContainer > +template< typename CharT, typename Traits > +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset( + std::basic_string_view< CharT, Traits > sv, + size_type num_bits, + const allocator_type & alloc ) + : m_bits( alloc ), m_num_bits( 0 ) +{ + init_from_string( sv.data(), sv.length(), 0, sv.length(), num_bits ); +} + +#endif + +template< typename Block, typename AllocatorOrContainer > +template< typename BlockInputIterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset( + BlockInputIterator first, + BlockInputIterator last, + const allocator_type & alloc ) + : m_bits( alloc ), m_num_bits( 0 ) +{ + using boost::detail::dynamic_bitset_impl::is_numeric; + using boost::detail::dynamic_bitset_impl::value_to_type; + + const value_to_type< + is_numeric< BlockInputIterator >::value > + selector; + + dispatch_init( first, last, selector ); +} + +// copy constructor +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >::dynamic_bitset( const dynamic_bitset & b ) + : m_bits( b.m_bits ), m_num_bits( b.m_num_bits ) +{ +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer >::~dynamic_bitset() +{ + BOOST_ASSERT( m_check_invariants() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::iterator +dynamic_bitset< Block, AllocatorOrContainer >::begin() +{ + return iterator( m_bits.begin(), 0 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_iterator +dynamic_bitset< Block, AllocatorOrContainer >::begin() const +{ + return const_iterator( m_bits.cbegin(), 0 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::iterator +dynamic_bitset< Block, AllocatorOrContainer >::end() +{ + if ( count_extra_bits() == 0 ) { + return iterator( m_bits.end(), 0 ); + } else { + return iterator( std::prev( m_bits.end() ), size() % bits_per_block ); + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_iterator +dynamic_bitset< Block, AllocatorOrContainer >::end() const +{ + if ( count_extra_bits() == 0 ) { + return const_iterator( m_bits.cend(), 0 ); + } else { + return const_iterator( std::prev( m_bits.cend() ), size() % bits_per_block ); + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reverse_iterator +dynamic_bitset< Block, AllocatorOrContainer >::rbegin() +{ + return reverse_iterator( end() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_reverse_iterator +dynamic_bitset< Block, AllocatorOrContainer >::rbegin() const +{ + return const_reverse_iterator( end() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reverse_iterator +dynamic_bitset< Block, AllocatorOrContainer >::rend() +{ + return reverse_iterator( begin() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_reverse_iterator +dynamic_bitset< Block, AllocatorOrContainer >::rend() const +{ + return const_reverse_iterator( begin() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_iterator +dynamic_bitset< Block, AllocatorOrContainer >::cbegin() const +{ + return const_iterator( begin() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_iterator +dynamic_bitset< Block, AllocatorOrContainer >::cend() const +{ + return const_iterator( end() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_reverse_iterator +dynamic_bitset< Block, AllocatorOrContainer >::crbegin() const +{ + return const_reverse_iterator( end() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::const_reverse_iterator +dynamic_bitset< Block, AllocatorOrContainer >::crend() const +{ + return const_reverse_iterator( begin() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + swap( dynamic_bitset< Block, AllocatorOrContainer > & b ) noexcept +{ + std::swap( m_bits, b.m_bits ); + std::swap( m_num_bits, b.m_num_bits ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >:: +operator=( const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + m_bits = b.m_bits; + m_num_bits = b.m_num_bits; + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 +dynamic_bitset< Block, AllocatorOrContainer >:: + dynamic_bitset( dynamic_bitset< Block, AllocatorOrContainer > && b ) + : m_bits( std::move( b.m_bits ) ), m_num_bits( std::move( b.m_num_bits ) ) +{ + // Required so that BOOST_ASSERT(m_check_invariants()); works. + BOOST_ASSERT( ( b.m_bits = buffer_type( get_allocator() ) ).empty() ); + b.m_num_bits = 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >:: +operator=( dynamic_bitset< Block, AllocatorOrContainer > && b ) +{ + if ( &b == this ) { + return *this; + } + + m_bits = std::move( b.m_bits ); + m_num_bits = std::move( b.m_num_bits ); + // Required so that BOOST_ASSERT(m_check_invariants()); works. + BOOST_ASSERT( ( b.m_bits = buffer_type( get_allocator() ) ).empty() ); + b.m_num_bits = 0; + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::allocator_type +dynamic_bitset< Block, AllocatorOrContainer >::get_allocator() const +{ + return m_bits.get_allocator(); +} + +//----------------------------------------------------------------------------- +// size changing operations + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + resize( size_type num_bits, bool value ) // strong guarantee +{ + const size_type old_num_blocks = num_blocks(); + const size_type required_blocks = calc_num_blocks( num_bits ); + + const block_type v = value ? Block( -1 ) : Block( 0 ); + + if ( required_blocks != old_num_blocks ) { + m_bits.resize( required_blocks, v ); // s.g. (copy) + } + + // At this point: + // + // - if the buffer was shrunk, we have nothing more to do, + // except a call to m_zero_unused_bits() + // + // - if it was enlarged, all the (used) bits in the new blocks have + // the correct value, but we have not yet touched those bits, if + // any, that were 'unused bits' before enlarging: if value == true, + // they must be set. + + if ( value && ( num_bits > m_num_bits ) ) { + const int extra_bits = count_extra_bits(); + if ( extra_bits ) { + BOOST_ASSERT( old_num_blocks >= 1 && old_num_blocks <= m_bits.size() ); + + // Set them. + m_bits[ old_num_blocks - 1 ] |= ( v << extra_bits ); + } + } + + m_num_bits = num_bits; + m_zero_unused_bits(); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + clear() // no throw +{ + m_bits.clear(); + m_num_bits = 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + push_back( bool bit ) +{ + const int extra_bits = count_extra_bits(); + if ( extra_bits == 0 ) { + m_bits.push_back( Block( bit ) ); + } else { + m_bits.back() |= ( Block( bit ) << extra_bits ); + } + ++m_num_bits; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + push_front( bool bit ) +{ + resize( size() + 1 ); + *this <<= 1; + set( 0, bit ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + pop_back() +{ + BOOST_ASSERT( ! empty() ); + + if ( count_extra_bits() == 1 ) { + m_bits.pop_back(); + --m_num_bits; + } else { + --m_num_bits; + m_zero_unused_bits(); + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + pop_front() +{ + BOOST_ASSERT( ! empty() ); + + *this >>= 1; + resize( size() - 1 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >:: + append( Block value ) // strong guarantee +{ + const int r = count_extra_bits(); + + if ( r == 0 ) { + // the buffer is empty, or all blocks are filled + m_bits.push_back( value ); + } else { + m_bits.push_back( value >> ( bits_per_block - r ) ); + m_bits[ m_bits.size() - 2 ] |= ( value << r ); // m_bits.size() >= 2 + } + + m_num_bits += bits_per_block; + BOOST_ASSERT( m_check_invariants() ); +} + +template< typename Block, typename AllocatorOrContainer > +template< typename BlockInputIterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::append( BlockInputIterator first, BlockInputIterator last ) // strong guarantee +{ + typename std::iterator_traits< BlockInputIterator >::iterator_category cat; + m_append( first, last, cat ); +} + +//----------------------------------------------------------------------------- +// bitset operations +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::operator&=( const dynamic_bitset & rhs ) +{ + BOOST_ASSERT( size() == rhs.size() ); + for ( size_type i = 0; i < num_blocks(); ++i ) { + m_bits[ i ] &= rhs.m_bits[ i ]; + } + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::operator|=( const dynamic_bitset & rhs ) +{ + BOOST_ASSERT( size() == rhs.size() ); + for ( size_type i = 0; i < num_blocks(); ++i ) { + m_bits[ i ] |= rhs.m_bits[ i ]; + } + // m_zero_unused_bits(); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::operator^=( const dynamic_bitset & rhs ) +{ + BOOST_ASSERT( size() == rhs.size() ); + for ( size_type i = 0; i < this->num_blocks(); ++i ) { + m_bits[ i ] ^= rhs.m_bits[ i ]; + } + // m_zero_unused_bits(); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::operator-=( const dynamic_bitset & rhs ) +{ + BOOST_ASSERT( size() == rhs.size() ); + for ( size_type i = 0; i < num_blocks(); ++i ) { + m_bits[ i ] &= ~rhs.m_bits[ i ]; + } + // m_zero_unused_bits(); + return *this; +} + +// NOTE: +// Note that the 'if (r != 0)' is crucial to avoid undefined +// behavior when the left hand operand of >> isn't promoted to a +// wider type (because rs would be too large). +// +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::operator<<=( size_type n ) +{ + if ( n >= m_num_bits ) { + return reset(); + } + // else + if ( n > 0 ) { + const size_type last = num_blocks() - 1; // num_blocks() is >= 1 + const size_type div = n / bits_per_block; // div is <= last + const int r = bit_index( n ); + buffer_type & b = m_bits; + + if ( r != 0 ) { + const int rs = bits_per_block - r; + + for ( size_type i = last - div; i > 0; --i ) { + b[ i + div ] = ( b[ i ] << r ) | ( b[ i - 1 ] >> rs ); + } + b[ div ] = b[ 0 ] << r; + + } else { + for ( size_type i = last - div; i > 0; --i ) { + b[ i + div ] = b[ i ]; + } + b[ div ] = b[ 0 ]; + } + + // zero out div blocks at the least significant end + std::fill_n( m_bits.begin(), div, static_cast< block_type >( 0 ) ); + + // zero out any 1 bit that flowed into the unused part + m_zero_unused_bits(); // thanks to Lester Gong + } + + return *this; +} + +// +// NOTE: +// See the comments to operator <<=. +// +template< typename B, typename A > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< B, A > & + dynamic_bitset< B, A >::operator>>=( size_type n ) +{ + if ( n >= m_num_bits ) { + return reset(); + } + // else + if ( n > 0 ) { + const size_type last = num_blocks() - 1; // num_blocks() is >= 1 + const size_type div = n / bits_per_block; // div is <= last + const int r = bit_index( n ); + buffer_type & b = m_bits; + + if ( r != 0 ) { + const int ls = bits_per_block - r; + + for ( size_type i = div; i < last; ++i ) { + b[ i - div ] = ( b[ i ] >> r ) | ( b[ i + 1 ] << ls ); + } + // r bits go to zero + b[ last - div ] = b[ last ] >> r; + } + + else { + for ( size_type i = div; i <= last; ++i ) { + b[ i - div ] = b[ i ]; + } + // note the '<=': the last iteration 'absorbs' + // b[last-div] = b[last] >> 0; + } + + // div blocks are zero filled at the most significant end + std::fill_n( m_bits.begin() + ( num_blocks() - div ), div, static_cast< block_type >( 0 ) ); + } + + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + dynamic_bitset< Block, AllocatorOrContainer >::operator<<( size_type n ) const +{ + dynamic_bitset r( *this ); + return r <<= n; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + dynamic_bitset< Block, AllocatorOrContainer >::operator>>( size_type n ) const +{ + dynamic_bitset r( *this ); + return r >>= n; +} + +//----------------------------------------------------------------------------- +// basic bit operations + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::set( size_type pos, size_type len, bool val ) +{ + if ( val ) { + return range_operation( pos, len, set_block_partial, set_block_full ); + } else { + return range_operation( pos, len, reset_block_partial, reset_block_full ); + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::set( size_type pos, bool val ) +{ + BOOST_ASSERT( pos < m_num_bits ); + + if ( val ) { + m_bits[ block_index( pos ) ] |= bit_mask( pos ); + } else { + reset( pos ); + } + + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::set() +{ + std::fill( m_bits.begin(), m_bits.end(), Block( -1 ) ); + m_zero_unused_bits(); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::reset( size_type pos, size_type len ) +{ + return range_operation( pos, len, reset_block_partial, reset_block_full ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::reset( size_type pos ) +{ + BOOST_ASSERT( pos < m_num_bits ); + m_bits[ block_index( pos ) ] &= ~bit_mask( pos ); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::reset() +{ + std::fill( m_bits.begin(), m_bits.end(), Block( 0 ) ); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::flip( size_type pos, size_type len ) +{ + return range_operation( pos, len, flip_block_partial, flip_block_full ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::flip( size_type pos ) +{ + BOOST_ASSERT( pos < m_num_bits ); + m_bits[ block_index( pos ) ] ^= bit_mask( pos ); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::flip() +{ + for ( size_type i = 0; i < num_blocks(); ++i ) { + m_bits[ i ] = ~m_bits[ i ]; + } + m_zero_unused_bits(); + return *this; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference +dynamic_bitset< Block, AllocatorOrContainer >::at( size_type pos ) +{ + if ( pos >= m_num_bits ) { + BOOST_THROW_EXCEPTION( std::out_of_range( "boost::dynamic_bitset::at out_of_range" ) ); + } + + return ( *this )[ pos ]; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::at( size_type pos ) const +{ + if ( pos >= m_num_bits ) { + BOOST_THROW_EXCEPTION( std::out_of_range( "boost::dynamic_bitset::at out_of_range" ) ); + } + + return ( *this )[ pos ]; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::test( size_type pos ) const +{ + BOOST_ASSERT( pos < m_num_bits ); + return m_unchecked_test( pos ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::test_set( size_type pos, bool val ) +{ + const bool b = test( pos ); + if ( b != val ) { + set( pos, val ); + } + return b; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::all() const +{ + const int extra_bits = count_extra_bits(); + const block_type all_ones = Block( -1 ); + const size_type num_normal_blocks = num_blocks() - ( extra_bits != 0 ? 1 : 0 ); + + for ( size_type i = 0; i < num_normal_blocks; ++i ) { + if ( m_bits[ i ] != all_ones ) { + return false; + } + } + if ( extra_bits != 0 ) { + const block_type mask = ( block_type( 1 ) << extra_bits ) - 1; + if ( m_highest_block() != mask ) { + return false; + } + } + return true; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::any() const +{ + for ( size_type i = 0; i < num_blocks(); ++i ) { + if ( m_bits[ i ] ) { + return true; + } + } + return false; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::none() const +{ + return ! any(); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + dynamic_bitset< Block, AllocatorOrContainer >::operator~() const +{ + dynamic_bitset b( *this ); + b.flip(); + return b; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::count() const noexcept +{ + size_type result = 0; + for ( block_type block : m_bits ) { + result += core::popcount( block ); + } + return result; +} + +//----------------------------------------------------------------------------- +// subscript + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::reference +dynamic_bitset< Block, AllocatorOrContainer >::operator[]( size_type pos ) +{ + return reference( m_bits[ block_index( pos ) ], bit_index( pos ) ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::operator[]( size_type pos ) const +{ + return test( pos ); +} + +//----------------------------------------------------------------------------- +// conversions + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 unsigned long +dynamic_bitset< Block, AllocatorOrContainer >:: + to_ulong() const +{ + if ( m_num_bits == 0 ) { + return 0; // convention + } + + // Check for overflows. This may be a performance burden on very large + // bitsets but is required by the specification, sorry. + if ( find_first( ulong_width ) != npos ) { + BOOST_THROW_EXCEPTION( std::overflow_error( "boost::dynamic_bitset::to_ulong overflow" ) ); + } + + // Ok, from now on we can be sure there's no "on" bit beyond the + // "allowed" positions. + typedef unsigned long result_type; + + const size_type maximum_size = + (std::min)( m_num_bits, static_cast< size_type >( ulong_width ) ); + + const size_type last_block = block_index( maximum_size - 1 ); + + BOOST_ASSERT( ( last_block * bits_per_block ) < static_cast< size_type >( ulong_width ) ); + + result_type result = 0; + for ( size_type i = 0; i <= last_block; ++i ) { + const size_type offset = i * bits_per_block; + result |= ( static_cast< result_type >( m_bits[ i ] ) << offset ); + } + + return result; +} + +template< typename Block, typename AllocatorOrContainer, typename StringT > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +to_string( const dynamic_bitset< Block, AllocatorOrContainer > & b, StringT & s ) +{ + to_string_helper( b, s, false ); +} + +// Differently from to_string this function dumps out every bit of the +// internal representation (may be useful for debugging purposes) +template< typename B, typename A, typename StringT > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dump_to_string( const dynamic_bitset< B, A > & b, StringT & s ) +{ + to_string_helper( b, s, true /* = dump_all */ ); +} + +template< typename Block, typename AllocatorOrContainer, typename BlockOutputIterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +to_block_range( const dynamic_bitset< Block, AllocatorOrContainer > & b, BlockOutputIterator result ) +{ + // Note how this copies *all* bits, including the unused ones in the + // last block (which are zero). + std::copy( b.m_bits.begin(), b.m_bits.end(), result ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::size() const noexcept +{ + return m_num_bits; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::num_blocks() const noexcept +{ + return m_bits.size(); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::max_size() const noexcept +{ + // The semantics of vector<>::max_size() aren't very clear (see lib + // issue 197). + // + // Because of that, I was tempted to not provide this function + // at all, but the user could need it if they provide their own + // allocator. + + const size_type m = m_bits.max_size(); + + return m <= ( size_type( -1 ) / bits_per_block ) ? m * bits_per_block : size_type( -1 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::empty() const noexcept +{ + return size() == 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::capacity() const noexcept +{ + return m_bits.capacity() * bits_per_block; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::reserve( size_type num_bits ) +{ + m_bits.reserve( calc_num_blocks( num_bits ) ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::shrink_to_fit() +{ + if ( m_bits.size() < m_bits.capacity() ) { + buffer_type( m_bits ).swap( m_bits ); + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >:: + is_subset_of( const dynamic_bitset< Block, AllocatorOrContainer > & a ) const +{ + BOOST_ASSERT( size() == a.size() ); + for ( size_type i = 0; i < num_blocks(); ++i ) { + if ( m_bits[ i ] & ~a.m_bits[ i ] ) { + return false; + } + } + return true; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >:: + is_proper_subset_of( const dynamic_bitset< Block, AllocatorOrContainer > & a ) const +{ + BOOST_ASSERT( size() == a.size() ); + + bool proper = false; + for ( size_type i = 0; i < num_blocks(); ++i ) { + const Block & bt = m_bits[ i ]; + const Block & ba = a.m_bits[ i ]; + + if ( bt & ~ba ) { + return false; // not a subset at all + } + if ( ba & ~bt ) { + proper = true; + } + } + return proper; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::intersects( const dynamic_bitset & b ) const +{ + const size_type common_blocks = num_blocks() < b.num_blocks() + ? num_blocks() + : b.num_blocks(); + + for ( size_type i = 0; i < common_blocks; ++i ) { + if ( m_bits[ i ] & b.m_bits[ i ] ) { + return true; + } + } + return false; +} + +// -------------------------------- +// lookup + +// Look for the first bit with value `value`, starting from the block with index +// first_block. +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::m_do_find_from( size_type first_block, bool value ) const +{ + size_type i = std::distance( m_bits.begin(), std::find_if( m_bits.begin() + first_block, m_bits.end(), value ? m_not_empty : m_not_full ) ); + + if ( i >= num_blocks() ) { + return npos; // not found + } + + const Block b = value + ? m_bits[ i ] + : m_bits[ i ] ^ Block( -1 ); + return i * bits_per_block + static_cast< size_type >( detail::lowest_bit( b ) ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::find_first( size_type pos ) const +{ + const size_type sz = size(); + if ( pos >= sz ) { + return npos; + } + + const size_type blk = block_index( pos ); + const int ind = bit_index( pos ); + + // shift bits upto one immediately after current + const Block fore = m_bits[ blk ] >> ind; + + const bool found = m_not_empty( fore ); + return found ? pos + static_cast< size_type >( detail::lowest_bit( fore ) ) + : m_do_find_from( blk + 1, true ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::find_first_off( size_type pos ) const +{ + if ( pos >= size() ) { + return npos; + } + + const size_type blk = block_index( pos ); + const int ind = bit_index( pos ); + const Block fore = m_bits[ blk ] >> ind; + bool found = false; + int lowest_off_bit_pos = -1; + if ( m_not_full( fore ) ) { + lowest_off_bit_pos = detail::lowest_bit( fore ^ Block( -1 ) ); + // don't consider a zero introduced by m_bits[ blk ] >> ind as found + found = lowest_off_bit_pos <= ( bits_per_block - 1 - ind ); + } + + const size_type zero_pos = found + ? pos + lowest_off_bit_pos + : m_do_find_from( blk + 1, false ); + return zero_pos >= size() + ? npos + : zero_pos; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::find_next( size_type pos ) const +{ + return pos == npos + ? npos + : find_first( pos + 1 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::find_next_off( size_type pos ) const +{ + return pos == npos + ? npos + : find_first_off( pos + 1 ); +} + +//----------------------------------------------------------------------------- +// comparison + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator==( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + return ( a.m_num_bits == b.m_num_bits ) + && ( a.m_bits == b.m_bits ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator!=( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + return ! ( a == b ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator<( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + typedef BOOST_DEDUCED_TYPENAME dynamic_bitset< Block, AllocatorOrContainer >::size_type size_type; + + size_type asize( a.size() ); + size_type bsize( b.size() ); + + if ( ! bsize ) { + return false; + } else if ( ! asize ) { + return true; + } else if ( asize == bsize ) { + for ( size_type ii = a.num_blocks(); ii > 0; --ii ) { + size_type i = ii - 1; + if ( a.m_bits[ i ] < b.m_bits[ i ] ) { + return true; + } else if ( a.m_bits[ i ] > b.m_bits[ i ] ) { + return false; + } + } + return false; + } else { + size_type leqsize( std::min BOOST_PREVENT_MACRO_SUBSTITUTION( asize, bsize ) ); + + for ( size_type ii = 0; ii < leqsize; ++ii, --asize, --bsize ) { + size_type i = asize - 1; + size_type j = bsize - 1; + if ( a[ i ] < b[ j ] ) { + return true; + } else if ( a[ i ] > b[ j ] ) { + return false; + } + } + return a.size() < b.size(); + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator<=( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + return ! ( a > b ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator>( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + return b < a; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +operator>=( const dynamic_bitset< Block, AllocatorOrContainer > & a, const dynamic_bitset< Block, AllocatorOrContainer > & b ) +{ + return ! ( a < b ); +} + +template< typename B, typename A, typename StringT > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +to_string_helper( const dynamic_bitset< B, A > & b, StringT & s, bool dump_all ) +{ + typedef typename StringT::traits_type Tr; + typedef typename StringT::value_type Ch; + + const std::ctype< Ch > & fac = std::use_facet< std::ctype< Ch > >( std::locale() ); + const Ch zero = fac.widen( '0' ); + const Ch one = fac.widen( '1' ); + + // Note that this function may access (when + // dump_all == true) bits beyond position size() - 1 + + typedef typename dynamic_bitset< B, A >::size_type size_type; + + const size_type len = dump_all ? dynamic_bitset< B, A >::bits_per_block * b.num_blocks() : b.size(); + s.assign( len, zero ); + + for ( size_type i = 0; i < len; ++i ) { + if ( b.m_unchecked_test( i ) ) { + Tr::assign( s[ len - 1 - i ], one ); + } + } +} + +//----------------------------------------------------------------------------- +// hash operations + +template< typename Block, typename AllocatorOrContainer > +std::size_t +hash_value( const dynamic_bitset< Block, AllocatorOrContainer > & a ) +{ + std::size_t res = hash_value( a.m_num_bits ); + boost::hash_combine( res, a.m_bits ); + return res; +} + +//----------------------------------------------------------------------------- +// stream operations + +template< typename Ch, typename Tr, typename Block, typename Alloc > +std::basic_ostream< Ch, Tr > & +operator<<( std::basic_ostream< Ch, Tr > & os, const dynamic_bitset< Block, Alloc > & b ) +{ + using namespace std; + + const ios_base::iostate ok = ios_base::goodbit; + ios_base::iostate err = ok; + + typename basic_ostream< Ch, Tr >::sentry cerberos( os ); + if ( cerberos ) { + const Ch zero = os.widen( '0' ); + const Ch one = os.widen( '1' ); + + BOOST_TRY + { + typedef typename dynamic_bitset< Block, Alloc >::size_type bitset_size_type; + typedef basic_streambuf< Ch, Tr > buffer_type; + + buffer_type * buf = os.rdbuf(); + // careful: os.width() is signed (and can be < 0) + const bitset_size_type width = ( os.width() <= 0 ) ? 0 : static_cast< bitset_size_type >( os.width() ); + streamsize npad = ( width <= b.size() ) ? 0 : width - b.size(); + + const Ch fill_char = os.fill(); + const ios_base::fmtflags adjustfield = os.flags() & ios_base::adjustfield; + + // if needed fill at left; pad is decreased along the way + if ( adjustfield != ios_base::left ) { + for ( ; 0 < npad; --npad ) { + if ( Tr::eq_int_type( Tr::eof(), buf->sputc( fill_char ) ) ) { + err |= ios_base::failbit; + break; + } + } + } + + if ( err == ok ) { + // output the bitset + for ( bitset_size_type i = b.size(); 0 < i; --i ) { + typename buffer_type::int_type + ret = buf->sputc( b.test( i - 1 ) ? one : zero ); + if ( Tr::eq_int_type( Tr::eof(), ret ) ) { + err |= ios_base::failbit; + break; + } + } + } + + if ( err == ok ) { + // if needed fill at right + for ( ; 0 < npad; --npad ) { + if ( Tr::eq_int_type( Tr::eof(), buf->sputc( fill_char ) ) ) { + err |= ios_base::failbit; + break; + } + } + } + + os.width( 0 ); + } + BOOST_CATCH( ... ) + { + bool rethrow = false; + BOOST_TRY + { + os.setstate( ios_base::badbit ); + } + BOOST_CATCH( ... ) + { + rethrow = true; + } + BOOST_CATCH_END + + if ( rethrow ) { + BOOST_RETHROW + } + } + BOOST_CATCH_END + } + + if ( err != ok ) { + os.setstate( err ); // may throw exception + } + return os; +} + +template< typename Ch, typename Tr, typename Block, typename Alloc > +std::basic_istream< Ch, Tr > & +operator>>( std::basic_istream< Ch, Tr > & is, dynamic_bitset< Block, Alloc > & b ) +{ + using namespace std; + + typedef dynamic_bitset< Block, Alloc > bitset_type; + typedef typename bitset_type::size_type size_type; + + const streamsize w = is.width(); + const size_type limit = 0 < w && static_cast< size_type >( w ) < b.max_size() ? static_cast< size_type >( w ) : b.max_size(); + + bool exceptions_are_from_vector = false; + ios_base::iostate err = ios_base::goodbit; + typename basic_istream< Ch, Tr >::sentry cerberos( is ); // skips whitespace + if ( cerberos ) { + // in accordance with the resolution of library issue 303 + const Ch zero = is.widen( '0' ); + const Ch one = is.widen( '1' ); + + b.clear(); + BOOST_TRY + { + typename bitset_type::bit_appender appender( b ); + basic_streambuf< Ch, Tr > * buf = is.rdbuf(); + typename Tr::int_type c = buf->sgetc(); + for ( ; appender.get_count() < limit; c = buf->snextc() ) { + if ( Tr::eq_int_type( Tr::eof(), c ) ) { + err |= ios_base::eofbit; + break; + } else { + const Ch to_c = Tr::to_char_type( c ); + const bool is_one = Tr::eq( to_c, one ); + + if ( ! is_one && ! Tr::eq( to_c, zero ) ) { + break; // non digit character + } + + exceptions_are_from_vector = true; + appender.do_append( is_one ); + exceptions_are_from_vector = false; + } + + } // for + } + BOOST_CATCH( ... ) + { + // catches from stream buf, or from vector: + // + // bits_stored bits have been extracted and stored, and + // either no further character is extractable or we can't + // append to the underlying vector (out of memory) + if ( exceptions_are_from_vector ) { + BOOST_RETHROW + } + + bool rethrow = false; + BOOST_TRY + { + is.setstate( ios_base::badbit ); + } + BOOST_CATCH( ... ) + { + rethrow = true; + } + BOOST_CATCH_END + + if ( rethrow ) { + BOOST_RETHROW + } + } + BOOST_CATCH_END + } + + is.width( 0 ); + if ( b.size() == 0 /*|| !cerberos*/ ) { + err |= ios_base::failbit; + } + if ( err != ios_base::goodbit ) { + is.setstate( err ); // may throw + } + + return is; +} + +//----------------------------------------------------------------------------- +// bitset operations + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator&( const dynamic_bitset< Block, AllocatorOrContainer > & x, const dynamic_bitset< Block, AllocatorOrContainer > & y ) +{ + dynamic_bitset< Block, AllocatorOrContainer > b( x ); + return b &= y; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator|( const dynamic_bitset< Block, AllocatorOrContainer > & x, const dynamic_bitset< Block, AllocatorOrContainer > & y ) +{ + dynamic_bitset< Block, AllocatorOrContainer > b( x ); + return b |= y; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator^( const dynamic_bitset< Block, AllocatorOrContainer > & x, const dynamic_bitset< Block, AllocatorOrContainer > & y ) +{ + dynamic_bitset< Block, AllocatorOrContainer > b( x ); + return b ^= y; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > + operator-( const dynamic_bitset< Block, AllocatorOrContainer > & x, const dynamic_bitset< Block, AllocatorOrContainer > & y ) +{ + dynamic_bitset< Block, AllocatorOrContainer > b( x ); + return b -= y; +} + +//----------------------------------------------------------------------------- +// namespace scope swap + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +swap( dynamic_bitset< Block, AllocatorOrContainer > & a, dynamic_bitset< Block, AllocatorOrContainer > & b ) noexcept +{ + a.swap( b ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::m_unchecked_test( size_type pos ) const +{ + return ( m_bits[ block_index( pos ) ] & bit_mask( pos ) ) != 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::calc_num_blocks( size_type num_bits ) +{ + return num_bits / bits_per_block + + static_cast< size_type >( num_bits % bits_per_block != 0 ); +} + +// gives a reference to the highest block +// +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block & +dynamic_bitset< Block, AllocatorOrContainer >::m_highest_block() +{ + return const_cast< Block & >( static_cast< const dynamic_bitset * >( this )->m_highest_block() ); +} + +// gives a const-reference to the highest block +// +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 const Block & +dynamic_bitset< Block, AllocatorOrContainer >::m_highest_block() const +{ + BOOST_ASSERT( num_blocks() > 0 ); + return m_bits.back(); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 dynamic_bitset< Block, AllocatorOrContainer > & + dynamic_bitset< Block, AllocatorOrContainer >::range_operation( + size_type pos, size_type len, Block ( *partial_block_operation )( Block, size_type, size_type ), Block ( *full_block_operation )( Block ) ) +{ + BOOST_ASSERT( pos + len <= m_num_bits ); + + // Do nothing in case of zero length + if ( ! len ) { + return *this; + } + + // Use an additional asserts in order to detect size_type overflow + // For example: pos = 10, len = size_type_limit - 2, pos + len = 7 + // In case of overflow, 'pos + len' is always smaller than 'len' + BOOST_ASSERT( pos + len >= len ); + + // Start and end blocks of the [pos; pos + len - 1] sequence + const size_type first_block = block_index( pos ); + const size_type last_block = block_index( pos + len - 1 ); + + const size_type first_bit_index = bit_index( pos ); + const size_type last_bit_index = bit_index( pos + len - 1 ); + + if ( first_block == last_block ) { + // Filling only a sub-block of a block + m_bits[ first_block ] = partial_block_operation( m_bits[ first_block ], first_bit_index, last_bit_index ); + } else { + // Check if the corner blocks won't be fully filled with 'val' + const size_type first_block_shift = bit_index( pos ) ? 1 : 0; + const size_type last_block_shift = ( bit_index( pos + len - 1 ) + == bits_per_block - 1 ) + ? 0 + : 1; + + // Blocks that will be filled with ~0 or 0 at once + const size_type first_full_block = first_block + first_block_shift; + const size_type last_full_block = last_block - last_block_shift; + + for ( size_type i = first_full_block; i <= last_full_block; ++i ) { + m_bits[ i ] = full_block_operation( m_bits[ i ] ); + } + + // Fill the first block from the 'first' bit index to the end + if ( first_block_shift ) { + m_bits[ first_block ] = partial_block_operation( m_bits[ first_block ], first_bit_index, bits_per_block - 1 ); + } + + // Fill the last block from the start to the 'last' bit index + if ( last_block_shift ) { + m_bits[ last_block ] = partial_block_operation( m_bits[ last_block ], 0, last_bit_index ); + } + } + + return *this; +} + +// If size() is not a multiple of bits_per_block then not all the bits +// in the last block are used. This function resets the unused bits +// (convenient for the implementation of many member functions). +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::m_zero_unused_bits() +{ + BOOST_ASSERT( num_blocks() == calc_num_blocks( m_num_bits ) ); + + // if != 0, this is the number of bits used in the last block. + const int extra_bits = count_extra_bits(); + + if ( extra_bits != 0 ) { + m_highest_block() &= ( Block( 1 ) << extra_bits ) - 1; + } +} + +// check class invariants +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::m_check_invariants() const +{ + const int extra_bits = count_extra_bits(); + if ( extra_bits > 0 ) { + const block_type mask = Block( -1 ) << extra_bits; + if ( ( m_highest_block() & mask ) != 0 ) { + return false; + } + } + if ( m_bits.size() > m_bits.capacity() || num_blocks() != calc_num_blocks( size() ) ) { + return false; + } + + return true; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::m_not_empty( Block x ) +{ + return x != Block( 0 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 bool +dynamic_bitset< Block, AllocatorOrContainer >::m_not_full( Block x ) +{ + return x != Block( -1 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 int +dynamic_bitset< Block, AllocatorOrContainer >::count_extra_bits() const noexcept +{ + return bit_index( size() ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::block_index( size_type pos ) noexcept +{ + return pos / bits_per_block; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 int +dynamic_bitset< Block, AllocatorOrContainer >::bit_index( size_type pos ) noexcept +{ + return static_cast< int >( pos % bits_per_block ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::bit_mask( size_type pos ) noexcept +{ + return Block( 1 ) << bit_index( pos ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::bit_mask( size_type first, size_type last ) noexcept +{ + Block res = ( last == bits_per_block - 1 ) + ? Block( -1 ) + : ( ( Block( 1 ) << ( last + 1 ) ) - 1 ); + res ^= ( Block( 1 ) << first ) - 1; + return res; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::set_block_bits( + Block block, + size_type first, + size_type last, + bool val ) noexcept +{ + if ( val ) { + return block | bit_mask( first, last ); + } else { + return block & static_cast< Block >( ~bit_mask( first, last ) ); + } +} + +// Functions for operations on ranges +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::set_block_partial( + Block block, + size_type first, + size_type last ) noexcept +{ + return set_block_bits( block, first, last, true ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::set_block_full( Block ) noexcept +{ + return Block( -1 ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::reset_block_partial( + Block block, + size_type first, + size_type last ) noexcept +{ + return set_block_bits( block, first, last, false ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::reset_block_full( Block ) noexcept +{ + return 0; +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::flip_block_partial( + Block block, + size_type first, + size_type last ) noexcept +{ + return block ^ bit_mask( first, last ); +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 Block +dynamic_bitset< Block, AllocatorOrContainer >::flip_block_full( Block block ) noexcept +{ + return ~block; +} + +template< typename Block, typename AllocatorOrContainer > +template< typename T > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::dispatch_init( + T num_bits, + unsigned long value, + detail::dynamic_bitset_impl::value_to_type< true > ) +{ + init_from_unsigned_long( static_cast< size_type >( num_bits ), value ); +} + +template< typename Block, typename AllocatorOrContainer > +template< typename T > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::dispatch_init( + T first, + T last, + detail::dynamic_bitset_impl::value_to_type< false > ) +{ + init_from_block_range( first, last ); +} + +template< typename Block, typename AllocatorOrContainer > +template< typename BlockIter > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::init_from_block_range( BlockIter first, BlockIter last ) +{ + BOOST_ASSERT( m_bits.size() == 0 ); + m_bits.insert( m_bits.end(), first, last ); + m_num_bits = m_bits.size() * bits_per_block; +} + +template< typename Block, typename AllocatorOrContainer > +template< typename CharT, typename Traits > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::init_from_string( + const CharT * s, // caution: not necessarily null-terminated + std::size_t string_length, + std::size_t pos, + std::size_t n, + size_type num_bits ) +{ + BOOST_ASSERT( pos <= string_length ); + + const std::size_t rlen = (std::min)( n, string_length - pos ); + const size_type sz = ( num_bits != npos ? num_bits : rlen ); + m_bits.resize( calc_num_blocks( sz ) ); + m_num_bits = sz; + + const std::ctype< CharT > & fac = std::use_facet< std::ctype< CharT > >( std::locale() ); + const CharT one = fac.widen( '1' ); + + const size_type m = num_bits < rlen ? num_bits : rlen; + for ( std::size_t i = 0; i < m; ++i ) { + const CharT c = s[ ( pos + m - 1 ) - i ]; + + if ( Traits::eq( c, one ) ) { + set( i ); + } else { + BOOST_ASSERT( Traits::eq( c, fac.widen( '0' ) ) ); + } + } +} + +template< typename Block, typename AllocatorOrContainer > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::init_from_unsigned_long( + size_type num_bits, + unsigned long value ) +{ + BOOST_ASSERT( m_bits.size() == 0 ); + + m_bits.resize( calc_num_blocks( num_bits ) ); + m_num_bits = num_bits; + + typedef unsigned long num_type; + typedef boost::detail::dynamic_bitset_impl::shifter< num_type, bits_per_block, ulong_width > shifter; + + // if (num_bits == 0) + // return; + + // zero out all bits at pos >= num_bits, if any; + // note that: num_bits == 0 implies value == 0 + if ( num_bits < static_cast< size_type >( ulong_width ) ) { + const num_type mask = ( num_type( 1 ) << num_bits ) - 1; + value &= mask; + } + + typename buffer_type::iterator it = m_bits.begin(); + for ( ; value; shifter::left_shift( value ), ++it ) { + *it = static_cast< block_type >( value ); + } +} + +template< typename Block, typename AllocatorOrContainer > +template< typename BlockInputIterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::m_append( BlockInputIterator first, BlockInputIterator last, std::input_iterator_tag ) +{ + for ( ; first != last; ++first ) { + append( *first ); + } +} + +template< typename Block, typename AllocatorOrContainer > +template< typename BlockInputIterator > +BOOST_DYNAMIC_BITSET_CONSTEXPR20 void +dynamic_bitset< Block, AllocatorOrContainer >::m_append( BlockInputIterator first, BlockInputIterator last, std::forward_iterator_tag ) +{ + if ( first != last ) { + const int r = count_extra_bits(); + const std::size_t d = std::distance( first, last ); + m_bits.reserve( num_blocks() + d ); + if ( r == 0 ) { + do { + m_bits.push_back( *first ); // could use vector<>::insert() + ++first; + } while ( first != last ); + } else { + m_highest_block() |= ( *first << r ); + do { + Block b = *first >> ( bits_per_block - r ); + ++first; + m_bits.push_back( b | ( first == last ? 0 : *first << r ) ); + } while ( first != last ); + } + m_num_bits += bits_per_block * d; + } +} + +// bit appender + +template< typename Block, typename AllocatorOrContainer > +dynamic_bitset< Block, AllocatorOrContainer >::bit_appender::bit_appender( dynamic_bitset & r ) + : bs( r ), n( 0 ), mask( 0 ), current( 0 ) +{ +} + +template< typename Block, typename AllocatorOrContainer > +dynamic_bitset< Block, AllocatorOrContainer >::bit_appender::~bit_appender() +{ + // Reverse the order of the blocks, shift if needed, and then + // resize. + // + std::reverse( bs.m_bits.begin(), bs.m_bits.end() ); + const int offs = bit_index( n ); + if ( offs ) { + bs >>= ( bits_per_block - offs ); + } + bs.resize( n ); // doesn't enlarge, so can't throw + BOOST_ASSERT( bs.m_check_invariants() ); +} + +template< typename Block, typename AllocatorOrContainer > +void +dynamic_bitset< Block, AllocatorOrContainer >::bit_appender::do_append( bool value ) +{ + if ( mask == 0 ) { + bs.append( Block( 0 ) ); + current = &bs.m_highest_block(); + mask = Block( 1 ) << ( bits_per_block - 1 ); + } + + if ( value ) { + *current |= mask; + } + mask /= 2; + ++n; +} + +template< typename Block, typename AllocatorOrContainer > +typename dynamic_bitset< Block, AllocatorOrContainer >::size_type +dynamic_bitset< Block, AllocatorOrContainer >::bit_appender::get_count() const +{ + return n; +} + +} // namespace boost + +// std::hash support +#if defined( BOOST_DYNAMIC_BITSET_SPECIALIZE_STD_HASH ) +namespace std { + +template< typename Block, typename AllocatorOrContainer > +struct hash< boost::dynamic_bitset< Block, AllocatorOrContainer > > +{ + typedef boost::dynamic_bitset< Block, AllocatorOrContainer > argument_type; + typedef std::size_t result_type; + result_type + operator()( const argument_type & a ) const noexcept + { + boost::hash< argument_type > hasher; + return hasher( a ); + } +}; + +} +#endif diff --git a/external/include/boost_1_90_0/boost/dynamic_bitset_fwd.hpp b/external/include/boost_1_90_0/boost/dynamic_bitset_fwd.hpp new file mode 100644 index 0000000000..c740c0d423 --- /dev/null +++ b/external/include/boost_1_90_0/boost/dynamic_bitset_fwd.hpp @@ -0,0 +1,24 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2004 Gennaro Prota +// +// 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) +// +// ----------------------------------------------------------- + +#ifndef BOOST_DYNAMIC_BITSET_FWD_HPP +#define BOOST_DYNAMIC_BITSET_FWD_HPP + +#include + +namespace boost { + +template< typename Block = unsigned long, typename AllocatorOrContainer = std::allocator< Block > > +class dynamic_bitset; + +} + +#endif // include guard diff --git a/external/include/boost_1_75/boost/exception/exception.hpp b/external/include/boost_1_90_0/boost/exception/exception.hpp similarity index 80% rename from external/include/boost_1_75/boost/exception/exception.hpp rename to external/include/boost_1_90_0/boost/exception/exception.hpp index 37a582c2e3..59f427a809 100644 --- a/external/include/boost_1_75/boost/exception/exception.hpp +++ b/external/include/boost_1_90_0/boost/exception/exception.hpp @@ -1,487 +1,569 @@ -//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. - -//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) - -#ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 -#define BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 - -#include - -#ifdef BOOST_EXCEPTION_MINI_BOOST -#include -namespace boost { namespace exception_detail { using std::shared_ptr; } } -#else -namespace boost { template class shared_ptr; } -namespace boost { namespace exception_detail { using boost::shared_ptr; } } -#endif - -#if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#if __GNUC__*100+__GNUC_MINOR__>301 -#pragma GCC system_header -#endif -#ifdef __clang__ -#pragma clang system_header -#endif -#ifdef _MSC_VER -#pragma warning(push,1) -#pragma warning(disable: 4265) -#endif -#endif - -namespace -boost - { - namespace - exception_detail - { - template - class - refcount_ptr - { - public: - - refcount_ptr(): - px_(0) - { - } - - ~refcount_ptr() - { - release(); - } - - refcount_ptr( refcount_ptr const & x ): - px_(x.px_) - { - add_ref(); - } - - refcount_ptr & - operator=( refcount_ptr const & x ) - { - adopt(x.px_); - return *this; - } - - void - adopt( T * px ) - { - release(); - px_=px; - add_ref(); - } - - T * - get() const - { - return px_; - } - - private: - - T * px_; - - void - add_ref() - { - if( px_ ) - px_->add_ref(); - } - - void - release() - { - if( px_ && px_->release() ) - px_=0; - } - }; - } - - //////////////////////////////////////////////////////////////////////// - - template - class error_info; - - typedef error_info throw_function; - typedef error_info throw_file; - typedef error_info throw_line; - - template <> - class - error_info - { - public: - typedef char const * value_type; - value_type v_; - explicit - error_info( value_type v ): - v_(v) - { - } - }; - - template <> - class - error_info - { - public: - typedef char const * value_type; - value_type v_; - explicit - error_info( value_type v ): - v_(v) - { - } - }; - - template <> - class - error_info - { - public: - typedef int value_type; - value_type v_; - explicit - error_info( value_type v ): - v_(v) - { - } - }; - - class - BOOST_SYMBOL_VISIBLE - exception; - - namespace - exception_detail - { - class error_info_base; - struct type_info_; - - struct - error_info_container - { - virtual char const * diagnostic_information( char const * ) const = 0; - virtual shared_ptr get( type_info_ const & ) const = 0; - virtual void set( shared_ptr const &, type_info_ const & ) = 0; - virtual void add_ref() const = 0; - virtual bool release() const = 0; - virtual refcount_ptr clone() const = 0; - - protected: - - ~error_info_container() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - template - struct get_info; - - template <> - struct get_info; - - template <> - struct get_info; - - template <> - struct get_info; - - template - struct set_info_rv; - - template <> - struct set_info_rv; - - template <> - struct set_info_rv; - - template <> - struct set_info_rv; - - char const * get_diagnostic_information( exception const &, char const * ); - - void copy_boost_exception( exception *, exception const * ); - - template - E const & set_info( E const &, error_info const & ); - - template - E const & set_info( E const &, throw_function const & ); - - template - E const & set_info( E const &, throw_file const & ); - - template - E const & set_info( E const &, throw_line const & ); - } - - class - BOOST_SYMBOL_VISIBLE - exception - { - // - public: - template void set( typename Tag::type const & ); - template typename Tag::type const * get() const; - // - - protected: - - exception(): - throw_function_(0), - throw_file_(0), - throw_line_(-1) - { - } - -#ifdef __HP_aCC - //On HP aCC, this protected copy constructor prevents throwing boost::exception. - //On all other platforms, the same effect is achieved by the pure virtual destructor. - exception( exception const & x ) BOOST_NOEXCEPT_OR_NOTHROW: - data_(x.data_), - throw_function_(x.throw_function_), - throw_file_(x.throw_file_), - throw_line_(x.throw_line_) - { - } -#endif - - virtual ~exception() BOOST_NOEXCEPT_OR_NOTHROW -#ifndef __HP_aCC - = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors. -#endif - ; - -#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310) - public: -#else - private: - - template - friend E const & exception_detail::set_info( E const &, throw_function const & ); - - template - friend E const & exception_detail::set_info( E const &, throw_file const & ); - - template - friend E const & exception_detail::set_info( E const &, throw_line const & ); - - template - friend E const & exception_detail::set_info( E const &, error_info const & ); - - friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); - - template - friend struct exception_detail::get_info; - friend struct exception_detail::get_info; - friend struct exception_detail::get_info; - friend struct exception_detail::get_info; - template - friend struct exception_detail::set_info_rv; - friend struct exception_detail::set_info_rv; - friend struct exception_detail::set_info_rv; - friend struct exception_detail::set_info_rv; - friend void exception_detail::copy_boost_exception( exception *, exception const * ); -#endif - mutable exception_detail::refcount_ptr data_; - mutable char const * throw_function_; - mutable char const * throw_file_; - mutable int throw_line_; - }; - - inline - exception:: - ~exception() BOOST_NOEXCEPT_OR_NOTHROW - { - } - - namespace - exception_detail - { - template - E const & - set_info( E const & x, throw_function const & y ) - { - x.throw_function_=y.v_; - return x; - } - - template - E const & - set_info( E const & x, throw_file const & y ) - { - x.throw_file_=y.v_; - return x; - } - - template - E const & - set_info( E const & x, throw_line const & y ) - { - x.throw_line_=y.v_; - return x; - } - } - - //////////////////////////////////////////////////////////////////////// - - namespace - exception_detail - { - template - struct - BOOST_SYMBOL_VISIBLE - error_info_injector: - public T, - public exception - { - explicit - error_info_injector( T const & x ): - T(x) - { - } - - ~error_info_injector() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - struct large_size { char c[256]; }; - large_size dispatch_boost_exception( exception const * ); - - struct small_size { }; - small_size dispatch_boost_exception( void const * ); - - template - struct enable_error_info_helper; - - template - struct - enable_error_info_helper - { - typedef T type; - }; - - template - struct - enable_error_info_helper - { - typedef error_info_injector type; - }; - - template - struct - enable_error_info_return_type - { - typedef typename enable_error_info_helper(0)))>::type type; - }; - } - - template - inline - typename - exception_detail::enable_error_info_return_type::type - enable_error_info( T const & x ) - { - typedef typename exception_detail::enable_error_info_return_type::type rt; - return rt(x); - } - - //////////////////////////////////////////////////////////////////////// - - namespace - exception_detail - { - class - BOOST_SYMBOL_VISIBLE - clone_base - { - public: - - virtual clone_base const * clone() const = 0; - virtual void rethrow() const = 0; - - virtual - ~clone_base() BOOST_NOEXCEPT_OR_NOTHROW - { - } - }; - - inline - void - copy_boost_exception( exception * a, exception const * b ) - { - refcount_ptr data; - if( error_info_container * d=b->data_.get() ) - data = d->clone(); - a->throw_file_ = b->throw_file_; - a->throw_line_ = b->throw_line_; - a->throw_function_ = b->throw_function_; - a->data_ = data; - } - - inline - void - copy_boost_exception( void *, void const * ) - { - } - - template - class - BOOST_SYMBOL_VISIBLE - clone_impl: - public T, - public virtual clone_base - { - struct clone_tag { }; - clone_impl( clone_impl const & x, clone_tag ): - T(x) - { - copy_boost_exception(this,&x); - } - - public: - - explicit - clone_impl( T const & x ): - T(x) - { - copy_boost_exception(this,&x); - } - - ~clone_impl() BOOST_NOEXCEPT_OR_NOTHROW - { - } - - private: - - clone_base const * - clone() const - { - return new clone_impl(*this,clone_tag()); - } - - void - rethrow() const - { - throw*this; - } - }; - } - - template - inline - exception_detail::clone_impl - enable_current_exception( T const & x ) - { - return exception_detail::clone_impl(x); - } - } - -#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) -#pragma warning(pop) -#endif - -#endif // #ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//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) + +#ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 +#define BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 + +#include +#include +#include + +#ifdef BOOST_EXCEPTION_MINI_BOOST +#include +namespace boost { namespace exception_detail { using std::shared_ptr; } } +#else +namespace boost { template class shared_ptr; } +namespace boost { namespace exception_detail { using boost::shared_ptr; } } +#endif + +#if !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301 +#pragma GCC system_header +#endif +#ifdef __clang__ +#pragma clang system_header +#endif +#ifdef _MSC_VER +#pragma warning(push,1) +#pragma warning(disable: 4265) +#endif +#endif + +namespace +boost + { + namespace + exception_detail + { + template + class + refcount_ptr + { + public: + + refcount_ptr(): + px_(0) + { + } + + ~refcount_ptr() + { + release(); + } + + refcount_ptr( refcount_ptr const & x ): + px_(x.px_) + { + add_ref(); + } + + refcount_ptr & + operator=( refcount_ptr const & x ) + { + adopt(x.px_); + return *this; + } + + void + adopt( T * px ) + { + release(); + px_=px; + add_ref(); + } + + T * + get() const + { + return px_; + } + + private: + + T * px_; + + void + add_ref() + { + if( px_ ) + px_->add_ref(); + } + + void + release() + { + if( px_ && px_->release() ) + px_=0; + } + }; + } + + //////////////////////////////////////////////////////////////////////// + + template + class error_info; + + typedef error_info throw_function; + typedef error_info throw_file; + typedef error_info throw_line; + typedef error_info throw_column; + + template <> + class + error_info + { + public: + typedef char const * value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info + { + public: + typedef char const * value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info + { + public: + typedef int value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info + { + public: + typedef int value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + class + BOOST_SYMBOL_VISIBLE + exception; + + namespace + exception_detail + { + class error_info_base; + struct type_info_; + + struct + error_info_container + { + virtual char const * diagnostic_information( char const * ) const = 0; + virtual shared_ptr get( type_info_ const & ) const = 0; + virtual void set( shared_ptr const &, type_info_ const & ) = 0; + virtual void add_ref() const = 0; + virtual bool release() const = 0; + virtual refcount_ptr clone() const = 0; + + protected: + + ~error_info_container() BOOST_NOEXCEPT_OR_NOTHROW + { + } + }; + + template + struct get_info; + + template <> + struct get_info; + + template <> + struct get_info; + + template <> + struct get_info; + + template <> + struct get_info; + + template + struct set_info_rv; + + template <> + struct set_info_rv; + + template <> + struct set_info_rv; + + template <> + struct set_info_rv; + + template <> + struct set_info_rv; + + char const * get_diagnostic_information( exception const &, char const * ); + + void copy_boost_exception( exception *, exception const * ); + + template + E const & set_info( E const &, error_info const & ); + + template + E const & set_info( E const &, throw_function const & ); + + template + E const & set_info( E const &, throw_file const & ); + + template + E const & set_info( E const &, throw_line const & ); + + template + E const & set_info( E const &, throw_column const & ); + + boost::source_location get_exception_throw_location( exception const & ); + } + + class + BOOST_SYMBOL_VISIBLE + exception + { + // + public: + template void set( typename Tag::type const & ); + template typename Tag::type const * get() const; + // + + protected: + + exception(): + throw_function_(0), + throw_file_(0), + throw_line_(-1), + throw_column_(-1) + { + } + +#ifdef __HP_aCC + //On HP aCC, this protected copy constructor prevents throwing boost::exception. + //On all other platforms, the same effect is achieved by the pure virtual destructor. + exception( exception const & x ) BOOST_NOEXCEPT_OR_NOTHROW: + data_(x.data_), + throw_function_(x.throw_function_), + throw_file_(x.throw_file_), + throw_line_(x.throw_line_), + throw_column_(x.throw_column_) + { + } +#endif + + virtual ~exception() BOOST_NOEXCEPT_OR_NOTHROW +#ifndef __HP_aCC + = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors. +#endif + ; + +#if (defined(__MWERKS__) && __MWERKS__<=0x3207) || (defined(_MSC_VER) && _MSC_VER<=1310) + public: +#else + private: + + template + friend E const & exception_detail::set_info( E const &, throw_function const & ); + + template + friend E const & exception_detail::set_info( E const &, throw_file const & ); + + template + friend E const & exception_detail::set_info( E const &, throw_line const & ); + + template + friend E const & exception_detail::set_info( E const &, throw_column const & ); + + template + friend E const & exception_detail::set_info( E const &, error_info const & ); + + friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); + + friend boost::source_location exception_detail::get_exception_throw_location( exception const & ); + + template + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; + template + friend struct exception_detail::set_info_rv; + friend struct exception_detail::set_info_rv; + friend struct exception_detail::set_info_rv; + friend struct exception_detail::set_info_rv; + friend struct exception_detail::set_info_rv; + friend void exception_detail::copy_boost_exception( exception *, exception const * ); +#endif + mutable exception_detail::refcount_ptr data_; + mutable char const * throw_function_; + mutable char const * throw_file_; + mutable int throw_line_; + mutable int throw_column_; + }; + + inline + exception:: + ~exception() BOOST_NOEXCEPT_OR_NOTHROW + { + } + + namespace + exception_detail + { + template + E const & + set_info( E const & x, throw_function const & y ) + { + x.throw_function_=y.v_; + return x; + } + + template + E const & + set_info( E const & x, throw_file const & y ) + { + x.throw_file_=y.v_; + return x; + } + + template + E const & + set_info( E const & x, throw_line const & y ) + { + x.throw_line_=y.v_; + return x; + } + + template + E const & + set_info( E const & x, throw_column const & y ) + { + x.throw_column_=y.v_; + return x; + } + +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + + template <> + struct + set_info_rv + { + template + static + E const & + set( E const & x, throw_column && y ) + { + x.throw_column_=y.v_; + return x; + } + }; + +#endif + + inline boost::source_location get_exception_throw_location( exception const & x ) + { + return boost::source_location( + x.throw_file_? x.throw_file_: "", + x.throw_line_ >= 0? x.throw_line_: 0, + x.throw_function_? x.throw_function_: "", + x.throw_column_ >= 0? x.throw_column_: 0 + ); + } + } + + //////////////////////////////////////////////////////////////////////// + + namespace + exception_detail + { + template + struct + BOOST_SYMBOL_VISIBLE + error_info_injector: + public T, + public exception + { + explicit + error_info_injector( T const & x ): + T(x) + { + } + + ~error_info_injector() BOOST_NOEXCEPT_OR_NOTHROW + { + } + }; + + struct large_size { char c[256]; }; + large_size dispatch_boost_exception( exception const * ); + + struct small_size { }; + small_size dispatch_boost_exception( void const * ); + + template + struct enable_error_info_helper; + + template + struct + enable_error_info_helper + { + typedef T type; + }; + + template + struct + enable_error_info_helper + { + typedef error_info_injector type; + }; + + template + struct + enable_error_info_return_type + { + typedef typename enable_error_info_helper(0)))>::type type; + }; + } + + template + inline + typename + exception_detail::enable_error_info_return_type::type + enable_error_info( T const & x ) + { + typedef typename exception_detail::enable_error_info_return_type::type rt; + return rt(x); + } + + //////////////////////////////////////////////////////////////////////// +#if defined(BOOST_NO_EXCEPTIONS) + BOOST_NORETURN void throw_exception(std::exception const & e); // user defined +#endif + + namespace + exception_detail + { + class + BOOST_SYMBOL_VISIBLE + clone_base + { + public: + + virtual clone_base const * clone() const = 0; + virtual void rethrow() const = 0; + + virtual + ~clone_base() BOOST_NOEXCEPT_OR_NOTHROW + { + } + }; + + inline + void + copy_boost_exception( exception * a, exception const * b ) + { + refcount_ptr data; + if( error_info_container * d=b->data_.get() ) + data = d->clone(); + a->throw_file_ = b->throw_file_; + a->throw_line_ = b->throw_line_; + a->throw_function_ = b->throw_function_; + a->throw_column_ = b->throw_column_; + a->data_ = data; + } + + inline + void + copy_boost_exception( void *, void const * ) + { + } + + template + class + BOOST_SYMBOL_VISIBLE + clone_impl: + public T, + public virtual clone_base + { + struct clone_tag { }; + clone_impl( clone_impl const & x, clone_tag ): + T(x) + { + copy_boost_exception(this,&x); + } + + public: + + explicit + clone_impl( T const & x ): + T(x) + { + copy_boost_exception(this,&x); + } + + ~clone_impl() BOOST_NOEXCEPT_OR_NOTHROW + { + } + + private: + + clone_base const * + clone() const + { + return new clone_impl(*this,clone_tag()); + } + + void + rethrow() const + { +#if defined(BOOST_NO_EXCEPTIONS) + boost::throw_exception(*this); +#else + throw*this; +#endif + } + }; + } + + template + inline + exception_detail::clone_impl + enable_current_exception( T const & x ) + { + return exception_detail::clone_impl(x); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif + +#endif // #ifndef BOOST_EXCEPTION_274DA366004E11DCB1DDFE2E56D89593 diff --git a/external/include/boost_1_90_0/boost/foreach.hpp b/external/include/boost_1_90_0/boost/foreach.hpp new file mode 100644 index 0000000000..5174266b91 --- /dev/null +++ b/external/include/boost_1_90_0/boost/foreach.hpp @@ -0,0 +1,1135 @@ +/////////////////////////////////////////////////////////////////////////////// +// foreach.hpp header file +// +// Copyright 2004 Eric Niebler. +// 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) +// See http://www.boost.org/libs/foreach for documentation +// +// Credits: +// Anson Tsao - for the initial inspiration and several good suggestions. +// Thorsten Ottosen - for Boost.Range, and for suggesting a way to detect +// const-qualified rvalues at compile time on VC7.1+ +// Russell Hind - For help porting to Borland +// Alisdair Meredith - For help porting to Borland +// Stefan Slapeta - For help porting to Intel +// David Jenkins - For help finding a Microsoft Code Analysis bug +// mimomorin@... - For a patch to use rvalue refs on supporting compilers + +#ifndef BOOST_FOREACH + +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include // for std::pair + +#include +#include + +// Define a compiler generic null pointer value +#if defined(BOOST_NO_NULLPTR) +#define BOOST_FOREACH_NULL 0 +#else +#define BOOST_FOREACH_NULL nullptr +#endif + +// Some compilers let us detect even const-qualified rvalues at compile-time +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) \ + || defined(BOOST_MSVC) && !defined(_PREFAST_) \ + || (BOOST_WORKAROUND(__GNUC__, == 4) && (__GNUC_MINOR__ <= 5) && !defined(BOOST_INTEL) && \ + !defined(BOOST_CLANG)) \ + || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ >= 4) && !defined(BOOST_INTEL) && \ + !defined(BOOST_CLANG)) +# define BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION +#else +// Some compilers allow temporaries to be bound to non-const references. +// These compilers make it impossible to for BOOST_FOREACH to detect +// temporaries and avoid reevaluation of the collection expression. +# if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x593) \ + || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, < 0x5100) \ + || BOOST_WORKAROUND(__DECCXX_VER, <= 60590042) +# define BOOST_FOREACH_NO_RVALUE_DETECTION +# endif +// Some compilers do not correctly implement the lvalue/rvalue conversion +// rules of the ternary conditional operator. +# if defined(BOOST_FOREACH_NO_RVALUE_DETECTION) \ + || defined(BOOST_NO_SFINAE) \ + || BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1400)) \ + || (BOOST_WORKAROUND(__GNUC__, == 3) && (__GNUC_MINOR__ <= 3) && defined(__APPLE_CC__)) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3206)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, >= 0x5100) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x590)) +# define BOOST_FOREACH_NO_CONST_RVALUE_DETECTION +# else +# define BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +# endif +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +# include +# include +# include +# include +#endif + +namespace boost +{ + +// forward declarations for iterator_range +template +class iterator_range; + +// forward declarations for sub_range +template +class sub_range; + +namespace foreach +{ + /////////////////////////////////////////////////////////////////////////////// + // in_range + // + template + inline std::pair in_range(T begin, T end) + { + return std::make_pair(begin, end); + } + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_lightweight_proxy + // Specialize this for user-defined collection types if they are inexpensive to copy. + // This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. + template + struct is_lightweight_proxy + : boost::mpl::false_ + { + }; + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_noncopyable + // Specialize this for user-defined collection types if they cannot be copied. + // This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. + template + struct is_noncopyable + #if !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) && !defined(BOOST_NO_IS_ABSTRACT) + : boost::mpl::or_< + boost::is_abstract + , boost::is_base_and_derived + > + #elif !defined(BOOST_BROKEN_IS_BASE_AND_DERIVED) + : boost::is_base_and_derived + #elif !defined(BOOST_NO_IS_ABSTRACT) + : boost::is_abstract + #else + : boost::mpl::false_ + #endif + { + }; + +} // namespace foreach + +} // namespace boost + +// vc6/7 needs help ordering the following overloads +#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_FOREACH_TAG_DEFAULT ... +#else +# define BOOST_FOREACH_TAG_DEFAULT boost::foreach::tag +#endif + +/////////////////////////////////////////////////////////////////////////////// +// boost_foreach_is_lightweight_proxy +// Another customization point for the is_lightweight_proxy optimization, +// this one works on legacy compilers. Overload boost_foreach_is_lightweight_proxy +// at the global namespace for your type. +template +inline boost::foreach::is_lightweight_proxy * +boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } + +template +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(std::pair *&, boost::foreach::tag) { return 0; } + +template +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(boost::iterator_range *&, boost::foreach::tag) { return 0; } + +template +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(boost::sub_range *&, boost::foreach::tag) { return 0; } + +template +inline boost::mpl::true_ * +boost_foreach_is_lightweight_proxy(T **&, boost::foreach::tag) { return 0; } + +/////////////////////////////////////////////////////////////////////////////// +// boost_foreach_is_noncopyable +// Another customization point for the is_noncopyable trait, +// this one works on legacy compilers. Overload boost_foreach_is_noncopyable +// at the global namespace for your type. +template +inline boost::foreach::is_noncopyable * +boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; } + +namespace boost +{ + +namespace foreach_detail_ +{ + +/////////////////////////////////////////////////////////////////////////////// +// Define some utilities for assessing the properties of expressions +// +template +inline boost::mpl::and_ *and_(Bool1 *, Bool2 *) { return 0; } + +template +inline boost::mpl::and_ *and_(Bool1 *, Bool2 *, Bool3 *) { return 0; } + +template +inline boost::mpl::or_ *or_(Bool1 *, Bool2 *) { return 0; } + +template +inline boost::mpl::or_ *or_(Bool1 *, Bool2 *, Bool3 *) { return 0; } + +template +inline boost::mpl::not_ *not_(Bool1 *) { return 0; } + +template +inline boost::is_array *is_array_(T const &) { return 0; } + +template +inline boost::is_const *is_const_(T &) { return 0; } + +#ifndef BOOST_FOREACH_NO_RVALUE_DETECTION +template +inline boost::mpl::true_ *is_const_(T const &) { return 0; } +#endif + +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES +template +inline boost::mpl::false_ *is_rvalue_(T &, int) { return 0; } + +template +inline boost::mpl::true_ *is_rvalue_(T const &, ...) { return 0; } +#else +template +inline boost::is_rvalue_reference *is_rvalue_(T &&, int) { return 0; } +#endif + +/////////////////////////////////////////////////////////////////////////////// +// auto_any_t/auto_any +// General utility for putting an object of any type into automatic storage +struct auto_any_base +{ + // auto_any_base must evaluate to false in boolean context so that + // they can be declared in if() statements. + operator bool() const + { + return false; + } +}; + +template +struct auto_any : auto_any_base +{ + explicit auto_any(T const &t) + : item(t) + { + } + + // temporaries of type auto_any will be bound to const auto_any_base + // references, but we still want to be able to mutate the stored + // data, so declare it as mutable. + mutable T item; +}; + +typedef auto_any_base const &auto_any_t; + +template +inline BOOST_DEDUCED_TYPENAME boost::mpl::if_::type &auto_any_cast(auto_any_t a) +{ + return static_cast const &>(a).item; +} + +typedef boost::mpl::true_ const_; + +/////////////////////////////////////////////////////////////////////////////// +// type2type +// +template +struct type2type + : boost::mpl::if_ +{ +}; + +template +struct wrap_cstr +{ + typedef T type; +}; + +template<> +struct wrap_cstr +{ + typedef wrap_cstr type; + typedef char *iterator; + typedef char *const_iterator; +}; + +template<> +struct wrap_cstr +{ + typedef wrap_cstr type; + typedef char const *iterator; + typedef char const *const_iterator; +}; + +template<> +struct wrap_cstr +{ + typedef wrap_cstr type; + typedef wchar_t *iterator; + typedef wchar_t *const_iterator; +}; + +template<> +struct wrap_cstr +{ + typedef wrap_cstr type; + typedef wchar_t const *iterator; + typedef wchar_t const *const_iterator; +}; + +template +struct is_char_array + : mpl::and_< + is_array + , mpl::or_< + is_convertible + , is_convertible + > + > +{}; + +template +struct foreach_iterator +{ + // **** READ THIS IF YOUR COMPILE BREAKS HERE **** + // + // There is an ambiguity about how to iterate over arrays of char and wchar_t. + // Should the last array element be treated as a null terminator to be skipped, or + // is it just like any other element in the array? To fix the problem, you must + // say which behavior you want. + // + // To treat the container as a null-terminated string, merely cast it to a + // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ... + // + // To treat the container as an array, use boost::as_array() in , + // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ... + BOOST_MPL_ASSERT_MSG( (!is_char_array::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) ); + + // If the type is a pointer to a null terminated string (as opposed + // to an array type), there is no ambiguity. + typedef BOOST_DEDUCED_TYPENAME wrap_cstr::type container; + + typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if< + C + , range_const_iterator + , range_mutable_iterator + >::type type; +}; + + +template +struct foreach_reverse_iterator +{ + // **** READ THIS IF YOUR COMPILE BREAKS HERE **** + // + // There is an ambiguity about how to iterate over arrays of char and wchar_t. + // Should the last array element be treated as a null terminator to be skipped, or + // is it just like any other element in the array? To fix the problem, you must + // say which behavior you want. + // + // To treat the container as a null-terminated string, merely cast it to a + // char const *, as in BOOST_FOREACH( char ch, (char const *)"hello" ) ... + // + // To treat the container as an array, use boost::as_array() in , + // as in BOOST_FOREACH( char ch, boost::as_array("hello") ) ... + BOOST_MPL_ASSERT_MSG( (!is_char_array::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING, (T&) ); + + // If the type is a pointer to a null terminated string (as opposed + // to an array type), there is no ambiguity. + typedef BOOST_DEDUCED_TYPENAME wrap_cstr::type container; + + typedef BOOST_DEDUCED_TYPENAME boost::mpl::eval_if< + C + , range_reverse_iterator + , range_reverse_iterator + >::type type; +}; + +template +struct foreach_reference + : iterator_reference::type> +{ +}; + +/////////////////////////////////////////////////////////////////////////////// +// encode_type +// +template +inline type2type *encode_type(T &, boost::false_type*) { return 0; } + +template +inline type2type *encode_type(T const &, boost::true_type*) { return 0; } + +template +inline type2type *encode_type(T &, boost::mpl::false_*) { return 0; } + +template +inline type2type *encode_type(T const &, boost::mpl::true_*) { return 0; } + +/////////////////////////////////////////////////////////////////////////////// +// set_false +// +inline bool set_false(bool &b) +{ + b = false; + return false; +} + +/////////////////////////////////////////////////////////////////////////////// +// to_ptr +// +template +inline T *&to_ptr(T const &) +{ + static T *t = 0; + return t; +} + +// Borland needs a little extra help with arrays +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +template +inline T (*&to_ptr(T (&)[N]))[N] +{ + static T (*t)[N] = 0; + return t; +} + +/////////////////////////////////////////////////////////////////////////////// +// derefof +// +template +inline T &derefof(T *t) +{ + // This is a work-around for a compiler bug in Borland. If T* is a pointer to array type U(*)[N], + // then dereferencing it results in a U* instead of U(&)[N]. The cast forces the issue. + return reinterpret_cast( + *const_cast( + reinterpret_cast(t) + ) + ); +} + +# define BOOST_FOREACH_DEREFOF(T) boost::foreach_detail_::derefof(*T) +#else +# define BOOST_FOREACH_DEREFOF(T) (*T) +#endif + +#if defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION) \ + && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +/////////////////////////////////////////////////////////////////////////////// +// Rvalue references makes it drop-dead simple to detect at compile time +// whether an expression is an rvalue. +/////////////////////////////////////////////////////////////////////////////// + +# define BOOST_FOREACH_IS_RVALUE(COL) \ + boost::foreach_detail_::is_rvalue_((COL), 0) + +#elif defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION) \ + && defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +/////////////////////////////////////////////////////////////////////////////// +// Detect at compile-time whether an expression yields an rvalue or +// an lvalue. This is rather non-standard, but some popular compilers +// accept it. +/////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +// rvalue_probe +// +template +struct rvalue_probe +{ + struct private_type_ {}; + // can't ever return an array by value + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< + boost::mpl::or_, boost::is_array >, private_type_, T + >::type value_type; + operator value_type() { return *reinterpret_cast(this); } // never called + operator T &() const { return *reinterpret_cast(const_cast(this)); } // never called +}; + +template +rvalue_probe const make_probe(T const &) +{ + return rvalue_probe(); +} + +# define BOOST_FOREACH_IS_RVALUE(COL) \ + boost::foreach_detail_::and_( \ + boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(COL)) \ + , (true ? 0 : boost::foreach_detail_::is_rvalue_( \ + (true ? boost::foreach_detail_::make_probe(COL) : (COL)), 0))) + +#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// Detect at run-time whether an expression yields an rvalue +// or an lvalue. This is 100% standard C++, but not all compilers +// accept it. Also, it causes FOREACH to break when used with non- +// copyable collection types. +/////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +// rvalue_probe +// +template +struct rvalue_probe +{ + rvalue_probe(T &t, bool &b) + : value(t) + , is_rvalue(b) + { + } + + struct private_type_ {}; + // can't ever return an array or an abstract type by value + #ifdef BOOST_NO_IS_ABSTRACT + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< + boost::is_array, private_type_, T + >::type value_type; + #else + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_< + boost::mpl::or_, boost::is_array >, private_type_, T + >::type value_type; + #endif + + operator value_type() + { + this->is_rvalue = true; + return this->value; + } + + operator T &() const + { + return this->value; + } + +private: + T &value; + bool &is_rvalue; +}; + +template +rvalue_probe make_probe(T &t, bool &b) { return rvalue_probe(t, b); } + +template +rvalue_probe make_probe(T const &t, bool &b) { return rvalue_probe(t, b); } + +/////////////////////////////////////////////////////////////////////////////// +// simple_variant +// holds either a T or a T const* +template +struct simple_variant +{ + simple_variant(T const *t) + : is_rvalue(false) + { + *static_cast(this->data.address()) = t; + } + + simple_variant(T const &t) + : is_rvalue(true) + { + ::new(this->data.address()) T(t); + } + + simple_variant(simple_variant const &that) + : is_rvalue(that.is_rvalue) + { + if(this->is_rvalue) + ::new(this->data.address()) T(*that.get()); + else + *static_cast(this->data.address()) = that.get(); + } + + ~simple_variant() + { + if(this->is_rvalue) + this->get()->~T(); + } + + T const *get() const + { + if(this->is_rvalue) + return static_cast(this->data.address()); + else + return *static_cast(this->data.address()); + } + +private: + enum size_type { size = sizeof(T) > sizeof(T*) ? sizeof(T) : sizeof(T*) }; + simple_variant &operator =(simple_variant const &); + bool const is_rvalue; + aligned_storage data; +}; + +// If the collection is an array or is noncopyable, it must be an lvalue. +// If the collection is a lightweight proxy, treat it as an rvalue +// BUGBUG what about a noncopyable proxy? +template +inline BOOST_DEDUCED_TYPENAME boost::enable_if, IsProxy>::type * +should_copy_impl(LValue *, IsProxy *, bool *) +{ + return 0; +} + +// Otherwise, we must determine at runtime whether it's an lvalue or rvalue +inline bool * +should_copy_impl(boost::mpl::false_ *, boost::mpl::false_ *, bool *is_rvalue) +{ + return is_rvalue; +} + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// contain +// +template +inline auto_any contain(T const &t, boost::mpl::true_ *) // rvalue +{ + return auto_any(t); +} + +template +inline auto_any contain(T &t, boost::mpl::false_ *) // lvalue +{ + // Cannot seem to get sunpro to handle addressof() with array types. + #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x570)) + return auto_any(&t); + #else + return auto_any(boost::addressof(t)); + #endif +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template +inline auto_any > +contain(T const &t, bool *rvalue) +{ + return auto_any >(*rvalue ? simple_variant(t) : simple_variant(&t)); +} +#endif + +///////////////////////////////////////////////////////////////////////////// +// begin +// +template +inline auto_any::type> +begin(auto_any_t col, type2type *, boost::mpl::true_ *) // rvalue +{ + return auto_any::type>( + boost::begin(auto_any_cast(col))); +} + +template +inline auto_any::type> +begin(auto_any_t col, type2type *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_iterator::type iterator; + return auto_any::type>( + iterator(boost::begin(BOOST_FOREACH_DEREFOF((auto_any_cast(col)))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template +inline auto_any::type> +begin(auto_any_t col, type2type *, bool *) +{ + return auto_any::type>( + boost::begin(*auto_any_cast, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template +inline auto_any +begin(auto_any_t col, type2type *, boost::mpl::true_ *) // null-terminated C-style strings +{ + return auto_any(auto_any_cast(col)); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// end +// +template +inline auto_any::type> +end(auto_any_t col, type2type *, boost::mpl::true_ *) // rvalue +{ + return auto_any::type>( + boost::end(auto_any_cast(col))); +} + +template +inline auto_any::type> +end(auto_any_t col, type2type *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_iterator::type iterator; + return auto_any::type>( + iterator(boost::end(BOOST_FOREACH_DEREFOF((auto_any_cast(col)))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template +inline auto_any::type> +end(auto_any_t col, type2type *, bool *) +{ + return auto_any::type>( + boost::end(*auto_any_cast, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template +inline auto_any +end(auto_any_t, type2type *, boost::mpl::true_ *) // null-terminated C-style strings +{ + return auto_any(0); // not used +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// done +// +template +inline bool done(auto_any_t cur, auto_any_t end, type2type *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_iterator::type iter_t; + return auto_any_cast(cur) == auto_any_cast(end); +} + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template +inline bool done(auto_any_t cur, auto_any_t, type2type *) // null-terminated C-style strings +{ + return ! *auto_any_cast(cur); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// next +// +template +inline void next(auto_any_t cur, type2type *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_iterator::type iter_t; + ++auto_any_cast(cur); +} + +/////////////////////////////////////////////////////////////////////////////// +// deref +// +template +inline BOOST_DEDUCED_TYPENAME foreach_reference::type +deref(auto_any_t cur, type2type *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_iterator::type iter_t; + return *auto_any_cast(cur); +} + +///////////////////////////////////////////////////////////////////////////// +// rbegin +// +template +inline auto_any::type> +rbegin(auto_any_t col, type2type *, boost::mpl::true_ *) // rvalue +{ + return auto_any::type>( + boost::rbegin(auto_any_cast(col))); +} + +template +inline auto_any::type> +rbegin(auto_any_t col, type2type *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator::type iterator; + return auto_any::type>( + iterator(boost::rbegin(BOOST_FOREACH_DEREFOF((auto_any_cast(col)))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template +inline auto_any::type> +rbegin(auto_any_t col, type2type *, bool *) +{ + return auto_any::type>( + boost::rbegin(*auto_any_cast, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template +inline auto_any > +rbegin(auto_any_t col, type2type *, boost::mpl::true_ *) // null-terminated C-style strings +{ + T *p = auto_any_cast(col); + while(0 != *p) + ++p; + return auto_any >(reverse_iterator(p)); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// rend +// +template +inline auto_any::type> +rend(auto_any_t col, type2type *, boost::mpl::true_ *) // rvalue +{ + return auto_any::type>( + boost::rend(auto_any_cast(col))); +} + +template +inline auto_any::type> +rend(auto_any_t col, type2type *, boost::mpl::false_ *) // lvalue +{ + typedef BOOST_DEDUCED_TYPENAME type2type::type type; + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator::type iterator; + return auto_any::type>( + iterator(boost::rend(BOOST_FOREACH_DEREFOF((auto_any_cast(col)))))); +} + +#ifdef BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION +template +inline auto_any::type> +rend(auto_any_t col, type2type *, bool *) +{ + return auto_any::type>( + boost::rend(*auto_any_cast, boost::mpl::false_>(col).get())); +} +#endif + +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +template +inline auto_any > +rend(auto_any_t col, type2type *, boost::mpl::true_ *) // null-terminated C-style strings +{ + return auto_any >( + reverse_iterator(auto_any_cast(col))); +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +// rdone +// +template +inline bool rdone(auto_any_t cur, auto_any_t end, type2type *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator::type iter_t; + return auto_any_cast(cur) == auto_any_cast(end); +} + +/////////////////////////////////////////////////////////////////////////////// +// rnext +// +template +inline void rnext(auto_any_t cur, type2type *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator::type iter_t; + ++auto_any_cast(cur); +} + +/////////////////////////////////////////////////////////////////////////////// +// rderef +// +template +inline BOOST_DEDUCED_TYPENAME foreach_reference::type +rderef(auto_any_t cur, type2type *) +{ + typedef BOOST_DEDUCED_TYPENAME foreach_reverse_iterator::type iter_t; + return *auto_any_cast(cur); +} + +} // namespace foreach_detail_ +} // namespace boost + +// Suppress a bogus code analysis warning on vc8+ +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) +# define BOOST_FOREACH_SUPPRESS_WARNINGS() __pragma(warning(suppress:6001)) +#else +# define BOOST_FOREACH_SUPPRESS_WARNINGS() +#endif + +/////////////////////////////////////////////////////////////////////////////// +// Define a macro for giving hidden variables a unique name. Not strictly +// needed, but eliminates some warnings on some compilers. +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500)) +// With some versions of MSVC, use of __LINE__ to create unique identifiers +// can fail when the Edit-and-Continue debug flag is used. +# define BOOST_FOREACH_ID(x) x +#else +# define BOOST_FOREACH_ID(x) BOOST_PP_CAT(x, __LINE__) +#endif + +// A sneaky way to get the type of the collection without evaluating the expression +#define BOOST_FOREACH_TYPEOF(COL) \ + (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::encode_type(COL, boost::foreach_detail_::is_const_(COL))) + +// returns true_* if the type is noncopyable +#define BOOST_FOREACH_IS_NONCOPYABLE(COL) \ + boost_foreach_is_noncopyable( \ + boost::foreach_detail_::to_ptr(COL) \ + , boost_foreach_argument_dependent_lookup_hack_value) + +// returns true_* if the type is a lightweight proxy (and is not noncopyable) +#define BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ + boost::foreach_detail_::and_( \ + boost::foreach_detail_::not_(BOOST_FOREACH_IS_NONCOPYABLE(COL)) \ + , boost_foreach_is_lightweight_proxy( \ + boost::foreach_detail_::to_ptr(COL) \ + , boost_foreach_argument_dependent_lookup_hack_value)) + +#if defined(BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// R-values and const R-values supported here with zero runtime overhead +/////////////////////////////////////////////////////////////////////////////// + +// No variable is needed to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() + +// Evaluate the collection expression +# define BOOST_FOREACH_EVALUATE(COL) \ + (COL) + +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::or_( \ + BOOST_FOREACH_IS_RVALUE(COL) \ + , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))) + +#elif defined(BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// R-values and const R-values supported here +/////////////////////////////////////////////////////////////////////////////// + +// Declare a variable to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() \ + if (bool BOOST_FOREACH_ID(_foreach_is_rvalue) = false) {} else + +// Evaluate the collection expression, and detect if it is an lvalue or and rvalue +# define BOOST_FOREACH_EVALUATE(COL) \ + (true ? boost::foreach_detail_::make_probe((COL), BOOST_FOREACH_ID(_foreach_is_rvalue)) : (COL)) + +// The rvalue/lvalue-ness of the collection expression is determined dynamically, unless +// the type is an array or is noncopyable or is non-const, in which case we know it's an lvalue. +// If the type happens to be a lightweight proxy, always make a copy. +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (boost::foreach_detail_::should_copy_impl( \ + true ? BOOST_FOREACH_NULL : boost::foreach_detail_::or_( \ + boost::foreach_detail_::is_array_(COL) \ + , BOOST_FOREACH_IS_NONCOPYABLE(COL) \ + , boost::foreach_detail_::not_(boost::foreach_detail_::is_const_(COL))) \ + , true ? BOOST_FOREACH_NULL : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL) \ + , &BOOST_FOREACH_ID(_foreach_is_rvalue))) + +#elif !defined(BOOST_FOREACH_NO_RVALUE_DETECTION) +/////////////////////////////////////////////////////////////////////////////// +// R-values supported here, const R-values NOT supported here +/////////////////////////////////////////////////////////////////////////////// + +// No variable is needed to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() + +// Evaluate the collection expression +# define BOOST_FOREACH_EVALUATE(COL) \ + (COL) + +// Determine whether the collection expression is an lvalue or an rvalue. +// NOTE: this gets the answer wrong for const rvalues. +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (true ? BOOST_FOREACH_NULL : boost::foreach_detail_::or_( \ + boost::foreach_detail_::is_rvalue_((COL), 0) \ + , BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL))) + +#else +/////////////////////////////////////////////////////////////////////////////// +// R-values NOT supported here +/////////////////////////////////////////////////////////////////////////////// + +// No variable is needed to track the rvalue-ness of the collection expression +# define BOOST_FOREACH_PREAMBLE() \ + BOOST_FOREACH_SUPPRESS_WARNINGS() + +// Evaluate the collection expression +# define BOOST_FOREACH_EVALUATE(COL) \ + (COL) + +// Can't use rvalues with BOOST_FOREACH (unless they are lightweight proxies) +# define BOOST_FOREACH_SHOULD_COPY(COL) \ + (true ? BOOST_FOREACH_NULL : BOOST_FOREACH_IS_LIGHTWEIGHT_PROXY(COL)) + +#endif + +#define BOOST_FOREACH_CONTAIN(COL) \ + boost::foreach_detail_::contain( \ + BOOST_FOREACH_EVALUATE(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_BEGIN(COL) \ + boost::foreach_detail_::begin( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_END(COL) \ + boost::foreach_detail_::end( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_DONE(COL) \ + boost::foreach_detail_::done( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_ID(_foreach_end) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_NEXT(COL) \ + boost::foreach_detail_::next( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_DEREF(COL) \ + boost::foreach_detail_::deref( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_RBEGIN(COL) \ + boost::foreach_detail_::rbegin( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_REND(COL) \ + boost::foreach_detail_::rend( \ + BOOST_FOREACH_ID(_foreach_col) \ + , BOOST_FOREACH_TYPEOF(COL) \ + , BOOST_FOREACH_SHOULD_COPY(COL)) + +#define BOOST_FOREACH_RDONE(COL) \ + boost::foreach_detail_::rdone( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_ID(_foreach_end) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_RNEXT(COL) \ + boost::foreach_detail_::rnext( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +#define BOOST_FOREACH_RDEREF(COL) \ + boost::foreach_detail_::rderef( \ + BOOST_FOREACH_ID(_foreach_cur) \ + , BOOST_FOREACH_TYPEOF(COL)) + +/////////////////////////////////////////////////////////////////////////////// +// BOOST_FOREACH +// +// For iterating over collections. Collections can be +// arrays, null-terminated strings, or STL containers. +// The loop variable can be a value or reference. For +// example: +// +// std::list int_list(/*stuff*/); +// BOOST_FOREACH(int &i, int_list) +// { +// /* +// * loop body goes here. +// * i is a reference to the int in int_list. +// */ +// } +// +// Alternately, you can declare the loop variable first, +// so you can access it after the loop finishes. Obviously, +// if you do it this way, then the loop variable cannot be +// a reference. +// +// int i; +// BOOST_FOREACH(i, int_list) +// { ... } +// +#define BOOST_FOREACH(VAR, COL) \ + BOOST_FOREACH_PREAMBLE() \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_BEGIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_END(COL)) {} else \ + for (bool BOOST_FOREACH_ID(_foreach_continue) = true; \ + BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_DONE(COL); \ + BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_NEXT(COL) : (void)0) \ + if (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else \ + for (VAR = BOOST_FOREACH_DEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true) + +/////////////////////////////////////////////////////////////////////////////// +// BOOST_REVERSE_FOREACH +// +// For iterating over collections in reverse order. In +// all other respects, BOOST_REVERSE_FOREACH is like +// BOOST_FOREACH. +// +#define BOOST_REVERSE_FOREACH(VAR, COL) \ + BOOST_FOREACH_PREAMBLE() \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_col) = BOOST_FOREACH_CONTAIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_cur) = BOOST_FOREACH_RBEGIN(COL)) {} else \ + if (boost::foreach_detail_::auto_any_t BOOST_FOREACH_ID(_foreach_end) = BOOST_FOREACH_REND(COL)) {} else \ + for (bool BOOST_FOREACH_ID(_foreach_continue) = true; \ + BOOST_FOREACH_ID(_foreach_continue) && !BOOST_FOREACH_RDONE(COL); \ + BOOST_FOREACH_ID(_foreach_continue) ? BOOST_FOREACH_RNEXT(COL) : (void)0) \ + if (boost::foreach_detail_::set_false(BOOST_FOREACH_ID(_foreach_continue))) {} else \ + for (VAR = BOOST_FOREACH_RDEREF(COL); !BOOST_FOREACH_ID(_foreach_continue); BOOST_FOREACH_ID(_foreach_continue) = true) + +#endif diff --git a/external/include/boost_1_90_0/boost/foreach_fwd.hpp b/external/include/boost_1_90_0/boost/foreach_fwd.hpp new file mode 100644 index 0000000000..5b7bee4a90 --- /dev/null +++ b/external/include/boost_1_90_0/boost/foreach_fwd.hpp @@ -0,0 +1,51 @@ +/////////////////////////////////////////////////////////////////////////////// +// foreach.hpp header file +// +// Copyright 2010 Eric Niebler. +// 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) +// See http://www.boost.org/libs/foreach for documentation +// +// Credits: +// Kazutoshi Satoda: for suggesting the need for a _fwd header for foreach's +// customization points. + +#ifndef BOOST_FOREACH_FWD_HPP +#define BOOST_FOREACH_FWD_HPP + +// This must be at global scope, hence the uglified name +enum boost_foreach_argument_dependent_lookup_hack +{ + boost_foreach_argument_dependent_lookup_hack_value +}; + +namespace boost +{ + +namespace foreach +{ + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::tag + // + typedef boost_foreach_argument_dependent_lookup_hack tag; + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_lightweight_proxy + // Specialize this for user-defined collection types if they are inexpensive to copy. + // This tells BOOST_FOREACH it can avoid the rvalue/lvalue detection stuff. + template + struct is_lightweight_proxy; + + /////////////////////////////////////////////////////////////////////////////// + // boost::foreach::is_noncopyable + // Specialize this for user-defined collection types if they cannot be copied. + // This also tells BOOST_FOREACH to avoid the rvalue/lvalue detection stuff. + template + struct is_noncopyable; + +} // namespace foreach + +} // namespace boost + +#endif diff --git a/external/include/boost_1_90_0/boost/function_types/components.hpp b/external/include/boost_1_90_0/boost/function_types/components.hpp new file mode 100644 index 0000000000..c8d6335407 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/components.hpp @@ -0,0 +1,424 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_COMPONENTS_HPP_INCLUDED +#define BOOST_FT_COMPONENTS_HPP_INCLUDED + +#include + +#include + +#include +#include + +#include + +#include +#include +#include + +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) +# include + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +#endif + +#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT +# include +#endif + +#include + +# if BOOST_FT_MAX_ARITY < 10 +# include +# elif BOOST_FT_MAX_ARITY < 20 +# include +# elif BOOST_FT_MAX_ARITY < 30 +# include +# elif BOOST_FT_MAX_ARITY < 40 +# include +# elif BOOST_FT_MAX_ARITY < 50 +# include +# endif + +#include +#include + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +namespace boost +{ + namespace function_types + { + + using mpl::placeholders::_; + + template< typename T, typename ClassTypeTransform = add_reference<_> > + struct components; + + namespace detail + { + template struct components_impl; +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) + template struct components_bcc; +#endif + } + + template + struct components +#if !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) + : detail::components_impl +#else + : detail::components_bcc::type,T, + ClassTypeTransform> +#endif + { + typedef components type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,components,(T,ClassTypeTransform)) + }; + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + namespace detail { + + struct components_mpl_sequence_tag; + + struct components_non_func_base + { + typedef mpl::vector0<> types; + typedef void function_arity; + + typedef detail::constant<0> bits; + typedef detail::constant<0> mask; + + typedef components_mpl_sequence_tag tag; + }; + + template + < typename Components + , typename IfTagged + , typename ThenTag + , typename DefaultBase = components_non_func_base + > + struct retagged_if + : mpl::if_ + < detail::represents_impl + , detail::changed_tag + , DefaultBase + >::type + { }; + + // We detect plain function types and function references as function + // pointers by recursive instantiation of components_impl. + // The third specialization of components_impl makes sure the recursion + // terminates (when adding pointers). + template + struct components_impl + : detail::retagged_if + < detail::components_impl + , pointer_tag, /* --> */ function_tag > + { }; + template + struct components_impl + : detail::retagged_if + < detail::components_impl + , pointer_tag, /* --> */ reference_tag > + { }; + +#if !BOOST_FT_NO_CV_FUNC_SUPPORT + // Retry the type with a member pointer attached to detect cv functions + class a_class; + + template + struct cv_func_base + : detail::retagged_if + { + typedef typename + mpl::remove + < typename Base::types + , typename detail::class_transform::type>::type + types; + }; + + template + struct components_impl + : mpl::if_ + < detail::represents_impl< detail::components_impl + , member_pointer_tag > + , detail::cv_func_base< detail::components_impl, T, L> + , components_non_func_base + >::type + { }; + + template + struct components_impl + : components_non_func_base + { }; +#else + template + struct components_impl + : components_non_func_base + { }; +#endif + + template + struct components_impl + : components_impl + { }; + + template + struct components_impl + : components_impl + { }; + + template + struct components_impl + : components_impl + { }; + + template + struct components_impl + : components_impl + { }; + + template + struct components_impl + : components_impl + { }; + + template + struct components_impl + : components_impl + { }; + + + template + struct member_obj_ptr_result + { typedef T & type; }; + + template + struct member_obj_ptr_result + { typedef T const & type; }; + + template + struct member_obj_ptr_result + { typedef T volatile & type; }; + + template + struct member_obj_ptr_result + { typedef T const volatile & type; }; + + template + struct member_obj_ptr_result + { typedef T & type; }; + + template + struct member_obj_ptr_result + { typedef T & type; }; + + template + struct member_obj_ptr_result + { typedef T & type; }; + + template + struct member_obj_ptr_result + { typedef T & type; }; + + template + struct member_obj_ptr_components + : member_object_pointer_base + { + typedef function_types::components type; + typedef components_mpl_sequence_tag tag; + + typedef mpl::integral_c function_arity; + + typedef mpl::vector2< typename detail::member_obj_ptr_result::type, + typename detail::class_transform::type > types; + }; + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x565) +# define BOOST_FT_variations BOOST_FT_pointer|BOOST_FT_member_pointer + + template + struct components_impl + : member_obj_ptr_components + { }; + +#else +# define BOOST_FT_variations BOOST_FT_pointer + + // This workaround removes the member pointer from the type to allow + // detection of member function pointers with BCC. + template + struct components_impl + : detail::retagged_if + < detail::components_impl::type *, L> + , pointer_tag, /* --> */ member_function_pointer_tag + , member_obj_ptr_components > + { }; + + // BCC lets us test the cv-qualification of a function type by template + // partial specialization - so we use this bug feature to find out the + // member function's cv-qualification (unfortunately there are some + // invisible modifiers that impose some limitations on these types even if + // we remove the qualifiers, So we cannot exploit the same bug to make the + // library work for cv-qualified function types). + template struct encode_cv + { typedef char (& type)[1]; BOOST_STATIC_CONSTANT(std::size_t, value = 1); }; + template struct encode_cv + { typedef char (& type)[2]; BOOST_STATIC_CONSTANT(std::size_t, value = 2); }; + template struct encode_cv + { typedef char (& type)[3]; BOOST_STATIC_CONSTANT(std::size_t, value = 3); }; + template struct encode_cv + { typedef char (& type)[4]; BOOST_STATIC_CONSTANT(std::size_t, value = 4); }; + + // For member function pointers we have to use a function template (partial + // template specialization for a member pointer drops the cv qualification + // of the function type). + template + typename encode_cv::type mfp_cv_tester(T C::*); + + template struct encode_mfp_cv + { + BOOST_STATIC_CONSTANT(std::size_t, value = + sizeof(detail::mfp_cv_tester((T)0L))); + }; + + // Associate bits with the CV codes above. + template struct cv_tag_mfp_impl; + + template struct cv_tag_mfp + : detail::cv_tag_mfp_impl + < ::boost::function_types::detail::encode_mfp_cv::value > + { }; + + template<> struct cv_tag_mfp_impl<1> : non_cv { }; + template<> struct cv_tag_mfp_impl<2> : const_non_volatile { }; + template<> struct cv_tag_mfp_impl<3> : volatile_non_const { }; + template<> struct cv_tag_mfp_impl<4> : cv_qualified { }; + + // Metafunction to decode the cv code and apply it to a type. + // We add a pointer, because otherwise cv-qualifiers won't stick (another bug). + template struct decode_cv; + + template struct decode_cv : mpl::identity {}; + template struct decode_cv : mpl::identity {}; + template struct decode_cv : mpl::identity {}; + template struct decode_cv + : mpl::identity {}; + + // The class type transformation comes after adding cv-qualifiers. We have + // wrap it to remove the pointer added in decode_cv_impl. + template struct bcc_class_transform_impl; + template struct bcc_class_transform_impl + : class_transform + { }; + + template struct bcc_class_transform + : bcc_class_transform_impl + < typename decode_cv + < T + , ::boost::function_types::detail::encode_mfp_cv::value + >::type + , L + > + { }; + + // After extracting the member pointee from the type the class type is still + // in the type (somewhere -- you won't see with RTTI, that is) and that type + // is flagged unusable and *not* identical to the nonmember function type. + // We can, however, decompose this type via components_impl but surprisingly + // a pointer to the const qualified class type pops up again as the first + // parameter type. + // We have to replace this type with the properly cv-qualified and + // transformed class type, integrate the cv qualification into the bits. + template + struct mfp_components; + + + template + struct mfp_components + { + private: + typedef typename mpl::front::type result_type; + typedef typename detail::bcc_class_transform::type class_type; + + typedef mpl::vector2 result_and_class_type; + + typedef typename + mpl::advance + < typename mpl::begin::type + , typename mpl::if_ + < mpl::equal_to< typename detail::classifier::function_arity + , typename Base::function_arity > + , mpl::integral_c , mpl::integral_c + >::type + >::type + from; + typedef typename mpl::end::type to; + + typedef mpl::iterator_range param_types; + + typedef mpl::joint_view< result_and_class_type, param_types> types_view; + public: + + typedef typename + mpl::reverse_copy > >::type + types; + + typedef typename + function_types::tag< Base, detail::cv_tag_mfp >::bits + bits; + + typedef typename Base::mask mask; + + typedef typename detail::classifier::function_arity function_arity; + + typedef components_mpl_sequence_tag tag; + }; + + // Now put it all together: detect cv-qualification of function types and do + // the weird transformations above for member function pointers. + template + struct components_bcc + : mpl::if_ + < detail::represents_impl< detail::components_impl + , member_function_pointer_tag> + , detail::mfp_components,T,OrigT,L> + , detail::components_impl + >::type + { }; + +#endif // end of BORLAND WORKAROUND + +#define BOOST_FT_al_path boost/function_types/detail/components_impl +#include + + } } // namespace function_types::detail + +} // namespace ::boost + +#include +#include + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/config/cc_names.hpp b/external/include/boost_1_90_0/boost/function_types/config/cc_names.hpp new file mode 100644 index 0000000000..ab69d64624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/config/cc_names.hpp @@ -0,0 +1,31 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED +#define BOOST_FT_CONFIG_CC_NAMES_HPP_INCLUDED + +#define BOOST_FT_BUILTIN_CC_NAMES \ + (( IMPLICIT , implicit_cc , BOOST_PP_EMPTY ))\ + (( CDECL , cdecl_cc , BOOST_PP_IDENTITY(__cdecl ) ))\ + (( STDCALL , stdcall_cc , BOOST_PP_IDENTITY(__stdcall ) ))\ + (( PASCAL , pascal_cc , BOOST_PP_IDENTITY(pascal ) ))\ + (( FASTCALL , fastcall_cc , BOOST_PP_IDENTITY(__fastcall) ))\ + (( CLRCALL , clrcall_cc , BOOST_PP_IDENTITY(__clrcall ) ))\ + (( THISCALL , thiscall_cc , BOOST_PP_IDENTITY(__thiscall) ))\ + (( IMPLICIT_THISCALL , thiscall_cc , BOOST_PP_EMPTY )) + +// append user-defined cc names to builtin ones +#ifdef BOOST_FT_CC_NAMES +# define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES BOOST_FT_CC_NAMES +# define BOOST_FT_CC_PREPROCESSING 1 +#else +# define BOOST_FT_CC_NAMES_SEQ BOOST_FT_BUILTIN_CC_NAMES +#endif + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/config/compiler.hpp b/external/include/boost_1_90_0/boost/function_types/config/compiler.hpp new file mode 100644 index 0000000000..d853330a94 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/config/compiler.hpp @@ -0,0 +1,116 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED +#define BOOST_FT_CONFIG_COMPILER_HPP_INCLUDED + +#include +#include + +#if defined(BOOST_MSVC) + +# if BOOST_MSVC < 1310 +# error "unsupported compiler version" +# endif + +# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS + + // enable clrcall calling covention (call to .NET managed code) when + // compiling with /clr +# if BOOST_MSVC >= 1400 && defined(__cplusplus_cli) +# ifndef BOOST_FT_CC_CLRCALL +# define BOOST_FT_CC_CLRCALL callable_builtin +# endif +# endif + + // Intel x86 architecture specific calling conventions +# ifdef _M_IX86 +# define BOOST_FT_COMMON_X86_CCs callable_builtin +# if BOOST_MSVC < 1400 + // version 7.1 is missing a keyword to specify the thiscall cc ... +# ifndef BOOST_FT_CC_IMPLICIT_THISCALL +# define BOOST_FT_CC_IMPLICIT_THISCALL non_variadic|member|callable_builtin +# ifndef BOOST_FT_CONFIG_OK +# pragma message("INFO| /Gd /Gr /Gz will compiler options will cause") +# pragma message("INFO| a compile error.") +# pragma message("INFO| Reconfigure Boost.FunctionTypes in this case.") +# pragma message("INFO| This message can be suppressed by defining") +# pragma message("INFO| BOOST_FT_CONFIG_OK.") +# endif +# endif +# else + // ...introduced in version 8 +# ifndef BOOST_FT_CC_THISCALL +# define BOOST_FT_CC_THISCALL non_variadic|member|callable_builtin +# endif +# endif +# endif +# endif + +#elif defined(__GNUC__) && !defined(BOOST_INTEL_LINUX) + +# if __GNUC__ < 3 +# error "unsupported compiler version" +# endif + +# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS + +# if defined(__i386__) +# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20439 +# // see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328 +# if BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(4)) +# ifndef BOOST_FT_CC_IMPLICIT +# define BOOST_FT_CC_IMPLICIT member|callable_builtin +# endif +# define BOOST_FT_COMMON_X86_CCs non_member|callable_builtin +# else +# define BOOST_FT_COMMON_X86_CCs callable_builtin +# endif +# else +# ifndef BOOST_FT_CC_IMPLICIT +# define BOOST_FT_CC_IMPLICIT callable_builtin +# endif +# endif +# endif + +# if (defined(BOOST_FT_CC_CDECL) || defined(BOOST_FT_COMMON_X86_CCs)) \ + && !defined(__cdecl) +# define __cdecl __attribute__((__cdecl__)) +# endif +# if (defined(BOOST_FT_CC_STDCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \ + && !defined(__stdcall) +# define __stdcall __attribute__((__stdcall__)) +# endif +# if (defined(BOOST_FT_CC_FASTCALL) || defined(BOOST_FT_COMMON_X86_CCs)) \ + && !defined(__fastcall) +# define __fastcall __attribute__((__fastcall__)) +# endif + +#elif defined(BOOST_BORLANDC) + +# if BOOST_BORLANDC < 0x550 +# error "unsupported compiler version" +# elif BOOST_BORLANDC > 0x565 +# pragma message("WARNING: library untested with this compiler version") +# endif + +# ifdef BOOST_FT_AUTODETECT_CALLING_CONVENTIONS +# define BOOST_FT_COMMON_X86_CCs callable_builtin +# endif + + // syntactic specialities of cc specifier +# define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \ + result() cc_spec() lparen() type_mod() name() rparen() +#else + // only enable default calling convention +# define BOOST_FT_CC_IMPLICIT callable_builtin +#endif + + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/config/config.hpp b/external/include/boost_1_90_0/boost/function_types/config/config.hpp new file mode 100644 index 0000000000..7ec8e1e8fe --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/config/config.hpp @@ -0,0 +1,59 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_CONFIG_HPP_INCLUDED +#define BOOST_FT_CONFIG_HPP_INCLUDED + +#include +#include + +// maximum allowed arity +#ifndef BOOST_FT_MAX_ARITY +#define BOOST_FT_MAX_ARITY 20 +#endif + +// the most common calling conventions for x86 architecture can be enabled at +// once in the compiler config +#ifdef BOOST_FT_COMMON_X86_CCs +# ifndef BOOST_FT_CC_CDECL +# define BOOST_FT_CC_CDECL BOOST_FT_COMMON_X86_CCs +# endif +# ifndef BOOST_FT_CC_STDCALL +# define BOOST_FT_CC_STDCALL non_variadic|BOOST_FT_COMMON_X86_CCs +# endif +# ifndef BOOST_FT_CC_FASTCALL +# define BOOST_FT_CC_FASTCALL non_variadic|BOOST_FT_COMMON_X86_CCs +# endif +#endif + +// where to place the cc specifier (the common way) +#ifndef BOOST_FT_SYNTAX +# define BOOST_FT_SYNTAX(result,lparen,cc_spec,type_mod,name,rparen) \ + result() lparen() cc_spec() type_mod() name() rparen() +#endif + +// param for nullary functions +// set to "void" for compilers that require nullary functions to read +// "R (void)" in template partial specialization +#ifndef BOOST_FT_NULLARY_PARAM +#define BOOST_FT_NULLARY_PARAM +#endif + +// there is a pending defect report on cv qualified function types, so support +// for these types is disabled, unless for compilers where it's known to work +#ifndef BOOST_FT_NO_CV_FUNC_SUPPORT +#define BOOST_FT_NO_CV_FUNC_SUPPORT 1 +#endif + +// full preprocessing implies preprocessing of the ccs +#if defined(BOOST_FT_PREPROCESSING_MODE) && !defined(BOOST_FT_CC_PREPROCESSING) +# define BOOST_FT_CC_PREPROCESSING 1 +#endif + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/class_transform.hpp b/external/include/boost_1_90_0/boost/function_types/detail/class_transform.hpp new file mode 100644 index 0000000000..27b97b3ff7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/class_transform.hpp @@ -0,0 +1,60 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED +#define BOOST_FT_DETAIL_CLASS_TRANSFORM_HPP_INCLUDED + +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace function_types { namespace detail { + +using mpl::placeholders::_; + +// Transformation metafunction for the class type of member function pointers. +template +struct class_transform +{ typedef typename mpl::apply1::type type; }; + + +// We can short-circuit the mechanism implemented in the primary template for +// the most common lambda expression and save both the "un-lambdaing" and the +// type traits invocation (we know that T can only be a class type). + +template struct class_transform< T, mpl::identity<_> > +{ typedef T type; }; + +template struct class_transform< T, add_reference<_> > +{ typedef T & type; }; + +template struct class_transform< T, add_pointer<_> > +{ typedef T * type; }; + +template struct class_transform< T, remove_cv<_> > +{ typedef typename boost::remove_cv::type type; }; + +template struct class_transform< T, add_reference< remove_cv<_> > > +{ typedef typename boost::remove_cv::type & type; }; + +template struct class_transform< T, add_pointer< remove_cv<_> > > +{ typedef typename boost::remove_cv::type * type; }; + +template struct class_transform< T, mpl::always > +{ typedef U type; }; + + +} } } // namespace ::boost::function_types::detail + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier.hpp new file mode 100644 index 0000000000..5cba5f8375 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier.hpp @@ -0,0 +1,87 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED +#define BOOST_FT_DETAIL_CLASSIFIER_HPP_INCLUDED + +#include +#include +#include +#include + +#include +#include + +namespace boost { namespace function_types { namespace detail { + +template struct classifier; + +template struct char_array { typedef char (&type)[S]; }; + +template struct encode_charr +{ + typedef typename char_array< + ::boost::function_types::detail::encode_charr_impl::value + >::type type; +}; + +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && !defined(BOOST_DISABLE_WIN32)) +# define BOOST_FT_DECL __cdecl +#else +# define BOOST_FT_DECL /**/ +#endif + +char BOOST_FT_DECL classifier_impl(...); + +#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_pointer|\ + BOOST_FT_member_pointer + +#define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN) + +#define BOOST_FT_type_function_pointer(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,** BOOST_PP_EMPTY,name,BOOST_PP_RPAREN) + +#define BOOST_FT_type_member_function_pointer(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,T0::** BOOST_PP_EMPTY,name,BOOST_PP_RPAREN) + +#define BOOST_FT_al_path boost/function_types/detail/classifier_impl +#include + +template struct classifier_bits +{ + static typename boost::add_reference::type tester; + + BOOST_STATIC_CONSTANT(bits_t,value = (bits_t)sizeof( + boost::function_types::detail::classifier_impl(& tester) + )-1); +}; + +template struct classifier +{ + typedef detail::constant< + ::boost::function_types::detail::decode_bits< + ::boost::function_types::detail::classifier_bits::value + >::tag_bits > + bits; + + typedef detail::full_mask mask; + + typedef detail::constant< + ::boost::function_types::detail::decode_bits< + ::boost::function_types::detail::classifier_bits::value + >::arity > + function_arity; +}; + + + +} } } // namespace ::boost::function_types::detail + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity10_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity10_0.hpp new file mode 100644 index 0000000000..e27f3c2d67 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity10_0.hpp @@ -0,0 +1,55 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +template< typename R > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity10_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity10_1.hpp new file mode 100644 index 0000000000..cca8027a00 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity10_1.hpp @@ -0,0 +1,52 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +template< typename R , typename T0 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity20_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity20_0.hpp new file mode 100644 index 0000000000..f7a25169e4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity20_0.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity20_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity20_1.hpp new file mode 100644 index 0000000000..1cee2ba35a --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity20_1.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity30_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity30_0.hpp new file mode 100644 index 0000000000..6bc60f86e8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity30_0.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity30_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity30_1.hpp new file mode 100644 index 0000000000..743c263bef --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity30_1.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity40_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity40_0.hpp new file mode 100644 index 0000000000..161ac1751e --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity40_0.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity40_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity40_1.hpp new file mode 100644 index 0000000000..e3a99887d4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity40_1.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity50_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity50_0.hpp new file mode 100644 index 0000000000..d05719a3f9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity50_0.hpp @@ -0,0 +1,53 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 BOOST_FT_ell) BOOST_FT_cv); + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity50_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity50_1.hpp new file mode 100644 index 0000000000..944eabaa06 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/arity50_1.hpp @@ -0,0 +1,52 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 BOOST_FT_ell) BOOST_FT_cv); +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 > +typename encode_charr ::type +classifier_impl(BOOST_FT_syntax(BOOST_FT_cc, BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 BOOST_FT_ell) BOOST_FT_cv); diff --git a/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/master.hpp new file mode 100644 index 0000000000..00b722e345 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/classifier_impl/master.hpp @@ -0,0 +1,33 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +#if BOOST_FT_ARITY_LOOP_PREFIX + +# ifndef BOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED +# define BOOST_FT_DETAIL_CLASSIFIER_IMPL_MASTER_HPP_INCLUDED +# include +# endif + +# define BOOST_FT_type_name + +#elif BOOST_FT_ARITY_LOOP_IS_ITERATING + +template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)) > +typename encode_charr::type +classifier_impl(BOOST_FT_type); + +#elif BOOST_FT_ARITY_LOOP_SUFFIX + +# undef BOOST_FT_type_name + +#else +# error "attempt to use arity loop master file without loop" +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_as_mpl_sequence.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_as_mpl_sequence.hpp new file mode 100644 index 0000000000..637b1b52bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_as_mpl_sequence.hpp @@ -0,0 +1,138 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED +#define BOOST_FT_DETAIL_COMPONENTS_AS_MPL_SEQUENCE_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template<> struct size_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > struct apply + : mpl::size + { }; +}; +template<> struct empty_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > struct apply + : mpl::empty + { }; +}; +template<> struct front_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > struct apply + : mpl::front + { }; +}; +template<> struct back_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > struct apply + : mpl::back + { }; +}; +template<> struct at_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S, typename N > struct apply + : mpl::at + { }; +}; +template<> struct begin_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > struct apply + : mpl::begin + { }; +}; +template<> struct end_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > struct apply + : mpl::end + { }; +}; +template<> struct clear_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > + struct apply + : S + { + typedef apply type; + typedef typename mpl::clear< typename S::types >::type types; + }; +}; +template<> +struct push_front_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S, typename T > + struct apply + : S + { + typedef apply type; + typedef typename mpl::push_front< typename S::types, T >::type types; + }; +}; +template<> +struct pop_front_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > + struct apply + : S + { + typedef apply type; + typedef typename mpl::pop_front< typename S::types >::type types; + }; +}; +template<> +struct push_back_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S, typename T > + struct apply + : S + { + typedef apply type; + typedef typename mpl::push_back< typename S::types, T >::type types; + }; +}; +template<> +struct pop_back_impl +< function_types::detail::components_mpl_sequence_tag > +{ + template< typename S > + struct apply + : S + { + typedef apply type; + typedef typename mpl::pop_back< typename S::types >::type types; + }; +}; + +} } // namespace ::boost::mpl + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity10_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity10_0.hpp new file mode 100644 index 0000000000..f96c6a9f73 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity10_0.hpp @@ -0,0 +1,132 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +template< typename R, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector1< R BOOST_FT_nullary_param > types; +}; +template< typename R , typename T0, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector2< R , T0 > types; +}; +template< typename R , typename T0 , typename T1, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector3< R , T0 , T1 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector4< R , T0 , T1 , T2 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector5< R , T0 , T1 , T2 , T3 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector6< R , T0 , T1 , T2 , T3 , T4 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector7< R , T0 , T1 , T2 , T3 , T4 , T5 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector8< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector9< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector10< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector11< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity10_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity10_1.hpp new file mode 100644 index 0000000000..1b06a97a78 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity10_1.hpp @@ -0,0 +1,122 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +template< typename R , typename T0, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector2< R, typename class_transform ::type > types; +}; +template< typename R , typename T0 , typename T1, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector3< R, typename class_transform ::type , T1 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector4< R, typename class_transform ::type , T1 , T2 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector5< R, typename class_transform ::type , T1 , T2 , T3 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector6< R, typename class_transform ::type , T1 , T2 , T3 , T4 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector7< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector8< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector9< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector10< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector11< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity20_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity20_0.hpp new file mode 100644 index 0000000000..f6b2ca8a44 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity20_0.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector12< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector13< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector14< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector15< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector16< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector17< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector18< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector19< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector20< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector21< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity20_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity20_1.hpp new file mode 100644 index 0000000000..1688e6b3ed --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity20_1.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector12< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector13< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector14< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector15< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector16< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector17< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector18< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector19< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector20< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector21< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity30_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity30_0.hpp new file mode 100644 index 0000000000..e85eb3a09c --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity30_0.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector22< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector23< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector24< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector25< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector26< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector27< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector28< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector29< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector30< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector31< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity30_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity30_1.hpp new file mode 100644 index 0000000000..290d21efa7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity30_1.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector22< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector23< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector24< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector25< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector26< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector27< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector28< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector29< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector30< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector31< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity40_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity40_0.hpp new file mode 100644 index 0000000000..f1a2410173 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity40_0.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector32< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector33< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector34< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector35< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector36< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector37< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector38< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector39< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector40< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector41< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity40_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity40_1.hpp new file mode 100644 index 0000000000..e1741cbbac --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity40_1.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector32< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector33< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector34< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector35< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector36< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector37< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector38< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector39< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector40< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector41< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity50_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity50_0.hpp new file mode 100644 index 0000000000..693a05dfe1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity50_0.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector42< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector43< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector44< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector45< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector46< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector47< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector48< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector49< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector50< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector51< R , T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity50_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity50_1.hpp new file mode 100644 index 0000000000..9bc1616242 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/arity50_1.hpp @@ -0,0 +1,123 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector42< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector43< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector44< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector45< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector46< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector47< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector48< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector49< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector50< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 > types; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49, typename L> +struct components_impl +{ +typedef encode_bits bits; +typedef constant mask; +typedef function_types::components type; +typedef components_mpl_sequence_tag tag; +typedef mpl::integral_c function_arity; +typedef mpl::vector51< R, typename class_transform ::type , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > types; +}; + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/components_impl/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/master.hpp new file mode 100644 index 0000000000..cd83726231 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/components_impl/master.hpp @@ -0,0 +1,61 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +#if BOOST_FT_ARITY_LOOP_PREFIX + +# ifndef BOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED +# define BOOST_FT_DETAIL_COMPONENTS_IMPL_MASTER_HPP_INCLUDED +# include +# include +# include +# include +# include +# endif + +# define BOOST_FT_type_name + +# if !BOOST_FT_mfp + +# define BOOST_FT_types \ + R BOOST_PP_COMMA_IF(BOOST_FT_arity) BOOST_FT_params(BOOST_PP_EMPTY) +# else + +# define BOOST_FT_types \ + R, typename class_transform::type \ + BOOST_PP_COMMA_IF(BOOST_PP_DEC(BOOST_FT_arity)) \ + BOOST_FT_params(BOOST_PP_EMPTY) + +# endif + +#elif BOOST_FT_ARITY_LOOP_IS_ITERATING + +template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)), typename L> +struct components_impl +{ + typedef encode_bits bits; + typedef constant mask; + + typedef function_types::components type; + typedef components_mpl_sequence_tag tag; + + typedef mpl::integral_c function_arity; + + typedef BOOST_PP_CAT(mpl::vector,BOOST_FT_n)< BOOST_FT_types > types; +}; + +#elif BOOST_FT_ARITY_LOOP_SUFFIX + +# undef BOOST_FT_types +# undef BOOST_FT_type_name + +#else +# error "attempt to use arity loop master file without loop" +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/cv_traits.hpp b/external/include/boost_1_90_0/boost/function_types/detail/cv_traits.hpp new file mode 100644 index 0000000000..45c6847f17 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/cv_traits.hpp @@ -0,0 +1,132 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED +#define BOOST_FT_DETAIL_CV_TRAITS_HPP_INCLUDED + +#include +#include + +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x582) +# include +# include +# include +#endif + +#include + +namespace boost { namespace function_types { namespace detail { + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x582) + +template struct cv_traits +{ typedef non_cv tag; typedef T type; }; +template struct cv_traits +{ typedef non_cv tag; typedef T type; }; +template struct cv_traits +{ typedef non_cv tag; typedef T type; }; +template struct cv_traits +{ typedef non_cv tag; typedef T type; }; +template struct cv_traits +{ typedef non_cv tag; typedef T type; }; +template struct cv_traits +{ typedef non_cv tag; typedef T type; }; + +template struct cv_traits +{ typedef const_non_volatile tag; typedef T type; }; +template struct cv_traits +{ typedef const_non_volatile tag; typedef T type; }; +template struct cv_traits +{ typedef const_non_volatile tag; typedef T type; }; +template struct cv_traits +{ typedef const_non_volatile tag; typedef T type; }; +template struct cv_traits +{ typedef const_non_volatile tag; typedef T type; }; +template struct cv_traits +{ typedef const_non_volatile tag; typedef T type; }; + +template struct cv_traits +{ typedef volatile_non_const tag; typedef T type; }; +template struct cv_traits +{ typedef volatile_non_const tag; typedef T type; }; +template struct cv_traits +{ typedef volatile_non_const tag; typedef T type; }; +template struct cv_traits +{ typedef volatile_non_const tag; typedef T type; }; +template struct cv_traits +{ typedef volatile_non_const tag; typedef T type; }; +template struct cv_traits +{ typedef volatile_non_const tag; typedef T type; }; + +template struct cv_traits +{ typedef cv_qualified tag; typedef T type; }; +template struct cv_traits +{ typedef cv_qualified tag; typedef T type; }; +template struct cv_traits +{ typedef cv_qualified tag; typedef T type; }; +template struct cv_traits +{ typedef cv_qualified tag; typedef T type; }; +template struct cv_traits +{ typedef cv_qualified tag; typedef T type; }; +template struct cv_traits +{ typedef cv_qualified tag; typedef T type; }; + +#else +template struct cv_tag_impl; + +template<> struct cv_tag_impl<1> { typedef non_cv type;}; +template<> struct cv_tag_impl<2> { typedef const_non_volatile type; }; +template<> struct cv_tag_impl<3> { typedef volatile_non_const type; }; +template<> struct cv_tag_impl<4> { typedef cv_qualified type; }; + +typedef char (& case_1)[1]; +typedef char (& case_2)[2]; +typedef char (& case_3)[3]; +typedef char (& case_4)[4]; + +template case_1 switch_cv(T *); +template case_2 switch_cv(T const *); +template case_3 switch_cv(T volatile *); +template case_4 switch_cv(T const volatile *); + +template T * ref_to_ptr(T &); +template T const * ref_to_ptr(T const &); +template T volatile * ref_to_ptr(T volatile &); +template T const volatile * ref_to_ptr(T const volatile &); + +template T * ref_to_ptr(T * const volatile &); + +template +struct cv_code +{ + static T _t; + BOOST_STATIC_CONSTANT(std::size_t, value = + sizeof(::boost::function_types::detail::switch_cv( + ::boost::function_types::detail::ref_to_ptr(_t) ) )); +}; + +template struct cv_traits +{ + typedef typename boost::function_types::detail::cv_tag_impl< + ::boost::function_types::detail::cv_code::value >::type + tag; + + // may require Boost.TypeTraits broken compiler specializations + // to work + typedef typename boost::remove_cv< + typename boost::remove_pointer< + typename boost::remove_reference::type + >::type + >::type type; +}; +#endif + +} } } // namespace boost::function_types::detail + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/encoding/aliases_def.hpp b/external/include/boost_1_90_0/boost/function_types/detail/encoding/aliases_def.hpp new file mode 100644 index 0000000000..4d4833179c --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/encoding/aliases_def.hpp @@ -0,0 +1,16 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + +#define callable_builtin BOOST_FT_callable_builtin +#define member BOOST_FT_member_pointer +#define non_member BOOST_FT_non_member +#define variadic BOOST_FT_variadic +#define non_variadic BOOST_FT_non_variadic + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/encoding/aliases_undef.hpp b/external/include/boost_1_90_0/boost/function_types/detail/encoding/aliases_undef.hpp new file mode 100644 index 0000000000..1d4e577d80 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/encoding/aliases_undef.hpp @@ -0,0 +1,16 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + +#undef callable_builtin +#undef member +#undef non_member +#undef variadic +#undef non_variadic + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/encoding/def.hpp b/external/include/boost_1_90_0/boost/function_types/detail/encoding/def.hpp new file mode 100644 index 0000000000..08074fb38b --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/encoding/def.hpp @@ -0,0 +1,51 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + +// Type encoding: +// +// bit 0: callable builtin +// bit 1: non member +// bit 2: naked function +// bit 3: pointer +// bit 4: reference +// bit 5: member pointer +// bit 6: member function pointer +// bit 7: member object pointer + +#define BOOST_FT_type_mask 0x000000ff // 1111 1111 +#define BOOST_FT_callable_builtin 0x00000001 // 0000 0001 +#define BOOST_FT_non_member 0x00000002 // 0000 0010 +#define BOOST_FT_function 0x00000007 // 0000 0111 +#define BOOST_FT_pointer 0x0000000b // 0000 1011 +#define BOOST_FT_reference 0x00000013 // 0001 0011 +#define BOOST_FT_non_member_callable_builtin 0x00000003 // 0000 0011 +#define BOOST_FT_member_pointer 0x00000020 // 0010 0000 +#define BOOST_FT_member_function_pointer 0x00000061 // 0110 0001 +#define BOOST_FT_member_object_pointer 0x000000a3 // 1010 0001 +#define BOOST_FT_member_object_pointer_flags 0x000002a3 + +#define BOOST_FT_variadic 0x00000100 +#define BOOST_FT_non_variadic 0x00000200 +#define BOOST_FT_variadic_mask 0x00000300 + +#define BOOST_FT_const 0x00000400 +#define BOOST_FT_volatile 0x00000800 + +#define BOOST_FT_default_cc 0x00008000 +#define BOOST_FT_cc_mask 0x00ff8000 + +#define BOOST_FT_kind_mask 0x000000fc + +#define BOOST_FT_flags_mask 0x00000fff +#define BOOST_FT_full_mask 0x00ff0fff + +#define BOOST_FT_arity_shift 24 +#define BOOST_FT_arity_mask 0x7f000000 + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/encoding/undef.hpp b/external/include/boost_1_90_0/boost/function_types/detail/encoding/undef.hpp new file mode 100644 index 0000000000..1920d6fcb1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/encoding/undef.hpp @@ -0,0 +1,38 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +#undef BOOST_FT_type_mask +#undef BOOST_FT_kind_mask +#undef BOOST_FT_callable_builtin +#undef BOOST_FT_non_member +#undef BOOST_FT_function +#undef BOOST_FT_pointer +#undef BOOST_FT_reference +#undef BOOST_FT_non_member_callable_builtin +#undef BOOST_FT_member_pointer +#undef BOOST_FT_member_function_pointer +#undef BOOST_FT_member_object_pointer +#undef BOOST_FT_member_object_pointer_flags + +#undef BOOST_FT_variadic +#undef BOOST_FT_non_variadic +#undef BOOST_FT_variadic_mask + +#undef BOOST_FT_const +#undef BOOST_FT_volatile + +#undef BOOST_FT_default_cc +#undef BOOST_FT_cc_mask + +#undef BOOST_FT_flags_mask +#undef BOOST_FT_full_mask + +#undef BOOST_FT_arity_mask + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_arity_loop.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_arity_loop.hpp new file mode 100644 index 0000000000..b6dbff59f3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_arity_loop.hpp @@ -0,0 +1,149 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +#ifndef BOOST_FT_PREPROCESSING_MODE +// input: BOOST_FT_mfp 0 or 1 <=> member function pointer? +// input: BOOST_FT_type_name BOOST_FT_type --> "R (* ..._type_name)()" (pass2) +#endif +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +#ifdef __WAVE__ +# pragma wave option(preserve: 0) +#endif + +#ifndef BOOST_FT_ARITY_LOOP_IS_ITERATING + +# define BOOST_FT_AL_PREPROCESSED \ + BOOST_FT_AL_FILE(BOOST_FT_al_path,BOOST_FT_FROM_ARITY,BOOST_FT_mfp) + +# define BOOST_FT_AL_FILE(base_path,max_arity,mfp) \ + BOOST_FT_AL_FILE_I(base_path,max_arity,mfp) +# define BOOST_FT_AL_FILE_I(base_path,max_arity,mfp) \ + + +# if !defined(BOOST_FT_PREPROCESSING_MODE) + +# if BOOST_FT_MAX_ARITY < 10 +# define BOOST_FT_FROM_ARITY 0 +# elif BOOST_FT_MAX_ARITY < 20 +# define BOOST_FT_FROM_ARITY 10 +# elif BOOST_FT_MAX_ARITY < 30 +# define BOOST_FT_FROM_ARITY 20 +# elif BOOST_FT_MAX_ARITY < 40 +# define BOOST_FT_FROM_ARITY 30 +# endif + +# if BOOST_FT_FROM_ARITY +# include BOOST_FT_AL_PREPROCESSED +# endif + +# elif !defined(BOOST_FT_FROM_ARITY) // single pass preprocessing +# define BOOST_FT_FROM_ARITY 0 + +# elif BOOST_FT_FROM_ARITY > 0 // arity20 includes arity10 +BOOST_PP_EXPAND(#) include BOOST_FT_AL_PREPROCESSED +# endif + +# undef BOOST_FT_AL_PREPROCESSED + +# undef BOOST_FT_AL_FILE +# undef BOOST_FT_AL_FILE_I + +# if BOOST_FT_MAX_ARITY > BOOST_FT_FROM_ARITY + +# ifndef BOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED +# define BOOST_FT_DETAIL_ARITY_LOOP_HPP_INCLUDED +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# endif + +# define BOOST_FT_AL_INCLUDE_FILE + +# define BOOST_FT_ARITY_LOOP_PREFIX 1 +# include BOOST_FT_AL_INCLUDE_FILE +# undef BOOST_FT_ARITY_LOOP_PREFIX + +# if !BOOST_PP_IS_ITERATING +# define BOOST_PP_FILENAME_1 BOOST_FT_AL_INCLUDE_FILE +# elif BOOST_PP_ITERATION_DEPTH() == 1 +# define BOOST_PP_FILENAME_2 BOOST_FT_AL_INCLUDE_FILE +# else +# error "loops nested too deeply" +# endif + +# define BOOST_FT_arity BOOST_PP_ITERATION() +# define BOOST_FT_n BOOST_PP_INC(BOOST_FT_arity) + +# define BOOST_FT_type \ + BOOST_FT_syntax(BOOST_FT_cc,BOOST_FT_type_name BOOST_PP_EMPTY)\ + (BOOST_FT_params(BOOST_PP_EMPTY) BOOST_FT_ell) BOOST_FT_cv + +# define BOOST_FT_tplargs(prefx) \ + prefx() R BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_FT_arity,prefx() T) + +# if !BOOST_FT_mfp + +# define BOOST_FT_params(prefx) \ + BOOST_PP_IF(BOOST_FT_arity,BOOST_PP_ENUM_PARAMS, \ + BOOST_FT_nullary_param BOOST_PP_TUPLE_EAT(2))( \ + BOOST_FT_arity,prefx() T) +# else + +# define BOOST_FT_params(prefx) \ + BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_FT_arity,prefx() T) + +# endif + +# if !BOOST_FT_FROM_ARITY +# define BOOST_PP_ITERATION_LIMITS (BOOST_FT_mfp, BOOST_FT_MAX_ARITY) +# else +# define BOOST_PP_ITERATION_LIMITS \ + (BOOST_FT_FROM_ARITY+1, BOOST_FT_MAX_ARITY) +# endif + +# define BOOST_FT_ARITY_LOOP_IS_ITERATING 1 +# include BOOST_PP_ITERATE() +# undef BOOST_FT_ARITY_LOOP_IS_ITERATING + +# undef BOOST_FT_arity +# undef BOOST_FT_params +# undef BOOST_FT_tplargs +# undef BOOST_FT_type + +# define BOOST_FT_ARITY_LOOP_SUFFIX 1 +# include BOOST_FT_AL_INCLUDE_FILE +# undef BOOST_FT_ARITY_LOOP_SUFFIX + +# undef BOOST_FT_AL_INCLUDE_FILE +# endif + +# undef BOOST_FT_FROM_ARITY + +#else +# error "attempt to nest arity loops" +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_cc_loop/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_cc_loop/master.hpp new file mode 100644 index 0000000000..60e958cec7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_cc_loop/master.hpp @@ -0,0 +1,136 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + +#ifdef __WAVE__ +// this file has been generated from the master.hpp file in the same directory +# pragma wave option(preserve: 0) +#endif + + +#if !BOOST_PP_IS_ITERATING + +# ifndef BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED +# define BOOST_FT_DETAIL_CC_LOOP_MASTER_HPP_INCLUDED +# include + +# include +# include +# include +# include +# include +# include +# include +# endif + +# include +# include + +# define BOOST_PP_FILENAME_1 \ + +# define BOOST_PP_ITERATION_LIMITS \ + (0,BOOST_PP_SEQ_SIZE(BOOST_FT_CC_NAMES_SEQ)-1) +# include BOOST_PP_ITERATE() +# if !defined(BOOST_FT_config_valid) && BOOST_FT_CC_PREPROCESSING +# define BOOST_FT_cc_id 1 +# define BOOST_FT_cc_name implicit_cc +# define BOOST_FT_cc BOOST_PP_EMPTY +# define BOOST_FT_cond callable_builtin +# include BOOST_FT_cc_file +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# elif !defined(BOOST_FT_config_valid) // and generating preprocessed file +BOOST_PP_EXPAND(#) ifndef BOOST_FT_config_valid +BOOST_PP_EXPAND(#) define BOOST_FT_cc_id 1 +BOOST_PP_EXPAND(#) define BOOST_FT_cc_name implicit_cc +BOOST_PP_EXPAND(#) define BOOST_FT_cc BOOST_PP_EMPTY +BOOST_PP_EXPAND(#) define BOOST_FT_cond callable_builtin +#define _() +BOOST_PP_EXPAND(#) include BOOST_FT_cc_file +#undef _ +BOOST_PP_EXPAND(#) undef BOOST_FT_cond +BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name +BOOST_PP_EXPAND(#) undef BOOST_FT_cc +BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id +BOOST_PP_EXPAND(#) else +BOOST_PP_EXPAND(#) undef BOOST_FT_config_valid +BOOST_PP_EXPAND(#) endif + +# else +# undef BOOST_FT_config_valid +# endif + +# include +# include + +#elif BOOST_FT_CC_PREPROCESSING + +# define BOOST_FT_cc_id BOOST_PP_INC(BOOST_PP_FRAME_ITERATION(1)) +# define BOOST_FT_cc_inf \ + BOOST_PP_SEQ_ELEM(BOOST_PP_FRAME_ITERATION(1),BOOST_FT_CC_NAMES_SEQ) + +# define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf) +# define BOOST_FT_cc_name BOOST_PP_TUPLE_ELEM(3,1,BOOST_FT_cc_inf) +# define BOOST_FT_cc BOOST_PP_TUPLE_ELEM(3,2,BOOST_FT_cc_inf) + +# define BOOST_FT_cond BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name) + +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif + +# undef BOOST_FT_cond + +# undef BOOST_FT_cc_pp_name +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc + +# undef BOOST_FT_cc_id +# undef BOOST_FT_cc_inf + +#else // if generating preprocessed file +BOOST_PP_EXPAND(#) define BOOST_FT_cc_id BOOST_PP_INC(BOOST_PP_ITERATION()) + +# define BOOST_FT_cc_inf \ + BOOST_PP_SEQ_ELEM(BOOST_PP_ITERATION(),BOOST_FT_CC_NAMES_SEQ) + +# define BOOST_FT_cc_pp_name BOOST_PP_TUPLE_ELEM(3,0,BOOST_FT_cc_inf) + +# define BOOST_FT_CC_DEF(name,index) \ + name BOOST_PP_TUPLE_ELEM(3,index,BOOST_FT_cc_inf) +BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc_name,1) +BOOST_PP_EXPAND(#) define BOOST_FT_CC_DEF(BOOST_FT_cc,2) +# undef BOOST_FT_CC_DEF + +# define BOOST_FT_cc_cond_v BOOST_PP_CAT(BOOST_FT_CC_,BOOST_FT_cc_pp_name) +BOOST_PP_EXPAND(#) define BOOST_FT_cond BOOST_FT_cc_cond_v +# undef BOOST_FT_cc_cond_v + +# undef BOOST_FT_cc_pp_name +# undef BOOST_FT_cc_inf + +BOOST_PP_EXPAND(#) if BOOST_FT_cond +BOOST_PP_EXPAND(#) define BOOST_FT_config_valid 1 +#define _() +BOOST_PP_EXPAND(#) include BOOST_FT_cc_file +#undef _ +BOOST_PP_EXPAND(#) endif + +BOOST_PP_EXPAND(#) undef BOOST_FT_cond + +BOOST_PP_EXPAND(#) undef BOOST_FT_cc_name +BOOST_PP_EXPAND(#) undef BOOST_FT_cc + +BOOST_PP_EXPAND(#) undef BOOST_FT_cc_id + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_cc_loop/preprocessed.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_cc_loop/preprocessed.hpp new file mode 100644 index 0000000000..da4079c6ad --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_cc_loop/preprocessed.hpp @@ -0,0 +1,120 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + +// this file has been generated from the master.hpp file in the same directory +# define BOOST_FT_cc_id 1 +# define BOOST_FT_cc_name implicit_cc +# define BOOST_FT_cc BOOST_PP_EMPTY +# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 2 +# define BOOST_FT_cc_name cdecl_cc +# define BOOST_FT_cc BOOST_PP_IDENTITY(__cdecl ) +# define BOOST_FT_cond BOOST_FT_CC_CDECL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 3 +# define BOOST_FT_cc_name stdcall_cc +# define BOOST_FT_cc BOOST_PP_IDENTITY(__stdcall ) +# define BOOST_FT_cond BOOST_FT_CC_STDCALL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 4 +# define BOOST_FT_cc_name pascal_cc +# define BOOST_FT_cc BOOST_PP_IDENTITY(pascal ) +# define BOOST_FT_cond BOOST_FT_CC_PASCAL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 5 +# define BOOST_FT_cc_name fastcall_cc +# define BOOST_FT_cc BOOST_PP_IDENTITY(__fastcall) +# define BOOST_FT_cond BOOST_FT_CC_FASTCALL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 6 +# define BOOST_FT_cc_name clrcall_cc +# define BOOST_FT_cc BOOST_PP_IDENTITY(__clrcall ) +# define BOOST_FT_cond BOOST_FT_CC_CLRCALL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 7 +# define BOOST_FT_cc_name thiscall_cc +# define BOOST_FT_cc BOOST_PP_IDENTITY(__thiscall) +# define BOOST_FT_cond BOOST_FT_CC_THISCALL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# define BOOST_FT_cc_id 8 +# define BOOST_FT_cc_name thiscall_cc +# define BOOST_FT_cc BOOST_PP_EMPTY +# define BOOST_FT_cond BOOST_FT_CC_IMPLICIT_THISCALL +# if BOOST_FT_cond +# define BOOST_FT_config_valid 1 +# include BOOST_FT_cc_file +# endif +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# ifndef BOOST_FT_config_valid +# define BOOST_FT_cc_id 1 +# define BOOST_FT_cc_name implicit_cc +# define BOOST_FT_cc BOOST_PP_EMPTY +# define BOOST_FT_cond 0x00000001 +# include BOOST_FT_cc_file +# undef BOOST_FT_cond +# undef BOOST_FT_cc_name +# undef BOOST_FT_cc +# undef BOOST_FT_cc_id +# else +# undef BOOST_FT_config_valid +# endif diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_loop.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_loop.hpp new file mode 100644 index 0000000000..7d8c347c99 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_loop.hpp @@ -0,0 +1,80 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + +#ifndef BOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED +#define BOOST_FT_DETAIL_PP_LOOP_HPP_INCLUDED +# include +# include +# include +#endif + +#include +#include + +#if defined(BOOST_FT_PREPROCESSING_MODE) +# define BOOST_FT_loop +#else +# define BOOST_FT_loop \ + +#endif + +#if defined(BOOST_FT_al_path) + +# define BOOST_FT_cc_file \ + +# define BOOST_FT_variate_file \ + + +# ifndef BOOST_FT_type_function +# define BOOST_FT_type_function(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_EMPTY,cc,BOOST_PP_EMPTY,name,BOOST_PP_EMPTY) +# endif +# ifndef BOOST_FT_type_function_pointer +# define BOOST_FT_type_function_pointer(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN) +# endif +# ifndef BOOST_FT_type_function_reference +# define BOOST_FT_type_function_reference(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,& BOOST_PP_EMPTY,name,BOOST_PP_RPAREN) +# endif +# ifndef BOOST_FT_type_member_function_pointer +# define BOOST_FT_type_member_function_pointer(cc,name) BOOST_FT_SYNTAX( \ + R BOOST_PP_EMPTY,BOOST_PP_LPAREN,cc,T0::* BOOST_PP_EMPTY,name,BOOST_PP_RPAREN) +# endif + +# include BOOST_FT_loop + +# undef BOOST_FT_type_function +# undef BOOST_FT_type_function_pointer +# undef BOOST_FT_type_function_reference +# undef BOOST_FT_type_member_function_pointer + +# undef BOOST_FT_variations +# undef BOOST_FT_variate_file +# undef BOOST_FT_cc_file +# undef BOOST_FT_al_path + +#elif defined(BOOST_FT_cc_file) + +# include BOOST_FT_loop +# undef BOOST_FT_cc_file + +#else + +# error "argument missing" + +#endif + +#undef BOOST_FT_loop + +#include +#include + + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_retag_default_cc/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_retag_default_cc/master.hpp new file mode 100644 index 0000000000..865efce519 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_retag_default_cc/master.hpp @@ -0,0 +1,103 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is guarded externally + +#ifdef __WAVE__ +// this file has been generated from the master.hpp file in the same directory +# pragma wave option(preserve: 0) +#endif + +#if !defined(BOOST_PP_VALUE) +# include +# include + +# include +# include + +namespace boost { namespace function_types { + +namespace detail +{ + template struct selector_bits + { +# define BOOST_PP_VALUE non_member|member|non_variadic|variadic +# include BOOST_PP_ASSIGN_SLOT(1) + + BOOST_STATIC_CONSTANT(bits_t, value = ( + (::boost::function_types::detail::bits::value & BOOST_FT_default_cc) + | (::boost::function_types::detail::bits::value & BOOST_PP_SLOT(1)) + )); + }; + + template struct default_cc_tag; + + template struct retag_default_cc + : detail::compound_tag + < Tag, detail::default_cc_tag< + ::boost::function_types::detail::selector_bits::value > > + { }; + + template struct default_cc_tag + { + typedef null_tag::bits bits; + typedef null_tag::mask mask; + }; + + class test_class; + typedef constant cc_mask_constant; + +# define BOOST_FT_self \ + + +# define default_cc_ BOOST_FT_default_cc + +# define BOOST_PP_VALUE default_cc_|non_member|non_variadic +# define BOOST_FT_tester void (*tester)() +# define BOOST_PP_INDIRECT_SELF BOOST_FT_self +# include BOOST_PP_INCLUDE_SELF() + +# define BOOST_PP_VALUE default_cc_|non_member|variadic +# define BOOST_FT_tester void (*tester)(...) +# define BOOST_PP_INDIRECT_SELF BOOST_FT_self +# include BOOST_PP_INCLUDE_SELF() + +# define BOOST_PP_VALUE default_cc_|member|non_variadic +# define BOOST_FT_tester void (test_class::*tester)() +# define BOOST_PP_INDIRECT_SELF BOOST_FT_self +# include BOOST_PP_INCLUDE_SELF() + +# define BOOST_PP_VALUE default_cc_|member|variadic +# define BOOST_FT_tester void (test_class::*tester)(...) +# define BOOST_PP_INDIRECT_SELF BOOST_FT_self +# include BOOST_PP_INCLUDE_SELF() + +# undef default_cc_ + +# undef BOOST_FT_self + +} } } // namespace ::boost::function_types::detail + +# include +# include + +#else // if defined(BOOST_PP_VALUE) + +# include BOOST_PP_ASSIGN_SLOT(1) + + template<> struct default_cc_tag + { + typedef BOOST_FT_tester; + typedef mpl::bitand_::bits,cc_mask_constant> bits; + typedef cc_mask_constant mask; + }; + +# undef BOOST_FT_tester + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp new file mode 100644 index 0000000000..72666d0f27 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_retag_default_cc/preprocessed.hpp @@ -0,0 +1,59 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is guarded externally + +// this file has been generated from the master.hpp file in the same directory +namespace boost { namespace function_types { +namespace detail +{ +template struct selector_bits +{ +BOOST_STATIC_CONSTANT(bits_t, value = ( +(::boost::function_types::detail::bits ::value & 0x00008000) +| (::boost::function_types::detail::bits ::value & 802) +)); +}; +template struct default_cc_tag; +template struct retag_default_cc +: detail::compound_tag +< Tag, detail::default_cc_tag< +::boost::function_types::detail::selector_bits ::value > > +{ }; +template struct default_cc_tag +{ +typedef null_tag::bits bits; +typedef null_tag::mask mask; +}; +class test_class; +typedef constant<0x00ff8000> cc_mask_constant; +template< > struct default_cc_tag<33282> +{ +typedef void ( *tester)(); +typedef mpl::bitand_ ::bits,cc_mask_constant> bits; +typedef cc_mask_constant mask; +}; +template< > struct default_cc_tag<33026> +{ +typedef void ( *tester)( ... ); +typedef mpl::bitand_ ::bits,cc_mask_constant> bits; +typedef cc_mask_constant mask; +}; +template< > struct default_cc_tag<33312> +{ +typedef void (test_class:: *tester)(); +typedef mpl::bitand_ ::bits,cc_mask_constant> bits; +typedef cc_mask_constant mask; +}; +template< > struct default_cc_tag<33056> +{ +typedef void (test_class:: *tester)( ... ); +typedef mpl::bitand_ ::bits,cc_mask_constant> bits; +typedef cc_mask_constant mask; +}; +} } } diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/cc_tag.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/cc_tag.hpp new file mode 100644 index 0000000000..81f1d89e74 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/cc_tag.hpp @@ -0,0 +1,17 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusions + + struct BOOST_FT_cc_name + { + typedef detail::encode_bits<0,BOOST_FT_cc_id> bits; + typedef detail::constant mask; + }; + + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/master.hpp new file mode 100644 index 0000000000..9cce212fcd --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/master.hpp @@ -0,0 +1,126 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is guarded externally + +#ifdef __WAVE__ +// this file has been generated from the master.hpp file in the same directory +# pragma wave option(preserve: 0) +#endif + +#if !defined(BOOST_FT_PREPROCESSING_MODE) || defined(BOOST_FT_CONFIG_HPP_INCLUDED) +# error "this file used with two-pass preprocessing, only" +#endif + +#include +#include + +namespace boost { namespace function_types { + +typedef detail::property_tag non_variadic; +typedef detail::property_tag variadic; + +typedef detail::property_tag<0,BOOST_FT_const> non_const; +typedef detail::property_tag const_qualified; + +typedef detail::property_tag<0,BOOST_FT_volatile> non_volatile; +typedef detail::property_tag volatile_qualified; + +typedef detail::property_tag default_cc; + +#define BOOST_PP_VALUE BOOST_FT_const|BOOST_FT_volatile +#include BOOST_PP_ASSIGN_SLOT(1) + +typedef detail::property_tag<0 , BOOST_PP_SLOT(1)> non_cv; +typedef detail::property_tag const_non_volatile; +typedef detail::property_tag volatile_non_const; +typedef detail::property_tag cv_qualified; + +namespace detail { + + typedef constant full_mask; + + template struct encode_bits_impl + { + BOOST_STATIC_CONSTANT( bits_t, value = + Flags | (BOOST_FT_default_cc * CCID) << 1 ); + }; + + template + struct encode_charr_impl + { + BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+ + Flags | (BOOST_FT_default_cc * CCID) << 1 | Arity << BOOST_FT_arity_shift + )); + }; + + template struct decode_bits + { + BOOST_STATIC_CONSTANT(bits_t, flags = Bits & BOOST_FT_flags_mask); + + BOOST_STATIC_CONSTANT(bits_t, cc_id = + ( (Bits & BOOST_FT_full_mask) / BOOST_FT_default_cc) >> 1 + ); + + BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & BOOST_FT_full_mask)); + + BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t) + (Bits >> BOOST_FT_arity_shift) + ); + }; + + template + struct tag_ice + { + BOOST_STATIC_CONSTANT(bool, match = + RHS_bits == (LHS_bits & RHS_mask & (RHS_bits |~BOOST_FT_type_mask)) + ); + + BOOST_STATIC_CONSTANT(bits_t, combined_bits = + (LHS_bits & ~RHS_mask) | RHS_bits + ); + + BOOST_STATIC_CONSTANT(bits_t, combined_mask = + LHS_mask | RHS_mask + ); + + BOOST_STATIC_CONSTANT(bits_t, extracted_bits = + LHS_bits & RHS_mask + ); + + }; + +#define BOOST_FT_mask BOOST_FT_type_mask + typedef property_tag callable_builtin_tag; + typedef property_tag nonmember_callable_builtin_tag; + typedef property_tag function_tag; + typedef property_tag reference_tag; + typedef property_tag pointer_tag; + typedef property_tag member_function_pointer_tag; + typedef property_tag member_object_pointer_tag; + typedef property_tag member_object_pointer_base; + typedef property_tag member_pointer_tag; +#undef BOOST_FT_mask + +#define BOOST_PP_VALUE BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_default_cc +#include BOOST_PP_ASSIGN_SLOT(1) +#define BOOST_PP_VALUE BOOST_FT_type_mask|BOOST_FT_variadic_mask|BOOST_FT_cc_mask +#include BOOST_PP_ASSIGN_SLOT(2) + + typedef property_tag< BOOST_PP_SLOT(1) , BOOST_PP_SLOT(2) > nv_dcc_func; + +#define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_default_cc +#include BOOST_PP_ASSIGN_SLOT(1) + + typedef property_tag< BOOST_PP_SLOT(1) , BOOST_PP_SLOT(2) > nv_dcc_mfp; + +} // namespace detail + +} } // namespace ::boost::function_types + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/preprocessed.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/preprocessed.hpp new file mode 100644 index 0000000000..823c3cc1cd --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_tags/preprocessed.hpp @@ -0,0 +1,77 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is guarded externally + +// this file has been generated from the master.hpp file in the same directory +namespace boost { namespace function_types { +typedef detail::property_tag<0x00000200,0x00000300> non_variadic; +typedef detail::property_tag<0x00000100,0x00000300> variadic; +typedef detail::property_tag<0,0x00000400> non_const; +typedef detail::property_tag<0x00000400,0x00000400> const_qualified; +typedef detail::property_tag<0,0x00000800> non_volatile; +typedef detail::property_tag<0x00000800,0x00000800> volatile_qualified; +typedef detail::property_tag<0x00008000,0x00ff8000> default_cc; +typedef detail::property_tag<0 , 3072> non_cv; +typedef detail::property_tag<0x00000400 , 3072> const_non_volatile; +typedef detail::property_tag<0x00000800, 3072> volatile_non_const; +typedef detail::property_tag<3072 , 3072> cv_qualified; +namespace detail { +typedef constant<0x00ff0fff> full_mask; +template struct encode_bits_impl +{ +BOOST_STATIC_CONSTANT( bits_t, value = +Flags | (0x00008000 * CCID) << 1 ); +}; +template +struct encode_charr_impl +{ +BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+ +Flags | (0x00008000 * CCID) << 1 | Arity << 24 +)); +}; +template struct decode_bits +{ +BOOST_STATIC_CONSTANT(bits_t, flags = Bits & 0x00000fff); +BOOST_STATIC_CONSTANT(bits_t, cc_id = +( (Bits & 0x00ff0fff) / 0x00008000) >> 1 +); +BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & 0x00ff0fff)); +BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t) +(Bits >> 24) +); +}; +template +struct tag_ice +{ +BOOST_STATIC_CONSTANT(bool, match = +RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff)) +); +BOOST_STATIC_CONSTANT(bits_t, combined_bits = +(LHS_bits & ~RHS_mask) | RHS_bits +); +BOOST_STATIC_CONSTANT(bits_t, combined_mask = +LHS_mask | RHS_mask +); +BOOST_STATIC_CONSTANT(bits_t, extracted_bits = +LHS_bits & RHS_mask +); +}; +typedef property_tag<0x00000001,0x000000ff> callable_builtin_tag; +typedef property_tag<0x00000003,0x000000ff> nonmember_callable_builtin_tag; +typedef property_tag<0x00000007,0x000000ff> function_tag; +typedef property_tag<0x00000013,0x000000ff> reference_tag; +typedef property_tag<0x0000000b,0x000000ff> pointer_tag; +typedef property_tag<0x00000061,0x000000ff> member_function_pointer_tag; +typedef property_tag<0x000000a3,0x000000ff> member_object_pointer_tag; +typedef property_tag<0x000002a3,0x00ff0fff> member_object_pointer_base; +typedef property_tag<0x00000020,0x000000ff> member_pointer_tag; +typedef property_tag< 33287 , 16745471 > nv_dcc_func; +typedef property_tag< 33377 , 16745471 > nv_dcc_mfp; +} +} } diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_variate_loop/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_variate_loop/master.hpp new file mode 100644 index 0000000000..50263429d7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_variate_loop/master.hpp @@ -0,0 +1,152 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifdef __WAVE__ +// this file has been generated from the master.hpp file in the same directory +# pragma wave option(preserve: 0) +#endif + +#if !defined(BOOST_FT_PREPROCESSING_MODE) +# error "this file is only for two-pass preprocessing" +#endif + +#if !defined(BOOST_PP_VALUE) +# include +# include +# include +# include + +BOOST_PP_EXPAND(#) define BOOST_FT_mfp 0 +BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function + +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_non_variadic +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_variadic +# include __FILE__ + +BOOST_PP_EXPAND(#) if !BOOST_FT_NO_CV_FUNC_SUPPORT +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_const +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_const +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_volatile +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_volatile +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_non_variadic|BOOST_FT_const|BOOST_FT_volatile +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_function|BOOST_FT_variadic|BOOST_FT_const|BOOST_FT_volatile +# include __FILE__ +BOOST_PP_EXPAND(#) endif + + +BOOST_PP_EXPAND(#) undef BOOST_FT_syntax +BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function_pointer + +# define BOOST_PP_VALUE \ + BOOST_FT_pointer|BOOST_FT_non_variadic +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_pointer|BOOST_FT_variadic +# include __FILE__ + +BOOST_PP_EXPAND(#) undef BOOST_FT_syntax +BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_function_reference + +# define BOOST_PP_VALUE \ + BOOST_FT_reference|BOOST_FT_non_variadic +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_reference|BOOST_FT_variadic +# include __FILE__ + +BOOST_PP_EXPAND(#) undef BOOST_FT_syntax +BOOST_PP_EXPAND(#) undef BOOST_FT_mfp + +BOOST_PP_EXPAND(#) define BOOST_FT_mfp 1 +BOOST_PP_EXPAND(#) define BOOST_FT_syntax BOOST_FT_type_member_function_pointer + +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_non_variadic +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_variadic +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_const +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_const +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_volatile +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_volatile +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_non_variadic|BOOST_FT_const|BOOST_FT_volatile +# include __FILE__ +# define BOOST_PP_VALUE \ + BOOST_FT_member_function_pointer|BOOST_FT_variadic|BOOST_FT_const|BOOST_FT_volatile +# include __FILE__ + +BOOST_PP_EXPAND(#) undef BOOST_FT_syntax +BOOST_PP_EXPAND(#) undef BOOST_FT_mfp + +# include +#else + +# include BOOST_PP_ASSIGN_SLOT(1) + +# define BOOST_PP_VALUE BOOST_PP_SLOT(1) & BOOST_FT_kind_mask +# include BOOST_PP_ASSIGN_SLOT(2) + +BOOST_PP_EXPAND(#) if !!(BOOST_PP_SLOT(2) & (BOOST_FT_variations)) +BOOST_PP_EXPAND(#) if (BOOST_PP_SLOT(1) & (BOOST_FT_cond)) == (BOOST_FT_cond) + +# if ( BOOST_PP_SLOT(1) & (BOOST_FT_variadic) ) +BOOST_PP_EXPAND(#) define BOOST_FT_ell ... +BOOST_PP_EXPAND(#) define BOOST_FT_nullary_param +# else +BOOST_PP_EXPAND(#) define BOOST_FT_ell +BOOST_PP_EXPAND(#) define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# endif + +# if !( BOOST_PP_SLOT(1) & (BOOST_FT_volatile) ) +# if !( BOOST_PP_SLOT(1) & (BOOST_FT_const) ) +BOOST_PP_EXPAND(#) define BOOST_FT_cv +# else +BOOST_PP_EXPAND(#) define BOOST_FT_cv const +# endif +# else +# if !( BOOST_PP_SLOT(1) & (BOOST_FT_const) ) +BOOST_PP_EXPAND(#) define BOOST_FT_cv volatile +# else +BOOST_PP_EXPAND(#) define BOOST_FT_cv const volatile +# endif +# endif +BOOST_PP_EXPAND(#) define BOOST_FT_flags BOOST_PP_SLOT(1) +BOOST_PP_EXPAND(#) include BOOST_FT_variate_file + +BOOST_PP_EXPAND(#) undef BOOST_FT_cv +BOOST_PP_EXPAND(#) undef BOOST_FT_ell +BOOST_PP_EXPAND(#) undef BOOST_FT_nullary_param +BOOST_PP_EXPAND(#) undef BOOST_FT_flags +BOOST_PP_EXPAND(#) endif +BOOST_PP_EXPAND(#) endif +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/pp_variate_loop/preprocessed.hpp b/external/include/boost_1_90_0/boost/function_types/detail/pp_variate_loop/preprocessed.hpp new file mode 100644 index 0000000000..7e7c4f91fa --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/pp_variate_loop/preprocessed.hpp @@ -0,0 +1,283 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// this file has been generated from the master.hpp file in the same directory +# define BOOST_FT_mfp 0 +# define BOOST_FT_syntax BOOST_FT_type_function +# if ! ! (4 & (BOOST_FT_variations)) +# if (519 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv +# define BOOST_FT_flags 519 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (4 & (BOOST_FT_variations)) +# if (263 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv +# define BOOST_FT_flags 263 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if !BOOST_FT_NO_CV_FUNC_SUPPORT +# if ! ! (4 & (BOOST_FT_variations)) +# if (1543 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv const +# define BOOST_FT_flags 1543 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (4 & (BOOST_FT_variations)) +# if (1287 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv const +# define BOOST_FT_flags 1287 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (4 & (BOOST_FT_variations)) +# if (2567 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv volatile +# define BOOST_FT_flags 2567 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (4 & (BOOST_FT_variations)) +# if (2311 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv volatile +# define BOOST_FT_flags 2311 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (4 & (BOOST_FT_variations)) +# if (3591 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv const volatile +# define BOOST_FT_flags 3591 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (4 & (BOOST_FT_variations)) +# if (3335 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv const volatile +# define BOOST_FT_flags 3335 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# endif +# undef BOOST_FT_syntax +# define BOOST_FT_syntax BOOST_FT_type_function_pointer +# if ! ! (8 & (BOOST_FT_variations)) +# if (523 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv +# define BOOST_FT_flags 523 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (8 & (BOOST_FT_variations)) +# if (267 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv +# define BOOST_FT_flags 267 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# undef BOOST_FT_syntax +# define BOOST_FT_syntax BOOST_FT_type_function_reference +# if ! ! (16 & (BOOST_FT_variations)) +# if (531 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv +# define BOOST_FT_flags 531 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (16 & (BOOST_FT_variations)) +# if (275 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv +# define BOOST_FT_flags 275 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# undef BOOST_FT_syntax +# undef BOOST_FT_mfp +# define BOOST_FT_mfp 1 +# define BOOST_FT_syntax BOOST_FT_type_member_function_pointer +# if ! ! (96 & (BOOST_FT_variations)) +# if (609 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv +# define BOOST_FT_flags 609 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (353 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv +# define BOOST_FT_flags 353 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (1633 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv const +# define BOOST_FT_flags 1633 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (1377 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv const +# define BOOST_FT_flags 1377 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (2657 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv volatile +# define BOOST_FT_flags 2657 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (2401 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv volatile +# define BOOST_FT_flags 2401 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (3681 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell +# define BOOST_FT_nullary_param BOOST_FT_NULLARY_PARAM +# define BOOST_FT_cv const volatile +# define BOOST_FT_flags 3681 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# if ! ! (96 & (BOOST_FT_variations)) +# if (3425 & (BOOST_FT_cond)) == (BOOST_FT_cond) +# define BOOST_FT_ell ... +# define BOOST_FT_nullary_param +# define BOOST_FT_cv const volatile +# define BOOST_FT_flags 3425 +# include BOOST_FT_variate_file +# undef BOOST_FT_cv +# undef BOOST_FT_ell +# undef BOOST_FT_nullary_param +# undef BOOST_FT_flags +# endif +# endif +# undef BOOST_FT_syntax +# undef BOOST_FT_mfp diff --git a/external/include/boost_1_90_0/boost/function_types/detail/retag_default_cc.hpp b/external/include/boost_1_90_0/boost/function_types/detail/retag_default_cc.hpp new file mode 100644 index 0000000000..c8926f6dfc --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/retag_default_cc.hpp @@ -0,0 +1,23 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED +#define BOOST_FT_DETAIL_RETAG_DEFAULT_CC_HPP_INCLUDED + +#include + +#include + +#if defined(BOOST_FT_PREPROCESSING_MODE) +# include +#else +# include +#endif + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize.hpp new file mode 100644 index 0000000000..0b15cbbed2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize.hpp @@ -0,0 +1,79 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED +#define BOOST_FT_DETAIL_SYNTHESIZE_HPP_INCLUDED + +#include + +#include +#include + +#include +#include +#include +#include + +namespace boost { namespace function_types { namespace detail { + +template +struct synthesize_impl_o +{ + template struct synthesize_impl_i { }; +}; + +template +struct synthesize_impl + : detail::synthesize_impl_o + < ::boost::function_types::detail::decode_bits::flags + , ::boost::function_types::detail::decode_bits::cc_id + , ::boost::mpl::size::value + > + ::template synthesize_impl_i +{ }; + +template +struct synthesize_func + : detail::synthesize_impl + < Seq + , ::boost::function_types::detail::bits + < detail::retag_default_cc + < function_types::tag > + >::value + > +{ }; + +template +struct synthesize_mfp + : detail::synthesize_impl + < Seq + , ::boost::function_types::detail::bits + < detail::retag_default_cc + < function_types::tag + < typename detail::cv_traits< typename mpl::at_c::type >::tag + , nv_dcc_mfp, Tag + > > + >::value + > +{ }; + +template::type, + typename C = typename mpl::at_c::type> +struct synthesize_mop +{ + typedef R C::* type; +}; + +#define BOOST_FT_variations BOOST_FT_function|BOOST_FT_member_pointer +#define BOOST_FT_al_path boost/function_types/detail/synthesize_impl +#include + +} } } // namespace ::boost::function_types::detail + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity10_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity10_0.hpp new file mode 100644 index 0000000000..ad22e5047a --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity10_0.hpp @@ -0,0 +1,334 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,0) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (BOOST_FT_nullary_param BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 1 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,0) +< typename mpl::deref< iter_0 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 2 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 3 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 4 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 5 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 6 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 7 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 8 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 9 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 10 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 11 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity10_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity10_1.hpp new file mode 100644 index 0000000000..bbd5963fa0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity10_1.hpp @@ -0,0 +1,326 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) ( BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 2 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,1) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 3 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,2) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 4 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,3) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 5 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,4) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 6 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,5) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 7 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,6) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 8 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,7) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 9 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,8) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 10 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,9) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 11 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,10) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity20_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity20_0.hpp new file mode 100644 index 0000000000..cb62e69115 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity20_0.hpp @@ -0,0 +1,517 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity20_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity20_1.hpp new file mode 100644 index 0000000000..1c5e1e747c --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity20_1.hpp @@ -0,0 +1,527 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 12 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,11) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 13 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,12) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 14 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,13) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 15 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,14) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 16 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,15) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 17 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,16) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 18 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,17) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 19 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,18) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 20 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,19) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 21 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,20) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity30_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity30_0.hpp new file mode 100644 index 0000000000..63a64f0df5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity30_0.hpp @@ -0,0 +1,717 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity30_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity30_1.hpp new file mode 100644 index 0000000000..6cba73ea9a --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity30_1.hpp @@ -0,0 +1,727 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 22 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,21) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 23 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,22) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 24 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,23) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 25 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,24) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 26 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,25) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 27 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,26) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 28 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,27) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 29 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,28) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 30 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,29) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 31 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,30) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity40_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity40_0.hpp new file mode 100644 index 0000000000..b065757024 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity40_0.hpp @@ -0,0 +1,917 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity40_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity40_1.hpp new file mode 100644 index 0000000000..c9f21941b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity40_1.hpp @@ -0,0 +1,927 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 32 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,31) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 33 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,32) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 34 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,33) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 35 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,34) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 36 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,35) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 37 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,36) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 38 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,37) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 39 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,38) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 40 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,39) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 41 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,40) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity50_0.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity50_0.hpp new file mode 100644 index 0000000000..b1ad7b14c2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity50_0.hpp @@ -0,0 +1,1117 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 42 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 43 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 44 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 45 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 46 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 47 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 48 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 49 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +typedef typename mpl::next< iter_47 > ::type iter_48; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +, typename mpl::deref< iter_48 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 50 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +typedef typename mpl::next< iter_47 > ::type iter_48; +typedef typename mpl::next< iter_48 > ::type iter_49; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +, typename mpl::deref< iter_48 > ::type +, typename mpl::deref< iter_49 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 51 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +typedef typename mpl::next< iter_47 > ::type iter_48; +typedef typename mpl::next< iter_48 > ::type iter_49; +typedef typename mpl::next< iter_49 > ::type iter_50; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) +< typename mpl::deref< iter_0 > ::type +, typename mpl::deref< iter_1 > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +, typename mpl::deref< iter_48 > ::type +, typename mpl::deref< iter_49 > ::type +, typename mpl::deref< iter_50 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity50_1.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity50_1.hpp new file mode 100644 index 0000000000..2915c412d7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/arity50_1.hpp @@ -0,0 +1,1127 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +// input: BOOST_FT_syntax type macro to use +// input: BOOST_FT_cc empty or cc specifier +// input: BOOST_FT_ell empty or "..." +// input: BOOST_FT_cv empty or cv qualifiers +// input: BOOST_FT_flags single decimal integer encoding the flags +// output: BOOST_FT_n number of component types (arity+1) +// output: BOOST_FT_arity current arity +// output: BOOST_FT_type macro that expands to the type +// output: BOOST_FT_tplargs(p) template arguments with given prefix +// output: BOOST_FT_params(p) parameters with given prefix + +# include +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 42 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,41) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 43 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,42) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 44 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,43) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 45 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,44) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 46 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,45) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 47 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,46) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 48 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,47) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 49 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +typedef typename mpl::next< iter_47 > ::type iter_48; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,48) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +, typename mpl::deref< iter_48 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 50 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +typedef typename mpl::next< iter_47 > ::type iter_48; +typedef typename mpl::next< iter_48 > ::type iter_49; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,49) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +, typename mpl::deref< iter_48 > ::type +, typename mpl::deref< iter_49 > ::type +> ::type type; +}; +}; +template< typename R , typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) +{ +typedef BOOST_FT_syntax(BOOST_FT_cc,type BOOST_PP_EMPTY) (T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 BOOST_FT_ell) BOOST_FT_cv ; +}; +template< > +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, 51 > +{ +template struct synthesize_impl_i +{ +private: +typedef typename mpl::begin ::type iter_0; +typedef typename mpl::next< iter_0 > ::type iter_1; +typedef typename mpl::next< iter_1 > ::type iter_2; +typedef typename mpl::next< iter_2 > ::type iter_3; +typedef typename mpl::next< iter_3 > ::type iter_4; +typedef typename mpl::next< iter_4 > ::type iter_5; +typedef typename mpl::next< iter_5 > ::type iter_6; +typedef typename mpl::next< iter_6 > ::type iter_7; +typedef typename mpl::next< iter_7 > ::type iter_8; +typedef typename mpl::next< iter_8 > ::type iter_9; +typedef typename mpl::next< iter_9 > ::type iter_10; +typedef typename mpl::next< iter_10 > ::type iter_11; +typedef typename mpl::next< iter_11 > ::type iter_12; +typedef typename mpl::next< iter_12 > ::type iter_13; +typedef typename mpl::next< iter_13 > ::type iter_14; +typedef typename mpl::next< iter_14 > ::type iter_15; +typedef typename mpl::next< iter_15 > ::type iter_16; +typedef typename mpl::next< iter_16 > ::type iter_17; +typedef typename mpl::next< iter_17 > ::type iter_18; +typedef typename mpl::next< iter_18 > ::type iter_19; +typedef typename mpl::next< iter_19 > ::type iter_20; +typedef typename mpl::next< iter_20 > ::type iter_21; +typedef typename mpl::next< iter_21 > ::type iter_22; +typedef typename mpl::next< iter_22 > ::type iter_23; +typedef typename mpl::next< iter_23 > ::type iter_24; +typedef typename mpl::next< iter_24 > ::type iter_25; +typedef typename mpl::next< iter_25 > ::type iter_26; +typedef typename mpl::next< iter_26 > ::type iter_27; +typedef typename mpl::next< iter_27 > ::type iter_28; +typedef typename mpl::next< iter_28 > ::type iter_29; +typedef typename mpl::next< iter_29 > ::type iter_30; +typedef typename mpl::next< iter_30 > ::type iter_31; +typedef typename mpl::next< iter_31 > ::type iter_32; +typedef typename mpl::next< iter_32 > ::type iter_33; +typedef typename mpl::next< iter_33 > ::type iter_34; +typedef typename mpl::next< iter_34 > ::type iter_35; +typedef typename mpl::next< iter_35 > ::type iter_36; +typedef typename mpl::next< iter_36 > ::type iter_37; +typedef typename mpl::next< iter_37 > ::type iter_38; +typedef typename mpl::next< iter_38 > ::type iter_39; +typedef typename mpl::next< iter_39 > ::type iter_40; +typedef typename mpl::next< iter_40 > ::type iter_41; +typedef typename mpl::next< iter_41 > ::type iter_42; +typedef typename mpl::next< iter_42 > ::type iter_43; +typedef typename mpl::next< iter_43 > ::type iter_44; +typedef typename mpl::next< iter_44 > ::type iter_45; +typedef typename mpl::next< iter_45 > ::type iter_46; +typedef typename mpl::next< iter_46 > ::type iter_47; +typedef typename mpl::next< iter_47 > ::type iter_48; +typedef typename mpl::next< iter_48 > ::type iter_49; +typedef typename mpl::next< iter_49 > ::type iter_50; +public: +typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,50) +< typename mpl::deref< iter_0 > ::type +, typename detail::cv_traits< +typename mpl::deref< iter_1 > ::type > ::type +, typename mpl::deref< iter_2 > ::type +, typename mpl::deref< iter_3 > ::type +, typename mpl::deref< iter_4 > ::type +, typename mpl::deref< iter_5 > ::type +, typename mpl::deref< iter_6 > ::type +, typename mpl::deref< iter_7 > ::type +, typename mpl::deref< iter_8 > ::type +, typename mpl::deref< iter_9 > ::type +, typename mpl::deref< iter_10 > ::type +, typename mpl::deref< iter_11 > ::type +, typename mpl::deref< iter_12 > ::type +, typename mpl::deref< iter_13 > ::type +, typename mpl::deref< iter_14 > ::type +, typename mpl::deref< iter_15 > ::type +, typename mpl::deref< iter_16 > ::type +, typename mpl::deref< iter_17 > ::type +, typename mpl::deref< iter_18 > ::type +, typename mpl::deref< iter_19 > ::type +, typename mpl::deref< iter_20 > ::type +, typename mpl::deref< iter_21 > ::type +, typename mpl::deref< iter_22 > ::type +, typename mpl::deref< iter_23 > ::type +, typename mpl::deref< iter_24 > ::type +, typename mpl::deref< iter_25 > ::type +, typename mpl::deref< iter_26 > ::type +, typename mpl::deref< iter_27 > ::type +, typename mpl::deref< iter_28 > ::type +, typename mpl::deref< iter_29 > ::type +, typename mpl::deref< iter_30 > ::type +, typename mpl::deref< iter_31 > ::type +, typename mpl::deref< iter_32 > ::type +, typename mpl::deref< iter_33 > ::type +, typename mpl::deref< iter_34 > ::type +, typename mpl::deref< iter_35 > ::type +, typename mpl::deref< iter_36 > ::type +, typename mpl::deref< iter_37 > ::type +, typename mpl::deref< iter_38 > ::type +, typename mpl::deref< iter_39 > ::type +, typename mpl::deref< iter_40 > ::type +, typename mpl::deref< iter_41 > ::type +, typename mpl::deref< iter_42 > ::type +, typename mpl::deref< iter_43 > ::type +, typename mpl::deref< iter_44 > ::type +, typename mpl::deref< iter_45 > ::type +, typename mpl::deref< iter_46 > ::type +, typename mpl::deref< iter_47 > ::type +, typename mpl::deref< iter_48 > ::type +, typename mpl::deref< iter_49 > ::type +, typename mpl::deref< iter_50 > ::type +> ::type type; +}; +}; +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/master.hpp b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/master.hpp new file mode 100644 index 0000000000..49d38ef4d4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/synthesize_impl/master.hpp @@ -0,0 +1,87 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +// no include guards, this file is intended for multiple inclusion + +#if BOOST_FT_ARITY_LOOP_PREFIX + +# ifndef BOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED +# define BOOST_FT_DETAIL_SYNTHESIZE_IMPL_MASTER_HPP_INCLUDED +# include +# include +# include +# include +# include +# endif + +# define BOOST_FT_type_name type + +# ifdef BOOST_FT_flags +# define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +# define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +# else +BOOST_PP_EXPAND(#) define BOOST_FT_make_type(flags,cc,arity) BOOST_FT_make_type_impl(flags,cc,arity) +BOOST_PP_EXPAND(#) define BOOST_FT_make_type_impl(flags,cc,arity) make_type_ ## flags ## _ ## cc ## _ ## arity +# endif + +# define BOOST_FT_iter(i) BOOST_PP_CAT(iter_,i) + +#elif BOOST_FT_ARITY_LOOP_IS_ITERATING + +template< BOOST_FT_tplargs(BOOST_PP_IDENTITY(typename)) > +struct BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity) +{ + typedef BOOST_FT_type ; +}; + +template<> +struct synthesize_impl_o< BOOST_FT_flags, BOOST_FT_cc_id, BOOST_FT_n > +{ + template struct synthesize_impl_i + { + private: + typedef typename mpl::begin::type BOOST_FT_iter(0); +# if BOOST_FT_n > 1 +# define BOOST_PP_LOCAL_MACRO(i) typedef typename mpl::next< \ + BOOST_FT_iter(BOOST_PP_DEC(i)) >::type BOOST_FT_iter(i); +# define BOOST_PP_LOCAL_LIMITS (1,BOOST_FT_n-1) +# include BOOST_PP_LOCAL_ITERATE() +# endif + public: + typedef typename detail::BOOST_FT_make_type(BOOST_FT_flags,BOOST_FT_cc_id,BOOST_FT_arity) + < typename mpl::deref< BOOST_FT_iter(0) >::type +# if BOOST_FT_mfp + , typename detail::cv_traits< + typename mpl::deref< BOOST_FT_iter(1) >::type >::type +# endif +# if BOOST_FT_n > (BOOST_FT_mfp+1) +# define BOOST_PP_LOCAL_LIMITS (BOOST_FT_mfp+1,BOOST_FT_n-1) +# define BOOST_PP_LOCAL_MACRO(i) \ + , typename mpl::deref< BOOST_FT_iter(i) >::type +# include BOOST_PP_LOCAL_ITERATE() +# endif + >::type type; + }; +}; + +#elif BOOST_FT_ARITY_LOOP_SUFFIX + +# ifdef BOOST_FT_flags +# undef BOOST_FT_make_type +# undef BOOST_FT_make_type_impl +# else +BOOST_PP_EXPAND(#) undef BOOST_FT_make_type +BOOST_PP_EXPAND(#) undef BOOST_FT_make_type_impl +# endif +# undef BOOST_FT_iter +# undef BOOST_FT_type_name + +#else +# error "attempt to use arity loop master file without loop" +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/detail/to_sequence.hpp b/external/include/boost_1_90_0/boost/function_types/detail/to_sequence.hpp new file mode 100644 index 0000000000..54854dbfac --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/detail/to_sequence.hpp @@ -0,0 +1,45 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED +#define BOOST_FT_DETAIL_TO_SEQUENCE_HPP_INCLUDED + +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace function_types { namespace detail { + +// wrap first arguments in components, if callable builtin type +template +struct to_sequence +{ + typedef typename + mpl::eval_if + < is_callable_builtin + , to_sequence< components > + , mpl::identity< T > + >::type + type; +}; + +// reduce template instantiations, if possible +template +struct to_sequence< components > +{ + typedef typename components::types type; +}; + +} } } // namespace ::boost::function_types::detail + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/is_callable_builtin.hpp b/external/include/boost_1_90_0/boost/function_types/is_callable_builtin.hpp new file mode 100644 index 0000000000..3b826ea580 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/is_callable_builtin.hpp @@ -0,0 +1,33 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED +#define BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED + +#include + +#include + +namespace boost +{ + namespace function_types + { + template< typename T, typename Tag = null_tag > + struct is_callable_builtin + : function_types::represents + < function_types::components + , function_types::tag + > + { + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_callable_builtin,(T,Tag)) + }; + } +} + +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/is_member_function_pointer.hpp b/external/include/boost_1_90_0/boost/function_types/is_member_function_pointer.hpp new file mode 100644 index 0000000000..ef547657a3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/is_member_function_pointer.hpp @@ -0,0 +1,31 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED +#define BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED + +#include + +#include + +namespace boost +{ + namespace function_types + { + template< typename T, typename Tag = null_tag > + struct is_member_function_pointer + : function_types::represents + < function_types::components + , function_types::tag > + { + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_function_pointer,(T,Tag)) + }; + } +} +#endif + diff --git a/external/include/boost_1_90_0/boost/function_types/property_tags.hpp b/external/include/boost_1_90_0/boost/function_types/property_tags.hpp new file mode 100644 index 0000000000..3760a8b174 --- /dev/null +++ b/external/include/boost_1_90_0/boost/function_types/property_tags.hpp @@ -0,0 +1,199 @@ + +// (C) Copyright Tobias Schwinger +// +// Use modification and distribution are subject to the boost Software License, +// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). + +//------------------------------------------------------------------------------ + +#ifndef BOOST_FT_DETAIL_TAGS_HPP_INCLUDED +#define BOOST_FT_DETAIL_TAGS_HPP_INCLUDED + +#include + +#include +#include +#include + + +namespace boost { namespace function_types { + +namespace detail +{ + typedef long bits_t; + + template struct constant + : boost::integral_constant + { }; + + template struct property_tag + { + typedef constant bits; + typedef constant mask; + }; + + template struct bits : T::bits { }; + template struct mask : T::mask { }; + + // forward declaration, defined in pp_tags + template struct encode_bits_impl; + + // forward declaration, defined in pp_tags + template + struct tag_ice; + + // forward declaration, defined in retag_default_cc + template struct retag_default_cc; + + template struct encode_bits + : constant< + ::boost::function_types::detail::encode_bits_impl::value + > + { }; + + template struct compound_tag + { + typedef constant< + ::boost::function_types::detail::tag_ice + < ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + , ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + >::combined_bits + > bits; + + typedef constant< + ::boost::function_types::detail::tag_ice + < ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + , ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + >::combined_mask + > mask; + }; + + template + struct changed_tag + : Base + { + typedef mpl::bitxor_ + + bits; + }; + + template struct represents_impl + : boost::integral_constant::value + , ::boost::function_types::detail::mask::value + , ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + >::match + > + { }; + +} // namespace detail + +typedef detail::property_tag<0,0> null_tag; + +template +struct tag + : detail::compound_tag< detail::compound_tag, + detail::compound_tag > +{ }; + +template struct tag + : detail::compound_tag,Tag3> +{ }; +template struct tag + : detail::compound_tag +{ }; +template struct tag + : Tag1 +{ }; + + +template struct represents + : detail::represents_impl > +{ }; + + +template struct extract +{ + typedef detail::constant< + ::boost::function_types::detail::tag_ice + < ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + , ::boost::function_types::detail::bits::value + , ::boost::function_types::detail::mask::value + >::extracted_bits + > bits; + + typedef detail::constant< + ::boost::function_types::detail::mask::value + > mask; +}; + +/* + + The following is a metafunction which checks whether a + property tag is in a possibly compounded tag type. + + Here both the possibly compounded tag type and a property tag + is given. + +*/ + +template struct has_property_tag + : detail::represents_impl +{ }; + +} } // namespace ::boost::function_types + +#include + +namespace boost { namespace function_types { +#define BOOST_FT_cc_file +#include + +/* + + The following are metafunctions which check whether the + specific property tag is in a possibly compounded tag type. + Here only the possibly compounded tag type is given. + +*/ + +template struct has_property_tag + : ::boost::is_same +{ }; + +template struct has_variadic_property_tag + : has_property_tag +{ }; + +template struct has_default_cc_property_tag + : has_property_tag +{ }; + +template struct has_const_property_tag + : has_property_tag +{ }; + +template struct has_volatile_property_tag + : has_property_tag +{ }; + +template struct has_cv_property_tag + : has_property_tag +{ }; + +template struct has_null_property_tag + : has_property_tag +{ }; + +} } // namespace boost::function_types + +#endif + diff --git a/external/include/boost_1_90_0/boost/functional/hash/hash.hpp b/external/include/boost_1_90_0/boost/functional/hash/hash.hpp new file mode 100644 index 0000000000..957de7c673 --- /dev/null +++ b/external/include/boost_1_90_0/boost/functional/hash/hash.hpp @@ -0,0 +1,6 @@ + +// Copyright 2005-2009 Daniel James. +// 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) + +#include diff --git a/external/include/boost_1_75/boost/get_pointer.hpp b/external/include/boost_1_90_0/boost/get_pointer.hpp similarity index 100% rename from external/include/boost_1_75/boost/get_pointer.hpp rename to external/include/boost_1_90_0/boost/get_pointer.hpp diff --git a/external/include/boost_1_90_0/boost/implicit_cast.hpp b/external/include/boost_1_90_0/boost/implicit_cast.hpp new file mode 100644 index 0000000000..678195b091 --- /dev/null +++ b/external/include/boost_1_90_0/boost/implicit_cast.hpp @@ -0,0 +1,38 @@ +// Copyright David Abrahams 2003. +// 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) + +#ifndef BOOST_IMPLICIT_CAST_DWA200356_HPP +#define BOOST_IMPLICIT_CAST_DWA200356_HPP + +#include +#ifdef BOOST_HAS_PRAGMA_ONCE +# pragma once +#endif + +namespace boost { + +namespace detail { + +template struct icast_identity +{ + using type = T; +}; + +} // namespace detail + +// implementation originally suggested by C. Green in +// http://lists.boost.org/MailArchives/boost/msg00886.php + +// The use of identity creates a non-deduced form, so that the +// explicit template argument must be supplied +template +constexpr T implicit_cast (typename boost::detail::icast_identity::type x) { + return x; +} + +} // namespace boost + + +#endif // BOOST_IMPLICIT_CAST_DWA200356_HPP diff --git a/external/include/boost_1_75/boost/integer_traits.hpp b/external/include/boost_1_90_0/boost/integer_traits.hpp similarity index 98% rename from external/include/boost_1_75/boost/integer_traits.hpp rename to external/include/boost_1_90_0/boost/integer_traits.hpp index aaaeed6bae..c2d4897a65 100644 --- a/external/include/boost_1_75/boost/integer_traits.hpp +++ b/external/include/boost_1_90_0/boost/integer_traits.hpp @@ -3,14 +3,14 @@ * Copyright Jens Maurer 2000 * 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) + * https://www.boost.org/LICENSE_1_0.txt) * * $Id$ * * Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers */ -// See http://www.boost.org/libs/integer for documentation. +// See https://www.boost.org/libs/integer for documentation. #ifndef BOOST_INTEGER_TRAITS_HPP diff --git a/external/include/boost_1_75/boost/is_placeholder.hpp b/external/include/boost_1_90_0/boost/is_placeholder.hpp similarity index 100% rename from external/include/boost_1_75/boost/is_placeholder.hpp rename to external/include/boost_1_90_0/boost/is_placeholder.hpp diff --git a/external/include/boost_1_90_0/boost/iterator/detail/config_def.hpp b/external/include/boost_1_90_0/boost/iterator/detail/config_def.hpp new file mode 100644 index 0000000000..b0b24f7818 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/config_def.hpp @@ -0,0 +1,45 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// 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) + +// no include guard multiple inclusion intended + +// +// This is a temporary workaround until the bulk of this is +// available in boost config. +// 23/02/03 thw +// + +#include // for prior +#include + +#ifdef BOOST_ITERATOR_CONFIG_DEF +# error you have nested config_def #inclusion. +#else +# define BOOST_ITERATOR_CONFIG_DEF +#endif + +// We enable this always now. Otherwise, the simple case in +// libs/iterator/test/constant_iterator_arrow.cpp fails to compile +// because the operator-> return is improperly deduced as a non-const +// pointer. + +// Recall that in general, compilers without partial specialization +// can't strip constness. Consider counting_iterator, which normally +// passes a const Value to iterator_facade. As a result, any code +// which makes a std::vector of the iterator's value_type will fail +// when its allocator declares functions overloaded on reference and +// const_reference (the same type). +// +// Furthermore, Borland 5.5.1 drops constness in enough ways that we +// end up using a proxy for operator[] when we otherwise shouldn't. +// Using reference constness gives it an extra hint that it can +// return the value_type from operator[] directly, but is not +// strictly necessary. Not sure how best to resolve this one. + +# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1 + +// no include guard; multiple inclusion intended diff --git a/external/include/boost_1_90_0/boost/iterator/detail/config_undef.hpp b/external/include/boost_1_90_0/boost/iterator/detail/config_undef.hpp new file mode 100644 index 0000000000..8b9508555d --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/config_undef.hpp @@ -0,0 +1,20 @@ +// (C) Copyright Thomas Witt 2002. +// 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) + +// no include guard multiple inclusion intended + +// +// This is a temporary workaround until the bulk of this is +// available in boost config. +// 23/02/03 thw +// + +#undef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY + +#ifdef BOOST_ITERATOR_CONFIG_DEF +# undef BOOST_ITERATOR_CONFIG_DEF +#else +# error missing or nested #include config_def +#endif diff --git a/external/include/boost_1_90_0/boost/iterator/detail/eval_if_default.hpp b/external/include/boost_1_90_0/boost/iterator/detail/eval_if_default.hpp new file mode 100644 index 0000000000..9ac4636cfe --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/eval_if_default.hpp @@ -0,0 +1,44 @@ +/* + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * https://www.boost.org/LICENSE_1_0.txt) + * + * Copyright (c) 2025 Andrey Semashev + */ + +#ifndef BOOST_ITERATOR_DETAIL_EVAL_IF_DEFAULT_HPP_INCLUDED_ +#define BOOST_ITERATOR_DETAIL_EVAL_IF_DEFAULT_HPP_INCLUDED_ + +#include +#include + +namespace boost { +namespace iterators { +namespace detail { + +// If T is use_default, return the result of invoking +// DefaultNullaryFn, otherwise - of NondefaultNullaryFn. +// By default, NondefaultNullaryFn returns T, which means +// the metafunction can be called with just two parameters +// and in that case will return either T or the result of +// invoking DefaultNullaryFn. +template< typename T, typename DefaultNullaryFn, typename NondefaultNullaryFn = detail::type_identity< T > > +struct eval_if_default +{ + using type = typename NondefaultNullaryFn::type; +}; + +template< typename DefaultNullaryFn, typename NondefaultNullaryFn > +struct eval_if_default< use_default, DefaultNullaryFn, NondefaultNullaryFn > +{ + using type = typename DefaultNullaryFn::type; +}; + +template< typename T, typename DefaultNullaryFn, typename NondefaultNullaryFn = detail::type_identity< T > > +using eval_if_default_t = typename eval_if_default< T, DefaultNullaryFn, NondefaultNullaryFn >::type; + +} // namespace detail +} // namespace iterators +} // namespace boost + +#endif // BOOST_ITERATOR_DETAIL_EVAL_IF_DEFAULT_HPP_INCLUDED_ diff --git a/external/include/boost_1_90_0/boost/iterator/detail/facade_iterator_category.hpp b/external/include/boost_1_90_0/boost/iterator/detail/facade_iterator_category.hpp new file mode 100644 index 0000000000..427d9d050d --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/facade_iterator_category.hpp @@ -0,0 +1,179 @@ +// Copyright David Abrahams 2003. Use, modification and distribution is +// subject to 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) +#ifndef FACADE_ITERATOR_CATEGORY_DWA20031118_HPP +#define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP + +#include +#include + +#include + +#include +#include +#include +#include // try to keep this last + +// +// iterator_category deduction for iterator_facade +// + +namespace boost { +namespace iterators { +namespace detail { + +#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY + +template< typename T > +struct is_const_lvalue_reference : + public std::false_type +{}; + +template< typename T > +struct is_const_lvalue_reference< T const& > : + public std::true_type +{}; + +#endif // BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY + +// +// True iff the user has explicitly disabled writability of this +// iterator. Pass the iterator_facade's Value parameter and its +// nested ::reference type. +// +template< typename ValueParam, typename Reference > +struct iterator_writability_disabled : +# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic? + public detail::disjunction< + detail::is_const_lvalue_reference< Reference >, + std::is_const< Reference >, + std::is_const< ValueParam > + > +# else + public std::is_const< ValueParam > +# endif +{}; + + +template< typename Traversal, typename ValueParam, typename Reference > +using is_traversal_of_input_iterator = detail::conjunction< + std::is_convertible< Traversal, single_pass_traversal_tag >, + + // check for readability + std::is_convertible< Reference, ValueParam > +>; + +// +// Convert an iterator_facade's traversal category, Value parameter, +// and ::reference type to an appropriate old-style category. +// +// Due to changeset 21683, this now never results in a category convertible +// to output_iterator_tag. +// +// Change at: https://svn.boost.org/trac/boost/changeset/21683 +template< typename Traversal, typename ValueParam, typename Reference > +struct iterator_facade_default_category +{ + using type = typename std::conditional< + detail::is_traversal_of_input_iterator< Traversal, ValueParam, Reference >::value, + std::input_iterator_tag, + Traversal + >::type; +}; + +// Specialization for the (typical) case when the reference type is an actual reference +template< typename Traversal, typename ValueParam, typename Referenced > +struct iterator_facade_default_category< Traversal, ValueParam, Referenced& > +{ + using type = mp11::mp_cond< + std::is_convertible< Traversal, random_access_traversal_tag >, std::random_access_iterator_tag, + std::is_convertible< Traversal, bidirectional_traversal_tag >, std::bidirectional_iterator_tag, + std::is_convertible< Traversal, forward_traversal_tag >, std::forward_iterator_tag, + detail::is_traversal_of_input_iterator< Traversal, ValueParam, Referenced& >, std::input_iterator_tag, + std::true_type, Traversal + >; +}; + +template< typename Traversal, typename ValueParam, typename Reference > +using iterator_facade_default_category_t = typename iterator_facade_default_category< Traversal, ValueParam, Reference >::type; + +// True iff T is convertible to an old-style iterator category. +template< typename T > +struct is_iterator_category : + public detail::disjunction< + std::is_convertible< T, std::input_iterator_tag >, + std::is_convertible< T, std::output_iterator_tag > + > +{}; + +template< typename T > +struct is_iterator_traversal : + public std::is_convertible< T, incrementable_traversal_tag > +{}; + + +// +// A composite iterator_category tag convertible to Category (a pure +// old-style category) and Traversal (a pure traversal tag). +// Traversal must be a strict increase of the traversal power given by +// Category. +// +template< typename Category, typename Traversal > +struct iterator_category_with_traversal : + public Category, + public Traversal +{ + // Make sure this isn't used to build any categories where + // convertibility to Traversal is redundant. Should just use the + // Category element in that case. + static_assert( + !std::is_convertible< iterator_category_to_traversal_t< Category >, Traversal >::value, + "Category transformed to corresponding traversal must be convertible to Traversal." + ); + + static_assert(is_iterator_category< Category >::value, "Category must be an STL iterator category."); + static_assert(!is_iterator_category< Traversal >::value, "Traversal must not be an STL iterator category."); + static_assert(!is_iterator_traversal< Category >::value, "Category must not be a traversal tag."); + static_assert(is_iterator_traversal< Traversal >::value, "Traversal must be a traversal tag."); +}; + +// Computes an iterator_category tag whose traversal is Traversal and +// which is appropriate for an iterator +template< typename Traversal, typename ValueParam, typename Reference > +struct facade_iterator_category_impl +{ + static_assert(!is_iterator_category< Traversal >::value, "Traversal must not be an STL iterator category."); + + using category = iterator_facade_default_category_t< Traversal, ValueParam, Reference >; + + using type = typename std::conditional< + std::is_same< + Traversal, + typename iterator_category_to_traversal< category >::type + >::value, + category, + iterator_category_with_traversal< category, Traversal > + >::type; +}; + +template< typename Traversal, typename ValueParam, typename Reference > +using facade_iterator_category_impl_t = typename facade_iterator_category_impl< Traversal, ValueParam, Reference >::type; + +// +// Compute an iterator_category for iterator_facade +// +template< typename CategoryOrTraversal, typename ValueParam, typename Reference > +struct facade_iterator_category +{ + using type = mp11::mp_eval_if< + is_iterator_category< CategoryOrTraversal >, + CategoryOrTraversal, // old-style categories are fine as-is + facade_iterator_category_impl_t, CategoryOrTraversal, ValueParam, Reference + >; +}; + +}}} // namespace boost::iterators::detail + +#include + +#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP diff --git a/external/include/boost_1_90_0/boost/iterator/detail/type_traits/conjunction.hpp b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/conjunction.hpp new file mode 100644 index 0000000000..650e19ab55 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/conjunction.hpp @@ -0,0 +1,53 @@ +/* + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * https://www.boost.org/LICENSE_1_0.txt) + * + * Copyright (c) 2024 Georgiy Guminov + */ +/*! + * \file iterator/detail/type_traits/conjunction.hpp + * + * This header contains definition of \c conjunction type trait. + */ + +#ifndef BOOST_ITERATOR_DETAIL_TYPE_TRAITS_CONJUNCTION_HPP_INCLUDED_ +#define BOOST_ITERATOR_DETAIL_TYPE_TRAITS_CONJUNCTION_HPP_INCLUDED_ + +#include +#include + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#if (defined(__cpp_lib_logical_traits) && (__cpp_lib_logical_traits >= 201510l)) || \ + (defined(BOOST_MSSTL_VERSION) && (BOOST_MSSTL_VERSION >= 140) && (_MSC_FULL_VER >= 190023918) && (BOOST_CXX_VERSION >= 201703l)) + +namespace boost { +namespace iterators { +namespace detail { + +using std::conjunction; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#else + +#include + +namespace boost { +namespace iterators { +namespace detail { + +using boost::conjunction; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#endif + +#endif // BOOST_ITERATOR_DETAIL_TYPE_TRAITS_CONJUNCTION_HPP_INCLUDED_ diff --git a/external/include/boost_1_90_0/boost/iterator/detail/type_traits/disjunction.hpp b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/disjunction.hpp new file mode 100644 index 0000000000..69de4ae941 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/disjunction.hpp @@ -0,0 +1,53 @@ +/* + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * https://www.boost.org/LICENSE_1_0.txt) + * + * Copyright (c) 2024 Georgiy Guminov + */ +/*! + * \file iterator/detail/type_traits/disjunction.hpp + * + * This header contains definition of \c disjunction type trait. + */ + +#ifndef BOOST_ITERATOR_DETAIL_TYPE_TRAITS_DISJUNCTION_HPP_INCLUDED_ +#define BOOST_ITERATOR_DETAIL_TYPE_TRAITS_DISJUNCTION_HPP_INCLUDED_ + +#include +#include + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#if (defined(__cpp_lib_logical_traits) && (__cpp_lib_logical_traits >= 201510l)) || \ + (defined(BOOST_MSSTL_VERSION) && (BOOST_MSSTL_VERSION >= 140) && (_MSC_FULL_VER >= 190023918) && (BOOST_CXX_VERSION >= 201703l)) + +namespace boost { +namespace iterators { +namespace detail { + +using std::disjunction; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#else + +#include + +namespace boost { +namespace iterators { +namespace detail { + +using boost::disjunction; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#endif + +#endif // BOOST_ITERATOR_DETAIL_TYPE_TRAITS_DISJUNCTION_HPP_INCLUDED_ diff --git a/external/include/boost_1_90_0/boost/iterator/detail/type_traits/negation.hpp b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/negation.hpp new file mode 100644 index 0000000000..f5a2fa94d1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/negation.hpp @@ -0,0 +1,53 @@ +/* + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * https://www.boost.org/LICENSE_1_0.txt) + * + * Copyright (c) 2024 Georgiy Guminov + */ +/*! + * \file iterator/detail/type_traits/negation.hpp + * + * This header contains definition of \c negation type trait. + */ + +#ifndef BOOST_ITERATOR_DETAIL_TYPE_TRAITS_NEGATION_HPP_INCLUDED_ +#define BOOST_ITERATOR_DETAIL_TYPE_TRAITS_NEGATION_HPP_INCLUDED_ + +#include +#include + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#if (defined(__cpp_lib_logical_traits) && (__cpp_lib_logical_traits >= 201510l)) || \ + (defined(BOOST_MSSTL_VERSION) && (BOOST_MSSTL_VERSION >= 140) && (_MSC_FULL_VER >= 190023918) && (BOOST_CXX_VERSION >= 201703l)) + +namespace boost { +namespace iterators { +namespace detail { + +using std::negation; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#else + +#include + +namespace boost { +namespace iterators { +namespace detail { + +using boost::negation; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#endif + +#endif // BOOST_ITERATOR_DETAIL_TYPE_TRAITS_NEGATION_HPP_INCLUDED_ diff --git a/external/include/boost_1_90_0/boost/iterator/detail/type_traits/type_identity.hpp b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/type_identity.hpp new file mode 100644 index 0000000000..9ddb6c1471 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/detail/type_traits/type_identity.hpp @@ -0,0 +1,54 @@ +/* + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * https://www.boost.org/LICENSE_1_0.txt) + * + * Copyright (c) 2025 Andrey Semashev + */ +/*! + * \file iterator/detail/type_traits/type_identity.hpp + * + * This header contains definition of \c negation type trait. + */ + +#ifndef BOOST_ITERATOR_DETAIL_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED_ +#define BOOST_ITERATOR_DETAIL_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED_ + +#include +#include + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +#if (defined(__cpp_lib_type_identity) && (__cpp_lib_type_identity >= 201806l)) || \ + /* Note: MSVC 19.21 does not define _MSVC_LANG to 202002 in c++latest (C++20) mode but to a value larger than 201703 */ \ + (defined(BOOST_MSSTL_VERSION) && (BOOST_MSSTL_VERSION >= 142) && (_MSC_VER >= 1921) && (BOOST_CXX_VERSION > 201703l)) + +namespace boost { +namespace iterators { +namespace detail { + +using std::type_identity; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#else + +#include + +namespace boost { +namespace iterators { +namespace detail { + +using boost::type_identity; + +} // namespace detail +} // namespace iterator +} // namespace boost + +#endif + +#endif // BOOST_ITERATOR_DETAIL_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED_ diff --git a/external/include/boost_1_90_0/boost/iterator/enable_if_convertible.hpp b/external/include/boost_1_90_0/boost/iterator/enable_if_convertible.hpp new file mode 100644 index 0000000000..9bebb5fd42 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/enable_if_convertible.hpp @@ -0,0 +1,84 @@ +/* + * Distributed under the Boost Software License, Version 1.0. + * (See accompanying file LICENSE_1_0.txt or copy at + * https://www.boost.org/LICENSE_1_0.txt) + * + * Copyright (c) 2025 Andrey Semashev + */ + +#ifndef BOOST_ITERATOR_ENABLE_IF_CONVERTIBLE_HPP_INCLUDED_ +#define BOOST_ITERATOR_ENABLE_IF_CONVERTIBLE_HPP_INCLUDED_ + +#include + +namespace boost { +namespace iterators { +namespace detail { + +// +// Result type used in enable_if_convertible meta function. +// This can be an incomplete type, as only pointers to +// enable_if_convertible< ... >::type are used. +// We could have used void for this, but conversion to +// void* is just too easy. +// +struct enable_type; + +} // namespace detail + +// +// enable_if for use in adapted iterators constructors. +// +// In order to provide interoperability between adapted constant and +// mutable iterators, adapted iterators will usually provide templated +// conversion constructors of the following form +// +// template +// class adapted_iterator : +// public iterator_adaptor< adapted_iterator, Iterator > +// { +// public: +// +// ... +// +// template +// adapted_iterator( +// OtherIterator const& it +// , typename enable_if_convertible::type* = 0); +// +// ... +// }; +// +// enable_if_convertible is used to remove those overloads from the overload +// set that cannot be instantiated. For all practical purposes only overloads +// for constant/mutable interaction will remain. This has the advantage that +// meta functions like boost::is_convertible do not return false positives, +// as they can only look at the signature of the conversion constructor +// and not at the actual instantiation. +// +// enable_if_interoperable can be safely used in user code. It falls back to +// always enabled for compilers that don't support enable_if or is_convertible. +// There is no need for compiler specific workarounds in user code. +// +// The operators implementation relies on boost::is_convertible not returning +// false positives for user/library defined iterator types. See comments +// on operator implementation for consequences. +// +template< typename From, typename To > +struct enable_if_convertible : + public std::enable_if< + std::is_convertible< From, To >::value, + boost::iterators::detail::enable_type + > +{}; + +template< typename From, typename To > +using enable_if_convertible_t = typename enable_if_convertible< From, To >::type; + +} // namespace iterators + +using iterators::enable_if_convertible; + +} // namespace boost + +#endif // BOOST_ITERATOR_ENABLE_IF_CONVERTIBLE_HPP_INCLUDED_ diff --git a/external/include/boost_1_90_0/boost/iterator/interoperable.hpp b/external/include/boost_1_90_0/boost/iterator/interoperable.hpp new file mode 100644 index 0000000000..3b9c0b6c6c --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/interoperable.hpp @@ -0,0 +1,42 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// 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) +#ifndef BOOST_INTEROPERABLE_23022003THW_HPP +#define BOOST_INTEROPERABLE_23022003THW_HPP + +#include +#include + +namespace boost { +namespace iterators { + +// +// Meta function that determines whether two +// iterator types are considered interoperable. +// +// Two iterator types A,B are considered interoperable if either +// A is convertible to B or vice versa. +// This interoperability definition is in sync with the +// standards requirements on constant/mutable container +// iterators (23.1 [lib.container.requirements]). +// +// For compilers that don't support is_convertible +// is_interoperable gives false positives. See comments +// on operator implementation for consequences. +// +template< typename A, typename B > +struct is_interoperable : + public detail::disjunction< std::is_convertible< A, B >, std::is_convertible< B, A > > +{ +}; + +} // namespace iterators + +using iterators::is_interoperable; + +} // namespace boost + +#endif // BOOST_INTEROPERABLE_23022003THW_HPP diff --git a/external/include/boost_1_90_0/boost/iterator/iterator_adaptor.hpp b/external/include/boost_1_90_0/boost/iterator/iterator_adaptor.hpp new file mode 100644 index 0000000000..aab9116b1b --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/iterator_adaptor.hpp @@ -0,0 +1,211 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// 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) +#ifndef BOOST_ITERATOR_ADAPTOR_23022003THW_HPP +#define BOOST_ITERATOR_ADAPTOR_23022003THW_HPP + +#include + +#include + +#include +#include +#include +#include // for backward compatibility; remove once downstream users are updated +#include + +#include + +namespace boost { +namespace iterators { + +// Used as a default template argument internally, merely to +// indicate "use the default", this can also be passed by users +// explicitly in order to specify that the default should be used. +using boost::use_default; + +namespace detail { + +// A metafunction which computes an iterator_adaptor's base class, +// a specialization of iterator_facade. +template< + typename Derived, + typename Base, + typename Value, + typename Traversal, + typename Reference, + typename Difference +> +using iterator_adaptor_base_t = iterator_facade< + Derived, + +#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY + detail::eval_if_default_t< + Value, + detail::eval_if_default< + Reference, + iterator_value< Base >, + std::remove_reference< Reference > + > + >, +#else + detail::eval_if_default_t< + Value, + iterator_value< Base > + >, +#endif + + detail::eval_if_default_t< + Traversal, + iterator_traversal< Base > + >, + + detail::eval_if_default_t< + Reference, + detail::eval_if_default< + Value, + iterator_reference< Base >, + std::add_lvalue_reference< Value > + > + >, + + detail::eval_if_default_t< + Difference, + iterator_difference< Base > + > +>; + +} // namespace detail + +// +// Iterator Adaptor +// +// The parameter ordering changed slightly with respect to former +// versions of iterator_adaptor The idea is that when the user needs +// to fiddle with the reference type it is highly likely that the +// iterator category has to be adjusted as well. Any of the +// following four template arguments may be omitted or explicitly +// replaced by use_default. +// +// Value - if supplied, the value_type of the resulting iterator, unless +// const. If const, a conforming compiler strips constness for the +// value_type. If not supplied, iterator_traits::value_type is used +// +// Category - the traversal category of the resulting iterator. If not +// supplied, iterator_traversal::type is used. +// +// Reference - the reference type of the resulting iterator, and in +// particular, the result type of operator*(). If not supplied but +// Value is supplied, Value& is used. Otherwise +// iterator_traits::reference is used. +// +// Difference - the difference_type of the resulting iterator. If not +// supplied, iterator_traits::difference_type is used. +// +template< + typename Derived, + typename Base, + typename Value = use_default, + typename Traversal = use_default, + typename Reference = use_default, + typename Difference = use_default +> +class iterator_adaptor : + public detail::iterator_adaptor_base_t< + Derived, Base, Value, Traversal, Reference, Difference + > +{ + friend class iterator_core_access; + +protected: + using super_t = detail::iterator_adaptor_base_t< + Derived, Base, Value, Traversal, Reference, Difference + >; + +public: + using base_type = Base; + + iterator_adaptor() = default; + + explicit iterator_adaptor(Base const& iter) : + m_iterator(iter) + { + } + + base_type const& base() const { return m_iterator; } + +protected: + // for convenience in derived classes + using iterator_adaptor_ = iterator_adaptor< Derived, Base, Value, Traversal, Reference, Difference >; + + // + // lvalue access to the Base object for Derived + // + Base& base_reference() { return m_iterator; } + Base const& base_reference() const { return m_iterator; } + +private: + // + // Core iterator interface for iterator_facade. This is private + // to prevent temptation for Derived classes to use it, which + // will often result in an error. Derived classes should use + // base_reference(), above, to get direct access to m_iterator. + // + typename super_t::reference dereference() const { return *m_iterator; } + + template< typename OtherDerived, typename OtherIterator, typename V, typename C, typename R, typename D > + bool equal(iterator_adaptor< OtherDerived, OtherIterator, V, C, R, D > const& x) const + { + // Maybe readd with same_distance + // BOOST_STATIC_ASSERT( + // (detail::same_category_and_difference::value) + // ); + return m_iterator == x.base(); + } + + using my_traversal = typename iterator_category_to_traversal< typename super_t::iterator_category >::type; + + void advance(typename super_t::difference_type n) + { + static_assert(detail::is_traversal_at_least< my_traversal, random_access_traversal_tag >::value, + "Iterator must support random access traversal."); + m_iterator += n; + } + + void increment() { ++m_iterator; } + + void decrement() + { + static_assert(detail::is_traversal_at_least< my_traversal, bidirectional_traversal_tag >::value, + "Iterator must support bidirectional traversal."); + --m_iterator; + } + + template< typename OtherDerived, typename OtherIterator, typename V, typename C, typename R, typename D > + typename super_t::difference_type distance_to(iterator_adaptor< OtherDerived, OtherIterator, V, C, R, D > const& y) const + { + static_assert(detail::is_traversal_at_least< my_traversal, random_access_traversal_tag >::value, + "Super iterator must support random access traversal."); + // Maybe readd with same_distance + // BOOST_STATIC_ASSERT( + // (detail::same_category_and_difference::value) + // ); + return y.base() - m_iterator; + } + +private: // data members + Base m_iterator; +}; + +} // namespace iterators + +using iterators::iterator_adaptor; + +} // namespace boost + +#include + +#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP diff --git a/external/include/boost_1_90_0/boost/iterator/iterator_categories.hpp b/external/include/boost_1_90_0/boost/iterator/iterator_categories.hpp new file mode 100644 index 0000000000..12482de0b3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/iterator_categories.hpp @@ -0,0 +1,107 @@ +// (C) Copyright Jeremy Siek 2002. +// 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) + +#ifndef BOOST_ITERATOR_CATEGORIES_HPP +#define BOOST_ITERATOR_CATEGORIES_HPP + +#include +#include + +#include +#include + +namespace boost { +namespace iterators { + +// +// Traversal Categories +// +struct no_traversal_tag {}; +struct incrementable_traversal_tag : public no_traversal_tag {}; +struct single_pass_traversal_tag : public incrementable_traversal_tag {}; +struct forward_traversal_tag : public single_pass_traversal_tag {}; +struct bidirectional_traversal_tag : public forward_traversal_tag {}; +struct random_access_traversal_tag : public bidirectional_traversal_tag {}; + +// +// Convert an iterator category into a traversal tag +// +template< typename Cat > +using iterator_category_to_traversal_t = mp11::mp_cond< + // if already convertible to a traversal tag, we're done. + std::is_convertible< Cat, incrementable_traversal_tag >, Cat, + std::is_convertible< Cat, std::random_access_iterator_tag >, random_access_traversal_tag, + std::is_convertible< Cat, std::bidirectional_iterator_tag >, bidirectional_traversal_tag, + std::is_convertible< Cat, std::forward_iterator_tag >, forward_traversal_tag, + std::is_convertible< Cat, std::input_iterator_tag >, single_pass_traversal_tag, + std::is_convertible< Cat, std::output_iterator_tag >, incrementable_traversal_tag, + std::true_type, void +>; + +template< typename Cat > +struct iterator_category_to_traversal +{ + using type = iterator_category_to_traversal_t< Cat >; +}; + +// Trait to get an iterator's traversal category +template< typename Iterator > +using iterator_traversal_t = iterator_category_to_traversal_t< + typename std::iterator_traits< Iterator >::iterator_category +>; + +template< typename Iterator = mpl::arg< 1 > > +struct iterator_traversal +{ + using type = iterator_traversal_t< Iterator >; +}; + +// +// Convert an iterator traversal to one of the traversal tags. +// +template< typename Traversal > +using pure_traversal_tag_t = mp11::mp_cond< + std::is_convertible< Traversal, random_access_traversal_tag >, random_access_traversal_tag, + std::is_convertible< Traversal, bidirectional_traversal_tag >, bidirectional_traversal_tag, + std::is_convertible< Traversal, forward_traversal_tag >, forward_traversal_tag, + std::is_convertible< Traversal, single_pass_traversal_tag >, single_pass_traversal_tag, + std::is_convertible< Traversal, incrementable_traversal_tag >, incrementable_traversal_tag, + std::true_type, void +>; + +template< typename Traversal > +struct pure_traversal_tag +{ + using type = pure_traversal_tag_t< Traversal >; +}; + +// +// Trait to retrieve one of the iterator traversal tags from the iterator category or traversal. +// +template< typename Iterator > +using pure_iterator_traversal_t = pure_traversal_tag_t< + iterator_traversal_t< Iterator > +>; + +template< typename Iterator = mpl::arg< 1 > > +struct pure_iterator_traversal +{ + using type = pure_iterator_traversal_t< Iterator >; +}; + +} // namespace iterators + +using iterators::no_traversal_tag; +using iterators::incrementable_traversal_tag; +using iterators::single_pass_traversal_tag; +using iterators::forward_traversal_tag; +using iterators::bidirectional_traversal_tag; +using iterators::random_access_traversal_tag; +using iterators::iterator_category_to_traversal; +using iterators::iterator_traversal; + +} // namespace boost + +#endif // BOOST_ITERATOR_CATEGORIES_HPP diff --git a/external/include/boost_1_90_0/boost/iterator/iterator_facade.hpp b/external/include/boost_1_90_0/boost/iterator/iterator_facade.hpp new file mode 100644 index 0000000000..52d464dd65 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/iterator_facade.hpp @@ -0,0 +1,889 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// 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) +#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP +#define BOOST_ITERATOR_FACADE_23022003THW_HPP + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include + +namespace boost { +namespace iterators { + +// This forward declaration is required for the friend declaration +// in iterator_core_access +template< + typename Derived, + typename Value, + typename CategoryOrTraversal, + typename Reference = Value&, + typename Difference = std::ptrdiff_t +> +class iterator_facade; + +namespace detail { + +// The type trait checks if the category or traversal is at least as advanced as the specified required traversal +template< typename CategoryOrTraversal, typename Required > +struct is_traversal_at_least : + public std::is_convertible< typename iterator_category_to_traversal< CategoryOrTraversal >::type, Required > +{}; + +// +// enable if for use in operator implementation. +// +template< + typename Facade1, + typename Facade2, + typename Return +> +struct enable_if_interoperable : + public std::enable_if< + is_interoperable< Facade1, Facade2 >::value, + Return + > +{}; + +// +// enable if for use in implementation of operators specific for random access traversal. +// +template< + typename Facade1, + typename Facade2, + typename Return +> +struct enable_if_interoperable_and_random_access_traversal : + public std::enable_if< + detail::conjunction< + is_interoperable< Facade1, Facade2 >, + is_traversal_at_least< typename iterator_category< Facade1 >::type, random_access_traversal_tag >, + is_traversal_at_least< typename iterator_category< Facade2 >::type, random_access_traversal_tag > + >::value, + Return + > +{}; + +// +// Generates associated types for an iterator_facade with the +// given parameters. +// +template< + typename ValueParam, + typename CategoryOrTraversal, + typename Reference, + typename Difference +> +struct iterator_facade_types +{ + using iterator_category = typename facade_iterator_category< + CategoryOrTraversal, ValueParam, Reference + >::type; + + using value_type = typename std::remove_const< ValueParam >::type; + + // Not the real associated pointer type + using pointer = typename std::add_pointer< + typename std::conditional< + boost::iterators::detail::iterator_writability_disabled< ValueParam, Reference >::value, + const value_type, + value_type + >::type + >::type; +}; + +// iterators whose dereference operators reference the same value +// for all iterators into the same sequence (like many input +// iterators) need help with their postfix ++: the referenced +// value must be read and stored away before the increment occurs +// so that *a++ yields the originally referenced element and not +// the next one. +template< typename Iterator > +class postfix_increment_proxy +{ + using value_type = typename iterator_value< Iterator >::type; + +public: + explicit postfix_increment_proxy(Iterator const& x) : + stored_iterator(x), + stored_value(*x) + {} + + // Returning a mutable reference allows nonsense like + // (*r++).mutate(), but it imposes fewer assumptions about the + // behavior of the value_type. In particular, recall that + // (*r).mutate() is legal if operator* returns by value. + // Provides readability of *r++ + value_type& operator*() const + { + return stored_value; + } + + // Provides X(r++) + operator Iterator const&() const + { + return stored_iterator; + } + + // Provides (r++)->foo() + value_type* operator->() const + { + return std::addressof(stored_value); + } + +private: + Iterator stored_iterator; + mutable value_type stored_value; +}; + + +template< typename Iterator > +class writable_postfix_increment_dereference_proxy; + +template< typename T > +struct is_not_writable_postfix_increment_dereference_proxy : + public std::true_type +{}; + +template< typename Iterator > +struct is_not_writable_postfix_increment_dereference_proxy< + writable_postfix_increment_dereference_proxy< Iterator > +> : + public std::false_type +{}; + +template< typename Iterator > +class writable_postfix_increment_proxy; + +// +// In general, we can't determine that such an iterator isn't +// writable -- we also need to store a copy of the old iterator so +// that it can be written into. +template< typename Iterator > +class writable_postfix_increment_dereference_proxy +{ + friend class writable_postfix_increment_proxy< Iterator >; + + using value_type = typename iterator_value< Iterator >::type; + +public: + explicit writable_postfix_increment_dereference_proxy(Iterator const& x) : + stored_iterator(x), + stored_value(*x) + {} + + // Provides readability of *r++ + operator value_type&() const + { + return this->stored_value; + } + + template< typename OtherIterator > + writable_postfix_increment_dereference_proxy const& + operator=(writable_postfix_increment_dereference_proxy< OtherIterator > const& x) const + { + typedef typename iterator_value< OtherIterator >::type other_value_type; + *this->stored_iterator = static_cast< other_value_type& >(x); + return *this; + } + + // Provides writability of *r++ + template< typename T > + typename std::enable_if< + is_not_writable_postfix_increment_dereference_proxy< T >::value, + writable_postfix_increment_dereference_proxy const& + >::type operator=(T&& x) const + { + *this->stored_iterator = static_cast< T&& >(x); + return *this; + } + +private: + Iterator stored_iterator; + mutable value_type stored_value; +}; + +template< typename Iterator > +class writable_postfix_increment_proxy +{ + using value_type = typename iterator_value< Iterator >::type; + +public: + explicit writable_postfix_increment_proxy(Iterator const& x) : + dereference_proxy(x) + {} + + writable_postfix_increment_dereference_proxy< Iterator > const& + operator*() const + { + return dereference_proxy; + } + + // Provides X(r++) + operator Iterator const&() const + { + return dereference_proxy.stored_iterator; + } + + // Provides (r++)->foo() + value_type* operator->() const + { + return std::addressof(dereference_proxy.stored_value); + } + +private: + writable_postfix_increment_dereference_proxy< Iterator > dereference_proxy; +}; + +template< typename Reference, typename Value > +struct is_non_proxy_reference : + public std::is_convertible< + typename std::remove_reference< Reference >::type const volatile*, + Value const volatile* + > +{}; + +// A metafunction to choose the result type of postfix ++ +// +// Because the C++98 input iterator requirements say that *r++ has +// type T (value_type), implementations of some standard +// algorithms like lexicographical_compare may use constructions +// like: +// +// *r++ < *s++ +// +// If *r++ returns a proxy (as required if r is writable but not +// multipass), this sort of expression will fail unless the proxy +// supports the operator<. Since there are any number of such +// operations, we're not going to try to support them. Therefore, +// even if r++ returns a proxy, *r++ will only return a proxy if +// *r also returns a proxy. +template< typename Iterator, typename Value, typename Reference, typename CategoryOrTraversal > +struct postfix_increment_result +{ + using type = mp11::mp_eval_if_not< + detail::conjunction< + // A proxy is only needed for readable iterators + std::is_convertible< + Reference, + // Use add_lvalue_reference to form `reference to Value` due to + // some (strict) C++03 compilers (e.g. `gcc -std=c++03`) reject + // 'reference-to-reference' in the template which described in CWG + // DR106. + // http://www.open-std.org/Jtc1/sc22/wg21/docs/cwg_defects.html#106 + typename std::add_lvalue_reference< Value const >::type + >, + + // No multipass iterator can have values that disappear + // before positions can be re-visited + detail::negation< + detail::is_traversal_at_least< CategoryOrTraversal, forward_traversal_tag > + > + >, + Iterator, + mp11::mp_if, + is_non_proxy_reference< Reference, Value >, + postfix_increment_proxy< Iterator >, + writable_postfix_increment_proxy< Iterator > + >; +}; + +// operator->() needs special support for input iterators to strictly meet the +// standard's requirements. If *i is not a reference type, we must still +// produce an lvalue to which a pointer can be formed. We do that by +// returning a proxy object containing an instance of the reference object. +template< typename Reference, typename Pointer > +struct operator_arrow_dispatch // proxy references +{ + struct proxy + { + explicit proxy(Reference const& x) : m_ref(x) {} + Reference* operator->() { return std::addressof(m_ref); } + // This function is needed for MWCW and BCC, which won't call + // operator-> again automatically per 13.3.1.2 para 8 + operator Reference*() { return std::addressof(m_ref); } + Reference m_ref; + }; + + using result_type = proxy; + + static result_type apply(Reference const& x) + { + return result_type(x); + } +}; + +template< typename T, typename Pointer > +struct operator_arrow_dispatch< T&, Pointer > // "real" references +{ + using result_type = Pointer; + + static result_type apply(T& x) + { + return std::addressof(x); + } +}; + +// A proxy return type for operator[], needed to deal with +// iterators that may invalidate referents upon destruction. +// Consider the temporary iterator in *(a + n) +template< typename Iterator > +class operator_brackets_proxy +{ + // Iterator is actually an iterator_facade, so we do not have to + // go through iterator_traits to access the traits. + using reference = typename Iterator::reference; + +public: + explicit operator_brackets_proxy(Iterator const& iter) noexcept(std::is_nothrow_copy_constructible< Iterator >::value) : + m_iter(iter) + {} + + operator reference() const noexcept(noexcept(*std::declval< Iterator const& >())) + { + return *m_iter; + } + + template< typename T > + typename std::enable_if< + detail::conjunction< + detail::negation< + std::is_same< + operator_brackets_proxy< Iterator >, + typename std::remove_cv< typename std::remove_reference< T >::type >::type + > + >, + std::is_assignable< reference, T&& > + >::value, + operator_brackets_proxy& + >::type operator= (T&& val) noexcept(noexcept(*std::declval< Iterator& >() = std::declval< T&& >())) + { + *m_iter = static_cast< T&& >(val); + return *this; + } + + // Provides it[n]->foo(). Leverages chaining of operator->. + reference operator->() const noexcept(noexcept(*std::declval< Iterator const& >())) + { + return *m_iter; + } + + // Provides (*it[n]).foo() + template< typename Ref = reference, typename Result = decltype(*std::declval< Ref >()) > + Result operator*() const noexcept(noexcept(**std::declval< Iterator const& >())) + { + return **m_iter; + } + +private: + Iterator m_iter; +}; + +// A binary metafunction class that always returns bool. +template< typename Iterator1, typename Iterator2 > +using always_bool_t = bool; + +template< typename Iterator1, typename Iterator2 > +using choose_difference_type_t = typename std::conditional< + std::is_convertible< Iterator2, Iterator1 >::value, + iterator_difference< Iterator1 >, + iterator_difference< Iterator2 > +>::type::type; + +template< + typename Derived, + typename Value, + typename CategoryOrTraversal, + typename Reference, + typename Difference, + bool IsBidirectionalTraversal, + bool IsRandomAccessTraversal +> +class iterator_facade_base; + +} // namespace detail + + +// Macros which describe the declarations of binary operators +#define BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, enabler) \ + template< \ + typename Derived1, typename V1, typename TC1, typename Reference1, typename Difference1, \ + typename Derived2, typename V2, typename TC2, typename Reference2, typename Difference2 \ + > \ + prefix typename enabler< \ + Derived1, Derived2, \ + result_type< Derived1, Derived2 > \ + >::type \ + operator op( \ + iterator_facade< Derived1, V1, TC1, Reference1, Difference1 > const& lhs, \ + iterator_facade< Derived2, V2, TC2, Reference2, Difference2 > const& rhs) + +#define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type) \ + BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, boost::iterators::detail::enable_if_interoperable) + +#define BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(prefix, op, result_type) \ + BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL(prefix, op, result_type, boost::iterators::detail::enable_if_interoperable_and_random_access_traversal) + +#define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args) \ + template< typename Derived, typename V, typename TC, typename R, typename D > \ + prefix typename std::enable_if< \ + boost::iterators::detail::is_traversal_at_least< \ + TC, \ + boost::iterators::random_access_traversal_tag \ + >::value, \ + Derived \ + >::type operator+ args + +// +// Helper class for granting access to the iterator core interface. +// +// The simple core interface is used by iterator_facade. The core +// interface of a user/library defined iterator type should not be made public +// so that it does not clutter the public interface. Instead iterator_core_access +// should be made friend so that iterator_facade can access the core +// interface through iterator_core_access. +// +class iterator_core_access +{ + template< typename I, typename V, typename TC, typename R, typename D > + friend class iterator_facade; + template< typename I, typename V, typename TC, typename R, typename D, bool IsBidirectionalTraversal, bool IsRandomAccessTraversal > + friend class detail::iterator_facade_base; + +#define BOOST_ITERATOR_FACADE_RELATION(op) \ + BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend, op, boost::iterators::detail::always_bool_t); + + BOOST_ITERATOR_FACADE_RELATION(==) + BOOST_ITERATOR_FACADE_RELATION(!=) + +#undef BOOST_ITERATOR_FACADE_RELATION + +#define BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(op) \ + BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(friend, op, boost::iterators::detail::always_bool_t); + + BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<) + BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>) + BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<=) + BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>=) + +#undef BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION + + BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(friend, -, boost::iterators::detail::choose_difference_type_t); + + BOOST_ITERATOR_FACADE_PLUS_HEAD( + friend inline, + (iterator_facade< Derived, V, TC, R, D > const&, typename Derived::difference_type) + ); + + BOOST_ITERATOR_FACADE_PLUS_HEAD( + friend inline, + (typename Derived::difference_type, iterator_facade< Derived, V, TC, R, D > const&) + ); + + template< typename Facade > + static typename Facade::reference dereference(Facade const& f) + { + return f.dereference(); + } + + template< typename Facade > + static void increment(Facade& f) + { + f.increment(); + } + + template< typename Facade > + static void decrement(Facade& f) + { + f.decrement(); + } + + template< typename Facade1, typename Facade2 > + static bool equal(Facade1 const& f1, Facade2 const& f2, std::true_type) + { + return f1.equal(f2); + } + + template< typename Facade1, typename Facade2 > + static bool equal(Facade1 const& f1, Facade2 const& f2, std::false_type) + { + return f2.equal(f1); + } + + template< typename Facade > + static void advance(Facade& f, typename Facade::difference_type n) + { + f.advance(n); + } + + template< typename Facade1, typename Facade2 > + static typename Facade1::difference_type distance_from(Facade1 const& f1, Facade2 const& f2, std::true_type) + { + return -f1.distance_to(f2); + } + + template< typename Facade1, typename Facade2 > + static typename Facade2::difference_type distance_from(Facade1 const& f1, Facade2 const& f2, std::false_type) + { + return f2.distance_to(f1); + } + + // + // Curiously Recurring Template interface. + // + template< typename I, typename V, typename TC, typename R, typename D > + static I& derived(iterator_facade< I, V, TC, R, D >& facade) + { + return *static_cast< I* >(&facade); + } + + template< typename I, typename V, typename TC, typename R, typename D > + static I const& derived(iterator_facade< I, V, TC, R, D > const& facade) + { + return *static_cast< I const* >(&facade); + } + + // objects of this class are useless + iterator_core_access() = delete; +}; + +namespace detail { + +// Implementation for forward traversal iterators +template< + typename Derived, + typename Value, + typename CategoryOrTraversal, + typename Reference, + typename Difference +> +class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false > +{ +private: + using associated_types = boost::iterators::detail::iterator_facade_types< + Value, CategoryOrTraversal, Reference, Difference + >; + + using operator_arrow_dispatch_ = boost::iterators::detail::operator_arrow_dispatch< + Reference, + typename associated_types::pointer + >; + +public: + using value_type = typename associated_types::value_type; + using reference = Reference; + using difference_type = Difference; + + using pointer = typename operator_arrow_dispatch_::result_type; + + using iterator_category = typename associated_types::iterator_category; + +public: + reference operator*() const + { + return iterator_core_access::dereference(this->derived()); + } + + pointer operator->() const + { + return operator_arrow_dispatch_::apply(*this->derived()); + } + + Derived& operator++() + { + iterator_core_access::increment(this->derived()); + return this->derived(); + } + +protected: + // + // Curiously Recurring Template interface. + // + Derived& derived() + { + return *static_cast< Derived* >(this); + } + + Derived const& derived() const + { + return *static_cast< Derived const* >(this); + } +}; + +// Implementation for bidirectional traversal iterators +template< + typename Derived, + typename Value, + typename CategoryOrTraversal, + typename Reference, + typename Difference +> +class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > : + public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, false, false > +{ +public: + Derived& operator--() + { + iterator_core_access::decrement(this->derived()); + return this->derived(); + } + + Derived operator--(int) + { + Derived tmp(this->derived()); + --*this; + return tmp; + } +}; + +// Implementation for random access traversal iterators +template< + typename Derived, + typename Value, + typename CategoryOrTraversal, + typename Reference, + typename Difference +> +class iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, true > : + public iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false > +{ +private: + using base_type = iterator_facade_base< Derived, Value, CategoryOrTraversal, Reference, Difference, true, false >; + +public: + using reference = typename base_type::reference; + using difference_type = typename base_type::difference_type; + +public: + operator_brackets_proxy< Derived > operator[](difference_type n) const + { + return operator_brackets_proxy< Derived >(this->derived() + n); + } + + Derived& operator+=(difference_type n) + { + iterator_core_access::advance(this->derived(), n); + return this->derived(); + } + + Derived& operator-=(difference_type n) + { + iterator_core_access::advance(this->derived(), -n); + return this->derived(); + } + + Derived operator-(difference_type x) const + { + Derived result(this->derived()); + return result -= x; + } +}; + +} // namespace detail + +// +// iterator_facade - use as a public base class for defining new +// standard-conforming iterators. +// +template< + typename Derived, // The derived iterator type being constructed + typename Value, + typename CategoryOrTraversal, + typename Reference, + typename Difference +> +class iterator_facade : + public detail::iterator_facade_base< + Derived, + Value, + CategoryOrTraversal, + Reference, + Difference, + detail::is_traversal_at_least< CategoryOrTraversal, bidirectional_traversal_tag >::value, + detail::is_traversal_at_least< CategoryOrTraversal, random_access_traversal_tag >::value + > +{ +protected: + // For use by derived classes + using iterator_facade_ = iterator_facade< Derived, Value, CategoryOrTraversal, Reference, Difference >; +}; + +template< typename I, typename V, typename TC, typename R, typename D > +inline typename boost::iterators::detail::postfix_increment_result< I, V, R, TC >::type +operator++(iterator_facade< I, V, TC, R, D >& i, int) +{ + typename boost::iterators::detail::postfix_increment_result< I, V, R, TC >::type + tmp(*static_cast< I* >(&i)); + + ++i; + + return tmp; +} + + +// +// Comparison operator implementation. The library supplied operators +// enables the user to provide fully interoperable constant/mutable +// iterator types. I.e. the library provides all operators +// for all mutable/constant iterator combinations. +// +// Note though that this kind of interoperability for constant/mutable +// iterators is not required by the standard for container iterators. +// All the standard asks for is a conversion mutable -> constant. +// Most standard library implementations nowadays provide fully interoperable +// iterator implementations, but there are still heavily used implementations +// that do not provide them. (Actually it's even worse, they do not provide +// them for only a few iterators.) +// +// ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should +// enable the user to turn off mixed type operators +// +// The library takes care to provide only the right operator overloads. +// I.e. +// +// bool operator==(Iterator, Iterator); +// bool operator==(ConstIterator, Iterator); +// bool operator==(Iterator, ConstIterator); +// bool operator==(ConstIterator, ConstIterator); +// +// ... +// +// In order to do so it uses c++ idioms that are not yet widely supported +// by current compiler releases. The library is designed to degrade gracefully +// in the face of compiler deficiencies. In general compiler +// deficiencies result in less strict error checking and more obscure +// error messages, functionality is not affected. +// +// For full operation compiler support for "Substitution Failure Is Not An Error" +// (aka. enable_if) and boost::is_convertible is required. +// +// The following problems occur if support is lacking. +// +// Pseudo code +// +// --------------- +// AdaptorA a1; +// AdaptorA a2; +// +// // This will result in a no such overload error in full operation +// // If enable_if or is_convertible is not supported +// // The instantiation will fail with an error hopefully indicating that +// // there is no operator== for Iterator1, Iterator2 +// // The same will happen if no enable_if is used to remove +// // false overloads from the templated conversion constructor +// // of AdaptorA. +// +// a1 == a2; +// ---------------- +// +// AdaptorA a; +// AdaptorB b; +// +// // This will result in a no such overload error in full operation +// // If enable_if is not supported the static assert used +// // in the operator implementation will fail. +// // This will accidently work if is_convertible is not supported. +// +// a == b; +// ---------------- +// + +#define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \ + BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type) \ + { \ + return_prefix iterator_core_access::base_op( \ + *static_cast< Derived1 const* >(&lhs), \ + *static_cast< Derived2 const* >(&rhs), \ + std::integral_constant< bool, std::is_convertible< Derived2, Derived1 >::value >() \ + ); \ + } + +#define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \ + BOOST_ITERATOR_FACADE_INTEROP( \ + op, \ + boost::iterators::detail::always_bool_t, \ + return_prefix, \ + base_op \ + ) + +BOOST_ITERATOR_FACADE_RELATION(==, return, equal) +BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal) + +#undef BOOST_ITERATOR_FACADE_RELATION + + +#define BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(op, result_type, return_prefix, base_op) \ + BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD(inline, op, result_type) \ + { \ + return_prefix iterator_core_access::base_op( \ + *static_cast< Derived1 const* >(&lhs), \ + *static_cast< Derived2 const* >(&rhs), \ + std::integral_constant< bool, std::is_convertible< Derived2, Derived1 >::value >() \ + ); \ + } + +#define BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(op, return_prefix, base_op) \ + BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS( \ + op, \ + boost::iterators::detail::always_bool_t, \ + return_prefix, \ + base_op \ + ) + +BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<, return 0 >, distance_from) +BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>, return 0 <, distance_from) +BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<=, return 0 >=, distance_from) +BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>=, return 0 <=, distance_from) + +#undef BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION + +// operator- requires an additional part in the static assertion +BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS( + -, + boost::iterators::detail::choose_difference_type_t, + return, + distance_from +) + +#undef BOOST_ITERATOR_FACADE_INTEROP +#undef BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS + +#define BOOST_ITERATOR_FACADE_PLUS(args) \ + BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args) \ + { \ + Derived tmp(static_cast< Derived const& >(i)); \ + return tmp += n; \ + } + +BOOST_ITERATOR_FACADE_PLUS((iterator_facade< Derived, V, TC, R, D > const& i, typename Derived::difference_type n)) +BOOST_ITERATOR_FACADE_PLUS((typename Derived::difference_type n, iterator_facade< Derived, V, TC, R, D > const& i)) + +#undef BOOST_ITERATOR_FACADE_PLUS +#undef BOOST_ITERATOR_FACADE_PLUS_HEAD + +#undef BOOST_ITERATOR_FACADE_INTEROP_HEAD +#undef BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS_HEAD +#undef BOOST_ITERATOR_FACADE_INTEROP_HEAD_IMPL + +} // namespace iterators + +using iterators::iterator_core_access; +using iterators::iterator_facade; + +} // namespace boost + +#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP diff --git a/external/include/boost_1_90_0/boost/iterator/iterator_traits.hpp b/external/include/boost_1_90_0/boost/iterator/iterator_traits.hpp new file mode 100644 index 0000000000..d7f29bd0e5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/iterator_traits.hpp @@ -0,0 +1,68 @@ +// Copyright David Abrahams 2003. +// 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) +#ifndef ITERATOR_TRAITS_DWA200347_HPP +#define ITERATOR_TRAITS_DWA200347_HPP + +#include + +namespace boost { +namespace iterators { + +template< typename Iterator > +using iterator_value_t = typename std::iterator_traits< Iterator >::value_type; + +template< typename Iterator > +struct iterator_value +{ + using type = iterator_value_t< Iterator >; +}; + +template< typename Iterator > +using iterator_reference_t = typename std::iterator_traits< Iterator >::reference; + +template< typename Iterator > +struct iterator_reference +{ + using type = iterator_reference_t< Iterator >; +}; + +template< typename Iterator > +using iterator_pointer_t = typename std::iterator_traits< Iterator >::pointer; + +template< typename Iterator > +struct iterator_pointer +{ + using type = iterator_pointer_t< Iterator >; +}; + +template< typename Iterator > +using iterator_difference_t = typename std::iterator_traits< Iterator >::difference_type; + +template< typename Iterator > +struct iterator_difference +{ + using type = iterator_difference_t< Iterator >; +}; + +template< typename Iterator > +using iterator_category_t = typename std::iterator_traits< Iterator >::iterator_category; + +template< typename Iterator > +struct iterator_category +{ + using type = iterator_category_t< Iterator >; +}; + +} // namespace iterators + +using iterators::iterator_value; +using iterators::iterator_reference; +using iterators::iterator_pointer; +using iterators::iterator_difference; +using iterators::iterator_category; + +} // namespace boost + +#endif // ITERATOR_TRAITS_DWA200347_HPP diff --git a/external/include/boost_1_90_0/boost/iterator/reverse_iterator.hpp b/external/include/boost_1_90_0/boost/iterator/reverse_iterator.hpp new file mode 100644 index 0000000000..be894ac715 --- /dev/null +++ b/external/include/boost_1_90_0/boost/iterator/reverse_iterator.hpp @@ -0,0 +1,76 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// 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) +#ifndef BOOST_ITERATOR_REVERSE_ITERATOR_23022003THW_HPP +#define BOOST_ITERATOR_REVERSE_ITERATOR_23022003THW_HPP + +#include +#include + +namespace boost { +namespace iterators { + +template< typename Iterator > +class reverse_iterator : + public iterator_adaptor< reverse_iterator< Iterator >, Iterator > +{ + friend class iterator_core_access; + +private: + using super_t = iterator_adaptor< reverse_iterator< Iterator >, Iterator >; + +public: + reverse_iterator() = default; + + explicit reverse_iterator(Iterator x) : + super_t(x) + {} + + template< + typename OtherIterator, + typename = enable_if_convertible_t< OtherIterator, Iterator > + > + reverse_iterator(reverse_iterator< OtherIterator > const& r) : + super_t(r.base()) + {} + +private: + typename super_t::reference dereference() const + { + Iterator it = this->base_reference(); + --it; + return *it; + } + + void increment() { --this->base_reference(); } + void decrement() { ++this->base_reference(); } + + void advance(typename super_t::difference_type n) + { + this->base_reference() -= n; + } + + template< typename OtherIterator > + typename super_t::difference_type distance_to(reverse_iterator< OtherIterator > const& y) const + { + return this->base_reference() - y.base(); + } +}; + +template< typename Iterator > +inline reverse_iterator< Iterator > make_reverse_iterator(Iterator x) +{ + return reverse_iterator< Iterator >(x); +} + +} // namespace iterators + +using iterators::reverse_iterator; +using iterators::make_reverse_iterator; + +} // namespace boost + +#endif // BOOST_ITERATOR_REVERSE_ITERATOR_23022003THW_HPP diff --git a/external/include/boost_1_90_0/boost/limits.hpp b/external/include/boost_1_90_0/boost/limits.hpp new file mode 100644 index 0000000000..8d02f92c89 --- /dev/null +++ b/external/include/boost_1_90_0/boost/limits.hpp @@ -0,0 +1,146 @@ + +// (C) Copyright John maddock 1999. +// (C) David Abrahams 2002. 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) +// +// use this header as a workaround for missing + +// See http://www.boost.org/libs/compatibility/index.html for documentation. + +#ifndef BOOST_LIMITS +#define BOOST_LIMITS + +#include + +#ifdef BOOST_NO_LIMITS +# error "There is no std::numeric_limits suppport available." +#else +# include +#endif + +#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ + || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) +// Add missing specializations for numeric_limits: +#ifdef BOOST_HAS_MS_INT64 +# define BOOST_LLT __int64 +# define BOOST_ULLT unsigned __int64 +#else +# define BOOST_LLT ::boost::long_long_type +# define BOOST_ULLT ::boost::ulong_long_type +#endif + +#include // for CHAR_BIT + +namespace std +{ + template<> + class numeric_limits + { + public: + + BOOST_STATIC_CONSTANT(bool, is_specialized = true); +#ifdef BOOST_HAS_MS_INT64 + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } +#elif defined(LLONG_MAX) + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } +#elif defined(LONGLONG_MAX) + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } +#else + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } +#endif + BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); + BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); + BOOST_STATIC_CONSTANT(bool, is_signed = true); + BOOST_STATIC_CONSTANT(bool, is_integer = true); + BOOST_STATIC_CONSTANT(bool, is_exact = true); + BOOST_STATIC_CONSTANT(int, radix = 2); + static BOOST_LLT epsilon() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_LLT round_error() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + + BOOST_STATIC_CONSTANT(int, min_exponent = 0); + BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); + BOOST_STATIC_CONSTANT(int, max_exponent = 0); + BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); + + BOOST_STATIC_CONSTANT(bool, has_infinity = false); + BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_denorm = false); + BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); + static BOOST_LLT infinity() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_LLT quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_LLT signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_LLT denorm_min() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + + BOOST_STATIC_CONSTANT(bool, is_iec559 = false); + BOOST_STATIC_CONSTANT(bool, is_bounded = true); + BOOST_STATIC_CONSTANT(bool, is_modulo = true); + + BOOST_STATIC_CONSTANT(bool, traps = false); + BOOST_STATIC_CONSTANT(bool, tinyness_before = false); + BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); + + }; + + template<> + class numeric_limits + { + public: + + BOOST_STATIC_CONSTANT(bool, is_specialized = true); +#ifdef BOOST_HAS_MS_INT64 + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } +#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } +#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } +#else + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } +#endif + BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); + BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); + BOOST_STATIC_CONSTANT(bool, is_signed = false); + BOOST_STATIC_CONSTANT(bool, is_integer = true); + BOOST_STATIC_CONSTANT(bool, is_exact = true); + BOOST_STATIC_CONSTANT(int, radix = 2); + static BOOST_ULLT epsilon() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_ULLT round_error() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + + BOOST_STATIC_CONSTANT(int, min_exponent = 0); + BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); + BOOST_STATIC_CONSTANT(int, max_exponent = 0); + BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); + + BOOST_STATIC_CONSTANT(bool, has_infinity = false); + BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_denorm = false); + BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); + static BOOST_ULLT infinity() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_ULLT quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_ULLT signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + static BOOST_ULLT denorm_min() BOOST_NOEXCEPT_OR_NOTHROW { return 0; }; + + BOOST_STATIC_CONSTANT(bool, is_iec559 = false); + BOOST_STATIC_CONSTANT(bool, is_bounded = true); + BOOST_STATIC_CONSTANT(bool, is_modulo = true); + + BOOST_STATIC_CONSTANT(bool, traps = false); + BOOST_STATIC_CONSTANT(bool, tinyness_before = false); + BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); + + }; +} +#endif + +#endif + diff --git a/external/include/boost_1_90_0/boost/mp11/algorithm.hpp b/external/include/boost_1_90_0/boost/mp11/algorithm.hpp new file mode 100644 index 0000000000..ba19bc4bb9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/algorithm.hpp @@ -0,0 +1,1353 @@ +#ifndef BOOST_MP11_ALGORITHM_HPP_INCLUDED +#define BOOST_MP11_ALGORITHM_HPP_INCLUDED + +// Copyright 2015-2019 Peter Dimov +// +// 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 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma push_macro( "I" ) +# undef I +#endif + +namespace boost +{ +namespace mp11 +{ + +// mp_transform +namespace detail +{ + +template class F, class... L> struct mp_transform_impl +{ +}; + +template class F, template class L, class... T> struct mp_transform_impl> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + + template struct f { using type = F; }; + + using type = L::type...>; + +#else + + using type = L...>; + +#endif +}; + +template class F, template class L1, class... T1, template class L2, class... T2> struct mp_transform_impl, L2> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + + template struct f { using type = F; }; + + using type = L1::type...>; + +#else + + using type = L1...>; + +#endif +}; + +template class F, template class L1, class... T1, template class L2, class... T2, template class L3, class... T3> struct mp_transform_impl, L2, L3> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + + template struct f { using type = F; }; + + using type = L1::type...>; + +#else + + using type = L1...>; + +#endif +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class F, template class L, auto... A> struct mp_transform_impl> +{ + using type = L< F< mp_value >::value... >; +}; + +template class F, template class L1, auto... A1, template class L2, auto... A2> struct mp_transform_impl, L2> +{ + using type = L1< F< mp_value, mp_value >::value... >; +}; + +template class F, template class L1, auto... A1, template class L2, auto... A2, template class L3, auto... A3> struct mp_transform_impl, L2, L3> +{ + using type = L1< F< mp_value, mp_value, mp_value >::value... >; +}; + +#endif + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1900 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 40800 ) + +template using mp_same_size_1 = mp_same...>; +template struct mp_same_size_2: mp_defer {}; + +#endif + +struct list_size_mismatch +{ +}; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template class F, class... L> struct mp_transform_cuda_workaround +{ + using type = mp_if...>, detail::mp_transform_impl, detail::list_size_mismatch>; +}; + +#endif + +} // namespace detail + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1900 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 40800 ) + +template class F, class... L> using mp_transform = typename mp_if::type, detail::mp_transform_impl, detail::list_size_mismatch>::type; + +#else + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template class F, class... L> using mp_transform = typename detail::mp_transform_cuda_workaround< F, L...>::type::type; + +#else + +template class F, class... L> using mp_transform = typename mp_if...>, detail::mp_transform_impl, detail::list_size_mismatch>::type; + +#endif + +#endif + +template using mp_transform_q = mp_transform; + +namespace detail +{ + +template class F, template class L1, class... T1, template class L2, class... T2, template class L3, class... T3, template class L4, class... T4, class... L> struct mp_transform_impl, L2, L3, L4, L...> +{ + using A1 = L1...>; + + template using _f = mp_transform; + + using A2 = mp_fold, A1, _f>; + + template using _g = mp_apply; + + using type = mp_transform<_g, A2>; +}; + +} // namespace detail + +// mp_transform_if +namespace detail +{ + +template class P, template class F, class... L> struct mp_transform_if_impl +{ + // the stupid quote-unquote dance avoids "pack expansion used as argument for non-pack parameter of alias template" + + using Qp = mp_quote

; + using Qf = mp_quote; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + + template struct _f_ { using type = mp_eval_if_q>, mp_first>, Qf, U...>; }; + template using _f = typename _f_::type; + +#else + + template using _f = mp_eval_if_q>, mp_first>, Qf, U...>; + +#endif + + using type = mp_transform<_f, L...>; +}; + +} // namespace detail + +template class P, template class F, class... L> using mp_transform_if = typename detail::mp_transform_if_impl::type; +template using mp_transform_if_q = typename detail::mp_transform_if_impl::type; + +// mp_filter +namespace detail +{ + +template class P, class L1, class... L> struct mp_filter_impl +{ + using Qp = mp_quote

; + + template using _f = mp_if< mp_invoke_q, mp_list, mp_list<> >; + + using _t1 = mp_transform<_f, L1, L...>; + using _t2 = mp_apply; + + using type = mp_assign; +}; + +} // namespace detail + +template class P, class... L> using mp_filter = typename detail::mp_filter_impl::type; +template using mp_filter_q = typename detail::mp_filter_impl::type; + +// mp_fill +namespace detail +{ + +template struct mp_fill_impl +{ +// An error "no type named 'type'" here means that the L argument of mp_fill is not a list +}; + +template class L, class... T, class V> struct mp_fill_impl, V> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1900 ) + + template struct _f { using type = V; }; + using type = L::type...>; + +#else + + template using _f = V; + using type = L<_f...>; + +#endif +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A, class V> struct mp_fill_impl, V> +{ + using type = L<((void)A, V::value)...>; +}; + +#endif + +} // namespace detail + +template using mp_fill = typename detail::mp_fill_impl::type; + +// mp_contains +template using mp_contains = mp_to_bool>; + +// mp_repeat(_c) +namespace detail +{ + +template struct mp_repeat_c_impl +{ + using _l1 = typename mp_repeat_c_impl::type; + using _l2 = typename mp_repeat_c_impl::type; + + using type = mp_append<_l1, _l1, _l2>; +}; + +template struct mp_repeat_c_impl +{ + using type = mp_clear; +}; + +template struct mp_repeat_c_impl +{ + using type = L; +}; + +} // namespace detail + +template using mp_repeat_c = typename detail::mp_repeat_c_impl::type; +template using mp_repeat = typename detail::mp_repeat_c_impl::type; + +// mp_product +namespace detail +{ + +template class F, class P, class... L> struct mp_product_impl_2 +{ +}; + +template class F, class P> struct mp_product_impl_2 +{ + using type = mp_list>; +}; + +template class F, class P, template class L1, class... T1, class... L> struct mp_product_impl_2, L...> +{ + using type = mp_append, L...>::type...>; +}; + +template class F, class... L> struct mp_product_impl +{ +}; + +template class F> struct mp_product_impl +{ + using type = mp_list< F<> >; +}; + +template class F, class L1, class... L> struct mp_product_impl +{ + using type = mp_assign, L1, L...>::type>; +}; + +} // namespace detail + +template class F, class... L> using mp_product = typename detail::mp_product_impl::type; +template using mp_product_q = typename detail::mp_product_impl::type; + +// mp_drop(_c) +namespace detail +{ + +template struct mp_drop_impl; + +template class L, class... T, template class L2, class... U> struct mp_drop_impl, L2, mp_true> +{ + template static mp_identity> f( U*..., mp_identity*... ); + + using R = decltype( f( static_cast*>(0) ... ) ); + + using type = typename R::type; +}; + +} // namespace detail + +template using mp_drop_c = mp_assign, mp_repeat_c, N>, mp_bool::value>>::type>; + +template using mp_drop = mp_drop_c; + +// mp_from_sequence +namespace detail +{ + +template struct mp_from_sequence_impl; + +template class S, class U, U... J, class F> struct mp_from_sequence_impl, F, false> +{ + using type = mp_list_c; +}; + +template class S, class U, U... J, class F> struct mp_from_sequence_impl, F, true> +{ + using type = mp_list_c; +}; + +} // namespace detail + +template> using mp_from_sequence = typename detail::mp_from_sequence_impl::type; + +// mp_iota(_c) +template using mp_iota_c = mp_from_sequence, mp_size_t>; +template> using mp_iota = mp_from_sequence::type, N::value>, F>; + +// mp_at(_c) +namespace detail +{ + +template struct mp_at_c_impl; + +#if defined(BOOST_MP11_HAS_TYPE_PACK_ELEMENT) + +template class L, class... T, std::size_t I> struct mp_at_c_impl, I> +{ + using type = __type_pack_element; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A, std::size_t I> struct mp_at_c_impl, I> +{ + using type = __type_pack_element...>; +}; + +#endif + +#else + +template struct mp_at_c_impl +{ + using _map = mp_transform >, mp_rename>; + using type = mp_second > >; +}; + +#endif + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template struct mp_at_c_cuda_workaround +{ + using type = mp_if_c<(I < mp_size::value), detail::mp_at_c_impl, void>; +}; + +#endif + +} // namespace detail + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template using mp_at_c = typename detail::mp_at_c_cuda_workaround< L, I >::type::type; + +#else + +template using mp_at_c = typename mp_if_c<(I < mp_size::value), detail::mp_at_c_impl, void>::type; + +#endif + +template using mp_at = mp_at_c; + +// mp_take(_c) +namespace detail +{ + +template struct mp_take_c_impl +{ +}; + +template class L, class... T> +struct mp_take_c_impl<0, L> +{ + using type = L<>; +}; + +template class L, class T1, class... T> +struct mp_take_c_impl<1, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class... T> +struct mp_take_c_impl<2, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class... T> +struct mp_take_c_impl<3, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class... T> +struct mp_take_c_impl<4, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class... T> +struct mp_take_c_impl<5, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class... T> +struct mp_take_c_impl<6, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class... T> +struct mp_take_c_impl<7, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class... T> +struct mp_take_c_impl<8, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class... T> +struct mp_take_c_impl<9, L> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class... T, std::size_t N> +struct mp_take_c_impl, typename std::enable_if= 10>::type> +{ + using type = mp_append, typename mp_take_c_impl>::type>; +}; + +} // namespace detail + +template using mp_take_c = mp_assign>::type>; +template using mp_take = mp_take_c; + +// mp_slice(_c) +template using mp_slice_c = mp_drop_c< mp_take_c, I >; +template using mp_slice = mp_drop< mp_take, I >; + +// mp_back +template using mp_back = mp_at_c::value - 1>; + +// mp_pop_back +template using mp_pop_back = mp_take_c::value - 1>; + +// mp_replace +namespace detail +{ + +template struct mp_replace_impl; + +template class L, class... T, class V, class W> struct mp_replace_impl, V, W> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + template struct _f { using type = mp_if, W, A>; }; + using type = L::type...>; +#else + template using _f = mp_if, W, A>; + using type = L<_f...>; +#endif +}; + +} // namespace detail + +template using mp_replace = typename detail::mp_replace_impl::type; + +// mp_replace_if +namespace detail +{ + +template class P, class W> struct mp_replace_if_impl; + +template class L, class... T, template class P, class W> struct mp_replace_if_impl, P, W> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + template struct _f { using type = mp_if, W, U>; }; + using type = L::type...>; +#else + template using _f = mp_if, W, U>; + using type = L<_f...>; +#endif +}; + +} // namespace detail + +template class P, class W> using mp_replace_if = typename detail::mp_replace_if_impl::type; +template using mp_replace_if_q = mp_replace_if; + +// mp_copy_if +// in detail/mp_copy_if.hpp + +// mp_remove +namespace detail +{ + +template struct mp_remove_impl; + +template class L, class... T, class V> struct mp_remove_impl, V> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + template struct _f { using type = mp_if, mp_list<>, mp_list>; }; + using type = mp_append, typename _f::type...>; +#else + template using _f = mp_if, mp_list<>, mp_list>; + using type = mp_append, _f...>; +#endif +}; + +} // namespace detail + +template using mp_remove = typename detail::mp_remove_impl::type; + +// mp_remove_if +// in detail/mp_remove_if.hpp + +// mp_flatten> +namespace detail +{ + +template struct mp_flatten_impl +{ + template using fn = mp_if, T, mp_list>; +}; + +} // namespace detail + +template> using mp_flatten = mp_apply, L>, mp_clear>>; + +// mp_partition +namespace detail +{ + +template class P> struct mp_partition_impl; + +template class L, class... T, template class P> struct mp_partition_impl, P> +{ + using type = L, P>, mp_remove_if, P>>; +}; + +} // namespace detail + +template class P> using mp_partition = typename detail::mp_partition_impl::type; +template using mp_partition_q = mp_partition; + +// mp_sort +namespace detail +{ + +template class P> struct mp_sort_impl; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T, template class P> struct mp_sort_impl, P> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = L<>; +}; + +#else + +template class L, template class P> struct mp_sort_impl, P> +{ + using type = L<>; +}; + +#endif + +template class L, class T1, template class P> struct mp_sort_impl, P> +{ + using type = L; +}; + +template class L, class T1, class... T, template class P> struct mp_sort_impl, P> +{ + template using F = P; + + using part = mp_partition, F>; + + using S1 = typename mp_sort_impl, P>::type; + using S2 = typename mp_sort_impl, P>::type; + + using type = mp_append, S2>; +}; + +} // namespace detail + +template class P> using mp_sort = typename detail::mp_sort_impl::type; +template using mp_sort_q = mp_sort; + +// mp_nth_element(_c) +namespace detail +{ + +template class P> struct mp_nth_element_impl; + +template class L, class T1, std::size_t I, template class P> struct mp_nth_element_impl, I, P> +{ + static_assert( I == 0, "mp_nth_element index out of range" ); + using type = T1; +}; + +template class L, class T1, class... T, std::size_t I, template class P> struct mp_nth_element_impl, I, P> +{ + static_assert( I < 1 + sizeof...(T), "mp_nth_element index out of range" ); + + template using F = P; + + using part = mp_partition, F>; + + using L1 = mp_first; + static std::size_t const N1 = mp_size::value; + + using L2 = mp_second; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + + struct detail + { + struct mp_nth_element_impl_cuda_workaround + { + using type = mp_cond< + + mp_bool<(I < N1)>, mp_nth_element_impl, + mp_bool<(I == N1)>, mp_identity, + mp_true, mp_nth_element_impl + + >; + }; + }; + + using type = typename detail::mp_nth_element_impl_cuda_workaround::type::type; + +#else + + using type = typename mp_cond< + + mp_bool<(I < N1)>, mp_nth_element_impl, + mp_bool<(I == N1)>, mp_identity, + mp_true, mp_nth_element_impl + + >::type; + +#endif +}; + +} // namespace detail + +template class P> using mp_nth_element_c = typename detail::mp_nth_element_impl::type; +template class P> using mp_nth_element = typename detail::mp_nth_element_impl::type; +template using mp_nth_element_q = mp_nth_element; + +// mp_find +namespace detail +{ + +template struct mp_find_impl; + +#if !defined( BOOST_MP11_NO_CONSTEXPR ) + +template class L, class V> struct mp_find_impl, V> +{ + using type = mp_size_t<0>; +}; + +#if defined( BOOST_MP11_HAS_CXX14_CONSTEXPR ) + +constexpr std::size_t cx_find_index( bool const * first, bool const * last ) +{ + std::size_t m = 0; + + while( first != last && !*first ) + { + ++m; + ++first; + } + + return m; +} + +#else + +constexpr std::size_t cx_find_index( bool const * first, bool const * last ) +{ + return first == last || *first? 0: 1 + cx_find_index( first + 1, last ); +} + +#endif + +template class L, class... T, class V> struct mp_find_impl, V> +{ + static constexpr bool _v[] = { std::is_same::value... }; + using type = mp_size_t< cx_find_index( _v, _v + sizeof...(T) ) >; +}; + +#else + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T, class V> struct mp_find_impl, V> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = mp_size_t<0>; +}; + +#else + +template class L, class V> struct mp_find_impl, V> +{ + using type = mp_size_t<0>; +}; + +#endif + +template class L, class... T, class V> struct mp_find_impl, V> +{ + using type = mp_size_t<0>; +}; + +template class L, class T1, class... T, class V> struct mp_find_impl, V> +{ + using _r = typename mp_find_impl, V>::type; + using type = mp_size_t<1 + _r::value>; +}; + +#endif + +} // namespace detail + +template using mp_find = typename detail::mp_find_impl::type; + +// mp_find_if +namespace detail +{ + +template class P> struct mp_find_if_impl; + +#if !defined( BOOST_MP11_NO_CONSTEXPR ) + +template class L, template class P> struct mp_find_if_impl, P> +{ + using type = mp_size_t<0>; +}; + +template class L, class... T, template class P> struct mp_find_if_impl, P> +{ + static constexpr bool _v[] = { P::value... }; + using type = mp_size_t< cx_find_index( _v, _v + sizeof...(T) ) >; +}; + +#else + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T, template class P> struct mp_find_if_impl, P> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = mp_size_t<0>; +}; + +#else + +template class L, template class P> struct mp_find_if_impl, P> +{ + using type = mp_size_t<0>; +}; + +#endif + +template class P> struct mp_find_if_impl_2 +{ + using _r = typename mp_find_if_impl::type; + using type = mp_size_t<1 + _r::value>; +}; + +template class L, class T1, class... T, template class P> struct mp_find_if_impl, P> +{ + using type = typename mp_if, mp_identity>, mp_find_if_impl_2, P>>::type; +}; + +#endif + +} // namespace detail + +template class P> using mp_find_if = typename detail::mp_find_if_impl::type; +template using mp_find_if_q = mp_find_if; + +// mp_reverse +namespace detail +{ + +template struct mp_reverse_impl; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T> struct mp_reverse_impl> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = L<>; +}; + +#else + +template class L> struct mp_reverse_impl> +{ + using type = L<>; +}; + +#endif + +template class L, class T1> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> struct mp_reverse_impl> +{ + using type = L; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class... T> struct mp_reverse_impl> +{ + using type = mp_push_back>::type, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1>; +}; + +} // namespace detail + +template using mp_reverse = typename detail::mp_reverse_impl::type; + +// mp_fold +// in detail/mp_fold.hpp + +// mp_reverse_fold +namespace detail +{ + +template class F> struct mp_reverse_fold_impl; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T, class V, template class F> struct mp_reverse_fold_impl, V, F> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = V; +}; + +#else + +template class L, class V, template class F> struct mp_reverse_fold_impl, V, F> +{ + using type = V; +}; + +#endif + +template class L, class T1, class... T, class V, template class F> struct mp_reverse_fold_impl, V, F> +{ + using rest = typename mp_reverse_fold_impl, V, F>::type; + using type = F; +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class... T, class V, template class F> struct mp_reverse_fold_impl, V, F> +{ + using rest = typename mp_reverse_fold_impl, V, F>::type; + using type = F > > > > > > > > >; +}; + +} // namespace detail + +template class F> using mp_reverse_fold = typename detail::mp_reverse_fold_impl, V, F>::type; +template using mp_reverse_fold_q = mp_reverse_fold; + +// mp_unique +namespace detail +{ + +template struct mp_unique_impl; + +template class L, class... T> struct mp_unique_impl> +{ + using type = mp_set_push_back, T...>; +}; + +} // namespace detail + +template using mp_unique = typename detail::mp_unique_impl::type; + +// mp_unique_if +namespace detail +{ + +template class P> struct mp_unique_if_push_back +{ + template struct impl + { + }; + + template class L, class... Ts, class T> + struct impl, T> + { + using type = mp_if...>, L, L>; + }; + + template using fn = typename impl::type; +}; + +} // namespace detail + +template class P> +using mp_unique_if = mp_fold_q, detail::mp_unique_if_push_back

>; + +template using mp_unique_if_q = mp_unique_if; + +// mp_all_of +template class P> using mp_all_of = mp_bool< mp_count_if::value == mp_size::value >; +template using mp_all_of_q = mp_all_of; + +// mp_none_of +template class P> using mp_none_of = mp_bool< mp_count_if::value == 0 >; +template using mp_none_of_q = mp_none_of; + +// mp_any_of +template class P> using mp_any_of = mp_bool< mp_count_if::value != 0 >; +template using mp_any_of_q = mp_any_of; + +// mp_replace_at_c +namespace detail +{ + +template struct mp_replace_at_impl +{ + static_assert( I::value >= 0, "mp_replace_at: I must not be negative" ); + + template using _p = std::is_same>; + template using _f = W; + + using type = mp_transform_if<_p, _f, L, mp_iota > >; +}; + +} // namespace detail + +template using mp_replace_at = typename detail::mp_replace_at_impl::type; +template using mp_replace_at_c = typename detail::mp_replace_at_impl, W>::type; + +//mp_for_each(f) +namespace detail +{ + +template BOOST_MP11_CONSTEXPR F mp_for_each_impl( mp_list, F && f ) +{ + using A = int[sizeof...(T)]; + return (void)A{ ((void)f(T()), 0)... }, std::forward(f); +} + +template BOOST_MP11_CONSTEXPR F mp_for_each_impl( mp_list<>, F && f ) +{ + return std::forward(f); +} + +} // namespace detail + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, >= 1900 ) + +// msvc has a limit of 1024 + +template BOOST_MP11_CONSTEXPR mp_if_c::value <= 1024, F> mp_for_each( F && f ) +{ + return detail::mp_for_each_impl( mp_rename(), std::forward(f) ); +} + +template BOOST_MP11_CONSTEXPR mp_if_c::value >= 1025, F> mp_for_each( F && f ) +{ + using L2 = mp_rename; + + using L3 = mp_take_c; + using L4 = mp_drop_c; + + return mp_for_each( mp_for_each( std::forward(f) ) ); +} + +#else + +template BOOST_MP11_CONSTEXPR F mp_for_each( F && f ) +{ + return detail::mp_for_each_impl( mp_rename(), std::forward(f) ); +} + +#endif + +// mp_insert +template using mp_insert = mp_append, mp_push_front, T...>>; + +// mp_insert_c +template using mp_insert_c = mp_append, mp_push_front, T...>>; + +// mp_erase +template using mp_erase = mp_append, mp_drop>; + +// mp_erase_c +template using mp_erase_c = mp_append, mp_drop_c>; + +// mp_starts_with +// contributed by Glen Joseph Fernandes (glenjofe@gmail.com) +namespace detail { + +template +struct mp_starts_with_impl { }; + +template class L1, class... T1, template class L2, + class... T2> +struct mp_starts_with_impl, L2 > { + template + static mp_false check(L); + + template + static mp_true check(mp_list); + + using type = decltype(check(mp_list())); +}; + +} // namespace detail + +template +using mp_starts_with = typename detail::mp_starts_with_impl::type; + +// mp_rotate_left(_c) +namespace detail +{ + +// limit divisor to 1 to avoid division by 0 and give a rotation of 0 for lists containing 0 or 1 elements +template using canonical_left_rotation = mp_size_t; + +// perform right rotation as a left rotation by inverting the number of elements to rotate +template using canonical_right_rotation = mp_size_t; + +// avoid errors when rotating fixed-sized lists by using mp_list for the transformation +template> using mp_rotate_impl = mp_assign, mp_take >>; + +} // namespace detail + +template using mp_rotate_left_c = detail::mp_rotate_impl::value, N>>; +template using mp_rotate_left = mp_rotate_left_c; + +// mp_rotate_right(_c) +template using mp_rotate_right_c = mp_rotate_left::value, N>>; +template using mp_rotate_right = mp_rotate_right_c; + +// mp_min_element +// mp_max_element +// in detail/mp_min_element.hpp + +// mp_power_set +namespace detail +{ + +template struct mp_power_set_impl; + +} // namespace detail + +template using mp_power_set = typename detail::mp_power_set_impl::type; + +namespace detail +{ + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T> struct mp_power_set_impl< L > +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = L< L<> >; +}; + +#else + +template class L> struct mp_power_set_impl< L<> > +{ + using type = L< L<> >; +}; + +#endif + +template class L, class T1, class... T> struct mp_power_set_impl< L > +{ + using S1 = mp_power_set< L >; + + template using _f = mp_push_front; + + using S2 = mp_transform<_f, S1>; + + using type = mp_append< S1, S2 >; +}; + +} // namespace detail + +// mp_partial_sum +namespace detail +{ + +template class F> struct mp_partial_sum_impl_f +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1900 ) + + template using fn = mp_list, T>, mp_push_back, F, T>> >; + +#else + + template, T>> using fn = mp_list, N>>; + +#endif +}; + +} // namespace detail + +template class F> using mp_partial_sum = mp_second>, detail::mp_partial_sum_impl_f> >; +template using mp_partial_sum_q = mp_partial_sum; + +// mp_iterate +namespace detail +{ + +template class F, template class R, class N> struct mp_iterate_impl; + +} // namespace detail + +template class F, template class R> using mp_iterate = typename detail::mp_iterate_impl>::type; + +namespace detail +{ + +template class F, template class R> struct mp_iterate_impl +{ + template using _f = mp_list>; + using type = mp_eval_or, _f, V>; +}; + +template class F, template class R> struct mp_iterate_impl +{ + using type = mp_push_front, F, R>, F>; +}; + +} // namespace detail + +template using mp_iterate_q = mp_iterate; + +// mp_pairwise_fold +namespace detail +{ + +template using mp_pairwise_fold_impl = mp_transform_q, mp_pop_front>; + +} // namespace detail + +template using mp_pairwise_fold_q = mp_eval_if, mp_clear, detail::mp_pairwise_fold_impl, L, Q>; +template class F> using mp_pairwise_fold = mp_pairwise_fold_q>; + +// mp_sliding_fold +namespace detail +{ + +template struct mp_sliding_fold_impl; + +template struct mp_sliding_fold_impl +{ + static const std::size_t M = mp_size::value - N::value + 1; + + template using F = mp_slice_c; + + using J = mp_transform>; + + using type = mp_apply>; +}; + +template struct mp_sliding_fold_impl +{ + using type = mp_clear; +}; + +} // namespace detail + +template using mp_sliding_fold_q = typename detail::mp_sliding_fold_impl::value >= N::value)>, L, N, Q>::type; +template class F> using mp_sliding_fold = mp_sliding_fold_q>; + +// mp_intersperse +namespace detail +{ + +template struct mp_intersperse_impl +{ +}; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T, class S> struct mp_intersperse_impl, S> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = L<>; +}; + +#else + +template class L, class S> struct mp_intersperse_impl, S> +{ + using type = L<>; +}; + +#endif + +template class L, class T1, class... T, class S> struct mp_intersperse_impl, S> +{ + using type = mp_append, L...>; +}; + +} // namespace detail + +template using mp_intersperse = typename detail::mp_intersperse_impl::type; + +// mp_split +namespace detail +{ + +template struct mp_split_impl; + +} // namespace detail + +template using mp_split = typename detail::mp_split_impl>::type; + +namespace detail +{ + +template using mp_split_impl_ = mp_push_front, S>, mp_take>; + +template struct mp_split_impl +{ + using type = mp_eval_if_c::value == J::value, mp_push_back, L>, mp_split_impl_, L, S, J>; +}; + +} // namespace detail + +// mp_join + +template using mp_join = mp_apply>>; + +} // namespace mp11 +} // namespace boost + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma pop_macro( "I" ) +#endif + +#endif // #ifndef BOOST_MP11_ALGORITHM_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/bind.hpp b/external/include/boost_1_90_0/boost/mp11/bind.hpp new file mode 100644 index 0000000000..1cba92ca49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/bind.hpp @@ -0,0 +1,120 @@ +#ifndef BOOST_MP11_BIND_HPP_INCLUDED +#define BOOST_MP11_BIND_HPP_INCLUDED + +// Copyright 2017, 2018 Peter Dimov. +// +// 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 + +#include +#include +#include + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma push_macro( "I" ) +# undef I +#endif + +namespace boost +{ +namespace mp11 +{ + +// mp_bind_front +template class F, class... T> struct mp_bind_front +{ + // the indirection through mp_defer works around the language inability + // to expand U... into a fixed parameter list of an alias template + + template using fn = typename mp_defer::type; +}; + +template using mp_bind_front_q = mp_bind_front; + +// mp_bind_back +template class F, class... T> struct mp_bind_back +{ + template using fn = typename mp_defer::type; +}; + +template using mp_bind_back_q = mp_bind_back; + +// mp_arg +template struct mp_arg +{ + template using fn = mp_at_c, I>; +}; + +using _1 = mp_arg<0>; +using _2 = mp_arg<1>; +using _3 = mp_arg<2>; +using _4 = mp_arg<3>; +using _5 = mp_arg<4>; +using _6 = mp_arg<5>; +using _7 = mp_arg<6>; +using _8 = mp_arg<7>; +using _9 = mp_arg<8>; + +// mp_bind +template class F, class... T> struct mp_bind; + +namespace detail +{ + +template struct eval_bound_arg +{ + using type = V; +}; + +template struct eval_bound_arg, T...> +{ + using type = typename mp_arg::template fn; +}; + +template class F, class... U, class... T> struct eval_bound_arg, T...> +{ + using type = typename mp_bind::template fn; +}; + +template class F, class... U, class... T> struct eval_bound_arg, T...> +{ + using type = typename mp_bind_front::template fn; +}; + +template class F, class... U, class... T> struct eval_bound_arg, T...> +{ + using type = typename mp_bind_back::template fn; +}; + +} // namespace detail + +template class F, class... T> struct mp_bind +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, == 1915 ) +private: + + template struct _f { using type = F::type...>; }; + +public: + + template using fn = typename _f::type; + +#else + + template using fn = F::type...>; + +#endif +}; + +template using mp_bind_q = mp_bind; + +} // namespace mp11 +} // namespace boost + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma pop_macro( "I" ) +#endif + +#endif // #ifndef BOOST_MP11_BIND_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/config.hpp b/external/include/boost_1_90_0/boost/mp11/detail/config.hpp new file mode 100644 index 0000000000..714dcfa30f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/config.hpp @@ -0,0 +1,149 @@ +#ifndef BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED +#define BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED + +// Copyright 2016, 2018, 2019 Peter Dimov. +// +// 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 + +// BOOST_MP11_WORKAROUND + +#if defined( BOOST_STRICT_CONFIG ) || defined( BOOST_MP11_NO_WORKAROUNDS ) + +# define BOOST_MP11_WORKAROUND( symbol, test ) 0 + +#else + +# define BOOST_MP11_WORKAROUND( symbol, test ) ((symbol) != 0 && ((symbol) test)) + +#endif + +// + +#define BOOST_MP11_CUDA 0 +#define BOOST_MP11_CLANG 0 +#define BOOST_MP11_INTEL 0 +#define BOOST_MP11_GCC 0 +#define BOOST_MP11_MSVC 0 + +#define BOOST_MP11_CONSTEXPR constexpr + +#if defined( __CUDACC__ ) + +// nvcc + +# undef BOOST_MP11_CUDA +# define BOOST_MP11_CUDA (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__) + +// CUDA (8.0) has no constexpr support in msvc mode: +# if defined(_MSC_VER) && (BOOST_MP11_CUDA < 9000000) + +# define BOOST_MP11_NO_CONSTEXPR + +# undef BOOST_MP11_CONSTEXPR +# define BOOST_MP11_CONSTEXPR + +# endif + +#endif + +#if defined(__clang__) + +// Clang + +# undef BOOST_MP11_CLANG +# define BOOST_MP11_CLANG (__clang_major__ * 100 + __clang_minor__) + +# if defined(__has_cpp_attribute) +# if __has_cpp_attribute(fallthrough) && __cplusplus >= 201406L // Clang 3.9+ in c++1z mode +# define BOOST_MP11_HAS_FOLD_EXPRESSIONS +# endif +# endif + +#if BOOST_MP11_CLANG < 400 && __cplusplus >= 201402L \ + && defined( __GLIBCXX__ ) && !__has_include() + +// Clang pre-4 in C++14 mode, libstdc++ pre-4.9, ::gets is not defined, +// but Clang tries to import it into std + + extern "C" char *gets (char *__s); +#endif + +#elif defined(__INTEL_COMPILER) + +// Intel C++ + +# undef BOOST_MP11_INTEL +# define BOOST_MP11_INTEL __INTEL_COMPILER + +#elif defined(__GNUC__) + +// g++ + +# undef BOOST_MP11_GCC +# define BOOST_MP11_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) + +#elif defined(_MSC_VER) + +// MS Visual C++ + +# undef BOOST_MP11_MSVC +# define BOOST_MP11_MSVC _MSC_VER + +# if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) +# define BOOST_MP11_NO_CONSTEXPR +# endif + +#if _MSC_FULL_VER < 190024210 // 2015u3 +# undef BOOST_MP11_CONSTEXPR +# define BOOST_MP11_CONSTEXPR +#endif + +#endif + +// BOOST_MP11_HAS_CXX14_CONSTEXPR + +#if !defined(BOOST_MP11_NO_CONSTEXPR) && defined(__cpp_constexpr) && __cpp_constexpr >= 201304 +# define BOOST_MP11_HAS_CXX14_CONSTEXPR +#endif + +// BOOST_MP11_HAS_FOLD_EXPRESSIONS + +#if !defined(BOOST_MP11_HAS_FOLD_EXPRESSIONS) && defined(__cpp_fold_expressions) && __cpp_fold_expressions >= 201603 +# define BOOST_MP11_HAS_FOLD_EXPRESSIONS +#endif + +// BOOST_MP11_HAS_TYPE_PACK_ELEMENT + +#if defined(__has_builtin) +# if __has_builtin(__type_pack_element) +# define BOOST_MP11_HAS_TYPE_PACK_ELEMENT +# endif +#endif + +// BOOST_MP11_HAS_TEMPLATE_AUTO + +#if defined(__cpp_nontype_template_parameter_auto) && __cpp_nontype_template_parameter_auto >= 201606L +# define BOOST_MP11_HAS_TEMPLATE_AUTO +#endif + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) +// mp_value<0> is bool, mp_value<-1L> is int, etc +# undef BOOST_MP11_HAS_TEMPLATE_AUTO +#endif + +// BOOST_MP11_DEPRECATED(msg) + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CLANG, < 304 ) +# define BOOST_MP11_DEPRECATED(msg) +#elif defined(__GNUC__) || defined(__clang__) +# define BOOST_MP11_DEPRECATED(msg) __attribute__((deprecated(msg))) +#elif defined(_MSC_VER) && _MSC_VER >= 1900 +# define BOOST_MP11_DEPRECATED(msg) [[deprecated(msg)]] +#else +# define BOOST_MP11_DEPRECATED(msg) +#endif + +#endif // #ifndef BOOST_MP11_DETAIL_CONFIG_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_append.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_append.hpp new file mode 100644 index 0000000000..d0c9457ecf --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_append.hpp @@ -0,0 +1,321 @@ +#ifndef BOOST_MP11_DETAIL_MP_APPEND_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_APPEND_HPP_INCLUDED + +// Copyright 2015-2017 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_append + +namespace detail +{ + +// append_type_lists + +template struct mp_append_impl; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template struct mp_append_impl +{ +}; + +template<> struct mp_append_impl<> +{ + using type = mp_list<>; +}; + +template class L, class... T> struct mp_append_impl> +{ + using type = L; +}; + +template class L1, class... T1, template class L2, class... T2> struct mp_append_impl, L2> +{ + using type = L1; +}; + +template class L1, class... T1, template class L2, class... T2, template class L3, class... T3> struct mp_append_impl, L2, L3> +{ + using type = L1; +}; + +template class L1, class... T1, template class L2, class... T2, template class L3, class... T3, template class L4, class... T4> struct mp_append_impl, L2, L3, L4> +{ + using type = L1; +}; + +template class L1, class... T1, template class L2, class... T2, template class L3, class... T3, template class L4, class... T4, template class L5, class... T5, class... Lr> struct mp_append_impl, L2, L3, L4, L5, Lr...> +{ + using type = typename mp_append_impl, Lr...>::type; +}; + +#else + +template, class L2 = mp_list<>, class L3 = mp_list<>, class L4 = mp_list<>, class L5 = mp_list<>, class L6 = mp_list<>, class L7 = mp_list<>, class L8 = mp_list<>, class L9 = mp_list<>, class L10 = mp_list<>, class L11 = mp_list<>> struct append_11_impl +{ +}; + +template< + template class L1, class... T1, + template class L2, class... T2, + template class L3, class... T3, + template class L4, class... T4, + template class L5, class... T5, + template class L6, class... T6, + template class L7, class... T7, + template class L8, class... T8, + template class L9, class... T9, + template class L10, class... T10, + template class L11, class... T11> + +struct append_11_impl, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11> +{ + using type = L1; +}; + +template< + + class L00 = mp_list<>, class L01 = mp_list<>, class L02 = mp_list<>, class L03 = mp_list<>, class L04 = mp_list<>, class L05 = mp_list<>, class L06 = mp_list<>, class L07 = mp_list<>, class L08 = mp_list<>, class L09 = mp_list<>, class L0A = mp_list<>, + class L10 = mp_list<>, class L11 = mp_list<>, class L12 = mp_list<>, class L13 = mp_list<>, class L14 = mp_list<>, class L15 = mp_list<>, class L16 = mp_list<>, class L17 = mp_list<>, class L18 = mp_list<>, class L19 = mp_list<>, + class L20 = mp_list<>, class L21 = mp_list<>, class L22 = mp_list<>, class L23 = mp_list<>, class L24 = mp_list<>, class L25 = mp_list<>, class L26 = mp_list<>, class L27 = mp_list<>, class L28 = mp_list<>, class L29 = mp_list<>, + class L30 = mp_list<>, class L31 = mp_list<>, class L32 = mp_list<>, class L33 = mp_list<>, class L34 = mp_list<>, class L35 = mp_list<>, class L36 = mp_list<>, class L37 = mp_list<>, class L38 = mp_list<>, class L39 = mp_list<>, + class L40 = mp_list<>, class L41 = mp_list<>, class L42 = mp_list<>, class L43 = mp_list<>, class L44 = mp_list<>, class L45 = mp_list<>, class L46 = mp_list<>, class L47 = mp_list<>, class L48 = mp_list<>, class L49 = mp_list<>, + class L50 = mp_list<>, class L51 = mp_list<>, class L52 = mp_list<>, class L53 = mp_list<>, class L54 = mp_list<>, class L55 = mp_list<>, class L56 = mp_list<>, class L57 = mp_list<>, class L58 = mp_list<>, class L59 = mp_list<>, + class L60 = mp_list<>, class L61 = mp_list<>, class L62 = mp_list<>, class L63 = mp_list<>, class L64 = mp_list<>, class L65 = mp_list<>, class L66 = mp_list<>, class L67 = mp_list<>, class L68 = mp_list<>, class L69 = mp_list<>, + class L70 = mp_list<>, class L71 = mp_list<>, class L72 = mp_list<>, class L73 = mp_list<>, class L74 = mp_list<>, class L75 = mp_list<>, class L76 = mp_list<>, class L77 = mp_list<>, class L78 = mp_list<>, class L79 = mp_list<>, + class L80 = mp_list<>, class L81 = mp_list<>, class L82 = mp_list<>, class L83 = mp_list<>, class L84 = mp_list<>, class L85 = mp_list<>, class L86 = mp_list<>, class L87 = mp_list<>, class L88 = mp_list<>, class L89 = mp_list<>, + class L90 = mp_list<>, class L91 = mp_list<>, class L92 = mp_list<>, class L93 = mp_list<>, class L94 = mp_list<>, class L95 = mp_list<>, class L96 = mp_list<>, class L97 = mp_list<>, class L98 = mp_list<>, class L99 = mp_list<>, + class LA0 = mp_list<>, class LA1 = mp_list<>, class LA2 = mp_list<>, class LA3 = mp_list<>, class LA4 = mp_list<>, class LA5 = mp_list<>, class LA6 = mp_list<>, class LA7 = mp_list<>, class LA8 = mp_list<>, class LA9 = mp_list<> + +> struct append_111_impl +{ + using type = typename append_11_impl< + + typename append_11_impl::type, + typename append_11_impl, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19>::type, + typename append_11_impl, L20, L21, L22, L23, L24, L25, L26, L27, L28, L29>::type, + typename append_11_impl, L30, L31, L32, L33, L34, L35, L36, L37, L38, L39>::type, + typename append_11_impl, L40, L41, L42, L43, L44, L45, L46, L47, L48, L49>::type, + typename append_11_impl, L50, L51, L52, L53, L54, L55, L56, L57, L58, L59>::type, + typename append_11_impl, L60, L61, L62, L63, L64, L65, L66, L67, L68, L69>::type, + typename append_11_impl, L70, L71, L72, L73, L74, L75, L76, L77, L78, L79>::type, + typename append_11_impl, L80, L81, L82, L83, L84, L85, L86, L87, L88, L89>::type, + typename append_11_impl, L90, L91, L92, L93, L94, L95, L96, L97, L98, L99>::type, + typename append_11_impl, LA0, LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9>::type + + >::type; +}; + +template< + + class L00, class L01, class L02, class L03, class L04, class L05, class L06, class L07, class L08, class L09, class L0A, + class L10, class L11, class L12, class L13, class L14, class L15, class L16, class L17, class L18, class L19, + class L20, class L21, class L22, class L23, class L24, class L25, class L26, class L27, class L28, class L29, + class L30, class L31, class L32, class L33, class L34, class L35, class L36, class L37, class L38, class L39, + class L40, class L41, class L42, class L43, class L44, class L45, class L46, class L47, class L48, class L49, + class L50, class L51, class L52, class L53, class L54, class L55, class L56, class L57, class L58, class L59, + class L60, class L61, class L62, class L63, class L64, class L65, class L66, class L67, class L68, class L69, + class L70, class L71, class L72, class L73, class L74, class L75, class L76, class L77, class L78, class L79, + class L80, class L81, class L82, class L83, class L84, class L85, class L86, class L87, class L88, class L89, + class L90, class L91, class L92, class L93, class L94, class L95, class L96, class L97, class L98, class L99, + class LA0, class LA1, class LA2, class LA3, class LA4, class LA5, class LA6, class LA7, class LA8, class LA9, + class... Lr + +> struct append_inf_impl +{ + using prefix = typename append_111_impl< + + L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, L0A, + L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, + L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, + L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, + L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, + L50, L51, L52, L53, L54, L55, L56, L57, L58, L59, + L60, L61, L62, L63, L64, L65, L66, L67, L68, L69, + L70, L71, L72, L73, L74, L75, L76, L77, L78, L79, + L80, L81, L82, L83, L84, L85, L86, L87, L88, L89, + L90, L91, L92, L93, L94, L95, L96, L97, L98, L99, + LA0, LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 + + >::type; + + using type = typename mp_append_impl::type; +}; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template +struct mp_append_impl_cuda_workaround +{ + using type = mp_if_c<(sizeof...(L) > 111), mp_quote, mp_if_c<(sizeof...(L) > 11), mp_quote, mp_quote > >; +}; + +template struct mp_append_impl: mp_append_impl_cuda_workaround::type::template fn +{ +}; + +#else + +template struct mp_append_impl: + mp_cond< + mp_bool<(sizeof...(L) > 111)>, mp_quote, + mp_bool<(sizeof...(L) > 11)>, mp_quote, + mp_true, mp_quote + >::template fn +{ +}; + +#endif // #if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +#endif // #if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +struct append_type_lists +{ + template using fn = typename mp_append_impl::type; +}; + +// append_value_lists + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template struct append_value_impl; + +template, class L2 = mp_list_v<>, class L3 = mp_list_v<>, class L4 = mp_list_v<>, class L5 = mp_list_v<>, class L6 = mp_list_v<>, class L7 = mp_list_v<>, class L8 = mp_list_v<>, class L9 = mp_list_v<>, class L10 = mp_list_v<>, class L11 = mp_list_v<>> struct append_value_11_impl +{ +}; + +template< + template class L1, auto... T1, + template class L2, auto... T2, + template class L3, auto... T3, + template class L4, auto... T4, + template class L5, auto... T5, + template class L6, auto... T6, + template class L7, auto... T7, + template class L8, auto... T8, + template class L9, auto... T9, + template class L10, auto... T10, + template class L11, auto... T11> + +struct append_value_11_impl, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11> +{ + using type = L1; +}; + +template< + + class L00 = mp_list_v<>, class L01 = mp_list_v<>, class L02 = mp_list_v<>, class L03 = mp_list_v<>, class L04 = mp_list_v<>, class L05 = mp_list_v<>, class L06 = mp_list_v<>, class L07 = mp_list_v<>, class L08 = mp_list_v<>, class L09 = mp_list_v<>, class L0A = mp_list_v<>, + class L10 = mp_list_v<>, class L11 = mp_list_v<>, class L12 = mp_list_v<>, class L13 = mp_list_v<>, class L14 = mp_list_v<>, class L15 = mp_list_v<>, class L16 = mp_list_v<>, class L17 = mp_list_v<>, class L18 = mp_list_v<>, class L19 = mp_list_v<>, + class L20 = mp_list_v<>, class L21 = mp_list_v<>, class L22 = mp_list_v<>, class L23 = mp_list_v<>, class L24 = mp_list_v<>, class L25 = mp_list_v<>, class L26 = mp_list_v<>, class L27 = mp_list_v<>, class L28 = mp_list_v<>, class L29 = mp_list_v<>, + class L30 = mp_list_v<>, class L31 = mp_list_v<>, class L32 = mp_list_v<>, class L33 = mp_list_v<>, class L34 = mp_list_v<>, class L35 = mp_list_v<>, class L36 = mp_list_v<>, class L37 = mp_list_v<>, class L38 = mp_list_v<>, class L39 = mp_list_v<>, + class L40 = mp_list_v<>, class L41 = mp_list_v<>, class L42 = mp_list_v<>, class L43 = mp_list_v<>, class L44 = mp_list_v<>, class L45 = mp_list_v<>, class L46 = mp_list_v<>, class L47 = mp_list_v<>, class L48 = mp_list_v<>, class L49 = mp_list_v<>, + class L50 = mp_list_v<>, class L51 = mp_list_v<>, class L52 = mp_list_v<>, class L53 = mp_list_v<>, class L54 = mp_list_v<>, class L55 = mp_list_v<>, class L56 = mp_list_v<>, class L57 = mp_list_v<>, class L58 = mp_list_v<>, class L59 = mp_list_v<>, + class L60 = mp_list_v<>, class L61 = mp_list_v<>, class L62 = mp_list_v<>, class L63 = mp_list_v<>, class L64 = mp_list_v<>, class L65 = mp_list_v<>, class L66 = mp_list_v<>, class L67 = mp_list_v<>, class L68 = mp_list_v<>, class L69 = mp_list_v<>, + class L70 = mp_list_v<>, class L71 = mp_list_v<>, class L72 = mp_list_v<>, class L73 = mp_list_v<>, class L74 = mp_list_v<>, class L75 = mp_list_v<>, class L76 = mp_list_v<>, class L77 = mp_list_v<>, class L78 = mp_list_v<>, class L79 = mp_list_v<>, + class L80 = mp_list_v<>, class L81 = mp_list_v<>, class L82 = mp_list_v<>, class L83 = mp_list_v<>, class L84 = mp_list_v<>, class L85 = mp_list_v<>, class L86 = mp_list_v<>, class L87 = mp_list_v<>, class L88 = mp_list_v<>, class L89 = mp_list_v<>, + class L90 = mp_list_v<>, class L91 = mp_list_v<>, class L92 = mp_list_v<>, class L93 = mp_list_v<>, class L94 = mp_list_v<>, class L95 = mp_list_v<>, class L96 = mp_list_v<>, class L97 = mp_list_v<>, class L98 = mp_list_v<>, class L99 = mp_list_v<>, + class LA0 = mp_list_v<>, class LA1 = mp_list_v<>, class LA2 = mp_list_v<>, class LA3 = mp_list_v<>, class LA4 = mp_list_v<>, class LA5 = mp_list_v<>, class LA6 = mp_list_v<>, class LA7 = mp_list_v<>, class LA8 = mp_list_v<>, class LA9 = mp_list_v<> + +> struct append_value_111_impl +{ + using type = typename append_value_11_impl< + + typename append_value_11_impl::type, + typename append_value_11_impl, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19>::type, + typename append_value_11_impl, L20, L21, L22, L23, L24, L25, L26, L27, L28, L29>::type, + typename append_value_11_impl, L30, L31, L32, L33, L34, L35, L36, L37, L38, L39>::type, + typename append_value_11_impl, L40, L41, L42, L43, L44, L45, L46, L47, L48, L49>::type, + typename append_value_11_impl, L50, L51, L52, L53, L54, L55, L56, L57, L58, L59>::type, + typename append_value_11_impl, L60, L61, L62, L63, L64, L65, L66, L67, L68, L69>::type, + typename append_value_11_impl, L70, L71, L72, L73, L74, L75, L76, L77, L78, L79>::type, + typename append_value_11_impl, L80, L81, L82, L83, L84, L85, L86, L87, L88, L89>::type, + typename append_value_11_impl, L90, L91, L92, L93, L94, L95, L96, L97, L98, L99>::type, + typename append_value_11_impl, LA0, LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9>::type + + >::type; +}; + +template< + + class L00, class L01, class L02, class L03, class L04, class L05, class L06, class L07, class L08, class L09, class L0A, + class L10, class L11, class L12, class L13, class L14, class L15, class L16, class L17, class L18, class L19, + class L20, class L21, class L22, class L23, class L24, class L25, class L26, class L27, class L28, class L29, + class L30, class L31, class L32, class L33, class L34, class L35, class L36, class L37, class L38, class L39, + class L40, class L41, class L42, class L43, class L44, class L45, class L46, class L47, class L48, class L49, + class L50, class L51, class L52, class L53, class L54, class L55, class L56, class L57, class L58, class L59, + class L60, class L61, class L62, class L63, class L64, class L65, class L66, class L67, class L68, class L69, + class L70, class L71, class L72, class L73, class L74, class L75, class L76, class L77, class L78, class L79, + class L80, class L81, class L82, class L83, class L84, class L85, class L86, class L87, class L88, class L89, + class L90, class L91, class L92, class L93, class L94, class L95, class L96, class L97, class L98, class L99, + class LA0, class LA1, class LA2, class LA3, class LA4, class LA5, class LA6, class LA7, class LA8, class LA9, + class... Lr + +> struct append_value_inf_impl +{ + using prefix = typename append_value_111_impl< + + L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, L0A, + L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, + L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, + L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, + L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, + L50, L51, L52, L53, L54, L55, L56, L57, L58, L59, + L60, L61, L62, L63, L64, L65, L66, L67, L68, L69, + L70, L71, L72, L73, L74, L75, L76, L77, L78, L79, + L80, L81, L82, L83, L84, L85, L86, L87, L88, L89, + L90, L91, L92, L93, L94, L95, L96, L97, L98, L99, + LA0, LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 + + >::type; + + using type = typename append_value_impl::type; +}; + +template struct append_value_impl: + mp_cond< + mp_bool<(sizeof...(L) > 111)>, mp_quote, + mp_bool<(sizeof...(L) > 11)>, mp_quote, + mp_true, mp_quote + >::template fn +{ +}; + +struct append_value_lists +{ + template using fn = typename append_value_impl::type; +}; + +#endif // #if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +} // namespace detail + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template using mp_append = typename mp_if_c<(sizeof...(L) > 0 && sizeof...(L) == mp_count_if, mp_is_value_list>::value), detail::append_value_lists, detail::append_type_lists>::template fn; + +#else + +template using mp_append = detail::append_type_lists::fn; + +#endif + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_APPEND_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_copy_if.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_copy_if.hpp new file mode 100644 index 0000000000..d661979231 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_copy_if.hpp @@ -0,0 +1,48 @@ +#ifndef BOOST_MP11_DETAIL_MP_COPY_IF_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_COPY_IF_HPP_INCLUDED + +// Copyright 2015-2019 Peter Dimov. +// +// 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 + +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_copy_if +namespace detail +{ + +template class P> struct mp_copy_if_impl +{ +}; + +template class L, class... T, template class P> struct mp_copy_if_impl, P> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + template struct _f { using type = mp_if, mp_list, mp_list<>>; }; + using type = mp_append, typename _f::type...>; +#else + template using _f = mp_if, mp_list, mp_list<>>; + using type = mp_append, _f...>; +#endif +}; + +} // namespace detail + +template class P> using mp_copy_if = typename detail::mp_copy_if_impl::type; +template using mp_copy_if_q = mp_copy_if; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_COPY_IF_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_count.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_count.hpp new file mode 100644 index 0000000000..5dab83663c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_count.hpp @@ -0,0 +1,147 @@ +#ifndef BOOST_MP11_DETAIL_MP_COUNT_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_COUNT_HPP_INCLUDED + +// Copyright 2015, 2016 Peter Dimov. +// +// 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 + +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_count +namespace detail +{ + +#if !defined( BOOST_MP11_NO_CONSTEXPR ) + +constexpr std::size_t cx_plus() +{ + return 0; +} + +template constexpr std::size_t cx_plus(T1 t1, T... t) +{ + return static_cast(t1) + cx_plus(t...); +} + +template +constexpr std::size_t cx_plus(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T... t) +{ + return static_cast(t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + t9 + t10) + cx_plus(t...); +} + +#endif + +template struct mp_count_impl; + +#if defined( BOOST_MP11_HAS_CXX14_CONSTEXPR ) + +template constexpr std::size_t cx_count() +{ + constexpr bool a[] = { false, std::is_same::value... }; + + std::size_t r = 0; + + for( std::size_t i = 0; i < sizeof...(T); ++i ) + { + r += a[ i+1 ]; + } + + return r; +} + +template class L, class... T, class V> struct mp_count_impl, V> +{ + using type = mp_size_t()>; +}; + +#elif !defined( BOOST_MP11_NO_CONSTEXPR ) + +template class L, class... T, class V> struct mp_count_impl, V> +{ + using type = mp_size_t::value...)>; +}; + +#else + +template class L, class... T, class V> struct mp_count_impl, V> +{ + using type = mp_size_t...>::value>; +}; + +#endif + +} // namespace detail + +template using mp_count = typename detail::mp_count_impl::type; + +// mp_count_if +namespace detail +{ + +template class P> struct mp_count_if_impl; + +#if defined( BOOST_MP11_HAS_CXX14_CONSTEXPR ) && !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1930 ) + +template class P, class... T> constexpr std::size_t cx_count_if() +{ + constexpr bool a[] = { false, static_cast( P::value )... }; + + std::size_t r = 0; + + for( std::size_t i = 0; i < sizeof...(T); ++i ) + { + r += a[ i+1 ]; + } + + return r; +} + +template class L, class... T, template class P> struct mp_count_if_impl, P> +{ + using type = mp_size_t()>; +}; + +#elif !defined( BOOST_MP11_NO_CONSTEXPR ) + +template class L, class... T, template class P> struct mp_count_if_impl, P> +{ + using type = mp_size_t>::value...)>; +}; + +#else + +template class L, class... T, template class P> struct mp_count_if_impl, P> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + + template struct _f { using type = mp_to_bool>; }; + using type = mp_size_t::type...>::value>; + +#else + + using type = mp_size_t>...>::value>; + +#endif +}; + +#endif + +} // namespace detail + +template class P> using mp_count_if = typename detail::mp_count_if_impl::type; +template using mp_count_if_q = mp_count_if; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_COUNT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_defer.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_defer.hpp new file mode 100644 index 0000000000..16c9bca2b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_defer.hpp @@ -0,0 +1,119 @@ +#ifndef BOOST_MP11_DETAIL_MP_DEFER_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_DEFER_HPP_INCLUDED + +// Copyright 2015-2020, 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_if, mp_if_c +namespace detail +{ + +template struct mp_if_c_impl +{ +}; + +template struct mp_if_c_impl +{ + using type = T; +}; + +template struct mp_if_c_impl +{ + using type = E; +}; + +} // namespace detail + +template using mp_if_c = typename detail::mp_if_c_impl::type; +template using mp_if = typename detail::mp_if_c_impl(C::value), T, E...>::type; + +// mp_valid + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_INTEL, != 0 ) // tested at 1800 + +// contributed by Roland Schulz in https://github.com/boostorg/mp11/issues/17 + +namespace detail +{ + +template using void_t = void; + +template class F, class... T> +struct mp_valid_impl: mp_false {}; + +template class F, class... T> +struct mp_valid_impl>, F, T...>: mp_true {}; + +} // namespace detail + +template class F, class... T> using mp_valid = typename detail::mp_valid_impl; + +#else + +// implementation by Bruno Dutra (by the name is_evaluable) +namespace detail +{ + +template class F, class... T> struct mp_valid_impl +{ + template class G, class = G> static mp_true check(int); + template class> static mp_false check(...); + + using type = decltype(check(0)); +}; + +} // namespace detail + +template class F, class... T> using mp_valid = typename detail::mp_valid_impl::type; + +#endif + +template using mp_valid_q = mp_valid; + +// mp_defer +namespace detail +{ + +template class F, class... T> struct mp_defer_impl +{ + using type = F; +}; + +struct mp_no_type +{ +}; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template class F, class... T> struct mp_defer_cuda_workaround +{ + using type = mp_if, detail::mp_defer_impl, detail::mp_no_type>; +}; + +#endif + +} // namespace detail + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_CUDA, >= 9000000 && BOOST_MP11_CUDA < 10000000 ) + +template class F, class... T> using mp_defer = typename detail::mp_defer_cuda_workaround< F, T...>::type; + +#else + +template class F, class... T> using mp_defer = mp_if, detail::mp_defer_impl, detail::mp_no_type>; + +#endif + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_DEFER_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_fold.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_fold.hpp new file mode 100644 index 0000000000..875cec5f0c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_fold.hpp @@ -0,0 +1,166 @@ +#ifndef BOOST_MP11_DETAIL_MP_FOLD_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_FOLD_HPP_INCLUDED + +// Copyright 2015-2017 Peter Dimov. +// +// 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 + +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_fold +namespace detail +{ + +template class F> struct mp_fold_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_fold is not a list +}; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, <= 1800 ) + +template class L, class... T, class V, template class F> struct mp_fold_impl, V, F> +{ + static_assert( sizeof...(T) == 0, "T... must be empty" ); + using type = V; +}; + +#else + +template class L, class V, template class F> struct mp_fold_impl, V, F> +{ + using type = V; +}; + +#endif + +// + +template class F> struct mp_fold_Q1 +{ + template + using fn = F; +}; + +template class F> struct mp_fold_Q2 +{ + template + using fn = F, T2>; +}; + +template class F> struct mp_fold_Q3 +{ + template + using fn = F, T2>, T3>; +}; + +template class F> struct mp_fold_Q4 +{ + template + using fn = F, T2>, T3>, T4>; +}; + +template class F> struct mp_fold_Q5 +{ + template + using fn = F, T2>, T3>, T4>, T5>; +}; + +template class F> struct mp_fold_Q6 +{ + template + using fn = F, T2>, T3>, T4>, T5>, T6>; +}; + +template class F> struct mp_fold_Q7 +{ + template + using fn = F, T2>, T3>, T4>, T5>, T6>, T7>; +}; + +template class F> struct mp_fold_Q8 +{ + template + using fn = F, T2>, T3>, T4>, T5>, T6>, T7>, T8>; +}; + +template class F> struct mp_fold_Q9 +{ + template + using fn = F, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>; +}; + +// + +template class L, class T1, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1> +{ +}; + +template class L, class T1, class T2, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2> +{ +}; + +template class L, class T1, class T2, class T3, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3> +{ +}; + +template class L, class T1, class T2, class T3, class T4, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3, T4> +{ +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3, T4, T5> +{ +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3, T4, T5, T6> +{ +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3, T4, T5, T6, T7> +{ +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3, T4, T5, T6, T7, T8> +{ +}; + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class V, template class F> +struct mp_fold_impl, V, F>: mp_defer::template fn, T1, T2, T3, T4, T5, T6, T7, T8, T9> +{ +}; + +// + +template class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class... T, class V, template class F> +struct mp_fold_impl, V, F> +{ + using type = typename mp_fold_impl, F, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, T10>, F>::type; +}; + +} // namespace detail + +template class F> using mp_fold = typename detail::mp_fold_impl, V, F>::type; +template using mp_fold_q = mp_fold; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_FOLD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_front.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_front.hpp new file mode 100644 index 0000000000..6a9211cdc0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_front.hpp @@ -0,0 +1,50 @@ +#ifndef BOOST_MP11_DETAIL_MP_FRONT_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_FRONT_HPP_INCLUDED + +// Copyright 2015-2023 Peter Dimov. +// +// 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 + +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_front +namespace detail +{ + +template struct mp_front_impl +{ +// An error "no type named 'type'" here means that the argument to mp_front +// is either not a list, or is an empty list +}; + +template class L, class T1, class... T> struct mp_front_impl> +{ + using type = T1; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto... A> struct mp_front_impl> +{ + using type = mp_value; +}; + +#endif + +} // namespace detail + +template using mp_front = typename detail::mp_front_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_FRONT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_is_list.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_is_list.hpp new file mode 100644 index 0000000000..1e51e80149 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_is_list.hpp @@ -0,0 +1,39 @@ +#ifndef BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED + +// Copyright 2015-2019 Peter Dimov. +// +// 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 + +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_is_list +namespace detail +{ + +template struct mp_is_list_impl +{ + using type = mp_false; +}; + +template class L, class... T> struct mp_is_list_impl> +{ + using type = mp_true; +}; + +} // namespace detail + +template using mp_is_list = typename detail::mp_is_list_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_IS_LIST_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_is_value_list.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_is_value_list.hpp new file mode 100644 index 0000000000..dfef8f124f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_is_value_list.hpp @@ -0,0 +1,41 @@ +#ifndef BOOST_MP11_DETAIL_MP_IS_VALUE_LIST_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_IS_VALUE_LIST_HPP_INCLUDED + +// Copyright 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_is_value_list +namespace detail +{ + +template struct mp_is_value_list_impl +{ + using type = mp_false; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A> struct mp_is_value_list_impl> +{ + using type = mp_true; +}; + +#endif + +} // namespace detail + +template using mp_is_value_list = typename detail::mp_is_value_list_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_IS_VALUE_LIST_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_list.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_list.hpp new file mode 100644 index 0000000000..9d42f43ed3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_list.hpp @@ -0,0 +1,24 @@ +#ifndef BOOST_MP11_DETAIL_MP_LIST_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_LIST_HPP_INCLUDED + +// Copyright 2015, 2016 Peter Dimov. +// +// 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 + +namespace boost +{ +namespace mp11 +{ + +// mp_list +template struct mp_list +{ +}; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_LIST_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_list_v.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_list_v.hpp new file mode 100644 index 0000000000..4181942c38 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_list_v.hpp @@ -0,0 +1,27 @@ +#ifndef BOOST_MP11_DETAIL_MP_LIST_V_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_LIST_V_HPP_INCLUDED + +// Copyright 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#include + +namespace boost +{ +namespace mp11 +{ + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +// mp_list_v +template struct mp_list_v +{ +}; + +#endif + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_LIST_V_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_map_find.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_map_find.hpp new file mode 100644 index 0000000000..f9686c62c8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_map_find.hpp @@ -0,0 +1,121 @@ +#ifndef BOOST_MP11_DETAIL_MP_MAP_FIND_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_MAP_FIND_HPP_INCLUDED + +// Copyright 2015 Peter Dimov. +// +// 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 + +#include +#include + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, >= 140000 ) + +#include +#include +#include + +#endif + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1930 ) + +// not exactly good practice, but... +namespace std +{ + template class tuple; +} + +#endif + +namespace boost +{ +namespace mp11 +{ + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, >= 140000 ) + +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120161 + +namespace detail +{ + +template struct mp_map_find_impl; + +template class M, class... T, class K> struct mp_map_find_impl, K> +{ + template using _f = mp_if, K>, mp_list, mp_list<>>; + + using _l = mp_append<_f..., mp_list>; + + using type = mp_front<_l>; +}; + +} // namespace detail + +template using mp_map_find = typename detail::mp_map_find_impl::type; + +#else + +// mp_map_find +namespace detail +{ + +#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1930 ) + +template using mpmf_wrap = mp_identity; +template using mpmf_unwrap = typename T::type; + +#else + +template struct mpmf_tuple {}; + +template struct mpmf_wrap_impl +{ + using type = mp_identity; +}; + +template struct mpmf_wrap_impl< std::tuple > +{ + using type = mp_identity< mpmf_tuple >; +}; + +template using mpmf_wrap = typename mpmf_wrap_impl::type; + +template struct mpmf_unwrap_impl +{ + using type = typename T::type; +}; + +template struct mpmf_unwrap_impl< mp_identity< mpmf_tuple > > +{ + using type = std::tuple; +}; + +template using mpmf_unwrap = typename mpmf_unwrap_impl::type; + +#endif // #if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1930 ) + +template struct mp_map_find_impl; + +template class M, class... T, class K> struct mp_map_find_impl, K> +{ + using U = mp_inherit...>; + + template class L, class... U> static mp_identity> f( mp_identity>* ); + static mp_identity f( ... ); + + using type = mpmf_unwrap< decltype( f( static_cast(0) ) ) >; +}; + +} // namespace detail + +template using mp_map_find = typename detail::mp_map_find_impl::type; + +#endif + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_MAP_FIND_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_min_element.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_min_element.hpp new file mode 100644 index 0000000000..e5e436b5a4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_min_element.hpp @@ -0,0 +1,51 @@ +#ifndef BOOST_MP11_DETAIL_MP_MIN_ELEMENT_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_MIN_ELEMENT_HPP_INCLUDED + +// Copyright 2015-2017 Peter Dimov. +// +// 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 + +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_min_element +namespace detail +{ + +template class P> struct select_min +{ + template using fn = mp_if, T1, T2>; +}; + +} // namespace detail + +template class P> using mp_min_element = mp_fold_q, mp_first, detail::select_min

>; +template using mp_min_element_q = mp_min_element; + +// mp_max_element +namespace detail +{ + +template class P> struct select_max +{ + template using fn = mp_if, T1, T2>; +}; + +} // namespace detail + +template class P> using mp_max_element = mp_fold_q, mp_first, detail::select_max

>; +template using mp_max_element_q = mp_max_element; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_MIN_ELEMENT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_plus.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_plus.hpp new file mode 100644 index 0000000000..356d9a7099 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_plus.hpp @@ -0,0 +1,84 @@ +#ifndef BOOST_MP11_DETAIL_MP_PLUS_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_PLUS_HPP_INCLUDED + +// Copyright 2015 Peter Dimov. +// +// 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 + +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_plus +namespace detail +{ + +#if defined( BOOST_MP11_HAS_FOLD_EXPRESSIONS ) && !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, != 0 ) && !BOOST_MP11_WORKAROUND( BOOST_MP11_CLANG, != 0 ) + +// msvc fails with parser stack overflow for large sizeof...(T) +// clang exceeds -fbracket-depth, which defaults to 256 + +template struct mp_plus_impl +{ + static const auto _v = (T::value + ... + 0); + using type = std::integral_constant::type, _v>; +}; + +#else + +template struct mp_plus_impl; + +template<> struct mp_plus_impl<> +{ + using type = std::integral_constant; +}; + +#if BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 40800 ) + +template struct mp_plus_impl +{ + static const decltype(T1::value + mp_plus_impl::type::value) _v = T1::value + mp_plus_impl::type::value; + using type = std::integral_constant::type, _v>; +}; + +template struct mp_plus_impl +{ + static const + decltype(T1::value + T2::value + T3::value + T4::value + T5::value + T6::value + T7::value + T8::value + T9::value + T10::value + mp_plus_impl::type::value) + _v = T1::value + T2::value + T3::value + T4::value + T5::value + T6::value + T7::value + T8::value + T9::value + T10::value + mp_plus_impl::type::value; + using type = std::integral_constant::type, _v>; +}; + +#else + +template struct mp_plus_impl +{ + static const auto _v = T1::value + mp_plus_impl::type::value; + using type = std::integral_constant::type, _v>; +}; + +template struct mp_plus_impl +{ + static const auto _v = T1::value + T2::value + T3::value + T4::value + T5::value + T6::value + T7::value + T8::value + T9::value + T10::value + mp_plus_impl::type::value; + using type = std::integral_constant::type, _v>; +}; + +#endif + +#endif + +} // namespace detail + +template using mp_plus = typename detail::mp_plus_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_PLUS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_remove_if.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_remove_if.hpp new file mode 100644 index 0000000000..660adc17f7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_remove_if.hpp @@ -0,0 +1,48 @@ +#ifndef BOOST_MP11_DETAIL_MP_REMOVE_IF_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_REMOVE_IF_HPP_INCLUDED + +// Copyright 2015-2019 Peter Dimov. +// +// 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 + +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_remove_if +namespace detail +{ + +template class P> struct mp_remove_if_impl +{ +}; + +template class L, class... T, template class P> struct mp_remove_if_impl, P> +{ +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) + template struct _f { using type = mp_if, mp_list<>, mp_list>; }; + using type = mp_append, typename _f::type...>; +#else + template using _f = mp_if, mp_list<>, mp_list>; + using type = mp_append, _f...>; +#endif +}; + +} // namespace detail + +template class P> using mp_remove_if = typename detail::mp_remove_if_impl::type; +template using mp_remove_if_q = mp_remove_if; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_REMOVE_IF_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_rename.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_rename.hpp new file mode 100644 index 0000000000..4a1ea31539 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_rename.hpp @@ -0,0 +1,54 @@ +#ifndef BOOST_MP11_DETAIL_MP_RENAME_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_RENAME_HPP_INCLUDED + +// Copyright 2015-2023 Peter Dimov. +// +// 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 + +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_rename +namespace detail +{ + +template class B> struct mp_rename_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_rename is not a list +}; + +template class L, class... T, template class B> struct mp_rename_impl, B>: mp_defer +{ +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A, template class B> struct mp_rename_impl, B>: mp_defer...> +{ +}; + +#endif + +} // namespace detail + +template class B> using mp_rename = typename detail::mp_rename_impl::type; + +// mp_apply +template class F, class L> using mp_apply = typename detail::mp_rename_impl::type; + +// mp_apply_q +template using mp_apply_q = typename detail::mp_rename_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_RENAME_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_value.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_value.hpp new file mode 100644 index 0000000000..7d29fd3c53 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_value.hpp @@ -0,0 +1,25 @@ +#ifndef BOOST_MP11_DETAIL_MP_VALUE_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_VALUE_HPP_INCLUDED + +// Copyright 2023 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include +#include + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +namespace boost +{ +namespace mp11 +{ + +template using mp_value = std::integral_constant; + +} // namespace mp11 +} // namespace boost + +#endif // #if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +#endif // #ifndef BOOST_MP11_DETAIL_MP_VALUE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_void.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_void.hpp new file mode 100644 index 0000000000..ec281c213c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_void.hpp @@ -0,0 +1,32 @@ +#ifndef BOOST_MP11_DETAIL_MP_VOID_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_VOID_HPP_INCLUDED + +// Copyright 2015-2017 Peter Dimov. +// +// 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 + +namespace boost +{ +namespace mp11 +{ + +// mp_void +namespace detail +{ + +template struct mp_void_impl +{ + using type = void; +}; + +} // namespace detail + +template using mp_void = typename detail::mp_void_impl::type; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_VOID_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/detail/mp_with_index.hpp b/external/include/boost_1_90_0/boost/mp11/detail/mp_with_index.hpp new file mode 100644 index 0000000000..fffea13379 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/detail/mp_with_index.hpp @@ -0,0 +1,385 @@ +#ifndef BOOST_MP11_DETAIL_MP_WITH_INDEX_HPP_INCLUDED +#define BOOST_MP11_DETAIL_MP_WITH_INDEX_HPP_INCLUDED + +// Copyright 2017 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include + +#if defined( BOOST_MP11_HAS_CXX14_CONSTEXPR ) +# define BOOST_MP11_CONSTEXPR14 constexpr +#else +# define BOOST_MP11_CONSTEXPR14 +#endif + +#if defined( __GNUC__ ) || defined( __clang__ ) +# define BOOST_MP11_UNREACHABLE_DEFAULT default: __builtin_unreachable(); +#elif defined( _MSC_VER ) +# define BOOST_MP11_UNREACHABLE_DEFAULT default: __assume(false); +#else +# define BOOST_MP11_UNREACHABLE_DEFAULT +#endif + +namespace boost +{ +namespace mp11 +{ + +namespace detail +{ + +template struct mp_with_index_impl_ +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + if( i < N / 2 ) + { + return mp_with_index_impl_::template call( i, std::forward(f) ); + } + else + { + return mp_with_index_impl_::template call( i - N/2, std::forward(f) ); + } + } +}; + +template<> struct mp_with_index_impl_<0> +{ +}; + +template<> struct mp_with_index_impl_<1> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t /*i*/, F && f ) + { + return std::forward(f)( mp_size_t() ); + } +}; + +template<> struct mp_with_index_impl_<2> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<3> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<4> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<5> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<6> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<7> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<8> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<9> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<10> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<11> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + case 10: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<12> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + case 10: return std::forward(f)( mp_size_t() ); + case 11: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<13> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + case 10: return std::forward(f)( mp_size_t() ); + case 11: return std::forward(f)( mp_size_t() ); + case 12: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<14> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + case 10: return std::forward(f)( mp_size_t() ); + case 11: return std::forward(f)( mp_size_t() ); + case 12: return std::forward(f)( mp_size_t() ); + case 13: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<15> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + case 10: return std::forward(f)( mp_size_t() ); + case 11: return std::forward(f)( mp_size_t() ); + case 12: return std::forward(f)( mp_size_t() ); + case 13: return std::forward(f)( mp_size_t() ); + case 14: return std::forward(f)( mp_size_t() ); + } + } +}; + +template<> struct mp_with_index_impl_<16> +{ + template static BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) call( std::size_t i, F && f ) + { + switch( i ) + { + BOOST_MP11_UNREACHABLE_DEFAULT + case 0: return std::forward(f)( mp_size_t() ); + case 1: return std::forward(f)( mp_size_t() ); + case 2: return std::forward(f)( mp_size_t() ); + case 3: return std::forward(f)( mp_size_t() ); + case 4: return std::forward(f)( mp_size_t() ); + case 5: return std::forward(f)( mp_size_t() ); + case 6: return std::forward(f)( mp_size_t() ); + case 7: return std::forward(f)( mp_size_t() ); + case 8: return std::forward(f)( mp_size_t() ); + case 9: return std::forward(f)( mp_size_t() ); + case 10: return std::forward(f)( mp_size_t() ); + case 11: return std::forward(f)( mp_size_t() ); + case 12: return std::forward(f)( mp_size_t() ); + case 13: return std::forward(f)( mp_size_t() ); + case 14: return std::forward(f)( mp_size_t() ); + case 15: return std::forward(f)( mp_size_t() ); + } + } +}; + +} // namespace detail + +template inline BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) mp_with_index( std::size_t i, F && f ) +{ + assert( i < N ); + return detail::mp_with_index_impl_::template call<0>( i, std::forward(f) ); +} + +template inline BOOST_MP11_CONSTEXPR14 decltype(std::declval()(std::declval>())) mp_with_index( std::size_t i, F && f ) +{ + return mp_with_index( i, std::forward(f) ); +} + +#undef BOOST_MP11_CONSTEXPR14 +#undef BOOST_MP11_UNREACHABLE_DEFAULT + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_DETAIL_MP_WITH_INDEX_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/function.hpp b/external/include/boost_1_90_0/boost/mp11/function.hpp new file mode 100644 index 0000000000..16b82a16bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/function.hpp @@ -0,0 +1,222 @@ +#ifndef BOOST_MP11_FUNCTION_HPP_INCLUDED +#define BOOST_MP11_FUNCTION_HPP_INCLUDED + +// Copyright 2015-2019 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_void +// in detail/mp_void.hpp + +// mp_and +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1910 ) + +namespace detail +{ + +template struct mp_and_impl; + +} // namespace detail + +template using mp_and = mp_to_bool< typename detail::mp_and_impl::type >; + +namespace detail +{ + +template<> struct mp_and_impl<> +{ + using type = mp_true; +}; + +template struct mp_and_impl +{ + using type = T; +}; + +template struct mp_and_impl +{ + using type = mp_eval_if< mp_not, T1, mp_and, T... >; +}; + +} // namespace detail + +#else + +namespace detail +{ + +template struct mp_and_impl +{ + using type = mp_false; +}; + +template struct mp_and_impl< mp_list, mp_void...> > +{ + using type = mp_true; +}; + +} // namespace detail + +template using mp_and = typename detail::mp_and_impl>::type; + +#endif + +// mp_all +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86355 +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, != 0 ) + +template using mp_all = mp_bool< mp_count_if< mp_list, mp_not >::value == 0 >; + +#else + +template using mp_all = mp_bool< mp_count< mp_list...>, mp_false >::value == 0 >; + +#endif + +// mp_or +namespace detail +{ + +template struct mp_or_impl; + +} // namespace detail + +template using mp_or = mp_to_bool< typename detail::mp_or_impl::type >; + +namespace detail +{ + +template<> struct mp_or_impl<> +{ + using type = mp_false; +}; + +template struct mp_or_impl +{ + using type = T; +}; + +template struct mp_or_impl +{ + using type = mp_eval_if< T1, T1, mp_or, T... >; +}; + +} // namespace detail + +// mp_any +// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86356 +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1920 ) || BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, != 0 ) + +template using mp_any = mp_bool< mp_count_if< mp_list, mp_to_bool >::value != 0 >; + +#else + +template using mp_any = mp_bool< mp_count< mp_list...>, mp_true >::value != 0 >; + +#endif + +// mp_same +namespace detail +{ + +template struct mp_same_impl; + +template<> struct mp_same_impl<> +{ + using type = mp_true; +}; + +template struct mp_same_impl +{ + using type = mp_bool< mp_count, T1>::value == sizeof...(T) >; +}; + +} // namespace detail + +template using mp_same = typename detail::mp_same_impl::type; + +// mp_similar +namespace detail +{ + +template struct mp_similar_impl; + +template<> struct mp_similar_impl<> +{ + using type = mp_true; +}; + +template struct mp_similar_impl +{ + using type = mp_true; +}; + +template struct mp_similar_impl +{ + using type = mp_true; +}; + +template struct mp_similar_impl +{ + using type = mp_false; +}; + +template class L, class... T1, class... T2> struct mp_similar_impl, L> +{ + using type = mp_true; +}; + +template class L, class... T> struct mp_similar_impl, L> +{ + using type = mp_true; +}; + +template struct mp_similar_impl +{ + using type = mp_all< typename mp_similar_impl::type, typename mp_similar_impl::type, typename mp_similar_impl::type... >; +}; + +} // namespace detail + +template using mp_similar = typename detail::mp_similar_impl::type; + +#if BOOST_MP11_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wsign-compare" +#endif + +// mp_less +template using mp_less = mp_bool<(T1::value < 0 && T2::value >= 0) || ((T1::value < T2::value) && !(T1::value >= 0 && T2::value < 0))>; + +#if BOOST_MP11_GCC +# pragma GCC diagnostic pop +#endif + +// mp_min +template using mp_min = mp_min_element, mp_less>; + +// mp_max +template using mp_max = mp_max_element, mp_less>; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_FUNCTION_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/integer_sequence.hpp b/external/include/boost_1_90_0/boost/mp11/integer_sequence.hpp new file mode 100644 index 0000000000..e033d94925 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/integer_sequence.hpp @@ -0,0 +1,121 @@ +#ifndef BOOST_MP11_INTEGER_SEQUENCE_HPP_INCLUDED +#define BOOST_MP11_INTEGER_SEQUENCE_HPP_INCLUDED + +// Copyright 2015, 2017, 2019 Peter Dimov. +// +// 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 + +#include +#include + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma push_macro( "I" ) +# undef I +#endif + +#if defined(__has_builtin) +# if __has_builtin(__make_integer_seq) +# define BOOST_MP11_HAS_MAKE_INTEGER_SEQ +# endif +#endif + +namespace boost +{ +namespace mp11 +{ + +// integer_sequence +template struct integer_sequence +{ +}; + +#if defined(BOOST_MP11_HAS_MAKE_INTEGER_SEQ) + +template using make_integer_sequence = __make_integer_seq; + +#else + +// detail::make_integer_sequence_impl +namespace detail +{ + +// iseq_if_c +template struct iseq_if_c_impl; + +template struct iseq_if_c_impl +{ + using type = T; +}; + +template struct iseq_if_c_impl +{ + using type = E; +}; + +template using iseq_if_c = typename iseq_if_c_impl::type; + +// iseq_identity +template struct iseq_identity +{ + using type = T; +}; + +template struct append_integer_sequence; + +template struct append_integer_sequence, integer_sequence> +{ + using type = integer_sequence< T, I..., ( J + sizeof...(I) )... >; +}; + +template struct make_integer_sequence_impl; + +template struct make_integer_sequence_impl_ +{ +private: + + static_assert( N >= 0, "make_integer_sequence: N must not be negative" ); + + static T const M = N / 2; + static T const R = N % 2; + + using S1 = typename make_integer_sequence_impl::type; + using S2 = typename append_integer_sequence::type; + using S3 = typename make_integer_sequence_impl::type; + using S4 = typename append_integer_sequence::type; + +public: + + using type = S4; +}; + +template struct make_integer_sequence_impl: iseq_if_c>, iseq_if_c>, make_integer_sequence_impl_ > > +{ +}; + +} // namespace detail + +// make_integer_sequence +template using make_integer_sequence = typename detail::make_integer_sequence_impl::type; + +#endif // defined(BOOST_MP11_HAS_MAKE_INTEGER_SEQ) + +// index_sequence +template using index_sequence = integer_sequence; + +// make_index_sequence +template using make_index_sequence = make_integer_sequence; + +// index_sequence_for +template using index_sequence_for = make_integer_sequence; + +} // namespace mp11 +} // namespace boost + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma pop_macro( "I" ) +#endif + +#endif // #ifndef BOOST_MP11_INTEGER_SEQUENCE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/integral.hpp b/external/include/boost_1_90_0/boost/mp11/integral.hpp new file mode 100644 index 0000000000..fcc5e20e3f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/integral.hpp @@ -0,0 +1,51 @@ +#ifndef BOOST_MP11_INTEGRAL_HPP_INCLUDED +#define BOOST_MP11_INTEGRAL_HPP_INCLUDED + +// Copyright 2015 Peter Dimov. +// +// 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 + +#include +#include +#include +#include + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma push_macro( "I" ) +# undef I +#endif + +namespace boost +{ +namespace mp11 +{ + +// mp_bool +template using mp_bool = std::integral_constant; + +using mp_true = mp_bool; +using mp_false = mp_bool; + +// mp_to_bool +template using mp_to_bool = mp_bool( T::value )>; + +// mp_not +template using mp_not = mp_bool< !T::value >; + +// mp_int +template using mp_int = std::integral_constant; + +// mp_size_t +template using mp_size_t = std::integral_constant; + +} // namespace mp11 +} // namespace boost + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma pop_macro( "I" ) +#endif + +#endif // #ifndef BOOST_MP11_INTEGRAL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/list.hpp b/external/include/boost_1_90_0/boost/mp11/list.hpp new file mode 100644 index 0000000000..f99e3a3a44 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/list.hpp @@ -0,0 +1,481 @@ +#ifndef BOOST_MP11_LIST_HPP_INCLUDED +#define BOOST_MP11_LIST_HPP_INCLUDED + +// Copyright 2015-2023 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma push_macro( "I" ) +# undef I +#endif + +namespace boost +{ +namespace mp11 +{ + +// mp_list +// in detail/mp_list.hpp + +// mp_list_c +template using mp_list_c = mp_list...>; + +// mp_list_v +// in detail/mp_list_v.hpp + +// mp_is_list +// in detail/mp_is_list.hpp + +// mp_is_value_list +// in detail/mp_is_value_list.hpp + +// mp_size +namespace detail +{ + +template struct mp_size_impl +{ +// An error "no type named 'type'" here means that the argument to mp_size is not a list +}; + +template class L, class... T> struct mp_size_impl> +{ + using type = mp_size_t; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A> struct mp_size_impl> +{ + using type = mp_size_t; +}; + +#endif + +} // namespace detail + +template using mp_size = typename detail::mp_size_impl::type; + +// mp_empty +template using mp_empty = mp_bool< mp_size::value == 0 >; + +// mp_assign +namespace detail +{ + +template struct mp_assign_impl +{ +// An error "no type named 'type'" here means that the arguments to mp_assign aren't lists +}; + +template class L1, class... T, template class L2, class... U> struct mp_assign_impl, L2> +{ + using type = L1; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L1, auto... A, template class L2, class... U> struct mp_assign_impl, L2> +{ + using type = L1; +}; + +template class L1, class... T, template class L2, auto... B> struct mp_assign_impl, L2> +{ + using type = L1...>; +}; + +template class L1, auto... A, template class L2, auto... B> struct mp_assign_impl, L2> +{ + using type = L1; +}; + +#endif + +} // namespace detail + +template using mp_assign = typename detail::mp_assign_impl::type; + +// mp_clear +template using mp_clear = mp_assign>; + +// mp_front +// in detail/mp_front.hpp + +// mp_pop_front +namespace detail +{ + +template struct mp_pop_front_impl +{ +// An error "no type named 'type'" here means that the argument to mp_pop_front +// is either not a list, or is an empty list +}; + +template class L, class T1, class... T> struct mp_pop_front_impl> +{ + using type = L; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto... A> struct mp_pop_front_impl> +{ + using type = L; +}; + +#endif + +} // namespace detail + +template using mp_pop_front = typename detail::mp_pop_front_impl::type; + +// mp_first +template using mp_first = mp_front; + +// mp_rest +template using mp_rest = mp_pop_front; + +// mp_second +namespace detail +{ + +template struct mp_second_impl +{ +// An error "no type named 'type'" here means that the argument to mp_second +// is either not a list, or has fewer than two elements +}; + +template class L, class T1, class T2, class... T> struct mp_second_impl> +{ + using type = T2; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto A2, auto... A> struct mp_second_impl> +{ + using type = mp_value; +}; + +#endif + +} // namespace detail + +template using mp_second = typename detail::mp_second_impl::type; + +// mp_third +namespace detail +{ + +template struct mp_third_impl +{ +// An error "no type named 'type'" here means that the argument to mp_third +// is either not a list, or has fewer than three elements +}; + +template class L, class T1, class T2, class T3, class... T> struct mp_third_impl> +{ + using type = T3; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto A2, auto A3, auto... A> struct mp_third_impl> +{ + using type = mp_value; +}; + +#endif + +} // namespace detail + +template using mp_third = typename detail::mp_third_impl::type; + +// mp_push_front +namespace detail +{ + +template struct mp_push_front_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_push_front is not a list +}; + +template class L, class... U, class... T> struct mp_push_front_impl, T...> +{ + using type = L; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A, class... T> struct mp_push_front_impl, T...> +{ + using type = L; +}; + +#endif + +} // namespace detail + +template using mp_push_front = typename detail::mp_push_front_impl::type; + +// mp_push_back +namespace detail +{ + +template struct mp_push_back_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_push_back is not a list +}; + +template class L, class... U, class... T> struct mp_push_back_impl, T...> +{ + using type = L; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto... A, class... T> struct mp_push_back_impl, T...> +{ + using type = L; +}; + +#endif + +} // namespace detail + +template using mp_push_back = typename detail::mp_push_back_impl::type; + +// mp_rename +// mp_apply +// mp_apply_q +// in detail/mp_rename.hpp + +// mp_rename_v +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +namespace detail +{ + +template class B> struct mp_rename_v_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_rename_v is not a list +}; + +template class L, class... T, template class B> struct mp_rename_v_impl, B> +{ + using type = B; +}; + +template class L, auto... A, template class B> struct mp_rename_v_impl, B> +{ + using type = B; +}; + +} // namespace detail + +template class B> using mp_rename_v = typename detail::mp_rename_v_impl::type; + +#endif + +// mp_replace_front +namespace detail +{ + +template struct mp_replace_front_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_replace_front +// is either not a list, or is an empty list +}; + +template class L, class U1, class... U, class T> struct mp_replace_front_impl, T> +{ + using type = L; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto... A, class T> struct mp_replace_front_impl, T> +{ + using type = L; +}; + +#endif + +} // namespace detail + +template using mp_replace_front = typename detail::mp_replace_front_impl::type; + +// mp_replace_first +template using mp_replace_first = typename detail::mp_replace_front_impl::type; + +// mp_replace_second +namespace detail +{ + +template struct mp_replace_second_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_replace_second +// is either not a list, or has fewer than two elements +}; + +template class L, class U1, class U2, class... U, class T> struct mp_replace_second_impl, T> +{ + using type = L; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto A2, auto... A, class T> struct mp_replace_second_impl, T> +{ + using type = L; +}; + +#endif + +} // namespace detail + +template using mp_replace_second = typename detail::mp_replace_second_impl::type; + +// mp_replace_third +namespace detail +{ + +template struct mp_replace_third_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_replace_third +// is either not a list, or has fewer than three elements +}; + +template class L, class U1, class U2, class U3, class... U, class T> struct mp_replace_third_impl, T> +{ + using type = L; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto A2, auto A3, auto... A, class T> struct mp_replace_third_impl, T> +{ + using type = L; +}; + +#endif + +} // namespace detail + +template using mp_replace_third = typename detail::mp_replace_third_impl::type; + +// mp_transform_front +namespace detail +{ + +template class F> struct mp_transform_front_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_transform_front +// is either not a list, or is an empty list +}; + +template class L, class U1, class... U, template class F> struct mp_transform_front_impl, F> +{ + using type = L, U...>; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto... A, template class F> struct mp_transform_front_impl, F> +{ + using type = L>::value, A...>; +}; + +#endif + +} // namespace detail + +template class F> using mp_transform_front = typename detail::mp_transform_front_impl::type; +template using mp_transform_front_q = mp_transform_front; + +// mp_transform_first +template class F> using mp_transform_first = typename detail::mp_transform_front_impl::type; +template using mp_transform_first_q = mp_transform_first; + +// mp_transform_second +namespace detail +{ + +template class F> struct mp_transform_second_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_transform_second +// is either not a list, or has fewer than two elements +}; + +template class L, class U1, class U2, class... U, template class F> struct mp_transform_second_impl, F> +{ + using type = L, U...>; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto A2, auto... A, template class F> struct mp_transform_second_impl, F> +{ + using type = L>::value, A...>; +}; + +#endif + +} // namespace detail + +template class F> using mp_transform_second = typename detail::mp_transform_second_impl::type; +template using mp_transform_second_q = mp_transform_second; + +// mp_transform_third +namespace detail +{ + +template class F> struct mp_transform_third_impl +{ +// An error "no type named 'type'" here means that the first argument to mp_transform_third +// is either not a list, or has fewer than three elements +}; + +template class L, class U1, class U2, class U3, class... U, template class F> struct mp_transform_third_impl, F> +{ + using type = L, U...>; +}; + +#if defined(BOOST_MP11_HAS_TEMPLATE_AUTO) + +template class L, auto A1, auto A2, auto A3, auto... A, template class F> struct mp_transform_third_impl, F> +{ + using type = L>::value, A...>; +}; + +#endif + +} // namespace detail + +template class F> using mp_transform_third = typename detail::mp_transform_third_impl::type; +template using mp_transform_third_q = mp_transform_third; + +} // namespace mp11 +} // namespace boost + +#if defined(_MSC_VER) || defined(__GNUC__) +# pragma pop_macro( "I" ) +#endif + +#endif // #ifndef BOOST_MP11_LIST_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/set.hpp b/external/include/boost_1_90_0/boost/mp11/set.hpp new file mode 100644 index 0000000000..80959b6631 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/set.hpp @@ -0,0 +1,220 @@ +#ifndef BOOST_MP11_SET_HPP_INCLUDED +#define BOOST_MP11_SET_HPP_INCLUDED + +// Copyright 2015, 2019, 2024 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_set_contains +namespace detail +{ + +template struct mp_set_contains_impl +{ +}; + +template class L, class... T, class V> struct mp_set_contains_impl, V> +{ + using type = mp_to_bool, mp_inherit...> > >; +}; + +} // namespace detail + +template using mp_set_contains = typename detail::mp_set_contains_impl::type; + +// mp_set_push_back +namespace detail +{ + +template struct mp_set_push_back_impl +{ +}; + +template class L, class... U> struct mp_set_push_back_impl> +{ + using type = L; +}; + +template class L, class... U, class T1, class... T> struct mp_set_push_back_impl, T1, T...> +{ + using S = mp_if, T1>, L, L>; + using type = typename mp_set_push_back_impl::type; +}; + +} // namespace detail + +template using mp_set_push_back = typename detail::mp_set_push_back_impl::type; + +// mp_set_push_front +namespace detail +{ + +template struct mp_set_push_front_impl +{ +}; + +template class L, class... U> struct mp_set_push_front_impl> +{ + using type = L; +}; + +template class L, class... U, class T1> struct mp_set_push_front_impl, T1> +{ + using type = mp_if, T1>, L, L>; +}; + +template class L, class... U, class T1, class... T> struct mp_set_push_front_impl, T1, T...> +{ + using S = typename mp_set_push_front_impl, T...>::type; + using type = typename mp_set_push_front_impl::type; +}; + +} // namespace detail + +template using mp_set_push_front = typename detail::mp_set_push_front_impl::type; + +// mp_is_set +namespace detail +{ + +#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 ) + +struct mp_is_set_helper_start +{ + static constexpr bool value = true; + template static mp_false contains( T ); +}; + +template +struct mp_is_set_helper: Base +{ + static constexpr bool value = Base::value && !decltype( Base::contains( mp_identity{} ) )::value; + using Base::contains; + static mp_true contains( mp_identity ); +}; + +template struct mp_is_set_impl +{ + using type = mp_false; +}; + +template class L, class... T> struct mp_is_set_impl> +{ + using type = mp_bool, detail::mp_is_set_helper_start, detail::mp_is_set_helper>::value>; +}; + +#else + +template struct mp_is_set_impl +{ + using type = mp_false; +}; + +template class L, class... T> struct mp_is_set_impl> +{ + using type = mp_to_bool, mp_set_push_back, T...> > >; +}; + +#endif // !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 ) + +} // namespace detail + +template using mp_is_set = typename detail::mp_is_set_impl::type; + +// mp_set_union +namespace detail +{ + +template struct mp_set_union_impl +{ +}; + +template<> struct mp_set_union_impl<> +{ + using type = mp_list<>; +}; + +template class L, class... T> struct mp_set_union_impl> +{ + using type = L; +}; + +template class L1, class... T1, template class L2, class... T2> struct mp_set_union_impl, L2> +{ + using type = mp_set_push_back, T2...>; +}; + +template using mp_set_union_ = typename mp_set_union_impl, L...>>::type; + +template struct mp_set_union_impl: mp_defer +{ +}; + +} // namespace detail + +template using mp_set_union = typename detail::mp_set_union_impl::type; + +// mp_set_intersection +namespace detail +{ + +template struct in_all_sets +{ + template using fn = mp_all< mp_set_contains... >; +}; + +template using mp_set_intersection_ = mp_if< mp_all...>, mp_copy_if_q> >; + +template struct mp_set_intersection_impl +{ +}; + +template<> struct mp_set_intersection_impl<> +{ + using type = mp_list<>; +}; + +template struct mp_set_intersection_impl: mp_defer +{ +}; + +} // namespace detail + +template using mp_set_intersection = typename detail::mp_set_intersection_impl::type; + +// mp_set_difference +namespace detail +{ + +template struct in_any_set +{ + template using fn = mp_any< mp_set_contains... >; +}; + +} // namespace detail + +template using mp_set_difference = mp_if< mp_all...>, mp_remove_if_q> >; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_SET_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/utility.hpp b/external/include/boost_1_90_0/boost/mp11/utility.hpp new file mode 100644 index 0000000000..280c2f1c97 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/utility.hpp @@ -0,0 +1,169 @@ +#ifndef BOOST_MP11_UTILITY_HPP_INCLUDED +#define BOOST_MP11_UTILITY_HPP_INCLUDED + +// Copyright 2015-2020 Peter Dimov. +// +// 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 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ +namespace mp11 +{ + +// mp_identity +template struct mp_identity +{ + using type = T; +}; + +// mp_identity_t +template using mp_identity_t = typename mp_identity::type; + +// mp_inherit +template struct mp_inherit: T... {}; + +// mp_if, mp_if_c +// mp_valid +// mp_defer +// moved to detail/mp_defer.hpp + +// mp_eval_if, mp_eval_if_c +namespace detail +{ + +template class F, class... U> struct mp_eval_if_c_impl; + +template class F, class... U> struct mp_eval_if_c_impl +{ + using type = T; +}; + +template class F, class... U> struct mp_eval_if_c_impl: mp_defer +{ +}; + +} // namespace detail + +template class F, class... U> using mp_eval_if_c = typename detail::mp_eval_if_c_impl::type; +template class F, class... U> using mp_eval_if = typename detail::mp_eval_if_c_impl(C::value), T, F, U...>::type; +template using mp_eval_if_q = typename detail::mp_eval_if_c_impl(C::value), T, Q::template fn, U...>::type; + +// mp_eval_if_not +template class F, class... U> using mp_eval_if_not = mp_eval_if, T, F, U...>; +template using mp_eval_if_not_q = mp_eval_if, T, Q::template fn, U...>; + +// mp_eval_or +template class F, class... U> using mp_eval_or = mp_eval_if_not, T, F, U...>; +template using mp_eval_or_q = mp_eval_or; + +// mp_valid_and_true +template class F, class... T> using mp_valid_and_true = mp_eval_or; +template using mp_valid_and_true_q = mp_valid_and_true; + +// mp_cond + +// so elegant; so doesn't work +// template using mp_cond = mp_eval_if; + +namespace detail +{ + +template struct mp_cond_impl; + +} // namespace detail + +template using mp_cond = typename detail::mp_cond_impl::type; + +namespace detail +{ + +template using mp_cond_ = mp_eval_if; + +template struct mp_cond_impl: mp_defer +{ +}; + +} // namespace detail + +// mp_quote +template class F> struct mp_quote +{ + // the indirection through mp_defer works around the language inability + // to expand T... into a fixed parameter list of an alias template + + template using fn = typename mp_defer::type; +}; + +// mp_quote_trait +template class F> struct mp_quote_trait +{ + template using fn = typename F::type; +}; + +// mp_invoke_q +#if BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 ) + +namespace detail +{ + +template struct mp_invoke_q_impl: mp_defer {}; + +} // namespace detail + +template using mp_invoke_q = typename detail::mp_invoke_q_impl::type; + +#elif BOOST_MP11_WORKAROUND( BOOST_MP11_GCC, < 50000 ) + +template using mp_invoke_q = typename mp_defer::type; + +#else + +template using mp_invoke_q = typename Q::template fn; + +#endif + +// mp_not_fn

+template class P> struct mp_not_fn +{ + template using fn = mp_not< mp_invoke_q, T...> >; +}; + +template using mp_not_fn_q = mp_not_fn; + +// mp_compose +namespace detail +{ + +template using mp_compose_helper = mp_list< mp_apply_q >; + +} // namespace detail + +#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 ) + +template class... F> struct mp_compose +{ + template using fn = mp_front< mp_fold...>, mp_list, detail::mp_compose_helper> >; +}; + +#endif + +template struct mp_compose_q +{ + template using fn = mp_front< mp_fold, mp_list, detail::mp_compose_helper> >; +}; + +} // namespace mp11 +} // namespace boost + +#endif // #ifndef BOOST_MP11_UTILITY_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mp11/version.hpp b/external/include/boost_1_90_0/boost/mp11/version.hpp new file mode 100644 index 0000000000..6378519740 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mp11/version.hpp @@ -0,0 +1,16 @@ +#ifndef BOOST_MP11_VERSION_HPP_INCLUDED +#define BOOST_MP11_VERSION_HPP_INCLUDED + +// Copyright 2019 Peter Dimov +// +// 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 + +// Same format as BOOST_VERSION: +// major * 100000 + minor * 100 + patch + +#define BOOST_MP11_VERSION 109000 + +#endif // #ifndef BOOST_MP11_VERSION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/O1_size.hpp b/external/include/boost_1_90_0/boost/mpl/O1_size.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/O1_size.hpp rename to external/include/boost_1_90_0/boost/mpl/O1_size.hpp diff --git a/external/include/boost_1_75/boost/mpl/O1_size_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/O1_size_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/O1_size_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/O1_size_fwd.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/advance.hpp b/external/include/boost_1_90_0/boost/mpl/advance.hpp new file mode 100644 index 0000000000..1af600417f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/advance.hpp @@ -0,0 +1,76 @@ + +#ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED +#define BOOST_MPL_ADVANCE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation for forward/bidirectional iterators +template< typename Tag > +struct advance_impl +{ + template< typename Iterator, typename N > struct apply + { + typedef typename less< N,long_<0> >::type backward_; + typedef typename if_< backward_, negate, N >::type offset_; + + typedef typename if_< + backward_ + , aux::advance_backward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value > + , aux::advance_forward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value > + >::type f_; + + typedef typename apply_wrap1::type type; + }; +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Iterator) + , typename BOOST_MPL_AUX_NA_PARAM(N) + > +struct advance + : advance_impl< typename tag::type > + ::template apply +{ +}; + +template< + typename Iterator + , BOOST_MPL_AUX_NTTP_DECL(long, N) + > +struct advance_c + : advance_impl< typename tag::type > + ::template apply > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(2, advance) + +}} + +#endif // BOOST_MPL_ADVANCE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/advance_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/advance_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/advance_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/advance_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/always.hpp b/external/include/boost_1_90_0/boost/mpl/always.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/always.hpp rename to external/include/boost_1_90_0/boost/mpl/always.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/and.hpp b/external/include/boost_1_90_0/boost/mpl/and.hpp new file mode 100644 index 0000000000..30e6ddbba1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/and.hpp @@ -0,0 +1,56 @@ + +#ifndef BOOST_MPL_AND_HPP_INCLUDED +#define BOOST_MPL_AND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# include +# include +# include +# include + +// agurt, 19/may/04: workaround a conflict with header's +// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)' +// has to be checked in a separate condition, otherwise GCC complains +// about 'and' being an alternative token +#if defined(_MSC_EXTENSIONS) +#if defined(and) +# pragma push_macro("and") +# undef and +# define and(x) +#endif +#endif + +# define BOOST_MPL_PREPROCESSED_HEADER and.hpp +# include + +#if defined(_MSC_EXTENSIONS) +#if defined(and) +# pragma pop_macro("and") +#endif +#endif + +#else + +# define AUX778076_OP_NAME and_ +# define AUX778076_OP_VALUE1 false +# define AUX778076_OP_VALUE2 true +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/apply.hpp b/external/include/boost_1_90_0/boost/mpl/apply.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/apply.hpp rename to external/include/boost_1_90_0/boost/mpl/apply.hpp diff --git a/external/include/boost_1_75/boost/mpl/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/apply_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/apply_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/apply_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/apply_wrap.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/apply_wrap.hpp rename to external/include/boost_1_90_0/boost/mpl/apply_wrap.hpp diff --git a/external/include/boost_1_75/boost/mpl/arg.hpp b/external/include/boost_1_90_0/boost/mpl/arg.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/arg.hpp rename to external/include/boost_1_90_0/boost/mpl/arg.hpp diff --git a/external/include/boost_1_75/boost/mpl/arg_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/arg_fwd.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/arg_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/arg_fwd.hpp index 7346dc3555..40fdf4abd1 100644 --- a/external/include/boost_1_75/boost/mpl/arg_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/arg_fwd.hpp @@ -1,28 +1,28 @@ - -#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED -#define BOOST_MPL_ARG_FWD_HPP_INCLUDED - -// Copyright Peter Dimov 2001-2002 -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(arg) - -#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED +#define BOOST_MPL_ARG_FWD_HPP_INCLUDED + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(arg) + +#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/assert.hpp b/external/include/boost_1_90_0/boost/mpl/assert.hpp new file mode 100644 index 0000000000..4b0a97a08c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/assert.hpp @@ -0,0 +1,459 @@ + +#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED +#define BOOST_MPL_ASSERT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include // make sure 'size_t' is placed into 'std' +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) +#include +#endif + +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || (BOOST_MPL_CFG_GCC != 0) \ + || BOOST_WORKAROUND(__IBMCPP__, <= 600) +# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES +#endif + +#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER +#endif + +// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) +// and GCC/PGI/Clang (which issues "unused variable" warnings when static constants are used +// at a function scope) +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || (BOOST_MPL_CFG_GCC != 0) || (BOOST_MPL_CFG_GPU != 0) || defined(__PGI) || defined(__clang__) +# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } +#else +# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr) +#endif + + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +struct failed {}; + +// agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept +// 'assert' by reference; can't apply it unconditionally -- apparently it +// degrades the quality of GCC diagnostics +#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) +# define AUX778076_ASSERT_ARG(x) x& +#else +# define AUX778076_ASSERT_ARG(x) x +#endif + +template< bool C > struct assert { typedef void* type; }; +template<> struct assert { typedef AUX778076_ASSERT_ARG(assert) type; }; + +template< bool C > +int assertion_failed( typename assert::type ); + +template< bool C > +struct assertion +{ + static int failed( assert ); +}; + +template<> +struct assertion +{ + static int failed( void* ); +}; + +struct assert_ +{ +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) + template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {}; +#endif + static assert_ const arg; + enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal }; +}; + + +#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) + +bool operator==( failed, failed ); +bool operator!=( failed, failed ); +bool operator>( failed, failed ); +bool operator>=( failed, failed ); +bool operator<( failed, failed ); +bool operator<=( failed, failed ); + +#if defined(__EDG_VERSION__) +template< bool (*)(failed, failed), long x, long y > struct assert_relation {}; +# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation +#else +template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > +struct assert_relation {}; +# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation +#endif + +#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES + +boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ ); +boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ ); +boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ ); +boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ ); +boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ ); +boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ ); + +template< assert_::relations r, long x, long y > struct assert_relation {}; + +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) + +template +struct extract_assert_pred; + +template +struct extract_assert_pred { typedef Pred type; }; + +template +struct eval_assert { + typedef typename extract_assert_pred::type P; + typedef typename P::type p_type; + typedef typename ::boost::mpl::if_c), + failed ************ P::************ + >::type type; +}; + +template +struct eval_assert_not { + typedef typename extract_assert_pred::type P; + typedef typename P::type p_type; + typedef typename ::boost::mpl::if_c), + failed ************ ::boost::mpl::not_

::************ + >::type type; +}; + +template< typename T > +T make_assert_arg(); + +#elif !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) + +template< bool > struct assert_arg_pred_impl { typedef int type; }; +template<> struct assert_arg_pred_impl { typedef void* type; }; + +template< typename P > struct assert_arg_pred +{ + typedef typename P::type p_type; + typedef typename assert_arg_pred_impl< p_type::value >::type type; +}; + +template< typename P > struct assert_arg_pred_not +{ + typedef typename P::type p_type; + BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value ); + typedef typename assert_arg_pred_impl

::type type; +}; + +#if BOOST_WORKAROUND(BOOST_GCC_VERSION, >= 80000) +#define BOOST_MPL_IGNORE_PARENTHESES_WARNING +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wparentheses" +#endif + +template< typename Pred > +failed ************ (Pred::************ + assert_arg( void (*)(Pred), typename assert_arg_pred::type ) + ); + +template< typename Pred > +failed ************ (boost::mpl::not_::************ + assert_not_arg( void (*)(Pred), typename assert_arg_pred_not::type ) + ); + +#ifdef BOOST_MPL_IGNORE_PARENTHESES_WARNING +#undef BOOST_MPL_IGNORE_PARENTHESES_WARNING +#pragma GCC diagnostic pop +#endif + +template< typename Pred > +AUX778076_ASSERT_ARG(assert) +assert_arg( void (*)(Pred), typename assert_arg_pred_not::type ); + +template< typename Pred > +AUX778076_ASSERT_ARG(assert) +assert_not_arg( void (*)(Pred), typename assert_arg_pred::type ); + + +#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER + +template< bool c, typename Pred > struct assert_arg_type_impl +{ + typedef failed ************ Pred::* mwcw83_wknd; + typedef mwcw83_wknd ************* type; +}; + +template< typename Pred > struct assert_arg_type_impl +{ + typedef AUX778076_ASSERT_ARG(assert) type; +}; + +template< typename Pred > struct assert_arg_type + : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred > +{ +}; + +template< typename Pred > +typename assert_arg_type::type +assert_arg(void (*)(Pred), int); + +template< typename Pred > +typename assert_arg_type< boost::mpl::not_ >::type +assert_not_arg(void (*)(Pred), int); + +# if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) +template< long x, long y, bool (*r)(failed, failed) > +typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type +assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) ); +# else +template< assert_::relations r, long x, long y > +typename assert_arg_type_impl< false,assert_relation >::type +assert_rel_arg( assert_relation ); +# endif + +#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER + +#undef AUX778076_ASSERT_ARG + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1700) + +// BOOST_MPL_ASSERT((pred)) + +#define BOOST_MPL_ASSERT(pred) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::make_assert_arg< \ + typename boost::mpl::eval_assert::type \ + >() \ + ) \ + ) \ + ) \ +/**/ + +// BOOST_MPL_ASSERT_NOT((pred)) + +#define BOOST_MPL_ASSERT_NOT(pred) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::make_assert_arg< \ + typename boost::mpl::eval_assert_not::type \ + >() \ + ) \ + ) \ + ) \ +/**/ + +#else + +// BOOST_MPL_ASSERT((pred)) + +#define BOOST_MPL_ASSERT(pred) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::assert_arg( (void (*) pred)BOOST_NULLPTR, 1 ) \ + ) \ + ) \ + ) \ +/**/ + +// BOOST_MPL_ASSERT_NOT((pred)) + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_MPL_ASSERT_NOT(pred) \ +enum { \ + BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion::failed( \ + boost::mpl::assert_not_arg( (void (*) pred)BOOST_NULLPTR, 1 ) \ + ) \ + ) \ +}\ +/**/ +#else +# define BOOST_MPL_ASSERT_NOT(pred) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::assert_not_arg( (void (*) pred)BOOST_NULLPTR, 1 ) \ + ) \ + ) \ + ) \ +/**/ +#endif + +#endif + +// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y) + +#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) + +# if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) +// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518 +# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \ +enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion_failed( \ + (boost::mpl::failed ************ ( boost::mpl::assert_relation< \ + boost::mpl::assert_::relations( sizeof( \ + boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ + ) ) \ + , x \ + , y \ + >::************)) 0 ) \ + ) \ + ) \ +/**/ +# else +# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \ + boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ + ) \ + ); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \ + boost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \ + , x \ + , y \ + >() ) \ + ) \ + ) \ + ) \ +/**/ +# endif + +# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ +BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \ +/**/ + +#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES + +# if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) +# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \ + boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \ + ) ) \ + ) \ + ) \ +/**/ +# else +# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \ + boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \ + ) \ + ) \ +/**/ +# endif + +#endif + + +// BOOST_MPL_ASSERT_MSG( (pred::value), USER_PROVIDED_MESSAGE, (types) ) + +#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) +# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \ +struct msg; \ +typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \ +{ \ + using boost::mpl::assert_::types; \ + static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ + { return 0; } \ +} BOOST_PP_CAT(mpl_assert_arg,counter); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \ + ) \ + ) \ +/**/ +#else +# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \ +struct msg; \ +typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \ +{ \ + static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ + { return 0; } \ +} BOOST_PP_CAT(mpl_assert_arg,counter); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \ + ) \ + ) \ +/**/ +#endif + +#if 0 +// Work around BOOST_MPL_ASSERT_MSG_IMPL generating multiple definition linker errors on VC++8. +// #if defined(BOOST_MSVC) && BOOST_MSVC < 1500 +# include +# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ +BOOST_STATIC_ASSERT_MSG( c, #msg ) \ +/**/ +#else +# define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ +BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \ +/**/ +#endif + +#endif // BOOST_MPL_ASSERT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/at.hpp b/external/include/boost_1_90_0/boost/mpl/at.hpp new file mode 100644 index 0000000000..aa90e59c16 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/at.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_AT_HPP_INCLUDED +#define BOOST_MPL_AT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(N) + > +struct at + : at_impl< typename sequence_tag::type > + ::template apply< Sequence,N > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,at,(Sequence,N)) +}; + +template< + typename Sequence + , BOOST_MPL_AUX_NTTP_DECL(long, N) + > +struct at_c + : at_impl< typename sequence_tag::type > + ::template apply< Sequence,mpl::long_ > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(2, at) + +}} + +#endif // BOOST_MPL_AT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/at_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/at_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/at_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/at_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/O1_size_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/O1_size_impl.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/O1_size_impl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/O1_size_impl.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/adl_barrier.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/adl_barrier.hpp similarity index 97% rename from external/include/boost_1_75/boost/mpl/aux_/adl_barrier.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/adl_barrier.hpp index 3968c242ad..0435e69c5c 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/adl_barrier.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/adl_barrier.hpp @@ -1,48 +1,48 @@ - -#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED -#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) - -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_ -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ { -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE } -# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \ - namespace boost { namespace mpl { \ - using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ - } } \ -/**/ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} } -namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; -namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; } -}} -#endif - -#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE - -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { -# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} -# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/ - -#endif - -#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED +#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) + +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_ +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ { +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE } +# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \ + namespace boost { namespace mpl { \ + using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ + } } \ +/**/ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} } +namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; +namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; } +}} +#endif + +#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE + +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} +# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/ + +#endif + +#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/advance_backward.hpp new file mode 100644 index 0000000000..df56793211 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/advance_backward.hpp @@ -0,0 +1,128 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED +#define BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER advance_backward.hpp +# include + +#else + +# include +# include +# include + +# include +# include +# include + +namespace boost { namespace mpl { namespace aux { + +// forward declaration +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - BOOST_MPL_LIMIT_UNROLLING) < 0 + ? 0 + : N - BOOST_MPL_LIMIT_UNROLLING + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template<> +struct advance_backward< BOOST_PP_FRAME_ITERATION(1) > +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + +#if i_ > 0 +# define BOOST_PP_ITERATION_PARAMS_2 \ + (3,(1, BOOST_PP_FRAME_ITERATION(1), )) +# include BOOST_PP_ITERATE() +#endif + + typedef BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(1)) type; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct apply + { + typedef int type; + }; +#endif +}; + +#undef i_ + +///// iteration, depth == 2 + +#elif BOOST_PP_ITERATION_DEPTH() == 2 + +# define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2))) +# define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2)) + + typedef typename prior::type AUX778076_ITER_1; + +# undef AUX778076_ITER_1 +# undef AUX778076_ITER_0 + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/advance_forward.hpp new file mode 100644 index 0000000000..62b0101c67 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/advance_forward.hpp @@ -0,0 +1,127 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED +#define BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER advance_forward.hpp +# include + +#else + +# include +# include +# include + +# include +# include +# include + +namespace boost { namespace mpl { namespace aux { + +// forward declaration +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - BOOST_MPL_LIMIT_UNROLLING) < 0 + ? 0 + : N - BOOST_MPL_LIMIT_UNROLLING + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template<> +struct advance_forward< BOOST_PP_FRAME_ITERATION(1) > +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + +#if i_ > 0 +# define BOOST_PP_ITERATION_PARAMS_2 \ + (3,(1, i_, )) +# include BOOST_PP_ITERATE() +#endif + typedef BOOST_PP_CAT(iter,i_) type; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct apply + { + typedef int type; + }; +#endif +}; + +#undef i_ + +///// iteration, depth == 2 + +#elif BOOST_PP_ITERATION_DEPTH() == 2 + +# define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2))) +# define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2)) + + typedef typename next::type AUX778076_ITER_1; + +# undef AUX778076_ITER_1 +# undef AUX778076_ITER_0 + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/mpl/aux_/arg_typedef.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/arg_typedef.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/arg_typedef.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/arg_typedef.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/arithmetic_op.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/arithmetic_op.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/arithmetic_op.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/arithmetic_op.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/arity.hpp new file mode 100644 index 0000000000..944c4dafdf --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/arity.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED +#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) + +# include +# include + +namespace boost { namespace mpl { namespace aux { + +// agurt, 15/mar/02: it's possible to implement the template so that it will +// "just work" and do not require any specialization, but not on the compilers +// that require the arity workaround in the first place +template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct arity +{ + BOOST_STATIC_CONSTANT(int, value = N); +}; + +}}} + +#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES + +#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/arity_spec.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/arity_spec.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/arity_spec.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/arity_spec.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/at_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/at_impl.hpp new file mode 100644 index 0000000000..923937480e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/at_impl.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'at_impl' or the primary 'at' template + +template< typename Tag > +struct at_impl +{ + template< typename Sequence, typename N > struct apply + { + typedef typename advance< + typename begin::type + , N + >::type iter_; + + typedef typename deref::type type; + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, at_impl) + +}} + +#endif // BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/begin_end_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/begin_end_impl.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/begin_end_impl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/begin_end_impl.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/clear_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/clear_impl.hpp new file mode 100644 index 0000000000..20b270c0ce --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/clear_impl.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +namespace boost { namespace mpl { + +// no default implementation; the definition is needed to make MSVC happy + +template< typename Tag > +struct clear_impl +{ + template< typename Sequence > struct apply; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl) + +}} + +#endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/common_name_wknd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/common_name_wknd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/common_name_wknd.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/common_name_wknd.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/comparison_op.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/comparison_op.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/comparison_op.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/comparison_op.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/adl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/adl.hpp similarity index 97% rename from external/include/boost_1_75/boost/mpl/aux_/config/adl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/adl.hpp index 93d944c1c9..46ab9169d3 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/adl.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/adl.hpp @@ -1,40 +1,40 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC, -// but putting everything expect public, user-specializable metafunctions into -// a separate global namespace has a nice side effect of reducing the length -// of template instantiation symbols, so we apply the workaround on all -// platforms that can handle it - -#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \ - && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ - ) - -# define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include + +// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC, +// but putting everything expect public, user-specializable metafunctions into +// a separate global namespace has a nice side effect of reducing the length +// of template instantiation symbols, so we apply the workaround on all +// platforms that can handle it + +#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ + ) + +# define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/arrays.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/arrays.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/arrays.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/arrays.hpp index 3a81b3d816..456228a937 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/arrays.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/arrays.hpp @@ -1,30 +1,30 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2003-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - ) - -# define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + ) + +# define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/bcc.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/bcc.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/config/bcc.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/bcc.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/bind.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/config/bind.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/bind.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/config/compiler.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/compiler.hpp new file mode 100644 index 0000000000..7386c32102 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/compiler.hpp @@ -0,0 +1,66 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2008 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_CFG_COMPILER_DIR) + +# include +# include +# include +# include +# include +# include + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# define BOOST_MPL_CFG_COMPILER_DIR msvc60 + +# elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) +# define BOOST_MPL_CFG_COMPILER_DIR msvc70 + +# elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) +# define BOOST_MPL_CFG_COMPILER_DIR gcc + +# elif BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) +# if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_CFG_COMPILER_DIR bcc551 +# elif BOOST_WORKAROUND(BOOST_BORLANDC, >= 0x590) +# define BOOST_MPL_CFG_COMPILER_DIR bcc +# else +# define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590 +# endif + +# elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_MPL_CFG_COMPILER_DIR dmc + +# elif defined(__MWERKS__) +# if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_CFG_COMPILER_DIR mwcw +# else +# define BOOST_MPL_CFG_COMPILER_DIR plain +# endif + +# elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# define BOOST_MPL_CFG_COMPILER_DIR no_ctps + +# elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) +# define BOOST_MPL_CFG_COMPILER_DIR no_ttp + +# else +# define BOOST_MPL_CFG_COMPILER_DIR plain +# endif + +#endif // BOOST_MPL_CFG_COMPILER_DIR + +#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/ctps.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/ctps.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/ctps.hpp index 7769d406b0..e14143d165 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/ctps.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/ctps.hpp @@ -1,30 +1,30 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_BORLANDC, < 0x582) - -# define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC - -#endif - -// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in - -#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_BORLANDC, < 0x582) + +# define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC + +#endif + +// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in + +#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/dtp.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/dtp.hpp similarity index 97% rename from external/include/boost_1_75/boost/mpl/aux_/config/dtp.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/dtp.hpp index e4d548b608..9e9173181e 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/dtp.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/dtp.hpp @@ -1,46 +1,46 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// MWCW 7.x-8.0 "losts" default template parameters of nested class -// templates when their owner classes are passed as arguments to other -// templates; Borland 5.5.1 "forgets" them from the very beginning (if -// the owner class is a class template), and Borland 5.6 isn't even -// able to compile a definition of nested class template with DTP - -#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_BORLANDC, >= 0x560) \ - && BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) - -# define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES - -#endif - - -#if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ - ) - -# define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +// MWCW 7.x-8.0 "losts" default template parameters of nested class +// templates when their owner classes are passed as arguments to other +// templates; Borland 5.5.1 "forgets" them from the very beginning (if +// the owner class is a class template), and Borland 5.6 isn't even +// able to compile a definition of nested class template with DTP + +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_BORLANDC, >= 0x560) \ + && BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) + +# define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES + +#endif + + +#if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ + ) + +# define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/eti.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/eti.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/eti.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/eti.hpp index 519d433d35..4de6aa64d6 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/eti.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/eti.hpp @@ -1,47 +1,47 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// flags for MSVC 6.5's so-called "early template instantiation bug" -#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_MSVC, < 1300) - -# define BOOST_MPL_CFG_MSVC_60_ETI_BUG - -#endif - -#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_MSVC, == 1300) - -# define BOOST_MPL_CFG_MSVC_70_ETI_BUG - -#endif - -#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ - || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ - ) - -# define BOOST_MPL_CFG_MSVC_ETI_BUG - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +// flags for MSVC 6.5's so-called "early template instantiation bug" +#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_MSVC, < 1300) + +# define BOOST_MPL_CFG_MSVC_60_ETI_BUG + +#endif + +#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_MSVC, == 1300) + +# define BOOST_MPL_CFG_MSVC_70_ETI_BUG + +#endif + +#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ + || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ + ) + +# define BOOST_MPL_CFG_MSVC_ETI_BUG + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/forwarding.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/forwarding.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/config/forwarding.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/forwarding.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/config/gcc.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/gcc.hpp new file mode 100644 index 0000000000..eea2438295 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/gcc.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if defined(__GNUC__) && !defined(__EDG_VERSION__) +# define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__) +#else +# define BOOST_MPL_CFG_GCC 0 +#endif + +#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/gpu.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/gpu.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/aux_/config/gpu.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/gpu.hpp index 0e5ed784c4..61e6408d2f 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/gpu.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/gpu.hpp @@ -1,35 +1,35 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED - -// Copyright Eric Niebler 2014 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_GPU_ENABLED) \ - -# define BOOST_MPL_CFG_GPU_ENABLED BOOST_GPU_ENABLED - -#endif - -#if defined __CUDACC__ - -# define BOOST_MPL_CFG_GPU 1 - -#else - -# define BOOST_MPL_CFG_GPU 0 - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED + +// Copyright Eric Niebler 2014 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_GPU_ENABLED) \ + +# define BOOST_MPL_CFG_GPU_ENABLED BOOST_GPU_ENABLED + +#endif + +#if defined __CUDACC__ + +# define BOOST_MPL_CFG_GPU 1 + +#else + +# define BOOST_MPL_CFG_GPU 0 + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_GPU_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/has_apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/has_apply.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/config/has_apply.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/has_apply.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/config/has_xxx.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/has_xxx.hpp new file mode 100644 index 0000000000..8100f0fb09 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/has_xxx.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// Copyright David Abrahams 2002-2003 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation + +#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \ + && ( defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ + || BOOST_WORKAROUND(__GNUC__, <= 2) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ + ) + +# define BOOST_MPL_CFG_NO_HAS_XXX +# define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/config/integral.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/integral.hpp new file mode 100644 index 0000000000..8b33457a41 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/integral.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +#if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) + +# define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS + +#endif + +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ + ) + +# define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/config/intel.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/intel.hpp new file mode 100644 index 0000000000..28104e3405 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/intel.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + + +// BOOST_INTEL_CXX_VERSION is defined here: +#include + +#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/lambda.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/lambda.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/lambda.hpp index 93fbafe071..713b253d69 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/lambda.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/lambda.hpp @@ -1,32 +1,32 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// agurt, 15/jan/02: full-fledged implementation requires both -// template template parameters _and_ partial specialization - -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ - && ( defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ - || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - ) - -# define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +// agurt, 15/jan/02: full-fledged implementation requires both +// template template parameters _and_ partial specialization + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ + && ( defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ + || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + ) + +# define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/msvc.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/msvc.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/aux_/config/msvc.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/msvc.hpp index 8a6b924627..271cc4cd59 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/msvc.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/msvc.hpp @@ -1,21 +1,21 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - - -// BOOST_MSVC is defined here: -#include - -#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + + +// BOOST_MSVC is defined here: +#include + +#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/msvc_typename.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/msvc_typename.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/msvc_typename.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/msvc_typename.hpp index feedc16db8..27b1bde87e 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/msvc_typename.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/msvc_typename.hpp @@ -1,26 +1,26 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) -# define BOOST_MSVC_TYPENAME -#else -# define BOOST_MSVC_TYPENAME typename -#endif - -#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_MSVC_TYPENAME +#else +# define BOOST_MSVC_TYPENAME typename +#endif + +#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/nttp.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/nttp.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/nttp.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/nttp.hpp index 11125a9bff..ae2454dc3c 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/nttp.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/nttp.hpp @@ -1,41 +1,41 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp" -// for a workaround): -// -// namespace std { -// template< typename Char > struct string; -// } -// -// void foo(std::string); -// -// namespace boost { namespace mpl { -// template< int > struct arg; -// }} - -#if !defined(BOOST_MPL_CFG_NTTP_BUG) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && BOOST_WORKAROUND(BOOST_MSVC, < 1300) - -# define BOOST_MPL_CFG_NTTP_BUG - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp" +// for a workaround): +// +// namespace std { +// template< typename Char > struct string; +// } +// +// void foo(std::string); +// +// namespace boost { namespace mpl { +// template< int > struct arg; +// }} + +#if !defined(BOOST_MPL_CFG_NTTP_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_MSVC, < 1300) + +# define BOOST_MPL_CFG_NTTP_BUG + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/overload_resolution.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/overload_resolution.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/overload_resolution.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/overload_resolution.hpp index 04254bd7fb..d1fceaa38f 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/overload_resolution.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/overload_resolution.hpp @@ -1,29 +1,29 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2002-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(BOOST_BORLANDC, < 0x590) \ - || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \ - ) - -# define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_BORLANDC, < 0x590) \ + || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \ + ) + +# define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/pp_counter.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/pp_counter.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/pp_counter.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/pp_counter.hpp index e7fb8d66c6..e38a40f2f5 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/pp_counter.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/pp_counter.hpp @@ -1,26 +1,26 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2006 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_AUX_PP_COUNTER) -# include -# if BOOST_WORKAROUND(BOOST_MSVC, >= 1300) -# define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__ -# else -# define BOOST_MPL_AUX_PP_COUNTER() __LINE__ -# endif -#endif - -#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2006 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_AUX_PP_COUNTER) +# include +# if BOOST_WORKAROUND(BOOST_MSVC, >= 1300) +# define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__ +# else +# define BOOST_MPL_AUX_PP_COUNTER() __LINE__ +# endif +#endif + +#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/preprocessor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/preprocessor.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/preprocessor.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/preprocessor.hpp index be5f889ee3..b2d9c8a187 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/preprocessor.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/preprocessor.hpp @@ -1,39 +1,39 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \ - && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, < 0x582) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ - ) - -# define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION - -#endif - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) -# define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES -#endif - -#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \ - && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING -#endif - - -#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \ + && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, < 0x582) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ + ) + +# define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION + +#endif + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) +# define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES +#endif + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \ + && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING +#endif + + +#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/static_constant.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/static_constant.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/static_constant.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/static_constant.hpp index ece38fb0e9..557aa8ab8f 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/static_constant.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/static_constant.hpp @@ -1,25 +1,25 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -// BOOST_STATIC_CONSTANT is defined here: -# include -#else -// undef the macro for the preprocessing mode -# undef BOOST_STATIC_CONSTANT -#endif - -#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +// BOOST_STATIC_CONSTANT is defined here: +# include +#else +// undef the macro for the preprocessing mode +# undef BOOST_STATIC_CONSTANT +#endif + +#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/ttp.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/ttp.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/ttp.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/ttp.hpp index 95cbf86eda..0031acfe73 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/ttp.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/ttp.hpp @@ -1,41 +1,41 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ - && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \ - || BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT( 0x590) ) \ - ) - -# define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS - -#endif - - -#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ - && !defined(BOOST_MPL_PREPROCESSING_MODE) \ - && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - ) - -# define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING - -#endif - -#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ + && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \ + || BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT( 0x590) ) \ + ) + +# define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS + +#endif + + +#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + ) + +# define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/typeof.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/typeof.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/config/typeof.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/typeof.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/config/use_preprocessed.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/use_preprocessed.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/config/use_preprocessed.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/config/use_preprocessed.hpp index 8fd5c60755..9eb0dd987a 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/config/use_preprocessed.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/use_preprocessed.hpp @@ -1,19 +1,19 @@ - -#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED -#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - -#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/config/workaround.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/config/workaround.hpp new file mode 100644 index 0000000000..da42621f43 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/config/workaround.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/count_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/count_args.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/count_args.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/count_args.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/find_if_pred.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/find_if_pred.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/find_if_pred.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/find_if_pred.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/fold_impl.hpp new file mode 100644 index 0000000000..97c88c5b29 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/fold_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# include +# endif +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER fold_impl.hpp +# include + +#else + +# define AUX778076_FOLD_IMPL_OP(iter) typename deref::type +# define AUX778076_FOLD_IMPL_NAME_PREFIX fold +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/fold_impl_body.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/fold_impl_body.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/fold_impl_body.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/fold_impl_body.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/front_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/front_impl.hpp new file mode 100644 index 0000000000..9493c1c4e9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/front_impl.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'front_impl' or the primary 'front' template + +template< typename Tag > +struct front_impl +{ + template< typename Sequence > struct apply + { + typedef typename begin::type iter_; + typedef typename deref::type type; + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,front_impl) + +}} + +#endif // BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/full_lambda.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/full_lambda.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/full_lambda.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/has_apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/has_apply.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/has_apply.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/has_apply.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/has_begin.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/has_begin.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/has_begin.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/has_begin.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/has_rebind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/has_rebind.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/has_rebind.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/has_rebind.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/has_size.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/has_size.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/has_size.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/has_size.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/has_tag.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/has_tag.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/has_tag.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/has_tag.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/has_type.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/has_type.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/has_type.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/has_type.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/include_preprocessed.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/include_preprocessed.hpp new file mode 100644 index 0000000000..661537d37a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/include_preprocessed.hpp @@ -0,0 +1,42 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_PREPROCESSED_HEADER \ + BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#else +# define AUX778076_PREPROCESSED_HEADER \ + BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#endif + +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) +# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) +# include AUX778076_INCLUDE_STRING +# undef AUX778076_INCLUDE_STRING +#else +# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) +#endif + +# undef AUX778076_PREPROCESSED_HEADER + +#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/inserter_algorithm.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/inserter_algorithm.hpp new file mode 100644 index 0000000000..20ae8161c7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/inserter_algorithm.hpp @@ -0,0 +1,159 @@ + +#ifndef BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED +#define BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +# define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \ +BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct name \ + : aux::name##_impl \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \ + : if_< has_push_back< typename clear::type> \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct reverse_##name \ + : aux::reverse_##name##_impl \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct reverse_##name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \ + : if_< has_push_back \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +BOOST_MPL_AUX_NA_SPEC(arity, name) \ +BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \ +/**/ + +#else + +# define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \ +BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct def_##name##_impl \ + : if_< has_push_back \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct name \ +{ \ + typedef typename eval_if< \ + is_na \ + , def_##name##_impl \ + , aux::name##_impl \ + >::type type; \ +}; \ +\ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct def_reverse_##name##_impl \ + : if_< has_push_back \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct reverse_##name \ +{ \ + typedef typename eval_if< \ + is_na \ + , def_reverse_##name##_impl \ + , aux::reverse_##name##_impl \ + >::type type; \ +}; \ +BOOST_MPL_AUX_NA_SPEC(arity, name) \ +BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \ +/**/ + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +#endif // BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/integral_wrapper.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/integral_wrapper.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/aux_/integral_wrapper.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/integral_wrapper.hpp index 8748fbb93a..124bf184d5 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/integral_wrapper.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/integral_wrapper.hpp @@ -1,93 +1,94 @@ - -// Copyright Aleksey Gurtovoy 2000-2006 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! - -#include -#include -#include -#include -#include - -#include - -#if !defined(AUX_WRAPPER_NAME) -# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) -#endif - -#if !defined(AUX_WRAPPER_PARAMS) -# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) -#endif - -#if !defined(AUX_WRAPPER_INST) -# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) -# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value > -# else -# define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value > -# endif -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< AUX_WRAPPER_PARAMS(N) > -struct AUX_WRAPPER_NAME -{ - BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); -// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some -// other compilers (e.g. MSVC) are not particulary happy about it -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - typedef struct AUX_WRAPPER_NAME type; -#else - typedef AUX_WRAPPER_NAME type; -#endif - typedef AUX_WRAPPER_VALUE_TYPE value_type; - typedef integral_c_tag tag; - -// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), -// while some other don't like 'value + 1' (Borland), and some don't like -// either -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) - private: - BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1))); - BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1))); - public: - typedef AUX_WRAPPER_INST(next_value) next; - typedef AUX_WRAPPER_INST(prior_value) prior; -#elif BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ - || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1))) - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next; - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior; -#else - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next; - typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; -#endif - - // enables uniform function call syntax for families of overloaded - // functions that return objects of both arithmetic ('int', 'long', - // 'double', etc.) and wrapped integral types (for an example, see - // "mpl/example/power.cpp") - BOOST_CONSTEXPR operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast(this->value); } -}; - -#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) -template< AUX_WRAPPER_PARAMS(N) > -AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value; -#endif - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -#undef AUX_WRAPPER_NAME -#undef AUX_WRAPPER_PARAMS -#undef AUX_WRAPPER_INST -#undef AUX_WRAPPER_VALUE_TYPE + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#include +#include +#include +#include +#include + +#include + +#if !defined(AUX_WRAPPER_NAME) +# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) +#endif + +#if !defined(AUX_WRAPPER_PARAMS) +# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) +#endif + +#if !defined(AUX_WRAPPER_INST) +# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) +# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value > +# else +# define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value > +# endif +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< AUX_WRAPPER_PARAMS(N) > +struct AUX_WRAPPER_NAME +{ + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); +// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some +// other compilers (e.g. MSVC) are not particulary happy about it +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + typedef struct AUX_WRAPPER_NAME type; +#else + typedef AUX_WRAPPER_NAME type; +#endif + typedef AUX_WRAPPER_VALUE_TYPE value_type; + typedef integral_c_tag tag; + +// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), +// while some other don't like 'value + 1' (Borland), and some don't like +// either +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \ + || __cplusplus >= 201103L + private: + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1))); + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1))); + public: + typedef AUX_WRAPPER_INST(next_value) next; + typedef AUX_WRAPPER_INST(prior_value) prior; +#elif BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ + || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1))) + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next; + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior; +#else + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next; + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; +#endif + + // enables uniform function call syntax for families of overloaded + // functions that return objects of both arithmetic ('int', 'long', + // 'double', etc.) and wrapped integral types (for an example, see + // "mpl/example/power.cpp") + BOOST_CONSTEXPR operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast(this->value); } +}; + +#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) +template< AUX_WRAPPER_PARAMS(N) > +AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value; +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#undef AUX_WRAPPER_NAME +#undef AUX_WRAPPER_PARAMS +#undef AUX_WRAPPER_INST +#undef AUX_WRAPPER_VALUE_TYPE diff --git a/external/include/boost_1_75/boost/mpl/aux_/is_msvc_eti_arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/is_msvc_eti_arg.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/is_msvc_eti_arg.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/is_msvc_eti_arg.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/iter_apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/iter_apply.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/iter_apply.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/iter_apply.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/iter_fold_if_impl.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/iter_fold_if_impl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/iter_fold_if_impl.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/iter_fold_impl.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/iter_fold_impl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/iter_fold_impl.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/joint_iter.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/joint_iter.hpp new file mode 100644 index 0000000000..277580eebf --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/joint_iter.hpp @@ -0,0 +1,120 @@ + +#ifndef BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED +#define BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +#endif + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename Iterator1 + , typename LastIterator1 + , typename Iterator2 + > +struct joint_iter +{ + typedef Iterator1 base; + typedef forward_iterator_tag category; +}; + +template< + typename LastIterator1 + , typename Iterator2 + > +struct joint_iter +{ + typedef Iterator2 base; + typedef forward_iterator_tag category; +}; + + +template< typename I1, typename L1, typename I2 > +struct deref< joint_iter > +{ + typedef typename joint_iter::base base_; + typedef typename deref::type type; +}; + +template< typename I1, typename L1, typename I2 > +struct next< joint_iter > +{ + typedef joint_iter< typename mpl::next::type,L1,I2 > type; +}; + +template< typename L1, typename I2 > +struct next< joint_iter > +{ + typedef joint_iter< L1,L1,typename mpl::next::type > type; +}; + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< + typename Iterator1 + , typename LastIterator1 + , typename Iterator2 + > +struct joint_iter; + +template< bool > struct joint_iter_impl +{ + template< typename I1, typename L1, typename I2 > struct result_ + { + typedef I1 base; + typedef forward_iterator_tag category; + typedef joint_iter< typename mpl::next::type,L1,I2 > next; + typedef typename deref::type type; + }; +}; + +template<> struct joint_iter_impl +{ + template< typename I1, typename L1, typename I2 > struct result_ + { + typedef I2 base; + typedef forward_iterator_tag category; + typedef joint_iter< L1,L1,typename mpl::next::type > next; + typedef typename deref::type type; + }; +}; + +template< + typename Iterator1 + , typename LastIterator1 + , typename Iterator2 + > +struct joint_iter + : joint_iter_impl< is_same::value > + ::template result_ +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, joint_iter) + +}} + +#endif // BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/lambda_arity_param.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/lambda_arity_param.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/lambda_arity_param.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/lambda_arity_param.hpp index 63cfcd4f17..3c308bbf8f 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/lambda_arity_param.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/lambda_arity_param.hpp @@ -1,25 +1,25 @@ - -#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED -#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) -# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) -#else -# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param -#endif - -#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED +#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) +# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) +#else +# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param +#endif + +#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/lambda_no_ctps.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/lambda_no_ctps.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/lambda_no_ctps.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/lambda_spec.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/lambda_spec.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/lambda_spec.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/lambda_spec.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/lambda_support.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/lambda_support.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/lambda_support.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/lambda_support.hpp index acc30b5c63..2f91f7ceef 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/lambda_support.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/lambda_support.hpp @@ -1,169 +1,169 @@ - -#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED -#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/ -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/ - -#else - -# include -# include -# include -# include -# include -# include -# include - -# include -# include -# include -# include - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \ - typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \ - /**/ - -// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++ -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ - BOOST_PP_LIST_FOR_EACH_I_R( \ - 1 \ - , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ - , typedef \ - , BOOST_PP_TUPLE_TO_LIST(i,params) \ - ) \ - struct rebind \ - { \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - : name< BOOST_MPL_PP_PARAMS(i,U) > \ - { \ - }; \ - }; \ - /**/ - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - /**/ - -#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) -// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9 -// (in strict mode), so we have to provide an alternative to the -// MSVC-optimized implementation - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ - typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ - BOOST_PP_LIST_FOR_EACH_I_R( \ - 1 \ - , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ - , typedef \ - , BOOST_PP_TUPLE_TO_LIST(i,params) \ - ) \ - struct rebind; \ -/**/ - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ -}; \ -template< BOOST_MPL_PP_PARAMS(i,typename T) > \ -struct name::rebind \ -{ \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - : name< BOOST_MPL_PP_PARAMS(i,U) > \ - { \ - }; \ -/**/ - -#else // __EDG_VERSION__ - -namespace boost { namespace mpl { namespace aux { -template< typename T > struct has_rebind_tag; -}}} - -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ - typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ - BOOST_PP_LIST_FOR_EACH_I_R( \ - 1 \ - , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ - , typedef \ - , BOOST_PP_TUPLE_TO_LIST(i,params) \ - ) \ - friend class BOOST_PP_CAT(name,_rebind); \ - typedef BOOST_PP_CAT(name,_rebind) rebind; \ -/**/ - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -template< BOOST_MPL_PP_PARAMS(i,typename T) > \ -::boost::mpl::aux::yes_tag operator|( \ - ::boost::mpl::aux::has_rebind_tag \ - , name* \ - ); \ -::boost::mpl::aux::no_tag operator|( \ - ::boost::mpl::aux::has_rebind_tag \ - , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \ - ); \ -/**/ -#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300) -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -template< BOOST_MPL_PP_PARAMS(i,typename T) > \ -::boost::mpl::aux::yes_tag operator|( \ - ::boost::mpl::aux::has_rebind_tag \ - , ::boost::mpl::aux::has_rebind_tag< name >* \ - ); \ -/**/ -#else -# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/ -#endif - -# if !defined(BOOST_BORLANDC) -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ -}; \ -BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -class BOOST_PP_CAT(name,_rebind) \ -{ \ - public: \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - : name< BOOST_MPL_PP_PARAMS(i,U) > \ - { \ - }; \ -/**/ -# else -# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ - BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ -}; \ -BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ -class BOOST_PP_CAT(name,_rebind) \ -{ \ - public: \ - template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ - { \ - typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \ - }; \ -/**/ -# endif // BOOST_BORLANDC - -#endif // __EDG_VERSION__ - -#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED +#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/ +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/ + +#else + +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \ + typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \ + /**/ + +// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++ +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ + BOOST_PP_LIST_FOR_EACH_I_R( \ + 1 \ + , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ + , typedef \ + , BOOST_PP_TUPLE_TO_LIST(i,params) \ + ) \ + struct rebind \ + { \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + : name< BOOST_MPL_PP_PARAMS(i,U) > \ + { \ + }; \ + }; \ + /**/ + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + /**/ + +#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) +// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9 +// (in strict mode), so we have to provide an alternative to the +// MSVC-optimized implementation + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ + typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ + BOOST_PP_LIST_FOR_EACH_I_R( \ + 1 \ + , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ + , typedef \ + , BOOST_PP_TUPLE_TO_LIST(i,params) \ + ) \ + struct rebind; \ +/**/ + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ +}; \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +struct name::rebind \ +{ \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + : name< BOOST_MPL_PP_PARAMS(i,U) > \ + { \ + }; \ +/**/ + +#else // __EDG_VERSION__ + +namespace boost { namespace mpl { namespace aux { +template< typename T > struct has_rebind_tag; +}}} + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ + typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ + BOOST_PP_LIST_FOR_EACH_I_R( \ + 1 \ + , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ + , typedef \ + , BOOST_PP_TUPLE_TO_LIST(i,params) \ + ) \ + friend class BOOST_PP_CAT(name,_rebind); \ + typedef BOOST_PP_CAT(name,_rebind) rebind; \ +/**/ + +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +::boost::mpl::aux::yes_tag operator|( \ + ::boost::mpl::aux::has_rebind_tag \ + , name* \ + ); \ +::boost::mpl::aux::no_tag operator|( \ + ::boost::mpl::aux::has_rebind_tag \ + , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \ + ); \ +/**/ +#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +::boost::mpl::aux::yes_tag operator|( \ + ::boost::mpl::aux::has_rebind_tag \ + , ::boost::mpl::aux::has_rebind_tag< name >* \ + ); \ +/**/ +#else +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/ +#endif + +# if !defined(BOOST_BORLANDC) +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ +}; \ +BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +class BOOST_PP_CAT(name,_rebind) \ +{ \ + public: \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + : name< BOOST_MPL_PP_PARAMS(i,U) > \ + { \ + }; \ +/**/ +# else +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ +}; \ +BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +class BOOST_PP_CAT(name,_rebind) \ +{ \ + public: \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + { \ + typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \ + }; \ +/**/ +# endif // BOOST_BORLANDC + +#endif // __EDG_VERSION__ + +#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/largest_int.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/largest_int.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/largest_int.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/largest_int.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/logical_op.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/logical_op.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/logical_op.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/logical_op.hpp index 0ba2510262..0cde3a4439 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/logical_op.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/logical_op.hpp @@ -1,165 +1,165 @@ - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include -# include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace mpl { - -# define AUX778076_PARAMS(param, sub) \ - BOOST_MPL_PP_PARAMS( \ - BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \ - , param \ - ) \ - /**/ - -# define AUX778076_SHIFTED_PARAMS(param, sub) \ - BOOST_MPL_PP_EXT_PARAMS( \ - 2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \ - , param \ - ) \ - /**/ - -# define AUX778076_SPEC_PARAMS(param) \ - BOOST_MPL_PP_ENUM( \ - BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \ - , param \ - ) \ - /**/ - -namespace aux { - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - -template< bool C_, AUX778076_PARAMS(typename T, 1) > -struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) - : BOOST_PP_CAT(AUX778076_OP_VALUE1,_) -{ -}; - -template< AUX778076_PARAMS(typename T, 1) > -struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) > - : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , AUX778076_SHIFTED_PARAMS(T, 1) - , BOOST_PP_CAT(AUX778076_OP_VALUE2,_) - > -{ -}; - -template<> -struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< - AUX778076_OP_VALUE2 - , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) - > - : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) -{ -}; - -#else - -template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) -{ - template< AUX778076_PARAMS(typename T, 1) > struct result_ - : BOOST_PP_CAT(AUX778076_OP_VALUE1,_) - { - }; -}; - -template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) -{ - template< AUX778076_PARAMS(typename T, 1) > struct result_ - : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) > - { - }; - -#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) - template<> struct result_ - : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) - { - }; -}; -#else -}; - -template<> -struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) - ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) > - : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) -{ -}; -#endif // BOOST_MSVC == 1300 - -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -} // namespace aux - -template< - typename BOOST_MPL_AUX_NA_PARAM(T1) - , typename BOOST_MPL_AUX_NA_PARAM(T2) - BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) - > -struct AUX778076_OP_NAME -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - , AUX778076_SHIFTED_PARAMS(T,0) - > -#else - : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< - BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value - >::template result_< AUX778076_SHIFTED_PARAMS(T,0) > -#endif -{ - BOOST_MPL_AUX_LAMBDA_SUPPORT( - BOOST_MPL_LIMIT_METAFUNCTION_ARITY - , AUX778076_OP_NAME - , (AUX778076_PARAMS(T, 0)) - ) -}; - -BOOST_MPL_AUX_NA_SPEC2( - 2 - , BOOST_MPL_LIMIT_METAFUNCTION_ARITY - , AUX778076_OP_NAME - ) - -}} - -#undef AUX778076_SPEC_PARAMS -#undef AUX778076_SHIFTED_PARAMS -#undef AUX778076_PARAMS -#undef AUX778076_OP_NAME -#undef AUX778076_OP_VALUE1 -#undef AUX778076_OP_VALUE2 + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace mpl { + +# define AUX778076_PARAMS(param, sub) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \ + , param \ + ) \ + /**/ + +# define AUX778076_SHIFTED_PARAMS(param, sub) \ + BOOST_MPL_PP_EXT_PARAMS( \ + 2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \ + , param \ + ) \ + /**/ + +# define AUX778076_SPEC_PARAMS(param) \ + BOOST_MPL_PP_ENUM( \ + BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \ + , param \ + ) \ + /**/ + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< bool C_, AUX778076_PARAMS(typename T, 1) > +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) + : BOOST_PP_CAT(AUX778076_OP_VALUE1,_) +{ +}; + +template< AUX778076_PARAMS(typename T, 1) > +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) > + : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , AUX778076_SHIFTED_PARAMS(T, 1) + , BOOST_PP_CAT(AUX778076_OP_VALUE2,_) + > +{ +}; + +template<> +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + AUX778076_OP_VALUE2 + , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) + > + : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) +{ +}; + +#else + +template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) +{ + template< AUX778076_PARAMS(typename T, 1) > struct result_ + : BOOST_PP_CAT(AUX778076_OP_VALUE1,_) + { + }; +}; + +template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) +{ + template< AUX778076_PARAMS(typename T, 1) > struct result_ + : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) > + { + }; + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + template<> struct result_ + : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) + { + }; +}; +#else +}; + +template<> +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) + ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) > + : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) +{ +}; +#endif // BOOST_MSVC == 1300 + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) + > +struct AUX778076_OP_NAME +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , AUX778076_SHIFTED_PARAMS(T,0) + > +#else + : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< AUX778076_SHIFTED_PARAMS(T,0) > +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + BOOST_MPL_LIMIT_METAFUNCTION_ARITY + , AUX778076_OP_NAME + , (AUX778076_PARAMS(T, 0)) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , BOOST_MPL_LIMIT_METAFUNCTION_ARITY + , AUX778076_OP_NAME + ) + +}} + +#undef AUX778076_SPEC_PARAMS +#undef AUX778076_SHIFTED_PARAMS +#undef AUX778076_PARAMS +#undef AUX778076_OP_NAME +#undef AUX778076_OP_VALUE1 +#undef AUX778076_OP_VALUE2 diff --git a/external/include/boost_1_75/boost/mpl/aux_/msvc_dtw.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/msvc_dtw.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/msvc_dtw.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/msvc_dtw.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/msvc_eti_base.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/msvc_eti_base.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/msvc_eti_base.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/msvc_eti_base.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/msvc_is_class.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/msvc_is_class.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/msvc_is_class.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/msvc_is_class.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/msvc_never_true.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/msvc_never_true.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/msvc_never_true.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/msvc_never_true.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/msvc_type.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/msvc_type.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/msvc_type.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/msvc_type.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/na.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/na.hpp similarity index 94% rename from external/include/boost_1_75/boost/mpl/aux_/na.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/na.hpp index f079c1e78c..0722ff491f 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/na.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/na.hpp @@ -1,95 +1,95 @@ - -#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< typename T > -struct is_na - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -template<> -struct is_na - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template< typename T > -struct is_not_na - : true_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using true_::value; -#endif -}; - -template<> -struct is_not_na - : false_ -{ -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - using false_::value; -#endif -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template< typename T, typename U > struct if_na -{ - typedef T type; -}; - -template< typename U > struct if_na -{ - typedef U type; -}; -#else -template< typename T > struct if_na_impl -{ - template< typename U > struct apply - { - typedef T type; - }; -}; - -template<> struct if_na_impl -{ - template< typename U > struct apply - { - typedef U type; - }; -}; - -template< typename T, typename U > struct if_na - : if_na_impl::template apply -{ -}; -#endif - -}} - -#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename T > +struct is_na + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +template<> +struct is_na + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +template< typename T > +struct is_not_na + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +template<> +struct is_not_na + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +template< typename T, typename U > struct if_na +{ + typedef T type; +}; + +template< typename U > struct if_na +{ + typedef U type; +}; +#else +template< typename T > struct if_na_impl +{ + template< typename U > struct apply + { + typedef T type; + }; +}; + +template<> struct if_na_impl +{ + template< typename U > struct apply + { + typedef U type; + }; +}; + +template< typename T, typename U > struct if_na + : if_na_impl::template apply +{ +}; +#endif + +}} + +#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/na_assert.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/na_assert.hpp similarity index 94% rename from external/include/boost_1_75/boost/mpl/aux_/na_assert.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/na_assert.hpp index 1983c09061..aa568d9c98 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/na_assert.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/na_assert.hpp @@ -22,7 +22,7 @@ && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) # include # define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \ - BOOST_MPL_ASSERT_NOT((boost::mpl::is_na)) \ + BOOST_MPL_ASSERT_NOT((boost::mpl::is_na)) \ /**/ #else # include diff --git a/external/include/boost_1_75/boost/mpl/aux_/na_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/na_fwd.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/aux_/na_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/na_fwd.hpp index 4388241939..efc11144f9 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/na_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/na_fwd.hpp @@ -1,31 +1,31 @@ - -#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -// n.a. == not available -struct na -{ - typedef na type; - enum { value = 0 }; -}; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(na) - -#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +// n.a. == not available +struct na +{ + typedef na type; + enum { value = 0 }; +}; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(na) + +#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/na_spec.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/na_spec.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/na_spec.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/na_spec.hpp index d052fce18e..8a77654cc5 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/na_spec.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/na_spec.hpp @@ -1,175 +1,175 @@ - -#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED -#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#if !defined(BOOST_MPL_PREPROCESSING_MODE) -# include -# include -# include -# include -# include -# include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#define BOOST_MPL_AUX_NA_PARAMS(i) \ - BOOST_MPL_PP_ENUM(i, na) \ -/**/ - -#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ -namespace aux { \ -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \ -struct arity< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , N \ - > \ - : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \ -{ \ -}; \ -} \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/ -#endif - -#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ -template<> \ -struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \ -{ \ - template< \ - BOOST_MPL_PP_PARAMS(i, typename T) \ - BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \ - > \ - struct apply \ - : name< BOOST_MPL_PP_PARAMS(i, T) > \ - { \ - }; \ -}; \ -/**/ - -#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) -# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -template<> \ -struct lambda< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , void_ \ - , true_ \ - > \ -{ \ - typedef false_ is_le; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ -}; \ -template<> \ -struct lambda< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , void_ \ - , false_ \ - > \ -{ \ - typedef false_ is_le; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ -}; \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -template< typename Tag > \ -struct lambda< \ - name< BOOST_MPL_AUX_NA_PARAMS(i) > \ - , Tag \ - BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \ - > \ -{ \ - typedef false_ is_le; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \ - typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ -}; \ -/**/ -#endif - -#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ - || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ - && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) -# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ -namespace aux { \ -template< BOOST_MPL_PP_PARAMS(j, typename T) > \ -struct template_arity< \ - name< BOOST_MPL_PP_PARAMS(j, T) > \ - > \ - : int_ \ -{ \ -}; \ -\ -template<> \ -struct template_arity< \ - name< BOOST_MPL_PP_ENUM(i, na) > \ - > \ - : int_<-1> \ -{ \ -}; \ -} \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/ -#endif - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) -# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ -template<> \ -struct name< BOOST_MPL_PP_ENUM(i, int) > \ -{ \ - typedef int type; \ - enum { value = 0 }; \ -}; \ -/**/ -#else -# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/ -#endif - -#define BOOST_MPL_AUX_NA_PARAM(param) param = na - -#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ -BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ -BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \ -/**/ - -#define BOOST_MPL_AUX_NA_SPEC(i, name) \ -BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ -/**/ - -#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \ -BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ -BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ -BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ -BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ -/**/ - - -#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define BOOST_MPL_AUX_NA_PARAMS(i) \ + BOOST_MPL_PP_ENUM(i, na) \ +/**/ + +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ +namespace aux { \ +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \ +struct arity< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , N \ + > \ + : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \ +{ \ +}; \ +} \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/ +#endif + +#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ +template<> \ +struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \ +{ \ + template< \ + BOOST_MPL_PP_PARAMS(i, typename T) \ + BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \ + > \ + struct apply \ + : name< BOOST_MPL_PP_PARAMS(i, T) > \ + { \ + }; \ +}; \ +/**/ + +#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +template<> \ +struct lambda< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , void_ \ + , true_ \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ +}; \ +template<> \ +struct lambda< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , void_ \ + , false_ \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ +}; \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +template< typename Tag > \ +struct lambda< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , Tag \ + BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ +}; \ +/**/ +#endif + +#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ + || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ + && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) +# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ +namespace aux { \ +template< BOOST_MPL_PP_PARAMS(j, typename T) > \ +struct template_arity< \ + name< BOOST_MPL_PP_PARAMS(j, T) > \ + > \ + : int_ \ +{ \ +}; \ +\ +template<> \ +struct template_arity< \ + name< BOOST_MPL_PP_ENUM(i, na) > \ + > \ + : int_<-1> \ +{ \ +}; \ +} \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/ +#endif + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ +template<> \ +struct name< BOOST_MPL_PP_ENUM(i, int) > \ +{ \ + typedef int type; \ + enum { value = 0 }; \ +}; \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/ +#endif + +#define BOOST_MPL_AUX_NA_PARAM(param) param = na + +#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ +BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ +BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \ +/**/ + +#define BOOST_MPL_AUX_NA_SPEC(i, name) \ +BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ +/**/ + +#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \ +BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ +BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ +/**/ + + +#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/nested_type_wknd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/nested_type_wknd.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/nested_type_wknd.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/nested_type_wknd.hpp index cc8de7c25c..512524c7d9 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/nested_type_wknd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/nested_type_wknd.hpp @@ -1,48 +1,48 @@ - -#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED -#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - -namespace boost { namespace mpl { namespace aux { -template< typename T > struct nested_type_wknd - : T::type -{ -}; -}}} - -#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ - aux::nested_type_wknd \ -/**/ -#else -# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ - ::boost::mpl::aux::nested_type_wknd \ -/**/ -#endif - -#else // !BOOST_MPL_CFG_GCC et al. - -# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type - -#endif - -#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED +#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + +namespace boost { namespace mpl { namespace aux { +template< typename T > struct nested_type_wknd + : T::type +{ +}; +}}} + +#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ + aux::nested_type_wknd \ +/**/ +#else +# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ + ::boost::mpl::aux::nested_type_wknd \ +/**/ +#endif + +#else // !BOOST_MPL_CFG_GCC et al. + +# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type + +#endif + +#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/nttp_decl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/nttp_decl.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/nttp_decl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/nttp_decl.hpp index 8c344d874d..87bd8d6aa5 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/nttp_decl.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/nttp_decl.hpp @@ -1,35 +1,35 @@ - -#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED -#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if defined(BOOST_MPL_CFG_NTTP_BUG) - -typedef bool _mpl_nttp_bool; -typedef int _mpl_nttp_int; -typedef unsigned _mpl_nttp_unsigned; -typedef long _mpl_nttp_long; - -# include -# define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/ - -#else - -# define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/ - -#endif - -#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED +#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if defined(BOOST_MPL_CFG_NTTP_BUG) + +typedef bool _mpl_nttp_bool; +typedef int _mpl_nttp_int; +typedef unsigned _mpl_nttp_unsigned; +typedef long _mpl_nttp_long; + +# include +# define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/ + +#else + +# define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/ + +#endif + +#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/numeric_cast_utils.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/numeric_cast_utils.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/numeric_cast_utils.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/numeric_cast_utils.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/numeric_op.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/numeric_op.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/numeric_op.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/numeric_op.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp new file mode 100644 index 0000000000..d4666befb5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp new file mode 100644 index 0000000000..1424fc176c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/and.hpp new file mode 100644 index 0000000000..3ab32491a6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply.hpp new file mode 100644 index 0000000000..844db680e7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp new file mode 100644 index 0000000000..80a28359fd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp new file mode 100644 index 0000000000..0efcb0e3aa --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp @@ -0,0 +1,461 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// + +// *Preprocessed* version of the main "apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< typename F, bool F_has_apply > +struct apply_wrap_impl0_bcb { + typedef typename F::template apply type; +}; + +template< typename F > +struct apply_wrap_impl0_bcb< F,true > { + typedef typename F::apply type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef apply_wrap_impl0_bcb< F, aux::has_apply::value >::type type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/arg.hpp new file mode 100644 index 0000000000..c87ef00b00 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/arg.hpp @@ -0,0 +1,117 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp new file mode 100644 index 0000000000..a525a9f081 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp @@ -0,0 +1,300 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bind.hpp new file mode 100644 index 0000000000..e04f409601 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bind.hpp @@ -0,0 +1,397 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp new file mode 100644 index 0000000000..77802c5c2a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitand.hpp new file mode 100644 index 0000000000..da520a78d2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitor.hpp new file mode 100644 index 0000000000..9c2e186f8d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp new file mode 100644 index 0000000000..b7f8ff4464 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/deque.hpp new file mode 100644 index 0000000000..0b0de67389 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/divides.hpp new file mode 100644 index 0000000000..74765f95c1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp new file mode 100644 index 0000000000..6933512c60 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp new file mode 100644 index 0000000000..6c5be575a4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp new file mode 100644 index 0000000000..d987a99e9b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/greater.hpp new file mode 100644 index 0000000000..a9153e9866 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp new file mode 100644 index 0000000000..05d42d646c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/inherit.hpp new file mode 100644 index 0000000000..38fde94982 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/inherit.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1, typename T2, typename T3, typename T4, typename T5 + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..b93d59dab0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp new file mode 100644 index 0000000000..e6bc9b8e6c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp new file mode 100644 index 0000000000..2595766169 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/less.hpp new file mode 100644 index 0000000000..b72f53455d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp new file mode 100644 index 0000000000..a9362e2bd4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/list.hpp new file mode 100644 index 0000000000..3340e91b95 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/list_c.hpp new file mode 100644 index 0000000000..1fc8a10d8b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/map.hpp new file mode 100644 index 0000000000..fd678b4057 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/minus.hpp new file mode 100644 index 0000000000..c8f70d2559 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/modulus.hpp new file mode 100644 index 0000000000..1d30682be1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp new file mode 100644 index 0000000000..76a415274a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/or.hpp new file mode 100644 index 0000000000..0a62060c3b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp new file mode 100644 index 0000000000..ea973c8d4e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// *Preprocessed* version of the main "placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/plus.hpp new file mode 100644 index 0000000000..6a9a4a01f2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/quote.hpp new file mode 100644 index 0000000000..69bb8d5f82 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/quote.hpp @@ -0,0 +1,119 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// + +// *Preprocessed* version of the main "quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + +{ + typedef typename T::type type; +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + { + typedef typename quote_impl< + F + , aux::has_type< F >::value + >::type type; + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + { + typedef typename quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + >::type type; + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + { + typedef typename quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + >::type type; + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + { + typedef typename quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + >::type type; + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + { + typedef typename quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + >::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp new file mode 100644 index 0000000000..e453bcade7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..454ed8ee09 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/set.hpp new file mode 100644 index 0000000000..089ce0b74b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/set_c.hpp new file mode 100644 index 0000000000..63519044ca --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp new file mode 100644 index 0000000000..6f99bd9c23 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp new file mode 100644 index 0000000000..64d80fd243 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp new file mode 100644 index 0000000000..a0b058ff7c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/times.hpp new file mode 100644 index 0000000000..69a885a871 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp new file mode 100644 index 0000000000..cedd428bcf --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// *Preprocessed* version of the main "unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; + + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/vector.hpp new file mode 100644 index 0000000000..e1f3c6295d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp new file mode 100644 index 0000000000..d568ac98ea --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// + +// *Preprocessed* version of the main "vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/and.hpp new file mode 100644 index 0000000000..71e3b78347 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply.hpp new file mode 100644 index 0000000000..95089032d8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp new file mode 100644 index 0000000000..b1c5573624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp new file mode 100644 index 0000000000..8603cc32dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp @@ -0,0 +1,456 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef typename F::template apply< + +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp new file mode 100644 index 0000000000..3a7bf5e667 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp @@ -0,0 +1,306 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bind.hpp new file mode 100644 index 0000000000..3b8e6882ea --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bind.hpp @@ -0,0 +1,403 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp new file mode 100644 index 0000000000..0be46fa1e7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp new file mode 100644 index 0000000000..38cf55e29c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp new file mode 100644 index 0000000000..2f4162d642 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp new file mode 100644 index 0000000000..b4daf8d706 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/deque.hpp new file mode 100644 index 0000000000..ede97168dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/divides.hpp new file mode 100644 index 0000000000..55d9396e1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp new file mode 100644 index 0000000000..211236ea34 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp new file mode 100644 index 0000000000..6d94f48f79 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp new file mode 100644 index 0000000000..b9297cdcd1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/greater.hpp new file mode 100644 index 0000000000..e626a2b956 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp new file mode 100644 index 0000000000..a4bc28e4bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp new file mode 100644 index 0000000000..3eb3baeb53 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp new file mode 100644 index 0000000000..f633d1b98d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/less.hpp new file mode 100644 index 0000000000..01dc25f581 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp new file mode 100644 index 0000000000..233e93676e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/list.hpp new file mode 100644 index 0000000000..1dcd58b4c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp new file mode 100644 index 0000000000..578474ea6a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/map.hpp new file mode 100644 index 0000000000..2f22291b49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/minus.hpp new file mode 100644 index 0000000000..afbdda2ec8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp new file mode 100644 index 0000000000..d8f81ef8d4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp new file mode 100644 index 0000000000..a68e69ed5d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/or.hpp new file mode 100644 index 0000000000..1a05656655 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/plus.hpp new file mode 100644 index 0000000000..631898f865 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/quote.hpp new file mode 100644 index 0000000000..df25a693ac --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp new file mode 100644 index 0000000000..5907002d48 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..b85b2f2aae --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/set.hpp new file mode 100644 index 0000000000..b7e3f0b611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp new file mode 100644 index 0000000000..acdf68b5e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp new file mode 100644 index 0000000000..81679a17e9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp new file mode 100644 index 0000000000..55b7821de9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp new file mode 100644 index 0000000000..b81c2d3361 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/times.hpp new file mode 100644 index 0000000000..46e68cbcbb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp new file mode 100644 index 0000000000..b93ae9a2a5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; + + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/vector.hpp new file mode 100644 index 0000000000..d1da8b1323 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp new file mode 100644 index 0000000000..ce33340136 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp new file mode 100644 index 0000000000..d4666befb5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp new file mode 100644 index 0000000000..1424fc176c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp new file mode 100644 index 0000000000..3ab32491a6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp new file mode 100644 index 0000000000..844db680e7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp new file mode 100644 index 0000000000..80a28359fd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp new file mode 100644 index 0000000000..8e385bd2d0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp @@ -0,0 +1,456 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// + +// *Preprocessed* version of the main "apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef typename F::template apply< + +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp new file mode 100644 index 0000000000..c87ef00b00 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp @@ -0,0 +1,117 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp new file mode 100644 index 0000000000..a525a9f081 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp @@ -0,0 +1,300 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp new file mode 100644 index 0000000000..e04f409601 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp @@ -0,0 +1,397 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp new file mode 100644 index 0000000000..77802c5c2a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp new file mode 100644 index 0000000000..da520a78d2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp new file mode 100644 index 0000000000..9c2e186f8d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp new file mode 100644 index 0000000000..b7f8ff4464 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp new file mode 100644 index 0000000000..0b0de67389 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp new file mode 100644 index 0000000000..74765f95c1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp new file mode 100644 index 0000000000..6933512c60 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp new file mode 100644 index 0000000000..6c5be575a4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp new file mode 100644 index 0000000000..d987a99e9b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp new file mode 100644 index 0000000000..a9153e9866 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp new file mode 100644 index 0000000000..05d42d646c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp new file mode 100644 index 0000000000..38fde94982 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1, typename T2, typename T3, typename T4, typename T5 + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..b93d59dab0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp new file mode 100644 index 0000000000..e6bc9b8e6c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp new file mode 100644 index 0000000000..2595766169 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp new file mode 100644 index 0000000000..b72f53455d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp new file mode 100644 index 0000000000..a9362e2bd4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp new file mode 100644 index 0000000000..3340e91b95 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp new file mode 100644 index 0000000000..1fc8a10d8b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp new file mode 100644 index 0000000000..fd678b4057 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp new file mode 100644 index 0000000000..c8f70d2559 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp new file mode 100644 index 0000000000..1d30682be1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp new file mode 100644 index 0000000000..76a415274a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp new file mode 100644 index 0000000000..0a62060c3b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp new file mode 100644 index 0000000000..ea973c8d4e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// *Preprocessed* version of the main "placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp new file mode 100644 index 0000000000..6a9a4a01f2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp new file mode 100644 index 0000000000..8eaab71ed1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// + +// *Preprocessed* version of the main "quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp new file mode 100644 index 0000000000..e453bcade7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..454ed8ee09 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp new file mode 100644 index 0000000000..089ce0b74b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp new file mode 100644 index 0000000000..63519044ca --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp new file mode 100644 index 0000000000..6f99bd9c23 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp new file mode 100644 index 0000000000..64d80fd243 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// *Preprocessed* version of the main "shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp new file mode 100644 index 0000000000..a0b058ff7c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp new file mode 100644 index 0000000000..69a885a871 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp new file mode 100644 index 0000000000..cedd428bcf --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// *Preprocessed* version of the main "unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; + + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp new file mode 100644 index 0000000000..e1f3c6295d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// *Preprocessed* version of the main "vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp new file mode 100644 index 0000000000..d568ac98ea --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// + +// *Preprocessed* version of the main "vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/and.hpp new file mode 100644 index 0000000000..71e3b78347 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply.hpp new file mode 100644 index 0000000000..95089032d8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp new file mode 100644 index 0000000000..b1c5573624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp new file mode 100644 index 0000000000..e6de04768c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp new file mode 100644 index 0000000000..84f1cb2e58 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp @@ -0,0 +1,406 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F, int dummy_ + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, int dummy_ + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1, int dummy_ + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, int dummy_ + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bind.hpp new file mode 100644 index 0000000000..97d744972b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bind.hpp @@ -0,0 +1,515 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F, int dummy_ + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, int dummy_ + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1, int dummy_ + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, int dummy_ + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp new file mode 100644 index 0000000000..dd59ba3552 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp @@ -0,0 +1,53 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, int dummy_ = 0 + > +struct bind; + +template< + typename F, int dummy_ = 0 + > +struct bind0; + +template< + typename F, typename T1, int dummy_ = 0 + > +struct bind1; + +template< + typename F, typename T1, typename T2, int dummy_ = 0 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ = 0 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ = 0 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ = 0 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitand.hpp new file mode 100644 index 0000000000..38cf55e29c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitor.hpp new file mode 100644 index 0000000000..2f4162d642 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp new file mode 100644 index 0000000000..b4daf8d706 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/deque.hpp new file mode 100644 index 0000000000..ede97168dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/divides.hpp new file mode 100644 index 0000000000..55d9396e1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp new file mode 100644 index 0000000000..211236ea34 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp new file mode 100644 index 0000000000..6d94f48f79 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp new file mode 100644 index 0000000000..c77602f3bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp @@ -0,0 +1,536 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/greater.hpp new file mode 100644 index 0000000000..e626a2b956 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp new file mode 100644 index 0000000000..a4bc28e4bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/inherit.hpp new file mode 100644 index 0000000000..3eb3baeb53 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp new file mode 100644 index 0000000000..f633d1b98d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/less.hpp new file mode 100644 index 0000000000..01dc25f581 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp new file mode 100644 index 0000000000..233e93676e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/list.hpp new file mode 100644 index 0000000000..1dcd58b4c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/list_c.hpp new file mode 100644 index 0000000000..578474ea6a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/map.hpp new file mode 100644 index 0000000000..2f22291b49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/minus.hpp new file mode 100644 index 0000000000..afbdda2ec8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/modulus.hpp new file mode 100644 index 0000000000..d8f81ef8d4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp new file mode 100644 index 0000000000..a68e69ed5d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/or.hpp new file mode 100644 index 0000000000..1a05656655 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/plus.hpp new file mode 100644 index 0000000000..631898f865 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/quote.hpp new file mode 100644 index 0000000000..4b4e539d18 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp new file mode 100644 index 0000000000..1c4364a377 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..f06c88b362 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/set.hpp new file mode 100644 index 0000000000..b7e3f0b611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/set_c.hpp new file mode 100644 index 0000000000..acdf68b5e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp new file mode 100644 index 0000000000..81679a17e9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp new file mode 100644 index 0000000000..55b7821de9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp new file mode 100644 index 0000000000..03f2dbd178 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/times.hpp new file mode 100644 index 0000000000..46e68cbcbb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp new file mode 100644 index 0000000000..7f8c577be2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/vector.hpp new file mode 100644 index 0000000000..d1da8b1323 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp new file mode 100644 index 0000000000..ce33340136 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/and.hpp new file mode 100644 index 0000000000..71e3b78347 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply.hpp new file mode 100644 index 0000000000..95089032d8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp new file mode 100644 index 0000000000..b1c5573624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp new file mode 100644 index 0000000000..e6de04768c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp new file mode 100644 index 0000000000..74072c9fd2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp @@ -0,0 +1,440 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp new file mode 100644 index 0000000000..888fbc69a9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bind.hpp @@ -0,0 +1,561 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp new file mode 100644 index 0000000000..e47dd924c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitand.hpp new file mode 100644 index 0000000000..38cf55e29c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitor.hpp new file mode 100644 index 0000000000..2f4162d642 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp new file mode 100644 index 0000000000..b4daf8d706 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/deque.hpp new file mode 100644 index 0000000000..ede97168dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/divides.hpp new file mode 100644 index 0000000000..55d9396e1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp new file mode 100644 index 0000000000..211236ea34 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp new file mode 100644 index 0000000000..6d94f48f79 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp new file mode 100644 index 0000000000..b9297cdcd1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/greater.hpp new file mode 100644 index 0000000000..e626a2b956 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp new file mode 100644 index 0000000000..a4bc28e4bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/inherit.hpp new file mode 100644 index 0000000000..3eb3baeb53 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp new file mode 100644 index 0000000000..f633d1b98d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/less.hpp new file mode 100644 index 0000000000..01dc25f581 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp new file mode 100644 index 0000000000..233e93676e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/list.hpp new file mode 100644 index 0000000000..1dcd58b4c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/list_c.hpp new file mode 100644 index 0000000000..578474ea6a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/map.hpp new file mode 100644 index 0000000000..2f22291b49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/minus.hpp new file mode 100644 index 0000000000..afbdda2ec8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/modulus.hpp new file mode 100644 index 0000000000..d8f81ef8d4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp new file mode 100644 index 0000000000..a68e69ed5d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/or.hpp new file mode 100644 index 0000000000..1a05656655 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/plus.hpp new file mode 100644 index 0000000000..631898f865 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/quote.hpp new file mode 100644 index 0000000000..d56b311558 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl +{ + typedef typename T::type type; +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp new file mode 100644 index 0000000000..1c4364a377 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..f06c88b362 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/set.hpp new file mode 100644 index 0000000000..b7e3f0b611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/set_c.hpp new file mode 100644 index 0000000000..acdf68b5e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp new file mode 100644 index 0000000000..81679a17e9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp new file mode 100644 index 0000000000..55b7821de9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp new file mode 100644 index 0000000000..7d1eda8451 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// *Preprocessed* version of the main "template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { +template< int N > struct arity_tag +{ + typedef char (&type)[(unsigned)N + 1]; +}; + +template< + int C1, int C2, int C3, int C4, int C5, int C6 + > +struct max_arity +{ + BOOST_STATIC_CONSTANT(int, value = + ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) ) + ); +}; + +arity_tag<0>::type arity_helper(...); + +template< + template< typename P1 > class F + , typename T1 + > +typename arity_tag<1>::type +arity_helper(type_wrapper< F >, arity_tag<1>); + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + > +typename arity_tag<2>::type +arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>); + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + > +typename arity_tag<3>::type +arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>); + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + > +typename arity_tag<4>::type +arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>); + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + > +typename arity_tag<5>::type +arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>); + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6 + > +typename arity_tag<6>::type +arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>); +template< typename F, int N > +struct template_arity_impl +{ + BOOST_STATIC_CONSTANT(int, value = + sizeof(::boost::mpl::aux::arity_helper(type_wrapper(), arity_tag())) - 1 + ); +}; + +template< typename F > +struct template_arity +{ + BOOST_STATIC_CONSTANT(int, value = ( + max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value + )); + typedef mpl::int_ type; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/times.hpp new file mode 100644 index 0000000000..46e68cbcbb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp new file mode 100644 index 0000000000..7f8c577be2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/vector.hpp new file mode 100644 index 0000000000..d1da8b1323 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp new file mode 100644 index 0000000000..ce33340136 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp new file mode 100644 index 0000000000..ddb9d344c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp @@ -0,0 +1,132 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp new file mode 100644 index 0000000000..1b20cdcb90 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp @@ -0,0 +1,132 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/and.hpp new file mode 100644 index 0000000000..e2b4b08159 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/and.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; +}; + +template<> +struct and_impl + ::result_< true_,true_,true_,true_ > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply.hpp new file mode 100644 index 0000000000..86b2780eb2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + +{ + typedef typename apply_wrap0< + typename lambda::type + + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +/// workaround for ETI bug +template<> +struct apply0 +{ + typedef int type; +}; + +template< + typename F, typename T1 + > +struct apply1 + +{ + typedef typename apply_wrap1< + typename lambda::type + , T1 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +/// workaround for ETI bug +template<> +struct apply1< int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + +{ + typedef typename apply_wrap2< + typename lambda::type + , T1, T2 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +/// workaround for ETI bug +template<> +struct apply2< int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + +{ + typedef typename apply_wrap3< + typename lambda::type + , T1, T2, T3 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +/// workaround for ETI bug +template<> +struct apply3< int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + +{ + typedef typename apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +/// workaround for ETI bug +template<> +struct apply4< int,int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + +{ + typedef typename apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// workaround for ETI bug +template<> +struct apply5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp new file mode 100644 index 0000000000..606c2ef7e6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp new file mode 100644 index 0000000000..3b06c70c29 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp @@ -0,0 +1,247 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename F> +struct msvc_apply0 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P = int > struct apply + { + typedef int type; + }; + }; + + template< typename T = int > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply<> + { + }; + +}; + +template< + typename F + > +struct apply_wrap0 +{ + typedef typename msvc_apply0::template result_< + + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap0 +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply1 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P1 > struct apply + { + typedef int type; + }; + }; + + template< typename T1 > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply + { + }; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 +{ + typedef typename msvc_apply1::template result_< + T1 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap1< int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply2 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P1, typename P2 > struct apply + { + typedef int type; + }; + }; + + template< typename T1, typename T2 > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2 > + { + }; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 +{ + typedef typename msvc_apply2::template result_< + T1, T2 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap2< int,int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply3 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P1, typename P2, typename P3 > struct apply + { + typedef int type; + }; + }; + + template< typename T1, typename T2, typename T3 > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2,T3 > + { + }; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 +{ + typedef typename msvc_apply3::template result_< + T1, T2, T3 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap3< int,int,int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply4 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< + typename P1, typename P2, typename P3, typename P4 + > + struct apply + { + typedef int type; + }; + }; + + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2,T3,T4 > + { + }; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 +{ + typedef typename msvc_apply4::template result_< + T1, T2, T3, T4 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap4< int,int,int,int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply5 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + struct apply + { + typedef int type; + }; + }; + + template< + typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2,T3,T4,T5 > + { + }; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 +{ + typedef typename msvc_apply5::template result_< + T1, T2, T3, T4, T5 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp new file mode 100644 index 0000000000..5b1d0ccac3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp @@ -0,0 +1,328 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bind.hpp new file mode 100644 index 0000000000..967e89e24d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bind.hpp @@ -0,0 +1,432 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg< -1 > > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp new file mode 100644 index 0000000000..0be46fa1e7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp new file mode 100644 index 0000000000..fb00e1d2ba --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitand_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitand_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + + : if_< + + is_na + , bitand_2< N1,N2 > + , bitand_< + bitand_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitand_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitand_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitand_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp new file mode 100644 index 0000000000..a354383ac2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + + : if_< + + is_na + , bitor_2< N1,N2 > + , bitor_< + bitor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp new file mode 100644 index 0000000000..5384dfdc41 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitxor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitxor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + + : if_< + + is_na + , bitxor_2< N1,N2 > + , bitxor_< + bitxor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitxor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitxor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitxor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/deque.hpp new file mode 100644 index 0000000000..fb8ef1ac1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/deque.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct deque_chooser; + +} + +namespace aux { + +template<> +struct deque_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct deque_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque_impl +{ + typedef aux::deque_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::deque_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque + : aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/divides.hpp new file mode 100644 index 0000000000..14d5636fd0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/divides.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct divides_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct divides2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + + : if_< + + is_na + , divides2< N1,N2 > + , divides< + divides2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct divides2 + : aux::msvc_eti_base< typename apply_wrap2< + divides_impl< + typename divides_tag::type + , typename divides_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct divides_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::divides_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp new file mode 100644 index 0000000000..e1e6711d2a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + : aux::msvc_eti_base< typename apply_wrap2< + equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp new file mode 100644 index 0000000000..8387f65780 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp @@ -0,0 +1,293 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< int N > +struct fold_chunk; + +template<> struct fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< int N > +struct fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step; + +template< + typename Last + , typename State + > +struct fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , fold_null_step< Last,State > + , fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step +{ + typedef fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl + : fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp new file mode 100644 index 0000000000..78cb47c5fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/greater.hpp new file mode 100644 index 0000000000..f37d9e607f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/greater.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + : aux::msvc_eti_base< typename apply_wrap2< + greater_impl< + typename greater_tag::type + , typename greater_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp new file mode 100644 index 0000000000..939c056aa6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + : aux::msvc_eti_base< typename apply_wrap2< + greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp new file mode 100644 index 0000000000..c61fc2731e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl< false,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl< true,false > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl< true,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2< T1,T2 >,T1, T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp new file mode 100644 index 0000000000..184cf15602 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp @@ -0,0 +1,293 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< int N > +struct iter_fold_chunk; + +template<> struct iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< int N > +struct iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step; + +template< + typename Last + , typename State + > +struct iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , iter_fold_null_step< Last,State > + , iter_fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step +{ + typedef iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl + : iter_fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/less.hpp new file mode 100644 index 0000000000..97298590bc --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/less.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + : aux::msvc_eti_base< typename apply_wrap2< + less_impl< + typename less_tag::type + , typename less_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > + BOOST_MPL_AUX_VALUE_WKND(N1)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp new file mode 100644 index 0000000000..6936ded0a0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + : aux::msvc_eti_base< typename apply_wrap2< + less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/list.hpp new file mode 100644 index 0000000000..d1e03d269a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/list.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_chooser; + +} + +namespace aux { + +template<> +struct list_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef list0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct list_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list_impl +{ + typedef aux::list_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::list_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list + : aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp new file mode 100644 index 0000000000..b821770eb9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_c_chooser; + +} + +namespace aux { + +template<> +struct list_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct list_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c_impl +{ + typedef aux::list_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::list_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c + : aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/map.hpp new file mode 100644 index 0000000000..0e1ae00adb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/map.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct map_chooser; + +} + +namespace aux { + +template<> +struct map_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef map0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct map_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map_impl +{ + typedef aux::map_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::map_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map + : aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/minus.hpp new file mode 100644 index 0000000000..5e599c7f61 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/minus.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct minus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct minus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + + : if_< + + is_na + , minus2< N1,N2 > + , minus< + minus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct minus2 + : aux::msvc_eti_base< typename apply_wrap2< + minus_impl< + typename minus_tag::type + , typename minus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct minus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::minus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp new file mode 100644 index 0000000000..096f848d9e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp @@ -0,0 +1,115 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct modulus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + : aux::msvc_eti_base< typename apply_wrap2< + modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct modulus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::modulus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp new file mode 100644 index 0000000000..3d6dcc6374 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct not_equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + : aux::msvc_eti_base< typename apply_wrap2< + not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/or.hpp new file mode 100644 index 0000000000..c404d09553 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/or.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; +}; + +template<> +struct or_impl + ::result_< false_,false_,false_,false_ > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/plus.hpp new file mode 100644 index 0000000000..b1ec39237b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/plus.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct plus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct plus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + + : if_< + + is_na + , plus2< N1,N2 > + , plus< + plus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct plus2 + : aux::msvc_eti_base< typename apply_wrap2< + plus_impl< + typename plus_tag::type + , typename plus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct plus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::plus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/quote.hpp new file mode 100644 index 0000000000..df25a693ac --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp new file mode 100644 index 0000000000..4127c6f611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp @@ -0,0 +1,343 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..3ff031f13b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp @@ -0,0 +1,343 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/set.hpp new file mode 100644 index 0000000000..aa1a8b148c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/set.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_chooser; + +} + +namespace aux { + +template<> +struct set_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef set0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct set_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set_impl +{ + typedef aux::set_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::set_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set + : aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp new file mode 100644 index 0000000000..eb0f08492f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_c_chooser; + +} + +namespace aux { + +template<> +struct set_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct set_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c_impl +{ + typedef aux::set_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::set_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c + : aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp new file mode 100644 index 0000000000..dc35ec9345 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_left_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + : aux::msvc_eti_base< typename apply_wrap2< + shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_left_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n << s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_left_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp new file mode 100644 index 0000000000..d4d960f0b1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_right_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + : aux::msvc_eti_base< typename apply_wrap2< + shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_right_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n >> s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_right_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp new file mode 100644 index 0000000000..1146ec2bcd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +template<> +struct template_arity + : mpl::int_< -1 > +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/times.hpp new file mode 100644 index 0000000000..be6371c463 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/times.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct times_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct times2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + + : if_< + + is_na + , times2< N1,N2 > + , times< + times2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct times2 + : aux::msvc_eti_base< typename apply_wrap2< + times_impl< + typename times_tag::type + , typename times_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct times_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::times_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp new file mode 100644 index 0000000000..17718d9b7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp @@ -0,0 +1,109 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; + +template<> struct unpack_args_impl<0> +{ + template< typename F, typename Args > struct apply + : apply0< + F + > + { + }; +}; + +template<> struct unpack_args_impl<1> +{ + template< typename F, typename Args > struct apply + : apply1< + F + , typename at_c< Args,0 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<2> +{ + template< typename F, typename Args > struct apply + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<3> +{ + template< typename F, typename Args > struct apply + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<4> +{ + template< typename F, typename Args > struct apply + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<5> +{ + template< typename F, typename Args > struct apply + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > + { + }; +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/vector.hpp new file mode 100644 index 0000000000..6c6fca59e1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/vector.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_chooser; + +} + +namespace aux { + +template<> +struct vector_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct vector_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector_impl +{ + typedef aux::vector_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::vector_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector + : aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp new file mode 100644 index 0000000000..894023ef41 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_c_chooser; + +} + +namespace aux { + +template<> +struct vector_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector1_c< + T, T(C0) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector2_c< + T, T(C0), T(C1) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector3_c< + T, T(C0), T(C1), T(C2) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector4_c< + T, T(C0), T(C1), T(C2), T(C3) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector5_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector6_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector7_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector8_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector9_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector10_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector11_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector12_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector13_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector14_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector15_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector16_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector17_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector18_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector19_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector20_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct vector_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c_impl +{ + typedef aux::vector_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::vector_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c + : aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/and.hpp new file mode 100644 index 0000000000..cab8bb6b18 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/and.hpp @@ -0,0 +1,71 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; + + template<> struct result_< true_,true_,true_,true_ > + : true_ + { + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply.hpp new file mode 100644 index 0000000000..7cdd9d6397 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply.hpp @@ -0,0 +1,160 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +/// workaround for ETI bug +template<> +struct apply0 +{ + typedef int type; +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +/// workaround for ETI bug +template<> +struct apply1< int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +/// workaround for ETI bug +template<> +struct apply2< int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +/// workaround for ETI bug +template<> +struct apply3< int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +/// workaround for ETI bug +template<> +struct apply4< int,int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// workaround for ETI bug +template<> +struct apply5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp new file mode 100644 index 0000000000..606c2ef7e6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp new file mode 100644 index 0000000000..ba0f5a2915 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp @@ -0,0 +1,138 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + +{ + typedef typename F::template apply< + + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap0 +{ + typedef int type; +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + +{ + typedef typename F::template apply< + T1 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap1< int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + +{ + typedef typename F::template apply< + T1, T2 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap2< int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + +{ + typedef typename F::template apply< + T1, T2, T3 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap3< int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + +{ + typedef typename F::template apply< + T1, T2, T3, T4 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap4< int,int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp new file mode 100644 index 0000000000..5b1d0ccac3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp @@ -0,0 +1,328 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bind.hpp new file mode 100644 index 0000000000..967e89e24d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bind.hpp @@ -0,0 +1,432 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg< -1 > > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp new file mode 100644 index 0000000000..0be46fa1e7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp new file mode 100644 index 0000000000..428f6b4bca --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp @@ -0,0 +1,151 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitand_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitand_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + + : aux::msvc_eti_base< typename if_< + + is_na + , bitand_2< N1,N2 > + , bitand_< + bitand_2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitand_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitand_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitand_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp new file mode 100644 index 0000000000..65a674166b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp @@ -0,0 +1,151 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + + : aux::msvc_eti_base< typename if_< + + is_na + , bitor_2< N1,N2 > + , bitor_< + bitor_2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp new file mode 100644 index 0000000000..9a6c202e6c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp @@ -0,0 +1,151 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitxor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitxor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + + : aux::msvc_eti_base< typename if_< + + is_na + , bitxor_2< N1,N2 > + , bitxor_< + bitxor_2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitxor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitxor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitxor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/deque.hpp new file mode 100644 index 0000000000..fb8ef1ac1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/deque.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct deque_chooser; + +} + +namespace aux { + +template<> +struct deque_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct deque_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque_impl +{ + typedef aux::deque_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::deque_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque + : aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/divides.hpp new file mode 100644 index 0000000000..87449e94d9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/divides.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct divides_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct divides2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + + : aux::msvc_eti_base< typename if_< + + is_na + , divides2< N1,N2 > + , divides< + divides2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct divides2 + : aux::msvc_eti_base< typename apply_wrap2< + divides_impl< + typename divides_tag::type + , typename divides_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct divides_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::divides_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp new file mode 100644 index 0000000000..6c22ddf69b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + : aux::msvc_eti_base< typename apply_wrap2< + equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp new file mode 100644 index 0000000000..07659ae242 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< int N > +struct fold_chunk; + +template<> struct fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step; + +template< + typename Last + , typename State + > +struct fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , fold_null_step< Last,State > + , fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step +{ + typedef fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl + : fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp new file mode 100644 index 0000000000..78cb47c5fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/greater.hpp new file mode 100644 index 0000000000..e647020ebd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/greater.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + : aux::msvc_eti_base< typename apply_wrap2< + greater_impl< + typename greater_tag::type + , typename greater_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp new file mode 100644 index 0000000000..2511919ccb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + : aux::msvc_eti_base< typename apply_wrap2< + greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp new file mode 100644 index 0000000000..c61fc2731e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl< false,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl< true,false > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl< true,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2< T1,T2 >,T1, T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp new file mode 100644 index 0000000000..aa74420b57 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< int N > +struct iter_fold_chunk; + +template<> struct iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step; + +template< + typename Last + , typename State + > +struct iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , iter_fold_null_step< Last,State > + , iter_fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step +{ + typedef iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl + : iter_fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/less.hpp new file mode 100644 index 0000000000..e098b1217c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/less.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + : aux::msvc_eti_base< typename apply_wrap2< + less_impl< + typename less_tag::type + , typename less_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > + BOOST_MPL_AUX_VALUE_WKND(N1)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp new file mode 100644 index 0000000000..37316f0f5f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + : aux::msvc_eti_base< typename apply_wrap2< + less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/list.hpp new file mode 100644 index 0000000000..d1e03d269a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/list.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_chooser; + +} + +namespace aux { + +template<> +struct list_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef list0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct list_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list_impl +{ + typedef aux::list_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::list_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list + : aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp new file mode 100644 index 0000000000..b821770eb9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_c_chooser; + +} + +namespace aux { + +template<> +struct list_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct list_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c_impl +{ + typedef aux::list_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::list_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c + : aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/map.hpp new file mode 100644 index 0000000000..0e1ae00adb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/map.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct map_chooser; + +} + +namespace aux { + +template<> +struct map_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef map0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct map_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map_impl +{ + typedef aux::map_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::map_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map + : aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/minus.hpp new file mode 100644 index 0000000000..ed9b5dcd26 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/minus.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct minus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct minus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + + : aux::msvc_eti_base< typename if_< + + is_na + , minus2< N1,N2 > + , minus< + minus2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct minus2 + : aux::msvc_eti_base< typename apply_wrap2< + minus_impl< + typename minus_tag::type + , typename minus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct minus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::minus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp new file mode 100644 index 0000000000..6538fefe1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp @@ -0,0 +1,115 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct modulus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + : aux::msvc_eti_base< typename apply_wrap2< + modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct modulus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::modulus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp new file mode 100644 index 0000000000..7ed70de2b1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct not_equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + : aux::msvc_eti_base< typename apply_wrap2< + not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/or.hpp new file mode 100644 index 0000000000..4a94717af3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/or.hpp @@ -0,0 +1,71 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; + + template<> struct result_< false_,false_,false_,false_ > + : false_ + { + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/plus.hpp new file mode 100644 index 0000000000..f527b99c1b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/plus.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct plus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct plus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + + : aux::msvc_eti_base< typename if_< + + is_na + , plus2< N1,N2 > + , plus< + plus2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct plus2 + : aux::msvc_eti_base< typename apply_wrap2< + plus_impl< + typename plus_tag::type + , typename plus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct plus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::plus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/quote.hpp new file mode 100644 index 0000000000..621e4406c7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/quote.hpp @@ -0,0 +1,116 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { +template< bool > struct quote_impl +{ + template< typename T > struct result_ + : T + { + }; +}; + +template<> struct quote_impl +{ + template< typename T > struct result_ + { + typedef T type; + }; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< aux::has_type< F >::value > + ::template result_< F > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< aux::has_type< F< U1,U2 > >::value > + ::template result_< F< U1,U2 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3 > >::value > + ::template result_< F< U1,U2,U3 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value > + ::template result_< F< U1,U2,U3,U4 > > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value > + ::template result_< F< U1,U2,U3,U4,U5 > > + + { + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp new file mode 100644 index 0000000000..5907002d48 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..b85b2f2aae --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/set.hpp new file mode 100644 index 0000000000..aa1a8b148c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/set.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_chooser; + +} + +namespace aux { + +template<> +struct set_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef set0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct set_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set_impl +{ + typedef aux::set_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::set_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set + : aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp new file mode 100644 index 0000000000..eb0f08492f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_c_chooser; + +} + +namespace aux { + +template<> +struct set_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct set_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c_impl +{ + typedef aux::set_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::set_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c + : aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp new file mode 100644 index 0000000000..3cc36a49c6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_left_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + : aux::msvc_eti_base< typename apply_wrap2< + shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_left_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n << s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_left_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp new file mode 100644 index 0000000000..28a4f4de51 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_right_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + : aux::msvc_eti_base< typename apply_wrap2< + shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_right_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n >> s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_right_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp new file mode 100644 index 0000000000..1146ec2bcd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +template<> +struct template_arity + : mpl::int_< -1 > +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/times.hpp new file mode 100644 index 0000000000..ab09b63742 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/times.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct times_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct times2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + + : aux::msvc_eti_base< typename if_< + + is_na + , times2< N1,N2 > + , times< + times2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct times2 + : aux::msvc_eti_base< typename apply_wrap2< + times_impl< + typename times_tag::type + , typename times_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct times_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::times_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp new file mode 100644 index 0000000000..17718d9b7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp @@ -0,0 +1,109 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; + +template<> struct unpack_args_impl<0> +{ + template< typename F, typename Args > struct apply + : apply0< + F + > + { + }; +}; + +template<> struct unpack_args_impl<1> +{ + template< typename F, typename Args > struct apply + : apply1< + F + , typename at_c< Args,0 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<2> +{ + template< typename F, typename Args > struct apply + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<3> +{ + template< typename F, typename Args > struct apply + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<4> +{ + template< typename F, typename Args > struct apply + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<5> +{ + template< typename F, typename Args > struct apply + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > + { + }; +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/vector.hpp new file mode 100644 index 0000000000..6c6fca59e1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/vector.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_chooser; + +} + +namespace aux { + +template<> +struct vector_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct vector_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector_impl +{ + typedef aux::vector_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::vector_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector + : aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp new file mode 100644 index 0000000000..894023ef41 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_c_chooser; + +} + +namespace aux { + +template<> +struct vector_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector1_c< + T, T(C0) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector2_c< + T, T(C0), T(C1) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector3_c< + T, T(C0), T(C1), T(C2) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector4_c< + T, T(C0), T(C1), T(C2), T(C3) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector5_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector6_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector7_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector8_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector9_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector10_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector11_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector12_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector13_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector14_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector15_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector16_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector17_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector18_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector19_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector20_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct vector_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c_impl +{ + typedef aux::vector_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::vector_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c + : aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/and.hpp new file mode 100644 index 0000000000..71e3b78347 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply.hpp new file mode 100644 index 0000000000..95089032d8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp new file mode 100644 index 0000000000..b1c5573624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp new file mode 100644 index 0000000000..8603cc32dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp @@ -0,0 +1,456 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef typename F::template apply< + +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp new file mode 100644 index 0000000000..74072c9fd2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp @@ -0,0 +1,440 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bind.hpp new file mode 100644 index 0000000000..888fbc69a9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bind.hpp @@ -0,0 +1,561 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp new file mode 100644 index 0000000000..e47dd924c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp new file mode 100644 index 0000000000..38cf55e29c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp new file mode 100644 index 0000000000..2f4162d642 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp new file mode 100644 index 0000000000..b4daf8d706 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/deque.hpp new file mode 100644 index 0000000000..ede97168dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/divides.hpp new file mode 100644 index 0000000000..55d9396e1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp new file mode 100644 index 0000000000..211236ea34 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp new file mode 100644 index 0000000000..6d94f48f79 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp new file mode 100644 index 0000000000..78cb47c5fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/greater.hpp new file mode 100644 index 0000000000..e626a2b956 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp new file mode 100644 index 0000000000..a4bc28e4bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp new file mode 100644 index 0000000000..3eb3baeb53 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp new file mode 100644 index 0000000000..f633d1b98d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/less.hpp new file mode 100644 index 0000000000..01dc25f581 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp new file mode 100644 index 0000000000..233e93676e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/list.hpp new file mode 100644 index 0000000000..1dcd58b4c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp new file mode 100644 index 0000000000..578474ea6a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/map.hpp new file mode 100644 index 0000000000..2f22291b49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/minus.hpp new file mode 100644 index 0000000000..afbdda2ec8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp new file mode 100644 index 0000000000..d8f81ef8d4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp new file mode 100644 index 0000000000..a68e69ed5d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/or.hpp new file mode 100644 index 0000000000..1a05656655 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/plus.hpp new file mode 100644 index 0000000000..631898f865 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/quote.hpp new file mode 100644 index 0000000000..4b4e539d18 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp new file mode 100644 index 0000000000..1c4364a377 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..f06c88b362 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/set.hpp new file mode 100644 index 0000000000..b7e3f0b611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp new file mode 100644 index 0000000000..acdf68b5e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp new file mode 100644 index 0000000000..81679a17e9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp new file mode 100644 index 0000000000..55b7821de9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp new file mode 100644 index 0000000000..03f2dbd178 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/times.hpp new file mode 100644 index 0000000000..46e68cbcbb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp new file mode 100644 index 0000000000..7f8c577be2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/vector.hpp new file mode 100644 index 0000000000..d1da8b1323 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp new file mode 100644 index 0000000000..ce33340136 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/and.hpp new file mode 100644 index 0000000000..e2b4b08159 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/and.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; +}; + +template<> +struct and_impl + ::result_< true_,true_,true_,true_ > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp new file mode 100644 index 0000000000..4525009e8f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp @@ -0,0 +1,268 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<0> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply0< + F + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<1> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply1< + F, T1 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<2> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply2< + F, T1, T2 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<3> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply3< + F, T1, T2, T3 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<4> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply4< + F, T1, T2, T3, T4 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<5> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply5< + F, T1, T2, T3, T4, T5 + > type; + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_apply_arg +{ + static bool const value = true; +}; + +template<> +struct is_apply_arg +{ + static bool const value = false; +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + > +struct apply_count_args +{ + static int const value = is_apply_arg::value + is_apply_arg::value + is_apply_arg::value + is_apply_arg::value + is_apply_arg::value; + +}; + +} + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply + : aux::apply_chooser< + aux::apply_count_args< T1,T2,T3,T4,T5 >::value + >::template result_< F,T1,T2,T3,T4,T5 >::type +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp new file mode 100644 index 0000000000..58dda62275 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp @@ -0,0 +1,50 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser; +} + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp new file mode 100644 index 0000000000..682a80ba99 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp @@ -0,0 +1,78 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp new file mode 100644 index 0000000000..b2988d0551 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp @@ -0,0 +1,486 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +namespace aux { + +template<> +struct bind_chooser<0> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind0 type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +namespace aux { + +template<> +struct bind_chooser<1> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind1< F,T1 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +namespace aux { + +template<> +struct bind_chooser<2> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind2< F,T1,T2 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +namespace aux { + +template<> +struct bind_chooser<3> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind3< F,T1,T2,T3 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +namespace aux { + +template<> +struct bind_chooser<4> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind4< F,T1,T2,T3,T4 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +namespace aux { + +template<> +struct bind_chooser<5> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind5< F,T1,T2,T3,T4,T5 > type; + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + > +struct bind_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + ); + +}; + +} + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : aux::bind_chooser< + aux::bind_count_args< T1,T2,T3,T4,T5 >::value + >::template result_< F,T1,T2,T3,T4,T5 >::type +{ +}; + +BOOST_MPL_AUX_ARITY_SPEC( + 6 + , bind + ) + +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( + 6 + , bind + ) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp new file mode 100644 index 0000000000..d54caa6624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp @@ -0,0 +1,590 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg< -1 > > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +namespace aux { + +template<> +struct bind_chooser<0> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind0 type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +namespace aux { + +template<> +struct bind_chooser<1> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind1< F,T1 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +namespace aux { + +template<> +struct bind_chooser<2> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind2< F,T1,T2 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +namespace aux { + +template<> +struct bind_chooser<3> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind3< F,T1,T2,T3 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +namespace aux { + +template<> +struct bind_chooser<4> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind4< F,T1,T2,T3,T4 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +namespace aux { + +template<> +struct bind_chooser<5> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind5< F,T1,T2,T3,T4,T5 > type; + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + > +struct bind_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + ); + +}; + +} + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : aux::bind_chooser< + aux::bind_count_args< T1,T2,T3,T4,T5 >::value + >::template result_< F,T1,T2,T3,T4,T5 >::type +{ +}; + +BOOST_MPL_AUX_ARITY_SPEC( + 6 + , bind + ) + +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( + 6 + , bind + ) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp new file mode 100644 index 0000000000..e47dd924c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp new file mode 100644 index 0000000000..f3649accb8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp @@ -0,0 +1,134 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitand_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + + : if_< + + is_na + , bitand_2< N1,N2 > + , bitand_< + bitand_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitand_2 + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp new file mode 100644 index 0000000000..10ba8830cd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp @@ -0,0 +1,134 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + + : if_< + + is_na + , bitor_2< N1,N2 > + , bitor_< + bitor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitor_2 + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp new file mode 100644 index 0000000000..5212126292 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp @@ -0,0 +1,134 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitxor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + + : if_< + + is_na + , bitxor_2< N1,N2 > + , bitxor_< + bitxor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitxor_2 + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp new file mode 100644 index 0000000000..fb8ef1ac1a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct deque_chooser; + +} + +namespace aux { + +template<> +struct deque_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct deque_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque_impl +{ + typedef aux::deque_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::deque_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque + : aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp new file mode 100644 index 0000000000..249713409a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct divides2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + + : if_< + + is_na + , divides2< N1,N2 > + , divides< + divides2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct divides2 + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp new file mode 100644 index 0000000000..e5faecd5f7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp new file mode 100644 index 0000000000..07659ae242 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< int N > +struct fold_chunk; + +template<> struct fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step; + +template< + typename Last + , typename State + > +struct fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , fold_null_step< Last,State > + , fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step +{ + typedef fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl + : fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp new file mode 100644 index 0000000000..78cb47c5fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp new file mode 100644 index 0000000000..9cd0cd93c3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp new file mode 100644 index 0000000000..6178c7ab19 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp new file mode 100644 index 0000000000..c61fc2731e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl< false,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl< true,false > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl< true,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2< T1,T2 >,T1, T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp new file mode 100644 index 0000000000..aa74420b57 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< int N > +struct iter_fold_chunk; + +template<> struct iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step; + +template< + typename Last + , typename State + > +struct iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , iter_fold_null_step< Last,State > + , iter_fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step +{ + typedef iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl + : iter_fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/less.hpp new file mode 100644 index 0000000000..5ba156dde3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp new file mode 100644 index 0000000000..d195ee57fe --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/list.hpp new file mode 100644 index 0000000000..d1e03d269a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/list.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_chooser; + +} + +namespace aux { + +template<> +struct list_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef list0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct list_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list_impl +{ + typedef aux::list_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::list_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list + : aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp new file mode 100644 index 0000000000..b821770eb9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_c_chooser; + +} + +namespace aux { + +template<> +struct list_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct list_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c_impl +{ + typedef aux::list_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::list_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c + : aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/map.hpp new file mode 100644 index 0000000000..0e1ae00adb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/map.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct map_chooser; + +} + +namespace aux { + +template<> +struct map_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef map0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct map_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map_impl +{ + typedef aux::map_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::map_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map + : aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp new file mode 100644 index 0000000000..2f3758fd22 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct minus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + + : if_< + + is_na + , minus2< N1,N2 > + , minus< + minus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct minus2 + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp new file mode 100644 index 0000000000..abe8677d83 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp new file mode 100644 index 0000000000..3ac3990ead --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/or.hpp new file mode 100644 index 0000000000..c404d09553 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/or.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; +}; + +template<> +struct or_impl + ::result_< false_,false_,false_,false_ > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp new file mode 100644 index 0000000000..0fb5f9c1a9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct plus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + + : if_< + + is_na + , plus2< N1,N2 > + , plus< + plus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct plus2 + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp new file mode 100644 index 0000000000..621e4406c7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp @@ -0,0 +1,116 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { +template< bool > struct quote_impl +{ + template< typename T > struct result_ + : T + { + }; +}; + +template<> struct quote_impl +{ + template< typename T > struct result_ + { + typedef T type; + }; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< aux::has_type< F >::value > + ::template result_< F > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< aux::has_type< F< U1,U2 > >::value > + ::template result_< F< U1,U2 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3 > >::value > + ::template result_< F< U1,U2,U3 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value > + ::template result_< F< U1,U2,U3,U4 > > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value > + ::template result_< F< U1,U2,U3,U4,U5 > > + + { + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp new file mode 100644 index 0000000000..5907002d48 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..b85b2f2aae --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/set.hpp new file mode 100644 index 0000000000..aa1a8b148c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/set.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_chooser; + +} + +namespace aux { + +template<> +struct set_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef set0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct set_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set_impl +{ + typedef aux::set_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::set_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set + : aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp new file mode 100644 index 0000000000..eb0f08492f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_c_chooser; + +} + +namespace aux { + +template<> +struct set_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct set_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c_impl +{ + typedef aux::set_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::set_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c + : aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp new file mode 100644 index 0000000000..65e0ff5746 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp new file mode 100644 index 0000000000..f7ce4f08e3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp new file mode 100644 index 0000000000..b81c2d3361 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/times.hpp new file mode 100644 index 0000000000..00c2bf7302 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/times.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct times2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + + : if_< + + is_na + , times2< N1,N2 > + , times< + times2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct times2 + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp new file mode 100644 index 0000000000..17718d9b7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp @@ -0,0 +1,109 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; + +template<> struct unpack_args_impl<0> +{ + template< typename F, typename Args > struct apply + : apply0< + F + > + { + }; +}; + +template<> struct unpack_args_impl<1> +{ + template< typename F, typename Args > struct apply + : apply1< + F + , typename at_c< Args,0 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<2> +{ + template< typename F, typename Args > struct apply + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<3> +{ + template< typename F, typename Args > struct apply + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<4> +{ + template< typename F, typename Args > struct apply + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<5> +{ + template< typename F, typename Args > struct apply + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > + { + }; +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp new file mode 100644 index 0000000000..6c6fca59e1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_chooser; + +} + +namespace aux { + +template<> +struct vector_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct vector_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector_impl +{ + typedef aux::vector_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::vector_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector + : aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp new file mode 100644 index 0000000000..894023ef41 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_c_chooser; + +} + +namespace aux { + +template<> +struct vector_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector1_c< + T, T(C0) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector2_c< + T, T(C0), T(C1) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector3_c< + T, T(C0), T(C1), T(C2) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector4_c< + T, T(C0), T(C1), T(C2), T(C3) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector5_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector6_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector7_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector8_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector9_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector10_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector11_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector12_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector13_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector14_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector15_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector16_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector17_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector18_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector19_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector20_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct vector_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c_impl +{ + typedef aux::vector_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::vector_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c + : aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/and.hpp new file mode 100644 index 0000000000..71e3b78347 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp new file mode 100644 index 0000000000..95089032d8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp new file mode 100644 index 0000000000..b1c5573624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp new file mode 100644 index 0000000000..e6de04768c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp new file mode 100644 index 0000000000..87dbf1403e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp @@ -0,0 +1,369 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp new file mode 100644 index 0000000000..091cd9c431 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp @@ -0,0 +1,466 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp new file mode 100644 index 0000000000..e47dd924c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp new file mode 100644 index 0000000000..503aca0de8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp @@ -0,0 +1,157 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitand_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitand_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp new file mode 100644 index 0000000000..215feb77ee --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp @@ -0,0 +1,157 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp new file mode 100644 index 0000000000..b999bd3a88 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp @@ -0,0 +1,157 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitxor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitxor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp new file mode 100644 index 0000000000..ede97168dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp new file mode 100644 index 0000000000..f1497b14b3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct divides_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::divides_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp new file mode 100644 index 0000000000..1d05d89e71 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp new file mode 100644 index 0000000000..6d94f48f79 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp new file mode 100644 index 0000000000..78cb47c5fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp new file mode 100644 index 0000000000..99d4a79961 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp new file mode 100644 index 0000000000..a3e51da169 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp new file mode 100644 index 0000000000..3eb3baeb53 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp new file mode 100644 index 0000000000..f633d1b98d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp new file mode 100644 index 0000000000..c4ac6084b8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/less.hpp new file mode 100644 index 0000000000..ab6dc49302 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/less.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > + BOOST_MPL_AUX_VALUE_WKND(N1)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp new file mode 100644 index 0000000000..f403094225 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/list.hpp new file mode 100644 index 0000000000..1dcd58b4c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp new file mode 100644 index 0000000000..578474ea6a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/map.hpp new file mode 100644 index 0000000000..2f22291b49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp new file mode 100644 index 0000000000..5793b00fab --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct minus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::minus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp new file mode 100644 index 0000000000..9400a45c64 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp @@ -0,0 +1,111 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct modulus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::modulus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp new file mode 100644 index 0000000000..e23796a65e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/or.hpp new file mode 100644 index 0000000000..1a05656655 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp new file mode 100644 index 0000000000..eba6c0c561 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct plus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::plus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp new file mode 100644 index 0000000000..df25a693ac --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp new file mode 100644 index 0000000000..1c4364a377 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..f06c88b362 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/set.hpp new file mode 100644 index 0000000000..b7e3f0b611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp new file mode 100644 index 0000000000..acdf68b5e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp new file mode 100644 index 0000000000..ba9217b046 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp @@ -0,0 +1,110 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_left_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n << s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_left_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp new file mode 100644 index 0000000000..d161c0b4e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp @@ -0,0 +1,110 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_right_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n >> s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_right_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp new file mode 100644 index 0000000000..b81c2d3361 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/times.hpp new file mode 100644 index 0000000000..1d9690a3f6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/times.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct times_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::times_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp new file mode 100644 index 0000000000..7f8c577be2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp new file mode 100644 index 0000000000..d1da8b1323 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp new file mode 100644 index 0000000000..ce33340136 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp new file mode 100644 index 0000000000..2d65040357 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp new file mode 100644 index 0000000000..9762f7b3db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/and.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/and.hpp new file mode 100644 index 0000000000..aae95c54f4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/and.hpp @@ -0,0 +1,64 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply.hpp new file mode 100644 index 0000000000..d18329c1df --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp new file mode 100644 index 0000000000..b1c5573624 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp new file mode 100644 index 0000000000..e6de04768c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/arg.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/arg.hpp new file mode 100644 index 0000000000..a77b8a2e66 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp new file mode 100644 index 0000000000..74072c9fd2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp @@ -0,0 +1,440 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bind.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bind.hpp new file mode 100644 index 0000000000..888fbc69a9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bind.hpp @@ -0,0 +1,561 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp new file mode 100644 index 0000000000..e47dd924c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitand.hpp new file mode 100644 index 0000000000..31aa9a8e55 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitand.hpp @@ -0,0 +1,142 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitor.hpp new file mode 100644 index 0000000000..08e0fecd96 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitor.hpp @@ -0,0 +1,142 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitxor.hpp new file mode 100644 index 0000000000..b2a74ead59 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/bitxor.hpp @@ -0,0 +1,142 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/deque.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/deque.hpp new file mode 100644 index 0000000000..ede97168dd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/divides.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/divides.hpp new file mode 100644 index 0000000000..e2322d77cd --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/divides.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/equal_to.hpp new file mode 100644 index 0000000000..d108db42ab --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/equal_to.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp new file mode 100644 index 0000000000..6d94f48f79 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp new file mode 100644 index 0000000000..78cb47c5fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/greater.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/greater.hpp new file mode 100644 index 0000000000..32f5165938 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/greater.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp new file mode 100644 index 0000000000..84da0aa8f1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/inherit.hpp new file mode 100644 index 0000000000..35eb35f125 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/inherit.hpp @@ -0,0 +1,125 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp new file mode 100644 index 0000000000..233e7dd5db --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp new file mode 100644 index 0000000000..f633d1b98d --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp new file mode 100644 index 0000000000..7786a11772 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp @@ -0,0 +1,228 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/less.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/less.hpp new file mode 100644 index 0000000000..a79d45bdc8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/less.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/less_equal.hpp new file mode 100644 index 0000000000..1a647e52f6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/less_equal.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/list.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/list.hpp new file mode 100644 index 0000000000..1dcd58b4c9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/list_c.hpp new file mode 100644 index 0000000000..578474ea6a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/map.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/map.hpp new file mode 100644 index 0000000000..2f22291b49 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/minus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/minus.hpp new file mode 100644 index 0000000000..394e9042cc --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/minus.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/modulus.hpp new file mode 100644 index 0000000000..4d7e5d9f94 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/modulus.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp new file mode 100644 index 0000000000..9344fab316 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/or.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/or.hpp new file mode 100644 index 0000000000..35136b0030 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/or.hpp @@ -0,0 +1,64 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/placeholders.hpp new file mode 100644 index 0000000000..df5cb1da7f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/plus.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/plus.hpp new file mode 100644 index 0000000000..461d470fa9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/plus.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/quote.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/quote.hpp new file mode 100644 index 0000000000..4b4e539d18 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp new file mode 100644 index 0000000000..1c4364a377 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000000..f06c88b362 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/set.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/set.hpp new file mode 100644 index 0000000000..b7e3f0b611 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/set_c.hpp new file mode 100644 index 0000000000..acdf68b5e2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/shift_left.hpp new file mode 100644 index 0000000000..376c5d5919 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/shift_left.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/shift_right.hpp new file mode 100644 index 0000000000..2abc42a83c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/shift_right.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/template_arity.hpp new file mode 100644 index 0000000000..03f2dbd178 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/template_arity.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/times.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/times.hpp new file mode 100644 index 0000000000..685f246752 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/times.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp new file mode 100644 index 0000000000..7f8c577be2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/vector.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/vector.hpp new file mode 100644 index 0000000000..d1da8b1323 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/vector_c.hpp new file mode 100644 index 0000000000..ce33340136 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessed/plain/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/add.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/add.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/add.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/add.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/def_params_tail.hpp similarity index 97% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/def_params_tail.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/def_params_tail.hpp index cab3989d1c..6b941284ba 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/def_params_tail.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/def_params_tail.hpp @@ -1,105 +1,105 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#include -#include -#include -#include - -// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value -// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value -// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include -# include - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \ - i \ - , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \ - , param \ - , value_func \ - ) \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \ - BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v()) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8) -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9) - -#else - -# include -# include -# include -# include -# include -# include - -# define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \ - , BOOST_PP_CAT( \ - BOOST_PP_TUPLE_ELEM(3, 1, op) \ - , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \ - ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \ - /**/ - -# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ - BOOST_PP_REPEAT( \ - BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \ - , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \ - , (i, param, value_func) \ - ) \ - /**/ - - -#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES - -#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ - /**/ - -#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) -# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ - /**/ -#else -# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ - BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \ - /**/ -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#include +#include +#include +#include + +// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value +// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value +// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include +# include + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \ + i \ + , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \ + , param \ + , value_func \ + ) \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \ + BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v()) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9) + +#else + +# include +# include +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \ + , BOOST_PP_CAT( \ + BOOST_PP_TUPLE_ELEM(3, 1, op) \ + , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \ + ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ + BOOST_PP_REPEAT( \ + BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \ + , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \ + , (i, param, value_func) \ + ) \ + /**/ + + +#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES + +#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ + /**/ + +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ + /**/ +#else +# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \ + /**/ +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/default_params.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/default_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/default_params.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/default_params.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/enum.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/enum.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/enum.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/enum.hpp index 92c503194b..5f99e967d2 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/enum.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/enum.hpp @@ -1,74 +1,74 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// BOOST_MPL_PP_ENUM(0,int): -// BOOST_MPL_PP_ENUM(1,int): int -// BOOST_MPL_PP_ENUM(2,int): int, int -// BOOST_MPL_PP_ENUM(n,int): int, int, .., int - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include - -# define BOOST_MPL_PP_ENUM(n, param) \ - BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \ - /**/ - -# define BOOST_MPL_PP_ENUM_Z(z_ignored, n, param) \ - BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \ - /**/ - -# define BOOST_MPL_PP_ENUM_0(p) -# define BOOST_MPL_PP_ENUM_1(p) p -# define BOOST_MPL_PP_ENUM_2(p) p,p -# define BOOST_MPL_PP_ENUM_3(p) p,p,p -# define BOOST_MPL_PP_ENUM_4(p) p,p,p,p -# define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p -# define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p -# define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p -# define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p -# define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p - -#else - -# include -# include - -# define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \ - BOOST_PP_COMMA_IF(i) param \ - /**/ - -# define BOOST_MPL_PP_ENUM(n, param) \ - BOOST_PP_REPEAT( \ - n \ - , BOOST_MPL_PP_AUX_ENUM_FUNC \ - , param \ - ) \ - /**/ - -# define BOOST_MPL_PP_ENUM_Z(z, n, param) \ - BOOST_PP_REPEAT_ ## z( \ - n \ - , BOOST_MPL_PP_AUX_ENUM_FUNC \ - , param \ - ) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +// BOOST_MPL_PP_ENUM(0,int): +// BOOST_MPL_PP_ENUM(1,int): int +// BOOST_MPL_PP_ENUM(2,int): int, int +// BOOST_MPL_PP_ENUM(n,int): int, int, .., int + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +# define BOOST_MPL_PP_ENUM(n, param) \ + BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \ + /**/ + +# define BOOST_MPL_PP_ENUM_Z(z_ignored, n, param) \ + BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \ + /**/ + +# define BOOST_MPL_PP_ENUM_0(p) +# define BOOST_MPL_PP_ENUM_1(p) p +# define BOOST_MPL_PP_ENUM_2(p) p,p +# define BOOST_MPL_PP_ENUM_3(p) p,p,p +# define BOOST_MPL_PP_ENUM_4(p) p,p,p,p +# define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p +# define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p +# define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p +# define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p +# define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p + +#else + +# include +# include + +# define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \ + BOOST_PP_COMMA_IF(i) param \ + /**/ + +# define BOOST_MPL_PP_ENUM(n, param) \ + BOOST_PP_REPEAT( \ + n \ + , BOOST_MPL_PP_AUX_ENUM_FUNC \ + , param \ + ) \ + /**/ + +# define BOOST_MPL_PP_ENUM_Z(z, n, param) \ + BOOST_PP_REPEAT_ ## z( \ + n \ + , BOOST_MPL_PP_AUX_ENUM_FUNC \ + , param \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/ext_params.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/ext_params.hpp similarity index 97% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/ext_params.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/ext_params.hpp index f5e6e502cd..57dbf5f866 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/ext_params.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/ext_params.hpp @@ -1,78 +1,78 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// BOOST_MPL_PP_EXT_PARAMS(2,2,T): -// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2 -// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3 -// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1 - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include -# include - -# define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \ - BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \ - /**/ - -# define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \ - BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \ - /**/ - -# define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \ - BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \ - /**/ - -# define BOOST_MPL_PP_EXT_PARAMS_1(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9) -# define BOOST_MPL_PP_EXT_PARAMS_2(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1) -# define BOOST_MPL_PP_EXT_PARAMS_3(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2) -# define BOOST_MPL_PP_EXT_PARAMS_4(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3) -# define BOOST_MPL_PP_EXT_PARAMS_5(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4) -# define BOOST_MPL_PP_EXT_PARAMS_6(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5) -# define BOOST_MPL_PP_EXT_PARAMS_7(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6) -# define BOOST_MPL_PP_EXT_PARAMS_8(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7) -# define BOOST_MPL_PP_EXT_PARAMS_9(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8) - -#else - -# include -# include -# include -# include -# include -# include - -# define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \ - BOOST_PP_COMMA_IF(i) \ - BOOST_PP_CAT( \ - BOOST_PP_TUPLE_ELEM(2,1,op) \ - , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \ - ) \ - /**/ - -# define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \ - BOOST_PP_REPEAT( \ - BOOST_PP_SUB_D(1,j,i) \ - , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \ - , (i,param) \ - ) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +// BOOST_MPL_PP_EXT_PARAMS(2,2,T): +// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2 +// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3 +// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1 + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include +# include + +# define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \ + BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \ + BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \ + BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS_1(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9) +# define BOOST_MPL_PP_EXT_PARAMS_2(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1) +# define BOOST_MPL_PP_EXT_PARAMS_3(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2) +# define BOOST_MPL_PP_EXT_PARAMS_4(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3) +# define BOOST_MPL_PP_EXT_PARAMS_5(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4) +# define BOOST_MPL_PP_EXT_PARAMS_6(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5) +# define BOOST_MPL_PP_EXT_PARAMS_7(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6) +# define BOOST_MPL_PP_EXT_PARAMS_8(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7) +# define BOOST_MPL_PP_EXT_PARAMS_9(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8) + +#else + +# include +# include +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \ + BOOST_PP_COMMA_IF(i) \ + BOOST_PP_CAT( \ + BOOST_PP_TUPLE_ELEM(2,1,op) \ + , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \ + ) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \ + BOOST_PP_REPEAT( \ + BOOST_PP_SUB_D(1,j,i) \ + , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \ + , (i,param) \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/filter_params.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/filter_params.hpp similarity index 97% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/filter_params.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/filter_params.hpp index 7c0df4f7d5..0ec61ace9c 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/filter_params.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/filter_params.hpp @@ -1,28 +1,28 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) -#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1 -#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2 -#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3 -#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4 -#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5 -#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6 -#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7 -#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8 -#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9 - -#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) +#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1 +#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2 +#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3 +#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4 +#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5 +#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6 +#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7 +#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8 +#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9 + +#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/params.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/params.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/params.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/params.hpp index c3ee6c1d03..c7fdd08682 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/params.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/params.hpp @@ -1,77 +1,77 @@ - -#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED -#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -// BOOST_MPL_PP_PARAMS(0,T): -// BOOST_MPL_PP_PARAMS(1,T): T1 -// BOOST_MPL_PP_PARAMS(2,T): T1, T2 -// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn - -#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) - -# include - -# define BOOST_MPL_PP_PARAMS(n,p) \ - BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \ - /**/ - -# define BOOST_MPL_PP_PARAMS_Z(z_ignored,n,p) \ - BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \ - /**/ - -# define BOOST_MPL_PP_PARAMS_0(p) -# define BOOST_MPL_PP_PARAMS_1(p) p##1 -# define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2 -# define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3 -# define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4 -# define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5 -# define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6 -# define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7 -# define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8 -# define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9 - -#else - -# include -# include -# include -# include - -# define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \ - BOOST_PP_COMMA_IF(i) \ - BOOST_PP_CAT(param, BOOST_PP_INC(i)) \ - /**/ - -# define BOOST_MPL_PP_PARAMS(n, param) \ - BOOST_PP_REPEAT( \ - n \ - , BOOST_MPL_PP_AUX_PARAM_FUNC \ - , param \ - ) \ - /**/ - -# define BOOST_MPL_PP_PARAMS_Z(z, n, param) \ - BOOST_PP_REPEAT_ ## z( \ - n \ - , BOOST_MPL_PP_AUX_PARAM_FUNC \ - , param \ - ) \ - /**/ - -#endif - -#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +// BOOST_MPL_PP_PARAMS(0,T): +// BOOST_MPL_PP_PARAMS(1,T): T1 +// BOOST_MPL_PP_PARAMS(2,T): T1, T2 +// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +# define BOOST_MPL_PP_PARAMS(n,p) \ + BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \ + /**/ + +# define BOOST_MPL_PP_PARAMS_Z(z_ignored,n,p) \ + BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \ + /**/ + +# define BOOST_MPL_PP_PARAMS_0(p) +# define BOOST_MPL_PP_PARAMS_1(p) p##1 +# define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2 +# define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3 +# define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4 +# define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5 +# define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6 +# define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7 +# define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8 +# define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9 + +#else + +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \ + BOOST_PP_COMMA_IF(i) \ + BOOST_PP_CAT(param, BOOST_PP_INC(i)) \ + /**/ + +# define BOOST_MPL_PP_PARAMS(n, param) \ + BOOST_PP_REPEAT( \ + n \ + , BOOST_MPL_PP_AUX_PARAM_FUNC \ + , param \ + ) \ + /**/ + +# define BOOST_MPL_PP_PARAMS_Z(z, n, param) \ + BOOST_PP_REPEAT_ ## z( \ + n \ + , BOOST_MPL_PP_AUX_PARAM_FUNC \ + , param \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/partial_spec_params.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/partial_spec_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/partial_spec_params.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/partial_spec_params.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/range.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/range.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/range.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/range.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/preprocessor/repeat.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/repeat.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/preprocessor/repeat.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/repeat.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/sub.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/sub.hpp new file mode 100644 index 0000000000..227b2eabc2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/sub.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) +# include + +# define BOOST_MPL_PP_SUB(i,j) \ + BOOST_MPL_PP_SUB_DELAY(i,j) \ + /**/ + +# define BOOST_MPL_PP_SUB_DELAY(i,j) \ + BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \ + /**/ +#else +# define BOOST_MPL_PP_SUB(i,j) \ + BOOST_MPL_PP_SUB_DELAY(i,j) \ + /**/ + +# define BOOST_MPL_PP_SUB_DELAY(i,j) \ + BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \ + /**/ +#endif + +# define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10) +# define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9) +# define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8) +# define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7) +# define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6) +# define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5) +# define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4) +# define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3) +# define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2) +# define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1) +# define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0) + +#else + +# include + +# define BOOST_MPL_PP_SUB(i,j) \ + BOOST_PP_SUB(i,j) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/tuple.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/tuple.hpp new file mode 100644 index 0000000000..b46cfe73f9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/preprocessor/tuple.hpp @@ -0,0 +1,29 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0 +#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1 +#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2 +#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3 +#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4 +#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5 +#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6 +#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7 +#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8 +#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9 +#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10 + +#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/push_back_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/push_back_impl.hpp new file mode 100644 index 0000000000..27e7a60443 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/push_back_impl.hpp @@ -0,0 +1,70 @@ + +#ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +struct has_push_back_arg {}; + +// agurt 05/feb/04: no default implementation; the stub definition is needed +// to enable the default 'has_push_back' implementation below +template< typename Tag > +struct push_back_impl +{ + template< typename Sequence, typename T > struct apply + { + // should be instantiated only in the context of 'has_push_back_impl'; + // if you've got an assert here, you are requesting a 'push_back' + // specialization that doesn't exist. + BOOST_MPL_ASSERT_MSG( + ( boost::is_same< T, has_push_back_arg >::value ) + , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST + , ( Sequence ) + ); + }; +}; + +template< typename Tag > +struct has_push_back_impl +{ + template< typename Seq > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : aux::has_type< push_back< Seq, has_push_back_arg > > + { +#else + { + typedef aux::has_type< push_back< Seq, has_push_back_arg > > type; + BOOST_STATIC_CONSTANT(bool, value = + (aux::has_type< push_back< Seq, has_push_back_arg > >::value) + ); +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl) +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl) + +}} + +#endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/push_front_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/push_front_impl.hpp new file mode 100644 index 0000000000..5b83ee7645 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/push_front_impl.hpp @@ -0,0 +1,71 @@ + +#ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +struct has_push_front_arg {}; + +// agurt 05/feb/04: no default implementation; the stub definition is needed +// to enable the default 'has_push_front' implementation below + +template< typename Tag > +struct push_front_impl +{ + template< typename Sequence, typename T > struct apply + { + // should be instantiated only in the context of 'has_push_front_impl'; + // if you've got an assert here, you are requesting a 'push_front' + // specialization that doesn't exist. + BOOST_MPL_ASSERT_MSG( + ( boost::is_same< T, has_push_front_arg >::value ) + , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST + , ( Sequence ) + ); + }; +}; + +template< typename Tag > +struct has_push_front_impl +{ + template< typename Seq > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : aux::has_type< push_front< Seq, has_push_front_arg > > + { +#else + { + typedef aux::has_type< push_front< Seq, has_push_front_arg > > type; + BOOST_STATIC_CONSTANT(bool, value = + (aux::has_type< push_front< Seq, has_push_front_arg > >::value) + ); +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl) +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl) + +}} + +#endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/reverse_fold_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/reverse_fold_impl.hpp new file mode 100644 index 0000000000..a27a35fa13 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/reverse_fold_impl.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) +# include +# include +# endif +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER reverse_fold_impl.hpp +# include + +#else + +# define AUX778076_FOLD_IMPL_OP(iter) typename deref::type +# define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_fold +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/reverse_fold_impl_body.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/reverse_fold_impl_body.hpp new file mode 100644 index 0000000000..0f80010667 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/reverse_fold_impl_body.hpp @@ -0,0 +1,412 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#if !defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +# include +# include +# include +# include + +# include +# include +# include +# include +# include + +// local macros, #undef-ined at the end of the header + +# define AUX778076_ITER_FOLD_FORWARD_STEP(unused, n_, unused2) \ + typedef typename apply2< \ + ForwardOp \ + , BOOST_PP_CAT(fwd_state,n_) \ + , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,n_)) \ + >::type BOOST_PP_CAT(fwd_state,BOOST_PP_INC(n_)); \ + typedef typename mpl::next::type \ + BOOST_PP_CAT(iter,BOOST_PP_INC(n_)); \ + /**/ + +# define AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC(n_) \ + typedef typename apply2< \ + BackwardOp \ + , BOOST_PP_CAT(bkwd_state,n_) \ + , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,BOOST_PP_DEC(n_))) \ + >::type BOOST_PP_CAT(bkwd_state,BOOST_PP_DEC(n_)); \ + /**/ + +# define AUX778076_ITER_FOLD_BACKWARD_STEP(unused, n_, j) \ + AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC( \ + BOOST_PP_SUB_D(1,j,n_) \ + ) \ + /**/ + +# define AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(n_) \ + typedef typename nested_chunk::state BOOST_PP_CAT(bkwd_state,n_); + /**/ + +# define AUX778076_FOLD_IMPL_NAME \ + BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \ + /**/ + +# define AUX778076_FOLD_CHUNK_NAME \ + BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \ + /**/ + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration +template< + BOOST_MPL_AUX_NTTP_DECL(long, N) + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< + BOOST_MPL_AUX_NTTP_DECL(long, N) + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef AUX778076_FOLD_IMPL_NAME< + ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) + , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING) + , Last + , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING) + , BackwardOp + , ForwardOp + > nested_chunk; + + AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING) + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_BACKWARD_STEP + , BOOST_MPL_LIMIT_UNROLLING + ) + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +// fallback implementation for sequences of unknown size +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,BackwardOp,ForwardOp> +{ + typedef AUX778076_FOLD_IMPL_NAME< + -1 + , typename mpl::next::type + , Last + , typename apply2::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , AUX778076_FOLD_IMPL_OP(First) + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,BackwardOp,ForwardOp> +{ + typedef State state; + typedef Last iterator; +}; + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct AUX778076_FOLD_CHUNK_NAME; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct AUX778076_FOLD_CHUNK_NAME +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef AUX778076_FOLD_IMPL_NAME< + ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) + , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING) + , Last + , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING) + , BackwardOp + , ForwardOp + > nested_chunk; + + AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING) + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_BACKWARD_STEP + , BOOST_MPL_LIMIT_UNROLLING + ) + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +// fallback implementation for sequences of unknown size +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step); + +template< + typename Last + , typename State + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct AUX778076_FOLD_CHUNK_NAME<-1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same::type + , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) + , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct result_ + { + typedef int state; + typedef int iterator; + }; +#endif +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) +{ + typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_< + typename mpl::next::type + , Last + , typename apply2::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , AUX778076_FOLD_IMPL_OP(First) + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + BOOST_MPL_AUX_NTTP_DECL(long, N) + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME + : AUX778076_FOLD_CHUNK_NAME + ::template result_ +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}}} + +# undef AUX778076_FIRST_BACKWARD_STATE_TYPEDEF +# undef AUX778076_ITER_FOLD_BACKWARD_STEP +# undef AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC +# undef AUX778076_ITER_FOLD_FORWARD_STEP + +#undef AUX778076_FOLD_IMPL_OP +#undef AUX778076_FOLD_IMPL_NAME_PREFIX + +///// iteration + +#else + +# define n_ BOOST_PP_FRAME_ITERATION(1) + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_); + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_BACKWARD_STEP + , n_ + ) + + typedef bkwd_state0 state; + typedef BOOST_PP_CAT(iter,n_) iterator; +}; + +#else + +template<> struct AUX778076_FOLD_CHUNK_NAME +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_); + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_BACKWARD_STEP + , n_ + ) + + typedef bkwd_state0 state; + typedef BOOST_PP_CAT(iter,n_) iterator; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct result_ + { + typedef int state; + typedef int iterator; + }; +#endif +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +# undef n_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/mpl/aux_/sequence_wrapper.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/sequence_wrapper.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/sequence_wrapper.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/sequence_wrapper.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/size_impl.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/size_impl.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/size_impl.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/size_impl.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/static_cast.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/static_cast.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/static_cast.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/static_cast.hpp index 58192dd91e..8f0d8c4eb9 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/static_cast.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/static_cast.hpp @@ -1,27 +1,27 @@ - -#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED -#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x561)) \ - || BOOST_WORKAROUND(__GNUC__, < 3) \ - || BOOST_WORKAROUND(__MWERKS__, <= 0x3001) -# define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr) -#else -# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast(expr) -#endif - -#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED +#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__GNUC__, < 3) \ + || BOOST_WORKAROUND(__MWERKS__, <= 0x3001) +# define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr) +#else +# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast(expr) +#endif + +#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/template_arity.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/template_arity.hpp new file mode 100644 index 0000000000..f77761b757 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/template_arity.hpp @@ -0,0 +1,189 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED +#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) +# include +# endif +# else +# include +# endif +#endif + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp +# include + +#else + +# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) + +# include +# include +# include +# include +# include + +# include +# include +# include +# include +# include + +# define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) + +namespace boost { namespace mpl { namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag +{ + typedef char (&type)[(unsigned)N + 1]; +}; + +# define AUX778076_MAX_ARITY_OP(unused, state, i_) \ + ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \ +/**/ + +template< + BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C)) + > +struct max_arity +{ + BOOST_STATIC_CONSTANT(int, value = + BOOST_PP_SEQ_FOLD_LEFT( + AUX778076_MAX_ARITY_OP + , -1 + , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY) + ) + ); +}; + +# undef AUX778076_MAX_ARITY_OP + +arity_tag<0>::type arity_helper(...); + +# define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY) +# define BOOST_PP_FILENAME_1 +# include BOOST_PP_ITERATE() + +template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct template_arity_impl +{ + BOOST_STATIC_CONSTANT(int, value = + sizeof(::boost::mpl::aux::arity_helper(type_wrapper(),arity_tag())) - 1 + ); +}; + +# define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \ + BOOST_PP_COMMA_IF(i_) template_arity_impl::value \ +/**/ + +template< typename F > +struct template_arity +{ + BOOST_STATIC_CONSTANT(int, value = ( + max_arity< BOOST_MPL_PP_REPEAT( + AUX778076_ARITY + , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION + , F + ) >::value + )); + + typedef mpl::int_ type; +}; + +# undef AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION + +# undef AUX778076_ARITY + +}}} + +# endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING +# else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +# include + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_<-1> + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +template<> +struct template_arity + : mpl::int_<-1> +{ +}; +#endif + +}}} + +# endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F + , BOOST_MPL_PP_PARAMS(i_, typename T) + > +typename arity_tag::type +arity_helper(type_wrapper< F >, arity_tag); + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/mpl/aux_/template_arity_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/template_arity_fwd.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/template_arity_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/template_arity_fwd.hpp index 19d63a3961..e1742c4486 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/template_arity_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/template_arity_fwd.hpp @@ -1,23 +1,23 @@ - -#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED -#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -namespace boost { namespace mpl { namespace aux { - -template< typename F > struct template_arity; - -}}} - -#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED +#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +namespace boost { namespace mpl { namespace aux { + +template< typename F > struct template_arity; + +}}} + +#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/traits_lambda_spec.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/traits_lambda_spec.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/aux_/traits_lambda_spec.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/traits_lambda_spec.hpp diff --git a/external/include/boost_1_75/boost/mpl/aux_/type_wrapper.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/type_wrapper.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/aux_/type_wrapper.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/type_wrapper.hpp index f3ac3079a9..1a6f42ce6b 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/type_wrapper.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/type_wrapper.hpp @@ -1,47 +1,47 @@ - -#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED -#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// Copyright Peter Dimov 2000-2003 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -namespace boost { namespace mpl { namespace aux { - -template< typename T > struct type_wrapper -{ - typedef T type; -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -// agurt 08/may/03: a complicated way to extract the wrapped type; need it -// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the -// nested 'type' from 'type_wrapper' when the latter was the result of a -// 'typeof' expression -template< typename T > struct wrapped_type; - -template< typename T > struct wrapped_type< type_wrapper > -{ - typedef T type; -}; -#else -template< typename W > struct wrapped_type -{ - typedef typename W::type type; -}; -#endif - -}}} - -#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED +#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Peter Dimov 2000-2003 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename T > struct type_wrapper +{ + typedef T type; +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +// agurt 08/may/03: a complicated way to extract the wrapped type; need it +// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the +// nested 'type' from 'type_wrapper' when the latter was the result of a +// 'typeof' expression +template< typename T > struct wrapped_type; + +template< typename T > struct wrapped_type< type_wrapper > +{ + typedef T type; +}; +#else +template< typename W > struct wrapped_type +{ + typedef typename W::type type; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/aux_/value_wknd.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/value_wknd.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/aux_/value_wknd.hpp rename to external/include/boost_1_90_0/boost/mpl/aux_/value_wknd.hpp index 23fefde021..0b2c15192d 100644 --- a/external/include/boost_1_75/boost/mpl/aux_/value_wknd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/aux_/value_wknd.hpp @@ -1,89 +1,89 @@ - -#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED -#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include - -#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ - || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) - -# include - -namespace boost { namespace mpl { namespace aux { -template< typename C_ > struct value_wknd - : C_ -{ -}; - -#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) -template<> struct value_wknd - : int_<1> -{ - using int_<1>::value; -}; -#endif -}}} - - -#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) -# define BOOST_MPL_AUX_VALUE_WKND(C) \ - ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \ -/**/ -# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C) -#else -# define BOOST_MPL_AUX_VALUE_WKND(C) C -# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \ - ::boost::mpl::aux::value_wknd< C > \ -/**/ -#endif - -#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS - -# define BOOST_MPL_AUX_VALUE_WKND(C) C -# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C - -#endif - -#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) -# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ - BOOST_MPL_AUX_STATIC_CAST(T, C::value) \ -/**/ -#else -# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ - BOOST_MPL_AUX_VALUE_WKND(C)::value \ -/**/ -#endif - - -namespace boost { namespace mpl { namespace aux { - -template< typename T > struct value_type_wknd -{ - typedef typename T::value_type type; -}; - -#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) -template<> struct value_type_wknd -{ - typedef int type; -}; -#endif - -}}} - -#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED + +#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED +#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include + +#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ + || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + +# include + +namespace boost { namespace mpl { namespace aux { +template< typename C_ > struct value_wknd + : C_ +{ +}; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) +template<> struct value_wknd + : int_<1> +{ + using int_<1>::value; +}; +#endif +}}} + + +#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) +# define BOOST_MPL_AUX_VALUE_WKND(C) \ + ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \ +/**/ +# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C) +#else +# define BOOST_MPL_AUX_VALUE_WKND(C) C +# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \ + ::boost::mpl::aux::value_wknd< C > \ +/**/ +#endif + +#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS + +# define BOOST_MPL_AUX_VALUE_WKND(C) C +# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C + +#endif + +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) +# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ + BOOST_MPL_AUX_STATIC_CAST(T, C::value) \ +/**/ +#else +# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ + BOOST_MPL_AUX_VALUE_WKND(C)::value \ +/**/ +#endif + + +namespace boost { namespace mpl { namespace aux { + +template< typename T > struct value_type_wknd +{ + typedef typename T::value_type type; +}; + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +template<> struct value_type_wknd +{ + typedef int type; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/aux_/yes_no.hpp b/external/include/boost_1_90_0/boost/mpl/aux_/yes_no.hpp new file mode 100644 index 0000000000..a8529c285f --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/aux_/yes_no.hpp @@ -0,0 +1,59 @@ + +#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED +#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + + +namespace boost { namespace mpl { namespace aux { + +typedef char (&no_tag)[1]; +typedef char (&yes_tag)[2]; + +template< bool C_ > struct yes_no_tag +{ + typedef no_tag type; +}; + +template<> struct yes_no_tag +{ + typedef yes_tag type; +}; + + +template< BOOST_MPL_AUX_NTTP_DECL(std::size_t, n) > struct weighted_tag +{ +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) + typedef char (&type)[n]; +#else + char buf[n]; + typedef weighted_tag type; +#endif +}; + +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) +template<> struct weighted_tag<0> +{ + typedef char (&type)[1]; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/back_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/back_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/back_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/back_fwd.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/back_inserter.hpp b/external/include/boost_1_90_0/boost/mpl/back_inserter.hpp new file mode 100644 index 0000000000..8fc4083c3a --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/back_inserter.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED +#define BOOST_MPL_BACK_INSERTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +namespace boost { +namespace mpl { + +template< + typename Sequence + > +struct back_inserter + : inserter< Sequence,push_back<> > +{ +}; + +}} + +#endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/begin.hpp b/external/include/boost_1_90_0/boost/mpl/begin.hpp new file mode 100644 index 0000000000..15bdf7e388 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/begin.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_BEGIN_HPP_INCLUDED +#define BOOST_MPL_BEGIN_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#endif // BOOST_MPL_BEGIN_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/begin_end.hpp b/external/include/boost_1_90_0/boost/mpl/begin_end.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/begin_end.hpp rename to external/include/boost_1_90_0/boost/mpl/begin_end.hpp diff --git a/external/include/boost_1_75/boost/mpl/begin_end_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/begin_end_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/begin_end_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/begin_end_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/bind.hpp b/external/include/boost_1_90_0/boost/mpl/bind.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/bind.hpp rename to external/include/boost_1_90_0/boost/mpl/bind.hpp diff --git a/external/include/boost_1_75/boost/mpl/bind_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/bind_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/bind_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/bind_fwd.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/bitand.hpp b/external/include/boost_1_90_0/boost/mpl/bitand.hpp new file mode 100644 index 0000000000..360e1540fc --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/bitand.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_BITAND_HPP_INCLUDED +#define BOOST_MPL_BITAND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2009 +// Copyright Jaap Suter 2003 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +// agurt, 23/jan/10: workaround a conflict with header's +// macros, see http://tinyurl.com/ycwdxco; 'defined(bitand)' +// has to be checked in a separate condition, otherwise GCC complains +// about 'bitand' being an alternative token +#if defined(_MSC_EXTENSIONS) +#if defined(bitand) +# pragma push_macro("bitand") +# undef bitand +# define bitand(x) +#endif +#endif + +#define AUX778076_OP_NAME bitand_ +#define AUX778076_OP_PREFIX bitand +#define AUX778076_OP_TOKEN & +#include + +#if defined(_MSC_EXTENSIONS) +#if defined(bitand) +# pragma pop_macro("bitand") +#endif +#endif + +#endif // BOOST_MPL_BITAND_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/bitxor.hpp b/external/include/boost_1_90_0/boost/mpl/bitxor.hpp new file mode 100644 index 0000000000..7f98f17370 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/bitxor.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_BITXOR_HPP_INCLUDED +#define BOOST_MPL_BITXOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#define AUX778076_OP_NAME bitxor_ +#define AUX778076_OP_PREFIX bitxor +#define AUX778076_OP_TOKEN ^ +#include + +#endif // BOOST_MPL_BITXOR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/bool.hpp b/external/include/boost_1_90_0/boost/mpl/bool.hpp new file mode 100644 index 0000000000..c707c71f92 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/bool.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_BOOL_HPP_INCLUDED +#define BOOST_MPL_BOOL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< bool C_ > struct bool_ +{ + BOOST_STATIC_CONSTANT(bool, value = C_); + typedef integral_c_tag tag; + typedef bool_ type; + typedef bool value_type; + BOOST_CONSTEXPR operator bool() const { return this->value; } +}; + +#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) +template< bool C_ > +bool const bool_::value; +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#endif // BOOST_MPL_BOOL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/bool_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/bool_fwd.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/bool_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/bool_fwd.hpp index e629252848..c813332c7b 100644 --- a/external/include/boost_1_75/boost/mpl/bool_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/bool_fwd.hpp @@ -1,33 +1,33 @@ - -#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED -#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< bool C_ > struct bool_; - -// shorcuts -typedef bool_ true_; -typedef bool_ false_; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE - -BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_) -BOOST_MPL_AUX_ADL_BARRIER_DECL(true_) -BOOST_MPL_AUX_ADL_BARRIER_DECL(false_) - -#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED +#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< bool C_ > struct bool_; + +// shorcuts +typedef bool_ true_; +typedef bool_ false_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_) +BOOST_MPL_AUX_ADL_BARRIER_DECL(true_) +BOOST_MPL_AUX_ADL_BARRIER_DECL(false_) + +#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/clear.hpp b/external/include/boost_1_90_0/boost/mpl/clear.hpp new file mode 100644 index 0000000000..c6b95edf4b --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/clear.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_CLEAR_HPP_INCLUDED +#define BOOST_MPL_CLEAR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct clear + : clear_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, clear) + +}} + +#endif // BOOST_MPL_CLEAR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/clear_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/clear_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/clear_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/clear_fwd.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/copy.hpp b/external/include/boost_1_90_0/boost/mpl/copy.hpp new file mode 100644 index 0000000000..6eafba3982 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/copy.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_COPY_HPP_INCLUDED +#define BOOST_MPL_COPY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Sequence + , typename Inserter + > +struct copy_impl + : fold< + Sequence + , typename Inserter::state + , typename Inserter::operation + > +{ +}; + +template< + typename Sequence + , typename Inserter + > +struct reverse_copy_impl + : reverse_fold< + Sequence + , typename Inserter::state + , typename Inserter::operation + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy) + +}} + +#endif // BOOST_MPL_COPY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/deref.hpp b/external/include/boost_1_90_0/boost/mpl/deref.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/deref.hpp rename to external/include/boost_1_90_0/boost/mpl/deref.hpp diff --git a/external/include/boost_1_75/boost/mpl/distance.hpp b/external/include/boost_1_90_0/boost/mpl/distance.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/distance.hpp rename to external/include/boost_1_90_0/boost/mpl/distance.hpp diff --git a/external/include/boost_1_75/boost/mpl/distance_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/distance_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/distance_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/distance_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/empty_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/empty_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/empty_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/empty_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/equal_to.hpp b/external/include/boost_1_90_0/boost/mpl/equal_to.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/equal_to.hpp rename to external/include/boost_1_90_0/boost/mpl/equal_to.hpp diff --git a/external/include/boost_1_75/boost/mpl/eval_if.hpp b/external/include/boost_1_90_0/boost/mpl/eval_if.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/eval_if.hpp rename to external/include/boost_1_90_0/boost/mpl/eval_if.hpp index e892703fd8..7e5c6b3d3e 100644 --- a/external/include/boost_1_75/boost/mpl/eval_if.hpp +++ b/external/include/boost_1_90_0/boost/mpl/eval_if.hpp @@ -1,71 +1,71 @@ - -#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED -#define BOOST_MPL_EVAL_IF_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace mpl { - -template< - typename BOOST_MPL_AUX_NA_PARAM(C) - , typename BOOST_MPL_AUX_NA_PARAM(F1) - , typename BOOST_MPL_AUX_NA_PARAM(F2) - > -struct eval_if -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ - && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ - ) -{ - typedef typename if_::type f_; - typedef typename f_::type type; -#else - : if_::type -{ -#endif - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2)) -}; - -// (almost) copy & paste in order to save one more -// recursively nested template instantiation to user -template< - bool C - , typename F1 - , typename F2 - > -struct eval_if_c -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ - || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ - && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ - ) -{ - typedef typename if_c::type f_; - typedef typename f_::type type; -#else - : if_c::type -{ -#endif -}; - -BOOST_MPL_AUX_NA_SPEC(3, eval_if) - -}} - -#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED + +#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED +#define BOOST_MPL_EVAL_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(C) + , typename BOOST_MPL_AUX_NA_PARAM(F1) + , typename BOOST_MPL_AUX_NA_PARAM(F2) + > +struct eval_if +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ + && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ + ) +{ + typedef typename if_::type f_; + typedef typename f_::type type; +#else + : if_::type +{ +#endif + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2)) +}; + +// (almost) copy & paste in order to save one more +// recursively nested template instantiation to user +template< + bool C + , typename F1 + , typename F2 + > +struct eval_if_c +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ + && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ + ) +{ + typedef typename if_c::type f_; + typedef typename f_::type type; +#else + : if_c::type +{ +#endif +}; + +BOOST_MPL_AUX_NA_SPEC(3, eval_if) + +}} + +#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/find_if.hpp b/external/include/boost_1_90_0/boost/mpl/find_if.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/find_if.hpp rename to external/include/boost_1_90_0/boost/mpl/find_if.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/fold.hpp b/external/include/boost_1_90_0/boost/mpl/fold.hpp new file mode 100644 index 0000000000..0bc67ef3d6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/fold.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_MPL_FOLD_HPP_INCLUDED +#define BOOST_MPL_FOLD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp) + > +struct fold +{ + typedef typename aux::fold_impl< + ::boost::mpl::O1_size::value + , typename begin::type + , typename end::type + , State + , ForwardOp + >::state type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, fold) + +}} + +#endif // BOOST_MPL_FOLD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/front.hpp b/external/include/boost_1_90_0/boost/mpl/front.hpp new file mode 100644 index 0000000000..b222ff2541 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/front.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_FRONT_HPP_INCLUDED +#define BOOST_MPL_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct front + : front_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,front,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, front) + +}} + +#endif // BOOST_MPL_FRONT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/front_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/front_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/front_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/front_fwd.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/front_inserter.hpp b/external/include/boost_1_90_0/boost/mpl/front_inserter.hpp new file mode 100644 index 0000000000..0a6b197ef8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/front_inserter.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED +#define BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +namespace boost { namespace mpl { + +template< + typename Sequence + > +struct front_inserter + : inserter< Sequence,push_front<> > +{ +}; + +}} + +#endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/has_xxx.hpp b/external/include/boost_1_90_0/boost/mpl/has_xxx.hpp new file mode 100644 index 0000000000..0f517bb064 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/has_xxx.hpp @@ -0,0 +1,647 @@ + +#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED +#define BOOST_MPL_HAS_XXX_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2006 +// Copyright David Abrahams 2002-2003 +// Copyright Daniel Walker 2007 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#if BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x590) ) +# include +#endif + +#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) + +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET +// newsgroup's posting by John Madsen (comp.lang.c++.moderated, +// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but +// it works way more reliably than the SFINAE-based implementation + +// Modified dwa 8/Oct/02 to handle reference types. + +# include +# include + +namespace boost { namespace mpl { namespace aux { + +struct has_xxx_tag; + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) +template< typename U > struct msvc_incomplete_array +{ + typedef char (&type)[sizeof(U) + 1]; +}; +#endif + +template< typename T > +struct msvc_is_incomplete +{ + // MSVC is capable of some kinds of SFINAE. If U is an incomplete + // type, it won't pick the second overload + static char tester(...); + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + template< typename U > + static typename msvc_incomplete_array::type tester(type_wrapper); +#else + template< typename U > + static char (& tester(type_wrapper) )[sizeof(U)+1]; +#endif + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(tester(type_wrapper())) == 1 + ); +}; + +template<> +struct msvc_is_incomplete +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +}}} + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \ +template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \ +struct BOOST_PP_CAT(trait,_impl) : T \ +{ \ + static boost::mpl::aux::no_tag \ + test(void(*)(::boost::mpl::aux::has_xxx_tag)); \ + \ + static boost::mpl::aux::yes_tag test(...); \ + \ + BOOST_STATIC_CONSTANT(bool, value = \ + sizeof(test(static_cast(0))) \ + != sizeof(boost::mpl::aux::no_tag) \ + ); \ + typedef boost::mpl::bool_ type; \ +}; \ +\ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ + : boost::mpl::if_c< \ + boost::mpl::aux::msvc_is_incomplete::value \ + , boost::mpl::bool_ \ + , BOOST_PP_CAT(trait,_impl) \ + >::type \ +{ \ +}; \ +\ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \ +/**/ + +# define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \ +template<> struct trait \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = false); \ + typedef boost::mpl::bool_ type; \ +}; \ +/**/ + +#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ + BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \ +/**/ +#else +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ +/**/ +#endif + + +// SFINAE-based implementations below are derived from a USENET newsgroup's +// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST) + +# elif BOOST_WORKAROUND(BOOST_MSVC, <= 1400) \ + || (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1800)) && defined(__CUDACC__)) \ + || BOOST_WORKAROUND(__IBMCPP__, <= 700) + +// MSVC 7.1 & MSVC 8.0 & VACPP + +// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE +// applied to partial specialization to fix some apparently random failures +// (thanks to Daniel Wallin for researching this!) + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T > \ +struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \ +{ \ + typedef void type; \ +};\ +\ +template< typename T, typename U = void > \ +struct BOOST_PP_CAT(trait,_impl_) \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = false); \ + typedef boost::mpl::bool_ type; \ +}; \ +\ +template< typename T > \ +struct BOOST_PP_CAT(trait,_impl_)< \ + T \ + , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \ + > \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = true); \ + typedef boost::mpl::bool_ type; \ +}; \ +\ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ + : BOOST_PP_CAT(trait,_impl_) \ +{ \ +}; \ +/**/ + +# elif BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x590) ) + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \ +template< typename T, bool IS_CLASS > \ +struct trait_tester \ +{ \ + BOOST_STATIC_CONSTANT( bool, value = false ); \ +}; \ +template< typename T > \ +struct trait_tester< T, true > \ +{ \ + struct trait_tester_impl \ + { \ + template < class U > \ + static int resolve( boost::mpl::aux::type_wrapper const volatile * \ + , boost::mpl::aux::type_wrapper* = 0 ); \ + static char resolve( ... ); \ + }; \ + typedef boost::mpl::aux::type_wrapper t_; \ + BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \ +}; \ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ +{ \ + BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) ); \ + typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \ +}; + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \ + , BOOST_PP_CAT(trait,_tester) \ + , name \ + , default_ ) \ +/**/ + +# else // other SFINAE-capable compilers + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ +{ \ + struct gcc_3_2_wknd \ + { \ + template< typename U > \ + static boost::mpl::aux::yes_tag test( \ + boost::mpl::aux::type_wrapper const volatile* \ + , boost::mpl::aux::type_wrapper* = 0 \ + ); \ + \ + static boost::mpl::aux::no_tag test(...); \ + }; \ + \ + typedef boost::mpl::aux::type_wrapper t_; \ + BOOST_STATIC_CONSTANT(bool, value = \ + sizeof(gcc_3_2_wknd::test(static_cast(0))) \ + == sizeof(boost::mpl::aux::yes_tag) \ + ); \ + typedef boost::mpl::bool_ type; \ +}; \ +/**/ + +# endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + + +#else // BOOST_MPL_CFG_NO_HAS_XXX + +// placeholder implementation + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ + typedef fallback_ type; \ +}; \ +/**/ + +#endif + +#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \ +/**/ + + +#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE) + +// Create a boolean Metafunction to detect a nested template +// member. This implementation is based on a USENET newsgroup's +// posting by Aleksey Gurtovoy (comp.lang.c++.moderated, 2002-03-19), +// Rani Sharoni's USENET posting cited above, the non-template has_xxx +// implementations above, and discussion on the Boost mailing list. + +# if !defined(BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES) +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) +# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 1 +# else +# define BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES 0 +# endif +# endif + +# if !defined(BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION) +# if (defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)) +# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 1 +# else +# define BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION 0 +# endif +# endif + +# if !defined(BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE) +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) +# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 1 +# else +# define BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE 0 +# endif +# endif + +// NOTE: Many internal implementation macros take a Boost.Preprocessor +// array argument called args which is of the following form. +// ( 4, ( trait, name, max_arity, default_ ) ) + +# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \ + BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _introspect) \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ + BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _substitute), n) \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) \ + BOOST_PP_CAT(BOOST_PP_ARRAY_ELEM(0, args) , _test) \ + /**/ + +// Thanks to Guillaume Melquiond for pointing out the need for the +// "substitute" template as an argument to the overloaded test +// functions to get SFINAE to work for member templates with the +// correct name but different number of arguments. +# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE(z, n, args) \ + template< \ + template< BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), typename V) > class V \ + > \ + struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) { \ + }; \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \ + BOOST_PP_REPEAT( \ + BOOST_PP_ARRAY_ELEM(2, args) \ + , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE \ + , args \ + ) \ + /**/ + +# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION +# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ + template< typename V > \ + static boost::mpl::aux::no_tag \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \ + /**/ +# else +# define BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ + static boost::mpl::aux::no_tag \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)(...); \ + /**/ +# endif + +# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES +# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT(z, n, args) \ + template< typename V > \ + static boost::mpl::aux::yes_tag \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ + boost::mpl::aux::type_wrapper< V > const volatile* \ + , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) < \ + V::template BOOST_PP_ARRAY_ELEM(1, args) \ + >* = 0 \ + ); \ + /**/ +# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ + BOOST_PP_REPEAT( \ + BOOST_PP_ARRAY_ELEM(2, args) \ + , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT \ + , args \ + ) \ + /**/ +# else +# define BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ + template< typename V > \ + static boost::mpl::aux::yes_tag \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ + V const volatile* \ + , member_macro(args, V, T)* = 0 \ + ); \ + /**/ +# endif + +# if !BOOST_MPL_HAS_XXX_NO_EXPLICIT_TEST_FUNCTION +# define BOOST_MPL_HAS_MEMBER_TEST(args) \ + sizeof(BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U >(0)) \ + == sizeof(boost::mpl::aux::yes_tag) \ + /**/ +# else +# if !BOOST_MPL_HAS_XXX_NO_WRAPPED_TYPES +# define BOOST_MPL_HAS_MEMBER_TEST(args) \ + sizeof( \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ + static_cast< boost::mpl::aux::type_wrapper< U >* >(0) \ + ) \ + ) == sizeof(boost::mpl::aux::yes_tag) \ + /**/ +# else +# define BOOST_MPL_HAS_MEMBER_TEST(args) \ + sizeof( \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)( \ + static_cast< U* >(0) \ + ) \ + ) == sizeof(boost::mpl::aux::yes_tag) \ + /**/ +# endif +# endif + +# define BOOST_MPL_HAS_MEMBER_INTROSPECT( \ + args, substitute_macro, member_macro \ + ) \ + template< typename U > \ + struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) { \ + BOOST_MPL_HAS_MEMBER_SUBSTITUTE(args, substitute_macro) \ + BOOST_MPL_HAS_MEMBER_REJECT(args, member_macro) \ + BOOST_MPL_HAS_MEMBER_ACCEPT(args, member_macro) \ + BOOST_STATIC_CONSTANT( \ + bool, value = BOOST_MPL_HAS_MEMBER_TEST(args) \ + ); \ + typedef boost::mpl::bool_< value > type; \ + }; \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ + args, introspect_macro, substitute_macro, member_macro \ + ) \ + template< \ + typename T \ + , typename fallback_ \ + = boost::mpl::bool_< BOOST_PP_ARRAY_ELEM(3, args) > \ + > \ + class BOOST_PP_ARRAY_ELEM(0, args) { \ + introspect_macro(args, substitute_macro, member_macro) \ + public: \ + static const bool value \ + = BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< T >::value; \ + typedef typename BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args)< \ + T \ + >::type type; \ + }; \ + /**/ + +// BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE expands to the full +// implementation of the function-based metafunction. Compile with -E +// to see the preprocessor output for this macro. +# define BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \ + args, substitute_macro, member_macro \ + ) \ + BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ + args \ + , BOOST_MPL_HAS_MEMBER_INTROSPECT \ + , substitute_macro \ + , member_macro \ + ) \ + /**/ + +# if BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE + +# if !defined(BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE) +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) +# define BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE 1 +# endif +# endif + +# if !BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE +# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ + args, n \ + ) \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ + /**/ +# else +# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ + args, n \ + ) \ + BOOST_PP_CAT( \ + boost_mpl_has_xxx_ \ + , BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME(args, n) \ + ) \ + /**/ +# endif + +# define BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME( \ + args \ + ) \ + BOOST_PP_CAT( \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ + args, 0 \ + ) \ + , _tag \ + ) \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ + z, n, args \ + ) \ + template< \ + template< BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), typename U) > class U \ + > \ + struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ + args, n \ + ) { \ + typedef \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \ + type; \ + }; \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ + args, substitute_macro \ + ) \ + typedef void \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args); \ + BOOST_PP_REPEAT( \ + BOOST_PP_ARRAY_ELEM(2, args) \ + , BOOST_MPL_HAS_MEMBER_MULTI_SUBSTITUTE_WITH_TEMPLATE_SFINAE \ + , args \ + ) \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE( \ + args, member_macro \ + ) \ + template< \ + typename U \ + , typename V \ + = BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_TAG_NAME(args) \ + > \ + struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args) { \ + BOOST_STATIC_CONSTANT(bool, value = false); \ + typedef boost::mpl::bool_< value > type; \ + }; \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE( \ + z, n, args \ + ) \ + template< typename U > \ + struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< \ + U \ + , typename \ + BOOST_MPL_HAS_MEMBER_INTROSPECTION_SUBSTITUTE_NAME_WITH_TEMPLATE_SFINAE( \ + args, n \ + )< \ + BOOST_MSVC_TYPENAME U::BOOST_PP_ARRAY_ELEM(1, args)< > \ + >::type \ + > { \ + BOOST_STATIC_CONSTANT(bool, value = true); \ + typedef boost::mpl::bool_< value > type; \ + }; \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE( \ + args, member_macro \ + ) \ + BOOST_PP_REPEAT( \ + BOOST_PP_ARRAY_ELEM(2, args) \ + , BOOST_MPL_HAS_MEMBER_MULTI_ACCEPT_WITH_TEMPLATE_SFINAE \ + , args \ + ) \ + /**/ + +# define BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE( \ + args, substitute_macro, member_macro \ + ) \ + BOOST_MPL_HAS_MEMBER_REJECT_WITH_TEMPLATE_SFINAE(args, member_macro) \ + BOOST_MPL_HAS_MEMBER_ACCEPT_WITH_TEMPLATE_SFINAE(args, member_macro) \ + template< typename U > \ + struct BOOST_MPL_HAS_MEMBER_INTROSPECTION_NAME(args) \ + : BOOST_MPL_HAS_MEMBER_INTROSPECTION_TEST_NAME(args)< U > { \ + }; \ + /**/ + +// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE expands to the full +// implementation of the template-based metafunction. Compile with -E +// to see the preprocessor output for this macro. +// +// Note that if BOOST_MPL_HAS_XXX_NEEDS_NAMESPACE_LEVEL_SUBSTITUTE is +// defined BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE needs +// to be expanded at namespace level before +// BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE can be used. +# define BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \ + args, substitute_macro, member_macro \ + ) \ + BOOST_MPL_HAS_MEMBER_SUBSTITUTE_WITH_TEMPLATE_SFINAE( \ + args, substitute_macro \ + ) \ + BOOST_MPL_HAS_MEMBER_IMPLEMENTATION( \ + args \ + , BOOST_MPL_HAS_MEMBER_INTROSPECT_WITH_TEMPLATE_SFINAE \ + , substitute_macro \ + , member_macro \ + ) \ + /**/ + +# endif // BOOST_MPL_HAS_XXX_NEEDS_TEMPLATE_SFINAE + +// Note: In the current implementation the parameter and access macros +// are no longer expanded. +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1400) +# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ + BOOST_MPL_HAS_MEMBER_WITH_FUNCTION_SFINAE( \ + ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \ + , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \ + , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \ + ) \ + /**/ +# else +# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ + BOOST_MPL_HAS_MEMBER_WITH_TEMPLATE_SFINAE( \ + ( 4, ( trait, name, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, default_ ) ) \ + , BOOST_MPL_HAS_MEMBER_TEMPLATE_SUBSTITUTE_PARAMETER \ + , BOOST_MPL_HAS_MEMBER_TEMPLATE_ACCESS \ + ) \ + /**/ +# endif + +#else // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE + +// placeholder implementation + +# define BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(trait, name, default_) \ + template< typename T \ + , typename fallback_ = boost::mpl::bool_< default_ > > \ + struct trait { \ + BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ + typedef fallback_ type; \ + }; \ + /**/ + +#endif // BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE + +# define BOOST_MPL_HAS_XXX_TEMPLATE_DEF(name) \ + BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF( \ + BOOST_PP_CAT(has_, name), name, false \ + ) \ + /**/ + +#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/identity.hpp b/external/include/boost_1_90_0/boost/mpl/identity.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/identity.hpp rename to external/include/boost_1_90_0/boost/mpl/identity.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/if.hpp b/external/include/boost_1_90_0/boost/mpl/if.hpp new file mode 100644 index 0000000000..3a0b67a3aa --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/if.hpp @@ -0,0 +1,135 @@ + +#ifndef BOOST_MPL_IF_HPP_INCLUDED +#define BOOST_MPL_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + bool C + , typename T1 + , typename T2 + > +struct if_c +{ + typedef T1 type; +}; + +template< + typename T1 + , typename T2 + > +struct if_c +{ + typedef T2 type; +}; + +// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars +// (and possibly MWCW < 8.0); see https://lists.boost.org/Archives/boost/2004/09/71383.php +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename BOOST_MPL_AUX_NA_PARAM(T3) + > +struct if_ +{ + private: + // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC + typedef if_c< +#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) + BOOST_MPL_AUX_VALUE_WKND(T1)::value +#else + BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value) +#endif + , T2 + , T3 + > almost_type_; + + public: + typedef typename almost_type_::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3)) +}; + +#else + +// no partial class template specialization + +namespace aux { + +template< bool C > +struct if_impl +{ + template< typename T1, typename T2 > struct result_ + { + typedef T1 type; + }; +}; + +template<> +struct if_impl +{ + template< typename T1, typename T2 > struct result_ + { + typedef T2 type; + }; +}; + +} // namespace aux + +template< + bool C_ + , typename T1 + , typename T2 + > +struct if_c +{ + typedef typename aux::if_impl< C_ > + ::template result_::type type; +}; + +// (almost) copy & paste in order to save one more +// recursively nested template instantiation to user +template< + typename BOOST_MPL_AUX_NA_PARAM(C_) + , typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct if_ +{ + enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value }; + + typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) > + ::template result_::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2)) +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +BOOST_MPL_AUX_NA_SPEC(3, if_) + +}} + +#endif // BOOST_MPL_IF_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/inserter.hpp b/external/include/boost_1_90_0/boost/mpl/inserter.hpp new file mode 100644 index 0000000000..964df7f692 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/inserter.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_INSERTER_HPP_INCLUDED +#define BOOST_MPL_INSERTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +namespace boost { namespace mpl { + +template< + typename Sequence + , typename Operation + > +struct inserter +{ + typedef Sequence state; + typedef Operation operation; +}; + +}} + +#endif // BOOST_MPL_INSERTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/int.hpp b/external/include/boost_1_90_0/boost/mpl/int.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/int.hpp rename to external/include/boost_1_90_0/boost/mpl/int.hpp index b7fa0a765f..95746a9264 100644 --- a/external/include/boost_1_75/boost/mpl/int.hpp +++ b/external/include/boost_1_90_0/boost/mpl/int.hpp @@ -1,22 +1,22 @@ - -#ifndef BOOST_MPL_INT_HPP_INCLUDED -#define BOOST_MPL_INT_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -#define AUX_WRAPPER_VALUE_TYPE int -#include - -#endif // BOOST_MPL_INT_HPP_INCLUDED + +#ifndef BOOST_MPL_INT_HPP_INCLUDED +#define BOOST_MPL_INT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#define AUX_WRAPPER_VALUE_TYPE int +#include + +#endif // BOOST_MPL_INT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/int_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/int_fwd.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/int_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/int_fwd.hpp index 03d20c1cd6..a2c2036c1f 100644 --- a/external/include/boost_1_75/boost/mpl/int_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/int_fwd.hpp @@ -1,27 +1,27 @@ - -#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED -#define BOOST_MPL_INT_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(int_) - -#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED +#define BOOST_MPL_INT_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(int_) + +#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/integral_c.hpp b/external/include/boost_1_90_0/boost/mpl/integral_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/integral_c.hpp rename to external/include/boost_1_90_0/boost/mpl/integral_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/integral_c_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/integral_c_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/integral_c_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/integral_c_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/integral_c_tag.hpp b/external/include/boost_1_90_0/boost/mpl/integral_c_tag.hpp similarity index 96% rename from external/include/boost_1_75/boost/mpl/integral_c_tag.hpp rename to external/include/boost_1_90_0/boost/mpl/integral_c_tag.hpp index b6046920f8..f81aac70e8 100644 --- a/external/include/boost_1_75/boost/mpl/integral_c_tag.hpp +++ b/external/include/boost_1_90_0/boost/mpl/integral_c_tag.hpp @@ -1,26 +1,26 @@ - -#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED -#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - - -#include -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN -struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); }; -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag) - -#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED + +#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED +#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); }; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag) + +#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/is_placeholder.hpp b/external/include/boost_1_90_0/boost/mpl/is_placeholder.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/is_placeholder.hpp rename to external/include/boost_1_90_0/boost/mpl/is_placeholder.hpp diff --git a/external/include/boost_1_75/boost/mpl/is_sequence.hpp b/external/include/boost_1_90_0/boost/mpl/is_sequence.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/is_sequence.hpp rename to external/include/boost_1_90_0/boost/mpl/is_sequence.hpp diff --git a/external/include/boost_1_75/boost/mpl/iter_fold.hpp b/external/include/boost_1_90_0/boost/mpl/iter_fold.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/iter_fold.hpp rename to external/include/boost_1_90_0/boost/mpl/iter_fold.hpp diff --git a/external/include/boost_1_75/boost/mpl/iter_fold_if.hpp b/external/include/boost_1_90_0/boost/mpl/iter_fold_if.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/iter_fold_if.hpp rename to external/include/boost_1_90_0/boost/mpl/iter_fold_if.hpp diff --git a/external/include/boost_1_75/boost/mpl/iterator_range.hpp b/external/include/boost_1_90_0/boost/mpl/iterator_range.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/iterator_range.hpp rename to external/include/boost_1_90_0/boost/mpl/iterator_range.hpp diff --git a/external/include/boost_1_75/boost/mpl/iterator_tags.hpp b/external/include/boost_1_90_0/boost/mpl/iterator_tags.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/iterator_tags.hpp rename to external/include/boost_1_90_0/boost/mpl/iterator_tags.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/joint_view.hpp b/external/include/boost_1_90_0/boost/mpl/joint_view.hpp new file mode 100644 index 0000000000..cd9cddac7e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/joint_view.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_JOINT_VIEW_HPP_INCLUDED +#define BOOST_MPL_JOINT_VIEW_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { +struct joint_view_tag; +} + +template<> +struct size_impl< aux::joint_view_tag > +{ + template < typename JointView > struct apply + : plus< + size + , size + > + {}; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence1_) + , typename BOOST_MPL_AUX_NA_PARAM(Sequence2_) + > +struct joint_view +{ + typedef typename mpl::begin::type first1_; + typedef typename mpl::end::type last1_; + typedef typename mpl::begin::type first2_; + typedef typename mpl::end::type last2_; + + // agurt, 25/may/03: for the 'size_traits' implementation above + typedef Sequence1_ sequence1_; + typedef Sequence2_ sequence2_; + + typedef joint_view type; + typedef aux::joint_view_tag tag; + typedef joint_iter begin; + typedef joint_iter end; +}; + +BOOST_MPL_AUX_NA_SPEC(2, joint_view) + +}} + +#endif // BOOST_MPL_JOINT_VIEW_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/lambda.hpp b/external/include/boost_1_90_0/boost/mpl/lambda.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/lambda.hpp rename to external/include/boost_1_90_0/boost/mpl/lambda.hpp diff --git a/external/include/boost_1_75/boost/mpl/lambda_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/lambda_fwd.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/lambda_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/lambda_fwd.hpp index 57b0426410..fde3cc43ae 100644 --- a/external/include/boost_1_75/boost/mpl/lambda_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/lambda_fwd.hpp @@ -1,57 +1,57 @@ - -#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED -#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) - -# include -# include -# include - -namespace boost { namespace mpl { - -template< - typename T = na - , typename Tag = void_ - BOOST_MPL_AUX_LAMBDA_ARITY_PARAM( - typename Arity = int_< aux::template_arity::value > - ) - > -struct lambda; - -}} - -#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT - -# include - -namespace boost { namespace mpl { - -template< - typename T = na - , typename Tag = void_ - , typename Protect = true_ - > -struct lambda; - -}} - -#endif - -#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED +#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) + +# include +# include +# include + +namespace boost { namespace mpl { + +template< + typename T = na + , typename Tag = void_ + BOOST_MPL_AUX_LAMBDA_ARITY_PARAM( + typename Arity = int_< aux::template_arity::value > + ) + > +struct lambda; + +}} + +#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +# include + +namespace boost { namespace mpl { + +template< + typename T = na + , typename Tag = void_ + , typename Protect = true_ + > +struct lambda; + +}} + +#endif + +#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/less.hpp b/external/include/boost_1_90_0/boost/mpl/less.hpp new file mode 100644 index 0000000000..63da5aa4ef --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/less.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LESS_HPP_INCLUDED +#define BOOST_MPL_LESS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#define AUX778076_OP_NAME less +#define AUX778076_OP_TOKEN < +#include + +#endif // BOOST_MPL_LESS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/limits/arity.hpp b/external/include/boost_1_90_0/boost/mpl/limits/arity.hpp new file mode 100644 index 0000000000..7e56f4b3a3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/limits/arity.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED +#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) +# define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5 +#endif + +#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/limits/unrolling.hpp b/external/include/boost_1_90_0/boost/mpl/limits/unrolling.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/limits/unrolling.hpp rename to external/include/boost_1_90_0/boost/mpl/limits/unrolling.hpp diff --git a/external/include/boost_1_75/boost/mpl/limits/vector.hpp b/external/include/boost_1_90_0/boost/mpl/limits/vector.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/limits/vector.hpp rename to external/include/boost_1_90_0/boost/mpl/limits/vector.hpp diff --git a/external/include/boost_1_75/boost/mpl/logical.hpp b/external/include/boost_1_90_0/boost/mpl/logical.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/logical.hpp rename to external/include/boost_1_90_0/boost/mpl/logical.hpp index c8236b5fe8..2f6154a2e1 100644 --- a/external/include/boost_1_75/boost/mpl/logical.hpp +++ b/external/include/boost_1_90_0/boost/mpl/logical.hpp @@ -1,21 +1,21 @@ - -#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED -#define BOOST_MPL_LOGICAL_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2000-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include -#include -#include - -#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED + +#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED +#define BOOST_MPL_LOGICAL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/long.hpp b/external/include/boost_1_90_0/boost/mpl/long.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/long.hpp rename to external/include/boost_1_90_0/boost/mpl/long.hpp diff --git a/external/include/boost_1_75/boost/mpl/long_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/long_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/long_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/long_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/minus.hpp b/external/include/boost_1_90_0/boost/mpl/minus.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/minus.hpp rename to external/include/boost_1_90_0/boost/mpl/minus.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/negate.hpp b/external/include/boost_1_90_0/boost/mpl/negate.hpp new file mode 100644 index 0000000000..d6aa065459 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/negate.hpp @@ -0,0 +1,81 @@ + +#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED +#define BOOST_MPL_NEGATE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename Tag > struct negate_impl; + +template< typename T > struct negate_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N) + > +struct negate +#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) + : negate_impl< + typename negate_tag::type + >::template apply::type +#else + : aux::msvc_eti_base< typename apply_wrap1< + negate_impl< typename negate_tag::type > + , N + >::type >::type +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, negate) + + +#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) +namespace aux { +template< typename T, T n > struct negate_wknd +{ + BOOST_STATIC_CONSTANT(T, value = -n); + typedef integral_c type; +}; +} +#endif + +template<> +struct negate_impl +{ +#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) + template< typename N > struct apply + : aux::negate_wknd< typename N::value_type, N::value > +#else + template< typename N > struct apply + : integral_c< typename N::value_type, (-N::value) > +#endif + { + }; +}; + +}} + +#endif // BOOST_MPL_NEGATE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/next.hpp b/external/include/boost_1_90_0/boost/mpl/next.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/next.hpp rename to external/include/boost_1_90_0/boost/mpl/next.hpp diff --git a/external/include/boost_1_75/boost/mpl/next_prior.hpp b/external/include/boost_1_90_0/boost/mpl/next_prior.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/next_prior.hpp rename to external/include/boost_1_90_0/boost/mpl/next_prior.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/not.hpp b/external/include/boost_1_90_0/boost/mpl/not.hpp new file mode 100644 index 0000000000..70753ba25c --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/not.hpp @@ -0,0 +1,51 @@ + +#ifndef BOOST_MPL_NOT_HPP_INCLUDED +#define BOOST_MPL_NOT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here +struct not_impl + : bool_ +{ +}; + +} // namespace aux + + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct not_ + : aux::not_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T)) +}; + +BOOST_MPL_AUX_NA_SPEC(1,not_) + +}} + +#endif // BOOST_MPL_NOT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/numeric_cast.hpp b/external/include/boost_1_90_0/boost/mpl/numeric_cast.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/numeric_cast.hpp rename to external/include/boost_1_90_0/boost/mpl/numeric_cast.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/or.hpp b/external/include/boost_1_90_0/boost/mpl/or.hpp new file mode 100644 index 0000000000..7f99ceb1e9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/or.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_OR_HPP_INCLUDED +#define BOOST_MPL_OR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# include +# include +# include +# include +# include + +// agurt, 19/may/04: workaround a conflict with header's +// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)' +// has to be checked in a separate condition, otherwise GCC complains +// about 'or' being an alternative token +#if defined(_MSC_EXTENSIONS) +#if defined(or) +# pragma push_macro("or") +# undef or +# define or(x) +#endif +#endif + +# define BOOST_MPL_PREPROCESSED_HEADER or.hpp +# include + +#if defined(_MSC_EXTENSIONS) +#if defined(or) +# pragma pop_macro("or") +#endif +#endif + +#else + +# define AUX778076_OP_NAME or_ +# define AUX778076_OP_VALUE1 true +# define AUX778076_OP_VALUE2 false +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_OR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/pair.hpp b/external/include/boost_1_90_0/boost/mpl/pair.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/pair.hpp rename to external/include/boost_1_90_0/boost/mpl/pair.hpp diff --git a/external/include/boost_1_75/boost/mpl/placeholders.hpp b/external/include/boost_1_90_0/boost/mpl/placeholders.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/placeholders.hpp rename to external/include/boost_1_90_0/boost/mpl/placeholders.hpp diff --git a/external/include/boost_1_75/boost/mpl/plus.hpp b/external/include/boost_1_90_0/boost/mpl/plus.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/plus.hpp rename to external/include/boost_1_90_0/boost/mpl/plus.hpp diff --git a/external/include/boost_1_75/boost/mpl/pop_back_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/pop_back_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/pop_back_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/pop_back_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/pop_front_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/pop_front_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/pop_front_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/pop_front_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/prior.hpp b/external/include/boost_1_90_0/boost/mpl/prior.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/prior.hpp rename to external/include/boost_1_90_0/boost/mpl/prior.hpp diff --git a/external/include/boost_1_75/boost/mpl/protect.hpp b/external/include/boost_1_90_0/boost/mpl/protect.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/protect.hpp rename to external/include/boost_1_90_0/boost/mpl/protect.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/push_back.hpp b/external/include/boost_1_90_0/boost/mpl/push_back.hpp new file mode 100644 index 0000000000..95a2587be6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/push_back.hpp @@ -0,0 +1,53 @@ + +#ifndef BOOST_MPL_PUSH_BACK_HPP_INCLUDED +#define BOOST_MPL_PUSH_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct push_back + : push_back_impl< typename sequence_tag::type > + ::template apply< Sequence,T > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T)) +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct has_push_back + : has_push_back_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence)) +}; + + +BOOST_MPL_AUX_NA_SPEC(2, push_back) +BOOST_MPL_AUX_NA_SPEC(1, has_push_back) + +}} + +#endif // BOOST_MPL_PUSH_BACK_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/push_back_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/push_back_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/push_back_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/push_back_fwd.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/push_front.hpp b/external/include/boost_1_90_0/boost/mpl/push_front.hpp new file mode 100644 index 0000000000..e4d0dfb7fb --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/push_front.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_PUSH_FRONT_HPP_INCLUDED +#define BOOST_MPL_PUSH_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct push_front + : push_front_impl< typename sequence_tag::type > + ::template apply< Sequence,T > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T)) +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct has_push_front + : has_push_front_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, push_front) +BOOST_MPL_AUX_NA_SPEC(1, has_push_front) + +}} + +#endif // BOOST_MPL_PUSH_FRONT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/push_front_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/push_front_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/push_front_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/push_front_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/quote.hpp b/external/include/boost_1_90_0/boost/mpl/quote.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/quote.hpp rename to external/include/boost_1_90_0/boost/mpl/quote.hpp diff --git a/external/include/boost_1_90_0/boost/mpl/remove.hpp b/external/include/boost_1_90_0/boost/mpl/remove.hpp new file mode 100644 index 0000000000..9c72f9e6fe --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/remove.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_REMOVE_HPP_INCLUDED +#define BOOST_MPL_REMOVE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Sequence + , typename T + , typename Inserter + > +struct remove_impl + : remove_if_impl< Sequence, same_as, Inserter > +{ +}; + +template< + typename Sequence + , typename T + , typename Inserter + > +struct reverse_remove_impl + : reverse_remove_if_impl< Sequence, same_as, Inserter > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove) + +}} + +#endif // BOOST_MPL_REMOVE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/remove_if.hpp b/external/include/boost_1_90_0/boost/mpl/remove_if.hpp new file mode 100644 index 0000000000..bbe6564b09 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/remove_if.hpp @@ -0,0 +1,83 @@ + +#ifndef BOOST_MPL_REMOVE_IF_HPP_INCLUDED +#define BOOST_MPL_REMOVE_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright David Abrahams 2003-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< typename Pred, typename InsertOp > struct remove_if_helper +{ + template< typename Sequence, typename U > struct apply + { + typedef typename eval_if< + typename apply1::type + , identity + , apply2 + >::type type; + }; +}; + +template< + typename Sequence + , typename Predicate + , typename Inserter + > +struct remove_if_impl + : fold< + Sequence + , typename Inserter::state + , protect< aux::remove_if_helper< + typename lambda::type + , typename Inserter::operation + > > + > +{ +}; + +template< + typename Sequence + , typename Predicate + , typename Inserter + > +struct reverse_remove_if_impl + : reverse_fold< + Sequence + , typename Inserter::state + , protect< aux::remove_if_helper< + typename lambda::type + , typename Inserter::operation + > > + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove_if) + +}} + +#endif // BOOST_MPL_REMOVE_IF_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/reverse_fold.hpp b/external/include/boost_1_90_0/boost/mpl/reverse_fold.hpp new file mode 100644 index 0000000000..87c26a9a84 --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/reverse_fold.hpp @@ -0,0 +1,50 @@ + +#ifndef BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED +#define BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp) + , typename ForwardOp = arg<1> + > +struct reverse_fold +{ + typedef typename aux::reverse_fold_impl< + ::boost::mpl::O1_size::value + , typename begin::type + , typename end::type + , State + , BackwardOp + , ForwardOp + >::state type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, reverse_fold) + +}} + +#endif // BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/mpl/same_as.hpp b/external/include/boost_1_90_0/boost/mpl/same_as.hpp new file mode 100644 index 0000000000..4be20bc33e --- /dev/null +++ b/external/include/boost_1_90_0/boost/mpl/same_as.hpp @@ -0,0 +1,55 @@ + +#ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED +#define BOOST_MPL_SAME_AS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +template< typename T1 > +struct same_as +{ + template< typename T2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : is_same + { +#else + { + typedef typename is_same::type type; +#endif + }; +}; + +template< typename T1 > +struct not_same_as +{ + template< typename T2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : not_< is_same > + { +#else + { + typedef typename not_< is_same >::type type; +#endif + }; +}; + +}} + +#endif // BOOST_MPL_SAME_AS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/mpl/sequence_tag.hpp b/external/include/boost_1_90_0/boost/mpl/sequence_tag.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/sequence_tag.hpp rename to external/include/boost_1_90_0/boost/mpl/sequence_tag.hpp diff --git a/external/include/boost_1_75/boost/mpl/sequence_tag_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/sequence_tag_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/sequence_tag_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/sequence_tag_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/size.hpp b/external/include/boost_1_90_0/boost/mpl/size.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/size.hpp rename to external/include/boost_1_90_0/boost/mpl/size.hpp diff --git a/external/include/boost_1_75/boost/mpl/size_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/size_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/size_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/size_fwd.hpp diff --git a/external/include/boost_1_75/boost/mpl/tag.hpp b/external/include/boost_1_90_0/boost/mpl/tag.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/tag.hpp rename to external/include/boost_1_90_0/boost/mpl/tag.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector.hpp b/external/include/boost_1_90_0/boost/mpl/vector.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector.hpp rename to external/include/boost_1_90_0/boost/mpl/vector.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/O1_size.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/O1_size.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/O1_size.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/O1_size.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/at.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/at.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/at.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/at.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/back.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/back.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/back.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/back.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/begin_end.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/begin_end.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/begin_end.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/begin_end.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/clear.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/clear.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/clear.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/clear.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/empty.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/empty.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/empty.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/empty.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/front.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/front.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/front.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/front.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/include_preprocessed.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/include_preprocessed.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/include_preprocessed.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/include_preprocessed.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/item.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/item.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/item.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/item.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/iterator.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/iterator.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/iterator.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/iterator.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/numbered.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/numbered.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/numbered.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/numbered.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/numbered_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/numbered_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/numbered_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/numbered_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/pop_back.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/pop_back.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/pop_back.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/pop_back.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/pop_front.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/pop_front.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/pop_front.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/pop_front.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/push_back.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/push_back.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/push_back.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/push_back.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/push_front.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/push_front.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/push_front.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/push_front.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/size.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/size.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/size.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/size.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/tag.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/tag.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/tag.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/tag.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/aux_/vector0.hpp b/external/include/boost_1_90_0/boost/mpl/vector/aux_/vector0.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/aux_/vector0.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/aux_/vector0.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector0.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector0.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector0.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector0.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector0_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector0_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector0_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector0_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector10.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector10.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector10.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector10.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector10_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector10_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector10_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector10_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector20.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector20.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector20.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector20.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector20_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector20_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector20_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector20_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector30.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector30.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector30.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector30.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector30_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector30_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector30_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector30_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector40.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector40.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector40.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector40.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector40_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector40_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector40_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector40_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector50.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector50.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector50.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector50.hpp diff --git a/external/include/boost_1_75/boost/mpl/vector/vector50_c.hpp b/external/include/boost_1_90_0/boost/mpl/vector/vector50_c.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/vector/vector50_c.hpp rename to external/include/boost_1_90_0/boost/mpl/vector/vector50_c.hpp diff --git a/external/include/boost_1_75/boost/mpl/void.hpp b/external/include/boost_1_90_0/boost/mpl/void.hpp similarity index 100% rename from external/include/boost_1_75/boost/mpl/void.hpp rename to external/include/boost_1_90_0/boost/mpl/void.hpp diff --git a/external/include/boost_1_75/boost/mpl/void_fwd.hpp b/external/include/boost_1_90_0/boost/mpl/void_fwd.hpp similarity index 95% rename from external/include/boost_1_75/boost/mpl/void_fwd.hpp rename to external/include/boost_1_90_0/boost/mpl/void_fwd.hpp index 86078b5c9e..c72ff641e0 100644 --- a/external/include/boost_1_75/boost/mpl/void_fwd.hpp +++ b/external/include/boost_1_90_0/boost/mpl/void_fwd.hpp @@ -1,26 +1,26 @@ - -#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED -#define BOOST_MPL_VOID_FWD_HPP_INCLUDED - -// Copyright Aleksey Gurtovoy 2001-2004 -// -// 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) -// -// See http://www.boost.org/libs/mpl for documentation. - -// $Id$ -// $Date$ -// $Revision$ - -#include - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN - -struct void_; - -BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE -BOOST_MPL_AUX_ADL_BARRIER_DECL(void_) - -#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED + +#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED +#define BOOST_MPL_VOID_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +struct void_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(void_) + +#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/noncopyable.hpp b/external/include/boost_1_90_0/boost/noncopyable.hpp new file mode 100644 index 0000000000..227bd4ace1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/noncopyable.hpp @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2014 Glen Fernandes + * + * 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) + */ + +#ifndef BOOST_NONCOPYABLE_HPP +#define BOOST_NONCOPYABLE_HPP + +// The header file at this path is deprecated; +// use boost/core/noncopyable.hpp instead. + +#include + +#endif diff --git a/external/include/boost_1_75/boost/none.hpp b/external/include/boost_1_90_0/boost/none.hpp similarity index 94% rename from external/include/boost_1_75/boost/none.hpp rename to external/include/boost_1_90_0/boost/none.hpp index 5f927cc36b..3e7a950055 100644 --- a/external/include/boost_1_75/boost/none.hpp +++ b/external/include/boost_1_90_0/boost/none.hpp @@ -50,7 +50,7 @@ namespace { #else -BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST none_t none ((none_t::init_tag())); +BOOST_INLINE_CONSTEXPR none_t none ((none_t::init_tag())); #endif // older definitions diff --git a/external/include/boost_1_90_0/boost/none_t.hpp b/external/include/boost_1_90_0/boost/none_t.hpp new file mode 100644 index 0000000000..1c8e07611e --- /dev/null +++ b/external/include/boost_1_90_0/boost/none_t.hpp @@ -0,0 +1,55 @@ +// Copyright (C) 2003, Fernando Luis Cacciola Carballal. +// Copyright (C) 2014, 2024 Andrzej Krzemienski. +// +// Use, modification, and distribution is subject to 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) +// +// See http://www.boost.org/libs/optional for documentation. +// +// You are welcome to contact the author at: +// fernando_cacciola@hotmail.com +// +#ifndef BOOST_NONE_T_17SEP2003_HPP +#define BOOST_NONE_T_17SEP2003_HPP + +#include +#include + +#if defined (BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ +|| defined(BOOST_NO_CXX11_LAMBDAS) || defined(BOOST_NO_CXX11_DECLTYPE_N3276) \ +|| defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) \ +|| defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) || defined(BOOST_NO_CXX11_STATIC_ASSERT) + +#error "Boost.Optional requires some C++11 features since version 1.87. If you have an older C++ version use Boost.Optional version 1.86 or earlier." + +#elif defined(BOOST_NO_CXX11_REF_QUALIFIERS) || defined(BOOST_NO_CXX11_NOEXCEPT) || defined(BOOST_NO_CXX11_DEFAULTED_MOVES) + +BOOST_PRAGMA_MESSAGE("C++03 support is deprecated in Boost.Optional 1.83 and will be removed in Boost.Optional 1.88.") + +#endif + +namespace boost { + +#ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE + +namespace detail { struct none_helper{}; } +typedef int detail::none_helper::*none_t ; + +#elif defined BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE + +class none_t {}; + +#else + +struct none_t +{ + struct init_tag{}; + explicit BOOST_CONSTEXPR none_t(init_tag){} // to disable default constructor +}; + +#endif // old implementation workarounds + +} // namespace boost + +#endif // header guard diff --git a/external/include/boost_1_90_0/boost/operators.hpp b/external/include/boost_1_90_0/boost/operators.hpp new file mode 100644 index 0000000000..be56a2f880 --- /dev/null +++ b/external/include/boost_1_90_0/boost/operators.hpp @@ -0,0 +1,920 @@ +// Boost operators.hpp header file ----------------------------------------// + +// (C) Copyright David Abrahams, Jeremy Siek, Daryle Walker 1999-2001. +// (C) Copyright Daniel Frey 2002-2017. +// 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) + +// See http://www.boost.org/libs/utility/operators.htm for documentation. + +// Revision History +// 23 Nov 17 Protect dereferenceable<> from overloaded operator&. +// 15 Oct 17 Adapted to C++17, replace std::iterator<> with manual +// implementation. +// 22 Feb 16 Added ADL protection, preserve old work-arounds in +// operators_v1.hpp and clean up this file. (Daniel Frey) +// 16 Dec 10 Limit warning suppression for 4284 to older versions of VC++ +// (Matthew Bradbury, fixes #4432) +// 07 Aug 08 Added "euclidean" spelling. (Daniel Frey) +// 03 Apr 08 Make sure "convertible to bool" is sufficient +// for T::operator<, etc. (Daniel Frey) +// 24 May 07 Changed empty_base to depend on T, see +// http://svn.boost.org/trac/boost/ticket/979 +// 21 Oct 02 Modified implementation of operators to allow compilers with a +// correct named return value optimization (NRVO) to produce optimal +// code. (Daniel Frey) +// 02 Dec 01 Bug fixed in random_access_iteratable. (Helmut Zeisel) +// 28 Sep 01 Factored out iterator operator groups. (Daryle Walker) +// 27 Aug 01 'left' form for non commutative operators added; +// additional classes for groups of related operators added; +// workaround for empty base class optimization +// bug of GCC 3.0 (Helmut Zeisel) +// 25 Jun 01 output_iterator_helper changes: removed default template +// parameters, added support for self-proxying, additional +// documentation and tests (Aleksey Gurtovoy) +// 29 May 01 Added operator classes for << and >>. Added input and output +// iterator helper classes. Added classes to connect equality and +// relational operators. Added classes for groups of related +// operators. Reimplemented example operator and iterator helper +// classes in terms of the new groups. (Daryle Walker, with help +// from Alexy Gurtovoy) +// 11 Feb 01 Fixed bugs in the iterator helpers which prevented explicitly +// supplied arguments from actually being used (Dave Abrahams) +// 04 Jul 00 Fixed NO_OPERATORS_IN_NAMESPACE bugs, major cleanup and +// refactoring of compiler workarounds, additional documentation +// (Alexy Gurtovoy and Mark Rodgers with some help and prompting from +// Dave Abrahams) +// 28 Jun 00 General cleanup and integration of bugfixes from Mark Rodgers and +// Jeremy Siek (Dave Abrahams) +// 20 Jun 00 Changes to accommodate Borland C++Builder 4 and Borland C++ 5.5 +// (Mark Rodgers) +// 20 Jun 00 Minor fixes to the prior revision (Aleksey Gurtovoy) +// 10 Jun 00 Support for the base class chaining technique was added +// (Aleksey Gurtovoy). See documentation and the comments below +// for the details. +// 12 Dec 99 Initial version with iterator operators (Jeremy Siek) +// 18 Nov 99 Change name "divideable" to "dividable", remove unnecessary +// specializations of dividable, subtractable, modable (Ed Brey) +// 17 Nov 99 Add comments (Beman Dawes) +// Remove unnecessary specialization of operators<> (Ed Brey) +// 15 Nov 99 Fix less_than_comparable second operand type for first two +// operators.(Beman Dawes) +// 12 Nov 99 Add operators templates (Ed Brey) +// 11 Nov 99 Add single template parameter version for compilers without +// partial specialization (Beman Dawes) +// 10 Nov 99 Initial version + +// 10 Jun 00: +// An additional optional template parameter was added to most of +// operator templates to support the base class chaining technique (see +// documentation for the details). Unfortunately, a straightforward +// implementation of this change would have broken compatibility with the +// previous version of the library by making it impossible to use the same +// template name (e.g. 'addable') for both the 1- and 2-argument versions of +// an operator template. This implementation solves the backward-compatibility +// issue at the cost of some simplicity. +// +// One of the complications is an existence of special auxiliary class template +// 'is_chained_base<>' (see 'operators_detail' namespace below), which is used +// to determine whether its template parameter is a library's operator template +// or not. You have to specialize 'is_chained_base<>' for each new +// operator template you add to the library. +// +// However, most of the non-trivial implementation details are hidden behind +// several local macros defined below, and as soon as you understand them, +// you understand the whole library implementation. + +#ifndef BOOST_OPERATORS_HPP +#define BOOST_OPERATORS_HPP + +// If old work-arounds are needed, refer to the preserved version without +// ADL protection. +#if defined(BOOST_NO_OPERATORS_IN_NAMESPACE) || defined(BOOST_USE_OPERATORS_V1) +#include "operators_v1.hpp" +#else + +#include +#include + +#include +#include +#include + +#if defined(__sgi) && !defined(__GNUC__) +# pragma set woff 1234 +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1600) +# pragma warning( disable : 4284 ) // complaint about return type of +#endif // operator-> not begin a UDT + +// Define BOOST_OPERATORS_CONSTEXPR to be like BOOST_CONSTEXPR but empty under MSVC < v19.22 +#if BOOST_WORKAROUND(BOOST_MSVC, < 1922) +#define BOOST_OPERATORS_CONSTEXPR +#elif defined __sun +#define BOOST_OPERATORS_CONSTEXPR +#else +#define BOOST_OPERATORS_CONSTEXPR BOOST_CONSTEXPR +#endif + +// In this section we supply the xxxx1 and xxxx2 forms of the operator +// templates, which are explicitly targeted at the 1-type-argument and +// 2-type-argument operator forms, respectively. + +namespace boost +{ +namespace operators_impl +{ +namespace operators_detail +{ + +template class empty_base {}; + +} // namespace operators_detail + +// Basic operator classes (contributed by Dave Abrahams) ------------------// + +// Note that friend functions defined in a class are implicitly inline. +// See the C++ std, 11.4 [class.friend] paragraph 5 + +template > +struct less_than_comparable2 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator<=(const T& x, const U& y) { return !static_cast(x > y); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>=(const T& x, const U& y) { return !static_cast(x < y); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>(const U& x, const T& y) { return y < x; } + friend BOOST_OPERATORS_CONSTEXPR bool operator<(const U& x, const T& y) { return y > x; } + friend BOOST_OPERATORS_CONSTEXPR bool operator<=(const U& x, const T& y) { return !static_cast(y < x); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>=(const U& x, const T& y) { return !static_cast(y > x); } +}; + +template > +struct less_than_comparable1 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator>(const T& x, const T& y) { return y < x; } + friend BOOST_OPERATORS_CONSTEXPR bool operator<=(const T& x, const T& y) { return !static_cast(y < x); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>=(const T& x, const T& y) { return !static_cast(x < y); } +}; + +template > +struct equality_comparable2 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator==(const U& y, const T& x) { return x == y; } + friend BOOST_OPERATORS_CONSTEXPR bool operator!=(const U& y, const T& x) { return !static_cast(x == y); } + friend BOOST_OPERATORS_CONSTEXPR bool operator!=(const T& y, const U& x) { return !static_cast(y == x); } +}; + +template > +struct equality_comparable1 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator!=(const T& x, const T& y) { return !static_cast(x == y); } +}; + +// A macro which produces "name_2left" from "name". +#define BOOST_OPERATOR2_LEFT(name) name##2##_##left + +// NRVO-friendly implementation (contributed by Daniel Frey) ---------------// + +#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +// This is the optimal implementation for ISO/ANSI C++, +// but it requires the compiler to implement the NRVO. +// If the compiler has no NRVO, this is the best symmetric +// implementation available. + +#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( const T& lhs, const U& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ + friend T operator OP( const U& lhs, const T& rhs ) \ + { T nrv( rhs ); nrv OP##= lhs; return nrv; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( const T& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; + +#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( const T& lhs, const U& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; \ + \ +template > \ +struct BOOST_OPERATOR2_LEFT(NAME) : B \ +{ \ + friend T operator OP( const U& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( const T& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; + +#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +// For compilers without NRVO the following code is optimal, but not +// symmetric! Note that the implementation of +// BOOST_OPERATOR2_LEFT(NAME) only looks cool, but doesn't provide +// optimization opportunities to the compiler :) + +#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \ + friend T operator OP( const U& lhs, T rhs ) { return rhs OP##= lhs; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \ +}; + +#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \ +}; \ + \ +template > \ +struct BOOST_OPERATOR2_LEFT(NAME) : B \ +{ \ + friend T operator OP( const U& lhs, const T& rhs ) \ + { return T( lhs ) OP##= rhs; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \ +}; + +#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +BOOST_BINARY_OPERATOR_COMMUTATIVE( multipliable, * ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( addable, + ) +BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( subtractable, - ) +BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( dividable, / ) +BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( modable, % ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( xorable, ^ ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( andable, & ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( orable, | ) + +#undef BOOST_BINARY_OPERATOR_COMMUTATIVE +#undef BOOST_BINARY_OPERATOR_NON_COMMUTATIVE +#undef BOOST_OPERATOR2_LEFT + +// incrementable and decrementable contributed by Jeremy Siek + +template > +struct incrementable : B +{ + friend T operator++(T& x, int) + { + incrementable_type nrv(x); + ++x; + return nrv; + } +private: // The use of this typedef works around a Borland bug + typedef T incrementable_type; +}; + +template > +struct decrementable : B +{ + friend T operator--(T& x, int) + { + decrementable_type nrv(x); + --x; + return nrv; + } +private: // The use of this typedef works around a Borland bug + typedef T decrementable_type; +}; + +// Iterator operator classes (contributed by Jeremy Siek) ------------------// + +template > +struct dereferenceable : B +{ + P operator->() const + { + return ::boost::addressof(*static_cast(*this)); + } +}; + +template > +struct indexable : B +{ + R operator[](I n) const + { + return *(static_cast(*this) + n); + } +}; + +// More operator classes (contributed by Daryle Walker) --------------------// +// (NRVO-friendly implementation contributed by Daniel Frey) ---------------// + +#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +#define BOOST_BINARY_OPERATOR( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( const T& lhs, const U& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( const T& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; + +#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +#define BOOST_BINARY_OPERATOR( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \ +}; + +#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +BOOST_BINARY_OPERATOR( left_shiftable, << ) +BOOST_BINARY_OPERATOR( right_shiftable, >> ) + +#undef BOOST_BINARY_OPERATOR + +template > +struct equivalent2 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator==(const T& x, const U& y) + { + return !static_cast(x < y) && !static_cast(x > y); + } +}; + +template > +struct equivalent1 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator==(const T&x, const T&y) + { + return !static_cast(x < y) && !static_cast(y < x); + } +}; + +template > +struct partially_ordered2 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator<=(const T& x, const U& y) + { return static_cast(x < y) || static_cast(x == y); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>=(const T& x, const U& y) + { return static_cast(x > y) || static_cast(x == y); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>(const U& x, const T& y) + { return y < x; } + friend BOOST_OPERATORS_CONSTEXPR bool operator<(const U& x, const T& y) + { return y > x; } + friend BOOST_OPERATORS_CONSTEXPR bool operator<=(const U& x, const T& y) + { return static_cast(y > x) || static_cast(y == x); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>=(const U& x, const T& y) + { return static_cast(y < x) || static_cast(y == x); } +}; + +template > +struct partially_ordered1 : B +{ + friend BOOST_OPERATORS_CONSTEXPR bool operator>(const T& x, const T& y) + { return y < x; } + friend BOOST_OPERATORS_CONSTEXPR bool operator<=(const T& x, const T& y) + { return static_cast(x < y) || static_cast(x == y); } + friend BOOST_OPERATORS_CONSTEXPR bool operator>=(const T& x, const T& y) + { return static_cast(y < x) || static_cast(x == y); } +}; + +// Combined operator classes (contributed by Daryle Walker) ----------------// + +template > +struct totally_ordered2 + : less_than_comparable2 > {}; + +template > +struct totally_ordered1 + : less_than_comparable1 > {}; + +template > +struct additive2 + : addable2 > {}; + +template > +struct additive1 + : addable1 > {}; + +template > +struct multiplicative2 + : multipliable2 > {}; + +template > +struct multiplicative1 + : multipliable1 > {}; + +template > +struct integer_multiplicative2 + : multiplicative2 > {}; + +template > +struct integer_multiplicative1 + : multiplicative1 > {}; + +template > +struct arithmetic2 + : additive2 > {}; + +template > +struct arithmetic1 + : additive1 > {}; + +template > +struct integer_arithmetic2 + : additive2 > {}; + +template > +struct integer_arithmetic1 + : additive1 > {}; + +template > +struct bitwise2 + : xorable2 > > {}; + +template > +struct bitwise1 + : xorable1 > > {}; + +template > +struct unit_steppable + : incrementable > {}; + +template > +struct shiftable2 + : left_shiftable2 > {}; + +template > +struct shiftable1 + : left_shiftable1 > {}; + +template > +struct ring_operators2 + : additive2 > > {}; + +template > +struct ring_operators1 + : additive1 > {}; + +template > +struct ordered_ring_operators2 + : ring_operators2 > {}; + +template > +struct ordered_ring_operators1 + : ring_operators1 > {}; + +template > +struct field_operators2 + : ring_operators2 > > {}; + +template > +struct field_operators1 + : ring_operators1 > {}; + +template > +struct ordered_field_operators2 + : field_operators2 > {}; + +template > +struct ordered_field_operators1 + : field_operators1 > {}; + +template > +struct euclidian_ring_operators2 + : ring_operators2 > > > > {}; + +template > +struct euclidian_ring_operators1 + : ring_operators1 > > {}; + +template > +struct ordered_euclidian_ring_operators2 + : totally_ordered2 > {}; + +template > +struct ordered_euclidian_ring_operators1 + : totally_ordered1 > {}; + +template > +struct euclidean_ring_operators2 + : ring_operators2 > > > > {}; + +template > +struct euclidean_ring_operators1 + : ring_operators1 > > {}; + +template > +struct ordered_euclidean_ring_operators2 + : totally_ordered2 > {}; + +template > +struct ordered_euclidean_ring_operators1 + : totally_ordered1 > {}; + +template > +struct input_iteratable + : equality_comparable1 > > {}; + +template > +struct output_iteratable + : incrementable {}; + +template > +struct forward_iteratable + : input_iteratable {}; + +template > +struct bidirectional_iteratable + : forward_iteratable > {}; + +// To avoid repeated derivation from equality_comparable, +// which is an indirect base class of bidirectional_iterable, +// random_access_iteratable must not be derived from totally_ordered1 +// but from less_than_comparable1 only. (Helmut Zeisel, 02-Dec-2001) +template > +struct random_access_iteratable + : bidirectional_iteratable > > > {}; + + +// +// Here's where we put it all together, defining the xxxx forms of the templates. +// We also define specializations of is_chained_base<> for +// the xxxx, xxxx1, and xxxx2 templates. +// + +namespace operators_detail +{ + +// A type parameter is used instead of a plain bool because Borland's compiler +// didn't cope well with the more obvious non-type template parameter. +struct true_t {}; +struct false_t {}; + +} // namespace operators_detail + +// is_chained_base<> - a traits class used to distinguish whether an operator +// template argument is being used for base class chaining, or is specifying a +// 2nd argument type. + +// Unspecialized version assumes that most types are not being used for base +// class chaining. We specialize for the operator templates defined in this +// library. +template struct is_chained_base { + typedef operators_detail::false_t value; +}; + +// Provide a specialization of 'is_chained_base<>' +// for a 4-type-argument operator template. +# define BOOST_OPERATOR_TEMPLATE4(template_name4) \ + template \ + struct is_chained_base< template_name4 > { \ + typedef operators_detail::true_t value; \ + }; + +// Provide a specialization of 'is_chained_base<>' +// for a 3-type-argument operator template. +# define BOOST_OPERATOR_TEMPLATE3(template_name3) \ + template \ + struct is_chained_base< template_name3 > { \ + typedef operators_detail::true_t value; \ + }; + +// Provide a specialization of 'is_chained_base<>' +// for a 2-type-argument operator template. +# define BOOST_OPERATOR_TEMPLATE2(template_name2) \ + template \ + struct is_chained_base< template_name2 > { \ + typedef operators_detail::true_t value; \ + }; + +// Provide a specialization of 'is_chained_base<>' +// for a 1-type-argument operator template. +# define BOOST_OPERATOR_TEMPLATE1(template_name1) \ + template \ + struct is_chained_base< template_name1 > { \ + typedef operators_detail::true_t value; \ + }; + +// BOOST_OPERATOR_TEMPLATE(template_name) defines template_name<> such that it +// can be used for specifying both 1-argument and 2-argument forms. Requires the +// existence of two previously defined class templates named '1' +// and '2' which must implement the corresponding 1- and 2- +// argument forms. +// +// The template type parameter O == is_chained_base::value is used to +// distinguish whether the 2nd argument to is being used for +// base class chaining from another boost operator template or is describing a +// 2nd operand type. O == true_t only when U is actually an another operator +// template from the library. Partial specialization is used to select an +// implementation in terms of either '1' or '2'. +// + +# define BOOST_OPERATOR_TEMPLATE(template_name) \ +template \ + ,class O = typename is_chained_base::value \ + > \ +struct template_name; \ + \ +template \ +struct template_name \ + : template_name##2 {}; \ + \ +template \ +struct template_name, operators_detail::true_t> \ + : template_name##1 {}; \ + \ +template \ +struct template_name \ + : template_name##1 {}; \ + \ +template \ +struct is_chained_base< template_name > { \ + typedef operators_detail::true_t value; \ +}; \ + \ +BOOST_OPERATOR_TEMPLATE2(template_name##2) \ +BOOST_OPERATOR_TEMPLATE1(template_name##1) + +BOOST_OPERATOR_TEMPLATE(less_than_comparable) +BOOST_OPERATOR_TEMPLATE(equality_comparable) +BOOST_OPERATOR_TEMPLATE(multipliable) +BOOST_OPERATOR_TEMPLATE(addable) +BOOST_OPERATOR_TEMPLATE(subtractable) +BOOST_OPERATOR_TEMPLATE2(subtractable2_left) +BOOST_OPERATOR_TEMPLATE(dividable) +BOOST_OPERATOR_TEMPLATE2(dividable2_left) +BOOST_OPERATOR_TEMPLATE(modable) +BOOST_OPERATOR_TEMPLATE2(modable2_left) +BOOST_OPERATOR_TEMPLATE(xorable) +BOOST_OPERATOR_TEMPLATE(andable) +BOOST_OPERATOR_TEMPLATE(orable) + +BOOST_OPERATOR_TEMPLATE1(incrementable) +BOOST_OPERATOR_TEMPLATE1(decrementable) + +BOOST_OPERATOR_TEMPLATE2(dereferenceable) +BOOST_OPERATOR_TEMPLATE3(indexable) + +BOOST_OPERATOR_TEMPLATE(left_shiftable) +BOOST_OPERATOR_TEMPLATE(right_shiftable) +BOOST_OPERATOR_TEMPLATE(equivalent) +BOOST_OPERATOR_TEMPLATE(partially_ordered) + +BOOST_OPERATOR_TEMPLATE(totally_ordered) +BOOST_OPERATOR_TEMPLATE(additive) +BOOST_OPERATOR_TEMPLATE(multiplicative) +BOOST_OPERATOR_TEMPLATE(integer_multiplicative) +BOOST_OPERATOR_TEMPLATE(arithmetic) +BOOST_OPERATOR_TEMPLATE(integer_arithmetic) +BOOST_OPERATOR_TEMPLATE(bitwise) +BOOST_OPERATOR_TEMPLATE1(unit_steppable) +BOOST_OPERATOR_TEMPLATE(shiftable) +BOOST_OPERATOR_TEMPLATE(ring_operators) +BOOST_OPERATOR_TEMPLATE(ordered_ring_operators) +BOOST_OPERATOR_TEMPLATE(field_operators) +BOOST_OPERATOR_TEMPLATE(ordered_field_operators) +BOOST_OPERATOR_TEMPLATE(euclidian_ring_operators) +BOOST_OPERATOR_TEMPLATE(ordered_euclidian_ring_operators) +BOOST_OPERATOR_TEMPLATE(euclidean_ring_operators) +BOOST_OPERATOR_TEMPLATE(ordered_euclidean_ring_operators) +BOOST_OPERATOR_TEMPLATE2(input_iteratable) +BOOST_OPERATOR_TEMPLATE1(output_iteratable) +BOOST_OPERATOR_TEMPLATE2(forward_iteratable) +BOOST_OPERATOR_TEMPLATE2(bidirectional_iteratable) +BOOST_OPERATOR_TEMPLATE4(random_access_iteratable) + +#undef BOOST_OPERATOR_TEMPLATE +#undef BOOST_OPERATOR_TEMPLATE4 +#undef BOOST_OPERATOR_TEMPLATE3 +#undef BOOST_OPERATOR_TEMPLATE2 +#undef BOOST_OPERATOR_TEMPLATE1 + +template +struct operators2 + : totally_ordered2 > > {}; + +template +struct operators : operators2 {}; + +template struct operators + : totally_ordered > > > {}; + +// Iterator helper classes (contributed by Jeremy Siek) -------------------// +// (Input and output iterator helpers contributed by Daryle Walker) -------// +// (Changed to use combined operator classes by Daryle Walker) ------------// +// (Adapted to C++17 by Daniel Frey) --------------------------------------// +template +struct iterator_helper +{ + typedef Category iterator_category; + typedef T value_type; + typedef Distance difference_type; + typedef Pointer pointer; + typedef Reference reference; +}; + +template +struct input_iterator_helper + : input_iteratable > {}; + +template +struct output_iterator_helper + : output_iteratable > +{ + T& operator*() { return static_cast(*this); } + T& operator++() { return static_cast(*this); } +}; + +template +struct forward_iterator_helper + : forward_iteratable > {}; + +template +struct bidirectional_iterator_helper + : bidirectional_iteratable > {}; + +template +struct random_access_iterator_helper + : random_access_iteratable > +{ + friend D requires_difference_operator(const T& x, const T& y) { + return x - y; + } +}; // random_access_iterator_helper + +} // namespace operators_impl +using namespace operators_impl; + +} // namespace boost + +#if defined(__sgi) && !defined(__GNUC__) +#pragma reset woff 1234 +#endif + +#endif // BOOST_NO_OPERATORS_IN_NAMESPACE +#endif // BOOST_OPERATORS_HPP diff --git a/external/include/boost_1_75/boost/optional/bad_optional_access.hpp b/external/include/boost_1_90_0/boost/optional/bad_optional_access.hpp similarity index 100% rename from external/include/boost_1_75/boost/optional/bad_optional_access.hpp rename to external/include/boost_1_90_0/boost/optional/bad_optional_access.hpp diff --git a/external/include/boost_1_75/boost/optional/detail/optional_aligned_storage.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_aligned_storage.hpp similarity index 92% rename from external/include/boost_1_75/boost/optional/detail/optional_aligned_storage.hpp rename to external/include/boost_1_90_0/boost/optional/detail/optional_aligned_storage.hpp index 2937349f52..704cadb6f0 100644 --- a/external/include/boost_1_75/boost/optional/detail/optional_aligned_storage.hpp +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_aligned_storage.hpp @@ -28,7 +28,7 @@ class aligned_storage // BOOST_MAY_ALIAS works around GCC warnings about breaking strict aliasing rules when casting storage address to T* union BOOST_MAY_ALIAS dummy_u { - char data[ sizeof(T) ]; + unsigned char data[ sizeof(T) ]; BOOST_DEDUCED_TYPENAME type_with_alignment< ::boost::alignment_of::value >::type aligner_; } dummy_ ; @@ -60,9 +60,8 @@ class aligned_storage T * ptr_ref() { return static_cast (address()); } #endif - T const& ref() const { return *ptr_ref(); } - T & ref() { return *ptr_ref(); } - + T const& ref() const { return *boost::core::launder(ptr_ref()); } + T & ref() { return *boost::core::launder(ptr_ref()); } } ; } // namespace optional_detail diff --git a/external/include/boost_1_75/boost/optional/detail/optional_config.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_config.hpp similarity index 90% rename from external/include/boost_1_75/boost/optional/detail/optional_config.hpp rename to external/include/boost_1_90_0/boost/optional/detail/optional_config.hpp index 73f2505486..b7ccc3e69f 100644 --- a/external/include/boost_1_75/boost/optional/detail/optional_config.hpp +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_config.hpp @@ -14,9 +14,9 @@ #define BOOST_OPTIONAL_DETAIL_OPTIONAL_CONFIG_AJK_28JAN2015_HPP #include -#include +#include -#if (defined BOOST_NO_CXX11_RVALUE_REFERENCES) || (defined BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES) +#if (defined BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES) # define BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES #endif @@ -53,9 +53,9 @@ #endif #if (defined(_MSC_VER) && _MSC_VER <= 1800) -// on MSCV 2013 and earlier an unwanted temporary is created when you assign from +// on MSVC 2013 and earlier an unwanted temporary is created when you assign from // a const lvalue of integral type. Thus we bind not to the original address but -// to a temporary. +// to a temporary. # define BOOST_OPTIONAL_CONFIG_NO_PROPER_ASSIGN_FROM_CONST_INT #endif @@ -82,7 +82,7 @@ #endif // defined(__GNUC__) -#if (defined __GNUC__) && (!defined BOOST_NO_CXX11_RVALUE_REFERENCES) +#if (defined __GNUC__) // On some initial rvalue reference implementations GCC does it in a strange way, // preferring perfect-forwarding constructor to implicit copy constructor. @@ -114,9 +114,9 @@ #endif -// Detect suport for defaulting move operations +// Detect support for defaulting move operations // (some older compilers implement rvalue references, -// defaulted funcitons but move operations are not special members and cannot be defaulted) +// defaulted functions but move operations are not special members and cannot be defaulted) #ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS # define BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS @@ -132,4 +132,13 @@ #endif +#ifdef BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_OPTIONAL_CONST_REF_QUAL const +# define BOOST_OPTIONAL_REF_QUAL +#else +# define BOOST_OPTIONAL_CONST_REF_QUAL const& +# define BOOST_OPTIONAL_REF_QUAL & +#endif + + #endif // header guard diff --git a/external/include/boost_1_75/boost/optional/detail/optional_factory_support.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_factory_support.hpp similarity index 100% rename from external/include/boost_1_75/boost/optional/detail/optional_factory_support.hpp rename to external/include/boost_1_90_0/boost/optional/detail/optional_factory_support.hpp diff --git a/external/include/boost_1_90_0/boost/optional/detail/optional_hash.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_hash.hpp new file mode 100644 index 0000000000..234ee7b6ea --- /dev/null +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_hash.hpp @@ -0,0 +1,49 @@ +// Copyright (C) 2022 Andrzej Krzemienski. +// +// Use, modification, and distribution is subject to 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) +// +// See http://www.boost.org/libs/optional for documentation. +// +// You are welcome to contact the author at: +// akrzemi1@gmail.com + +#ifndef BOOST_OPTIONAL_DETAIL_OPTIONAL_HASH_AJK_20MAY2022_HPP +#define BOOST_OPTIONAL_DETAIL_OPTIONAL_HASH_AJK_20MAY2022_HPP + +#include +#include + +#if !defined(BOOST_OPTIONAL_CONFIG_DO_NOT_SPECIALIZE_STD_HASH) && !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) + +#include + +namespace std +{ + template + struct hash > + { + typedef std::size_t result_type; + typedef boost::optional argument_type; + + BOOST_CONSTEXPR result_type operator()(const argument_type& arg) const { + return arg ? std::hash()(*arg) : result_type(); + } + }; + + template + struct hash > + { + typedef std::size_t result_type; + typedef boost::optional argument_type; + + BOOST_CONSTEXPR result_type operator()(const argument_type& arg) const { + return arg ? std::hash()(*arg) : result_type(); + } + }; +} + +#endif // !defined(BOOST_OPTIONAL_CONFIG_DO_NOT_SPECIALIZE_STD_HASH) && !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) + +#endif // header guard diff --git a/external/include/boost_1_75/boost/optional/detail/optional_reference_spec.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_reference_spec.hpp similarity index 85% rename from external/include/boost_1_75/boost/optional/detail/optional_reference_spec.hpp rename to external/include/boost_1_90_0/boost/optional/detail/optional_reference_spec.hpp index 4be140c283..d8405f82a2 100644 --- a/external/include/boost_1_75/boost/optional/detail/optional_reference_spec.hpp +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_reference_spec.hpp @@ -1,4 +1,4 @@ -// Copyright (C) 2015-2018 Andrzej Krzemienski. +// Copyright (C) 2015-2024 Andrzej Krzemienski. // // Use, modification, and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -29,17 +29,17 @@ template void prevent_binding_rvalue() { #ifndef BOOST_OPTIONAL_CONFIG_ALLOW_BINDING_TO_RVALUES - BOOST_STATIC_ASSERT_MSG(boost::is_lvalue_reference::value, - "binding rvalue references to optional lvalue references is disallowed"); -#endif + static_assert(boost::is_lvalue_reference::value, + "binding rvalue references to optional lvalue references is disallowed"); +#endif } template BOOST_DEDUCED_TYPENAME boost::remove_reference::type& forward_reference(T&& r) { - BOOST_STATIC_ASSERT_MSG(boost::is_lvalue_reference::value, - "binding rvalue references to optional lvalue references is disallowed"); - return boost::forward(r); + static_assert(boost::is_lvalue_reference::value, + "binding rvalue references to optional lvalue references is disallowed"); + return optional_detail::forward(r); } #endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES @@ -66,12 +66,12 @@ void prevent_assignment_from_false_const_integral() { #ifndef BOOST_OPTIONAL_CONFIG_ALLOW_BINDING_TO_RVALUES #ifdef BOOST_OPTIONAL_CONFIG_NO_PROPER_ASSIGN_FROM_CONST_INT - // MSVC compiler without rvalue refernces: we need to disable the asignment from + // MSVC compiler without rvalue references: we need to disable the assignment from // const integral lvalue reference, as it may be an invalid temporary - BOOST_STATIC_ASSERT_MSG(!is_const_integral::value, - "binding const lvalue references to integral types is disabled in this compiler"); + static_assert(!is_const_integral::value, + "binding const lvalue references to integral types is disabled in this compiler"); +#endif #endif -#endif } @@ -114,7 +114,7 @@ template class optional : public optional_detail::optional_tag { T* ptr_; - + public: typedef T& value_type; typedef T& reference_type; @@ -122,19 +122,19 @@ class optional : public optional_detail::optional_tag typedef T& rval_reference_type; typedef T* pointer_type; typedef T* pointer_const_type; - + optional() BOOST_NOEXCEPT : ptr_() {} - optional(none_t) BOOST_NOEXCEPT : ptr_() {} + optional(none_t) BOOST_NOEXCEPT : ptr_() {} template explicit optional(const optional& rhs) BOOST_NOEXCEPT : ptr_(rhs.get_ptr()) {} optional(const optional& rhs) BOOST_NOEXCEPT : ptr_(rhs.get_ptr()) {} - - // the following two implement a 'conditionally explicit' constructor: condition is a hack for buggy compilers with srewed conversion construction from const int + + // the following two implement a 'conditionally explicit' constructor: condition is a hack for buggy compilers with screwed conversion construction from const int template explicit optional(U& rhs, BOOST_DEDUCED_TYPENAME boost::enable_if_c::value && detail::is_const_integral_bad_for_conversion::value, bool>::type = true) BOOST_NOEXCEPT : ptr_(boost::addressof(rhs)) {} - + template optional(U& rhs, BOOST_DEDUCED_TYPENAME boost::enable_if_c::value && !detail::is_const_integral_bad_for_conversion::value, bool>::type = true) BOOST_NOEXCEPT : ptr_(boost::addressof(rhs)) {} @@ -143,26 +143,33 @@ class optional : public optional_detail::optional_tag template optional& operator=(const optional& rhs) BOOST_NOEXCEPT { ptr_ = rhs.get_ptr(); return *this; } optional& operator=(none_t) BOOST_NOEXCEPT { ptr_ = 0; return *this; } - - + + void swap(optional& rhs) BOOST_NOEXCEPT { std::swap(ptr_, rhs.ptr_); } T& get() const { BOOST_ASSERT(ptr_); return *ptr_; } T* get_ptr() const BOOST_NOEXCEPT { return ptr_; } T* operator->() const { BOOST_ASSERT(ptr_); return ptr_; } T& operator*() const { BOOST_ASSERT(ptr_); return *ptr_; } - T& value() const { return ptr_ ? *ptr_ : (throw_exception(bad_optional_access()), *ptr_); } - - bool operator!() const BOOST_NOEXCEPT { return ptr_ == 0; } - BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT() - + + T& value() const + { + if (this->is_initialized()) + return this->get(); + else + throw_exception(bad_optional_access()); + } + + explicit operator bool() const BOOST_NOEXCEPT { return ptr_ != 0; } + void reset() BOOST_NOEXCEPT { ptr_ = 0; } bool is_initialized() const BOOST_NOEXCEPT { return ptr_ != 0; } bool has_value() const BOOST_NOEXCEPT { return ptr_ != 0; } - + template - optional::type> map(F f) const + optional::type> + map(F f) const { if (this->has_value()) return f(this->get()); @@ -171,61 +178,62 @@ class optional : public optional_detail::optional_tag } template - optional::type>::type> flat_map(F f) const + optional::type> + flat_map(F f) const { if (this->has_value()) return f(get()); else return none; } - -#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - + +#ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES + optional(T&& /* rhs */) BOOST_NOEXCEPT { detail::prevent_binding_rvalue(); } - + template optional(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT : ptr_(boost::addressof(r)) { detail::prevent_binding_rvalue(); } - + template optional(bool cond, R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT : ptr_(cond ? boost::addressof(r) : 0) { detail::prevent_binding_rvalue(); } - + template BOOST_DEDUCED_TYPENAME boost::enable_if, optional&>::type operator=(R&& r) BOOST_NOEXCEPT { detail::prevent_binding_rvalue(); ptr_ = boost::addressof(r); return *this; } - + template void emplace(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT { detail::prevent_binding_rvalue(); ptr_ = boost::addressof(r); } - + template T& get_value_or(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) const BOOST_NOEXCEPT { detail::prevent_binding_rvalue(); return ptr_ ? *ptr_ : r; } - + template T& value_or(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) const BOOST_NOEXCEPT { detail::prevent_binding_rvalue(); return ptr_ ? *ptr_ : r; } - + template void reset(R&& r, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT { detail::prevent_binding_rvalue(); ptr_ = boost::addressof(r); } - + template T& value_or_eval(F f) const { return ptr_ ? *ptr_ : detail::forward_reference(f()); } - + #else // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES - + // the following two implement a 'conditionally explicit' constructor template explicit optional(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if_c::value && detail::is_const_integral_bad_for_conversion::value, bool>::type = true) BOOST_NOEXCEPT : ptr_(boost::addressof(v)) { } - + template optional(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if_c::value && !detail::is_const_integral_bad_for_conversion::value, bool>::type = true) BOOST_NOEXCEPT : ptr_(boost::addressof(v)) { } - + template optional(bool cond, U& v, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT : ptr_(cond ? boost::addressof(v) : 0) {} @@ -240,26 +248,26 @@ class optional : public optional_detail::optional_tag template void emplace(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT { ptr_ = boost::addressof(v); } - + template T& get_value_or(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) const BOOST_NOEXCEPT { return ptr_ ? *ptr_ : v; } - + template T& value_or(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) const BOOST_NOEXCEPT { return ptr_ ? *ptr_ : v; } - + template void reset(U& v, BOOST_DEDUCED_TYPENAME boost::enable_if, bool>::type = true) BOOST_NOEXCEPT { ptr_ = boost::addressof(v); } - + template T& value_or_eval(F f) const { return ptr_ ? *ptr_ : f(); } - + #endif // BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES }; -template +template void swap ( optional& x, optional& y) BOOST_NOEXCEPT { x.swap(y); diff --git a/external/include/boost_1_75/boost/optional/detail/optional_relops.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_relops.hpp similarity index 90% rename from external/include/boost_1_75/boost/optional/detail/optional_relops.hpp rename to external/include/boost_1_90_0/boost/optional/detail/optional_relops.hpp index 2c17f2b727..dc558ea678 100644 --- a/external/include/boost_1_75/boost/optional/detail/optional_relops.hpp +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_relops.hpp @@ -1,5 +1,5 @@ // Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. -// Copyright (C) 2015 Andrzej Krzemienski. +// Copyright (C) 2015, 2024 Andrzej Krzemienski. // // Use, modification, and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -16,7 +16,8 @@ namespace boost { // optional's relational operators ( ==, !=, <, >, <=, >= ) have deep-semantics (compare values). -// WARNING: This is UNLIKE pointers. Use equal_pointees()/less_pointess() in generic code instead. +// WARNING: This is UNLIKE pointers. Use equal_pointees()/less_pointees() in generic code instead, +// to obtain the same semantic for pointers. // @@ -31,7 +32,7 @@ bool operator == ( optional const& x, optional const& y ) template inline bool operator < ( optional const& x, optional const& y ) -{ return less_pointees(x,y); } +{ return !y ? false : (!x ? true : (*x) < (*y)); } template inline @@ -60,12 +61,12 @@ bool operator >= ( optional const& x, optional const& y ) template inline bool operator == ( optional const& x, T const& y ) -{ return equal_pointees(x, optional(y)); } +{ return x && (*x == y); } template inline bool operator < ( optional const& x, T const& y ) -{ return less_pointees(x, optional(y)); } +{ return (!x) || (*x < y); } template inline @@ -94,12 +95,12 @@ bool operator >= ( optional const& x, T const& y ) template inline bool operator == ( T const& x, optional const& y ) -{ return equal_pointees( optional(x), y ); } +{ return y && (x == *y); } template inline bool operator < ( T const& x, optional const& y ) -{ return less_pointees( optional(x), y ); } +{ return y && (x < *y); } template inline @@ -133,8 +134,8 @@ bool operator == ( optional const& x, none_t ) BOOST_NOEXCEPT template inline -bool operator < ( optional const& x, none_t ) -{ return less_pointees(x,optional() ); } +bool operator < ( optional const&, none_t ) +{ return false; } template inline @@ -168,7 +169,7 @@ bool operator == ( none_t , optional const& y ) BOOST_NOEXCEPT template inline bool operator < ( none_t , optional const& y ) -{ return less_pointees(optional() ,y); } +{ return bool(y); } template inline @@ -193,4 +194,3 @@ bool operator >= ( none_t x, optional const& y ) } // namespace boost #endif // header guard - diff --git a/external/include/boost_1_75/boost/optional/detail/optional_swap.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_swap.hpp similarity index 83% rename from external/include/boost_1_75/boost/optional/detail/optional_swap.hpp rename to external/include/boost_1_90_0/boost/optional/detail/optional_swap.hpp index 2a7059e701..f1d301b4ed 100644 --- a/external/include/boost_1_75/boost/optional/detail/optional_swap.hpp +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_swap.hpp @@ -13,7 +13,7 @@ #ifndef BOOST_OPTIONAL_DETAIL_OPTIONAL_SWAP_AJK_28JAN2015_HPP #define BOOST_OPTIONAL_DETAIL_OPTIONAL_SWAP_AJK_28JAN2015_HPP -#include +#include #include namespace boost { @@ -39,8 +39,8 @@ struct swap_selector else if ( !hasY ) y.emplace(); - // Boost.Utility.Swap will take care of ADL and workarounds for broken compilers - boost::swap(x.get(), y.get()); + // Boost.Core.Swap will take care of ADL and workarounds for broken compilers + boost::core::invoke_swap(x.get(), y.get()); if( !hasX ) y = boost::none ; @@ -54,7 +54,7 @@ struct swap_selector #endif #ifndef BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES -# define BOOST_OPTIONAL_DETAIL_MOVE(EXPR_) boost::move(EXPR_) +# define BOOST_OPTIONAL_DETAIL_MOVE(EXPR_) optional_detail::move(EXPR_) #else # define BOOST_OPTIONAL_DETAIL_MOVE(EXPR_) EXPR_ #endif @@ -63,14 +63,14 @@ template <> struct swap_selector { template - static void optional_swap ( optional& x, optional& y ) - //BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && BOOST_NOEXCEPT_EXPR(boost::swap(*x, *y))) + static void optional_swap ( optional& x, optional& y ) + //BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && BOOST_NOEXCEPT_EXPR(boost::core::invoke_swap(*x, *y))) { if (x) { if (y) { - boost::swap(*x, *y); + boost::core::invoke_swap(*x, *y); } else { @@ -91,7 +91,7 @@ struct swap_selector } // namespace optional_detail -#if (!defined BOOST_NO_CXX11_RVALUE_REFERENCES) && (!defined BOOST_CONFIG_RESTORE_OBSOLETE_SWAP_IMPLEMENTATION) +#if (!defined BOOST_CONFIG_RESTORE_OBSOLETE_SWAP_IMPLEMENTATION) template struct optional_swap_should_use_default_constructor : boost::false_type {} ; @@ -105,7 +105,7 @@ struct optional_swap_should_use_default_constructor : has_nothrow_default_constr template inline void swap ( optional& x, optional& y ) -//BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && BOOST_NOEXCEPT_EXPR(boost::swap(*x, *y))) +//BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && BOOST_NOEXCEPT_EXPR(boost::core::invoke_swap(*x, *y))) { optional_detail::swap_selector::value>::optional_swap(x, y); } diff --git a/external/include/boost_1_90_0/boost/optional/detail/optional_trivially_copyable_base.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_trivially_copyable_base.hpp new file mode 100644 index 0000000000..3a08f7d8a8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_trivially_copyable_base.hpp @@ -0,0 +1,270 @@ +// Copyright (C) 2017 Andrzej Krzemienski. +// +// Use, modification, and distribution is subject to 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) +// +// See http://www.boost.org/libs/optional for documentation. +// +// You are welcome to contact the author at: +// akrzemi1@gmail.com + +// trivially-copyable version of the storage + +template +class tc_optional_base : public optional_tag +{ + private : + + typedef tc_optional_base this_type ; + + protected : + + typedef T value_type ; + + protected: + typedef T & reference_type ; + typedef T const& reference_const_type ; + typedef T && rval_reference_type ; + typedef T && reference_type_of_temporary_wrapper ; + typedef T * pointer_type ; + typedef T const* pointer_const_type ; + typedef T const& argument_type ; + + tc_optional_base() + : + m_initialized(false), m_storage() {} + + tc_optional_base ( none_t ) + : + m_initialized(false), m_storage() {} + + tc_optional_base ( init_value_tag, argument_type val ) + : + m_initialized(true), m_storage(val) {} + + tc_optional_base ( bool cond, argument_type val ) + : + m_initialized(cond), m_storage(val) {} + + // tc_optional_base ( tc_optional_base const& ) = default; + + template + explicit tc_optional_base ( Expr&& expr, PtrExpr const* tag ) + : + m_initialized(false) + { + construct(optional_detail::forward(expr),tag); + } + + // tc_optional_base& operator= ( tc_optional_base const& ) = default; + // ~tc_optional_base() = default; + + // Assigns from another optional (deep-copies the rhs value) + void assign ( tc_optional_base const& rhs ) + { + *this = rhs; + } + + // Assigns from another _convertible_ optional (deep-copies the rhs value) + template + void assign ( optional const& rhs ) + { + if ( rhs.is_initialized() ) +#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES + m_storage = rhs.get(); +#else + m_storage = static_cast(rhs.get()); +#endif + + m_initialized = rhs.is_initialized(); + } + + // move-assigns from another _convertible_ optional (deep-moves from the rhs value) + template + void assign ( optional&& rhs ) + { + typedef BOOST_DEDUCED_TYPENAME optional::rval_reference_type ref_type; + if ( rhs.is_initialized() ) + m_storage = static_cast(rhs.get()); + m_initialized = rhs.is_initialized(); + } + + void assign ( argument_type val ) + { + construct(val); + } + + void assign ( none_t ) { destroy(); } + +#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT + + template + void assign_expr ( Expr&& expr, ExprPtr const* tag ) + { + construct(optional_detail::forward(expr),tag); + } + +#endif + + public : + + // Destroys the current value, if any, leaving this UNINITIALIZED + // No-throw (assuming T::~T() doesn't) + void reset() BOOST_NOEXCEPT { destroy(); } + + // **DEPRECATED** Replaces the current value -if any- with 'val' + void reset ( argument_type val ) BOOST_NOEXCEPT { assign(val); } + + // Returns a pointer to the value if this is initialized, otherwise, + // returns NULL. + // No-throw + pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; } + pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; } + + bool is_initialized() const { return m_initialized ; } + + protected : + + void construct ( argument_type val ) + { + m_storage = val ; + m_initialized = true ; + } + + + // Constructs in-place + // upon exception *this is always uninitialized + template + void construct ( in_place_init_t, Args&&... args ) + { + m_storage = value_type( optional_detail::forward(args)... ) ; + m_initialized = true ; + } + + template + void emplace_assign ( Args&&... args ) + { + construct(in_place_init, optional_detail::forward(args)...); + } + + template + explicit tc_optional_base ( in_place_init_t, Args&&... args ) + : + m_initialized(false) + { + construct(in_place_init, optional_detail::forward(args)...); + } + + template + explicit tc_optional_base ( in_place_init_if_t, bool cond, Args&&... args ) + : + m_initialized(false) + { + if ( cond ) + construct(in_place_init, optional_detail::forward(args)...); + } + +#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT + + // Constructs in-place using the given factory + template + void construct ( Expr&& factory, in_place_factory_base const* ) + { + boost_optional_detail::construct(factory, boost::addressof(m_storage)); + m_initialized = true ; + } + + // Constructs in-place using the given typed factory + template + void construct ( Expr&& factory, typed_in_place_factory_base const* ) + { + factory.apply(boost::addressof(m_storage)) ; + m_initialized = true ; + } + + template + void assign_expr_to_initialized ( Expr&& factory, in_place_factory_base const* tag ) + { + destroy(); + construct(factory,tag); + } + + // Constructs in-place using the given typed factory + template + void assign_expr_to_initialized ( Expr&& factory, typed_in_place_factory_base const* tag ) + { + destroy(); + construct(factory,tag); + } + +#endif + + // Constructs using any expression implicitly convertible to the single argument + // of a one-argument T constructor. + // Converting constructions of optional from optional uses this function with + // 'Expr' being of type 'U' and relying on a converting constructor of T from U. + template + void construct ( Expr&& expr, void const* ) + { + m_storage = value_type(optional_detail::forward(expr)) ; + m_initialized = true ; + } + + // Assigns using a form any expression implicitly convertible to the single argument + // of a T's assignment operator. + // Converting assignments of optional from optional uses this function with + // 'Expr' being of type 'U' and relying on a converting assignment of T from U. + template + void assign_expr_to_initialized ( Expr&& expr, void const* ) + { + assign_value( optional_detail::forward(expr) ); + } + +#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION + // BCB5.64 (and probably lower versions) workaround. + // The in-place factories are supported by means of catch-all constructors + // and assignment operators (the functions are parameterized in terms of + // an arbitrary 'Expr' type) + // This compiler incorrectly resolves the overload set and sinks optional and optional + // to the 'Expr'-taking functions even though explicit overloads are present for them. + // Thus, the following overload is needed to properly handle the case when the 'lhs' + // is another optional. + // + // For VC<=70 compilers this workaround doesn't work because the compiler issues and error + // instead of choosing the wrong overload + // + + // Notice that 'Expr' will be optional or optional (but not tc_optional_base<..>) + template + void construct ( Expr&& expr, optional_tag const* ) + { + if ( expr.is_initialized() ) + { + // An exception can be thrown here. + // It it happens, THIS will be left uninitialized. + m_storage = value_type(optional_detail::move(expr.get())) ; + m_initialized = true ; + } + } +#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION + + void assign_value ( argument_type val ) { m_storage = val; } + void assign_value ( rval_reference_type val ) { m_storage = static_cast(val); } + + void destroy() + { + m_initialized = false; + } + + reference_const_type get_impl() const { return m_storage ; } + reference_type get_impl() { return m_storage ; } + + pointer_const_type get_ptr_impl() const { return boost::addressof(m_storage); } + pointer_type get_ptr_impl() { return boost::addressof(m_storage); } + + private : + + bool m_initialized ; + T m_storage ; +} ; diff --git a/external/include/boost_1_90_0/boost/optional/detail/optional_utility.hpp b/external/include/boost_1_90_0/boost/optional/detail/optional_utility.hpp new file mode 100644 index 0000000000..f7c04ffecd --- /dev/null +++ b/external/include/boost_1_90_0/boost/optional/detail/optional_utility.hpp @@ -0,0 +1,41 @@ +// Copyright (C) 2024 Ryan Malcolm Underwood. +// +// Use, modification, and distribution is subject to 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) +// +// See http://www.boost.org/libs/optional for documentation. +// +// You are welcome to contact the author at: +// typenametea@gmail.com + +#ifndef BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_UTILITY_RMU_06OCT2024_HPP +#define BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_UTILITY_RMU_06OCT2024_HPP + +namespace boost { +namespace optional_detail { + +// Workaround: forward and move aren't constexpr in C++11 +template +inline constexpr T&& forward(typename boost::remove_reference::type& t) noexcept +{ + return static_cast(t); +} + +template +inline constexpr T&& forward(typename boost::remove_reference::type&& t) noexcept +{ + static_assert(!boost::is_lvalue_reference::value, "Can not forward an rvalue as an lvalue."); + return static_cast(t); +} + +template +inline constexpr typename boost::remove_reference::type&& move(T&& t) noexcept +{ + return static_cast::type&&>(t); +} + +} // namespace optional_detail +} // namespace boost + +#endif diff --git a/external/include/boost_1_90_0/boost/optional/optional.hpp b/external/include/boost_1_90_0/boost/optional/optional.hpp new file mode 100644 index 0000000000..b8f402d87b --- /dev/null +++ b/external/include/boost_1_90_0/boost/optional/optional.hpp @@ -0,0 +1,1175 @@ +// Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. +// Copyright (C) 2014 - 2021 Andrzej Krzemienski. +// +// Use, modification, and distribution is subject to 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) +// +// See http://www.boost.org/libs/optional for documentation. +// +// You are welcome to contact the author at: +// fernando_cacciola@hotmail.com +// +// Revisions: +// 27 Apr 2008 (improved swap) Fernando Cacciola, Niels Dekker, Thorsten Ottosen +// 05 May 2014 (Added move semantics) Andrzej Krzemienski +// +#ifndef BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP +#define BOOST_OPTIONAL_OPTIONAL_FLC_19NOV2002_HPP + +#include +#ifndef BOOST_NO_IOSTREAM +#include +#endif // BOOST_NO_IOSTREAM + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace optional_detail { + +template +struct optional_value_type +{ +}; + +template +struct optional_value_type< ::boost::optional > +{ + typedef U type; +}; + +template +T declval(); + + +// implementing my own result_of so that it works for C++11 (std::result_of) +// and in C++20 (std::invoke_result). +template ()(declval()))> +struct result_of +{ + typedef Rslt type; +}; + +template ::type>::type> +struct result_value_type +{ + typedef Rslt type; +}; + +// optional()(optional_detail::declval()))>::type> + +}} // namespace boost::optional_detail + +namespace boost { + +namespace optional_ns { + +// a tag for in-place initialization of contained value +struct in_place_init_t +{ + struct init_tag{}; + BOOST_CONSTEXPR explicit in_place_init_t(init_tag){} +}; +BOOST_INLINE_CONSTEXPR in_place_init_t in_place_init ((in_place_init_t::init_tag())); + +// a tag for conditional in-place initialization of contained value +struct in_place_init_if_t +{ + struct init_tag{}; + BOOST_CONSTEXPR explicit in_place_init_if_t(init_tag){} +}; +BOOST_INLINE_CONSTEXPR in_place_init_if_t in_place_init_if ((in_place_init_if_t::init_tag())); + +} // namespace optional_ns + +using optional_ns::in_place_init_t; +using optional_ns::in_place_init; +using optional_ns::in_place_init_if_t; +using optional_ns::in_place_init_if; + +namespace optional_detail { + +struct init_value_tag {}; + +struct optional_tag {}; + + +template +class optional_base : public optional_tag +{ + private : + + typedef aligned_storage storage_type ; + typedef optional_base this_type ; + + protected : + + typedef T value_type ; + typedef typename boost::remove_const::type unqualified_value_type; + + protected: + typedef T & reference_type ; + typedef T const& reference_const_type ; + typedef T && rval_reference_type ; + typedef T && reference_type_of_temporary_wrapper ; + typedef T * pointer_type ; + typedef T const* pointer_const_type ; + typedef T const& argument_type ; + + // Creates an optional uninitialized. + // No-throw + optional_base() + : + m_initialized(false) {} + + // Creates an optional uninitialized. + // No-throw + optional_base ( none_t ) + : + m_initialized(false) {} + + // Creates an optional initialized with 'val'. + // Can throw if T::T(T const&) does + optional_base ( init_value_tag, argument_type val ) + : + m_initialized(false) + { + construct(val); + } + + // move-construct an optional initialized from an rvalue-ref to 'val'. + // Can throw if T::T(T&&) does + optional_base ( init_value_tag, rval_reference_type val ) + : + m_initialized(false) + { + construct( optional_detail::move(val) ); + } + + // Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. + // Can throw if T::T(T const&) does + optional_base ( bool cond, argument_type val ) + : + m_initialized(false) + { + if ( cond ) + construct(val); + } + + // Creates an optional initialized with 'move(val)' IFF cond is true, otherwise creates an uninitialized optional. + // Can throw if T::T(T &&) does + optional_base ( bool cond, rval_reference_type val ) + : + m_initialized(false) + { + if ( cond ) + construct(optional_detail::move(val)); + } + + // Creates a deep copy of another optional + // Can throw if T::T(T const&) does + optional_base ( optional_base const& rhs ) + : + m_initialized(false) + { + if ( rhs.is_initialized() ) + construct(rhs.get_impl()); + } + + // Creates a deep move of another optional + // Can throw if T::T(T&&) does + optional_base ( optional_base&& rhs ) + BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value) + : + m_initialized(false) + { + if ( rhs.is_initialized() ) + construct( optional_detail::move(rhs.get_impl()) ); + } + + + template + explicit optional_base ( Expr&& expr, PtrExpr const* tag ) + : + m_initialized(false) + { + construct(optional_detail::forward(expr),tag); + } + + optional_base& operator= ( optional_base const& rhs ) + { + this->assign(rhs); + return *this; + } + + optional_base& operator= ( optional_base && rhs ) + BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) + { + this->assign(static_cast(rhs)); + return *this; + } + + // No-throw (assuming T::~T() doesn't) + ~optional_base() { destroy() ; } + + // Assigns from another optional (deep-copies the rhs value) + void assign ( optional_base const& rhs ) + { + if (is_initialized()) + { + if ( rhs.is_initialized() ) + assign_value(rhs.get_impl()); + else destroy(); + } + else + { + if ( rhs.is_initialized() ) + construct(rhs.get_impl()); + } + } + + // Assigns from another optional (deep-moves the rhs value) + void assign ( optional_base&& rhs ) + { + if (is_initialized()) + { + if ( rhs.is_initialized() ) + assign_value( optional_detail::move(rhs.get_impl()) ); + else destroy(); + } + else + { + if ( rhs.is_initialized() ) + construct(optional_detail::move(rhs.get_impl())); + } + } + + // Assigns from another _convertible_ optional (deep-copies the rhs value) + template + void assign ( optional const& rhs ) + { + if (is_initialized()) + { + if ( rhs.is_initialized() ) +#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES + assign_value( rhs.get() ); +#else + assign_value( static_cast(rhs.get()) ); +#endif + + else destroy(); + } + else + { + if ( rhs.is_initialized() ) +#ifndef BOOST_OPTIONAL_CONFIG_RESTORE_ASSIGNMENT_OF_NONCONVERTIBLE_TYPES + construct(rhs.get()); +#else + construct(static_cast(rhs.get())); +#endif + } + } + + // move-assigns from another _convertible_ optional (deep-moves from the rhs value) + template + void assign ( optional&& rhs ) + { + typedef BOOST_DEDUCED_TYPENAME optional::rval_reference_type ref_type; + if (is_initialized()) + { + if ( rhs.is_initialized() ) + assign_value( static_cast(rhs.get()) ); + else destroy(); + } + else + { + if ( rhs.is_initialized() ) + construct(static_cast(rhs.get())); + } + } + + // Assigns from a T (deep-copies the rhs value) + void assign ( argument_type val ) + { + if (is_initialized()) + assign_value(val); + else construct(val); + } + + // Assigns from a T (deep-moves the rhs value) + void assign ( rval_reference_type val ) + { + if (is_initialized()) + assign_value( optional_detail::move(val) ); + else construct( optional_detail::move(val) ); + } + + // Assigns from "none", destroying the current value, if any, leaving this UNINITIALIZED + // No-throw (assuming T::~T() doesn't) + void assign ( none_t ) BOOST_NOEXCEPT { destroy(); } + +#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT + + template + void assign_expr ( Expr&& expr, ExprPtr const* tag ) + { + if (is_initialized()) + assign_expr_to_initialized(optional_detail::forward(expr),tag); + else construct(optional_detail::forward(expr),tag); + } + +#endif + + public : + + // Destroys the current value, if any, leaving this UNINITIALIZED + // No-throw (assuming T::~T() doesn't) + void reset() BOOST_NOEXCEPT { destroy(); } + + // **DEPRECATED** Replaces the current value -if any- with 'val' + void reset ( argument_type val ) { assign(val); } + + // Returns a pointer to the value if this is initialized, otherwise, + // returns NULL. + // No-throw + pointer_const_type get_ptr() const { return m_initialized ? get_ptr_impl() : 0 ; } + pointer_type get_ptr() { return m_initialized ? get_ptr_impl() : 0 ; } + + bool is_initialized() const BOOST_NOEXCEPT { return m_initialized ; } + + protected : + + void construct ( argument_type val ) + { + ::new (m_storage.address()) unqualified_value_type(val) ; + m_initialized = true ; + } + + void construct ( rval_reference_type val ) + { + ::new (m_storage.address()) unqualified_value_type( optional_detail::move(val) ) ; + m_initialized = true ; + } + + + // Constructs in-place + // upon exception *this is always uninitialized + template + void construct ( in_place_init_t, Args&&... args ) + { + ::new (m_storage.address()) unqualified_value_type( optional_detail::forward(args)... ) ; + m_initialized = true ; + } + + template + void emplace_assign ( Args&&... args ) + { + destroy(); + construct(in_place_init, optional_detail::forward(args)...); + } + + template + explicit optional_base ( in_place_init_t, Args&&... args ) + : + m_initialized(false) + { + construct(in_place_init, optional_detail::forward(args)...); + } + + template + explicit optional_base ( in_place_init_if_t, bool cond, Args&&... args ) + : + m_initialized(false) + { + if ( cond ) + construct(in_place_init, optional_detail::forward(args)...); + } + +#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT + + // Constructs in-place using the given factory + template + void construct ( Expr&& factory, in_place_factory_base const* ) + { + boost_optional_detail::construct(factory, m_storage.address()); + m_initialized = true ; + } + + // Constructs in-place using the given typed factory + template + void construct ( Expr&& factory, typed_in_place_factory_base const* ) + { + factory.apply(m_storage.address()) ; + m_initialized = true ; + } + + template + void assign_expr_to_initialized ( Expr&& factory, in_place_factory_base const* tag ) + { + destroy(); + construct(factory,tag); + } + + // Constructs in-place using the given typed factory + template + void assign_expr_to_initialized ( Expr&& factory, typed_in_place_factory_base const* tag ) + { + destroy(); + construct(factory,tag); + } + +#endif + + // Constructs using any expression implicitly convertible to the single argument + // of a one-argument T constructor. + // Converting constructions of optional from optional uses this function with + // 'Expr' being of type 'U' and relying on a converting constructor of T from U. + template + void construct ( Expr&& expr, void const* ) + { + new (m_storage.address()) unqualified_value_type(optional_detail::forward(expr)) ; + m_initialized = true ; + } + + // Assigns using a form any expression implicitly convertible to the single argument + // of a T's assignment operator. + // Converting assignments of optional from optional uses this function with + // 'Expr' being of type 'U' and relying on a converting assignment of T from U. + template + void assign_expr_to_initialized ( Expr&& expr, void const* ) + { + assign_value( optional_detail::forward(expr) ); + } + +#ifdef BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION + // BCB5.64 (and probably lower versions) workaround. + // The in-place factories are supported by means of catch-all constructors + // and assignment operators (the functions are parameterized in terms of + // an arbitrary 'Expr' type) + // This compiler incorrectly resolves the overload set and sinks optional and optional + // to the 'Expr'-taking functions even though explicit overloads are present for them. + // Thus, the following overload is needed to properly handle the case when the 'lhs' + // is another optional. + // + // For VC<=70 compilers this workaround doesn't work because the compiler issues and error + // instead of choosing the wrong overload + // + + // Notice that 'Expr' will be optional or optional (but not optional_base<..>) + template + void construct ( Expr&& expr, optional_tag const* ) + { + if ( expr.is_initialized() ) + { + // An exception can be thrown here. + // It it happens, THIS will be left uninitialized. + new (m_storage.address()) unqualified_value_type(optional_detail::move(expr.get())) ; + m_initialized = true ; + } + } +#endif // defined BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION + + void assign_value ( argument_type val ) { get_impl() = val; } + void assign_value ( rval_reference_type val ) { get_impl() = static_cast(val); } + + void destroy() + { + if ( m_initialized ) + destroy_impl() ; + } + + reference_const_type get_impl() const { return m_storage.ref() ; } + reference_type get_impl() { return m_storage.ref() ; } + + pointer_const_type get_ptr_impl() const { return m_storage.ptr_ref(); } + pointer_type get_ptr_impl() { return m_storage.ptr_ref(); } + + private : + +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) + void destroy_impl ( ) { m_storage.ptr_ref()->~T() ; m_initialized = false ; } +#else + void destroy_impl ( ) { m_storage.ref().T::~T() ; m_initialized = false ; } +#endif + + bool m_initialized ; + storage_type m_storage ; +} ; + +#include + +// definition of metafunction is_optional_val_init_candidate +template +struct is_optional_or_tag + : boost::conditional< boost::is_base_of::type>::value + || boost::is_same::type, none_t>::value + || boost::is_same::type, in_place_init_t>::value + || boost::is_same::type, in_place_init_if_t>::value, + boost::true_type, boost::false_type>::type +{}; + +template +struct has_dedicated_constructor + : boost::disjunction, boost::is_same::type> > +{}; + +template +struct is_in_place_factory + : boost::disjunction< boost::is_base_of::type>, + boost::is_base_of::type> > +{}; + +#if !defined(BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT) + +template +struct is_factory_or_constructible_to_T + : boost::disjunction< is_in_place_factory, boost::is_constructible > +{}; + +template +struct is_optional_constructible : boost::is_constructible +{}; + +#else + +template +struct is_factory_or_constructible_to_T : boost::true_type +{}; + +template +struct is_optional_constructible : boost::true_type +{}; + +#endif // is_convertible condition + +#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1800) +// for is_assignable + +// On some initial rvalue reference implementations GCC does it in a strange way, +// preferring perfect-forwarding constructor to implicit copy constructor. + +template +struct is_opt_assignable + : boost::conjunction, boost::is_assignable > +{}; + +#else + +template +struct is_opt_assignable : boost::is_convertible +{}; + +#endif + +template +struct is_factory_or_opt_assignable_to_T + : boost::disjunction< is_in_place_factory, is_opt_assignable > +{}; + +template ::value> +struct is_optional_val_init_candidate + : boost::false_type +{}; + +template +struct is_optional_val_init_candidate + : is_factory_or_constructible_to_T +{}; + +template ::value> +struct is_optional_val_assign_candidate + : boost::false_type +{}; + +template +struct is_optional_val_assign_candidate + : is_factory_or_opt_assignable_to_T +{}; + +} // namespace optional_detail + +namespace optional_config { + +template +struct optional_uses_direct_storage_for + : boost::conditional<(boost::is_scalar::value && !boost::is_const::value && !boost::is_volatile::value) + , boost::true_type, boost::false_type>::type +{}; + +} // namespace optional_config + + +#ifndef BOOST_OPTIONAL_DETAIL_NO_DIRECT_STORAGE_SPEC +# define BOOST_OPTIONAL_BASE_TYPE(T) boost::conditional< optional_config::optional_uses_direct_storage_for::value, \ + optional_detail::tc_optional_base, \ + optional_detail::optional_base \ + >::type +#else +# define BOOST_OPTIONAL_BASE_TYPE(T) optional_detail::optional_base +#endif + +template +class optional + : public BOOST_OPTIONAL_BASE_TYPE(T) +{ + typedef typename BOOST_OPTIONAL_BASE_TYPE(T) base ; + + public : + + typedef optional this_type ; + + typedef BOOST_DEDUCED_TYPENAME base::value_type value_type ; + typedef BOOST_DEDUCED_TYPENAME base::reference_type reference_type ; + typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ; + typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type rval_reference_type ; + typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ; + typedef BOOST_DEDUCED_TYPENAME base::pointer_type pointer_type ; + typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type pointer_const_type ; + typedef BOOST_DEDUCED_TYPENAME base::argument_type argument_type ; + + // Creates an optional uninitialized. + // No-throw + optional() BOOST_NOEXCEPT : base() {} + + // Creates an optional uninitialized. + // No-throw + optional( none_t none_ ) BOOST_NOEXCEPT : base(none_) {} + + // Creates an optional initialized with 'val'. + // Can throw if T::T(T const&) does + optional ( argument_type val ) : base(optional_detail::init_value_tag(), val) {} + + // Creates an optional initialized with 'move(val)'. + // Can throw if T::T(T &&) does + optional ( rval_reference_type val ) : base(optional_detail::init_value_tag(), optional_detail::forward(val)) + {} + + // Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. + // Can throw if T::T(T const&) does + optional ( bool cond, argument_type val ) : base(cond,val) {} + + /// Creates an optional initialized with 'val' IFF cond is true, otherwise creates an uninitialized optional. + // Can throw if T::T(T &&) does + optional ( bool cond, rval_reference_type val ) : base( cond, optional_detail::forward(val) ) + {} + + // NOTE: MSVC needs templated versions first + + // Creates a deep copy of another convertible optional + // Requires a valid conversion from U to T. + // Can throw if T::T(U const&) does + template + explicit optional ( optional const& rhs +#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS + ,BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_constructible, bool>::type = true +#endif + ) + : + base() + { + if ( rhs.is_initialized() ) + this->construct(rhs.get()); + } + + // Creates a deep move of another convertible optional + // Requires a valid conversion from U to T. + // Can throw if T::T(U&&) does + template + explicit optional ( optional && rhs +#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS + ,BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_constructible, bool>::type = true +#endif + ) + : + base() + { + if ( rhs.is_initialized() ) + this->construct( optional_detail::move(rhs.get()) ); + } + +#ifndef BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT + // Creates an optional with an expression which can be either + // (a) An instance of InPlaceFactory (i.e. in_place(a,b,...,n); + // (b) An instance of TypedInPlaceFactory ( i.e. in_place(a,b,...,n); + // (c) Any expression implicitly convertible to the single type + // of a one-argument T's constructor. + // (d*) Weak compilers (BCB) might also resolved Expr as optional and optional + // even though explicit overloads are present for these. + // Depending on the above some T ctor is called. + // Can throw if the resolved T ctor throws. + + + template + explicit optional ( Expr&& expr, + BOOST_DEDUCED_TYPENAME boost::enable_if< optional_detail::is_optional_val_init_candidate, bool>::type = true + ) + : base(optional_detail::forward(expr),boost::addressof(expr)) + {} + +#endif // !defined BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT + + // Creates a deep copy of another optional + // Can throw if T::T(T const&) does +#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS + optional ( optional const& ) = default; +#else + optional ( optional const& rhs ) : base( static_cast(rhs) ) {} +#endif + + // Creates a deep move of another optional + // Can throw if T::T(T&&) does +#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS + optional ( optional && ) = default; +#else + optional ( optional && rhs ) + BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value) + : base( optional_detail::move(rhs) ) + {} +#endif + + +#if BOOST_WORKAROUND(_MSC_VER, <= 1600) + // On old MSVC compilers the implicitly declared dtor is not called + ~optional() {} +#endif + + +#if !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION) + // Assigns from an expression. See corresponding constructor. + // Basic Guarantee: If the resolved T ctor throws, this is left UNINITIALIZED + + template + BOOST_DEDUCED_TYPENAME boost::enable_if, optional&>::type + operator= ( Expr&& expr ) + { + this->assign_expr(optional_detail::forward(expr),boost::addressof(expr)); + return *this ; + } + +#endif // !defined(BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT) && !defined(BOOST_OPTIONAL_WEAK_OVERLOAD_RESOLUTION) + + // Copy-assigns from another convertible optional (converts && deep-copies the rhs value) + // Requires a valid conversion from U to T. + // Basic Guarantee: If T::T( U const& ) throws, this is left UNINITIALIZED + template + optional& operator= ( optional const& rhs ) + { + this->assign(rhs); + return *this ; + } + + // Move-assigns from another convertible optional (converts && deep-moves the rhs value) + // Requires a valid conversion from U to T. + // Basic Guarantee: If T::T( U && ) throws, this is left UNINITIALIZED + template + optional& operator= ( optional && rhs ) + { + this->assign(optional_detail::move(rhs)); + return *this ; + } + + // Assigns from another optional (deep-copies the rhs value) + // Basic Guarantee: If T::T( T const& ) throws, this is left UNINITIALIZED + // (NOTE: On BCB, this operator is not actually called and left is left UNMODIFIED in case of a throw) +#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS + optional& operator= ( optional const& rhs ) = default; +#else + optional& operator= ( optional const& rhs ) + { + this->assign( static_cast(rhs) ) ; + return *this ; + } +#endif + + // Assigns from another optional (deep-moves the rhs value) +#ifndef BOOST_OPTIONAL_DETAIL_NO_DEFAULTED_MOVE_FUNCTIONS + optional& operator= ( optional && ) = default; +#else + optional& operator= ( optional && rhs ) + BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) + { + this->assign( static_cast(rhs) ) ; + return *this ; + } +#endif + +#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX + + // Assigns from a T (deep-moves/copies the rhs value) + template + BOOST_DEDUCED_TYPENAME boost::enable_if::type>, optional&>::type + operator= ( T_&& val ) + { + this->assign( optional_detail::forward(val) ) ; + return *this ; + } + +#else + + // Assigns from a T (deep-copies the rhs value) + // Basic Guarantee: If T::( T const& ) throws, this is left UNINITIALIZED + optional& operator= ( argument_type val ) + { + this->assign( val ) ; + return *this ; + } + + // Assigns from a T (deep-moves the rhs value) + optional& operator= ( rval_reference_type val ) + { + this->assign( optional_detail::move(val) ) ; + return *this ; + } + +#endif // BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX + + // Assigns from a "none" + // Which destroys the current value, if any, leaving this UNINITIALIZED + // No-throw (assuming T::~T() doesn't) + optional& operator= ( none_t none_ ) BOOST_NOEXCEPT + { + this->assign( none_ ) ; + return *this ; + } + + // Constructs in-place + // upon exception *this is always uninitialized + template + void emplace ( Args&&... args ) + { + this->emplace_assign( optional_detail::forward(args)... ); + } + + template + explicit optional ( in_place_init_t, Args&&... args ) + : base( in_place_init, optional_detail::forward(args)... ) + {} + + template + explicit optional ( in_place_init_if_t, bool cond, Args&&... args ) + : base( in_place_init_if, cond, optional_detail::forward(args)... ) + {} + + void swap( optional & arg ) + BOOST_NOEXCEPT_IF(::boost::is_nothrow_move_constructible::value && ::boost::is_nothrow_move_assignable::value) + { + // allow for Koenig lookup + boost::core::invoke_swap(*this, arg); + } + + + // Returns a reference to the value if this is initialized, otherwise, + // the behaviour is UNDEFINED + // No-throw + reference_const_type get() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); } + reference_type get() { BOOST_ASSERT(this->is_initialized()) ; return this->get_impl(); } + + // Returns a copy of the value if this is initialized, 'v' otherwise + reference_const_type get_value_or ( reference_const_type v ) const { return this->is_initialized() ? get() : v ; } + reference_type get_value_or ( reference_type v ) { return this->is_initialized() ? get() : v ; } + + // Returns a pointer to the value if this is initialized, otherwise, + // the behaviour is UNDEFINED + // No-throw + pointer_const_type operator->() const { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; } + pointer_type operator->() { BOOST_ASSERT(this->is_initialized()) ; return this->get_ptr_impl() ; } + + // Returns a reference to the value if this is initialized, otherwise, + // the behaviour is UNDEFINED + // No-throw + reference_const_type operator *() BOOST_OPTIONAL_CONST_REF_QUAL { return this->get() ; } + reference_type operator *() BOOST_OPTIONAL_REF_QUAL { return this->get() ; } + +#ifndef BOOST_NO_CXX11_REF_QUALIFIERS + reference_type_of_temporary_wrapper operator *() && { return optional_detail::move(this->get()) ; } +#endif + + reference_const_type value() BOOST_OPTIONAL_CONST_REF_QUAL + { + if (this->is_initialized()) + return this->get() ; + else + throw_exception(bad_optional_access()); + } + + reference_type value() BOOST_OPTIONAL_REF_QUAL + { + if (this->is_initialized()) + return this->get() ; + else + throw_exception(bad_optional_access()); + } + + template + value_type value_or ( U&& v ) BOOST_OPTIONAL_CONST_REF_QUAL + { + if (this->is_initialized()) + return get(); + else + return optional_detail::forward(v); + } + + template + value_type value_or_eval ( F f ) BOOST_OPTIONAL_CONST_REF_QUAL + { + if (this->is_initialized()) + return get(); + else + return f(); + } + +#ifndef BOOST_NO_CXX11_REF_QUALIFIERS + reference_type_of_temporary_wrapper value() && + { + if (this->is_initialized()) + return optional_detail::move(this->get()) ; + else + throw_exception(bad_optional_access()); + } + + template + value_type value_or ( U&& v ) && + { + if (this->is_initialized()) + return optional_detail::move(get()); + else + return optional_detail::forward(v); + } + + template + value_type value_or_eval ( F f ) && + { + if (this->is_initialized()) + return optional_detail::move(get()); + else + return f(); + } +#endif + +// Monadic interface + + template + optional::type> map(F f) BOOST_OPTIONAL_REF_QUAL + { + if (this->has_value()) + return f(get()); + else + return none; + } + + template + optional::type> map(F f) BOOST_OPTIONAL_CONST_REF_QUAL + { + if (this->has_value()) + return f(get()); + else + return none; + } + +#ifndef BOOST_NO_CXX11_REF_QUALIFIERS + template + optional::type> map(F f) && + { + if (this->has_value()) + return f(optional_detail::move(this->get())); + else + return none; + } +#endif + + template + optional::type> + flat_map(F f) BOOST_OPTIONAL_REF_QUAL + { + if (this->has_value()) + return f(get()); + else + return none; + } + + template + optional::type> + flat_map(F f) BOOST_OPTIONAL_CONST_REF_QUAL + { + if (this->has_value()) + return f(get()); + else + return none; + } + +#ifndef BOOST_NO_CXX11_REF_QUALIFIERS + template + optional::type> + flat_map(F f) && + { + if (this->has_value()) + return f(optional_detail::move(get())); + else + return none; + } +#endif + + bool has_value() const BOOST_NOEXCEPT { return this->is_initialized() ; } + + explicit operator bool() const BOOST_NOEXCEPT { return this->has_value() ; } +} ; + + +template +class optional +{ + static_assert(sizeof(T) == 0, "Optional rvalue references are illegal."); +} ; + +} // namespace boost + +#ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS +# include +#endif + +namespace boost { + + +template +inline +optional::type> make_optional ( T && v ) +{ + return optional::type>(optional_detail::forward(v)); +} + +// Returns optional(cond,v) +template +inline +optional::type> make_optional ( bool cond, T && v ) +{ + return optional::type>(cond,optional_detail::forward(v)); +} + + +// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED. +// No-throw +template +inline +BOOST_DEDUCED_TYPENAME optional::reference_const_type +get ( optional const& opt ) +{ + return opt.get() ; +} + +template +inline +BOOST_DEDUCED_TYPENAME optional::reference_type +get ( optional& opt ) +{ + return opt.get() ; +} + +// Returns a pointer to the value if this is initialized, otherwise, returns NULL. +// No-throw +template +inline +BOOST_DEDUCED_TYPENAME optional::pointer_const_type +get ( optional const* opt ) +{ + return opt->get_ptr() ; +} + +template +inline +BOOST_DEDUCED_TYPENAME optional::pointer_type +get ( optional* opt ) +{ + return opt->get_ptr() ; +} + +// Returns a reference to the value if this is initialized, otherwise, the behaviour is UNDEFINED. +// No-throw +template +inline +BOOST_DEDUCED_TYPENAME optional::reference_const_type +get_optional_value_or ( optional const& opt, BOOST_DEDUCED_TYPENAME optional::reference_const_type v ) +{ + return opt.get_value_or(v) ; +} + +template +inline +BOOST_DEDUCED_TYPENAME optional::reference_type +get_optional_value_or ( optional& opt, BOOST_DEDUCED_TYPENAME optional::reference_type v ) +{ + return opt.get_value_or(v) ; +} + +// Returns a pointer to the value if this is initialized, otherwise, returns NULL. +// No-throw +template +inline +BOOST_DEDUCED_TYPENAME optional::pointer_const_type +get_pointer ( optional const& opt ) +{ + return opt.get_ptr() ; +} + +template +inline +BOOST_DEDUCED_TYPENAME optional::pointer_type +get_pointer ( optional& opt ) +{ + return opt.get_ptr() ; +} + +} // namespace boost + +#ifndef BOOST_NO_IOSTREAM +namespace boost { + +// The following declaration prevents a bug where operator safe-bool is used upon streaming optional object if you forget the IO header. +template +std::basic_ostream& +operator<<(std::basic_ostream& os, optional_detail::optional_tag const&) +{ + static_assert(sizeof(CharType) == 0, "If you want to output boost::optional, include header "); + return os; +} + +} // namespace boost +#endif // BOOST_NO_IOSTREAM + +#include +#include + +#endif // header guard diff --git a/external/include/boost_1_75/boost/optional/optional_fwd.hpp b/external/include/boost_1_90_0/boost/optional/optional_fwd.hpp similarity index 100% rename from external/include/boost_1_75/boost/optional/optional_fwd.hpp rename to external/include/boost_1_90_0/boost/optional/optional_fwd.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/add.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/add.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/add.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/add.hpp index 65fd3e3cd0..a5eac17433 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/add.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/add.hpp @@ -1,104 +1,104 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# include -# include -# -# /* BOOST_PP_ADD */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# else -# define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y) -# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# endif -# -# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy -# else -# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) -# endif -# -# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y)) -# -# /* BOOST_PP_ADD_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# else -# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y) -# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# endif -# -# else -# -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_ADD */ -# -# define BOOST_PP_ADD(x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(y,2),BOOST_PP_ADD_DO)(x,y) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ADD_DO(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# else -# define BOOST_PP_ADD_DO(x, y) BOOST_PP_ADD_I(x, y) -# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# endif -# -# define BOOST_PP_ADD_P(d, xy) BOOST_PP_BITAND(BOOST_PP_BOOL(BOOST_PP_TUPLE_ELEM(2, 1, xy)),BOOST_PP_COMPL(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(BOOST_PP_TUPLE_ELEM(2, 0, xy)))) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy -# else -# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) -# endif -# -# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y)) -# -# /* BOOST_PP_ADD_D */ -# -# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(y,3),BOOST_PP_ADD_DO_D)(d,x,y) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ADD_DO_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# else -# define BOOST_PP_ADD_DO_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y) -# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) -# endif -# -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# +# /* BOOST_PP_ADD */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# else +# define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y) +# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# endif +# +# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy +# else +# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) +# endif +# +# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y)) +# +# /* BOOST_PP_ADD_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# else +# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y) +# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# endif +# +# else +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ADD */ +# +# define BOOST_PP_ADD(x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(y,2),BOOST_PP_ADD_DO)(x,y) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ADD_DO(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# else +# define BOOST_PP_ADD_DO(x, y) BOOST_PP_ADD_I(x, y) +# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# endif +# +# define BOOST_PP_ADD_P(d, xy) BOOST_PP_BITAND(BOOST_PP_BOOL(BOOST_PP_TUPLE_ELEM(2, 1, xy)),BOOST_PP_COMPL(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(BOOST_PP_TUPLE_ELEM(2, 0, xy)))) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy +# else +# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) +# endif +# +# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y)) +# +# /* BOOST_PP_ADD_D */ +# +# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(y,3),BOOST_PP_ADD_DO_D)(d,x,y) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ADD_DO_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# else +# define BOOST_PP_ADD_DO_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y) +# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/arithmetic/dec.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/dec.hpp new file mode 100644 index 0000000000..90ad031964 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/dec.hpp @@ -0,0 +1,322 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# /* BOOST_PP_DEC */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) +# else +# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) +# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par +# endif +# +# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x +# +# define BOOST_PP_DEC_0 0 +# define BOOST_PP_DEC_1 0 +# define BOOST_PP_DEC_2 1 +# define BOOST_PP_DEC_3 2 +# define BOOST_PP_DEC_4 3 +# define BOOST_PP_DEC_5 4 +# define BOOST_PP_DEC_6 5 +# define BOOST_PP_DEC_7 6 +# define BOOST_PP_DEC_8 7 +# define BOOST_PP_DEC_9 8 +# define BOOST_PP_DEC_10 9 +# define BOOST_PP_DEC_11 10 +# define BOOST_PP_DEC_12 11 +# define BOOST_PP_DEC_13 12 +# define BOOST_PP_DEC_14 13 +# define BOOST_PP_DEC_15 14 +# define BOOST_PP_DEC_16 15 +# define BOOST_PP_DEC_17 16 +# define BOOST_PP_DEC_18 17 +# define BOOST_PP_DEC_19 18 +# define BOOST_PP_DEC_20 19 +# define BOOST_PP_DEC_21 20 +# define BOOST_PP_DEC_22 21 +# define BOOST_PP_DEC_23 22 +# define BOOST_PP_DEC_24 23 +# define BOOST_PP_DEC_25 24 +# define BOOST_PP_DEC_26 25 +# define BOOST_PP_DEC_27 26 +# define BOOST_PP_DEC_28 27 +# define BOOST_PP_DEC_29 28 +# define BOOST_PP_DEC_30 29 +# define BOOST_PP_DEC_31 30 +# define BOOST_PP_DEC_32 31 +# define BOOST_PP_DEC_33 32 +# define BOOST_PP_DEC_34 33 +# define BOOST_PP_DEC_35 34 +# define BOOST_PP_DEC_36 35 +# define BOOST_PP_DEC_37 36 +# define BOOST_PP_DEC_38 37 +# define BOOST_PP_DEC_39 38 +# define BOOST_PP_DEC_40 39 +# define BOOST_PP_DEC_41 40 +# define BOOST_PP_DEC_42 41 +# define BOOST_PP_DEC_43 42 +# define BOOST_PP_DEC_44 43 +# define BOOST_PP_DEC_45 44 +# define BOOST_PP_DEC_46 45 +# define BOOST_PP_DEC_47 46 +# define BOOST_PP_DEC_48 47 +# define BOOST_PP_DEC_49 48 +# define BOOST_PP_DEC_50 49 +# define BOOST_PP_DEC_51 50 +# define BOOST_PP_DEC_52 51 +# define BOOST_PP_DEC_53 52 +# define BOOST_PP_DEC_54 53 +# define BOOST_PP_DEC_55 54 +# define BOOST_PP_DEC_56 55 +# define BOOST_PP_DEC_57 56 +# define BOOST_PP_DEC_58 57 +# define BOOST_PP_DEC_59 58 +# define BOOST_PP_DEC_60 59 +# define BOOST_PP_DEC_61 60 +# define BOOST_PP_DEC_62 61 +# define BOOST_PP_DEC_63 62 +# define BOOST_PP_DEC_64 63 +# define BOOST_PP_DEC_65 64 +# define BOOST_PP_DEC_66 65 +# define BOOST_PP_DEC_67 66 +# define BOOST_PP_DEC_68 67 +# define BOOST_PP_DEC_69 68 +# define BOOST_PP_DEC_70 69 +# define BOOST_PP_DEC_71 70 +# define BOOST_PP_DEC_72 71 +# define BOOST_PP_DEC_73 72 +# define BOOST_PP_DEC_74 73 +# define BOOST_PP_DEC_75 74 +# define BOOST_PP_DEC_76 75 +# define BOOST_PP_DEC_77 76 +# define BOOST_PP_DEC_78 77 +# define BOOST_PP_DEC_79 78 +# define BOOST_PP_DEC_80 79 +# define BOOST_PP_DEC_81 80 +# define BOOST_PP_DEC_82 81 +# define BOOST_PP_DEC_83 82 +# define BOOST_PP_DEC_84 83 +# define BOOST_PP_DEC_85 84 +# define BOOST_PP_DEC_86 85 +# define BOOST_PP_DEC_87 86 +# define BOOST_PP_DEC_88 87 +# define BOOST_PP_DEC_89 88 +# define BOOST_PP_DEC_90 89 +# define BOOST_PP_DEC_91 90 +# define BOOST_PP_DEC_92 91 +# define BOOST_PP_DEC_93 92 +# define BOOST_PP_DEC_94 93 +# define BOOST_PP_DEC_95 94 +# define BOOST_PP_DEC_96 95 +# define BOOST_PP_DEC_97 96 +# define BOOST_PP_DEC_98 97 +# define BOOST_PP_DEC_99 98 +# define BOOST_PP_DEC_100 99 +# define BOOST_PP_DEC_101 100 +# define BOOST_PP_DEC_102 101 +# define BOOST_PP_DEC_103 102 +# define BOOST_PP_DEC_104 103 +# define BOOST_PP_DEC_105 104 +# define BOOST_PP_DEC_106 105 +# define BOOST_PP_DEC_107 106 +# define BOOST_PP_DEC_108 107 +# define BOOST_PP_DEC_109 108 +# define BOOST_PP_DEC_110 109 +# define BOOST_PP_DEC_111 110 +# define BOOST_PP_DEC_112 111 +# define BOOST_PP_DEC_113 112 +# define BOOST_PP_DEC_114 113 +# define BOOST_PP_DEC_115 114 +# define BOOST_PP_DEC_116 115 +# define BOOST_PP_DEC_117 116 +# define BOOST_PP_DEC_118 117 +# define BOOST_PP_DEC_119 118 +# define BOOST_PP_DEC_120 119 +# define BOOST_PP_DEC_121 120 +# define BOOST_PP_DEC_122 121 +# define BOOST_PP_DEC_123 122 +# define BOOST_PP_DEC_124 123 +# define BOOST_PP_DEC_125 124 +# define BOOST_PP_DEC_126 125 +# define BOOST_PP_DEC_127 126 +# define BOOST_PP_DEC_128 127 +# define BOOST_PP_DEC_129 128 +# define BOOST_PP_DEC_130 129 +# define BOOST_PP_DEC_131 130 +# define BOOST_PP_DEC_132 131 +# define BOOST_PP_DEC_133 132 +# define BOOST_PP_DEC_134 133 +# define BOOST_PP_DEC_135 134 +# define BOOST_PP_DEC_136 135 +# define BOOST_PP_DEC_137 136 +# define BOOST_PP_DEC_138 137 +# define BOOST_PP_DEC_139 138 +# define BOOST_PP_DEC_140 139 +# define BOOST_PP_DEC_141 140 +# define BOOST_PP_DEC_142 141 +# define BOOST_PP_DEC_143 142 +# define BOOST_PP_DEC_144 143 +# define BOOST_PP_DEC_145 144 +# define BOOST_PP_DEC_146 145 +# define BOOST_PP_DEC_147 146 +# define BOOST_PP_DEC_148 147 +# define BOOST_PP_DEC_149 148 +# define BOOST_PP_DEC_150 149 +# define BOOST_PP_DEC_151 150 +# define BOOST_PP_DEC_152 151 +# define BOOST_PP_DEC_153 152 +# define BOOST_PP_DEC_154 153 +# define BOOST_PP_DEC_155 154 +# define BOOST_PP_DEC_156 155 +# define BOOST_PP_DEC_157 156 +# define BOOST_PP_DEC_158 157 +# define BOOST_PP_DEC_159 158 +# define BOOST_PP_DEC_160 159 +# define BOOST_PP_DEC_161 160 +# define BOOST_PP_DEC_162 161 +# define BOOST_PP_DEC_163 162 +# define BOOST_PP_DEC_164 163 +# define BOOST_PP_DEC_165 164 +# define BOOST_PP_DEC_166 165 +# define BOOST_PP_DEC_167 166 +# define BOOST_PP_DEC_168 167 +# define BOOST_PP_DEC_169 168 +# define BOOST_PP_DEC_170 169 +# define BOOST_PP_DEC_171 170 +# define BOOST_PP_DEC_172 171 +# define BOOST_PP_DEC_173 172 +# define BOOST_PP_DEC_174 173 +# define BOOST_PP_DEC_175 174 +# define BOOST_PP_DEC_176 175 +# define BOOST_PP_DEC_177 176 +# define BOOST_PP_DEC_178 177 +# define BOOST_PP_DEC_179 178 +# define BOOST_PP_DEC_180 179 +# define BOOST_PP_DEC_181 180 +# define BOOST_PP_DEC_182 181 +# define BOOST_PP_DEC_183 182 +# define BOOST_PP_DEC_184 183 +# define BOOST_PP_DEC_185 184 +# define BOOST_PP_DEC_186 185 +# define BOOST_PP_DEC_187 186 +# define BOOST_PP_DEC_188 187 +# define BOOST_PP_DEC_189 188 +# define BOOST_PP_DEC_190 189 +# define BOOST_PP_DEC_191 190 +# define BOOST_PP_DEC_192 191 +# define BOOST_PP_DEC_193 192 +# define BOOST_PP_DEC_194 193 +# define BOOST_PP_DEC_195 194 +# define BOOST_PP_DEC_196 195 +# define BOOST_PP_DEC_197 196 +# define BOOST_PP_DEC_198 197 +# define BOOST_PP_DEC_199 198 +# define BOOST_PP_DEC_200 199 +# define BOOST_PP_DEC_201 200 +# define BOOST_PP_DEC_202 201 +# define BOOST_PP_DEC_203 202 +# define BOOST_PP_DEC_204 203 +# define BOOST_PP_DEC_205 204 +# define BOOST_PP_DEC_206 205 +# define BOOST_PP_DEC_207 206 +# define BOOST_PP_DEC_208 207 +# define BOOST_PP_DEC_209 208 +# define BOOST_PP_DEC_210 209 +# define BOOST_PP_DEC_211 210 +# define BOOST_PP_DEC_212 211 +# define BOOST_PP_DEC_213 212 +# define BOOST_PP_DEC_214 213 +# define BOOST_PP_DEC_215 214 +# define BOOST_PP_DEC_216 215 +# define BOOST_PP_DEC_217 216 +# define BOOST_PP_DEC_218 217 +# define BOOST_PP_DEC_219 218 +# define BOOST_PP_DEC_220 219 +# define BOOST_PP_DEC_221 220 +# define BOOST_PP_DEC_222 221 +# define BOOST_PP_DEC_223 222 +# define BOOST_PP_DEC_224 223 +# define BOOST_PP_DEC_225 224 +# define BOOST_PP_DEC_226 225 +# define BOOST_PP_DEC_227 226 +# define BOOST_PP_DEC_228 227 +# define BOOST_PP_DEC_229 228 +# define BOOST_PP_DEC_230 229 +# define BOOST_PP_DEC_231 230 +# define BOOST_PP_DEC_232 231 +# define BOOST_PP_DEC_233 232 +# define BOOST_PP_DEC_234 233 +# define BOOST_PP_DEC_235 234 +# define BOOST_PP_DEC_236 235 +# define BOOST_PP_DEC_237 236 +# define BOOST_PP_DEC_238 237 +# define BOOST_PP_DEC_239 238 +# define BOOST_PP_DEC_240 239 +# define BOOST_PP_DEC_241 240 +# define BOOST_PP_DEC_242 241 +# define BOOST_PP_DEC_243 242 +# define BOOST_PP_DEC_244 243 +# define BOOST_PP_DEC_245 244 +# define BOOST_PP_DEC_246 245 +# define BOOST_PP_DEC_247 246 +# define BOOST_PP_DEC_248 247 +# define BOOST_PP_DEC_249 248 +# define BOOST_PP_DEC_250 249 +# define BOOST_PP_DEC_251 250 +# define BOOST_PP_DEC_252 251 +# define BOOST_PP_DEC_253 252 +# define BOOST_PP_DEC_254 253 +# define BOOST_PP_DEC_255 254 +# define BOOST_PP_DEC_256 255 +# define BOOST_PP_DEC_257 256 +# +# else +# +# /* BOOST_PP_DEC */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) +# else +# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) +# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par +# endif +# +# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x +# +# include +# +# if BOOST_PP_LIMIT_MAG == 256 +# include +# elif BOOST_PP_LIMIT_MAG == 512 +# include +# include +# elif BOOST_PP_LIMIT_MAG == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_MAG limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp index 5138bc15fd..5a622e9a01 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp @@ -1,22 +1,22 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2020. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MAXIMUM_NUMBER_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MAXIMUM_NUMBER_HPP -# -# /* BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER */ -# -# include -# include -# -# define BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(x) BOOST_PP_EQUAL(x,BOOST_PP_DETAIL_MAXIMUM_NUMBER) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2020. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MAXIMUM_NUMBER_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MAXIMUM_NUMBER_HPP +# +# /* BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER */ +# +# include +# include +# +# define BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(x) BOOST_PP_EQUAL(x,BOOST_PP_DETAIL_MAXIMUM_NUMBER) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp index c893d706b2..bbc6b530af 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp @@ -1,21 +1,21 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2020. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MINIMUM_NUMBER_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MINIMUM_NUMBER_HPP -# -# /* BOOST_PP_DETAIL_IS_MINIMUM_NUMBER */ -# -# include -# -# define BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x) BOOST_PP_NOT(x) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2020. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MINIMUM_NUMBER_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_IS_MINIMUM_NUMBER_HPP +# +# /* BOOST_PP_DETAIL_IS_MINIMUM_NUMBER */ +# +# include +# +# define BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x) BOOST_PP_NOT(x) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/detail/maximum_number.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/maximum_number.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/detail/maximum_number.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/maximum_number.hpp index 06b14d4086..b2ab40fb9b 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/detail/maximum_number.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/detail/maximum_number.hpp @@ -1,19 +1,19 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2020. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_MAXIMUM_NUMBER_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_MAXIMUM_NUMBER_HPP -# -# include -# -# define BOOST_PP_DETAIL_MAXIMUM_NUMBER BOOST_PP_LIMIT_MAG -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2020. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_MAXIMUM_NUMBER_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_MAXIMUM_NUMBER_HPP +# +# include +# +# define BOOST_PP_DETAIL_MAXIMUM_NUMBER BOOST_PP_LIMIT_MAG +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/arithmetic/inc.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/inc.hpp new file mode 100644 index 0000000000..ee5c54b079 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/inc.hpp @@ -0,0 +1,321 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# /* BOOST_PP_INC */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_INC(x) BOOST_PP_INC_I(x) +# else +# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x)) +# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par +# endif +# +# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x +# +# define BOOST_PP_INC_0 1 +# define BOOST_PP_INC_1 2 +# define BOOST_PP_INC_2 3 +# define BOOST_PP_INC_3 4 +# define BOOST_PP_INC_4 5 +# define BOOST_PP_INC_5 6 +# define BOOST_PP_INC_6 7 +# define BOOST_PP_INC_7 8 +# define BOOST_PP_INC_8 9 +# define BOOST_PP_INC_9 10 +# define BOOST_PP_INC_10 11 +# define BOOST_PP_INC_11 12 +# define BOOST_PP_INC_12 13 +# define BOOST_PP_INC_13 14 +# define BOOST_PP_INC_14 15 +# define BOOST_PP_INC_15 16 +# define BOOST_PP_INC_16 17 +# define BOOST_PP_INC_17 18 +# define BOOST_PP_INC_18 19 +# define BOOST_PP_INC_19 20 +# define BOOST_PP_INC_20 21 +# define BOOST_PP_INC_21 22 +# define BOOST_PP_INC_22 23 +# define BOOST_PP_INC_23 24 +# define BOOST_PP_INC_24 25 +# define BOOST_PP_INC_25 26 +# define BOOST_PP_INC_26 27 +# define BOOST_PP_INC_27 28 +# define BOOST_PP_INC_28 29 +# define BOOST_PP_INC_29 30 +# define BOOST_PP_INC_30 31 +# define BOOST_PP_INC_31 32 +# define BOOST_PP_INC_32 33 +# define BOOST_PP_INC_33 34 +# define BOOST_PP_INC_34 35 +# define BOOST_PP_INC_35 36 +# define BOOST_PP_INC_36 37 +# define BOOST_PP_INC_37 38 +# define BOOST_PP_INC_38 39 +# define BOOST_PP_INC_39 40 +# define BOOST_PP_INC_40 41 +# define BOOST_PP_INC_41 42 +# define BOOST_PP_INC_42 43 +# define BOOST_PP_INC_43 44 +# define BOOST_PP_INC_44 45 +# define BOOST_PP_INC_45 46 +# define BOOST_PP_INC_46 47 +# define BOOST_PP_INC_47 48 +# define BOOST_PP_INC_48 49 +# define BOOST_PP_INC_49 50 +# define BOOST_PP_INC_50 51 +# define BOOST_PP_INC_51 52 +# define BOOST_PP_INC_52 53 +# define BOOST_PP_INC_53 54 +# define BOOST_PP_INC_54 55 +# define BOOST_PP_INC_55 56 +# define BOOST_PP_INC_56 57 +# define BOOST_PP_INC_57 58 +# define BOOST_PP_INC_58 59 +# define BOOST_PP_INC_59 60 +# define BOOST_PP_INC_60 61 +# define BOOST_PP_INC_61 62 +# define BOOST_PP_INC_62 63 +# define BOOST_PP_INC_63 64 +# define BOOST_PP_INC_64 65 +# define BOOST_PP_INC_65 66 +# define BOOST_PP_INC_66 67 +# define BOOST_PP_INC_67 68 +# define BOOST_PP_INC_68 69 +# define BOOST_PP_INC_69 70 +# define BOOST_PP_INC_70 71 +# define BOOST_PP_INC_71 72 +# define BOOST_PP_INC_72 73 +# define BOOST_PP_INC_73 74 +# define BOOST_PP_INC_74 75 +# define BOOST_PP_INC_75 76 +# define BOOST_PP_INC_76 77 +# define BOOST_PP_INC_77 78 +# define BOOST_PP_INC_78 79 +# define BOOST_PP_INC_79 80 +# define BOOST_PP_INC_80 81 +# define BOOST_PP_INC_81 82 +# define BOOST_PP_INC_82 83 +# define BOOST_PP_INC_83 84 +# define BOOST_PP_INC_84 85 +# define BOOST_PP_INC_85 86 +# define BOOST_PP_INC_86 87 +# define BOOST_PP_INC_87 88 +# define BOOST_PP_INC_88 89 +# define BOOST_PP_INC_89 90 +# define BOOST_PP_INC_90 91 +# define BOOST_PP_INC_91 92 +# define BOOST_PP_INC_92 93 +# define BOOST_PP_INC_93 94 +# define BOOST_PP_INC_94 95 +# define BOOST_PP_INC_95 96 +# define BOOST_PP_INC_96 97 +# define BOOST_PP_INC_97 98 +# define BOOST_PP_INC_98 99 +# define BOOST_PP_INC_99 100 +# define BOOST_PP_INC_100 101 +# define BOOST_PP_INC_101 102 +# define BOOST_PP_INC_102 103 +# define BOOST_PP_INC_103 104 +# define BOOST_PP_INC_104 105 +# define BOOST_PP_INC_105 106 +# define BOOST_PP_INC_106 107 +# define BOOST_PP_INC_107 108 +# define BOOST_PP_INC_108 109 +# define BOOST_PP_INC_109 110 +# define BOOST_PP_INC_110 111 +# define BOOST_PP_INC_111 112 +# define BOOST_PP_INC_112 113 +# define BOOST_PP_INC_113 114 +# define BOOST_PP_INC_114 115 +# define BOOST_PP_INC_115 116 +# define BOOST_PP_INC_116 117 +# define BOOST_PP_INC_117 118 +# define BOOST_PP_INC_118 119 +# define BOOST_PP_INC_119 120 +# define BOOST_PP_INC_120 121 +# define BOOST_PP_INC_121 122 +# define BOOST_PP_INC_122 123 +# define BOOST_PP_INC_123 124 +# define BOOST_PP_INC_124 125 +# define BOOST_PP_INC_125 126 +# define BOOST_PP_INC_126 127 +# define BOOST_PP_INC_127 128 +# define BOOST_PP_INC_128 129 +# define BOOST_PP_INC_129 130 +# define BOOST_PP_INC_130 131 +# define BOOST_PP_INC_131 132 +# define BOOST_PP_INC_132 133 +# define BOOST_PP_INC_133 134 +# define BOOST_PP_INC_134 135 +# define BOOST_PP_INC_135 136 +# define BOOST_PP_INC_136 137 +# define BOOST_PP_INC_137 138 +# define BOOST_PP_INC_138 139 +# define BOOST_PP_INC_139 140 +# define BOOST_PP_INC_140 141 +# define BOOST_PP_INC_141 142 +# define BOOST_PP_INC_142 143 +# define BOOST_PP_INC_143 144 +# define BOOST_PP_INC_144 145 +# define BOOST_PP_INC_145 146 +# define BOOST_PP_INC_146 147 +# define BOOST_PP_INC_147 148 +# define BOOST_PP_INC_148 149 +# define BOOST_PP_INC_149 150 +# define BOOST_PP_INC_150 151 +# define BOOST_PP_INC_151 152 +# define BOOST_PP_INC_152 153 +# define BOOST_PP_INC_153 154 +# define BOOST_PP_INC_154 155 +# define BOOST_PP_INC_155 156 +# define BOOST_PP_INC_156 157 +# define BOOST_PP_INC_157 158 +# define BOOST_PP_INC_158 159 +# define BOOST_PP_INC_159 160 +# define BOOST_PP_INC_160 161 +# define BOOST_PP_INC_161 162 +# define BOOST_PP_INC_162 163 +# define BOOST_PP_INC_163 164 +# define BOOST_PP_INC_164 165 +# define BOOST_PP_INC_165 166 +# define BOOST_PP_INC_166 167 +# define BOOST_PP_INC_167 168 +# define BOOST_PP_INC_168 169 +# define BOOST_PP_INC_169 170 +# define BOOST_PP_INC_170 171 +# define BOOST_PP_INC_171 172 +# define BOOST_PP_INC_172 173 +# define BOOST_PP_INC_173 174 +# define BOOST_PP_INC_174 175 +# define BOOST_PP_INC_175 176 +# define BOOST_PP_INC_176 177 +# define BOOST_PP_INC_177 178 +# define BOOST_PP_INC_178 179 +# define BOOST_PP_INC_179 180 +# define BOOST_PP_INC_180 181 +# define BOOST_PP_INC_181 182 +# define BOOST_PP_INC_182 183 +# define BOOST_PP_INC_183 184 +# define BOOST_PP_INC_184 185 +# define BOOST_PP_INC_185 186 +# define BOOST_PP_INC_186 187 +# define BOOST_PP_INC_187 188 +# define BOOST_PP_INC_188 189 +# define BOOST_PP_INC_189 190 +# define BOOST_PP_INC_190 191 +# define BOOST_PP_INC_191 192 +# define BOOST_PP_INC_192 193 +# define BOOST_PP_INC_193 194 +# define BOOST_PP_INC_194 195 +# define BOOST_PP_INC_195 196 +# define BOOST_PP_INC_196 197 +# define BOOST_PP_INC_197 198 +# define BOOST_PP_INC_198 199 +# define BOOST_PP_INC_199 200 +# define BOOST_PP_INC_200 201 +# define BOOST_PP_INC_201 202 +# define BOOST_PP_INC_202 203 +# define BOOST_PP_INC_203 204 +# define BOOST_PP_INC_204 205 +# define BOOST_PP_INC_205 206 +# define BOOST_PP_INC_206 207 +# define BOOST_PP_INC_207 208 +# define BOOST_PP_INC_208 209 +# define BOOST_PP_INC_209 210 +# define BOOST_PP_INC_210 211 +# define BOOST_PP_INC_211 212 +# define BOOST_PP_INC_212 213 +# define BOOST_PP_INC_213 214 +# define BOOST_PP_INC_214 215 +# define BOOST_PP_INC_215 216 +# define BOOST_PP_INC_216 217 +# define BOOST_PP_INC_217 218 +# define BOOST_PP_INC_218 219 +# define BOOST_PP_INC_219 220 +# define BOOST_PP_INC_220 221 +# define BOOST_PP_INC_221 222 +# define BOOST_PP_INC_222 223 +# define BOOST_PP_INC_223 224 +# define BOOST_PP_INC_224 225 +# define BOOST_PP_INC_225 226 +# define BOOST_PP_INC_226 227 +# define BOOST_PP_INC_227 228 +# define BOOST_PP_INC_228 229 +# define BOOST_PP_INC_229 230 +# define BOOST_PP_INC_230 231 +# define BOOST_PP_INC_231 232 +# define BOOST_PP_INC_232 233 +# define BOOST_PP_INC_233 234 +# define BOOST_PP_INC_234 235 +# define BOOST_PP_INC_235 236 +# define BOOST_PP_INC_236 237 +# define BOOST_PP_INC_237 238 +# define BOOST_PP_INC_238 239 +# define BOOST_PP_INC_239 240 +# define BOOST_PP_INC_240 241 +# define BOOST_PP_INC_241 242 +# define BOOST_PP_INC_242 243 +# define BOOST_PP_INC_243 244 +# define BOOST_PP_INC_244 245 +# define BOOST_PP_INC_245 246 +# define BOOST_PP_INC_246 247 +# define BOOST_PP_INC_247 248 +# define BOOST_PP_INC_248 249 +# define BOOST_PP_INC_249 250 +# define BOOST_PP_INC_250 251 +# define BOOST_PP_INC_251 252 +# define BOOST_PP_INC_252 253 +# define BOOST_PP_INC_253 254 +# define BOOST_PP_INC_254 255 +# define BOOST_PP_INC_255 256 +# define BOOST_PP_INC_256 256 +# +# else +# +# /* BOOST_PP_INC */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_INC(x) BOOST_PP_INC_I(x) +# else +# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x)) +# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par +# endif +# +# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x +# +# include +# +# if BOOST_PP_LIMIT_MAG == 256 +# include +# elif BOOST_PP_LIMIT_MAG == 512 +# include +# include +# elif BOOST_PP_LIMIT_MAG == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_MAG limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_1024.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_1024.hpp index 19a7b8fc84..eea1eae49f 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_1024.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_1024.hpp @@ -1,531 +1,531 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_1024_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_1024_HPP -# -# define BOOST_PP_DEC_514 513 -# define BOOST_PP_DEC_515 514 -# define BOOST_PP_DEC_516 515 -# define BOOST_PP_DEC_517 516 -# define BOOST_PP_DEC_518 517 -# define BOOST_PP_DEC_519 518 -# define BOOST_PP_DEC_520 519 -# define BOOST_PP_DEC_521 520 -# define BOOST_PP_DEC_522 521 -# define BOOST_PP_DEC_523 522 -# define BOOST_PP_DEC_524 523 -# define BOOST_PP_DEC_525 524 -# define BOOST_PP_DEC_526 525 -# define BOOST_PP_DEC_527 526 -# define BOOST_PP_DEC_528 527 -# define BOOST_PP_DEC_529 528 -# define BOOST_PP_DEC_530 529 -# define BOOST_PP_DEC_531 530 -# define BOOST_PP_DEC_532 531 -# define BOOST_PP_DEC_533 532 -# define BOOST_PP_DEC_534 533 -# define BOOST_PP_DEC_535 534 -# define BOOST_PP_DEC_536 535 -# define BOOST_PP_DEC_537 536 -# define BOOST_PP_DEC_538 537 -# define BOOST_PP_DEC_539 538 -# define BOOST_PP_DEC_540 539 -# define BOOST_PP_DEC_541 540 -# define BOOST_PP_DEC_542 541 -# define BOOST_PP_DEC_543 542 -# define BOOST_PP_DEC_544 543 -# define BOOST_PP_DEC_545 544 -# define BOOST_PP_DEC_546 545 -# define BOOST_PP_DEC_547 546 -# define BOOST_PP_DEC_548 547 -# define BOOST_PP_DEC_549 548 -# define BOOST_PP_DEC_550 549 -# define BOOST_PP_DEC_551 550 -# define BOOST_PP_DEC_552 551 -# define BOOST_PP_DEC_553 552 -# define BOOST_PP_DEC_554 553 -# define BOOST_PP_DEC_555 554 -# define BOOST_PP_DEC_556 555 -# define BOOST_PP_DEC_557 556 -# define BOOST_PP_DEC_558 557 -# define BOOST_PP_DEC_559 558 -# define BOOST_PP_DEC_560 559 -# define BOOST_PP_DEC_561 560 -# define BOOST_PP_DEC_562 561 -# define BOOST_PP_DEC_563 562 -# define BOOST_PP_DEC_564 563 -# define BOOST_PP_DEC_565 564 -# define BOOST_PP_DEC_566 565 -# define BOOST_PP_DEC_567 566 -# define BOOST_PP_DEC_568 567 -# define BOOST_PP_DEC_569 568 -# define BOOST_PP_DEC_570 569 -# define BOOST_PP_DEC_571 570 -# define BOOST_PP_DEC_572 571 -# define BOOST_PP_DEC_573 572 -# define BOOST_PP_DEC_574 573 -# define BOOST_PP_DEC_575 574 -# define BOOST_PP_DEC_576 575 -# define BOOST_PP_DEC_577 576 -# define BOOST_PP_DEC_578 577 -# define BOOST_PP_DEC_579 578 -# define BOOST_PP_DEC_580 579 -# define BOOST_PP_DEC_581 580 -# define BOOST_PP_DEC_582 581 -# define BOOST_PP_DEC_583 582 -# define BOOST_PP_DEC_584 583 -# define BOOST_PP_DEC_585 584 -# define BOOST_PP_DEC_586 585 -# define BOOST_PP_DEC_587 586 -# define BOOST_PP_DEC_588 587 -# define BOOST_PP_DEC_589 588 -# define BOOST_PP_DEC_590 589 -# define BOOST_PP_DEC_591 590 -# define BOOST_PP_DEC_592 591 -# define BOOST_PP_DEC_593 592 -# define BOOST_PP_DEC_594 593 -# define BOOST_PP_DEC_595 594 -# define BOOST_PP_DEC_596 595 -# define BOOST_PP_DEC_597 596 -# define BOOST_PP_DEC_598 597 -# define BOOST_PP_DEC_599 598 -# define BOOST_PP_DEC_600 599 -# define BOOST_PP_DEC_601 600 -# define BOOST_PP_DEC_602 601 -# define BOOST_PP_DEC_603 602 -# define BOOST_PP_DEC_604 603 -# define BOOST_PP_DEC_605 604 -# define BOOST_PP_DEC_606 605 -# define BOOST_PP_DEC_607 606 -# define BOOST_PP_DEC_608 607 -# define BOOST_PP_DEC_609 608 -# define BOOST_PP_DEC_610 609 -# define BOOST_PP_DEC_611 610 -# define BOOST_PP_DEC_612 611 -# define BOOST_PP_DEC_613 612 -# define BOOST_PP_DEC_614 613 -# define BOOST_PP_DEC_615 614 -# define BOOST_PP_DEC_616 615 -# define BOOST_PP_DEC_617 616 -# define BOOST_PP_DEC_618 617 -# define BOOST_PP_DEC_619 618 -# define BOOST_PP_DEC_620 619 -# define BOOST_PP_DEC_621 620 -# define BOOST_PP_DEC_622 621 -# define BOOST_PP_DEC_623 622 -# define BOOST_PP_DEC_624 623 -# define BOOST_PP_DEC_625 624 -# define BOOST_PP_DEC_626 625 -# define BOOST_PP_DEC_627 626 -# define BOOST_PP_DEC_628 627 -# define BOOST_PP_DEC_629 628 -# define BOOST_PP_DEC_630 629 -# define BOOST_PP_DEC_631 630 -# define BOOST_PP_DEC_632 631 -# define BOOST_PP_DEC_633 632 -# define BOOST_PP_DEC_634 633 -# define BOOST_PP_DEC_635 634 -# define BOOST_PP_DEC_636 635 -# define BOOST_PP_DEC_637 636 -# define BOOST_PP_DEC_638 637 -# define BOOST_PP_DEC_639 638 -# define BOOST_PP_DEC_640 639 -# define BOOST_PP_DEC_641 640 -# define BOOST_PP_DEC_642 641 -# define BOOST_PP_DEC_643 642 -# define BOOST_PP_DEC_644 643 -# define BOOST_PP_DEC_645 644 -# define BOOST_PP_DEC_646 645 -# define BOOST_PP_DEC_647 646 -# define BOOST_PP_DEC_648 647 -# define BOOST_PP_DEC_649 648 -# define BOOST_PP_DEC_650 649 -# define BOOST_PP_DEC_651 650 -# define BOOST_PP_DEC_652 651 -# define BOOST_PP_DEC_653 652 -# define BOOST_PP_DEC_654 653 -# define BOOST_PP_DEC_655 654 -# define BOOST_PP_DEC_656 655 -# define BOOST_PP_DEC_657 656 -# define BOOST_PP_DEC_658 657 -# define BOOST_PP_DEC_659 658 -# define BOOST_PP_DEC_660 659 -# define BOOST_PP_DEC_661 660 -# define BOOST_PP_DEC_662 661 -# define BOOST_PP_DEC_663 662 -# define BOOST_PP_DEC_664 663 -# define BOOST_PP_DEC_665 664 -# define BOOST_PP_DEC_666 665 -# define BOOST_PP_DEC_667 666 -# define BOOST_PP_DEC_668 667 -# define BOOST_PP_DEC_669 668 -# define BOOST_PP_DEC_670 669 -# define BOOST_PP_DEC_671 670 -# define BOOST_PP_DEC_672 671 -# define BOOST_PP_DEC_673 672 -# define BOOST_PP_DEC_674 673 -# define BOOST_PP_DEC_675 674 -# define BOOST_PP_DEC_676 675 -# define BOOST_PP_DEC_677 676 -# define BOOST_PP_DEC_678 677 -# define BOOST_PP_DEC_679 678 -# define BOOST_PP_DEC_680 679 -# define BOOST_PP_DEC_681 680 -# define BOOST_PP_DEC_682 681 -# define BOOST_PP_DEC_683 682 -# define BOOST_PP_DEC_684 683 -# define BOOST_PP_DEC_685 684 -# define BOOST_PP_DEC_686 685 -# define BOOST_PP_DEC_687 686 -# define BOOST_PP_DEC_688 687 -# define BOOST_PP_DEC_689 688 -# define BOOST_PP_DEC_690 689 -# define BOOST_PP_DEC_691 690 -# define BOOST_PP_DEC_692 691 -# define BOOST_PP_DEC_693 692 -# define BOOST_PP_DEC_694 693 -# define BOOST_PP_DEC_695 694 -# define BOOST_PP_DEC_696 695 -# define BOOST_PP_DEC_697 696 -# define BOOST_PP_DEC_698 697 -# define BOOST_PP_DEC_699 698 -# define BOOST_PP_DEC_700 699 -# define BOOST_PP_DEC_701 700 -# define BOOST_PP_DEC_702 701 -# define BOOST_PP_DEC_703 702 -# define BOOST_PP_DEC_704 703 -# define BOOST_PP_DEC_705 704 -# define BOOST_PP_DEC_706 705 -# define BOOST_PP_DEC_707 706 -# define BOOST_PP_DEC_708 707 -# define BOOST_PP_DEC_709 708 -# define BOOST_PP_DEC_710 709 -# define BOOST_PP_DEC_711 710 -# define BOOST_PP_DEC_712 711 -# define BOOST_PP_DEC_713 712 -# define BOOST_PP_DEC_714 713 -# define BOOST_PP_DEC_715 714 -# define BOOST_PP_DEC_716 715 -# define BOOST_PP_DEC_717 716 -# define BOOST_PP_DEC_718 717 -# define BOOST_PP_DEC_719 718 -# define BOOST_PP_DEC_720 719 -# define BOOST_PP_DEC_721 720 -# define BOOST_PP_DEC_722 721 -# define BOOST_PP_DEC_723 722 -# define BOOST_PP_DEC_724 723 -# define BOOST_PP_DEC_725 724 -# define BOOST_PP_DEC_726 725 -# define BOOST_PP_DEC_727 726 -# define BOOST_PP_DEC_728 727 -# define BOOST_PP_DEC_729 728 -# define BOOST_PP_DEC_730 729 -# define BOOST_PP_DEC_731 730 -# define BOOST_PP_DEC_732 731 -# define BOOST_PP_DEC_733 732 -# define BOOST_PP_DEC_734 733 -# define BOOST_PP_DEC_735 734 -# define BOOST_PP_DEC_736 735 -# define BOOST_PP_DEC_737 736 -# define BOOST_PP_DEC_738 737 -# define BOOST_PP_DEC_739 738 -# define BOOST_PP_DEC_740 739 -# define BOOST_PP_DEC_741 740 -# define BOOST_PP_DEC_742 741 -# define BOOST_PP_DEC_743 742 -# define BOOST_PP_DEC_744 743 -# define BOOST_PP_DEC_745 744 -# define BOOST_PP_DEC_746 745 -# define BOOST_PP_DEC_747 746 -# define BOOST_PP_DEC_748 747 -# define BOOST_PP_DEC_749 748 -# define BOOST_PP_DEC_750 749 -# define BOOST_PP_DEC_751 750 -# define BOOST_PP_DEC_752 751 -# define BOOST_PP_DEC_753 752 -# define BOOST_PP_DEC_754 753 -# define BOOST_PP_DEC_755 754 -# define BOOST_PP_DEC_756 755 -# define BOOST_PP_DEC_757 756 -# define BOOST_PP_DEC_758 757 -# define BOOST_PP_DEC_759 758 -# define BOOST_PP_DEC_760 759 -# define BOOST_PP_DEC_761 760 -# define BOOST_PP_DEC_762 761 -# define BOOST_PP_DEC_763 762 -# define BOOST_PP_DEC_764 763 -# define BOOST_PP_DEC_765 764 -# define BOOST_PP_DEC_766 765 -# define BOOST_PP_DEC_767 766 -# define BOOST_PP_DEC_768 767 -# define BOOST_PP_DEC_769 768 -# define BOOST_PP_DEC_770 769 -# define BOOST_PP_DEC_771 770 -# define BOOST_PP_DEC_772 771 -# define BOOST_PP_DEC_773 772 -# define BOOST_PP_DEC_774 773 -# define BOOST_PP_DEC_775 774 -# define BOOST_PP_DEC_776 775 -# define BOOST_PP_DEC_777 776 -# define BOOST_PP_DEC_778 777 -# define BOOST_PP_DEC_779 778 -# define BOOST_PP_DEC_780 779 -# define BOOST_PP_DEC_781 780 -# define BOOST_PP_DEC_782 781 -# define BOOST_PP_DEC_783 782 -# define BOOST_PP_DEC_784 783 -# define BOOST_PP_DEC_785 784 -# define BOOST_PP_DEC_786 785 -# define BOOST_PP_DEC_787 786 -# define BOOST_PP_DEC_788 787 -# define BOOST_PP_DEC_789 788 -# define BOOST_PP_DEC_790 789 -# define BOOST_PP_DEC_791 790 -# define BOOST_PP_DEC_792 791 -# define BOOST_PP_DEC_793 792 -# define BOOST_PP_DEC_794 793 -# define BOOST_PP_DEC_795 794 -# define BOOST_PP_DEC_796 795 -# define BOOST_PP_DEC_797 796 -# define BOOST_PP_DEC_798 797 -# define BOOST_PP_DEC_799 798 -# define BOOST_PP_DEC_800 799 -# define BOOST_PP_DEC_801 800 -# define BOOST_PP_DEC_802 801 -# define BOOST_PP_DEC_803 802 -# define BOOST_PP_DEC_804 803 -# define BOOST_PP_DEC_805 804 -# define BOOST_PP_DEC_806 805 -# define BOOST_PP_DEC_807 806 -# define BOOST_PP_DEC_808 807 -# define BOOST_PP_DEC_809 808 -# define BOOST_PP_DEC_810 809 -# define BOOST_PP_DEC_811 810 -# define BOOST_PP_DEC_812 811 -# define BOOST_PP_DEC_813 812 -# define BOOST_PP_DEC_814 813 -# define BOOST_PP_DEC_815 814 -# define BOOST_PP_DEC_816 815 -# define BOOST_PP_DEC_817 816 -# define BOOST_PP_DEC_818 817 -# define BOOST_PP_DEC_819 818 -# define BOOST_PP_DEC_820 819 -# define BOOST_PP_DEC_821 820 -# define BOOST_PP_DEC_822 821 -# define BOOST_PP_DEC_823 822 -# define BOOST_PP_DEC_824 823 -# define BOOST_PP_DEC_825 824 -# define BOOST_PP_DEC_826 825 -# define BOOST_PP_DEC_827 826 -# define BOOST_PP_DEC_828 827 -# define BOOST_PP_DEC_829 828 -# define BOOST_PP_DEC_830 829 -# define BOOST_PP_DEC_831 830 -# define BOOST_PP_DEC_832 831 -# define BOOST_PP_DEC_833 832 -# define BOOST_PP_DEC_834 833 -# define BOOST_PP_DEC_835 834 -# define BOOST_PP_DEC_836 835 -# define BOOST_PP_DEC_837 836 -# define BOOST_PP_DEC_838 837 -# define BOOST_PP_DEC_839 838 -# define BOOST_PP_DEC_840 839 -# define BOOST_PP_DEC_841 840 -# define BOOST_PP_DEC_842 841 -# define BOOST_PP_DEC_843 842 -# define BOOST_PP_DEC_844 843 -# define BOOST_PP_DEC_845 844 -# define BOOST_PP_DEC_846 845 -# define BOOST_PP_DEC_847 846 -# define BOOST_PP_DEC_848 847 -# define BOOST_PP_DEC_849 848 -# define BOOST_PP_DEC_850 849 -# define BOOST_PP_DEC_851 850 -# define BOOST_PP_DEC_852 851 -# define BOOST_PP_DEC_853 852 -# define BOOST_PP_DEC_854 853 -# define BOOST_PP_DEC_855 854 -# define BOOST_PP_DEC_856 855 -# define BOOST_PP_DEC_857 856 -# define BOOST_PP_DEC_858 857 -# define BOOST_PP_DEC_859 858 -# define BOOST_PP_DEC_860 859 -# define BOOST_PP_DEC_861 860 -# define BOOST_PP_DEC_862 861 -# define BOOST_PP_DEC_863 862 -# define BOOST_PP_DEC_864 863 -# define BOOST_PP_DEC_865 864 -# define BOOST_PP_DEC_866 865 -# define BOOST_PP_DEC_867 866 -# define BOOST_PP_DEC_868 867 -# define BOOST_PP_DEC_869 868 -# define BOOST_PP_DEC_870 869 -# define BOOST_PP_DEC_871 870 -# define BOOST_PP_DEC_872 871 -# define BOOST_PP_DEC_873 872 -# define BOOST_PP_DEC_874 873 -# define BOOST_PP_DEC_875 874 -# define BOOST_PP_DEC_876 875 -# define BOOST_PP_DEC_877 876 -# define BOOST_PP_DEC_878 877 -# define BOOST_PP_DEC_879 878 -# define BOOST_PP_DEC_880 879 -# define BOOST_PP_DEC_881 880 -# define BOOST_PP_DEC_882 881 -# define BOOST_PP_DEC_883 882 -# define BOOST_PP_DEC_884 883 -# define BOOST_PP_DEC_885 884 -# define BOOST_PP_DEC_886 885 -# define BOOST_PP_DEC_887 886 -# define BOOST_PP_DEC_888 887 -# define BOOST_PP_DEC_889 888 -# define BOOST_PP_DEC_890 889 -# define BOOST_PP_DEC_891 890 -# define BOOST_PP_DEC_892 891 -# define BOOST_PP_DEC_893 892 -# define BOOST_PP_DEC_894 893 -# define BOOST_PP_DEC_895 894 -# define BOOST_PP_DEC_896 895 -# define BOOST_PP_DEC_897 896 -# define BOOST_PP_DEC_898 897 -# define BOOST_PP_DEC_899 898 -# define BOOST_PP_DEC_900 899 -# define BOOST_PP_DEC_901 900 -# define BOOST_PP_DEC_902 901 -# define BOOST_PP_DEC_903 902 -# define BOOST_PP_DEC_904 903 -# define BOOST_PP_DEC_905 904 -# define BOOST_PP_DEC_906 905 -# define BOOST_PP_DEC_907 906 -# define BOOST_PP_DEC_908 907 -# define BOOST_PP_DEC_909 908 -# define BOOST_PP_DEC_910 909 -# define BOOST_PP_DEC_911 910 -# define BOOST_PP_DEC_912 911 -# define BOOST_PP_DEC_913 912 -# define BOOST_PP_DEC_914 913 -# define BOOST_PP_DEC_915 914 -# define BOOST_PP_DEC_916 915 -# define BOOST_PP_DEC_917 916 -# define BOOST_PP_DEC_918 917 -# define BOOST_PP_DEC_919 918 -# define BOOST_PP_DEC_920 919 -# define BOOST_PP_DEC_921 920 -# define BOOST_PP_DEC_922 921 -# define BOOST_PP_DEC_923 922 -# define BOOST_PP_DEC_924 923 -# define BOOST_PP_DEC_925 924 -# define BOOST_PP_DEC_926 925 -# define BOOST_PP_DEC_927 926 -# define BOOST_PP_DEC_928 927 -# define BOOST_PP_DEC_929 928 -# define BOOST_PP_DEC_930 929 -# define BOOST_PP_DEC_931 930 -# define BOOST_PP_DEC_932 931 -# define BOOST_PP_DEC_933 932 -# define BOOST_PP_DEC_934 933 -# define BOOST_PP_DEC_935 934 -# define BOOST_PP_DEC_936 935 -# define BOOST_PP_DEC_937 936 -# define BOOST_PP_DEC_938 937 -# define BOOST_PP_DEC_939 938 -# define BOOST_PP_DEC_940 939 -# define BOOST_PP_DEC_941 940 -# define BOOST_PP_DEC_942 941 -# define BOOST_PP_DEC_943 942 -# define BOOST_PP_DEC_944 943 -# define BOOST_PP_DEC_945 944 -# define BOOST_PP_DEC_946 945 -# define BOOST_PP_DEC_947 946 -# define BOOST_PP_DEC_948 947 -# define BOOST_PP_DEC_949 948 -# define BOOST_PP_DEC_950 949 -# define BOOST_PP_DEC_951 950 -# define BOOST_PP_DEC_952 951 -# define BOOST_PP_DEC_953 952 -# define BOOST_PP_DEC_954 953 -# define BOOST_PP_DEC_955 954 -# define BOOST_PP_DEC_956 955 -# define BOOST_PP_DEC_957 956 -# define BOOST_PP_DEC_958 957 -# define BOOST_PP_DEC_959 958 -# define BOOST_PP_DEC_960 959 -# define BOOST_PP_DEC_961 960 -# define BOOST_PP_DEC_962 961 -# define BOOST_PP_DEC_963 962 -# define BOOST_PP_DEC_964 963 -# define BOOST_PP_DEC_965 964 -# define BOOST_PP_DEC_966 965 -# define BOOST_PP_DEC_967 966 -# define BOOST_PP_DEC_968 967 -# define BOOST_PP_DEC_969 968 -# define BOOST_PP_DEC_970 969 -# define BOOST_PP_DEC_971 970 -# define BOOST_PP_DEC_972 971 -# define BOOST_PP_DEC_973 972 -# define BOOST_PP_DEC_974 973 -# define BOOST_PP_DEC_975 974 -# define BOOST_PP_DEC_976 975 -# define BOOST_PP_DEC_977 976 -# define BOOST_PP_DEC_978 977 -# define BOOST_PP_DEC_979 978 -# define BOOST_PP_DEC_980 979 -# define BOOST_PP_DEC_981 980 -# define BOOST_PP_DEC_982 981 -# define BOOST_PP_DEC_983 982 -# define BOOST_PP_DEC_984 983 -# define BOOST_PP_DEC_985 984 -# define BOOST_PP_DEC_986 985 -# define BOOST_PP_DEC_987 986 -# define BOOST_PP_DEC_988 987 -# define BOOST_PP_DEC_989 988 -# define BOOST_PP_DEC_990 989 -# define BOOST_PP_DEC_991 990 -# define BOOST_PP_DEC_992 991 -# define BOOST_PP_DEC_993 992 -# define BOOST_PP_DEC_994 993 -# define BOOST_PP_DEC_995 994 -# define BOOST_PP_DEC_996 995 -# define BOOST_PP_DEC_997 996 -# define BOOST_PP_DEC_998 997 -# define BOOST_PP_DEC_999 998 -# define BOOST_PP_DEC_1000 999 -# define BOOST_PP_DEC_1001 1000 -# define BOOST_PP_DEC_1002 1001 -# define BOOST_PP_DEC_1003 1002 -# define BOOST_PP_DEC_1004 1003 -# define BOOST_PP_DEC_1005 1004 -# define BOOST_PP_DEC_1006 1005 -# define BOOST_PP_DEC_1007 1006 -# define BOOST_PP_DEC_1008 1007 -# define BOOST_PP_DEC_1009 1008 -# define BOOST_PP_DEC_1010 1009 -# define BOOST_PP_DEC_1011 1010 -# define BOOST_PP_DEC_1012 1011 -# define BOOST_PP_DEC_1013 1012 -# define BOOST_PP_DEC_1014 1013 -# define BOOST_PP_DEC_1015 1014 -# define BOOST_PP_DEC_1016 1015 -# define BOOST_PP_DEC_1017 1016 -# define BOOST_PP_DEC_1018 1017 -# define BOOST_PP_DEC_1019 1018 -# define BOOST_PP_DEC_1020 1019 -# define BOOST_PP_DEC_1021 1020 -# define BOOST_PP_DEC_1022 1021 -# define BOOST_PP_DEC_1023 1022 -# define BOOST_PP_DEC_1024 1023 -# define BOOST_PP_DEC_1025 1024 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_1024_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_1024_HPP +# +# define BOOST_PP_DEC_514 513 +# define BOOST_PP_DEC_515 514 +# define BOOST_PP_DEC_516 515 +# define BOOST_PP_DEC_517 516 +# define BOOST_PP_DEC_518 517 +# define BOOST_PP_DEC_519 518 +# define BOOST_PP_DEC_520 519 +# define BOOST_PP_DEC_521 520 +# define BOOST_PP_DEC_522 521 +# define BOOST_PP_DEC_523 522 +# define BOOST_PP_DEC_524 523 +# define BOOST_PP_DEC_525 524 +# define BOOST_PP_DEC_526 525 +# define BOOST_PP_DEC_527 526 +# define BOOST_PP_DEC_528 527 +# define BOOST_PP_DEC_529 528 +# define BOOST_PP_DEC_530 529 +# define BOOST_PP_DEC_531 530 +# define BOOST_PP_DEC_532 531 +# define BOOST_PP_DEC_533 532 +# define BOOST_PP_DEC_534 533 +# define BOOST_PP_DEC_535 534 +# define BOOST_PP_DEC_536 535 +# define BOOST_PP_DEC_537 536 +# define BOOST_PP_DEC_538 537 +# define BOOST_PP_DEC_539 538 +# define BOOST_PP_DEC_540 539 +# define BOOST_PP_DEC_541 540 +# define BOOST_PP_DEC_542 541 +# define BOOST_PP_DEC_543 542 +# define BOOST_PP_DEC_544 543 +# define BOOST_PP_DEC_545 544 +# define BOOST_PP_DEC_546 545 +# define BOOST_PP_DEC_547 546 +# define BOOST_PP_DEC_548 547 +# define BOOST_PP_DEC_549 548 +# define BOOST_PP_DEC_550 549 +# define BOOST_PP_DEC_551 550 +# define BOOST_PP_DEC_552 551 +# define BOOST_PP_DEC_553 552 +# define BOOST_PP_DEC_554 553 +# define BOOST_PP_DEC_555 554 +# define BOOST_PP_DEC_556 555 +# define BOOST_PP_DEC_557 556 +# define BOOST_PP_DEC_558 557 +# define BOOST_PP_DEC_559 558 +# define BOOST_PP_DEC_560 559 +# define BOOST_PP_DEC_561 560 +# define BOOST_PP_DEC_562 561 +# define BOOST_PP_DEC_563 562 +# define BOOST_PP_DEC_564 563 +# define BOOST_PP_DEC_565 564 +# define BOOST_PP_DEC_566 565 +# define BOOST_PP_DEC_567 566 +# define BOOST_PP_DEC_568 567 +# define BOOST_PP_DEC_569 568 +# define BOOST_PP_DEC_570 569 +# define BOOST_PP_DEC_571 570 +# define BOOST_PP_DEC_572 571 +# define BOOST_PP_DEC_573 572 +# define BOOST_PP_DEC_574 573 +# define BOOST_PP_DEC_575 574 +# define BOOST_PP_DEC_576 575 +# define BOOST_PP_DEC_577 576 +# define BOOST_PP_DEC_578 577 +# define BOOST_PP_DEC_579 578 +# define BOOST_PP_DEC_580 579 +# define BOOST_PP_DEC_581 580 +# define BOOST_PP_DEC_582 581 +# define BOOST_PP_DEC_583 582 +# define BOOST_PP_DEC_584 583 +# define BOOST_PP_DEC_585 584 +# define BOOST_PP_DEC_586 585 +# define BOOST_PP_DEC_587 586 +# define BOOST_PP_DEC_588 587 +# define BOOST_PP_DEC_589 588 +# define BOOST_PP_DEC_590 589 +# define BOOST_PP_DEC_591 590 +# define BOOST_PP_DEC_592 591 +# define BOOST_PP_DEC_593 592 +# define BOOST_PP_DEC_594 593 +# define BOOST_PP_DEC_595 594 +# define BOOST_PP_DEC_596 595 +# define BOOST_PP_DEC_597 596 +# define BOOST_PP_DEC_598 597 +# define BOOST_PP_DEC_599 598 +# define BOOST_PP_DEC_600 599 +# define BOOST_PP_DEC_601 600 +# define BOOST_PP_DEC_602 601 +# define BOOST_PP_DEC_603 602 +# define BOOST_PP_DEC_604 603 +# define BOOST_PP_DEC_605 604 +# define BOOST_PP_DEC_606 605 +# define BOOST_PP_DEC_607 606 +# define BOOST_PP_DEC_608 607 +# define BOOST_PP_DEC_609 608 +# define BOOST_PP_DEC_610 609 +# define BOOST_PP_DEC_611 610 +# define BOOST_PP_DEC_612 611 +# define BOOST_PP_DEC_613 612 +# define BOOST_PP_DEC_614 613 +# define BOOST_PP_DEC_615 614 +# define BOOST_PP_DEC_616 615 +# define BOOST_PP_DEC_617 616 +# define BOOST_PP_DEC_618 617 +# define BOOST_PP_DEC_619 618 +# define BOOST_PP_DEC_620 619 +# define BOOST_PP_DEC_621 620 +# define BOOST_PP_DEC_622 621 +# define BOOST_PP_DEC_623 622 +# define BOOST_PP_DEC_624 623 +# define BOOST_PP_DEC_625 624 +# define BOOST_PP_DEC_626 625 +# define BOOST_PP_DEC_627 626 +# define BOOST_PP_DEC_628 627 +# define BOOST_PP_DEC_629 628 +# define BOOST_PP_DEC_630 629 +# define BOOST_PP_DEC_631 630 +# define BOOST_PP_DEC_632 631 +# define BOOST_PP_DEC_633 632 +# define BOOST_PP_DEC_634 633 +# define BOOST_PP_DEC_635 634 +# define BOOST_PP_DEC_636 635 +# define BOOST_PP_DEC_637 636 +# define BOOST_PP_DEC_638 637 +# define BOOST_PP_DEC_639 638 +# define BOOST_PP_DEC_640 639 +# define BOOST_PP_DEC_641 640 +# define BOOST_PP_DEC_642 641 +# define BOOST_PP_DEC_643 642 +# define BOOST_PP_DEC_644 643 +# define BOOST_PP_DEC_645 644 +# define BOOST_PP_DEC_646 645 +# define BOOST_PP_DEC_647 646 +# define BOOST_PP_DEC_648 647 +# define BOOST_PP_DEC_649 648 +# define BOOST_PP_DEC_650 649 +# define BOOST_PP_DEC_651 650 +# define BOOST_PP_DEC_652 651 +# define BOOST_PP_DEC_653 652 +# define BOOST_PP_DEC_654 653 +# define BOOST_PP_DEC_655 654 +# define BOOST_PP_DEC_656 655 +# define BOOST_PP_DEC_657 656 +# define BOOST_PP_DEC_658 657 +# define BOOST_PP_DEC_659 658 +# define BOOST_PP_DEC_660 659 +# define BOOST_PP_DEC_661 660 +# define BOOST_PP_DEC_662 661 +# define BOOST_PP_DEC_663 662 +# define BOOST_PP_DEC_664 663 +# define BOOST_PP_DEC_665 664 +# define BOOST_PP_DEC_666 665 +# define BOOST_PP_DEC_667 666 +# define BOOST_PP_DEC_668 667 +# define BOOST_PP_DEC_669 668 +# define BOOST_PP_DEC_670 669 +# define BOOST_PP_DEC_671 670 +# define BOOST_PP_DEC_672 671 +# define BOOST_PP_DEC_673 672 +# define BOOST_PP_DEC_674 673 +# define BOOST_PP_DEC_675 674 +# define BOOST_PP_DEC_676 675 +# define BOOST_PP_DEC_677 676 +# define BOOST_PP_DEC_678 677 +# define BOOST_PP_DEC_679 678 +# define BOOST_PP_DEC_680 679 +# define BOOST_PP_DEC_681 680 +# define BOOST_PP_DEC_682 681 +# define BOOST_PP_DEC_683 682 +# define BOOST_PP_DEC_684 683 +# define BOOST_PP_DEC_685 684 +# define BOOST_PP_DEC_686 685 +# define BOOST_PP_DEC_687 686 +# define BOOST_PP_DEC_688 687 +# define BOOST_PP_DEC_689 688 +# define BOOST_PP_DEC_690 689 +# define BOOST_PP_DEC_691 690 +# define BOOST_PP_DEC_692 691 +# define BOOST_PP_DEC_693 692 +# define BOOST_PP_DEC_694 693 +# define BOOST_PP_DEC_695 694 +# define BOOST_PP_DEC_696 695 +# define BOOST_PP_DEC_697 696 +# define BOOST_PP_DEC_698 697 +# define BOOST_PP_DEC_699 698 +# define BOOST_PP_DEC_700 699 +# define BOOST_PP_DEC_701 700 +# define BOOST_PP_DEC_702 701 +# define BOOST_PP_DEC_703 702 +# define BOOST_PP_DEC_704 703 +# define BOOST_PP_DEC_705 704 +# define BOOST_PP_DEC_706 705 +# define BOOST_PP_DEC_707 706 +# define BOOST_PP_DEC_708 707 +# define BOOST_PP_DEC_709 708 +# define BOOST_PP_DEC_710 709 +# define BOOST_PP_DEC_711 710 +# define BOOST_PP_DEC_712 711 +# define BOOST_PP_DEC_713 712 +# define BOOST_PP_DEC_714 713 +# define BOOST_PP_DEC_715 714 +# define BOOST_PP_DEC_716 715 +# define BOOST_PP_DEC_717 716 +# define BOOST_PP_DEC_718 717 +# define BOOST_PP_DEC_719 718 +# define BOOST_PP_DEC_720 719 +# define BOOST_PP_DEC_721 720 +# define BOOST_PP_DEC_722 721 +# define BOOST_PP_DEC_723 722 +# define BOOST_PP_DEC_724 723 +# define BOOST_PP_DEC_725 724 +# define BOOST_PP_DEC_726 725 +# define BOOST_PP_DEC_727 726 +# define BOOST_PP_DEC_728 727 +# define BOOST_PP_DEC_729 728 +# define BOOST_PP_DEC_730 729 +# define BOOST_PP_DEC_731 730 +# define BOOST_PP_DEC_732 731 +# define BOOST_PP_DEC_733 732 +# define BOOST_PP_DEC_734 733 +# define BOOST_PP_DEC_735 734 +# define BOOST_PP_DEC_736 735 +# define BOOST_PP_DEC_737 736 +# define BOOST_PP_DEC_738 737 +# define BOOST_PP_DEC_739 738 +# define BOOST_PP_DEC_740 739 +# define BOOST_PP_DEC_741 740 +# define BOOST_PP_DEC_742 741 +# define BOOST_PP_DEC_743 742 +# define BOOST_PP_DEC_744 743 +# define BOOST_PP_DEC_745 744 +# define BOOST_PP_DEC_746 745 +# define BOOST_PP_DEC_747 746 +# define BOOST_PP_DEC_748 747 +# define BOOST_PP_DEC_749 748 +# define BOOST_PP_DEC_750 749 +# define BOOST_PP_DEC_751 750 +# define BOOST_PP_DEC_752 751 +# define BOOST_PP_DEC_753 752 +# define BOOST_PP_DEC_754 753 +# define BOOST_PP_DEC_755 754 +# define BOOST_PP_DEC_756 755 +# define BOOST_PP_DEC_757 756 +# define BOOST_PP_DEC_758 757 +# define BOOST_PP_DEC_759 758 +# define BOOST_PP_DEC_760 759 +# define BOOST_PP_DEC_761 760 +# define BOOST_PP_DEC_762 761 +# define BOOST_PP_DEC_763 762 +# define BOOST_PP_DEC_764 763 +# define BOOST_PP_DEC_765 764 +# define BOOST_PP_DEC_766 765 +# define BOOST_PP_DEC_767 766 +# define BOOST_PP_DEC_768 767 +# define BOOST_PP_DEC_769 768 +# define BOOST_PP_DEC_770 769 +# define BOOST_PP_DEC_771 770 +# define BOOST_PP_DEC_772 771 +# define BOOST_PP_DEC_773 772 +# define BOOST_PP_DEC_774 773 +# define BOOST_PP_DEC_775 774 +# define BOOST_PP_DEC_776 775 +# define BOOST_PP_DEC_777 776 +# define BOOST_PP_DEC_778 777 +# define BOOST_PP_DEC_779 778 +# define BOOST_PP_DEC_780 779 +# define BOOST_PP_DEC_781 780 +# define BOOST_PP_DEC_782 781 +# define BOOST_PP_DEC_783 782 +# define BOOST_PP_DEC_784 783 +# define BOOST_PP_DEC_785 784 +# define BOOST_PP_DEC_786 785 +# define BOOST_PP_DEC_787 786 +# define BOOST_PP_DEC_788 787 +# define BOOST_PP_DEC_789 788 +# define BOOST_PP_DEC_790 789 +# define BOOST_PP_DEC_791 790 +# define BOOST_PP_DEC_792 791 +# define BOOST_PP_DEC_793 792 +# define BOOST_PP_DEC_794 793 +# define BOOST_PP_DEC_795 794 +# define BOOST_PP_DEC_796 795 +# define BOOST_PP_DEC_797 796 +# define BOOST_PP_DEC_798 797 +# define BOOST_PP_DEC_799 798 +# define BOOST_PP_DEC_800 799 +# define BOOST_PP_DEC_801 800 +# define BOOST_PP_DEC_802 801 +# define BOOST_PP_DEC_803 802 +# define BOOST_PP_DEC_804 803 +# define BOOST_PP_DEC_805 804 +# define BOOST_PP_DEC_806 805 +# define BOOST_PP_DEC_807 806 +# define BOOST_PP_DEC_808 807 +# define BOOST_PP_DEC_809 808 +# define BOOST_PP_DEC_810 809 +# define BOOST_PP_DEC_811 810 +# define BOOST_PP_DEC_812 811 +# define BOOST_PP_DEC_813 812 +# define BOOST_PP_DEC_814 813 +# define BOOST_PP_DEC_815 814 +# define BOOST_PP_DEC_816 815 +# define BOOST_PP_DEC_817 816 +# define BOOST_PP_DEC_818 817 +# define BOOST_PP_DEC_819 818 +# define BOOST_PP_DEC_820 819 +# define BOOST_PP_DEC_821 820 +# define BOOST_PP_DEC_822 821 +# define BOOST_PP_DEC_823 822 +# define BOOST_PP_DEC_824 823 +# define BOOST_PP_DEC_825 824 +# define BOOST_PP_DEC_826 825 +# define BOOST_PP_DEC_827 826 +# define BOOST_PP_DEC_828 827 +# define BOOST_PP_DEC_829 828 +# define BOOST_PP_DEC_830 829 +# define BOOST_PP_DEC_831 830 +# define BOOST_PP_DEC_832 831 +# define BOOST_PP_DEC_833 832 +# define BOOST_PP_DEC_834 833 +# define BOOST_PP_DEC_835 834 +# define BOOST_PP_DEC_836 835 +# define BOOST_PP_DEC_837 836 +# define BOOST_PP_DEC_838 837 +# define BOOST_PP_DEC_839 838 +# define BOOST_PP_DEC_840 839 +# define BOOST_PP_DEC_841 840 +# define BOOST_PP_DEC_842 841 +# define BOOST_PP_DEC_843 842 +# define BOOST_PP_DEC_844 843 +# define BOOST_PP_DEC_845 844 +# define BOOST_PP_DEC_846 845 +# define BOOST_PP_DEC_847 846 +# define BOOST_PP_DEC_848 847 +# define BOOST_PP_DEC_849 848 +# define BOOST_PP_DEC_850 849 +# define BOOST_PP_DEC_851 850 +# define BOOST_PP_DEC_852 851 +# define BOOST_PP_DEC_853 852 +# define BOOST_PP_DEC_854 853 +# define BOOST_PP_DEC_855 854 +# define BOOST_PP_DEC_856 855 +# define BOOST_PP_DEC_857 856 +# define BOOST_PP_DEC_858 857 +# define BOOST_PP_DEC_859 858 +# define BOOST_PP_DEC_860 859 +# define BOOST_PP_DEC_861 860 +# define BOOST_PP_DEC_862 861 +# define BOOST_PP_DEC_863 862 +# define BOOST_PP_DEC_864 863 +# define BOOST_PP_DEC_865 864 +# define BOOST_PP_DEC_866 865 +# define BOOST_PP_DEC_867 866 +# define BOOST_PP_DEC_868 867 +# define BOOST_PP_DEC_869 868 +# define BOOST_PP_DEC_870 869 +# define BOOST_PP_DEC_871 870 +# define BOOST_PP_DEC_872 871 +# define BOOST_PP_DEC_873 872 +# define BOOST_PP_DEC_874 873 +# define BOOST_PP_DEC_875 874 +# define BOOST_PP_DEC_876 875 +# define BOOST_PP_DEC_877 876 +# define BOOST_PP_DEC_878 877 +# define BOOST_PP_DEC_879 878 +# define BOOST_PP_DEC_880 879 +# define BOOST_PP_DEC_881 880 +# define BOOST_PP_DEC_882 881 +# define BOOST_PP_DEC_883 882 +# define BOOST_PP_DEC_884 883 +# define BOOST_PP_DEC_885 884 +# define BOOST_PP_DEC_886 885 +# define BOOST_PP_DEC_887 886 +# define BOOST_PP_DEC_888 887 +# define BOOST_PP_DEC_889 888 +# define BOOST_PP_DEC_890 889 +# define BOOST_PP_DEC_891 890 +# define BOOST_PP_DEC_892 891 +# define BOOST_PP_DEC_893 892 +# define BOOST_PP_DEC_894 893 +# define BOOST_PP_DEC_895 894 +# define BOOST_PP_DEC_896 895 +# define BOOST_PP_DEC_897 896 +# define BOOST_PP_DEC_898 897 +# define BOOST_PP_DEC_899 898 +# define BOOST_PP_DEC_900 899 +# define BOOST_PP_DEC_901 900 +# define BOOST_PP_DEC_902 901 +# define BOOST_PP_DEC_903 902 +# define BOOST_PP_DEC_904 903 +# define BOOST_PP_DEC_905 904 +# define BOOST_PP_DEC_906 905 +# define BOOST_PP_DEC_907 906 +# define BOOST_PP_DEC_908 907 +# define BOOST_PP_DEC_909 908 +# define BOOST_PP_DEC_910 909 +# define BOOST_PP_DEC_911 910 +# define BOOST_PP_DEC_912 911 +# define BOOST_PP_DEC_913 912 +# define BOOST_PP_DEC_914 913 +# define BOOST_PP_DEC_915 914 +# define BOOST_PP_DEC_916 915 +# define BOOST_PP_DEC_917 916 +# define BOOST_PP_DEC_918 917 +# define BOOST_PP_DEC_919 918 +# define BOOST_PP_DEC_920 919 +# define BOOST_PP_DEC_921 920 +# define BOOST_PP_DEC_922 921 +# define BOOST_PP_DEC_923 922 +# define BOOST_PP_DEC_924 923 +# define BOOST_PP_DEC_925 924 +# define BOOST_PP_DEC_926 925 +# define BOOST_PP_DEC_927 926 +# define BOOST_PP_DEC_928 927 +# define BOOST_PP_DEC_929 928 +# define BOOST_PP_DEC_930 929 +# define BOOST_PP_DEC_931 930 +# define BOOST_PP_DEC_932 931 +# define BOOST_PP_DEC_933 932 +# define BOOST_PP_DEC_934 933 +# define BOOST_PP_DEC_935 934 +# define BOOST_PP_DEC_936 935 +# define BOOST_PP_DEC_937 936 +# define BOOST_PP_DEC_938 937 +# define BOOST_PP_DEC_939 938 +# define BOOST_PP_DEC_940 939 +# define BOOST_PP_DEC_941 940 +# define BOOST_PP_DEC_942 941 +# define BOOST_PP_DEC_943 942 +# define BOOST_PP_DEC_944 943 +# define BOOST_PP_DEC_945 944 +# define BOOST_PP_DEC_946 945 +# define BOOST_PP_DEC_947 946 +# define BOOST_PP_DEC_948 947 +# define BOOST_PP_DEC_949 948 +# define BOOST_PP_DEC_950 949 +# define BOOST_PP_DEC_951 950 +# define BOOST_PP_DEC_952 951 +# define BOOST_PP_DEC_953 952 +# define BOOST_PP_DEC_954 953 +# define BOOST_PP_DEC_955 954 +# define BOOST_PP_DEC_956 955 +# define BOOST_PP_DEC_957 956 +# define BOOST_PP_DEC_958 957 +# define BOOST_PP_DEC_959 958 +# define BOOST_PP_DEC_960 959 +# define BOOST_PP_DEC_961 960 +# define BOOST_PP_DEC_962 961 +# define BOOST_PP_DEC_963 962 +# define BOOST_PP_DEC_964 963 +# define BOOST_PP_DEC_965 964 +# define BOOST_PP_DEC_966 965 +# define BOOST_PP_DEC_967 966 +# define BOOST_PP_DEC_968 967 +# define BOOST_PP_DEC_969 968 +# define BOOST_PP_DEC_970 969 +# define BOOST_PP_DEC_971 970 +# define BOOST_PP_DEC_972 971 +# define BOOST_PP_DEC_973 972 +# define BOOST_PP_DEC_974 973 +# define BOOST_PP_DEC_975 974 +# define BOOST_PP_DEC_976 975 +# define BOOST_PP_DEC_977 976 +# define BOOST_PP_DEC_978 977 +# define BOOST_PP_DEC_979 978 +# define BOOST_PP_DEC_980 979 +# define BOOST_PP_DEC_981 980 +# define BOOST_PP_DEC_982 981 +# define BOOST_PP_DEC_983 982 +# define BOOST_PP_DEC_984 983 +# define BOOST_PP_DEC_985 984 +# define BOOST_PP_DEC_986 985 +# define BOOST_PP_DEC_987 986 +# define BOOST_PP_DEC_988 987 +# define BOOST_PP_DEC_989 988 +# define BOOST_PP_DEC_990 989 +# define BOOST_PP_DEC_991 990 +# define BOOST_PP_DEC_992 991 +# define BOOST_PP_DEC_993 992 +# define BOOST_PP_DEC_994 993 +# define BOOST_PP_DEC_995 994 +# define BOOST_PP_DEC_996 995 +# define BOOST_PP_DEC_997 996 +# define BOOST_PP_DEC_998 997 +# define BOOST_PP_DEC_999 998 +# define BOOST_PP_DEC_1000 999 +# define BOOST_PP_DEC_1001 1000 +# define BOOST_PP_DEC_1002 1001 +# define BOOST_PP_DEC_1003 1002 +# define BOOST_PP_DEC_1004 1003 +# define BOOST_PP_DEC_1005 1004 +# define BOOST_PP_DEC_1006 1005 +# define BOOST_PP_DEC_1007 1006 +# define BOOST_PP_DEC_1008 1007 +# define BOOST_PP_DEC_1009 1008 +# define BOOST_PP_DEC_1010 1009 +# define BOOST_PP_DEC_1011 1010 +# define BOOST_PP_DEC_1012 1011 +# define BOOST_PP_DEC_1013 1012 +# define BOOST_PP_DEC_1014 1013 +# define BOOST_PP_DEC_1015 1014 +# define BOOST_PP_DEC_1016 1015 +# define BOOST_PP_DEC_1017 1016 +# define BOOST_PP_DEC_1018 1017 +# define BOOST_PP_DEC_1019 1018 +# define BOOST_PP_DEC_1020 1019 +# define BOOST_PP_DEC_1021 1020 +# define BOOST_PP_DEC_1022 1021 +# define BOOST_PP_DEC_1023 1022 +# define BOOST_PP_DEC_1024 1023 +# define BOOST_PP_DEC_1025 1024 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_256.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_256.hpp index d09c23d587..063462283d 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_256.hpp @@ -1,276 +1,276 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_256_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_256_HPP -# -# define BOOST_PP_DEC_0 0 -# define BOOST_PP_DEC_1 0 -# define BOOST_PP_DEC_2 1 -# define BOOST_PP_DEC_3 2 -# define BOOST_PP_DEC_4 3 -# define BOOST_PP_DEC_5 4 -# define BOOST_PP_DEC_6 5 -# define BOOST_PP_DEC_7 6 -# define BOOST_PP_DEC_8 7 -# define BOOST_PP_DEC_9 8 -# define BOOST_PP_DEC_10 9 -# define BOOST_PP_DEC_11 10 -# define BOOST_PP_DEC_12 11 -# define BOOST_PP_DEC_13 12 -# define BOOST_PP_DEC_14 13 -# define BOOST_PP_DEC_15 14 -# define BOOST_PP_DEC_16 15 -# define BOOST_PP_DEC_17 16 -# define BOOST_PP_DEC_18 17 -# define BOOST_PP_DEC_19 18 -# define BOOST_PP_DEC_20 19 -# define BOOST_PP_DEC_21 20 -# define BOOST_PP_DEC_22 21 -# define BOOST_PP_DEC_23 22 -# define BOOST_PP_DEC_24 23 -# define BOOST_PP_DEC_25 24 -# define BOOST_PP_DEC_26 25 -# define BOOST_PP_DEC_27 26 -# define BOOST_PP_DEC_28 27 -# define BOOST_PP_DEC_29 28 -# define BOOST_PP_DEC_30 29 -# define BOOST_PP_DEC_31 30 -# define BOOST_PP_DEC_32 31 -# define BOOST_PP_DEC_33 32 -# define BOOST_PP_DEC_34 33 -# define BOOST_PP_DEC_35 34 -# define BOOST_PP_DEC_36 35 -# define BOOST_PP_DEC_37 36 -# define BOOST_PP_DEC_38 37 -# define BOOST_PP_DEC_39 38 -# define BOOST_PP_DEC_40 39 -# define BOOST_PP_DEC_41 40 -# define BOOST_PP_DEC_42 41 -# define BOOST_PP_DEC_43 42 -# define BOOST_PP_DEC_44 43 -# define BOOST_PP_DEC_45 44 -# define BOOST_PP_DEC_46 45 -# define BOOST_PP_DEC_47 46 -# define BOOST_PP_DEC_48 47 -# define BOOST_PP_DEC_49 48 -# define BOOST_PP_DEC_50 49 -# define BOOST_PP_DEC_51 50 -# define BOOST_PP_DEC_52 51 -# define BOOST_PP_DEC_53 52 -# define BOOST_PP_DEC_54 53 -# define BOOST_PP_DEC_55 54 -# define BOOST_PP_DEC_56 55 -# define BOOST_PP_DEC_57 56 -# define BOOST_PP_DEC_58 57 -# define BOOST_PP_DEC_59 58 -# define BOOST_PP_DEC_60 59 -# define BOOST_PP_DEC_61 60 -# define BOOST_PP_DEC_62 61 -# define BOOST_PP_DEC_63 62 -# define BOOST_PP_DEC_64 63 -# define BOOST_PP_DEC_65 64 -# define BOOST_PP_DEC_66 65 -# define BOOST_PP_DEC_67 66 -# define BOOST_PP_DEC_68 67 -# define BOOST_PP_DEC_69 68 -# define BOOST_PP_DEC_70 69 -# define BOOST_PP_DEC_71 70 -# define BOOST_PP_DEC_72 71 -# define BOOST_PP_DEC_73 72 -# define BOOST_PP_DEC_74 73 -# define BOOST_PP_DEC_75 74 -# define BOOST_PP_DEC_76 75 -# define BOOST_PP_DEC_77 76 -# define BOOST_PP_DEC_78 77 -# define BOOST_PP_DEC_79 78 -# define BOOST_PP_DEC_80 79 -# define BOOST_PP_DEC_81 80 -# define BOOST_PP_DEC_82 81 -# define BOOST_PP_DEC_83 82 -# define BOOST_PP_DEC_84 83 -# define BOOST_PP_DEC_85 84 -# define BOOST_PP_DEC_86 85 -# define BOOST_PP_DEC_87 86 -# define BOOST_PP_DEC_88 87 -# define BOOST_PP_DEC_89 88 -# define BOOST_PP_DEC_90 89 -# define BOOST_PP_DEC_91 90 -# define BOOST_PP_DEC_92 91 -# define BOOST_PP_DEC_93 92 -# define BOOST_PP_DEC_94 93 -# define BOOST_PP_DEC_95 94 -# define BOOST_PP_DEC_96 95 -# define BOOST_PP_DEC_97 96 -# define BOOST_PP_DEC_98 97 -# define BOOST_PP_DEC_99 98 -# define BOOST_PP_DEC_100 99 -# define BOOST_PP_DEC_101 100 -# define BOOST_PP_DEC_102 101 -# define BOOST_PP_DEC_103 102 -# define BOOST_PP_DEC_104 103 -# define BOOST_PP_DEC_105 104 -# define BOOST_PP_DEC_106 105 -# define BOOST_PP_DEC_107 106 -# define BOOST_PP_DEC_108 107 -# define BOOST_PP_DEC_109 108 -# define BOOST_PP_DEC_110 109 -# define BOOST_PP_DEC_111 110 -# define BOOST_PP_DEC_112 111 -# define BOOST_PP_DEC_113 112 -# define BOOST_PP_DEC_114 113 -# define BOOST_PP_DEC_115 114 -# define BOOST_PP_DEC_116 115 -# define BOOST_PP_DEC_117 116 -# define BOOST_PP_DEC_118 117 -# define BOOST_PP_DEC_119 118 -# define BOOST_PP_DEC_120 119 -# define BOOST_PP_DEC_121 120 -# define BOOST_PP_DEC_122 121 -# define BOOST_PP_DEC_123 122 -# define BOOST_PP_DEC_124 123 -# define BOOST_PP_DEC_125 124 -# define BOOST_PP_DEC_126 125 -# define BOOST_PP_DEC_127 126 -# define BOOST_PP_DEC_128 127 -# define BOOST_PP_DEC_129 128 -# define BOOST_PP_DEC_130 129 -# define BOOST_PP_DEC_131 130 -# define BOOST_PP_DEC_132 131 -# define BOOST_PP_DEC_133 132 -# define BOOST_PP_DEC_134 133 -# define BOOST_PP_DEC_135 134 -# define BOOST_PP_DEC_136 135 -# define BOOST_PP_DEC_137 136 -# define BOOST_PP_DEC_138 137 -# define BOOST_PP_DEC_139 138 -# define BOOST_PP_DEC_140 139 -# define BOOST_PP_DEC_141 140 -# define BOOST_PP_DEC_142 141 -# define BOOST_PP_DEC_143 142 -# define BOOST_PP_DEC_144 143 -# define BOOST_PP_DEC_145 144 -# define BOOST_PP_DEC_146 145 -# define BOOST_PP_DEC_147 146 -# define BOOST_PP_DEC_148 147 -# define BOOST_PP_DEC_149 148 -# define BOOST_PP_DEC_150 149 -# define BOOST_PP_DEC_151 150 -# define BOOST_PP_DEC_152 151 -# define BOOST_PP_DEC_153 152 -# define BOOST_PP_DEC_154 153 -# define BOOST_PP_DEC_155 154 -# define BOOST_PP_DEC_156 155 -# define BOOST_PP_DEC_157 156 -# define BOOST_PP_DEC_158 157 -# define BOOST_PP_DEC_159 158 -# define BOOST_PP_DEC_160 159 -# define BOOST_PP_DEC_161 160 -# define BOOST_PP_DEC_162 161 -# define BOOST_PP_DEC_163 162 -# define BOOST_PP_DEC_164 163 -# define BOOST_PP_DEC_165 164 -# define BOOST_PP_DEC_166 165 -# define BOOST_PP_DEC_167 166 -# define BOOST_PP_DEC_168 167 -# define BOOST_PP_DEC_169 168 -# define BOOST_PP_DEC_170 169 -# define BOOST_PP_DEC_171 170 -# define BOOST_PP_DEC_172 171 -# define BOOST_PP_DEC_173 172 -# define BOOST_PP_DEC_174 173 -# define BOOST_PP_DEC_175 174 -# define BOOST_PP_DEC_176 175 -# define BOOST_PP_DEC_177 176 -# define BOOST_PP_DEC_178 177 -# define BOOST_PP_DEC_179 178 -# define BOOST_PP_DEC_180 179 -# define BOOST_PP_DEC_181 180 -# define BOOST_PP_DEC_182 181 -# define BOOST_PP_DEC_183 182 -# define BOOST_PP_DEC_184 183 -# define BOOST_PP_DEC_185 184 -# define BOOST_PP_DEC_186 185 -# define BOOST_PP_DEC_187 186 -# define BOOST_PP_DEC_188 187 -# define BOOST_PP_DEC_189 188 -# define BOOST_PP_DEC_190 189 -# define BOOST_PP_DEC_191 190 -# define BOOST_PP_DEC_192 191 -# define BOOST_PP_DEC_193 192 -# define BOOST_PP_DEC_194 193 -# define BOOST_PP_DEC_195 194 -# define BOOST_PP_DEC_196 195 -# define BOOST_PP_DEC_197 196 -# define BOOST_PP_DEC_198 197 -# define BOOST_PP_DEC_199 198 -# define BOOST_PP_DEC_200 199 -# define BOOST_PP_DEC_201 200 -# define BOOST_PP_DEC_202 201 -# define BOOST_PP_DEC_203 202 -# define BOOST_PP_DEC_204 203 -# define BOOST_PP_DEC_205 204 -# define BOOST_PP_DEC_206 205 -# define BOOST_PP_DEC_207 206 -# define BOOST_PP_DEC_208 207 -# define BOOST_PP_DEC_209 208 -# define BOOST_PP_DEC_210 209 -# define BOOST_PP_DEC_211 210 -# define BOOST_PP_DEC_212 211 -# define BOOST_PP_DEC_213 212 -# define BOOST_PP_DEC_214 213 -# define BOOST_PP_DEC_215 214 -# define BOOST_PP_DEC_216 215 -# define BOOST_PP_DEC_217 216 -# define BOOST_PP_DEC_218 217 -# define BOOST_PP_DEC_219 218 -# define BOOST_PP_DEC_220 219 -# define BOOST_PP_DEC_221 220 -# define BOOST_PP_DEC_222 221 -# define BOOST_PP_DEC_223 222 -# define BOOST_PP_DEC_224 223 -# define BOOST_PP_DEC_225 224 -# define BOOST_PP_DEC_226 225 -# define BOOST_PP_DEC_227 226 -# define BOOST_PP_DEC_228 227 -# define BOOST_PP_DEC_229 228 -# define BOOST_PP_DEC_230 229 -# define BOOST_PP_DEC_231 230 -# define BOOST_PP_DEC_232 231 -# define BOOST_PP_DEC_233 232 -# define BOOST_PP_DEC_234 233 -# define BOOST_PP_DEC_235 234 -# define BOOST_PP_DEC_236 235 -# define BOOST_PP_DEC_237 236 -# define BOOST_PP_DEC_238 237 -# define BOOST_PP_DEC_239 238 -# define BOOST_PP_DEC_240 239 -# define BOOST_PP_DEC_241 240 -# define BOOST_PP_DEC_242 241 -# define BOOST_PP_DEC_243 242 -# define BOOST_PP_DEC_244 243 -# define BOOST_PP_DEC_245 244 -# define BOOST_PP_DEC_246 245 -# define BOOST_PP_DEC_247 246 -# define BOOST_PP_DEC_248 247 -# define BOOST_PP_DEC_249 248 -# define BOOST_PP_DEC_250 249 -# define BOOST_PP_DEC_251 250 -# define BOOST_PP_DEC_252 251 -# define BOOST_PP_DEC_253 252 -# define BOOST_PP_DEC_254 253 -# define BOOST_PP_DEC_255 254 -# define BOOST_PP_DEC_256 255 -# define BOOST_PP_DEC_257 256 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_256_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_256_HPP +# +# define BOOST_PP_DEC_0 0 +# define BOOST_PP_DEC_1 0 +# define BOOST_PP_DEC_2 1 +# define BOOST_PP_DEC_3 2 +# define BOOST_PP_DEC_4 3 +# define BOOST_PP_DEC_5 4 +# define BOOST_PP_DEC_6 5 +# define BOOST_PP_DEC_7 6 +# define BOOST_PP_DEC_8 7 +# define BOOST_PP_DEC_9 8 +# define BOOST_PP_DEC_10 9 +# define BOOST_PP_DEC_11 10 +# define BOOST_PP_DEC_12 11 +# define BOOST_PP_DEC_13 12 +# define BOOST_PP_DEC_14 13 +# define BOOST_PP_DEC_15 14 +# define BOOST_PP_DEC_16 15 +# define BOOST_PP_DEC_17 16 +# define BOOST_PP_DEC_18 17 +# define BOOST_PP_DEC_19 18 +# define BOOST_PP_DEC_20 19 +# define BOOST_PP_DEC_21 20 +# define BOOST_PP_DEC_22 21 +# define BOOST_PP_DEC_23 22 +# define BOOST_PP_DEC_24 23 +# define BOOST_PP_DEC_25 24 +# define BOOST_PP_DEC_26 25 +# define BOOST_PP_DEC_27 26 +# define BOOST_PP_DEC_28 27 +# define BOOST_PP_DEC_29 28 +# define BOOST_PP_DEC_30 29 +# define BOOST_PP_DEC_31 30 +# define BOOST_PP_DEC_32 31 +# define BOOST_PP_DEC_33 32 +# define BOOST_PP_DEC_34 33 +# define BOOST_PP_DEC_35 34 +# define BOOST_PP_DEC_36 35 +# define BOOST_PP_DEC_37 36 +# define BOOST_PP_DEC_38 37 +# define BOOST_PP_DEC_39 38 +# define BOOST_PP_DEC_40 39 +# define BOOST_PP_DEC_41 40 +# define BOOST_PP_DEC_42 41 +# define BOOST_PP_DEC_43 42 +# define BOOST_PP_DEC_44 43 +# define BOOST_PP_DEC_45 44 +# define BOOST_PP_DEC_46 45 +# define BOOST_PP_DEC_47 46 +# define BOOST_PP_DEC_48 47 +# define BOOST_PP_DEC_49 48 +# define BOOST_PP_DEC_50 49 +# define BOOST_PP_DEC_51 50 +# define BOOST_PP_DEC_52 51 +# define BOOST_PP_DEC_53 52 +# define BOOST_PP_DEC_54 53 +# define BOOST_PP_DEC_55 54 +# define BOOST_PP_DEC_56 55 +# define BOOST_PP_DEC_57 56 +# define BOOST_PP_DEC_58 57 +# define BOOST_PP_DEC_59 58 +# define BOOST_PP_DEC_60 59 +# define BOOST_PP_DEC_61 60 +# define BOOST_PP_DEC_62 61 +# define BOOST_PP_DEC_63 62 +# define BOOST_PP_DEC_64 63 +# define BOOST_PP_DEC_65 64 +# define BOOST_PP_DEC_66 65 +# define BOOST_PP_DEC_67 66 +# define BOOST_PP_DEC_68 67 +# define BOOST_PP_DEC_69 68 +# define BOOST_PP_DEC_70 69 +# define BOOST_PP_DEC_71 70 +# define BOOST_PP_DEC_72 71 +# define BOOST_PP_DEC_73 72 +# define BOOST_PP_DEC_74 73 +# define BOOST_PP_DEC_75 74 +# define BOOST_PP_DEC_76 75 +# define BOOST_PP_DEC_77 76 +# define BOOST_PP_DEC_78 77 +# define BOOST_PP_DEC_79 78 +# define BOOST_PP_DEC_80 79 +# define BOOST_PP_DEC_81 80 +# define BOOST_PP_DEC_82 81 +# define BOOST_PP_DEC_83 82 +# define BOOST_PP_DEC_84 83 +# define BOOST_PP_DEC_85 84 +# define BOOST_PP_DEC_86 85 +# define BOOST_PP_DEC_87 86 +# define BOOST_PP_DEC_88 87 +# define BOOST_PP_DEC_89 88 +# define BOOST_PP_DEC_90 89 +# define BOOST_PP_DEC_91 90 +# define BOOST_PP_DEC_92 91 +# define BOOST_PP_DEC_93 92 +# define BOOST_PP_DEC_94 93 +# define BOOST_PP_DEC_95 94 +# define BOOST_PP_DEC_96 95 +# define BOOST_PP_DEC_97 96 +# define BOOST_PP_DEC_98 97 +# define BOOST_PP_DEC_99 98 +# define BOOST_PP_DEC_100 99 +# define BOOST_PP_DEC_101 100 +# define BOOST_PP_DEC_102 101 +# define BOOST_PP_DEC_103 102 +# define BOOST_PP_DEC_104 103 +# define BOOST_PP_DEC_105 104 +# define BOOST_PP_DEC_106 105 +# define BOOST_PP_DEC_107 106 +# define BOOST_PP_DEC_108 107 +# define BOOST_PP_DEC_109 108 +# define BOOST_PP_DEC_110 109 +# define BOOST_PP_DEC_111 110 +# define BOOST_PP_DEC_112 111 +# define BOOST_PP_DEC_113 112 +# define BOOST_PP_DEC_114 113 +# define BOOST_PP_DEC_115 114 +# define BOOST_PP_DEC_116 115 +# define BOOST_PP_DEC_117 116 +# define BOOST_PP_DEC_118 117 +# define BOOST_PP_DEC_119 118 +# define BOOST_PP_DEC_120 119 +# define BOOST_PP_DEC_121 120 +# define BOOST_PP_DEC_122 121 +# define BOOST_PP_DEC_123 122 +# define BOOST_PP_DEC_124 123 +# define BOOST_PP_DEC_125 124 +# define BOOST_PP_DEC_126 125 +# define BOOST_PP_DEC_127 126 +# define BOOST_PP_DEC_128 127 +# define BOOST_PP_DEC_129 128 +# define BOOST_PP_DEC_130 129 +# define BOOST_PP_DEC_131 130 +# define BOOST_PP_DEC_132 131 +# define BOOST_PP_DEC_133 132 +# define BOOST_PP_DEC_134 133 +# define BOOST_PP_DEC_135 134 +# define BOOST_PP_DEC_136 135 +# define BOOST_PP_DEC_137 136 +# define BOOST_PP_DEC_138 137 +# define BOOST_PP_DEC_139 138 +# define BOOST_PP_DEC_140 139 +# define BOOST_PP_DEC_141 140 +# define BOOST_PP_DEC_142 141 +# define BOOST_PP_DEC_143 142 +# define BOOST_PP_DEC_144 143 +# define BOOST_PP_DEC_145 144 +# define BOOST_PP_DEC_146 145 +# define BOOST_PP_DEC_147 146 +# define BOOST_PP_DEC_148 147 +# define BOOST_PP_DEC_149 148 +# define BOOST_PP_DEC_150 149 +# define BOOST_PP_DEC_151 150 +# define BOOST_PP_DEC_152 151 +# define BOOST_PP_DEC_153 152 +# define BOOST_PP_DEC_154 153 +# define BOOST_PP_DEC_155 154 +# define BOOST_PP_DEC_156 155 +# define BOOST_PP_DEC_157 156 +# define BOOST_PP_DEC_158 157 +# define BOOST_PP_DEC_159 158 +# define BOOST_PP_DEC_160 159 +# define BOOST_PP_DEC_161 160 +# define BOOST_PP_DEC_162 161 +# define BOOST_PP_DEC_163 162 +# define BOOST_PP_DEC_164 163 +# define BOOST_PP_DEC_165 164 +# define BOOST_PP_DEC_166 165 +# define BOOST_PP_DEC_167 166 +# define BOOST_PP_DEC_168 167 +# define BOOST_PP_DEC_169 168 +# define BOOST_PP_DEC_170 169 +# define BOOST_PP_DEC_171 170 +# define BOOST_PP_DEC_172 171 +# define BOOST_PP_DEC_173 172 +# define BOOST_PP_DEC_174 173 +# define BOOST_PP_DEC_175 174 +# define BOOST_PP_DEC_176 175 +# define BOOST_PP_DEC_177 176 +# define BOOST_PP_DEC_178 177 +# define BOOST_PP_DEC_179 178 +# define BOOST_PP_DEC_180 179 +# define BOOST_PP_DEC_181 180 +# define BOOST_PP_DEC_182 181 +# define BOOST_PP_DEC_183 182 +# define BOOST_PP_DEC_184 183 +# define BOOST_PP_DEC_185 184 +# define BOOST_PP_DEC_186 185 +# define BOOST_PP_DEC_187 186 +# define BOOST_PP_DEC_188 187 +# define BOOST_PP_DEC_189 188 +# define BOOST_PP_DEC_190 189 +# define BOOST_PP_DEC_191 190 +# define BOOST_PP_DEC_192 191 +# define BOOST_PP_DEC_193 192 +# define BOOST_PP_DEC_194 193 +# define BOOST_PP_DEC_195 194 +# define BOOST_PP_DEC_196 195 +# define BOOST_PP_DEC_197 196 +# define BOOST_PP_DEC_198 197 +# define BOOST_PP_DEC_199 198 +# define BOOST_PP_DEC_200 199 +# define BOOST_PP_DEC_201 200 +# define BOOST_PP_DEC_202 201 +# define BOOST_PP_DEC_203 202 +# define BOOST_PP_DEC_204 203 +# define BOOST_PP_DEC_205 204 +# define BOOST_PP_DEC_206 205 +# define BOOST_PP_DEC_207 206 +# define BOOST_PP_DEC_208 207 +# define BOOST_PP_DEC_209 208 +# define BOOST_PP_DEC_210 209 +# define BOOST_PP_DEC_211 210 +# define BOOST_PP_DEC_212 211 +# define BOOST_PP_DEC_213 212 +# define BOOST_PP_DEC_214 213 +# define BOOST_PP_DEC_215 214 +# define BOOST_PP_DEC_216 215 +# define BOOST_PP_DEC_217 216 +# define BOOST_PP_DEC_218 217 +# define BOOST_PP_DEC_219 218 +# define BOOST_PP_DEC_220 219 +# define BOOST_PP_DEC_221 220 +# define BOOST_PP_DEC_222 221 +# define BOOST_PP_DEC_223 222 +# define BOOST_PP_DEC_224 223 +# define BOOST_PP_DEC_225 224 +# define BOOST_PP_DEC_226 225 +# define BOOST_PP_DEC_227 226 +# define BOOST_PP_DEC_228 227 +# define BOOST_PP_DEC_229 228 +# define BOOST_PP_DEC_230 229 +# define BOOST_PP_DEC_231 230 +# define BOOST_PP_DEC_232 231 +# define BOOST_PP_DEC_233 232 +# define BOOST_PP_DEC_234 233 +# define BOOST_PP_DEC_235 234 +# define BOOST_PP_DEC_236 235 +# define BOOST_PP_DEC_237 236 +# define BOOST_PP_DEC_238 237 +# define BOOST_PP_DEC_239 238 +# define BOOST_PP_DEC_240 239 +# define BOOST_PP_DEC_241 240 +# define BOOST_PP_DEC_242 241 +# define BOOST_PP_DEC_243 242 +# define BOOST_PP_DEC_244 243 +# define BOOST_PP_DEC_245 244 +# define BOOST_PP_DEC_246 245 +# define BOOST_PP_DEC_247 246 +# define BOOST_PP_DEC_248 247 +# define BOOST_PP_DEC_249 248 +# define BOOST_PP_DEC_250 249 +# define BOOST_PP_DEC_251 250 +# define BOOST_PP_DEC_252 251 +# define BOOST_PP_DEC_253 252 +# define BOOST_PP_DEC_254 253 +# define BOOST_PP_DEC_255 254 +# define BOOST_PP_DEC_256 255 +# define BOOST_PP_DEC_257 256 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_512.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_512.hpp index d018f20571..6c8ef155f9 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/dec_512.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/dec_512.hpp @@ -1,275 +1,275 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_512_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_512_HPP -# -# define BOOST_PP_DEC_258 257 -# define BOOST_PP_DEC_259 258 -# define BOOST_PP_DEC_260 259 -# define BOOST_PP_DEC_261 260 -# define BOOST_PP_DEC_262 261 -# define BOOST_PP_DEC_263 262 -# define BOOST_PP_DEC_264 263 -# define BOOST_PP_DEC_265 264 -# define BOOST_PP_DEC_266 265 -# define BOOST_PP_DEC_267 266 -# define BOOST_PP_DEC_268 267 -# define BOOST_PP_DEC_269 268 -# define BOOST_PP_DEC_270 269 -# define BOOST_PP_DEC_271 270 -# define BOOST_PP_DEC_272 271 -# define BOOST_PP_DEC_273 272 -# define BOOST_PP_DEC_274 273 -# define BOOST_PP_DEC_275 274 -# define BOOST_PP_DEC_276 275 -# define BOOST_PP_DEC_277 276 -# define BOOST_PP_DEC_278 277 -# define BOOST_PP_DEC_279 278 -# define BOOST_PP_DEC_280 279 -# define BOOST_PP_DEC_281 280 -# define BOOST_PP_DEC_282 281 -# define BOOST_PP_DEC_283 282 -# define BOOST_PP_DEC_284 283 -# define BOOST_PP_DEC_285 284 -# define BOOST_PP_DEC_286 285 -# define BOOST_PP_DEC_287 286 -# define BOOST_PP_DEC_288 287 -# define BOOST_PP_DEC_289 288 -# define BOOST_PP_DEC_290 289 -# define BOOST_PP_DEC_291 290 -# define BOOST_PP_DEC_292 291 -# define BOOST_PP_DEC_293 292 -# define BOOST_PP_DEC_294 293 -# define BOOST_PP_DEC_295 294 -# define BOOST_PP_DEC_296 295 -# define BOOST_PP_DEC_297 296 -# define BOOST_PP_DEC_298 297 -# define BOOST_PP_DEC_299 298 -# define BOOST_PP_DEC_300 299 -# define BOOST_PP_DEC_301 300 -# define BOOST_PP_DEC_302 301 -# define BOOST_PP_DEC_303 302 -# define BOOST_PP_DEC_304 303 -# define BOOST_PP_DEC_305 304 -# define BOOST_PP_DEC_306 305 -# define BOOST_PP_DEC_307 306 -# define BOOST_PP_DEC_308 307 -# define BOOST_PP_DEC_309 308 -# define BOOST_PP_DEC_310 309 -# define BOOST_PP_DEC_311 310 -# define BOOST_PP_DEC_312 311 -# define BOOST_PP_DEC_313 312 -# define BOOST_PP_DEC_314 313 -# define BOOST_PP_DEC_315 314 -# define BOOST_PP_DEC_316 315 -# define BOOST_PP_DEC_317 316 -# define BOOST_PP_DEC_318 317 -# define BOOST_PP_DEC_319 318 -# define BOOST_PP_DEC_320 319 -# define BOOST_PP_DEC_321 320 -# define BOOST_PP_DEC_322 321 -# define BOOST_PP_DEC_323 322 -# define BOOST_PP_DEC_324 323 -# define BOOST_PP_DEC_325 324 -# define BOOST_PP_DEC_326 325 -# define BOOST_PP_DEC_327 326 -# define BOOST_PP_DEC_328 327 -# define BOOST_PP_DEC_329 328 -# define BOOST_PP_DEC_330 329 -# define BOOST_PP_DEC_331 330 -# define BOOST_PP_DEC_332 331 -# define BOOST_PP_DEC_333 332 -# define BOOST_PP_DEC_334 333 -# define BOOST_PP_DEC_335 334 -# define BOOST_PP_DEC_336 335 -# define BOOST_PP_DEC_337 336 -# define BOOST_PP_DEC_338 337 -# define BOOST_PP_DEC_339 338 -# define BOOST_PP_DEC_340 339 -# define BOOST_PP_DEC_341 340 -# define BOOST_PP_DEC_342 341 -# define BOOST_PP_DEC_343 342 -# define BOOST_PP_DEC_344 343 -# define BOOST_PP_DEC_345 344 -# define BOOST_PP_DEC_346 345 -# define BOOST_PP_DEC_347 346 -# define BOOST_PP_DEC_348 347 -# define BOOST_PP_DEC_349 348 -# define BOOST_PP_DEC_350 349 -# define BOOST_PP_DEC_351 350 -# define BOOST_PP_DEC_352 351 -# define BOOST_PP_DEC_353 352 -# define BOOST_PP_DEC_354 353 -# define BOOST_PP_DEC_355 354 -# define BOOST_PP_DEC_356 355 -# define BOOST_PP_DEC_357 356 -# define BOOST_PP_DEC_358 357 -# define BOOST_PP_DEC_359 358 -# define BOOST_PP_DEC_360 359 -# define BOOST_PP_DEC_361 360 -# define BOOST_PP_DEC_362 361 -# define BOOST_PP_DEC_363 362 -# define BOOST_PP_DEC_364 363 -# define BOOST_PP_DEC_365 364 -# define BOOST_PP_DEC_366 365 -# define BOOST_PP_DEC_367 366 -# define BOOST_PP_DEC_368 367 -# define BOOST_PP_DEC_369 368 -# define BOOST_PP_DEC_370 369 -# define BOOST_PP_DEC_371 370 -# define BOOST_PP_DEC_372 371 -# define BOOST_PP_DEC_373 372 -# define BOOST_PP_DEC_374 373 -# define BOOST_PP_DEC_375 374 -# define BOOST_PP_DEC_376 375 -# define BOOST_PP_DEC_377 376 -# define BOOST_PP_DEC_378 377 -# define BOOST_PP_DEC_379 378 -# define BOOST_PP_DEC_380 379 -# define BOOST_PP_DEC_381 380 -# define BOOST_PP_DEC_382 381 -# define BOOST_PP_DEC_383 382 -# define BOOST_PP_DEC_384 383 -# define BOOST_PP_DEC_385 384 -# define BOOST_PP_DEC_386 385 -# define BOOST_PP_DEC_387 386 -# define BOOST_PP_DEC_388 387 -# define BOOST_PP_DEC_389 388 -# define BOOST_PP_DEC_390 389 -# define BOOST_PP_DEC_391 390 -# define BOOST_PP_DEC_392 391 -# define BOOST_PP_DEC_393 392 -# define BOOST_PP_DEC_394 393 -# define BOOST_PP_DEC_395 394 -# define BOOST_PP_DEC_396 395 -# define BOOST_PP_DEC_397 396 -# define BOOST_PP_DEC_398 397 -# define BOOST_PP_DEC_399 398 -# define BOOST_PP_DEC_400 399 -# define BOOST_PP_DEC_401 400 -# define BOOST_PP_DEC_402 401 -# define BOOST_PP_DEC_403 402 -# define BOOST_PP_DEC_404 403 -# define BOOST_PP_DEC_405 404 -# define BOOST_PP_DEC_406 405 -# define BOOST_PP_DEC_407 406 -# define BOOST_PP_DEC_408 407 -# define BOOST_PP_DEC_409 408 -# define BOOST_PP_DEC_410 409 -# define BOOST_PP_DEC_411 410 -# define BOOST_PP_DEC_412 411 -# define BOOST_PP_DEC_413 412 -# define BOOST_PP_DEC_414 413 -# define BOOST_PP_DEC_415 414 -# define BOOST_PP_DEC_416 415 -# define BOOST_PP_DEC_417 416 -# define BOOST_PP_DEC_418 417 -# define BOOST_PP_DEC_419 418 -# define BOOST_PP_DEC_420 419 -# define BOOST_PP_DEC_421 420 -# define BOOST_PP_DEC_422 421 -# define BOOST_PP_DEC_423 422 -# define BOOST_PP_DEC_424 423 -# define BOOST_PP_DEC_425 424 -# define BOOST_PP_DEC_426 425 -# define BOOST_PP_DEC_427 426 -# define BOOST_PP_DEC_428 427 -# define BOOST_PP_DEC_429 428 -# define BOOST_PP_DEC_430 429 -# define BOOST_PP_DEC_431 430 -# define BOOST_PP_DEC_432 431 -# define BOOST_PP_DEC_433 432 -# define BOOST_PP_DEC_434 433 -# define BOOST_PP_DEC_435 434 -# define BOOST_PP_DEC_436 435 -# define BOOST_PP_DEC_437 436 -# define BOOST_PP_DEC_438 437 -# define BOOST_PP_DEC_439 438 -# define BOOST_PP_DEC_440 439 -# define BOOST_PP_DEC_441 440 -# define BOOST_PP_DEC_442 441 -# define BOOST_PP_DEC_443 442 -# define BOOST_PP_DEC_444 443 -# define BOOST_PP_DEC_445 444 -# define BOOST_PP_DEC_446 445 -# define BOOST_PP_DEC_447 446 -# define BOOST_PP_DEC_448 447 -# define BOOST_PP_DEC_449 448 -# define BOOST_PP_DEC_450 449 -# define BOOST_PP_DEC_451 450 -# define BOOST_PP_DEC_452 451 -# define BOOST_PP_DEC_453 452 -# define BOOST_PP_DEC_454 453 -# define BOOST_PP_DEC_455 454 -# define BOOST_PP_DEC_456 455 -# define BOOST_PP_DEC_457 456 -# define BOOST_PP_DEC_458 457 -# define BOOST_PP_DEC_459 458 -# define BOOST_PP_DEC_460 459 -# define BOOST_PP_DEC_461 460 -# define BOOST_PP_DEC_462 461 -# define BOOST_PP_DEC_463 462 -# define BOOST_PP_DEC_464 463 -# define BOOST_PP_DEC_465 464 -# define BOOST_PP_DEC_466 465 -# define BOOST_PP_DEC_467 466 -# define BOOST_PP_DEC_468 467 -# define BOOST_PP_DEC_469 468 -# define BOOST_PP_DEC_470 469 -# define BOOST_PP_DEC_471 470 -# define BOOST_PP_DEC_472 471 -# define BOOST_PP_DEC_473 472 -# define BOOST_PP_DEC_474 473 -# define BOOST_PP_DEC_475 474 -# define BOOST_PP_DEC_476 475 -# define BOOST_PP_DEC_477 476 -# define BOOST_PP_DEC_478 477 -# define BOOST_PP_DEC_479 478 -# define BOOST_PP_DEC_480 479 -# define BOOST_PP_DEC_481 480 -# define BOOST_PP_DEC_482 481 -# define BOOST_PP_DEC_483 482 -# define BOOST_PP_DEC_484 483 -# define BOOST_PP_DEC_485 484 -# define BOOST_PP_DEC_486 485 -# define BOOST_PP_DEC_487 486 -# define BOOST_PP_DEC_488 487 -# define BOOST_PP_DEC_489 488 -# define BOOST_PP_DEC_490 489 -# define BOOST_PP_DEC_491 490 -# define BOOST_PP_DEC_492 491 -# define BOOST_PP_DEC_493 492 -# define BOOST_PP_DEC_494 493 -# define BOOST_PP_DEC_495 494 -# define BOOST_PP_DEC_496 495 -# define BOOST_PP_DEC_497 496 -# define BOOST_PP_DEC_498 497 -# define BOOST_PP_DEC_499 498 -# define BOOST_PP_DEC_500 499 -# define BOOST_PP_DEC_501 500 -# define BOOST_PP_DEC_502 501 -# define BOOST_PP_DEC_503 502 -# define BOOST_PP_DEC_504 503 -# define BOOST_PP_DEC_505 504 -# define BOOST_PP_DEC_506 505 -# define BOOST_PP_DEC_507 506 -# define BOOST_PP_DEC_508 507 -# define BOOST_PP_DEC_509 508 -# define BOOST_PP_DEC_510 509 -# define BOOST_PP_DEC_511 510 -# define BOOST_PP_DEC_512 511 -# define BOOST_PP_DEC_513 512 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_512_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_512_HPP +# +# define BOOST_PP_DEC_258 257 +# define BOOST_PP_DEC_259 258 +# define BOOST_PP_DEC_260 259 +# define BOOST_PP_DEC_261 260 +# define BOOST_PP_DEC_262 261 +# define BOOST_PP_DEC_263 262 +# define BOOST_PP_DEC_264 263 +# define BOOST_PP_DEC_265 264 +# define BOOST_PP_DEC_266 265 +# define BOOST_PP_DEC_267 266 +# define BOOST_PP_DEC_268 267 +# define BOOST_PP_DEC_269 268 +# define BOOST_PP_DEC_270 269 +# define BOOST_PP_DEC_271 270 +# define BOOST_PP_DEC_272 271 +# define BOOST_PP_DEC_273 272 +# define BOOST_PP_DEC_274 273 +# define BOOST_PP_DEC_275 274 +# define BOOST_PP_DEC_276 275 +# define BOOST_PP_DEC_277 276 +# define BOOST_PP_DEC_278 277 +# define BOOST_PP_DEC_279 278 +# define BOOST_PP_DEC_280 279 +# define BOOST_PP_DEC_281 280 +# define BOOST_PP_DEC_282 281 +# define BOOST_PP_DEC_283 282 +# define BOOST_PP_DEC_284 283 +# define BOOST_PP_DEC_285 284 +# define BOOST_PP_DEC_286 285 +# define BOOST_PP_DEC_287 286 +# define BOOST_PP_DEC_288 287 +# define BOOST_PP_DEC_289 288 +# define BOOST_PP_DEC_290 289 +# define BOOST_PP_DEC_291 290 +# define BOOST_PP_DEC_292 291 +# define BOOST_PP_DEC_293 292 +# define BOOST_PP_DEC_294 293 +# define BOOST_PP_DEC_295 294 +# define BOOST_PP_DEC_296 295 +# define BOOST_PP_DEC_297 296 +# define BOOST_PP_DEC_298 297 +# define BOOST_PP_DEC_299 298 +# define BOOST_PP_DEC_300 299 +# define BOOST_PP_DEC_301 300 +# define BOOST_PP_DEC_302 301 +# define BOOST_PP_DEC_303 302 +# define BOOST_PP_DEC_304 303 +# define BOOST_PP_DEC_305 304 +# define BOOST_PP_DEC_306 305 +# define BOOST_PP_DEC_307 306 +# define BOOST_PP_DEC_308 307 +# define BOOST_PP_DEC_309 308 +# define BOOST_PP_DEC_310 309 +# define BOOST_PP_DEC_311 310 +# define BOOST_PP_DEC_312 311 +# define BOOST_PP_DEC_313 312 +# define BOOST_PP_DEC_314 313 +# define BOOST_PP_DEC_315 314 +# define BOOST_PP_DEC_316 315 +# define BOOST_PP_DEC_317 316 +# define BOOST_PP_DEC_318 317 +# define BOOST_PP_DEC_319 318 +# define BOOST_PP_DEC_320 319 +# define BOOST_PP_DEC_321 320 +# define BOOST_PP_DEC_322 321 +# define BOOST_PP_DEC_323 322 +# define BOOST_PP_DEC_324 323 +# define BOOST_PP_DEC_325 324 +# define BOOST_PP_DEC_326 325 +# define BOOST_PP_DEC_327 326 +# define BOOST_PP_DEC_328 327 +# define BOOST_PP_DEC_329 328 +# define BOOST_PP_DEC_330 329 +# define BOOST_PP_DEC_331 330 +# define BOOST_PP_DEC_332 331 +# define BOOST_PP_DEC_333 332 +# define BOOST_PP_DEC_334 333 +# define BOOST_PP_DEC_335 334 +# define BOOST_PP_DEC_336 335 +# define BOOST_PP_DEC_337 336 +# define BOOST_PP_DEC_338 337 +# define BOOST_PP_DEC_339 338 +# define BOOST_PP_DEC_340 339 +# define BOOST_PP_DEC_341 340 +# define BOOST_PP_DEC_342 341 +# define BOOST_PP_DEC_343 342 +# define BOOST_PP_DEC_344 343 +# define BOOST_PP_DEC_345 344 +# define BOOST_PP_DEC_346 345 +# define BOOST_PP_DEC_347 346 +# define BOOST_PP_DEC_348 347 +# define BOOST_PP_DEC_349 348 +# define BOOST_PP_DEC_350 349 +# define BOOST_PP_DEC_351 350 +# define BOOST_PP_DEC_352 351 +# define BOOST_PP_DEC_353 352 +# define BOOST_PP_DEC_354 353 +# define BOOST_PP_DEC_355 354 +# define BOOST_PP_DEC_356 355 +# define BOOST_PP_DEC_357 356 +# define BOOST_PP_DEC_358 357 +# define BOOST_PP_DEC_359 358 +# define BOOST_PP_DEC_360 359 +# define BOOST_PP_DEC_361 360 +# define BOOST_PP_DEC_362 361 +# define BOOST_PP_DEC_363 362 +# define BOOST_PP_DEC_364 363 +# define BOOST_PP_DEC_365 364 +# define BOOST_PP_DEC_366 365 +# define BOOST_PP_DEC_367 366 +# define BOOST_PP_DEC_368 367 +# define BOOST_PP_DEC_369 368 +# define BOOST_PP_DEC_370 369 +# define BOOST_PP_DEC_371 370 +# define BOOST_PP_DEC_372 371 +# define BOOST_PP_DEC_373 372 +# define BOOST_PP_DEC_374 373 +# define BOOST_PP_DEC_375 374 +# define BOOST_PP_DEC_376 375 +# define BOOST_PP_DEC_377 376 +# define BOOST_PP_DEC_378 377 +# define BOOST_PP_DEC_379 378 +# define BOOST_PP_DEC_380 379 +# define BOOST_PP_DEC_381 380 +# define BOOST_PP_DEC_382 381 +# define BOOST_PP_DEC_383 382 +# define BOOST_PP_DEC_384 383 +# define BOOST_PP_DEC_385 384 +# define BOOST_PP_DEC_386 385 +# define BOOST_PP_DEC_387 386 +# define BOOST_PP_DEC_388 387 +# define BOOST_PP_DEC_389 388 +# define BOOST_PP_DEC_390 389 +# define BOOST_PP_DEC_391 390 +# define BOOST_PP_DEC_392 391 +# define BOOST_PP_DEC_393 392 +# define BOOST_PP_DEC_394 393 +# define BOOST_PP_DEC_395 394 +# define BOOST_PP_DEC_396 395 +# define BOOST_PP_DEC_397 396 +# define BOOST_PP_DEC_398 397 +# define BOOST_PP_DEC_399 398 +# define BOOST_PP_DEC_400 399 +# define BOOST_PP_DEC_401 400 +# define BOOST_PP_DEC_402 401 +# define BOOST_PP_DEC_403 402 +# define BOOST_PP_DEC_404 403 +# define BOOST_PP_DEC_405 404 +# define BOOST_PP_DEC_406 405 +# define BOOST_PP_DEC_407 406 +# define BOOST_PP_DEC_408 407 +# define BOOST_PP_DEC_409 408 +# define BOOST_PP_DEC_410 409 +# define BOOST_PP_DEC_411 410 +# define BOOST_PP_DEC_412 411 +# define BOOST_PP_DEC_413 412 +# define BOOST_PP_DEC_414 413 +# define BOOST_PP_DEC_415 414 +# define BOOST_PP_DEC_416 415 +# define BOOST_PP_DEC_417 416 +# define BOOST_PP_DEC_418 417 +# define BOOST_PP_DEC_419 418 +# define BOOST_PP_DEC_420 419 +# define BOOST_PP_DEC_421 420 +# define BOOST_PP_DEC_422 421 +# define BOOST_PP_DEC_423 422 +# define BOOST_PP_DEC_424 423 +# define BOOST_PP_DEC_425 424 +# define BOOST_PP_DEC_426 425 +# define BOOST_PP_DEC_427 426 +# define BOOST_PP_DEC_428 427 +# define BOOST_PP_DEC_429 428 +# define BOOST_PP_DEC_430 429 +# define BOOST_PP_DEC_431 430 +# define BOOST_PP_DEC_432 431 +# define BOOST_PP_DEC_433 432 +# define BOOST_PP_DEC_434 433 +# define BOOST_PP_DEC_435 434 +# define BOOST_PP_DEC_436 435 +# define BOOST_PP_DEC_437 436 +# define BOOST_PP_DEC_438 437 +# define BOOST_PP_DEC_439 438 +# define BOOST_PP_DEC_440 439 +# define BOOST_PP_DEC_441 440 +# define BOOST_PP_DEC_442 441 +# define BOOST_PP_DEC_443 442 +# define BOOST_PP_DEC_444 443 +# define BOOST_PP_DEC_445 444 +# define BOOST_PP_DEC_446 445 +# define BOOST_PP_DEC_447 446 +# define BOOST_PP_DEC_448 447 +# define BOOST_PP_DEC_449 448 +# define BOOST_PP_DEC_450 449 +# define BOOST_PP_DEC_451 450 +# define BOOST_PP_DEC_452 451 +# define BOOST_PP_DEC_453 452 +# define BOOST_PP_DEC_454 453 +# define BOOST_PP_DEC_455 454 +# define BOOST_PP_DEC_456 455 +# define BOOST_PP_DEC_457 456 +# define BOOST_PP_DEC_458 457 +# define BOOST_PP_DEC_459 458 +# define BOOST_PP_DEC_460 459 +# define BOOST_PP_DEC_461 460 +# define BOOST_PP_DEC_462 461 +# define BOOST_PP_DEC_463 462 +# define BOOST_PP_DEC_464 463 +# define BOOST_PP_DEC_465 464 +# define BOOST_PP_DEC_466 465 +# define BOOST_PP_DEC_467 466 +# define BOOST_PP_DEC_468 467 +# define BOOST_PP_DEC_469 468 +# define BOOST_PP_DEC_470 469 +# define BOOST_PP_DEC_471 470 +# define BOOST_PP_DEC_472 471 +# define BOOST_PP_DEC_473 472 +# define BOOST_PP_DEC_474 473 +# define BOOST_PP_DEC_475 474 +# define BOOST_PP_DEC_476 475 +# define BOOST_PP_DEC_477 476 +# define BOOST_PP_DEC_478 477 +# define BOOST_PP_DEC_479 478 +# define BOOST_PP_DEC_480 479 +# define BOOST_PP_DEC_481 480 +# define BOOST_PP_DEC_482 481 +# define BOOST_PP_DEC_483 482 +# define BOOST_PP_DEC_484 483 +# define BOOST_PP_DEC_485 484 +# define BOOST_PP_DEC_486 485 +# define BOOST_PP_DEC_487 486 +# define BOOST_PP_DEC_488 487 +# define BOOST_PP_DEC_489 488 +# define BOOST_PP_DEC_490 489 +# define BOOST_PP_DEC_491 490 +# define BOOST_PP_DEC_492 491 +# define BOOST_PP_DEC_493 492 +# define BOOST_PP_DEC_494 493 +# define BOOST_PP_DEC_495 494 +# define BOOST_PP_DEC_496 495 +# define BOOST_PP_DEC_497 496 +# define BOOST_PP_DEC_498 497 +# define BOOST_PP_DEC_499 498 +# define BOOST_PP_DEC_500 499 +# define BOOST_PP_DEC_501 500 +# define BOOST_PP_DEC_502 501 +# define BOOST_PP_DEC_503 502 +# define BOOST_PP_DEC_504 503 +# define BOOST_PP_DEC_505 504 +# define BOOST_PP_DEC_506 505 +# define BOOST_PP_DEC_507 506 +# define BOOST_PP_DEC_508 507 +# define BOOST_PP_DEC_509 508 +# define BOOST_PP_DEC_510 509 +# define BOOST_PP_DEC_511 510 +# define BOOST_PP_DEC_512 511 +# define BOOST_PP_DEC_513 512 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_1024.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_1024.hpp index c62907a506..a532043c4e 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_1024.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_1024.hpp @@ -1,536 +1,536 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_1024_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_INC_1024_HPP -# -# if defined(BOOST_PP_INC_512) -# undef BOOST_PP_INC_512 -# endif -# -# define BOOST_PP_INC_512 513 -# define BOOST_PP_INC_513 514 -# define BOOST_PP_INC_514 515 -# define BOOST_PP_INC_515 516 -# define BOOST_PP_INC_516 517 -# define BOOST_PP_INC_517 518 -# define BOOST_PP_INC_518 519 -# define BOOST_PP_INC_519 520 -# define BOOST_PP_INC_520 521 -# define BOOST_PP_INC_521 522 -# define BOOST_PP_INC_522 523 -# define BOOST_PP_INC_523 524 -# define BOOST_PP_INC_524 525 -# define BOOST_PP_INC_525 526 -# define BOOST_PP_INC_526 527 -# define BOOST_PP_INC_527 528 -# define BOOST_PP_INC_528 529 -# define BOOST_PP_INC_529 530 -# define BOOST_PP_INC_530 531 -# define BOOST_PP_INC_531 532 -# define BOOST_PP_INC_532 533 -# define BOOST_PP_INC_533 534 -# define BOOST_PP_INC_534 535 -# define BOOST_PP_INC_535 536 -# define BOOST_PP_INC_536 537 -# define BOOST_PP_INC_537 538 -# define BOOST_PP_INC_538 539 -# define BOOST_PP_INC_539 540 -# define BOOST_PP_INC_540 541 -# define BOOST_PP_INC_541 542 -# define BOOST_PP_INC_542 543 -# define BOOST_PP_INC_543 544 -# define BOOST_PP_INC_544 545 -# define BOOST_PP_INC_545 546 -# define BOOST_PP_INC_546 547 -# define BOOST_PP_INC_547 548 -# define BOOST_PP_INC_548 549 -# define BOOST_PP_INC_549 550 -# define BOOST_PP_INC_550 551 -# define BOOST_PP_INC_551 552 -# define BOOST_PP_INC_552 553 -# define BOOST_PP_INC_553 554 -# define BOOST_PP_INC_554 555 -# define BOOST_PP_INC_555 556 -# define BOOST_PP_INC_556 557 -# define BOOST_PP_INC_557 558 -# define BOOST_PP_INC_558 559 -# define BOOST_PP_INC_559 560 -# define BOOST_PP_INC_560 561 -# define BOOST_PP_INC_561 562 -# define BOOST_PP_INC_562 563 -# define BOOST_PP_INC_563 564 -# define BOOST_PP_INC_564 565 -# define BOOST_PP_INC_565 566 -# define BOOST_PP_INC_566 567 -# define BOOST_PP_INC_567 568 -# define BOOST_PP_INC_568 569 -# define BOOST_PP_INC_569 570 -# define BOOST_PP_INC_570 571 -# define BOOST_PP_INC_571 572 -# define BOOST_PP_INC_572 573 -# define BOOST_PP_INC_573 574 -# define BOOST_PP_INC_574 575 -# define BOOST_PP_INC_575 576 -# define BOOST_PP_INC_576 577 -# define BOOST_PP_INC_577 578 -# define BOOST_PP_INC_578 579 -# define BOOST_PP_INC_579 580 -# define BOOST_PP_INC_580 581 -# define BOOST_PP_INC_581 582 -# define BOOST_PP_INC_582 583 -# define BOOST_PP_INC_583 584 -# define BOOST_PP_INC_584 585 -# define BOOST_PP_INC_585 586 -# define BOOST_PP_INC_586 587 -# define BOOST_PP_INC_587 588 -# define BOOST_PP_INC_588 589 -# define BOOST_PP_INC_589 590 -# define BOOST_PP_INC_590 591 -# define BOOST_PP_INC_591 592 -# define BOOST_PP_INC_592 593 -# define BOOST_PP_INC_593 594 -# define BOOST_PP_INC_594 595 -# define BOOST_PP_INC_595 596 -# define BOOST_PP_INC_596 597 -# define BOOST_PP_INC_597 598 -# define BOOST_PP_INC_598 599 -# define BOOST_PP_INC_599 600 -# define BOOST_PP_INC_600 601 -# define BOOST_PP_INC_601 602 -# define BOOST_PP_INC_602 603 -# define BOOST_PP_INC_603 604 -# define BOOST_PP_INC_604 605 -# define BOOST_PP_INC_605 606 -# define BOOST_PP_INC_606 607 -# define BOOST_PP_INC_607 608 -# define BOOST_PP_INC_608 609 -# define BOOST_PP_INC_609 610 -# define BOOST_PP_INC_610 611 -# define BOOST_PP_INC_611 612 -# define BOOST_PP_INC_612 613 -# define BOOST_PP_INC_613 614 -# define BOOST_PP_INC_614 615 -# define BOOST_PP_INC_615 616 -# define BOOST_PP_INC_616 617 -# define BOOST_PP_INC_617 618 -# define BOOST_PP_INC_618 619 -# define BOOST_PP_INC_619 620 -# define BOOST_PP_INC_620 621 -# define BOOST_PP_INC_621 622 -# define BOOST_PP_INC_622 623 -# define BOOST_PP_INC_623 624 -# define BOOST_PP_INC_624 625 -# define BOOST_PP_INC_625 626 -# define BOOST_PP_INC_626 627 -# define BOOST_PP_INC_627 628 -# define BOOST_PP_INC_628 629 -# define BOOST_PP_INC_629 630 -# define BOOST_PP_INC_630 631 -# define BOOST_PP_INC_631 632 -# define BOOST_PP_INC_632 633 -# define BOOST_PP_INC_633 634 -# define BOOST_PP_INC_634 635 -# define BOOST_PP_INC_635 636 -# define BOOST_PP_INC_636 637 -# define BOOST_PP_INC_637 638 -# define BOOST_PP_INC_638 639 -# define BOOST_PP_INC_639 640 -# define BOOST_PP_INC_640 641 -# define BOOST_PP_INC_641 642 -# define BOOST_PP_INC_642 643 -# define BOOST_PP_INC_643 644 -# define BOOST_PP_INC_644 645 -# define BOOST_PP_INC_645 646 -# define BOOST_PP_INC_646 647 -# define BOOST_PP_INC_647 648 -# define BOOST_PP_INC_648 649 -# define BOOST_PP_INC_649 650 -# define BOOST_PP_INC_650 651 -# define BOOST_PP_INC_651 652 -# define BOOST_PP_INC_652 653 -# define BOOST_PP_INC_653 654 -# define BOOST_PP_INC_654 655 -# define BOOST_PP_INC_655 656 -# define BOOST_PP_INC_656 657 -# define BOOST_PP_INC_657 658 -# define BOOST_PP_INC_658 659 -# define BOOST_PP_INC_659 660 -# define BOOST_PP_INC_660 661 -# define BOOST_PP_INC_661 662 -# define BOOST_PP_INC_662 663 -# define BOOST_PP_INC_663 664 -# define BOOST_PP_INC_664 665 -# define BOOST_PP_INC_665 666 -# define BOOST_PP_INC_666 667 -# define BOOST_PP_INC_667 668 -# define BOOST_PP_INC_668 669 -# define BOOST_PP_INC_669 670 -# define BOOST_PP_INC_670 671 -# define BOOST_PP_INC_671 672 -# define BOOST_PP_INC_672 673 -# define BOOST_PP_INC_673 674 -# define BOOST_PP_INC_674 675 -# define BOOST_PP_INC_675 676 -# define BOOST_PP_INC_676 677 -# define BOOST_PP_INC_677 678 -# define BOOST_PP_INC_678 679 -# define BOOST_PP_INC_679 680 -# define BOOST_PP_INC_680 681 -# define BOOST_PP_INC_681 682 -# define BOOST_PP_INC_682 683 -# define BOOST_PP_INC_683 684 -# define BOOST_PP_INC_684 685 -# define BOOST_PP_INC_685 686 -# define BOOST_PP_INC_686 687 -# define BOOST_PP_INC_687 688 -# define BOOST_PP_INC_688 689 -# define BOOST_PP_INC_689 690 -# define BOOST_PP_INC_690 691 -# define BOOST_PP_INC_691 692 -# define BOOST_PP_INC_692 693 -# define BOOST_PP_INC_693 694 -# define BOOST_PP_INC_694 695 -# define BOOST_PP_INC_695 696 -# define BOOST_PP_INC_696 697 -# define BOOST_PP_INC_697 698 -# define BOOST_PP_INC_698 699 -# define BOOST_PP_INC_699 700 -# define BOOST_PP_INC_700 701 -# define BOOST_PP_INC_701 702 -# define BOOST_PP_INC_702 703 -# define BOOST_PP_INC_703 704 -# define BOOST_PP_INC_704 705 -# define BOOST_PP_INC_705 706 -# define BOOST_PP_INC_706 707 -# define BOOST_PP_INC_707 708 -# define BOOST_PP_INC_708 709 -# define BOOST_PP_INC_709 710 -# define BOOST_PP_INC_710 711 -# define BOOST_PP_INC_711 712 -# define BOOST_PP_INC_712 713 -# define BOOST_PP_INC_713 714 -# define BOOST_PP_INC_714 715 -# define BOOST_PP_INC_715 716 -# define BOOST_PP_INC_716 717 -# define BOOST_PP_INC_717 718 -# define BOOST_PP_INC_718 719 -# define BOOST_PP_INC_719 720 -# define BOOST_PP_INC_720 721 -# define BOOST_PP_INC_721 722 -# define BOOST_PP_INC_722 723 -# define BOOST_PP_INC_723 724 -# define BOOST_PP_INC_724 725 -# define BOOST_PP_INC_725 726 -# define BOOST_PP_INC_726 727 -# define BOOST_PP_INC_727 728 -# define BOOST_PP_INC_728 729 -# define BOOST_PP_INC_729 730 -# define BOOST_PP_INC_730 731 -# define BOOST_PP_INC_731 732 -# define BOOST_PP_INC_732 733 -# define BOOST_PP_INC_733 734 -# define BOOST_PP_INC_734 735 -# define BOOST_PP_INC_735 736 -# define BOOST_PP_INC_736 737 -# define BOOST_PP_INC_737 738 -# define BOOST_PP_INC_738 739 -# define BOOST_PP_INC_739 740 -# define BOOST_PP_INC_740 741 -# define BOOST_PP_INC_741 742 -# define BOOST_PP_INC_742 743 -# define BOOST_PP_INC_743 744 -# define BOOST_PP_INC_744 745 -# define BOOST_PP_INC_745 746 -# define BOOST_PP_INC_746 747 -# define BOOST_PP_INC_747 748 -# define BOOST_PP_INC_748 749 -# define BOOST_PP_INC_749 750 -# define BOOST_PP_INC_750 751 -# define BOOST_PP_INC_751 752 -# define BOOST_PP_INC_752 753 -# define BOOST_PP_INC_753 754 -# define BOOST_PP_INC_754 755 -# define BOOST_PP_INC_755 756 -# define BOOST_PP_INC_756 757 -# define BOOST_PP_INC_757 758 -# define BOOST_PP_INC_758 759 -# define BOOST_PP_INC_759 760 -# define BOOST_PP_INC_760 761 -# define BOOST_PP_INC_761 762 -# define BOOST_PP_INC_762 763 -# define BOOST_PP_INC_763 764 -# define BOOST_PP_INC_764 765 -# define BOOST_PP_INC_765 766 -# define BOOST_PP_INC_766 767 -# define BOOST_PP_INC_767 768 -# define BOOST_PP_INC_768 769 -# define BOOST_PP_INC_769 770 -# define BOOST_PP_INC_770 771 -# define BOOST_PP_INC_771 772 -# define BOOST_PP_INC_772 773 -# define BOOST_PP_INC_773 774 -# define BOOST_PP_INC_774 775 -# define BOOST_PP_INC_775 776 -# define BOOST_PP_INC_776 777 -# define BOOST_PP_INC_777 778 -# define BOOST_PP_INC_778 779 -# define BOOST_PP_INC_779 780 -# define BOOST_PP_INC_780 781 -# define BOOST_PP_INC_781 782 -# define BOOST_PP_INC_782 783 -# define BOOST_PP_INC_783 784 -# define BOOST_PP_INC_784 785 -# define BOOST_PP_INC_785 786 -# define BOOST_PP_INC_786 787 -# define BOOST_PP_INC_787 788 -# define BOOST_PP_INC_788 789 -# define BOOST_PP_INC_789 790 -# define BOOST_PP_INC_790 791 -# define BOOST_PP_INC_791 792 -# define BOOST_PP_INC_792 793 -# define BOOST_PP_INC_793 794 -# define BOOST_PP_INC_794 795 -# define BOOST_PP_INC_795 796 -# define BOOST_PP_INC_796 797 -# define BOOST_PP_INC_797 798 -# define BOOST_PP_INC_798 799 -# define BOOST_PP_INC_799 800 -# define BOOST_PP_INC_800 801 -# define BOOST_PP_INC_801 802 -# define BOOST_PP_INC_802 803 -# define BOOST_PP_INC_803 804 -# define BOOST_PP_INC_804 805 -# define BOOST_PP_INC_805 806 -# define BOOST_PP_INC_806 807 -# define BOOST_PP_INC_807 808 -# define BOOST_PP_INC_808 809 -# define BOOST_PP_INC_809 810 -# define BOOST_PP_INC_810 811 -# define BOOST_PP_INC_811 812 -# define BOOST_PP_INC_812 813 -# define BOOST_PP_INC_813 814 -# define BOOST_PP_INC_814 815 -# define BOOST_PP_INC_815 816 -# define BOOST_PP_INC_816 817 -# define BOOST_PP_INC_817 818 -# define BOOST_PP_INC_818 819 -# define BOOST_PP_INC_819 820 -# define BOOST_PP_INC_820 821 -# define BOOST_PP_INC_821 822 -# define BOOST_PP_INC_822 823 -# define BOOST_PP_INC_823 824 -# define BOOST_PP_INC_824 825 -# define BOOST_PP_INC_825 826 -# define BOOST_PP_INC_826 827 -# define BOOST_PP_INC_827 828 -# define BOOST_PP_INC_828 829 -# define BOOST_PP_INC_829 830 -# define BOOST_PP_INC_830 831 -# define BOOST_PP_INC_831 832 -# define BOOST_PP_INC_832 833 -# define BOOST_PP_INC_833 834 -# define BOOST_PP_INC_834 835 -# define BOOST_PP_INC_835 836 -# define BOOST_PP_INC_836 837 -# define BOOST_PP_INC_837 838 -# define BOOST_PP_INC_838 839 -# define BOOST_PP_INC_839 840 -# define BOOST_PP_INC_840 841 -# define BOOST_PP_INC_841 842 -# define BOOST_PP_INC_842 843 -# define BOOST_PP_INC_843 844 -# define BOOST_PP_INC_844 845 -# define BOOST_PP_INC_845 846 -# define BOOST_PP_INC_846 847 -# define BOOST_PP_INC_847 848 -# define BOOST_PP_INC_848 849 -# define BOOST_PP_INC_849 850 -# define BOOST_PP_INC_850 851 -# define BOOST_PP_INC_851 852 -# define BOOST_PP_INC_852 853 -# define BOOST_PP_INC_853 854 -# define BOOST_PP_INC_854 855 -# define BOOST_PP_INC_855 856 -# define BOOST_PP_INC_856 857 -# define BOOST_PP_INC_857 858 -# define BOOST_PP_INC_858 859 -# define BOOST_PP_INC_859 860 -# define BOOST_PP_INC_860 861 -# define BOOST_PP_INC_861 862 -# define BOOST_PP_INC_862 863 -# define BOOST_PP_INC_863 864 -# define BOOST_PP_INC_864 865 -# define BOOST_PP_INC_865 866 -# define BOOST_PP_INC_866 867 -# define BOOST_PP_INC_867 868 -# define BOOST_PP_INC_868 869 -# define BOOST_PP_INC_869 870 -# define BOOST_PP_INC_870 871 -# define BOOST_PP_INC_871 872 -# define BOOST_PP_INC_872 873 -# define BOOST_PP_INC_873 874 -# define BOOST_PP_INC_874 875 -# define BOOST_PP_INC_875 876 -# define BOOST_PP_INC_876 877 -# define BOOST_PP_INC_877 878 -# define BOOST_PP_INC_878 879 -# define BOOST_PP_INC_879 880 -# define BOOST_PP_INC_880 881 -# define BOOST_PP_INC_881 882 -# define BOOST_PP_INC_882 883 -# define BOOST_PP_INC_883 884 -# define BOOST_PP_INC_884 885 -# define BOOST_PP_INC_885 886 -# define BOOST_PP_INC_886 887 -# define BOOST_PP_INC_887 888 -# define BOOST_PP_INC_888 889 -# define BOOST_PP_INC_889 890 -# define BOOST_PP_INC_890 891 -# define BOOST_PP_INC_891 892 -# define BOOST_PP_INC_892 893 -# define BOOST_PP_INC_893 894 -# define BOOST_PP_INC_894 895 -# define BOOST_PP_INC_895 896 -# define BOOST_PP_INC_896 897 -# define BOOST_PP_INC_897 898 -# define BOOST_PP_INC_898 899 -# define BOOST_PP_INC_899 900 -# define BOOST_PP_INC_900 901 -# define BOOST_PP_INC_901 902 -# define BOOST_PP_INC_902 903 -# define BOOST_PP_INC_903 904 -# define BOOST_PP_INC_904 905 -# define BOOST_PP_INC_905 906 -# define BOOST_PP_INC_906 907 -# define BOOST_PP_INC_907 908 -# define BOOST_PP_INC_908 909 -# define BOOST_PP_INC_909 910 -# define BOOST_PP_INC_910 911 -# define BOOST_PP_INC_911 912 -# define BOOST_PP_INC_912 913 -# define BOOST_PP_INC_913 914 -# define BOOST_PP_INC_914 915 -# define BOOST_PP_INC_915 916 -# define BOOST_PP_INC_916 917 -# define BOOST_PP_INC_917 918 -# define BOOST_PP_INC_918 919 -# define BOOST_PP_INC_919 920 -# define BOOST_PP_INC_920 921 -# define BOOST_PP_INC_921 922 -# define BOOST_PP_INC_922 923 -# define BOOST_PP_INC_923 924 -# define BOOST_PP_INC_924 925 -# define BOOST_PP_INC_925 926 -# define BOOST_PP_INC_926 927 -# define BOOST_PP_INC_927 928 -# define BOOST_PP_INC_928 929 -# define BOOST_PP_INC_929 930 -# define BOOST_PP_INC_930 931 -# define BOOST_PP_INC_931 932 -# define BOOST_PP_INC_932 933 -# define BOOST_PP_INC_933 934 -# define BOOST_PP_INC_934 935 -# define BOOST_PP_INC_935 936 -# define BOOST_PP_INC_936 937 -# define BOOST_PP_INC_937 938 -# define BOOST_PP_INC_938 939 -# define BOOST_PP_INC_939 940 -# define BOOST_PP_INC_940 941 -# define BOOST_PP_INC_941 942 -# define BOOST_PP_INC_942 943 -# define BOOST_PP_INC_943 944 -# define BOOST_PP_INC_944 945 -# define BOOST_PP_INC_945 946 -# define BOOST_PP_INC_946 947 -# define BOOST_PP_INC_947 948 -# define BOOST_PP_INC_948 949 -# define BOOST_PP_INC_949 950 -# define BOOST_PP_INC_950 951 -# define BOOST_PP_INC_951 952 -# define BOOST_PP_INC_952 953 -# define BOOST_PP_INC_953 954 -# define BOOST_PP_INC_954 955 -# define BOOST_PP_INC_955 956 -# define BOOST_PP_INC_956 957 -# define BOOST_PP_INC_957 958 -# define BOOST_PP_INC_958 959 -# define BOOST_PP_INC_959 960 -# define BOOST_PP_INC_960 961 -# define BOOST_PP_INC_961 962 -# define BOOST_PP_INC_962 963 -# define BOOST_PP_INC_963 964 -# define BOOST_PP_INC_964 965 -# define BOOST_PP_INC_965 966 -# define BOOST_PP_INC_966 967 -# define BOOST_PP_INC_967 968 -# define BOOST_PP_INC_968 969 -# define BOOST_PP_INC_969 970 -# define BOOST_PP_INC_970 971 -# define BOOST_PP_INC_971 972 -# define BOOST_PP_INC_972 973 -# define BOOST_PP_INC_973 974 -# define BOOST_PP_INC_974 975 -# define BOOST_PP_INC_975 976 -# define BOOST_PP_INC_976 977 -# define BOOST_PP_INC_977 978 -# define BOOST_PP_INC_978 979 -# define BOOST_PP_INC_979 980 -# define BOOST_PP_INC_980 981 -# define BOOST_PP_INC_981 982 -# define BOOST_PP_INC_982 983 -# define BOOST_PP_INC_983 984 -# define BOOST_PP_INC_984 985 -# define BOOST_PP_INC_985 986 -# define BOOST_PP_INC_986 987 -# define BOOST_PP_INC_987 988 -# define BOOST_PP_INC_988 989 -# define BOOST_PP_INC_989 990 -# define BOOST_PP_INC_990 991 -# define BOOST_PP_INC_991 992 -# define BOOST_PP_INC_992 993 -# define BOOST_PP_INC_993 994 -# define BOOST_PP_INC_994 995 -# define BOOST_PP_INC_995 996 -# define BOOST_PP_INC_996 997 -# define BOOST_PP_INC_997 998 -# define BOOST_PP_INC_998 999 -# define BOOST_PP_INC_999 1000 -# define BOOST_PP_INC_1000 1001 -# define BOOST_PP_INC_1001 1002 -# define BOOST_PP_INC_1002 1003 -# define BOOST_PP_INC_1003 1004 -# define BOOST_PP_INC_1004 1005 -# define BOOST_PP_INC_1005 1006 -# define BOOST_PP_INC_1006 1007 -# define BOOST_PP_INC_1007 1008 -# define BOOST_PP_INC_1008 1009 -# define BOOST_PP_INC_1009 1010 -# define BOOST_PP_INC_1010 1011 -# define BOOST_PP_INC_1011 1012 -# define BOOST_PP_INC_1012 1013 -# define BOOST_PP_INC_1013 1014 -# define BOOST_PP_INC_1014 1015 -# define BOOST_PP_INC_1015 1016 -# define BOOST_PP_INC_1016 1017 -# define BOOST_PP_INC_1017 1018 -# define BOOST_PP_INC_1018 1019 -# define BOOST_PP_INC_1019 1020 -# define BOOST_PP_INC_1020 1021 -# define BOOST_PP_INC_1021 1022 -# define BOOST_PP_INC_1022 1023 -# define BOOST_PP_INC_1023 1024 -# define BOOST_PP_INC_1024 1024 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_1024_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_INC_1024_HPP +# +# if defined(BOOST_PP_INC_512) +# undef BOOST_PP_INC_512 +# endif +# +# define BOOST_PP_INC_512 513 +# define BOOST_PP_INC_513 514 +# define BOOST_PP_INC_514 515 +# define BOOST_PP_INC_515 516 +# define BOOST_PP_INC_516 517 +# define BOOST_PP_INC_517 518 +# define BOOST_PP_INC_518 519 +# define BOOST_PP_INC_519 520 +# define BOOST_PP_INC_520 521 +# define BOOST_PP_INC_521 522 +# define BOOST_PP_INC_522 523 +# define BOOST_PP_INC_523 524 +# define BOOST_PP_INC_524 525 +# define BOOST_PP_INC_525 526 +# define BOOST_PP_INC_526 527 +# define BOOST_PP_INC_527 528 +# define BOOST_PP_INC_528 529 +# define BOOST_PP_INC_529 530 +# define BOOST_PP_INC_530 531 +# define BOOST_PP_INC_531 532 +# define BOOST_PP_INC_532 533 +# define BOOST_PP_INC_533 534 +# define BOOST_PP_INC_534 535 +# define BOOST_PP_INC_535 536 +# define BOOST_PP_INC_536 537 +# define BOOST_PP_INC_537 538 +# define BOOST_PP_INC_538 539 +# define BOOST_PP_INC_539 540 +# define BOOST_PP_INC_540 541 +# define BOOST_PP_INC_541 542 +# define BOOST_PP_INC_542 543 +# define BOOST_PP_INC_543 544 +# define BOOST_PP_INC_544 545 +# define BOOST_PP_INC_545 546 +# define BOOST_PP_INC_546 547 +# define BOOST_PP_INC_547 548 +# define BOOST_PP_INC_548 549 +# define BOOST_PP_INC_549 550 +# define BOOST_PP_INC_550 551 +# define BOOST_PP_INC_551 552 +# define BOOST_PP_INC_552 553 +# define BOOST_PP_INC_553 554 +# define BOOST_PP_INC_554 555 +# define BOOST_PP_INC_555 556 +# define BOOST_PP_INC_556 557 +# define BOOST_PP_INC_557 558 +# define BOOST_PP_INC_558 559 +# define BOOST_PP_INC_559 560 +# define BOOST_PP_INC_560 561 +# define BOOST_PP_INC_561 562 +# define BOOST_PP_INC_562 563 +# define BOOST_PP_INC_563 564 +# define BOOST_PP_INC_564 565 +# define BOOST_PP_INC_565 566 +# define BOOST_PP_INC_566 567 +# define BOOST_PP_INC_567 568 +# define BOOST_PP_INC_568 569 +# define BOOST_PP_INC_569 570 +# define BOOST_PP_INC_570 571 +# define BOOST_PP_INC_571 572 +# define BOOST_PP_INC_572 573 +# define BOOST_PP_INC_573 574 +# define BOOST_PP_INC_574 575 +# define BOOST_PP_INC_575 576 +# define BOOST_PP_INC_576 577 +# define BOOST_PP_INC_577 578 +# define BOOST_PP_INC_578 579 +# define BOOST_PP_INC_579 580 +# define BOOST_PP_INC_580 581 +# define BOOST_PP_INC_581 582 +# define BOOST_PP_INC_582 583 +# define BOOST_PP_INC_583 584 +# define BOOST_PP_INC_584 585 +# define BOOST_PP_INC_585 586 +# define BOOST_PP_INC_586 587 +# define BOOST_PP_INC_587 588 +# define BOOST_PP_INC_588 589 +# define BOOST_PP_INC_589 590 +# define BOOST_PP_INC_590 591 +# define BOOST_PP_INC_591 592 +# define BOOST_PP_INC_592 593 +# define BOOST_PP_INC_593 594 +# define BOOST_PP_INC_594 595 +# define BOOST_PP_INC_595 596 +# define BOOST_PP_INC_596 597 +# define BOOST_PP_INC_597 598 +# define BOOST_PP_INC_598 599 +# define BOOST_PP_INC_599 600 +# define BOOST_PP_INC_600 601 +# define BOOST_PP_INC_601 602 +# define BOOST_PP_INC_602 603 +# define BOOST_PP_INC_603 604 +# define BOOST_PP_INC_604 605 +# define BOOST_PP_INC_605 606 +# define BOOST_PP_INC_606 607 +# define BOOST_PP_INC_607 608 +# define BOOST_PP_INC_608 609 +# define BOOST_PP_INC_609 610 +# define BOOST_PP_INC_610 611 +# define BOOST_PP_INC_611 612 +# define BOOST_PP_INC_612 613 +# define BOOST_PP_INC_613 614 +# define BOOST_PP_INC_614 615 +# define BOOST_PP_INC_615 616 +# define BOOST_PP_INC_616 617 +# define BOOST_PP_INC_617 618 +# define BOOST_PP_INC_618 619 +# define BOOST_PP_INC_619 620 +# define BOOST_PP_INC_620 621 +# define BOOST_PP_INC_621 622 +# define BOOST_PP_INC_622 623 +# define BOOST_PP_INC_623 624 +# define BOOST_PP_INC_624 625 +# define BOOST_PP_INC_625 626 +# define BOOST_PP_INC_626 627 +# define BOOST_PP_INC_627 628 +# define BOOST_PP_INC_628 629 +# define BOOST_PP_INC_629 630 +# define BOOST_PP_INC_630 631 +# define BOOST_PP_INC_631 632 +# define BOOST_PP_INC_632 633 +# define BOOST_PP_INC_633 634 +# define BOOST_PP_INC_634 635 +# define BOOST_PP_INC_635 636 +# define BOOST_PP_INC_636 637 +# define BOOST_PP_INC_637 638 +# define BOOST_PP_INC_638 639 +# define BOOST_PP_INC_639 640 +# define BOOST_PP_INC_640 641 +# define BOOST_PP_INC_641 642 +# define BOOST_PP_INC_642 643 +# define BOOST_PP_INC_643 644 +# define BOOST_PP_INC_644 645 +# define BOOST_PP_INC_645 646 +# define BOOST_PP_INC_646 647 +# define BOOST_PP_INC_647 648 +# define BOOST_PP_INC_648 649 +# define BOOST_PP_INC_649 650 +# define BOOST_PP_INC_650 651 +# define BOOST_PP_INC_651 652 +# define BOOST_PP_INC_652 653 +# define BOOST_PP_INC_653 654 +# define BOOST_PP_INC_654 655 +# define BOOST_PP_INC_655 656 +# define BOOST_PP_INC_656 657 +# define BOOST_PP_INC_657 658 +# define BOOST_PP_INC_658 659 +# define BOOST_PP_INC_659 660 +# define BOOST_PP_INC_660 661 +# define BOOST_PP_INC_661 662 +# define BOOST_PP_INC_662 663 +# define BOOST_PP_INC_663 664 +# define BOOST_PP_INC_664 665 +# define BOOST_PP_INC_665 666 +# define BOOST_PP_INC_666 667 +# define BOOST_PP_INC_667 668 +# define BOOST_PP_INC_668 669 +# define BOOST_PP_INC_669 670 +# define BOOST_PP_INC_670 671 +# define BOOST_PP_INC_671 672 +# define BOOST_PP_INC_672 673 +# define BOOST_PP_INC_673 674 +# define BOOST_PP_INC_674 675 +# define BOOST_PP_INC_675 676 +# define BOOST_PP_INC_676 677 +# define BOOST_PP_INC_677 678 +# define BOOST_PP_INC_678 679 +# define BOOST_PP_INC_679 680 +# define BOOST_PP_INC_680 681 +# define BOOST_PP_INC_681 682 +# define BOOST_PP_INC_682 683 +# define BOOST_PP_INC_683 684 +# define BOOST_PP_INC_684 685 +# define BOOST_PP_INC_685 686 +# define BOOST_PP_INC_686 687 +# define BOOST_PP_INC_687 688 +# define BOOST_PP_INC_688 689 +# define BOOST_PP_INC_689 690 +# define BOOST_PP_INC_690 691 +# define BOOST_PP_INC_691 692 +# define BOOST_PP_INC_692 693 +# define BOOST_PP_INC_693 694 +# define BOOST_PP_INC_694 695 +# define BOOST_PP_INC_695 696 +# define BOOST_PP_INC_696 697 +# define BOOST_PP_INC_697 698 +# define BOOST_PP_INC_698 699 +# define BOOST_PP_INC_699 700 +# define BOOST_PP_INC_700 701 +# define BOOST_PP_INC_701 702 +# define BOOST_PP_INC_702 703 +# define BOOST_PP_INC_703 704 +# define BOOST_PP_INC_704 705 +# define BOOST_PP_INC_705 706 +# define BOOST_PP_INC_706 707 +# define BOOST_PP_INC_707 708 +# define BOOST_PP_INC_708 709 +# define BOOST_PP_INC_709 710 +# define BOOST_PP_INC_710 711 +# define BOOST_PP_INC_711 712 +# define BOOST_PP_INC_712 713 +# define BOOST_PP_INC_713 714 +# define BOOST_PP_INC_714 715 +# define BOOST_PP_INC_715 716 +# define BOOST_PP_INC_716 717 +# define BOOST_PP_INC_717 718 +# define BOOST_PP_INC_718 719 +# define BOOST_PP_INC_719 720 +# define BOOST_PP_INC_720 721 +# define BOOST_PP_INC_721 722 +# define BOOST_PP_INC_722 723 +# define BOOST_PP_INC_723 724 +# define BOOST_PP_INC_724 725 +# define BOOST_PP_INC_725 726 +# define BOOST_PP_INC_726 727 +# define BOOST_PP_INC_727 728 +# define BOOST_PP_INC_728 729 +# define BOOST_PP_INC_729 730 +# define BOOST_PP_INC_730 731 +# define BOOST_PP_INC_731 732 +# define BOOST_PP_INC_732 733 +# define BOOST_PP_INC_733 734 +# define BOOST_PP_INC_734 735 +# define BOOST_PP_INC_735 736 +# define BOOST_PP_INC_736 737 +# define BOOST_PP_INC_737 738 +# define BOOST_PP_INC_738 739 +# define BOOST_PP_INC_739 740 +# define BOOST_PP_INC_740 741 +# define BOOST_PP_INC_741 742 +# define BOOST_PP_INC_742 743 +# define BOOST_PP_INC_743 744 +# define BOOST_PP_INC_744 745 +# define BOOST_PP_INC_745 746 +# define BOOST_PP_INC_746 747 +# define BOOST_PP_INC_747 748 +# define BOOST_PP_INC_748 749 +# define BOOST_PP_INC_749 750 +# define BOOST_PP_INC_750 751 +# define BOOST_PP_INC_751 752 +# define BOOST_PP_INC_752 753 +# define BOOST_PP_INC_753 754 +# define BOOST_PP_INC_754 755 +# define BOOST_PP_INC_755 756 +# define BOOST_PP_INC_756 757 +# define BOOST_PP_INC_757 758 +# define BOOST_PP_INC_758 759 +# define BOOST_PP_INC_759 760 +# define BOOST_PP_INC_760 761 +# define BOOST_PP_INC_761 762 +# define BOOST_PP_INC_762 763 +# define BOOST_PP_INC_763 764 +# define BOOST_PP_INC_764 765 +# define BOOST_PP_INC_765 766 +# define BOOST_PP_INC_766 767 +# define BOOST_PP_INC_767 768 +# define BOOST_PP_INC_768 769 +# define BOOST_PP_INC_769 770 +# define BOOST_PP_INC_770 771 +# define BOOST_PP_INC_771 772 +# define BOOST_PP_INC_772 773 +# define BOOST_PP_INC_773 774 +# define BOOST_PP_INC_774 775 +# define BOOST_PP_INC_775 776 +# define BOOST_PP_INC_776 777 +# define BOOST_PP_INC_777 778 +# define BOOST_PP_INC_778 779 +# define BOOST_PP_INC_779 780 +# define BOOST_PP_INC_780 781 +# define BOOST_PP_INC_781 782 +# define BOOST_PP_INC_782 783 +# define BOOST_PP_INC_783 784 +# define BOOST_PP_INC_784 785 +# define BOOST_PP_INC_785 786 +# define BOOST_PP_INC_786 787 +# define BOOST_PP_INC_787 788 +# define BOOST_PP_INC_788 789 +# define BOOST_PP_INC_789 790 +# define BOOST_PP_INC_790 791 +# define BOOST_PP_INC_791 792 +# define BOOST_PP_INC_792 793 +# define BOOST_PP_INC_793 794 +# define BOOST_PP_INC_794 795 +# define BOOST_PP_INC_795 796 +# define BOOST_PP_INC_796 797 +# define BOOST_PP_INC_797 798 +# define BOOST_PP_INC_798 799 +# define BOOST_PP_INC_799 800 +# define BOOST_PP_INC_800 801 +# define BOOST_PP_INC_801 802 +# define BOOST_PP_INC_802 803 +# define BOOST_PP_INC_803 804 +# define BOOST_PP_INC_804 805 +# define BOOST_PP_INC_805 806 +# define BOOST_PP_INC_806 807 +# define BOOST_PP_INC_807 808 +# define BOOST_PP_INC_808 809 +# define BOOST_PP_INC_809 810 +# define BOOST_PP_INC_810 811 +# define BOOST_PP_INC_811 812 +# define BOOST_PP_INC_812 813 +# define BOOST_PP_INC_813 814 +# define BOOST_PP_INC_814 815 +# define BOOST_PP_INC_815 816 +# define BOOST_PP_INC_816 817 +# define BOOST_PP_INC_817 818 +# define BOOST_PP_INC_818 819 +# define BOOST_PP_INC_819 820 +# define BOOST_PP_INC_820 821 +# define BOOST_PP_INC_821 822 +# define BOOST_PP_INC_822 823 +# define BOOST_PP_INC_823 824 +# define BOOST_PP_INC_824 825 +# define BOOST_PP_INC_825 826 +# define BOOST_PP_INC_826 827 +# define BOOST_PP_INC_827 828 +# define BOOST_PP_INC_828 829 +# define BOOST_PP_INC_829 830 +# define BOOST_PP_INC_830 831 +# define BOOST_PP_INC_831 832 +# define BOOST_PP_INC_832 833 +# define BOOST_PP_INC_833 834 +# define BOOST_PP_INC_834 835 +# define BOOST_PP_INC_835 836 +# define BOOST_PP_INC_836 837 +# define BOOST_PP_INC_837 838 +# define BOOST_PP_INC_838 839 +# define BOOST_PP_INC_839 840 +# define BOOST_PP_INC_840 841 +# define BOOST_PP_INC_841 842 +# define BOOST_PP_INC_842 843 +# define BOOST_PP_INC_843 844 +# define BOOST_PP_INC_844 845 +# define BOOST_PP_INC_845 846 +# define BOOST_PP_INC_846 847 +# define BOOST_PP_INC_847 848 +# define BOOST_PP_INC_848 849 +# define BOOST_PP_INC_849 850 +# define BOOST_PP_INC_850 851 +# define BOOST_PP_INC_851 852 +# define BOOST_PP_INC_852 853 +# define BOOST_PP_INC_853 854 +# define BOOST_PP_INC_854 855 +# define BOOST_PP_INC_855 856 +# define BOOST_PP_INC_856 857 +# define BOOST_PP_INC_857 858 +# define BOOST_PP_INC_858 859 +# define BOOST_PP_INC_859 860 +# define BOOST_PP_INC_860 861 +# define BOOST_PP_INC_861 862 +# define BOOST_PP_INC_862 863 +# define BOOST_PP_INC_863 864 +# define BOOST_PP_INC_864 865 +# define BOOST_PP_INC_865 866 +# define BOOST_PP_INC_866 867 +# define BOOST_PP_INC_867 868 +# define BOOST_PP_INC_868 869 +# define BOOST_PP_INC_869 870 +# define BOOST_PP_INC_870 871 +# define BOOST_PP_INC_871 872 +# define BOOST_PP_INC_872 873 +# define BOOST_PP_INC_873 874 +# define BOOST_PP_INC_874 875 +# define BOOST_PP_INC_875 876 +# define BOOST_PP_INC_876 877 +# define BOOST_PP_INC_877 878 +# define BOOST_PP_INC_878 879 +# define BOOST_PP_INC_879 880 +# define BOOST_PP_INC_880 881 +# define BOOST_PP_INC_881 882 +# define BOOST_PP_INC_882 883 +# define BOOST_PP_INC_883 884 +# define BOOST_PP_INC_884 885 +# define BOOST_PP_INC_885 886 +# define BOOST_PP_INC_886 887 +# define BOOST_PP_INC_887 888 +# define BOOST_PP_INC_888 889 +# define BOOST_PP_INC_889 890 +# define BOOST_PP_INC_890 891 +# define BOOST_PP_INC_891 892 +# define BOOST_PP_INC_892 893 +# define BOOST_PP_INC_893 894 +# define BOOST_PP_INC_894 895 +# define BOOST_PP_INC_895 896 +# define BOOST_PP_INC_896 897 +# define BOOST_PP_INC_897 898 +# define BOOST_PP_INC_898 899 +# define BOOST_PP_INC_899 900 +# define BOOST_PP_INC_900 901 +# define BOOST_PP_INC_901 902 +# define BOOST_PP_INC_902 903 +# define BOOST_PP_INC_903 904 +# define BOOST_PP_INC_904 905 +# define BOOST_PP_INC_905 906 +# define BOOST_PP_INC_906 907 +# define BOOST_PP_INC_907 908 +# define BOOST_PP_INC_908 909 +# define BOOST_PP_INC_909 910 +# define BOOST_PP_INC_910 911 +# define BOOST_PP_INC_911 912 +# define BOOST_PP_INC_912 913 +# define BOOST_PP_INC_913 914 +# define BOOST_PP_INC_914 915 +# define BOOST_PP_INC_915 916 +# define BOOST_PP_INC_916 917 +# define BOOST_PP_INC_917 918 +# define BOOST_PP_INC_918 919 +# define BOOST_PP_INC_919 920 +# define BOOST_PP_INC_920 921 +# define BOOST_PP_INC_921 922 +# define BOOST_PP_INC_922 923 +# define BOOST_PP_INC_923 924 +# define BOOST_PP_INC_924 925 +# define BOOST_PP_INC_925 926 +# define BOOST_PP_INC_926 927 +# define BOOST_PP_INC_927 928 +# define BOOST_PP_INC_928 929 +# define BOOST_PP_INC_929 930 +# define BOOST_PP_INC_930 931 +# define BOOST_PP_INC_931 932 +# define BOOST_PP_INC_932 933 +# define BOOST_PP_INC_933 934 +# define BOOST_PP_INC_934 935 +# define BOOST_PP_INC_935 936 +# define BOOST_PP_INC_936 937 +# define BOOST_PP_INC_937 938 +# define BOOST_PP_INC_938 939 +# define BOOST_PP_INC_939 940 +# define BOOST_PP_INC_940 941 +# define BOOST_PP_INC_941 942 +# define BOOST_PP_INC_942 943 +# define BOOST_PP_INC_943 944 +# define BOOST_PP_INC_944 945 +# define BOOST_PP_INC_945 946 +# define BOOST_PP_INC_946 947 +# define BOOST_PP_INC_947 948 +# define BOOST_PP_INC_948 949 +# define BOOST_PP_INC_949 950 +# define BOOST_PP_INC_950 951 +# define BOOST_PP_INC_951 952 +# define BOOST_PP_INC_952 953 +# define BOOST_PP_INC_953 954 +# define BOOST_PP_INC_954 955 +# define BOOST_PP_INC_955 956 +# define BOOST_PP_INC_956 957 +# define BOOST_PP_INC_957 958 +# define BOOST_PP_INC_958 959 +# define BOOST_PP_INC_959 960 +# define BOOST_PP_INC_960 961 +# define BOOST_PP_INC_961 962 +# define BOOST_PP_INC_962 963 +# define BOOST_PP_INC_963 964 +# define BOOST_PP_INC_964 965 +# define BOOST_PP_INC_965 966 +# define BOOST_PP_INC_966 967 +# define BOOST_PP_INC_967 968 +# define BOOST_PP_INC_968 969 +# define BOOST_PP_INC_969 970 +# define BOOST_PP_INC_970 971 +# define BOOST_PP_INC_971 972 +# define BOOST_PP_INC_972 973 +# define BOOST_PP_INC_973 974 +# define BOOST_PP_INC_974 975 +# define BOOST_PP_INC_975 976 +# define BOOST_PP_INC_976 977 +# define BOOST_PP_INC_977 978 +# define BOOST_PP_INC_978 979 +# define BOOST_PP_INC_979 980 +# define BOOST_PP_INC_980 981 +# define BOOST_PP_INC_981 982 +# define BOOST_PP_INC_982 983 +# define BOOST_PP_INC_983 984 +# define BOOST_PP_INC_984 985 +# define BOOST_PP_INC_985 986 +# define BOOST_PP_INC_986 987 +# define BOOST_PP_INC_987 988 +# define BOOST_PP_INC_988 989 +# define BOOST_PP_INC_989 990 +# define BOOST_PP_INC_990 991 +# define BOOST_PP_INC_991 992 +# define BOOST_PP_INC_992 993 +# define BOOST_PP_INC_993 994 +# define BOOST_PP_INC_994 995 +# define BOOST_PP_INC_995 996 +# define BOOST_PP_INC_996 997 +# define BOOST_PP_INC_997 998 +# define BOOST_PP_INC_998 999 +# define BOOST_PP_INC_999 1000 +# define BOOST_PP_INC_1000 1001 +# define BOOST_PP_INC_1001 1002 +# define BOOST_PP_INC_1002 1003 +# define BOOST_PP_INC_1003 1004 +# define BOOST_PP_INC_1004 1005 +# define BOOST_PP_INC_1005 1006 +# define BOOST_PP_INC_1006 1007 +# define BOOST_PP_INC_1007 1008 +# define BOOST_PP_INC_1008 1009 +# define BOOST_PP_INC_1009 1010 +# define BOOST_PP_INC_1010 1011 +# define BOOST_PP_INC_1011 1012 +# define BOOST_PP_INC_1012 1013 +# define BOOST_PP_INC_1013 1014 +# define BOOST_PP_INC_1014 1015 +# define BOOST_PP_INC_1015 1016 +# define BOOST_PP_INC_1016 1017 +# define BOOST_PP_INC_1017 1018 +# define BOOST_PP_INC_1018 1019 +# define BOOST_PP_INC_1019 1020 +# define BOOST_PP_INC_1020 1021 +# define BOOST_PP_INC_1021 1022 +# define BOOST_PP_INC_1022 1023 +# define BOOST_PP_INC_1023 1024 +# define BOOST_PP_INC_1024 1024 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_256.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_256.hpp index bb14d1b043..aefa6da707 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_256.hpp @@ -1,275 +1,275 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_256_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_INC_256_HPP -# -# define BOOST_PP_INC_0 1 -# define BOOST_PP_INC_1 2 -# define BOOST_PP_INC_2 3 -# define BOOST_PP_INC_3 4 -# define BOOST_PP_INC_4 5 -# define BOOST_PP_INC_5 6 -# define BOOST_PP_INC_6 7 -# define BOOST_PP_INC_7 8 -# define BOOST_PP_INC_8 9 -# define BOOST_PP_INC_9 10 -# define BOOST_PP_INC_10 11 -# define BOOST_PP_INC_11 12 -# define BOOST_PP_INC_12 13 -# define BOOST_PP_INC_13 14 -# define BOOST_PP_INC_14 15 -# define BOOST_PP_INC_15 16 -# define BOOST_PP_INC_16 17 -# define BOOST_PP_INC_17 18 -# define BOOST_PP_INC_18 19 -# define BOOST_PP_INC_19 20 -# define BOOST_PP_INC_20 21 -# define BOOST_PP_INC_21 22 -# define BOOST_PP_INC_22 23 -# define BOOST_PP_INC_23 24 -# define BOOST_PP_INC_24 25 -# define BOOST_PP_INC_25 26 -# define BOOST_PP_INC_26 27 -# define BOOST_PP_INC_27 28 -# define BOOST_PP_INC_28 29 -# define BOOST_PP_INC_29 30 -# define BOOST_PP_INC_30 31 -# define BOOST_PP_INC_31 32 -# define BOOST_PP_INC_32 33 -# define BOOST_PP_INC_33 34 -# define BOOST_PP_INC_34 35 -# define BOOST_PP_INC_35 36 -# define BOOST_PP_INC_36 37 -# define BOOST_PP_INC_37 38 -# define BOOST_PP_INC_38 39 -# define BOOST_PP_INC_39 40 -# define BOOST_PP_INC_40 41 -# define BOOST_PP_INC_41 42 -# define BOOST_PP_INC_42 43 -# define BOOST_PP_INC_43 44 -# define BOOST_PP_INC_44 45 -# define BOOST_PP_INC_45 46 -# define BOOST_PP_INC_46 47 -# define BOOST_PP_INC_47 48 -# define BOOST_PP_INC_48 49 -# define BOOST_PP_INC_49 50 -# define BOOST_PP_INC_50 51 -# define BOOST_PP_INC_51 52 -# define BOOST_PP_INC_52 53 -# define BOOST_PP_INC_53 54 -# define BOOST_PP_INC_54 55 -# define BOOST_PP_INC_55 56 -# define BOOST_PP_INC_56 57 -# define BOOST_PP_INC_57 58 -# define BOOST_PP_INC_58 59 -# define BOOST_PP_INC_59 60 -# define BOOST_PP_INC_60 61 -# define BOOST_PP_INC_61 62 -# define BOOST_PP_INC_62 63 -# define BOOST_PP_INC_63 64 -# define BOOST_PP_INC_64 65 -# define BOOST_PP_INC_65 66 -# define BOOST_PP_INC_66 67 -# define BOOST_PP_INC_67 68 -# define BOOST_PP_INC_68 69 -# define BOOST_PP_INC_69 70 -# define BOOST_PP_INC_70 71 -# define BOOST_PP_INC_71 72 -# define BOOST_PP_INC_72 73 -# define BOOST_PP_INC_73 74 -# define BOOST_PP_INC_74 75 -# define BOOST_PP_INC_75 76 -# define BOOST_PP_INC_76 77 -# define BOOST_PP_INC_77 78 -# define BOOST_PP_INC_78 79 -# define BOOST_PP_INC_79 80 -# define BOOST_PP_INC_80 81 -# define BOOST_PP_INC_81 82 -# define BOOST_PP_INC_82 83 -# define BOOST_PP_INC_83 84 -# define BOOST_PP_INC_84 85 -# define BOOST_PP_INC_85 86 -# define BOOST_PP_INC_86 87 -# define BOOST_PP_INC_87 88 -# define BOOST_PP_INC_88 89 -# define BOOST_PP_INC_89 90 -# define BOOST_PP_INC_90 91 -# define BOOST_PP_INC_91 92 -# define BOOST_PP_INC_92 93 -# define BOOST_PP_INC_93 94 -# define BOOST_PP_INC_94 95 -# define BOOST_PP_INC_95 96 -# define BOOST_PP_INC_96 97 -# define BOOST_PP_INC_97 98 -# define BOOST_PP_INC_98 99 -# define BOOST_PP_INC_99 100 -# define BOOST_PP_INC_100 101 -# define BOOST_PP_INC_101 102 -# define BOOST_PP_INC_102 103 -# define BOOST_PP_INC_103 104 -# define BOOST_PP_INC_104 105 -# define BOOST_PP_INC_105 106 -# define BOOST_PP_INC_106 107 -# define BOOST_PP_INC_107 108 -# define BOOST_PP_INC_108 109 -# define BOOST_PP_INC_109 110 -# define BOOST_PP_INC_110 111 -# define BOOST_PP_INC_111 112 -# define BOOST_PP_INC_112 113 -# define BOOST_PP_INC_113 114 -# define BOOST_PP_INC_114 115 -# define BOOST_PP_INC_115 116 -# define BOOST_PP_INC_116 117 -# define BOOST_PP_INC_117 118 -# define BOOST_PP_INC_118 119 -# define BOOST_PP_INC_119 120 -# define BOOST_PP_INC_120 121 -# define BOOST_PP_INC_121 122 -# define BOOST_PP_INC_122 123 -# define BOOST_PP_INC_123 124 -# define BOOST_PP_INC_124 125 -# define BOOST_PP_INC_125 126 -# define BOOST_PP_INC_126 127 -# define BOOST_PP_INC_127 128 -# define BOOST_PP_INC_128 129 -# define BOOST_PP_INC_129 130 -# define BOOST_PP_INC_130 131 -# define BOOST_PP_INC_131 132 -# define BOOST_PP_INC_132 133 -# define BOOST_PP_INC_133 134 -# define BOOST_PP_INC_134 135 -# define BOOST_PP_INC_135 136 -# define BOOST_PP_INC_136 137 -# define BOOST_PP_INC_137 138 -# define BOOST_PP_INC_138 139 -# define BOOST_PP_INC_139 140 -# define BOOST_PP_INC_140 141 -# define BOOST_PP_INC_141 142 -# define BOOST_PP_INC_142 143 -# define BOOST_PP_INC_143 144 -# define BOOST_PP_INC_144 145 -# define BOOST_PP_INC_145 146 -# define BOOST_PP_INC_146 147 -# define BOOST_PP_INC_147 148 -# define BOOST_PP_INC_148 149 -# define BOOST_PP_INC_149 150 -# define BOOST_PP_INC_150 151 -# define BOOST_PP_INC_151 152 -# define BOOST_PP_INC_152 153 -# define BOOST_PP_INC_153 154 -# define BOOST_PP_INC_154 155 -# define BOOST_PP_INC_155 156 -# define BOOST_PP_INC_156 157 -# define BOOST_PP_INC_157 158 -# define BOOST_PP_INC_158 159 -# define BOOST_PP_INC_159 160 -# define BOOST_PP_INC_160 161 -# define BOOST_PP_INC_161 162 -# define BOOST_PP_INC_162 163 -# define BOOST_PP_INC_163 164 -# define BOOST_PP_INC_164 165 -# define BOOST_PP_INC_165 166 -# define BOOST_PP_INC_166 167 -# define BOOST_PP_INC_167 168 -# define BOOST_PP_INC_168 169 -# define BOOST_PP_INC_169 170 -# define BOOST_PP_INC_170 171 -# define BOOST_PP_INC_171 172 -# define BOOST_PP_INC_172 173 -# define BOOST_PP_INC_173 174 -# define BOOST_PP_INC_174 175 -# define BOOST_PP_INC_175 176 -# define BOOST_PP_INC_176 177 -# define BOOST_PP_INC_177 178 -# define BOOST_PP_INC_178 179 -# define BOOST_PP_INC_179 180 -# define BOOST_PP_INC_180 181 -# define BOOST_PP_INC_181 182 -# define BOOST_PP_INC_182 183 -# define BOOST_PP_INC_183 184 -# define BOOST_PP_INC_184 185 -# define BOOST_PP_INC_185 186 -# define BOOST_PP_INC_186 187 -# define BOOST_PP_INC_187 188 -# define BOOST_PP_INC_188 189 -# define BOOST_PP_INC_189 190 -# define BOOST_PP_INC_190 191 -# define BOOST_PP_INC_191 192 -# define BOOST_PP_INC_192 193 -# define BOOST_PP_INC_193 194 -# define BOOST_PP_INC_194 195 -# define BOOST_PP_INC_195 196 -# define BOOST_PP_INC_196 197 -# define BOOST_PP_INC_197 198 -# define BOOST_PP_INC_198 199 -# define BOOST_PP_INC_199 200 -# define BOOST_PP_INC_200 201 -# define BOOST_PP_INC_201 202 -# define BOOST_PP_INC_202 203 -# define BOOST_PP_INC_203 204 -# define BOOST_PP_INC_204 205 -# define BOOST_PP_INC_205 206 -# define BOOST_PP_INC_206 207 -# define BOOST_PP_INC_207 208 -# define BOOST_PP_INC_208 209 -# define BOOST_PP_INC_209 210 -# define BOOST_PP_INC_210 211 -# define BOOST_PP_INC_211 212 -# define BOOST_PP_INC_212 213 -# define BOOST_PP_INC_213 214 -# define BOOST_PP_INC_214 215 -# define BOOST_PP_INC_215 216 -# define BOOST_PP_INC_216 217 -# define BOOST_PP_INC_217 218 -# define BOOST_PP_INC_218 219 -# define BOOST_PP_INC_219 220 -# define BOOST_PP_INC_220 221 -# define BOOST_PP_INC_221 222 -# define BOOST_PP_INC_222 223 -# define BOOST_PP_INC_223 224 -# define BOOST_PP_INC_224 225 -# define BOOST_PP_INC_225 226 -# define BOOST_PP_INC_226 227 -# define BOOST_PP_INC_227 228 -# define BOOST_PP_INC_228 229 -# define BOOST_PP_INC_229 230 -# define BOOST_PP_INC_230 231 -# define BOOST_PP_INC_231 232 -# define BOOST_PP_INC_232 233 -# define BOOST_PP_INC_233 234 -# define BOOST_PP_INC_234 235 -# define BOOST_PP_INC_235 236 -# define BOOST_PP_INC_236 237 -# define BOOST_PP_INC_237 238 -# define BOOST_PP_INC_238 239 -# define BOOST_PP_INC_239 240 -# define BOOST_PP_INC_240 241 -# define BOOST_PP_INC_241 242 -# define BOOST_PP_INC_242 243 -# define BOOST_PP_INC_243 244 -# define BOOST_PP_INC_244 245 -# define BOOST_PP_INC_245 246 -# define BOOST_PP_INC_246 247 -# define BOOST_PP_INC_247 248 -# define BOOST_PP_INC_248 249 -# define BOOST_PP_INC_249 250 -# define BOOST_PP_INC_250 251 -# define BOOST_PP_INC_251 252 -# define BOOST_PP_INC_252 253 -# define BOOST_PP_INC_253 254 -# define BOOST_PP_INC_254 255 -# define BOOST_PP_INC_255 256 -# define BOOST_PP_INC_256 256 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_256_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_INC_256_HPP +# +# define BOOST_PP_INC_0 1 +# define BOOST_PP_INC_1 2 +# define BOOST_PP_INC_2 3 +# define BOOST_PP_INC_3 4 +# define BOOST_PP_INC_4 5 +# define BOOST_PP_INC_5 6 +# define BOOST_PP_INC_6 7 +# define BOOST_PP_INC_7 8 +# define BOOST_PP_INC_8 9 +# define BOOST_PP_INC_9 10 +# define BOOST_PP_INC_10 11 +# define BOOST_PP_INC_11 12 +# define BOOST_PP_INC_12 13 +# define BOOST_PP_INC_13 14 +# define BOOST_PP_INC_14 15 +# define BOOST_PP_INC_15 16 +# define BOOST_PP_INC_16 17 +# define BOOST_PP_INC_17 18 +# define BOOST_PP_INC_18 19 +# define BOOST_PP_INC_19 20 +# define BOOST_PP_INC_20 21 +# define BOOST_PP_INC_21 22 +# define BOOST_PP_INC_22 23 +# define BOOST_PP_INC_23 24 +# define BOOST_PP_INC_24 25 +# define BOOST_PP_INC_25 26 +# define BOOST_PP_INC_26 27 +# define BOOST_PP_INC_27 28 +# define BOOST_PP_INC_28 29 +# define BOOST_PP_INC_29 30 +# define BOOST_PP_INC_30 31 +# define BOOST_PP_INC_31 32 +# define BOOST_PP_INC_32 33 +# define BOOST_PP_INC_33 34 +# define BOOST_PP_INC_34 35 +# define BOOST_PP_INC_35 36 +# define BOOST_PP_INC_36 37 +# define BOOST_PP_INC_37 38 +# define BOOST_PP_INC_38 39 +# define BOOST_PP_INC_39 40 +# define BOOST_PP_INC_40 41 +# define BOOST_PP_INC_41 42 +# define BOOST_PP_INC_42 43 +# define BOOST_PP_INC_43 44 +# define BOOST_PP_INC_44 45 +# define BOOST_PP_INC_45 46 +# define BOOST_PP_INC_46 47 +# define BOOST_PP_INC_47 48 +# define BOOST_PP_INC_48 49 +# define BOOST_PP_INC_49 50 +# define BOOST_PP_INC_50 51 +# define BOOST_PP_INC_51 52 +# define BOOST_PP_INC_52 53 +# define BOOST_PP_INC_53 54 +# define BOOST_PP_INC_54 55 +# define BOOST_PP_INC_55 56 +# define BOOST_PP_INC_56 57 +# define BOOST_PP_INC_57 58 +# define BOOST_PP_INC_58 59 +# define BOOST_PP_INC_59 60 +# define BOOST_PP_INC_60 61 +# define BOOST_PP_INC_61 62 +# define BOOST_PP_INC_62 63 +# define BOOST_PP_INC_63 64 +# define BOOST_PP_INC_64 65 +# define BOOST_PP_INC_65 66 +# define BOOST_PP_INC_66 67 +# define BOOST_PP_INC_67 68 +# define BOOST_PP_INC_68 69 +# define BOOST_PP_INC_69 70 +# define BOOST_PP_INC_70 71 +# define BOOST_PP_INC_71 72 +# define BOOST_PP_INC_72 73 +# define BOOST_PP_INC_73 74 +# define BOOST_PP_INC_74 75 +# define BOOST_PP_INC_75 76 +# define BOOST_PP_INC_76 77 +# define BOOST_PP_INC_77 78 +# define BOOST_PP_INC_78 79 +# define BOOST_PP_INC_79 80 +# define BOOST_PP_INC_80 81 +# define BOOST_PP_INC_81 82 +# define BOOST_PP_INC_82 83 +# define BOOST_PP_INC_83 84 +# define BOOST_PP_INC_84 85 +# define BOOST_PP_INC_85 86 +# define BOOST_PP_INC_86 87 +# define BOOST_PP_INC_87 88 +# define BOOST_PP_INC_88 89 +# define BOOST_PP_INC_89 90 +# define BOOST_PP_INC_90 91 +# define BOOST_PP_INC_91 92 +# define BOOST_PP_INC_92 93 +# define BOOST_PP_INC_93 94 +# define BOOST_PP_INC_94 95 +# define BOOST_PP_INC_95 96 +# define BOOST_PP_INC_96 97 +# define BOOST_PP_INC_97 98 +# define BOOST_PP_INC_98 99 +# define BOOST_PP_INC_99 100 +# define BOOST_PP_INC_100 101 +# define BOOST_PP_INC_101 102 +# define BOOST_PP_INC_102 103 +# define BOOST_PP_INC_103 104 +# define BOOST_PP_INC_104 105 +# define BOOST_PP_INC_105 106 +# define BOOST_PP_INC_106 107 +# define BOOST_PP_INC_107 108 +# define BOOST_PP_INC_108 109 +# define BOOST_PP_INC_109 110 +# define BOOST_PP_INC_110 111 +# define BOOST_PP_INC_111 112 +# define BOOST_PP_INC_112 113 +# define BOOST_PP_INC_113 114 +# define BOOST_PP_INC_114 115 +# define BOOST_PP_INC_115 116 +# define BOOST_PP_INC_116 117 +# define BOOST_PP_INC_117 118 +# define BOOST_PP_INC_118 119 +# define BOOST_PP_INC_119 120 +# define BOOST_PP_INC_120 121 +# define BOOST_PP_INC_121 122 +# define BOOST_PP_INC_122 123 +# define BOOST_PP_INC_123 124 +# define BOOST_PP_INC_124 125 +# define BOOST_PP_INC_125 126 +# define BOOST_PP_INC_126 127 +# define BOOST_PP_INC_127 128 +# define BOOST_PP_INC_128 129 +# define BOOST_PP_INC_129 130 +# define BOOST_PP_INC_130 131 +# define BOOST_PP_INC_131 132 +# define BOOST_PP_INC_132 133 +# define BOOST_PP_INC_133 134 +# define BOOST_PP_INC_134 135 +# define BOOST_PP_INC_135 136 +# define BOOST_PP_INC_136 137 +# define BOOST_PP_INC_137 138 +# define BOOST_PP_INC_138 139 +# define BOOST_PP_INC_139 140 +# define BOOST_PP_INC_140 141 +# define BOOST_PP_INC_141 142 +# define BOOST_PP_INC_142 143 +# define BOOST_PP_INC_143 144 +# define BOOST_PP_INC_144 145 +# define BOOST_PP_INC_145 146 +# define BOOST_PP_INC_146 147 +# define BOOST_PP_INC_147 148 +# define BOOST_PP_INC_148 149 +# define BOOST_PP_INC_149 150 +# define BOOST_PP_INC_150 151 +# define BOOST_PP_INC_151 152 +# define BOOST_PP_INC_152 153 +# define BOOST_PP_INC_153 154 +# define BOOST_PP_INC_154 155 +# define BOOST_PP_INC_155 156 +# define BOOST_PP_INC_156 157 +# define BOOST_PP_INC_157 158 +# define BOOST_PP_INC_158 159 +# define BOOST_PP_INC_159 160 +# define BOOST_PP_INC_160 161 +# define BOOST_PP_INC_161 162 +# define BOOST_PP_INC_162 163 +# define BOOST_PP_INC_163 164 +# define BOOST_PP_INC_164 165 +# define BOOST_PP_INC_165 166 +# define BOOST_PP_INC_166 167 +# define BOOST_PP_INC_167 168 +# define BOOST_PP_INC_168 169 +# define BOOST_PP_INC_169 170 +# define BOOST_PP_INC_170 171 +# define BOOST_PP_INC_171 172 +# define BOOST_PP_INC_172 173 +# define BOOST_PP_INC_173 174 +# define BOOST_PP_INC_174 175 +# define BOOST_PP_INC_175 176 +# define BOOST_PP_INC_176 177 +# define BOOST_PP_INC_177 178 +# define BOOST_PP_INC_178 179 +# define BOOST_PP_INC_179 180 +# define BOOST_PP_INC_180 181 +# define BOOST_PP_INC_181 182 +# define BOOST_PP_INC_182 183 +# define BOOST_PP_INC_183 184 +# define BOOST_PP_INC_184 185 +# define BOOST_PP_INC_185 186 +# define BOOST_PP_INC_186 187 +# define BOOST_PP_INC_187 188 +# define BOOST_PP_INC_188 189 +# define BOOST_PP_INC_189 190 +# define BOOST_PP_INC_190 191 +# define BOOST_PP_INC_191 192 +# define BOOST_PP_INC_192 193 +# define BOOST_PP_INC_193 194 +# define BOOST_PP_INC_194 195 +# define BOOST_PP_INC_195 196 +# define BOOST_PP_INC_196 197 +# define BOOST_PP_INC_197 198 +# define BOOST_PP_INC_198 199 +# define BOOST_PP_INC_199 200 +# define BOOST_PP_INC_200 201 +# define BOOST_PP_INC_201 202 +# define BOOST_PP_INC_202 203 +# define BOOST_PP_INC_203 204 +# define BOOST_PP_INC_204 205 +# define BOOST_PP_INC_205 206 +# define BOOST_PP_INC_206 207 +# define BOOST_PP_INC_207 208 +# define BOOST_PP_INC_208 209 +# define BOOST_PP_INC_209 210 +# define BOOST_PP_INC_210 211 +# define BOOST_PP_INC_211 212 +# define BOOST_PP_INC_212 213 +# define BOOST_PP_INC_213 214 +# define BOOST_PP_INC_214 215 +# define BOOST_PP_INC_215 216 +# define BOOST_PP_INC_216 217 +# define BOOST_PP_INC_217 218 +# define BOOST_PP_INC_218 219 +# define BOOST_PP_INC_219 220 +# define BOOST_PP_INC_220 221 +# define BOOST_PP_INC_221 222 +# define BOOST_PP_INC_222 223 +# define BOOST_PP_INC_223 224 +# define BOOST_PP_INC_224 225 +# define BOOST_PP_INC_225 226 +# define BOOST_PP_INC_226 227 +# define BOOST_PP_INC_227 228 +# define BOOST_PP_INC_228 229 +# define BOOST_PP_INC_229 230 +# define BOOST_PP_INC_230 231 +# define BOOST_PP_INC_231 232 +# define BOOST_PP_INC_232 233 +# define BOOST_PP_INC_233 234 +# define BOOST_PP_INC_234 235 +# define BOOST_PP_INC_235 236 +# define BOOST_PP_INC_236 237 +# define BOOST_PP_INC_237 238 +# define BOOST_PP_INC_238 239 +# define BOOST_PP_INC_239 240 +# define BOOST_PP_INC_240 241 +# define BOOST_PP_INC_241 242 +# define BOOST_PP_INC_242 243 +# define BOOST_PP_INC_243 244 +# define BOOST_PP_INC_244 245 +# define BOOST_PP_INC_245 246 +# define BOOST_PP_INC_246 247 +# define BOOST_PP_INC_247 248 +# define BOOST_PP_INC_248 249 +# define BOOST_PP_INC_249 250 +# define BOOST_PP_INC_250 251 +# define BOOST_PP_INC_251 252 +# define BOOST_PP_INC_252 253 +# define BOOST_PP_INC_253 254 +# define BOOST_PP_INC_254 255 +# define BOOST_PP_INC_255 256 +# define BOOST_PP_INC_256 256 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_512.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_512.hpp index df6ba47d01..23e86c7c7f 100644 --- a/external/include/boost_1_75/boost/preprocessor/arithmetic/limits/inc_512.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/limits/inc_512.hpp @@ -1,280 +1,280 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_512_HPP -# define BOOST_PREPROCESSOR_ARITHMETIC_INC_512_HPP -# -# if defined(BOOST_PP_INC_256) -# undef BOOST_PP_INC_256 -# endif -# -# define BOOST_PP_INC_256 257 -# define BOOST_PP_INC_257 258 -# define BOOST_PP_INC_258 259 -# define BOOST_PP_INC_259 260 -# define BOOST_PP_INC_260 261 -# define BOOST_PP_INC_261 262 -# define BOOST_PP_INC_262 263 -# define BOOST_PP_INC_263 264 -# define BOOST_PP_INC_264 265 -# define BOOST_PP_INC_265 266 -# define BOOST_PP_INC_266 267 -# define BOOST_PP_INC_267 268 -# define BOOST_PP_INC_268 269 -# define BOOST_PP_INC_269 270 -# define BOOST_PP_INC_270 271 -# define BOOST_PP_INC_271 272 -# define BOOST_PP_INC_272 273 -# define BOOST_PP_INC_273 274 -# define BOOST_PP_INC_274 275 -# define BOOST_PP_INC_275 276 -# define BOOST_PP_INC_276 277 -# define BOOST_PP_INC_277 278 -# define BOOST_PP_INC_278 279 -# define BOOST_PP_INC_279 280 -# define BOOST_PP_INC_280 281 -# define BOOST_PP_INC_281 282 -# define BOOST_PP_INC_282 283 -# define BOOST_PP_INC_283 284 -# define BOOST_PP_INC_284 285 -# define BOOST_PP_INC_285 286 -# define BOOST_PP_INC_286 287 -# define BOOST_PP_INC_287 288 -# define BOOST_PP_INC_288 289 -# define BOOST_PP_INC_289 290 -# define BOOST_PP_INC_290 291 -# define BOOST_PP_INC_291 292 -# define BOOST_PP_INC_292 293 -# define BOOST_PP_INC_293 294 -# define BOOST_PP_INC_294 295 -# define BOOST_PP_INC_295 296 -# define BOOST_PP_INC_296 297 -# define BOOST_PP_INC_297 298 -# define BOOST_PP_INC_298 299 -# define BOOST_PP_INC_299 300 -# define BOOST_PP_INC_300 301 -# define BOOST_PP_INC_301 302 -# define BOOST_PP_INC_302 303 -# define BOOST_PP_INC_303 304 -# define BOOST_PP_INC_304 305 -# define BOOST_PP_INC_305 306 -# define BOOST_PP_INC_306 307 -# define BOOST_PP_INC_307 308 -# define BOOST_PP_INC_308 309 -# define BOOST_PP_INC_309 310 -# define BOOST_PP_INC_310 311 -# define BOOST_PP_INC_311 312 -# define BOOST_PP_INC_312 313 -# define BOOST_PP_INC_313 314 -# define BOOST_PP_INC_314 315 -# define BOOST_PP_INC_315 316 -# define BOOST_PP_INC_316 317 -# define BOOST_PP_INC_317 318 -# define BOOST_PP_INC_318 319 -# define BOOST_PP_INC_319 320 -# define BOOST_PP_INC_320 321 -# define BOOST_PP_INC_321 322 -# define BOOST_PP_INC_322 323 -# define BOOST_PP_INC_323 324 -# define BOOST_PP_INC_324 325 -# define BOOST_PP_INC_325 326 -# define BOOST_PP_INC_326 327 -# define BOOST_PP_INC_327 328 -# define BOOST_PP_INC_328 329 -# define BOOST_PP_INC_329 330 -# define BOOST_PP_INC_330 331 -# define BOOST_PP_INC_331 332 -# define BOOST_PP_INC_332 333 -# define BOOST_PP_INC_333 334 -# define BOOST_PP_INC_334 335 -# define BOOST_PP_INC_335 336 -# define BOOST_PP_INC_336 337 -# define BOOST_PP_INC_337 338 -# define BOOST_PP_INC_338 339 -# define BOOST_PP_INC_339 340 -# define BOOST_PP_INC_340 341 -# define BOOST_PP_INC_341 342 -# define BOOST_PP_INC_342 343 -# define BOOST_PP_INC_343 344 -# define BOOST_PP_INC_344 345 -# define BOOST_PP_INC_345 346 -# define BOOST_PP_INC_346 347 -# define BOOST_PP_INC_347 348 -# define BOOST_PP_INC_348 349 -# define BOOST_PP_INC_349 350 -# define BOOST_PP_INC_350 351 -# define BOOST_PP_INC_351 352 -# define BOOST_PP_INC_352 353 -# define BOOST_PP_INC_353 354 -# define BOOST_PP_INC_354 355 -# define BOOST_PP_INC_355 356 -# define BOOST_PP_INC_356 357 -# define BOOST_PP_INC_357 358 -# define BOOST_PP_INC_358 359 -# define BOOST_PP_INC_359 360 -# define BOOST_PP_INC_360 361 -# define BOOST_PP_INC_361 362 -# define BOOST_PP_INC_362 363 -# define BOOST_PP_INC_363 364 -# define BOOST_PP_INC_364 365 -# define BOOST_PP_INC_365 366 -# define BOOST_PP_INC_366 367 -# define BOOST_PP_INC_367 368 -# define BOOST_PP_INC_368 369 -# define BOOST_PP_INC_369 370 -# define BOOST_PP_INC_370 371 -# define BOOST_PP_INC_371 372 -# define BOOST_PP_INC_372 373 -# define BOOST_PP_INC_373 374 -# define BOOST_PP_INC_374 375 -# define BOOST_PP_INC_375 376 -# define BOOST_PP_INC_376 377 -# define BOOST_PP_INC_377 378 -# define BOOST_PP_INC_378 379 -# define BOOST_PP_INC_379 380 -# define BOOST_PP_INC_380 381 -# define BOOST_PP_INC_381 382 -# define BOOST_PP_INC_382 383 -# define BOOST_PP_INC_383 384 -# define BOOST_PP_INC_384 385 -# define BOOST_PP_INC_385 386 -# define BOOST_PP_INC_386 387 -# define BOOST_PP_INC_387 388 -# define BOOST_PP_INC_388 389 -# define BOOST_PP_INC_389 390 -# define BOOST_PP_INC_390 391 -# define BOOST_PP_INC_391 392 -# define BOOST_PP_INC_392 393 -# define BOOST_PP_INC_393 394 -# define BOOST_PP_INC_394 395 -# define BOOST_PP_INC_395 396 -# define BOOST_PP_INC_396 397 -# define BOOST_PP_INC_397 398 -# define BOOST_PP_INC_398 399 -# define BOOST_PP_INC_399 400 -# define BOOST_PP_INC_400 401 -# define BOOST_PP_INC_401 402 -# define BOOST_PP_INC_402 403 -# define BOOST_PP_INC_403 404 -# define BOOST_PP_INC_404 405 -# define BOOST_PP_INC_405 406 -# define BOOST_PP_INC_406 407 -# define BOOST_PP_INC_407 408 -# define BOOST_PP_INC_408 409 -# define BOOST_PP_INC_409 410 -# define BOOST_PP_INC_410 411 -# define BOOST_PP_INC_411 412 -# define BOOST_PP_INC_412 413 -# define BOOST_PP_INC_413 414 -# define BOOST_PP_INC_414 415 -# define BOOST_PP_INC_415 416 -# define BOOST_PP_INC_416 417 -# define BOOST_PP_INC_417 418 -# define BOOST_PP_INC_418 419 -# define BOOST_PP_INC_419 420 -# define BOOST_PP_INC_420 421 -# define BOOST_PP_INC_421 422 -# define BOOST_PP_INC_422 423 -# define BOOST_PP_INC_423 424 -# define BOOST_PP_INC_424 425 -# define BOOST_PP_INC_425 426 -# define BOOST_PP_INC_426 427 -# define BOOST_PP_INC_427 428 -# define BOOST_PP_INC_428 429 -# define BOOST_PP_INC_429 430 -# define BOOST_PP_INC_430 431 -# define BOOST_PP_INC_431 432 -# define BOOST_PP_INC_432 433 -# define BOOST_PP_INC_433 434 -# define BOOST_PP_INC_434 435 -# define BOOST_PP_INC_435 436 -# define BOOST_PP_INC_436 437 -# define BOOST_PP_INC_437 438 -# define BOOST_PP_INC_438 439 -# define BOOST_PP_INC_439 440 -# define BOOST_PP_INC_440 441 -# define BOOST_PP_INC_441 442 -# define BOOST_PP_INC_442 443 -# define BOOST_PP_INC_443 444 -# define BOOST_PP_INC_444 445 -# define BOOST_PP_INC_445 446 -# define BOOST_PP_INC_446 447 -# define BOOST_PP_INC_447 448 -# define BOOST_PP_INC_448 449 -# define BOOST_PP_INC_449 450 -# define BOOST_PP_INC_450 451 -# define BOOST_PP_INC_451 452 -# define BOOST_PP_INC_452 453 -# define BOOST_PP_INC_453 454 -# define BOOST_PP_INC_454 455 -# define BOOST_PP_INC_455 456 -# define BOOST_PP_INC_456 457 -# define BOOST_PP_INC_457 458 -# define BOOST_PP_INC_458 459 -# define BOOST_PP_INC_459 460 -# define BOOST_PP_INC_460 461 -# define BOOST_PP_INC_461 462 -# define BOOST_PP_INC_462 463 -# define BOOST_PP_INC_463 464 -# define BOOST_PP_INC_464 465 -# define BOOST_PP_INC_465 466 -# define BOOST_PP_INC_466 467 -# define BOOST_PP_INC_467 468 -# define BOOST_PP_INC_468 469 -# define BOOST_PP_INC_469 470 -# define BOOST_PP_INC_470 471 -# define BOOST_PP_INC_471 472 -# define BOOST_PP_INC_472 473 -# define BOOST_PP_INC_473 474 -# define BOOST_PP_INC_474 475 -# define BOOST_PP_INC_475 476 -# define BOOST_PP_INC_476 477 -# define BOOST_PP_INC_477 478 -# define BOOST_PP_INC_478 479 -# define BOOST_PP_INC_479 480 -# define BOOST_PP_INC_480 481 -# define BOOST_PP_INC_481 482 -# define BOOST_PP_INC_482 483 -# define BOOST_PP_INC_483 484 -# define BOOST_PP_INC_484 485 -# define BOOST_PP_INC_485 486 -# define BOOST_PP_INC_486 487 -# define BOOST_PP_INC_487 488 -# define BOOST_PP_INC_488 489 -# define BOOST_PP_INC_489 490 -# define BOOST_PP_INC_490 491 -# define BOOST_PP_INC_491 492 -# define BOOST_PP_INC_492 493 -# define BOOST_PP_INC_493 494 -# define BOOST_PP_INC_494 495 -# define BOOST_PP_INC_495 496 -# define BOOST_PP_INC_496 497 -# define BOOST_PP_INC_497 498 -# define BOOST_PP_INC_498 499 -# define BOOST_PP_INC_499 500 -# define BOOST_PP_INC_500 501 -# define BOOST_PP_INC_501 502 -# define BOOST_PP_INC_502 503 -# define BOOST_PP_INC_503 504 -# define BOOST_PP_INC_504 505 -# define BOOST_PP_INC_505 506 -# define BOOST_PP_INC_506 507 -# define BOOST_PP_INC_507 508 -# define BOOST_PP_INC_508 509 -# define BOOST_PP_INC_509 510 -# define BOOST_PP_INC_510 511 -# define BOOST_PP_INC_511 512 -# define BOOST_PP_INC_512 512 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_512_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_INC_512_HPP +# +# if defined(BOOST_PP_INC_256) +# undef BOOST_PP_INC_256 +# endif +# +# define BOOST_PP_INC_256 257 +# define BOOST_PP_INC_257 258 +# define BOOST_PP_INC_258 259 +# define BOOST_PP_INC_259 260 +# define BOOST_PP_INC_260 261 +# define BOOST_PP_INC_261 262 +# define BOOST_PP_INC_262 263 +# define BOOST_PP_INC_263 264 +# define BOOST_PP_INC_264 265 +# define BOOST_PP_INC_265 266 +# define BOOST_PP_INC_266 267 +# define BOOST_PP_INC_267 268 +# define BOOST_PP_INC_268 269 +# define BOOST_PP_INC_269 270 +# define BOOST_PP_INC_270 271 +# define BOOST_PP_INC_271 272 +# define BOOST_PP_INC_272 273 +# define BOOST_PP_INC_273 274 +# define BOOST_PP_INC_274 275 +# define BOOST_PP_INC_275 276 +# define BOOST_PP_INC_276 277 +# define BOOST_PP_INC_277 278 +# define BOOST_PP_INC_278 279 +# define BOOST_PP_INC_279 280 +# define BOOST_PP_INC_280 281 +# define BOOST_PP_INC_281 282 +# define BOOST_PP_INC_282 283 +# define BOOST_PP_INC_283 284 +# define BOOST_PP_INC_284 285 +# define BOOST_PP_INC_285 286 +# define BOOST_PP_INC_286 287 +# define BOOST_PP_INC_287 288 +# define BOOST_PP_INC_288 289 +# define BOOST_PP_INC_289 290 +# define BOOST_PP_INC_290 291 +# define BOOST_PP_INC_291 292 +# define BOOST_PP_INC_292 293 +# define BOOST_PP_INC_293 294 +# define BOOST_PP_INC_294 295 +# define BOOST_PP_INC_295 296 +# define BOOST_PP_INC_296 297 +# define BOOST_PP_INC_297 298 +# define BOOST_PP_INC_298 299 +# define BOOST_PP_INC_299 300 +# define BOOST_PP_INC_300 301 +# define BOOST_PP_INC_301 302 +# define BOOST_PP_INC_302 303 +# define BOOST_PP_INC_303 304 +# define BOOST_PP_INC_304 305 +# define BOOST_PP_INC_305 306 +# define BOOST_PP_INC_306 307 +# define BOOST_PP_INC_307 308 +# define BOOST_PP_INC_308 309 +# define BOOST_PP_INC_309 310 +# define BOOST_PP_INC_310 311 +# define BOOST_PP_INC_311 312 +# define BOOST_PP_INC_312 313 +# define BOOST_PP_INC_313 314 +# define BOOST_PP_INC_314 315 +# define BOOST_PP_INC_315 316 +# define BOOST_PP_INC_316 317 +# define BOOST_PP_INC_317 318 +# define BOOST_PP_INC_318 319 +# define BOOST_PP_INC_319 320 +# define BOOST_PP_INC_320 321 +# define BOOST_PP_INC_321 322 +# define BOOST_PP_INC_322 323 +# define BOOST_PP_INC_323 324 +# define BOOST_PP_INC_324 325 +# define BOOST_PP_INC_325 326 +# define BOOST_PP_INC_326 327 +# define BOOST_PP_INC_327 328 +# define BOOST_PP_INC_328 329 +# define BOOST_PP_INC_329 330 +# define BOOST_PP_INC_330 331 +# define BOOST_PP_INC_331 332 +# define BOOST_PP_INC_332 333 +# define BOOST_PP_INC_333 334 +# define BOOST_PP_INC_334 335 +# define BOOST_PP_INC_335 336 +# define BOOST_PP_INC_336 337 +# define BOOST_PP_INC_337 338 +# define BOOST_PP_INC_338 339 +# define BOOST_PP_INC_339 340 +# define BOOST_PP_INC_340 341 +# define BOOST_PP_INC_341 342 +# define BOOST_PP_INC_342 343 +# define BOOST_PP_INC_343 344 +# define BOOST_PP_INC_344 345 +# define BOOST_PP_INC_345 346 +# define BOOST_PP_INC_346 347 +# define BOOST_PP_INC_347 348 +# define BOOST_PP_INC_348 349 +# define BOOST_PP_INC_349 350 +# define BOOST_PP_INC_350 351 +# define BOOST_PP_INC_351 352 +# define BOOST_PP_INC_352 353 +# define BOOST_PP_INC_353 354 +# define BOOST_PP_INC_354 355 +# define BOOST_PP_INC_355 356 +# define BOOST_PP_INC_356 357 +# define BOOST_PP_INC_357 358 +# define BOOST_PP_INC_358 359 +# define BOOST_PP_INC_359 360 +# define BOOST_PP_INC_360 361 +# define BOOST_PP_INC_361 362 +# define BOOST_PP_INC_362 363 +# define BOOST_PP_INC_363 364 +# define BOOST_PP_INC_364 365 +# define BOOST_PP_INC_365 366 +# define BOOST_PP_INC_366 367 +# define BOOST_PP_INC_367 368 +# define BOOST_PP_INC_368 369 +# define BOOST_PP_INC_369 370 +# define BOOST_PP_INC_370 371 +# define BOOST_PP_INC_371 372 +# define BOOST_PP_INC_372 373 +# define BOOST_PP_INC_373 374 +# define BOOST_PP_INC_374 375 +# define BOOST_PP_INC_375 376 +# define BOOST_PP_INC_376 377 +# define BOOST_PP_INC_377 378 +# define BOOST_PP_INC_378 379 +# define BOOST_PP_INC_379 380 +# define BOOST_PP_INC_380 381 +# define BOOST_PP_INC_381 382 +# define BOOST_PP_INC_382 383 +# define BOOST_PP_INC_383 384 +# define BOOST_PP_INC_384 385 +# define BOOST_PP_INC_385 386 +# define BOOST_PP_INC_386 387 +# define BOOST_PP_INC_387 388 +# define BOOST_PP_INC_388 389 +# define BOOST_PP_INC_389 390 +# define BOOST_PP_INC_390 391 +# define BOOST_PP_INC_391 392 +# define BOOST_PP_INC_392 393 +# define BOOST_PP_INC_393 394 +# define BOOST_PP_INC_394 395 +# define BOOST_PP_INC_395 396 +# define BOOST_PP_INC_396 397 +# define BOOST_PP_INC_397 398 +# define BOOST_PP_INC_398 399 +# define BOOST_PP_INC_399 400 +# define BOOST_PP_INC_400 401 +# define BOOST_PP_INC_401 402 +# define BOOST_PP_INC_402 403 +# define BOOST_PP_INC_403 404 +# define BOOST_PP_INC_404 405 +# define BOOST_PP_INC_405 406 +# define BOOST_PP_INC_406 407 +# define BOOST_PP_INC_407 408 +# define BOOST_PP_INC_408 409 +# define BOOST_PP_INC_409 410 +# define BOOST_PP_INC_410 411 +# define BOOST_PP_INC_411 412 +# define BOOST_PP_INC_412 413 +# define BOOST_PP_INC_413 414 +# define BOOST_PP_INC_414 415 +# define BOOST_PP_INC_415 416 +# define BOOST_PP_INC_416 417 +# define BOOST_PP_INC_417 418 +# define BOOST_PP_INC_418 419 +# define BOOST_PP_INC_419 420 +# define BOOST_PP_INC_420 421 +# define BOOST_PP_INC_421 422 +# define BOOST_PP_INC_422 423 +# define BOOST_PP_INC_423 424 +# define BOOST_PP_INC_424 425 +# define BOOST_PP_INC_425 426 +# define BOOST_PP_INC_426 427 +# define BOOST_PP_INC_427 428 +# define BOOST_PP_INC_428 429 +# define BOOST_PP_INC_429 430 +# define BOOST_PP_INC_430 431 +# define BOOST_PP_INC_431 432 +# define BOOST_PP_INC_432 433 +# define BOOST_PP_INC_433 434 +# define BOOST_PP_INC_434 435 +# define BOOST_PP_INC_435 436 +# define BOOST_PP_INC_436 437 +# define BOOST_PP_INC_437 438 +# define BOOST_PP_INC_438 439 +# define BOOST_PP_INC_439 440 +# define BOOST_PP_INC_440 441 +# define BOOST_PP_INC_441 442 +# define BOOST_PP_INC_442 443 +# define BOOST_PP_INC_443 444 +# define BOOST_PP_INC_444 445 +# define BOOST_PP_INC_445 446 +# define BOOST_PP_INC_446 447 +# define BOOST_PP_INC_447 448 +# define BOOST_PP_INC_448 449 +# define BOOST_PP_INC_449 450 +# define BOOST_PP_INC_450 451 +# define BOOST_PP_INC_451 452 +# define BOOST_PP_INC_452 453 +# define BOOST_PP_INC_453 454 +# define BOOST_PP_INC_454 455 +# define BOOST_PP_INC_455 456 +# define BOOST_PP_INC_456 457 +# define BOOST_PP_INC_457 458 +# define BOOST_PP_INC_458 459 +# define BOOST_PP_INC_459 460 +# define BOOST_PP_INC_460 461 +# define BOOST_PP_INC_461 462 +# define BOOST_PP_INC_462 463 +# define BOOST_PP_INC_463 464 +# define BOOST_PP_INC_464 465 +# define BOOST_PP_INC_465 466 +# define BOOST_PP_INC_466 467 +# define BOOST_PP_INC_467 468 +# define BOOST_PP_INC_468 469 +# define BOOST_PP_INC_469 470 +# define BOOST_PP_INC_470 471 +# define BOOST_PP_INC_471 472 +# define BOOST_PP_INC_472 473 +# define BOOST_PP_INC_473 474 +# define BOOST_PP_INC_474 475 +# define BOOST_PP_INC_475 476 +# define BOOST_PP_INC_476 477 +# define BOOST_PP_INC_477 478 +# define BOOST_PP_INC_478 479 +# define BOOST_PP_INC_479 480 +# define BOOST_PP_INC_480 481 +# define BOOST_PP_INC_481 482 +# define BOOST_PP_INC_482 483 +# define BOOST_PP_INC_483 484 +# define BOOST_PP_INC_484 485 +# define BOOST_PP_INC_485 486 +# define BOOST_PP_INC_486 487 +# define BOOST_PP_INC_487 488 +# define BOOST_PP_INC_488 489 +# define BOOST_PP_INC_489 490 +# define BOOST_PP_INC_490 491 +# define BOOST_PP_INC_491 492 +# define BOOST_PP_INC_492 493 +# define BOOST_PP_INC_493 494 +# define BOOST_PP_INC_494 495 +# define BOOST_PP_INC_495 496 +# define BOOST_PP_INC_496 497 +# define BOOST_PP_INC_497 498 +# define BOOST_PP_INC_498 499 +# define BOOST_PP_INC_499 500 +# define BOOST_PP_INC_500 501 +# define BOOST_PP_INC_501 502 +# define BOOST_PP_INC_502 503 +# define BOOST_PP_INC_503 504 +# define BOOST_PP_INC_504 505 +# define BOOST_PP_INC_505 506 +# define BOOST_PP_INC_506 507 +# define BOOST_PP_INC_507 508 +# define BOOST_PP_INC_508 509 +# define BOOST_PP_INC_509 510 +# define BOOST_PP_INC_510 511 +# define BOOST_PP_INC_511 512 +# define BOOST_PP_INC_512 512 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/arithmetic/sub.hpp b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/sub.hpp new file mode 100644 index 0000000000..a624a98cfe --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/arithmetic/sub.hpp @@ -0,0 +1,100 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# +# /* BOOST_PP_SUB */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# else +# define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y) +# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# endif +# +# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy +# else +# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) +# endif +# +# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y)) +# +# /* BOOST_PP_SUB_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# else +# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y) +# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# endif +# +# else +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SUB */ +# +# define BOOST_PP_SUB(x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(0,2),BOOST_PP_SUB_DO)(x,y) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SUB_DO(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# else +# define BOOST_PP_SUB_DO(x, y) BOOST_PP_SUB_I(x, y) +# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# endif +# +# define BOOST_PP_SUB_P(d, xy) BOOST_PP_AND(BOOST_PP_TUPLE_ELEM(2, 1, xy),BOOST_PP_TUPLE_ELEM(2, 0, xy)) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy +# else +# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) +# endif +# +# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y)) +# +# /* BOOST_PP_SUB_D */ +# +# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_IIF(BOOST_PP_BITOR(BOOST_PP_DETAIL_IS_MAXIMUM_NUMBER(y),BOOST_PP_DETAIL_IS_MINIMUM_NUMBER(x)),BOOST_PP_IDENTITY_N(0,3),BOOST_PP_SUB_DO_D)(d,x,y) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SUB_DO_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# else +# define BOOST_PP_SUB_DO_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y) +# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/array/data.hpp b/external/include/boost_1_90_0/boost/preprocessor/array/data.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/array/data.hpp rename to external/include/boost_1_90_0/boost/preprocessor/array/data.hpp index 10c926a750..4b00cdc231 100644 --- a/external/include/boost_1_75/boost/preprocessor/array/data.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/array/data.hpp @@ -1,28 +1,28 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP -# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP -# -# include -# include -# -# /* BOOST_PP_ARRAY_DATA */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array) -# else -# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array) -# define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array -# define BOOST_PP_ARRAY_DATA_II(size, data) data -# endif -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP +# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP +# +# include +# include +# +# /* BOOST_PP_ARRAY_DATA */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array) +# else +# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array) +# define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array +# define BOOST_PP_ARRAY_DATA_II(size, data) data +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/array/elem.hpp b/external/include/boost_1_90_0/boost/preprocessor/array/elem.hpp new file mode 100644 index 0000000000..4f11c08cc8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/array/elem.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP +# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_ELEM */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) +# else +# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array) +# define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/array/size.hpp b/external/include/boost_1_90_0/boost/preprocessor/array/size.hpp new file mode 100644 index 0000000000..d3d50eeae5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/array/size.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP +# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP +# +# include +# include +# +# /* BOOST_PP_ARRAY_SIZE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array) +# else +# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array) +# define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array +# define BOOST_PP_ARRAY_SIZE_II(size, data) size +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/cat.hpp b/external/include/boost_1_90_0/boost/preprocessor/cat.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/cat.hpp rename to external/include/boost_1_90_0/boost/preprocessor/cat.hpp index 52a389270c..a14d776b9f 100644 --- a/external/include/boost_1_75/boost/preprocessor/cat.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/cat.hpp @@ -1,35 +1,35 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CAT_HPP -# define BOOST_PREPROCESSOR_CAT_HPP -# -# include -# -# /* BOOST_PP_CAT */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b) -# else -# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b)) -# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par -# endif -# -# if (~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) -# define BOOST_PP_CAT_I(a, b) a ## b -# else -# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b) -# define BOOST_PP_CAT_II(p, res) res -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CAT_HPP +# define BOOST_PREPROCESSOR_CAT_HPP +# +# include +# +# /* BOOST_PP_CAT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b) +# else +# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b)) +# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par +# endif +# +# if (~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) +# define BOOST_PP_CAT_I(a, b) a ## b +# else +# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b) +# define BOOST_PP_CAT_II(p, res) res +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/comma_if.hpp b/external/include/boost_1_90_0/boost/preprocessor/comma_if.hpp new file mode 100644 index 0000000000..c629e1b16f --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/comma_if.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP +# define BOOST_PREPROCESSOR_COMMA_IF_HPP +# +# include +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/comparison/equal.hpp b/external/include/boost_1_90_0/boost/preprocessor/comparison/equal.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/comparison/equal.hpp rename to external/include/boost_1_90_0/boost/preprocessor/comparison/equal.hpp index d299efe586..5387e01f27 100644 --- a/external/include/boost_1_75/boost/preprocessor/comparison/equal.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/comparison/equal.hpp @@ -1,34 +1,34 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP -# define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP -# -# include -# include -# include -# -# /* BOOST_PP_EQUAL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_EQUAL(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y)) -# else -# define BOOST_PP_EQUAL(x, y) BOOST_PP_EQUAL_I(x, y) -# define BOOST_PP_EQUAL_I(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y)) -# endif -# -# /* BOOST_PP_EQUAL_D */ -# -# define BOOST_PP_EQUAL_D(d, x, y) BOOST_PP_EQUAL(x, y) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP +# define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP +# +# include +# include +# include +# +# /* BOOST_PP_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_EQUAL(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y)) +# else +# define BOOST_PP_EQUAL(x, y) BOOST_PP_EQUAL_I(x, y) +# define BOOST_PP_EQUAL_I(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y)) +# endif +# +# /* BOOST_PP_EQUAL_D */ +# +# define BOOST_PP_EQUAL_D(d, x, y) BOOST_PP_EQUAL(x, y) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_1024.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_1024.hpp index 79ff5c41cd..ee15a98a4e 100644 --- a/external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_1024.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_1024.hpp @@ -1,1044 +1,1044 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_1024_HPP -# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_1024_HPP -# -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_513(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_514(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_515(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_516(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_517(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_518(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_519(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_520(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_521(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_522(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_523(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_524(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_525(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_526(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_527(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_528(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_529(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_530(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_531(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_532(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_533(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_534(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_535(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_536(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_537(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_538(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_539(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_540(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_541(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_542(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_543(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_544(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_545(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_546(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_547(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_548(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_549(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_550(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_551(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_552(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_553(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_554(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_555(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_556(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_557(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_558(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_559(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_560(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_561(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_562(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_563(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_564(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_565(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_566(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_567(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_568(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_569(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_570(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_571(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_572(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_573(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_574(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_575(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_576(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_577(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_578(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_579(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_580(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_581(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_582(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_583(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_584(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_585(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_586(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_587(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_588(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_589(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_590(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_591(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_592(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_593(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_594(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_595(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_596(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_597(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_598(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_599(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_600(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_601(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_602(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_603(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_604(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_605(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_606(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_607(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_608(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_609(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_610(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_611(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_612(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_613(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_614(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_615(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_616(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_617(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_618(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_619(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_620(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_621(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_622(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_623(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_624(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_625(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_626(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_627(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_628(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_629(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_630(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_631(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_632(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_633(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_634(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_635(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_636(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_637(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_638(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_639(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_640(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_641(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_642(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_643(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_644(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_645(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_646(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_647(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_648(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_649(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_650(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_651(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_652(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_653(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_654(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_655(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_656(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_657(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_658(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_659(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_660(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_661(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_662(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_663(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_664(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_665(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_666(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_667(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_668(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_669(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_670(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_671(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_672(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_673(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_674(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_675(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_676(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_677(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_678(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_679(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_680(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_681(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_682(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_683(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_684(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_685(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_686(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_687(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_688(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_689(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_690(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_691(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_692(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_693(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_694(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_695(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_696(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_697(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_698(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_699(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_700(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_701(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_702(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_703(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_704(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_705(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_706(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_707(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_708(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_709(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_710(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_711(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_712(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_713(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_714(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_715(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_716(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_717(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_718(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_719(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_720(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_721(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_722(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_723(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_724(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_725(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_726(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_727(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_728(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_729(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_730(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_731(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_732(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_733(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_734(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_735(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_736(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_737(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_738(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_739(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_740(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_741(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_742(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_743(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_744(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_745(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_746(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_747(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_748(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_749(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_750(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_751(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_752(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_753(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_754(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_755(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_756(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_757(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_758(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_759(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_760(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_761(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_762(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_763(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_764(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_765(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_766(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_767(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_768(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_769(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_770(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_771(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_772(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_773(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_774(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_775(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_776(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_777(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_778(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_779(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_780(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_781(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_782(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_783(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_784(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_785(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_786(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_787(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_788(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_789(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_790(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_791(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_792(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_793(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_794(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_795(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_796(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_797(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_798(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_799(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_800(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_801(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_802(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_803(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_804(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_805(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_806(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_807(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_808(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_809(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_810(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_811(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_812(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_813(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_814(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_815(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_816(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_817(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_818(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_819(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_820(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_821(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_822(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_823(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_824(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_825(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_826(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_827(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_828(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_829(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_830(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_831(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_832(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_833(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_834(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_835(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_836(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_837(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_838(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_839(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_840(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_841(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_842(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_843(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_844(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_845(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_846(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_847(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_848(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_849(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_850(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_851(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_852(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_853(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_854(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_855(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_856(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_857(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_858(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_859(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_860(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_861(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_862(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_863(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_864(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_865(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_866(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_867(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_868(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_869(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_870(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_871(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_872(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_873(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_874(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_875(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_876(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_877(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_878(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_879(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_880(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_881(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_882(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_883(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_884(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_885(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_886(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_887(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_888(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_889(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_890(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_891(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_892(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_893(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_894(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_895(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_896(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_897(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_898(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_899(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_900(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_901(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_902(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_903(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_904(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_905(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_906(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_907(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_908(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_909(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_910(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_911(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_912(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_913(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_914(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_915(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_916(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_917(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_918(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_919(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_920(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_921(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_922(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_923(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_924(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_925(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_926(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_927(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_928(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_929(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_930(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_931(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_932(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_933(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_934(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_935(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_936(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_937(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_938(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_939(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_940(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_941(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_942(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_943(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_944(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_945(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_946(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_947(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_948(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_949(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_950(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_951(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_952(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_953(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_954(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_955(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_956(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_957(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_958(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_959(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_960(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_961(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_962(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_963(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_964(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_965(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_966(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_967(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_968(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_969(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_970(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_971(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_972(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_973(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_974(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_975(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_976(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_977(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_978(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_979(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_980(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_981(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_982(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_983(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_984(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_985(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_986(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_987(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_988(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_989(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_990(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_991(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_992(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_993(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_994(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_995(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_996(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_997(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_998(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_999(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1000(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1001(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1002(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1003(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1004(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1005(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1006(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1007(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1008(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1009(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1010(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1011(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1012(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1013(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1014(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1015(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1016(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1017(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1018(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1019(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1020(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1021(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1022(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1023(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1024(c, y) 0 -# -# define BOOST_PP_NOT_EQUAL_513(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_514(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_515(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_516(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_517(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_518(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_519(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_520(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_521(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_522(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_523(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_524(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_525(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_526(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_527(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_528(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_529(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_530(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_531(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_532(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_533(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_534(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_535(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_536(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_537(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_538(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_539(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_540(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_541(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_542(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_543(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_544(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_545(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_546(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_547(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_548(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_549(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_550(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_551(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_552(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_553(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_554(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_555(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_556(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_557(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_558(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_559(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_560(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_561(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_562(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_563(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_564(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_565(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_566(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_567(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_568(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_569(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_570(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_571(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_572(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_573(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_574(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_575(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_576(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_577(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_578(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_579(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_580(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_581(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_582(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_583(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_584(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_585(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_586(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_587(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_588(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_589(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_590(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_591(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_592(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_593(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_594(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_595(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_596(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_597(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_598(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_599(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_600(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_601(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_602(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_603(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_604(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_605(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_606(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_607(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_608(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_609(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_610(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_611(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_612(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_613(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_614(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_615(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_616(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_617(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_618(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_619(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_620(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_621(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_622(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_623(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_624(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_625(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_626(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_627(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_628(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_629(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_630(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_631(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_632(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_633(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_634(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_635(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_636(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_637(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_638(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_639(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_640(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_641(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_642(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_643(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_644(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_645(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_646(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_647(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_648(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_649(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_650(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_651(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_652(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_653(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_654(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_655(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_656(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_657(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_658(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_659(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_660(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_661(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_662(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_663(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_664(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_665(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_666(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_667(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_668(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_669(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_670(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_671(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_672(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_673(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_674(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_675(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_676(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_677(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_678(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_679(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_680(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_681(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_682(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_683(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_684(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_685(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_686(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_687(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_688(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_689(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_690(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_691(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_692(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_693(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_694(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_695(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_696(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_697(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_698(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_699(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_700(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_701(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_702(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_703(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_704(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_705(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_706(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_707(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_708(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_709(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_710(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_711(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_712(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_713(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_714(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_715(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_716(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_717(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_718(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_719(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_720(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_721(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_722(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_723(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_724(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_725(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_726(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_727(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_728(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_729(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_730(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_731(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_732(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_733(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_734(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_735(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_736(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_737(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_738(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_739(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_740(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_741(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_742(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_743(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_744(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_745(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_746(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_747(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_748(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_749(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_750(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_751(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_752(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_753(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_754(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_755(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_756(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_757(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_758(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_759(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_760(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_761(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_762(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_763(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_764(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_765(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_766(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_767(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_768(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_769(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_770(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_771(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_772(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_773(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_774(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_775(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_776(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_777(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_778(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_779(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_780(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_781(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_782(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_783(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_784(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_785(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_786(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_787(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_788(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_789(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_790(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_791(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_792(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_793(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_794(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_795(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_796(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_797(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_798(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_799(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_800(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_801(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_802(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_803(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_804(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_805(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_806(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_807(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_808(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_809(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_810(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_811(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_812(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_813(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_814(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_815(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_816(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_817(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_818(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_819(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_820(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_821(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_822(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_823(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_824(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_825(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_826(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_827(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_828(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_829(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_830(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_831(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_832(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_833(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_834(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_835(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_836(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_837(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_838(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_839(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_840(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_841(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_842(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_843(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_844(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_845(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_846(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_847(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_848(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_849(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_850(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_851(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_852(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_853(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_854(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_855(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_856(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_857(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_858(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_859(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_860(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_861(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_862(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_863(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_864(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_865(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_866(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_867(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_868(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_869(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_870(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_871(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_872(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_873(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_874(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_875(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_876(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_877(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_878(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_879(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_880(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_881(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_882(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_883(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_884(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_885(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_886(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_887(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_888(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_889(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_890(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_891(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_892(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_893(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_894(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_895(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_896(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_897(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_898(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_899(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_900(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_901(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_902(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_903(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_904(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_905(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_906(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_907(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_908(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_909(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_910(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_911(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_912(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_913(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_914(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_915(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_916(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_917(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_918(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_919(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_920(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_921(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_922(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_923(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_924(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_925(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_926(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_927(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_928(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_929(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_930(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_931(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_932(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_933(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_934(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_935(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_936(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_937(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_938(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_939(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_940(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_941(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_942(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_943(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_944(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_945(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_946(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_947(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_948(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_949(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_950(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_951(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_952(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_953(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_954(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_955(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_956(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_957(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_958(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_959(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_960(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_961(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_962(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_963(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_964(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_965(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_966(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_967(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_968(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_969(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_970(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_971(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_972(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_973(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_974(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_975(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_976(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_977(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_978(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_979(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_980(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_981(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_982(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_983(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_984(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_985(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_986(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_987(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_988(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_989(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_990(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_991(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_992(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_993(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_994(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_995(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_996(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_997(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_998(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_999(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1000(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1001(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1002(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1003(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1004(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1005(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1006(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1007(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1008(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1009(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1010(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1011(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1012(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1013(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1014(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1015(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1016(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1017(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1018(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1019(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1020(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1021(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1022(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1023(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1024(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_1024_HPP +# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_1024_HPP +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_513(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_514(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_515(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_516(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_517(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_518(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_519(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_520(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_521(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_522(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_523(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_524(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_525(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_526(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_527(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_528(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_529(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_530(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_531(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_532(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_533(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_534(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_535(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_536(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_537(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_538(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_539(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_540(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_541(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_542(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_543(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_544(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_545(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_546(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_547(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_548(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_549(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_550(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_551(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_552(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_553(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_554(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_555(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_556(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_557(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_558(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_559(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_560(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_561(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_562(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_563(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_564(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_565(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_566(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_567(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_568(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_569(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_570(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_571(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_572(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_573(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_574(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_575(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_576(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_577(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_578(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_579(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_580(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_581(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_582(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_583(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_584(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_585(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_586(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_587(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_588(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_589(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_590(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_591(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_592(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_593(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_594(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_595(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_596(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_597(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_598(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_599(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_600(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_601(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_602(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_603(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_604(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_605(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_606(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_607(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_608(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_609(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_610(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_611(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_612(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_613(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_614(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_615(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_616(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_617(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_618(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_619(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_620(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_621(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_622(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_623(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_624(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_625(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_626(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_627(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_628(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_629(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_630(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_631(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_632(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_633(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_634(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_635(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_636(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_637(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_638(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_639(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_640(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_641(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_642(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_643(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_644(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_645(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_646(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_647(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_648(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_649(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_650(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_651(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_652(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_653(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_654(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_655(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_656(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_657(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_658(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_659(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_660(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_661(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_662(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_663(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_664(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_665(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_666(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_667(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_668(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_669(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_670(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_671(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_672(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_673(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_674(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_675(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_676(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_677(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_678(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_679(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_680(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_681(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_682(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_683(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_684(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_685(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_686(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_687(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_688(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_689(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_690(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_691(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_692(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_693(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_694(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_695(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_696(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_697(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_698(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_699(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_700(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_701(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_702(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_703(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_704(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_705(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_706(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_707(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_708(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_709(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_710(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_711(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_712(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_713(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_714(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_715(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_716(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_717(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_718(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_719(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_720(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_721(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_722(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_723(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_724(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_725(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_726(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_727(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_728(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_729(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_730(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_731(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_732(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_733(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_734(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_735(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_736(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_737(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_738(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_739(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_740(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_741(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_742(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_743(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_744(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_745(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_746(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_747(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_748(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_749(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_750(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_751(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_752(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_753(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_754(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_755(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_756(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_757(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_758(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_759(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_760(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_761(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_762(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_763(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_764(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_765(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_766(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_767(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_768(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_769(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_770(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_771(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_772(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_773(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_774(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_775(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_776(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_777(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_778(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_779(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_780(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_781(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_782(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_783(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_784(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_785(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_786(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_787(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_788(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_789(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_790(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_791(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_792(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_793(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_794(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_795(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_796(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_797(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_798(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_799(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_800(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_801(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_802(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_803(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_804(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_805(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_806(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_807(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_808(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_809(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_810(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_811(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_812(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_813(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_814(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_815(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_816(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_817(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_818(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_819(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_820(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_821(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_822(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_823(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_824(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_825(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_826(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_827(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_828(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_829(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_830(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_831(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_832(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_833(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_834(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_835(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_836(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_837(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_838(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_839(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_840(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_841(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_842(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_843(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_844(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_845(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_846(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_847(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_848(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_849(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_850(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_851(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_852(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_853(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_854(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_855(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_856(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_857(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_858(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_859(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_860(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_861(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_862(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_863(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_864(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_865(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_866(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_867(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_868(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_869(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_870(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_871(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_872(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_873(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_874(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_875(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_876(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_877(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_878(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_879(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_880(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_881(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_882(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_883(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_884(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_885(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_886(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_887(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_888(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_889(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_890(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_891(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_892(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_893(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_894(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_895(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_896(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_897(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_898(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_899(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_900(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_901(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_902(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_903(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_904(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_905(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_906(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_907(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_908(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_909(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_910(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_911(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_912(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_913(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_914(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_915(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_916(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_917(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_918(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_919(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_920(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_921(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_922(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_923(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_924(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_925(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_926(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_927(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_928(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_929(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_930(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_931(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_932(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_933(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_934(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_935(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_936(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_937(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_938(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_939(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_940(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_941(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_942(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_943(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_944(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_945(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_946(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_947(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_948(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_949(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_950(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_951(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_952(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_953(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_954(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_955(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_956(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_957(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_958(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_959(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_960(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_961(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_962(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_963(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_964(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_965(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_966(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_967(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_968(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_969(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_970(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_971(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_972(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_973(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_974(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_975(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_976(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_977(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_978(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_979(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_980(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_981(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_982(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_983(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_984(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_985(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_986(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_987(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_988(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_989(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_990(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_991(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_992(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_993(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_994(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_995(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_996(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_997(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_998(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_999(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1000(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1001(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1002(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1003(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1004(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1005(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1006(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1007(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1008(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1009(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1010(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1011(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1012(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1013(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1014(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1015(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1016(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1017(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1018(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1019(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1020(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1021(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1022(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1023(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1024(c, y) 0 +# +# define BOOST_PP_NOT_EQUAL_513(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_514(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_515(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_516(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_517(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_518(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_519(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_520(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_521(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_522(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_523(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_524(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_525(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_526(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_527(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_528(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_529(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_530(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_531(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_532(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_533(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_534(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_535(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_536(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_537(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_538(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_539(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_540(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_541(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_542(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_543(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_544(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_545(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_546(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_547(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_548(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_549(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_550(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_551(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_552(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_553(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_554(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_555(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_556(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_557(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_558(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_559(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_560(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_561(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_562(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_563(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_564(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_565(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_566(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_567(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_568(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_569(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_570(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_571(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_572(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_573(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_574(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_575(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_576(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_577(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_578(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_579(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_580(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_581(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_582(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_583(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_584(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_585(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_586(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_587(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_588(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_589(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_590(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_591(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_592(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_593(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_594(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_595(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_596(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_597(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_598(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_599(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_600(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_601(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_602(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_603(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_604(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_605(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_606(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_607(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_608(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_609(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_610(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_611(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_612(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_613(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_614(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_615(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_616(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_617(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_618(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_619(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_620(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_621(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_622(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_623(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_624(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_625(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_626(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_627(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_628(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_629(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_630(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_631(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_632(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_633(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_634(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_635(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_636(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_637(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_638(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_639(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_640(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_641(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_642(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_643(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_644(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_645(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_646(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_647(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_648(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_649(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_650(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_651(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_652(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_653(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_654(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_655(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_656(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_657(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_658(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_659(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_660(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_661(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_662(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_663(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_664(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_665(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_666(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_667(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_668(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_669(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_670(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_671(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_672(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_673(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_674(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_675(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_676(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_677(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_678(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_679(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_680(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_681(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_682(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_683(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_684(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_685(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_686(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_687(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_688(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_689(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_690(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_691(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_692(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_693(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_694(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_695(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_696(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_697(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_698(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_699(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_700(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_701(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_702(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_703(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_704(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_705(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_706(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_707(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_708(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_709(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_710(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_711(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_712(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_713(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_714(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_715(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_716(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_717(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_718(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_719(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_720(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_721(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_722(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_723(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_724(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_725(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_726(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_727(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_728(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_729(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_730(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_731(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_732(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_733(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_734(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_735(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_736(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_737(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_738(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_739(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_740(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_741(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_742(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_743(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_744(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_745(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_746(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_747(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_748(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_749(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_750(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_751(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_752(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_753(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_754(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_755(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_756(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_757(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_758(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_759(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_760(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_761(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_762(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_763(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_764(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_765(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_766(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_767(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_768(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_769(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_770(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_771(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_772(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_773(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_774(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_775(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_776(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_777(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_778(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_779(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_780(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_781(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_782(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_783(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_784(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_785(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_786(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_787(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_788(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_789(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_790(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_791(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_792(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_793(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_794(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_795(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_796(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_797(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_798(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_799(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_800(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_801(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_802(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_803(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_804(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_805(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_806(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_807(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_808(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_809(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_810(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_811(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_812(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_813(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_814(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_815(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_816(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_817(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_818(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_819(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_820(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_821(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_822(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_823(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_824(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_825(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_826(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_827(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_828(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_829(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_830(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_831(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_832(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_833(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_834(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_835(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_836(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_837(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_838(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_839(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_840(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_841(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_842(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_843(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_844(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_845(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_846(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_847(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_848(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_849(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_850(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_851(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_852(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_853(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_854(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_855(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_856(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_857(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_858(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_859(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_860(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_861(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_862(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_863(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_864(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_865(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_866(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_867(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_868(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_869(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_870(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_871(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_872(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_873(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_874(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_875(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_876(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_877(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_878(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_879(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_880(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_881(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_882(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_883(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_884(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_885(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_886(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_887(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_888(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_889(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_890(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_891(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_892(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_893(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_894(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_895(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_896(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_897(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_898(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_899(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_900(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_901(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_902(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_903(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_904(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_905(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_906(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_907(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_908(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_909(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_910(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_911(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_912(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_913(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_914(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_915(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_916(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_917(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_918(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_919(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_920(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_921(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_922(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_923(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_924(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_925(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_926(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_927(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_928(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_929(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_930(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_931(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_932(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_933(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_934(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_935(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_936(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_937(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_938(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_939(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_940(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_941(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_942(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_943(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_944(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_945(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_946(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_947(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_948(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_949(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_950(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_951(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_952(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_953(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_954(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_955(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_956(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_957(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_958(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_959(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_960(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_961(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_962(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_963(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_964(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_965(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_966(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_967(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_968(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_969(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_970(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_971(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_972(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_973(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_974(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_975(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_976(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_977(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_978(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_979(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_980(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_981(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_982(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_983(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_984(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_985(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_986(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_987(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_988(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_989(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_990(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_991(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_992(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_993(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_994(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_995(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_996(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_997(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_998(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_999(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1000(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1001(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1002(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1003(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1004(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1005(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1006(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1007(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1008(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1009(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1010(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1011(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1012(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1013(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1014(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1015(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1016(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1017(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1018(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1019(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1020(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1021(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1022(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1023(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1024(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_256.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_256.hpp index 68b1d2abed..fdd9d652b0 100644 --- a/external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_256.hpp @@ -1,793 +1,793 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_256_HPP -# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_256_HPP -# -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0 -# -#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# else -# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_256_HPP +# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_256_HPP +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0 +# +#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# else +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_512.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_512.hpp index e272740089..a748b08e5c 100644 --- a/external/include/boost_1_75/boost/preprocessor/comparison/limits/not_equal_512.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/comparison/limits/not_equal_512.hpp @@ -1,532 +1,532 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_512_HPP -# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_512_HPP -# -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_257(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_258(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_259(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_260(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_261(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_262(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_263(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_264(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_265(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_266(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_267(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_268(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_269(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_270(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_271(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_272(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_273(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_274(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_275(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_276(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_277(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_278(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_279(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_280(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_281(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_282(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_283(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_284(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_285(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_286(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_287(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_288(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_289(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_290(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_291(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_292(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_293(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_294(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_295(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_296(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_297(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_298(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_299(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_300(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_301(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_302(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_303(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_304(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_305(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_306(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_307(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_308(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_309(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_310(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_311(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_312(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_313(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_314(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_315(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_316(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_317(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_318(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_319(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_320(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_321(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_322(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_323(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_324(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_325(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_326(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_327(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_328(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_329(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_330(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_331(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_332(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_333(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_334(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_335(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_336(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_337(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_338(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_339(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_340(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_341(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_342(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_343(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_344(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_345(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_346(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_347(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_348(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_349(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_350(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_351(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_352(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_353(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_354(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_355(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_356(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_357(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_358(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_359(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_360(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_361(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_362(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_363(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_364(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_365(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_366(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_367(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_368(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_369(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_370(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_371(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_372(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_373(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_374(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_375(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_376(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_377(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_378(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_379(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_380(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_381(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_382(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_383(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_384(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_385(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_386(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_387(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_388(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_389(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_390(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_391(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_392(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_393(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_394(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_395(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_396(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_397(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_398(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_399(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_400(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_401(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_402(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_403(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_404(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_405(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_406(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_407(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_408(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_409(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_410(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_411(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_412(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_413(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_414(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_415(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_416(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_417(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_418(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_419(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_420(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_421(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_422(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_423(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_424(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_425(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_426(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_427(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_428(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_429(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_430(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_431(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_432(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_433(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_434(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_435(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_436(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_437(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_438(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_439(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_440(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_441(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_442(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_443(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_444(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_445(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_446(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_447(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_448(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_449(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_450(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_451(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_452(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_453(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_454(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_455(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_456(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_457(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_458(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_459(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_460(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_461(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_462(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_463(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_464(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_465(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_466(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_467(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_468(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_469(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_470(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_471(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_472(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_473(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_474(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_475(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_476(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_477(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_478(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_479(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_480(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_481(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_482(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_483(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_484(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_485(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_486(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_487(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_488(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_489(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_490(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_491(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_492(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_493(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_494(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_495(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_496(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_497(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_498(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_499(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_500(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_501(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_502(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_503(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_504(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_505(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_506(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_507(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_508(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_509(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_510(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_511(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_512(c, y) 0 -# -# define BOOST_PP_NOT_EQUAL_257(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_258(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_259(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_260(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_261(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_262(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_263(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_264(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_265(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_266(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_267(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_268(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_269(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_270(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_271(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_272(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_273(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_274(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_275(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_276(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_277(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_278(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_279(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_280(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_281(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_282(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_283(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_284(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_285(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_286(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_287(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_288(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_289(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_290(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_291(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_292(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_293(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_294(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_295(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_296(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_297(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_298(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_299(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_300(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_301(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_302(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_303(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_304(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_305(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_306(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_307(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_308(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_309(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_310(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_311(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_312(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_313(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_314(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_315(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_316(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_317(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_318(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_319(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_320(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_321(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_322(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_323(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_324(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_325(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_326(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_327(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_328(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_329(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_330(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_331(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_332(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_333(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_334(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_335(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_336(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_337(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_338(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_339(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_340(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_341(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_342(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_343(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_344(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_345(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_346(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_347(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_348(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_349(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_350(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_351(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_352(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_353(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_354(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_355(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_356(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_357(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_358(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_359(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_360(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_361(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_362(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_363(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_364(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_365(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_366(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_367(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_368(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_369(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_370(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_371(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_372(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_373(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_374(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_375(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_376(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_377(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_378(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_379(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_380(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_381(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_382(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_383(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_384(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_385(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_386(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_387(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_388(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_389(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_390(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_391(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_392(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_393(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_394(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_395(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_396(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_397(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_398(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_399(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_400(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_401(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_402(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_403(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_404(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_405(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_406(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_407(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_408(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_409(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_410(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_411(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_412(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_413(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_414(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_415(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_416(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_417(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_418(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_419(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_420(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_421(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_422(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_423(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_424(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_425(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_426(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_427(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_428(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_429(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_430(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_431(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_432(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_433(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_434(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_435(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_436(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_437(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_438(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_439(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_440(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_441(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_442(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_443(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_444(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_445(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_446(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_447(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_448(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_449(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_450(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_451(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_452(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_453(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_454(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_455(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_456(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_457(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_458(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_459(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_460(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_461(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_462(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_463(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_464(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_465(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_466(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_467(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_468(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_469(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_470(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_471(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_472(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_473(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_474(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_475(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_476(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_477(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_478(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_479(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_480(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_481(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_482(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_483(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_484(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_485(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_486(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_487(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_488(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_489(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_490(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_491(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_492(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_493(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_494(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_495(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_496(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_497(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_498(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_499(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_500(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_501(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_502(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_503(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_504(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_505(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_506(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_507(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_508(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_509(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_510(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_511(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_512(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_512_HPP +# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_512_HPP +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_257(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_258(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_259(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_260(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_261(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_262(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_263(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_264(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_265(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_266(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_267(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_268(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_269(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_270(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_271(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_272(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_273(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_274(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_275(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_276(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_277(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_278(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_279(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_280(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_281(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_282(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_283(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_284(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_285(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_286(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_287(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_288(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_289(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_290(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_291(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_292(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_293(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_294(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_295(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_296(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_297(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_298(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_299(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_300(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_301(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_302(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_303(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_304(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_305(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_306(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_307(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_308(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_309(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_310(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_311(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_312(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_313(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_314(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_315(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_316(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_317(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_318(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_319(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_320(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_321(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_322(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_323(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_324(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_325(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_326(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_327(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_328(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_329(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_330(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_331(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_332(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_333(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_334(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_335(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_336(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_337(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_338(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_339(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_340(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_341(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_342(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_343(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_344(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_345(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_346(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_347(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_348(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_349(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_350(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_351(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_352(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_353(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_354(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_355(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_356(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_357(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_358(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_359(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_360(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_361(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_362(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_363(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_364(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_365(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_366(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_367(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_368(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_369(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_370(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_371(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_372(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_373(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_374(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_375(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_376(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_377(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_378(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_379(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_380(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_381(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_382(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_383(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_384(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_385(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_386(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_387(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_388(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_389(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_390(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_391(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_392(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_393(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_394(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_395(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_396(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_397(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_398(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_399(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_400(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_401(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_402(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_403(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_404(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_405(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_406(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_407(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_408(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_409(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_410(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_411(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_412(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_413(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_414(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_415(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_416(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_417(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_418(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_419(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_420(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_421(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_422(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_423(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_424(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_425(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_426(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_427(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_428(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_429(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_430(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_431(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_432(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_433(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_434(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_435(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_436(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_437(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_438(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_439(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_440(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_441(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_442(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_443(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_444(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_445(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_446(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_447(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_448(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_449(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_450(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_451(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_452(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_453(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_454(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_455(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_456(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_457(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_458(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_459(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_460(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_461(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_462(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_463(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_464(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_465(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_466(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_467(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_468(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_469(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_470(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_471(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_472(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_473(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_474(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_475(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_476(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_477(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_478(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_479(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_480(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_481(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_482(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_483(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_484(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_485(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_486(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_487(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_488(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_489(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_490(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_491(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_492(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_493(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_494(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_495(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_496(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_497(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_498(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_499(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_500(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_501(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_502(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_503(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_504(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_505(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_506(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_507(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_508(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_509(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_510(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_511(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_512(c, y) 0 +# +# define BOOST_PP_NOT_EQUAL_257(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_258(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_259(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_260(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_261(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_262(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_263(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_264(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_265(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_266(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_267(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_268(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_269(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_270(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_271(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_272(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_273(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_274(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_275(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_276(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_277(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_278(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_279(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_280(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_281(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_282(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_283(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_284(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_285(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_286(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_287(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_288(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_289(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_290(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_291(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_292(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_293(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_294(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_295(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_296(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_297(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_298(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_299(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_300(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_301(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_302(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_303(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_304(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_305(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_306(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_307(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_308(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_309(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_310(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_311(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_312(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_313(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_314(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_315(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_316(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_317(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_318(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_319(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_320(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_321(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_322(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_323(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_324(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_325(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_326(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_327(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_328(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_329(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_330(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_331(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_332(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_333(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_334(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_335(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_336(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_337(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_338(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_339(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_340(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_341(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_342(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_343(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_344(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_345(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_346(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_347(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_348(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_349(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_350(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_351(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_352(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_353(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_354(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_355(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_356(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_357(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_358(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_359(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_360(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_361(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_362(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_363(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_364(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_365(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_366(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_367(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_368(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_369(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_370(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_371(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_372(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_373(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_374(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_375(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_376(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_377(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_378(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_379(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_380(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_381(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_382(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_383(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_384(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_385(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_386(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_387(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_388(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_389(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_390(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_391(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_392(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_393(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_394(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_395(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_396(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_397(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_398(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_399(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_400(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_401(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_402(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_403(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_404(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_405(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_406(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_407(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_408(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_409(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_410(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_411(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_412(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_413(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_414(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_415(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_416(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_417(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_418(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_419(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_420(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_421(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_422(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_423(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_424(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_425(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_426(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_427(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_428(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_429(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_430(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_431(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_432(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_433(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_434(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_435(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_436(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_437(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_438(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_439(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_440(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_441(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_442(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_443(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_444(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_445(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_446(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_447(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_448(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_449(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_450(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_451(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_452(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_453(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_454(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_455(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_456(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_457(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_458(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_459(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_460(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_461(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_462(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_463(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_464(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_465(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_466(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_467(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_468(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_469(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_470(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_471(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_472(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_473(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_474(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_475(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_476(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_477(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_478(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_479(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_480(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_481(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_482(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_483(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_484(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_485(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_486(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_487(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_488(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_489(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_490(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_491(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_492(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_493(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_494(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_495(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_496(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_497(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_498(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_499(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_500(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_501(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_502(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_503(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_504(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_505(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_506(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_507(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_508(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_509(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_510(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_511(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_512(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/comparison/not_equal.hpp b/external/include/boost_1_90_0/boost/preprocessor/comparison/not_equal.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/comparison/not_equal.hpp rename to external/include/boost_1_90_0/boost/preprocessor/comparison/not_equal.hpp index c11731ea0d..857e3a8ddf 100644 --- a/external/include/boost_1_75/boost/preprocessor/comparison/not_equal.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/comparison/not_equal.hpp @@ -1,857 +1,857 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP -# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# include -# -# /* BOOST_PP_NOT_EQUAL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y) -# else -# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y)) -# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par -# endif -# -# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y)) -# -# /* BOOST_PP_NOT_EQUAL_D */ -# -# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y) -# -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1 -# -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0 -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0 -# -#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) -# else -# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) -# endif -# -# else -# -# include -# include -# -# /* BOOST_PP_NOT_EQUAL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y) -# else -# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y)) -# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par -# endif -# -# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y)) -# -# /* BOOST_PP_NOT_EQUAL_D */ -# -# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y) -# -# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1 -# -# include -# -# if BOOST_PP_LIMIT_MAG == 256 -# include -# elif BOOST_PP_LIMIT_MAG == 512 -# include -# include -# elif BOOST_PP_LIMIT_MAG == 1024 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_MAG limit -# endif -# -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP +# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# +# /* BOOST_PP_NOT_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y) +# else +# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y)) +# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par +# endif +# +# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y)) +# +# /* BOOST_PP_NOT_EQUAL_D */ +# +# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y) +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0 +# +#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# else +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# endif +# +# else +# +# include +# include +# +# /* BOOST_PP_NOT_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y) +# else +# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y)) +# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par +# endif +# +# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y)) +# +# /* BOOST_PP_NOT_EQUAL_D */ +# +# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y) +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1 +# +# include +# +# if BOOST_PP_LIMIT_MAG == 256 +# include +# elif BOOST_PP_LIMIT_MAG == 512 +# include +# include +# elif BOOST_PP_LIMIT_MAG == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_MAG limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/config/config.hpp b/external/include/boost_1_90_0/boost/preprocessor/config/config.hpp new file mode 100644 index 0000000000..44b0ee7ac9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/config/config.hpp @@ -0,0 +1,98 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011-2020. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP +# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP +# +# /* BOOST_PP_CONFIG_FLAGS */ +# +# define BOOST_PP_CONFIG_STRICT() 0x0001 +# define BOOST_PP_CONFIG_IDEAL() 0x0002 +# +# define BOOST_PP_CONFIG_MSVC() 0x0004 +# define BOOST_PP_CONFIG_MWCC() 0x0008 +# define BOOST_PP_CONFIG_BCC() 0x0010 +# define BOOST_PP_CONFIG_EDG() 0x0020 +# define BOOST_PP_CONFIG_DMC() 0x0040 +# +# ifndef BOOST_PP_CONFIG_FLAGS +# if defined(__GCCXML__) || defined(__WAVE__) || defined(__MWERKS__) && __MWERKS__ >= 0x3200 +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__EDG__) || defined(__EDG_VERSION__) +# if defined(_MSC_VER) && !defined(__clang__) && (defined(__INTELLISENSE__) || __EDG_VERSION__ >= 308) +# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) +# else +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# endif +# else +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT()) +# endif +# elif defined(_MSC_VER) && defined(__clang__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__MWERKS__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC()) +# elif defined(__DMC__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC()) +# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581 +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC()) +# elif defined(_MSC_VER) +# if !defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) +# else +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# endif +# else +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# endif +# endif +# +# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */ +# +# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO +# define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0 +# endif +# +# /* BOOST_PP_CONFIG_ERRORS */ +# +# ifndef BOOST_PP_CONFIG_ERRORS +# ifdef NDEBUG +# define BOOST_PP_CONFIG_ERRORS 0 +# else +# define BOOST_PP_CONFIG_ERRORS 1 +# endif +# endif +# +# /* BOOST_PP_VARIADICS */ +# +# if defined BOOST_PP_VARIADICS +# undef BOOST_PP_VARIADICS +# endif +# if defined BOOST_PP_VARIADICS_MSVC +# undef BOOST_PP_VARIADICS_MSVC +# endif +# define BOOST_PP_VARIADICS 1 +# if defined _MSC_VER && _MSC_VER >= 1400 && !defined(__clang__) && (defined(__INTELLISENSE__) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1700) || !(defined __EDG__ || defined __GCCXML__ || defined __PATHSCALE__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI)) && (!defined(_MSVC_TRADITIONAL) || _MSVC_TRADITIONAL) +# define BOOST_PP_VARIADICS_MSVC 1 +# else +# define BOOST_PP_VARIADICS_MSVC 0 +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_IS_STANDARD() 1 +# else +# define BOOST_PP_IS_STANDARD() 0 +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/config/limits.hpp b/external/include/boost_1_90_0/boost/preprocessor/config/limits.hpp new file mode 100644 index 0000000000..1d2a20227a --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/config/limits.hpp @@ -0,0 +1,163 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2011,2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP +# define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP +# +# include +# +# if defined(BOOST_PP_LIMIT_DIM) +# undef BOOST_PP_LIMIT_DIM +# endif +# if defined(BOOST_PP_LIMIT_ITERATION_DIM) +# undef BOOST_PP_LIMIT_ITERATION_DIM +# endif +# if defined(BOOST_PP_LIMIT_SLOT_SIG) +# undef BOOST_PP_LIMIT_SLOT_SIG +# endif +# if defined(BOOST_PP_LIMIT_SLOT_COUNT) +# undef BOOST_PP_LIMIT_SLOT_COUNT +# endif +# if defined(BOOST_PP_LIMIT_WHILE) +# undef BOOST_PP_LIMIT_WHILE +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# if defined(BOOST_PP_LIMIT_MAG) +# undef BOOST_PP_LIMIT_MAG +# endif +# if defined(BOOST_PP_LIMIT_VARIADIC) +# undef BOOST_PP_LIMIT_VARIADIC +# endif +# if defined(BOOST_PP_LIMIT_TUPLE) +# undef BOOST_PP_LIMIT_TUPLE +# endif +# if defined(BOOST_PP_LIMIT_FOR) +# undef BOOST_PP_LIMIT_FOR +# endif +# if defined(BOOST_PP_LIMIT_REPEAT) +# undef BOOST_PP_LIMIT_REPEAT +# endif +# if defined(BOOST_PP_LIMIT_SEQ) +# undef BOOST_PP_LIMIT_SEQ +# endif +# if defined(BOOST_PP_LIMIT_ITERATION) +# undef BOOST_PP_LIMIT_ITERATION +# endif +# +# define BOOST_PP_LIMIT_MAG 256 +# define BOOST_PP_LIMIT_WHILE 256 +# define BOOST_PP_LIMIT_VARIADIC 64 +# define BOOST_PP_LIMIT_TUPLE 64 +# define BOOST_PP_LIMIT_FOR 256 +# define BOOST_PP_LIMIT_SEQ 256 +# define BOOST_PP_LIMIT_REPEAT 256 +# define BOOST_PP_LIMIT_ITERATION 256 +# +#else +# +# if defined(BOOST_PP_LIMIT_MAG) +# if !(BOOST_PP_LIMIT_MAG == 256 || BOOST_PP_LIMIT_MAG == 512 || BOOST_PP_LIMIT_MAG == 1024) +# undef BOOST_PP_LIMIT_MAG +# define BOOST_PP_LIMIT_MAG 256 +# define BOOST_PP_LIMIT_WHILE 256 +# else +# define BOOST_PP_LIMIT_WHILE BOOST_PP_LIMIT_MAG +# if !defined(BOOST_PP_LIMIT_SEQ) +# define BOOST_PP_LIMIT_SEQ BOOST_PP_LIMIT_MAG +# endif +# endif +# else +# define BOOST_PP_LIMIT_MAG 256 +# define BOOST_PP_LIMIT_WHILE 256 +# endif +# +# if defined(BOOST_PP_LIMIT_VARIADIC) +# if !(BOOST_PP_LIMIT_VARIADIC == 64 || BOOST_PP_LIMIT_VARIADIC == 128 || BOOST_PP_LIMIT_VARIADIC == 256) +# undef BOOST_PP_LIMIT_VARIADIC +# define BOOST_PP_LIMIT_VARIADIC 64 +# endif +# else +# define BOOST_PP_LIMIT_VARIADIC 64 +# endif +# +# if defined(BOOST_PP_LIMIT_TUPLE) +# if !(BOOST_PP_LIMIT_TUPLE == 64 || BOOST_PP_LIMIT_TUPLE == 128 || BOOST_PP_LIMIT_TUPLE == 256) +# undef BOOST_PP_LIMIT_TUPLE +# define BOOST_PP_LIMIT_TUPLE 64 +# elif BOOST_PP_LIMIT_TUPLE > BOOST_PP_LIMIT_VARIADIC +# undef BOOST_PP_LIMIT_VARIADIC +# define BOOST_PP_LIMIT_VARIADIC BOOST_PP_LIMIT_TUPLE +# endif +# else +# define BOOST_PP_LIMIT_TUPLE 64 +# endif +# +# if defined(BOOST_PP_LIMIT_FOR) +# if !(BOOST_PP_LIMIT_FOR == 256 || BOOST_PP_LIMIT_FOR == 512 || BOOST_PP_LIMIT_FOR == 1024) +# undef BOOST_PP_LIMIT_FOR +# define BOOST_PP_LIMIT_FOR 256 +# elif BOOST_PP_LIMIT_FOR > BOOST_PP_LIMIT_MAG +# undef BOOST_PP_LIMIT_FOR +# define BOOST_PP_LIMIT_FOR BOOST_PP_LIMIT_MAG +# endif +# else +# define BOOST_PP_LIMIT_FOR 256 +# endif +# +# if defined(BOOST_PP_LIMIT_REPEAT) +# if !(BOOST_PP_LIMIT_REPEAT == 256 || BOOST_PP_LIMIT_REPEAT == 512 || BOOST_PP_LIMIT_REPEAT == 1024) +# undef BOOST_PP_LIMIT_REPEAT +# define BOOST_PP_LIMIT_REPEAT 256 +# elif BOOST_PP_LIMIT_REPEAT > BOOST_PP_LIMIT_MAG +# undef BOOST_PP_LIMIT_REPEAT +# define BOOST_PP_LIMIT_REPEAT BOOST_PP_LIMIT_MAG +# endif +# else +# define BOOST_PP_LIMIT_REPEAT 256 +# endif +# +# if defined(BOOST_PP_LIMIT_SEQ) +# if !(BOOST_PP_LIMIT_SEQ == 256 || BOOST_PP_LIMIT_SEQ == 512 || BOOST_PP_LIMIT_SEQ == 1024) +# undef BOOST_PP_LIMIT_SEQ +# define BOOST_PP_LIMIT_SEQ 256 +# elif BOOST_PP_LIMIT_SEQ > BOOST_PP_LIMIT_MAG +# undef BOOST_PP_LIMIT_SEQ +# define BOOST_PP_LIMIT_SEQ BOOST_PP_LIMIT_MAG +# endif +# else +# define BOOST_PP_LIMIT_SEQ 256 +# endif +# +# if defined(BOOST_PP_LIMIT_ITERATION) +# if !(BOOST_PP_LIMIT_ITERATION == 256 || BOOST_PP_LIMIT_ITERATION == 512 || BOOST_PP_LIMIT_ITERATION == 1024) +# undef BOOST_PP_LIMIT_ITERATION +# define BOOST_PP_LIMIT_ITERATION 256 +# elif BOOST_PP_LIMIT_ITERATION > BOOST_PP_LIMIT_MAG +# undef BOOST_PP_LIMIT_ITERATION +# define BOOST_PP_LIMIT_ITERATION BOOST_PP_LIMIT_MAG +# endif +# else +# define BOOST_PP_LIMIT_ITERATION 256 +# endif +# +# endif +# +# define BOOST_PP_LIMIT_DIM 3 +# define BOOST_PP_LIMIT_ITERATION_DIM 3 +# define BOOST_PP_LIMIT_SLOT_SIG 10 +# define BOOST_PP_LIMIT_SLOT_COUNT 5 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/dmc/while.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/dmc/while.hpp new file mode 100644 index 0000000000..a327ea97cd --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/dmc/while.hpp @@ -0,0 +1,535 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_DMC_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_DMC_WHILE_HPP +# +# include +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s) +# +# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s)) +# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s)) +# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s)) +# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s)) +# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s)) +# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s)) +# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s)) +# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s)) +# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s)) +# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s)) +# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s)) +# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s)) +# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s)) +# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s)) +# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s)) +# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s)) +# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s)) +# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s)) +# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s)) +# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s)) +# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s)) +# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s)) +# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s)) +# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s)) +# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s)) +# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s)) +# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s)) +# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s)) +# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s)) +# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s)) +# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s)) +# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s)) +# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s)) +# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s)) +# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s)) +# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s)) +# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s)) +# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s)) +# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s)) +# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s)) +# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s)) +# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s)) +# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s)) +# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s)) +# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s)) +# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s)) +# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s)) +# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s)) +# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s)) +# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s)) +# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s)) +# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s)) +# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s)) +# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s)) +# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s)) +# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s)) +# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s)) +# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s)) +# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s)) +# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s)) +# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s)) +# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s)) +# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s)) +# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s)) +# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s)) +# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s)) +# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s)) +# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s)) +# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s)) +# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s)) +# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s)) +# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s)) +# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s)) +# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s)) +# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s)) +# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s)) +# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s)) +# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s)) +# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s)) +# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s)) +# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s)) +# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s)) +# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s)) +# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s)) +# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s)) +# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s)) +# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s)) +# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s)) +# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s)) +# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s)) +# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s)) +# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s)) +# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s)) +# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s)) +# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s)) +# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s)) +# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s)) +# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s)) +# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s)) +# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s)) +# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s)) +# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s)) +# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s)) +# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s)) +# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s)) +# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s)) +# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s)) +# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s)) +# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s)) +# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s)) +# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s)) +# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s)) +# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s)) +# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s)) +# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s)) +# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s)) +# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s)) +# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s)) +# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s)) +# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s)) +# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s)) +# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s)) +# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s)) +# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s)) +# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s)) +# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s)) +# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s)) +# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s)) +# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s)) +# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s)) +# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s)) +# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s)) +# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s)) +# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s)) +# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s)) +# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s)) +# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s)) +# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s)) +# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s)) +# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s)) +# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s)) +# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s)) +# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s)) +# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s)) +# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s)) +# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s)) +# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s)) +# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s)) +# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s)) +# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s)) +# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s)) +# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s)) +# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s)) +# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s)) +# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s)) +# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s)) +# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s)) +# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s)) +# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s)) +# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s)) +# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s)) +# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s)) +# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s)) +# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s)) +# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s)) +# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s)) +# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s)) +# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s)) +# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s)) +# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s)) +# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s)) +# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s)) +# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s)) +# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s)) +# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s)) +# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s)) +# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s)) +# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s)) +# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s)) +# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s)) +# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s)) +# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s)) +# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s)) +# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s)) +# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s)) +# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s)) +# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s)) +# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s)) +# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s)) +# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s)) +# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s)) +# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s)) +# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s)) +# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s)) +# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s)) +# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s)) +# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s)) +# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s)) +# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s)) +# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s)) +# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s)) +# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s)) +# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s)) +# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s)) +# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s)) +# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s)) +# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s)) +# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s)) +# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s)) +# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s)) +# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s)) +# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s)) +# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s)) +# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s)) +# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s)) +# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s)) +# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s)) +# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s)) +# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s)) +# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s)) +# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s)) +# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s)) +# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s)) +# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s)) +# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s)) +# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s)) +# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s)) +# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s)) +# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s)) +# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s)) +# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s)) +# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s)) +# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s)) +# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s)) +# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s)) +# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s)) +# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s)) +# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s)) +# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s)) +# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s)) +# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s)) +# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s)) +# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s)) +# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s)) +# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s)) +# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s)) +# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s)) +# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s)) +# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s)) +# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s)) +# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s)) +# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s)) +# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s)) +# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s)) +# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s)) +# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_1024.hpp new file mode 100644 index 0000000000..a500a80d6f --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_1024.hpp @@ -0,0 +1,1044 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_1024_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_1024_HPP +# +# define BOOST_PP_WHILE_513(p, o, s) BOOST_PP_WHILE_513_I(p, o, s) +# define BOOST_PP_WHILE_514(p, o, s) BOOST_PP_WHILE_514_I(p, o, s) +# define BOOST_PP_WHILE_515(p, o, s) BOOST_PP_WHILE_515_I(p, o, s) +# define BOOST_PP_WHILE_516(p, o, s) BOOST_PP_WHILE_516_I(p, o, s) +# define BOOST_PP_WHILE_517(p, o, s) BOOST_PP_WHILE_517_I(p, o, s) +# define BOOST_PP_WHILE_518(p, o, s) BOOST_PP_WHILE_518_I(p, o, s) +# define BOOST_PP_WHILE_519(p, o, s) BOOST_PP_WHILE_519_I(p, o, s) +# define BOOST_PP_WHILE_520(p, o, s) BOOST_PP_WHILE_520_I(p, o, s) +# define BOOST_PP_WHILE_521(p, o, s) BOOST_PP_WHILE_521_I(p, o, s) +# define BOOST_PP_WHILE_522(p, o, s) BOOST_PP_WHILE_522_I(p, o, s) +# define BOOST_PP_WHILE_523(p, o, s) BOOST_PP_WHILE_523_I(p, o, s) +# define BOOST_PP_WHILE_524(p, o, s) BOOST_PP_WHILE_524_I(p, o, s) +# define BOOST_PP_WHILE_525(p, o, s) BOOST_PP_WHILE_525_I(p, o, s) +# define BOOST_PP_WHILE_526(p, o, s) BOOST_PP_WHILE_526_I(p, o, s) +# define BOOST_PP_WHILE_527(p, o, s) BOOST_PP_WHILE_527_I(p, o, s) +# define BOOST_PP_WHILE_528(p, o, s) BOOST_PP_WHILE_528_I(p, o, s) +# define BOOST_PP_WHILE_529(p, o, s) BOOST_PP_WHILE_529_I(p, o, s) +# define BOOST_PP_WHILE_530(p, o, s) BOOST_PP_WHILE_530_I(p, o, s) +# define BOOST_PP_WHILE_531(p, o, s) BOOST_PP_WHILE_531_I(p, o, s) +# define BOOST_PP_WHILE_532(p, o, s) BOOST_PP_WHILE_532_I(p, o, s) +# define BOOST_PP_WHILE_533(p, o, s) BOOST_PP_WHILE_533_I(p, o, s) +# define BOOST_PP_WHILE_534(p, o, s) BOOST_PP_WHILE_534_I(p, o, s) +# define BOOST_PP_WHILE_535(p, o, s) BOOST_PP_WHILE_535_I(p, o, s) +# define BOOST_PP_WHILE_536(p, o, s) BOOST_PP_WHILE_536_I(p, o, s) +# define BOOST_PP_WHILE_537(p, o, s) BOOST_PP_WHILE_537_I(p, o, s) +# define BOOST_PP_WHILE_538(p, o, s) BOOST_PP_WHILE_538_I(p, o, s) +# define BOOST_PP_WHILE_539(p, o, s) BOOST_PP_WHILE_539_I(p, o, s) +# define BOOST_PP_WHILE_540(p, o, s) BOOST_PP_WHILE_540_I(p, o, s) +# define BOOST_PP_WHILE_541(p, o, s) BOOST_PP_WHILE_541_I(p, o, s) +# define BOOST_PP_WHILE_542(p, o, s) BOOST_PP_WHILE_542_I(p, o, s) +# define BOOST_PP_WHILE_543(p, o, s) BOOST_PP_WHILE_543_I(p, o, s) +# define BOOST_PP_WHILE_544(p, o, s) BOOST_PP_WHILE_544_I(p, o, s) +# define BOOST_PP_WHILE_545(p, o, s) BOOST_PP_WHILE_545_I(p, o, s) +# define BOOST_PP_WHILE_546(p, o, s) BOOST_PP_WHILE_546_I(p, o, s) +# define BOOST_PP_WHILE_547(p, o, s) BOOST_PP_WHILE_547_I(p, o, s) +# define BOOST_PP_WHILE_548(p, o, s) BOOST_PP_WHILE_548_I(p, o, s) +# define BOOST_PP_WHILE_549(p, o, s) BOOST_PP_WHILE_549_I(p, o, s) +# define BOOST_PP_WHILE_550(p, o, s) BOOST_PP_WHILE_550_I(p, o, s) +# define BOOST_PP_WHILE_551(p, o, s) BOOST_PP_WHILE_551_I(p, o, s) +# define BOOST_PP_WHILE_552(p, o, s) BOOST_PP_WHILE_552_I(p, o, s) +# define BOOST_PP_WHILE_553(p, o, s) BOOST_PP_WHILE_553_I(p, o, s) +# define BOOST_PP_WHILE_554(p, o, s) BOOST_PP_WHILE_554_I(p, o, s) +# define BOOST_PP_WHILE_555(p, o, s) BOOST_PP_WHILE_555_I(p, o, s) +# define BOOST_PP_WHILE_556(p, o, s) BOOST_PP_WHILE_556_I(p, o, s) +# define BOOST_PP_WHILE_557(p, o, s) BOOST_PP_WHILE_557_I(p, o, s) +# define BOOST_PP_WHILE_558(p, o, s) BOOST_PP_WHILE_558_I(p, o, s) +# define BOOST_PP_WHILE_559(p, o, s) BOOST_PP_WHILE_559_I(p, o, s) +# define BOOST_PP_WHILE_560(p, o, s) BOOST_PP_WHILE_560_I(p, o, s) +# define BOOST_PP_WHILE_561(p, o, s) BOOST_PP_WHILE_561_I(p, o, s) +# define BOOST_PP_WHILE_562(p, o, s) BOOST_PP_WHILE_562_I(p, o, s) +# define BOOST_PP_WHILE_563(p, o, s) BOOST_PP_WHILE_563_I(p, o, s) +# define BOOST_PP_WHILE_564(p, o, s) BOOST_PP_WHILE_564_I(p, o, s) +# define BOOST_PP_WHILE_565(p, o, s) BOOST_PP_WHILE_565_I(p, o, s) +# define BOOST_PP_WHILE_566(p, o, s) BOOST_PP_WHILE_566_I(p, o, s) +# define BOOST_PP_WHILE_567(p, o, s) BOOST_PP_WHILE_567_I(p, o, s) +# define BOOST_PP_WHILE_568(p, o, s) BOOST_PP_WHILE_568_I(p, o, s) +# define BOOST_PP_WHILE_569(p, o, s) BOOST_PP_WHILE_569_I(p, o, s) +# define BOOST_PP_WHILE_570(p, o, s) BOOST_PP_WHILE_570_I(p, o, s) +# define BOOST_PP_WHILE_571(p, o, s) BOOST_PP_WHILE_571_I(p, o, s) +# define BOOST_PP_WHILE_572(p, o, s) BOOST_PP_WHILE_572_I(p, o, s) +# define BOOST_PP_WHILE_573(p, o, s) BOOST_PP_WHILE_573_I(p, o, s) +# define BOOST_PP_WHILE_574(p, o, s) BOOST_PP_WHILE_574_I(p, o, s) +# define BOOST_PP_WHILE_575(p, o, s) BOOST_PP_WHILE_575_I(p, o, s) +# define BOOST_PP_WHILE_576(p, o, s) BOOST_PP_WHILE_576_I(p, o, s) +# define BOOST_PP_WHILE_577(p, o, s) BOOST_PP_WHILE_577_I(p, o, s) +# define BOOST_PP_WHILE_578(p, o, s) BOOST_PP_WHILE_578_I(p, o, s) +# define BOOST_PP_WHILE_579(p, o, s) BOOST_PP_WHILE_579_I(p, o, s) +# define BOOST_PP_WHILE_580(p, o, s) BOOST_PP_WHILE_580_I(p, o, s) +# define BOOST_PP_WHILE_581(p, o, s) BOOST_PP_WHILE_581_I(p, o, s) +# define BOOST_PP_WHILE_582(p, o, s) BOOST_PP_WHILE_582_I(p, o, s) +# define BOOST_PP_WHILE_583(p, o, s) BOOST_PP_WHILE_583_I(p, o, s) +# define BOOST_PP_WHILE_584(p, o, s) BOOST_PP_WHILE_584_I(p, o, s) +# define BOOST_PP_WHILE_585(p, o, s) BOOST_PP_WHILE_585_I(p, o, s) +# define BOOST_PP_WHILE_586(p, o, s) BOOST_PP_WHILE_586_I(p, o, s) +# define BOOST_PP_WHILE_587(p, o, s) BOOST_PP_WHILE_587_I(p, o, s) +# define BOOST_PP_WHILE_588(p, o, s) BOOST_PP_WHILE_588_I(p, o, s) +# define BOOST_PP_WHILE_589(p, o, s) BOOST_PP_WHILE_589_I(p, o, s) +# define BOOST_PP_WHILE_590(p, o, s) BOOST_PP_WHILE_590_I(p, o, s) +# define BOOST_PP_WHILE_591(p, o, s) BOOST_PP_WHILE_591_I(p, o, s) +# define BOOST_PP_WHILE_592(p, o, s) BOOST_PP_WHILE_592_I(p, o, s) +# define BOOST_PP_WHILE_593(p, o, s) BOOST_PP_WHILE_593_I(p, o, s) +# define BOOST_PP_WHILE_594(p, o, s) BOOST_PP_WHILE_594_I(p, o, s) +# define BOOST_PP_WHILE_595(p, o, s) BOOST_PP_WHILE_595_I(p, o, s) +# define BOOST_PP_WHILE_596(p, o, s) BOOST_PP_WHILE_596_I(p, o, s) +# define BOOST_PP_WHILE_597(p, o, s) BOOST_PP_WHILE_597_I(p, o, s) +# define BOOST_PP_WHILE_598(p, o, s) BOOST_PP_WHILE_598_I(p, o, s) +# define BOOST_PP_WHILE_599(p, o, s) BOOST_PP_WHILE_599_I(p, o, s) +# define BOOST_PP_WHILE_600(p, o, s) BOOST_PP_WHILE_600_I(p, o, s) +# define BOOST_PP_WHILE_601(p, o, s) BOOST_PP_WHILE_601_I(p, o, s) +# define BOOST_PP_WHILE_602(p, o, s) BOOST_PP_WHILE_602_I(p, o, s) +# define BOOST_PP_WHILE_603(p, o, s) BOOST_PP_WHILE_603_I(p, o, s) +# define BOOST_PP_WHILE_604(p, o, s) BOOST_PP_WHILE_604_I(p, o, s) +# define BOOST_PP_WHILE_605(p, o, s) BOOST_PP_WHILE_605_I(p, o, s) +# define BOOST_PP_WHILE_606(p, o, s) BOOST_PP_WHILE_606_I(p, o, s) +# define BOOST_PP_WHILE_607(p, o, s) BOOST_PP_WHILE_607_I(p, o, s) +# define BOOST_PP_WHILE_608(p, o, s) BOOST_PP_WHILE_608_I(p, o, s) +# define BOOST_PP_WHILE_609(p, o, s) BOOST_PP_WHILE_609_I(p, o, s) +# define BOOST_PP_WHILE_610(p, o, s) BOOST_PP_WHILE_610_I(p, o, s) +# define BOOST_PP_WHILE_611(p, o, s) BOOST_PP_WHILE_611_I(p, o, s) +# define BOOST_PP_WHILE_612(p, o, s) BOOST_PP_WHILE_612_I(p, o, s) +# define BOOST_PP_WHILE_613(p, o, s) BOOST_PP_WHILE_613_I(p, o, s) +# define BOOST_PP_WHILE_614(p, o, s) BOOST_PP_WHILE_614_I(p, o, s) +# define BOOST_PP_WHILE_615(p, o, s) BOOST_PP_WHILE_615_I(p, o, s) +# define BOOST_PP_WHILE_616(p, o, s) BOOST_PP_WHILE_616_I(p, o, s) +# define BOOST_PP_WHILE_617(p, o, s) BOOST_PP_WHILE_617_I(p, o, s) +# define BOOST_PP_WHILE_618(p, o, s) BOOST_PP_WHILE_618_I(p, o, s) +# define BOOST_PP_WHILE_619(p, o, s) BOOST_PP_WHILE_619_I(p, o, s) +# define BOOST_PP_WHILE_620(p, o, s) BOOST_PP_WHILE_620_I(p, o, s) +# define BOOST_PP_WHILE_621(p, o, s) BOOST_PP_WHILE_621_I(p, o, s) +# define BOOST_PP_WHILE_622(p, o, s) BOOST_PP_WHILE_622_I(p, o, s) +# define BOOST_PP_WHILE_623(p, o, s) BOOST_PP_WHILE_623_I(p, o, s) +# define BOOST_PP_WHILE_624(p, o, s) BOOST_PP_WHILE_624_I(p, o, s) +# define BOOST_PP_WHILE_625(p, o, s) BOOST_PP_WHILE_625_I(p, o, s) +# define BOOST_PP_WHILE_626(p, o, s) BOOST_PP_WHILE_626_I(p, o, s) +# define BOOST_PP_WHILE_627(p, o, s) BOOST_PP_WHILE_627_I(p, o, s) +# define BOOST_PP_WHILE_628(p, o, s) BOOST_PP_WHILE_628_I(p, o, s) +# define BOOST_PP_WHILE_629(p, o, s) BOOST_PP_WHILE_629_I(p, o, s) +# define BOOST_PP_WHILE_630(p, o, s) BOOST_PP_WHILE_630_I(p, o, s) +# define BOOST_PP_WHILE_631(p, o, s) BOOST_PP_WHILE_631_I(p, o, s) +# define BOOST_PP_WHILE_632(p, o, s) BOOST_PP_WHILE_632_I(p, o, s) +# define BOOST_PP_WHILE_633(p, o, s) BOOST_PP_WHILE_633_I(p, o, s) +# define BOOST_PP_WHILE_634(p, o, s) BOOST_PP_WHILE_634_I(p, o, s) +# define BOOST_PP_WHILE_635(p, o, s) BOOST_PP_WHILE_635_I(p, o, s) +# define BOOST_PP_WHILE_636(p, o, s) BOOST_PP_WHILE_636_I(p, o, s) +# define BOOST_PP_WHILE_637(p, o, s) BOOST_PP_WHILE_637_I(p, o, s) +# define BOOST_PP_WHILE_638(p, o, s) BOOST_PP_WHILE_638_I(p, o, s) +# define BOOST_PP_WHILE_639(p, o, s) BOOST_PP_WHILE_639_I(p, o, s) +# define BOOST_PP_WHILE_640(p, o, s) BOOST_PP_WHILE_640_I(p, o, s) +# define BOOST_PP_WHILE_641(p, o, s) BOOST_PP_WHILE_641_I(p, o, s) +# define BOOST_PP_WHILE_642(p, o, s) BOOST_PP_WHILE_642_I(p, o, s) +# define BOOST_PP_WHILE_643(p, o, s) BOOST_PP_WHILE_643_I(p, o, s) +# define BOOST_PP_WHILE_644(p, o, s) BOOST_PP_WHILE_644_I(p, o, s) +# define BOOST_PP_WHILE_645(p, o, s) BOOST_PP_WHILE_645_I(p, o, s) +# define BOOST_PP_WHILE_646(p, o, s) BOOST_PP_WHILE_646_I(p, o, s) +# define BOOST_PP_WHILE_647(p, o, s) BOOST_PP_WHILE_647_I(p, o, s) +# define BOOST_PP_WHILE_648(p, o, s) BOOST_PP_WHILE_648_I(p, o, s) +# define BOOST_PP_WHILE_649(p, o, s) BOOST_PP_WHILE_649_I(p, o, s) +# define BOOST_PP_WHILE_650(p, o, s) BOOST_PP_WHILE_650_I(p, o, s) +# define BOOST_PP_WHILE_651(p, o, s) BOOST_PP_WHILE_651_I(p, o, s) +# define BOOST_PP_WHILE_652(p, o, s) BOOST_PP_WHILE_652_I(p, o, s) +# define BOOST_PP_WHILE_653(p, o, s) BOOST_PP_WHILE_653_I(p, o, s) +# define BOOST_PP_WHILE_654(p, o, s) BOOST_PP_WHILE_654_I(p, o, s) +# define BOOST_PP_WHILE_655(p, o, s) BOOST_PP_WHILE_655_I(p, o, s) +# define BOOST_PP_WHILE_656(p, o, s) BOOST_PP_WHILE_656_I(p, o, s) +# define BOOST_PP_WHILE_657(p, o, s) BOOST_PP_WHILE_657_I(p, o, s) +# define BOOST_PP_WHILE_658(p, o, s) BOOST_PP_WHILE_658_I(p, o, s) +# define BOOST_PP_WHILE_659(p, o, s) BOOST_PP_WHILE_659_I(p, o, s) +# define BOOST_PP_WHILE_660(p, o, s) BOOST_PP_WHILE_660_I(p, o, s) +# define BOOST_PP_WHILE_661(p, o, s) BOOST_PP_WHILE_661_I(p, o, s) +# define BOOST_PP_WHILE_662(p, o, s) BOOST_PP_WHILE_662_I(p, o, s) +# define BOOST_PP_WHILE_663(p, o, s) BOOST_PP_WHILE_663_I(p, o, s) +# define BOOST_PP_WHILE_664(p, o, s) BOOST_PP_WHILE_664_I(p, o, s) +# define BOOST_PP_WHILE_665(p, o, s) BOOST_PP_WHILE_665_I(p, o, s) +# define BOOST_PP_WHILE_666(p, o, s) BOOST_PP_WHILE_666_I(p, o, s) +# define BOOST_PP_WHILE_667(p, o, s) BOOST_PP_WHILE_667_I(p, o, s) +# define BOOST_PP_WHILE_668(p, o, s) BOOST_PP_WHILE_668_I(p, o, s) +# define BOOST_PP_WHILE_669(p, o, s) BOOST_PP_WHILE_669_I(p, o, s) +# define BOOST_PP_WHILE_670(p, o, s) BOOST_PP_WHILE_670_I(p, o, s) +# define BOOST_PP_WHILE_671(p, o, s) BOOST_PP_WHILE_671_I(p, o, s) +# define BOOST_PP_WHILE_672(p, o, s) BOOST_PP_WHILE_672_I(p, o, s) +# define BOOST_PP_WHILE_673(p, o, s) BOOST_PP_WHILE_673_I(p, o, s) +# define BOOST_PP_WHILE_674(p, o, s) BOOST_PP_WHILE_674_I(p, o, s) +# define BOOST_PP_WHILE_675(p, o, s) BOOST_PP_WHILE_675_I(p, o, s) +# define BOOST_PP_WHILE_676(p, o, s) BOOST_PP_WHILE_676_I(p, o, s) +# define BOOST_PP_WHILE_677(p, o, s) BOOST_PP_WHILE_677_I(p, o, s) +# define BOOST_PP_WHILE_678(p, o, s) BOOST_PP_WHILE_678_I(p, o, s) +# define BOOST_PP_WHILE_679(p, o, s) BOOST_PP_WHILE_679_I(p, o, s) +# define BOOST_PP_WHILE_680(p, o, s) BOOST_PP_WHILE_680_I(p, o, s) +# define BOOST_PP_WHILE_681(p, o, s) BOOST_PP_WHILE_681_I(p, o, s) +# define BOOST_PP_WHILE_682(p, o, s) BOOST_PP_WHILE_682_I(p, o, s) +# define BOOST_PP_WHILE_683(p, o, s) BOOST_PP_WHILE_683_I(p, o, s) +# define BOOST_PP_WHILE_684(p, o, s) BOOST_PP_WHILE_684_I(p, o, s) +# define BOOST_PP_WHILE_685(p, o, s) BOOST_PP_WHILE_685_I(p, o, s) +# define BOOST_PP_WHILE_686(p, o, s) BOOST_PP_WHILE_686_I(p, o, s) +# define BOOST_PP_WHILE_687(p, o, s) BOOST_PP_WHILE_687_I(p, o, s) +# define BOOST_PP_WHILE_688(p, o, s) BOOST_PP_WHILE_688_I(p, o, s) +# define BOOST_PP_WHILE_689(p, o, s) BOOST_PP_WHILE_689_I(p, o, s) +# define BOOST_PP_WHILE_690(p, o, s) BOOST_PP_WHILE_690_I(p, o, s) +# define BOOST_PP_WHILE_691(p, o, s) BOOST_PP_WHILE_691_I(p, o, s) +# define BOOST_PP_WHILE_692(p, o, s) BOOST_PP_WHILE_692_I(p, o, s) +# define BOOST_PP_WHILE_693(p, o, s) BOOST_PP_WHILE_693_I(p, o, s) +# define BOOST_PP_WHILE_694(p, o, s) BOOST_PP_WHILE_694_I(p, o, s) +# define BOOST_PP_WHILE_695(p, o, s) BOOST_PP_WHILE_695_I(p, o, s) +# define BOOST_PP_WHILE_696(p, o, s) BOOST_PP_WHILE_696_I(p, o, s) +# define BOOST_PP_WHILE_697(p, o, s) BOOST_PP_WHILE_697_I(p, o, s) +# define BOOST_PP_WHILE_698(p, o, s) BOOST_PP_WHILE_698_I(p, o, s) +# define BOOST_PP_WHILE_699(p, o, s) BOOST_PP_WHILE_699_I(p, o, s) +# define BOOST_PP_WHILE_700(p, o, s) BOOST_PP_WHILE_700_I(p, o, s) +# define BOOST_PP_WHILE_701(p, o, s) BOOST_PP_WHILE_701_I(p, o, s) +# define BOOST_PP_WHILE_702(p, o, s) BOOST_PP_WHILE_702_I(p, o, s) +# define BOOST_PP_WHILE_703(p, o, s) BOOST_PP_WHILE_703_I(p, o, s) +# define BOOST_PP_WHILE_704(p, o, s) BOOST_PP_WHILE_704_I(p, o, s) +# define BOOST_PP_WHILE_705(p, o, s) BOOST_PP_WHILE_705_I(p, o, s) +# define BOOST_PP_WHILE_706(p, o, s) BOOST_PP_WHILE_706_I(p, o, s) +# define BOOST_PP_WHILE_707(p, o, s) BOOST_PP_WHILE_707_I(p, o, s) +# define BOOST_PP_WHILE_708(p, o, s) BOOST_PP_WHILE_708_I(p, o, s) +# define BOOST_PP_WHILE_709(p, o, s) BOOST_PP_WHILE_709_I(p, o, s) +# define BOOST_PP_WHILE_710(p, o, s) BOOST_PP_WHILE_710_I(p, o, s) +# define BOOST_PP_WHILE_711(p, o, s) BOOST_PP_WHILE_711_I(p, o, s) +# define BOOST_PP_WHILE_712(p, o, s) BOOST_PP_WHILE_712_I(p, o, s) +# define BOOST_PP_WHILE_713(p, o, s) BOOST_PP_WHILE_713_I(p, o, s) +# define BOOST_PP_WHILE_714(p, o, s) BOOST_PP_WHILE_714_I(p, o, s) +# define BOOST_PP_WHILE_715(p, o, s) BOOST_PP_WHILE_715_I(p, o, s) +# define BOOST_PP_WHILE_716(p, o, s) BOOST_PP_WHILE_716_I(p, o, s) +# define BOOST_PP_WHILE_717(p, o, s) BOOST_PP_WHILE_717_I(p, o, s) +# define BOOST_PP_WHILE_718(p, o, s) BOOST_PP_WHILE_718_I(p, o, s) +# define BOOST_PP_WHILE_719(p, o, s) BOOST_PP_WHILE_719_I(p, o, s) +# define BOOST_PP_WHILE_720(p, o, s) BOOST_PP_WHILE_720_I(p, o, s) +# define BOOST_PP_WHILE_721(p, o, s) BOOST_PP_WHILE_721_I(p, o, s) +# define BOOST_PP_WHILE_722(p, o, s) BOOST_PP_WHILE_722_I(p, o, s) +# define BOOST_PP_WHILE_723(p, o, s) BOOST_PP_WHILE_723_I(p, o, s) +# define BOOST_PP_WHILE_724(p, o, s) BOOST_PP_WHILE_724_I(p, o, s) +# define BOOST_PP_WHILE_725(p, o, s) BOOST_PP_WHILE_725_I(p, o, s) +# define BOOST_PP_WHILE_726(p, o, s) BOOST_PP_WHILE_726_I(p, o, s) +# define BOOST_PP_WHILE_727(p, o, s) BOOST_PP_WHILE_727_I(p, o, s) +# define BOOST_PP_WHILE_728(p, o, s) BOOST_PP_WHILE_728_I(p, o, s) +# define BOOST_PP_WHILE_729(p, o, s) BOOST_PP_WHILE_729_I(p, o, s) +# define BOOST_PP_WHILE_730(p, o, s) BOOST_PP_WHILE_730_I(p, o, s) +# define BOOST_PP_WHILE_731(p, o, s) BOOST_PP_WHILE_731_I(p, o, s) +# define BOOST_PP_WHILE_732(p, o, s) BOOST_PP_WHILE_732_I(p, o, s) +# define BOOST_PP_WHILE_733(p, o, s) BOOST_PP_WHILE_733_I(p, o, s) +# define BOOST_PP_WHILE_734(p, o, s) BOOST_PP_WHILE_734_I(p, o, s) +# define BOOST_PP_WHILE_735(p, o, s) BOOST_PP_WHILE_735_I(p, o, s) +# define BOOST_PP_WHILE_736(p, o, s) BOOST_PP_WHILE_736_I(p, o, s) +# define BOOST_PP_WHILE_737(p, o, s) BOOST_PP_WHILE_737_I(p, o, s) +# define BOOST_PP_WHILE_738(p, o, s) BOOST_PP_WHILE_738_I(p, o, s) +# define BOOST_PP_WHILE_739(p, o, s) BOOST_PP_WHILE_739_I(p, o, s) +# define BOOST_PP_WHILE_740(p, o, s) BOOST_PP_WHILE_740_I(p, o, s) +# define BOOST_PP_WHILE_741(p, o, s) BOOST_PP_WHILE_741_I(p, o, s) +# define BOOST_PP_WHILE_742(p, o, s) BOOST_PP_WHILE_742_I(p, o, s) +# define BOOST_PP_WHILE_743(p, o, s) BOOST_PP_WHILE_743_I(p, o, s) +# define BOOST_PP_WHILE_744(p, o, s) BOOST_PP_WHILE_744_I(p, o, s) +# define BOOST_PP_WHILE_745(p, o, s) BOOST_PP_WHILE_745_I(p, o, s) +# define BOOST_PP_WHILE_746(p, o, s) BOOST_PP_WHILE_746_I(p, o, s) +# define BOOST_PP_WHILE_747(p, o, s) BOOST_PP_WHILE_747_I(p, o, s) +# define BOOST_PP_WHILE_748(p, o, s) BOOST_PP_WHILE_748_I(p, o, s) +# define BOOST_PP_WHILE_749(p, o, s) BOOST_PP_WHILE_749_I(p, o, s) +# define BOOST_PP_WHILE_750(p, o, s) BOOST_PP_WHILE_750_I(p, o, s) +# define BOOST_PP_WHILE_751(p, o, s) BOOST_PP_WHILE_751_I(p, o, s) +# define BOOST_PP_WHILE_752(p, o, s) BOOST_PP_WHILE_752_I(p, o, s) +# define BOOST_PP_WHILE_753(p, o, s) BOOST_PP_WHILE_753_I(p, o, s) +# define BOOST_PP_WHILE_754(p, o, s) BOOST_PP_WHILE_754_I(p, o, s) +# define BOOST_PP_WHILE_755(p, o, s) BOOST_PP_WHILE_755_I(p, o, s) +# define BOOST_PP_WHILE_756(p, o, s) BOOST_PP_WHILE_756_I(p, o, s) +# define BOOST_PP_WHILE_757(p, o, s) BOOST_PP_WHILE_757_I(p, o, s) +# define BOOST_PP_WHILE_758(p, o, s) BOOST_PP_WHILE_758_I(p, o, s) +# define BOOST_PP_WHILE_759(p, o, s) BOOST_PP_WHILE_759_I(p, o, s) +# define BOOST_PP_WHILE_760(p, o, s) BOOST_PP_WHILE_760_I(p, o, s) +# define BOOST_PP_WHILE_761(p, o, s) BOOST_PP_WHILE_761_I(p, o, s) +# define BOOST_PP_WHILE_762(p, o, s) BOOST_PP_WHILE_762_I(p, o, s) +# define BOOST_PP_WHILE_763(p, o, s) BOOST_PP_WHILE_763_I(p, o, s) +# define BOOST_PP_WHILE_764(p, o, s) BOOST_PP_WHILE_764_I(p, o, s) +# define BOOST_PP_WHILE_765(p, o, s) BOOST_PP_WHILE_765_I(p, o, s) +# define BOOST_PP_WHILE_766(p, o, s) BOOST_PP_WHILE_766_I(p, o, s) +# define BOOST_PP_WHILE_767(p, o, s) BOOST_PP_WHILE_767_I(p, o, s) +# define BOOST_PP_WHILE_768(p, o, s) BOOST_PP_WHILE_768_I(p, o, s) +# define BOOST_PP_WHILE_769(p, o, s) BOOST_PP_WHILE_769_I(p, o, s) +# define BOOST_PP_WHILE_770(p, o, s) BOOST_PP_WHILE_770_I(p, o, s) +# define BOOST_PP_WHILE_771(p, o, s) BOOST_PP_WHILE_771_I(p, o, s) +# define BOOST_PP_WHILE_772(p, o, s) BOOST_PP_WHILE_772_I(p, o, s) +# define BOOST_PP_WHILE_773(p, o, s) BOOST_PP_WHILE_773_I(p, o, s) +# define BOOST_PP_WHILE_774(p, o, s) BOOST_PP_WHILE_774_I(p, o, s) +# define BOOST_PP_WHILE_775(p, o, s) BOOST_PP_WHILE_775_I(p, o, s) +# define BOOST_PP_WHILE_776(p, o, s) BOOST_PP_WHILE_776_I(p, o, s) +# define BOOST_PP_WHILE_777(p, o, s) BOOST_PP_WHILE_777_I(p, o, s) +# define BOOST_PP_WHILE_778(p, o, s) BOOST_PP_WHILE_778_I(p, o, s) +# define BOOST_PP_WHILE_779(p, o, s) BOOST_PP_WHILE_779_I(p, o, s) +# define BOOST_PP_WHILE_780(p, o, s) BOOST_PP_WHILE_780_I(p, o, s) +# define BOOST_PP_WHILE_781(p, o, s) BOOST_PP_WHILE_781_I(p, o, s) +# define BOOST_PP_WHILE_782(p, o, s) BOOST_PP_WHILE_782_I(p, o, s) +# define BOOST_PP_WHILE_783(p, o, s) BOOST_PP_WHILE_783_I(p, o, s) +# define BOOST_PP_WHILE_784(p, o, s) BOOST_PP_WHILE_784_I(p, o, s) +# define BOOST_PP_WHILE_785(p, o, s) BOOST_PP_WHILE_785_I(p, o, s) +# define BOOST_PP_WHILE_786(p, o, s) BOOST_PP_WHILE_786_I(p, o, s) +# define BOOST_PP_WHILE_787(p, o, s) BOOST_PP_WHILE_787_I(p, o, s) +# define BOOST_PP_WHILE_788(p, o, s) BOOST_PP_WHILE_788_I(p, o, s) +# define BOOST_PP_WHILE_789(p, o, s) BOOST_PP_WHILE_789_I(p, o, s) +# define BOOST_PP_WHILE_790(p, o, s) BOOST_PP_WHILE_790_I(p, o, s) +# define BOOST_PP_WHILE_791(p, o, s) BOOST_PP_WHILE_791_I(p, o, s) +# define BOOST_PP_WHILE_792(p, o, s) BOOST_PP_WHILE_792_I(p, o, s) +# define BOOST_PP_WHILE_793(p, o, s) BOOST_PP_WHILE_793_I(p, o, s) +# define BOOST_PP_WHILE_794(p, o, s) BOOST_PP_WHILE_794_I(p, o, s) +# define BOOST_PP_WHILE_795(p, o, s) BOOST_PP_WHILE_795_I(p, o, s) +# define BOOST_PP_WHILE_796(p, o, s) BOOST_PP_WHILE_796_I(p, o, s) +# define BOOST_PP_WHILE_797(p, o, s) BOOST_PP_WHILE_797_I(p, o, s) +# define BOOST_PP_WHILE_798(p, o, s) BOOST_PP_WHILE_798_I(p, o, s) +# define BOOST_PP_WHILE_799(p, o, s) BOOST_PP_WHILE_799_I(p, o, s) +# define BOOST_PP_WHILE_800(p, o, s) BOOST_PP_WHILE_800_I(p, o, s) +# define BOOST_PP_WHILE_801(p, o, s) BOOST_PP_WHILE_801_I(p, o, s) +# define BOOST_PP_WHILE_802(p, o, s) BOOST_PP_WHILE_802_I(p, o, s) +# define BOOST_PP_WHILE_803(p, o, s) BOOST_PP_WHILE_803_I(p, o, s) +# define BOOST_PP_WHILE_804(p, o, s) BOOST_PP_WHILE_804_I(p, o, s) +# define BOOST_PP_WHILE_805(p, o, s) BOOST_PP_WHILE_805_I(p, o, s) +# define BOOST_PP_WHILE_806(p, o, s) BOOST_PP_WHILE_806_I(p, o, s) +# define BOOST_PP_WHILE_807(p, o, s) BOOST_PP_WHILE_807_I(p, o, s) +# define BOOST_PP_WHILE_808(p, o, s) BOOST_PP_WHILE_808_I(p, o, s) +# define BOOST_PP_WHILE_809(p, o, s) BOOST_PP_WHILE_809_I(p, o, s) +# define BOOST_PP_WHILE_810(p, o, s) BOOST_PP_WHILE_810_I(p, o, s) +# define BOOST_PP_WHILE_811(p, o, s) BOOST_PP_WHILE_811_I(p, o, s) +# define BOOST_PP_WHILE_812(p, o, s) BOOST_PP_WHILE_812_I(p, o, s) +# define BOOST_PP_WHILE_813(p, o, s) BOOST_PP_WHILE_813_I(p, o, s) +# define BOOST_PP_WHILE_814(p, o, s) BOOST_PP_WHILE_814_I(p, o, s) +# define BOOST_PP_WHILE_815(p, o, s) BOOST_PP_WHILE_815_I(p, o, s) +# define BOOST_PP_WHILE_816(p, o, s) BOOST_PP_WHILE_816_I(p, o, s) +# define BOOST_PP_WHILE_817(p, o, s) BOOST_PP_WHILE_817_I(p, o, s) +# define BOOST_PP_WHILE_818(p, o, s) BOOST_PP_WHILE_818_I(p, o, s) +# define BOOST_PP_WHILE_819(p, o, s) BOOST_PP_WHILE_819_I(p, o, s) +# define BOOST_PP_WHILE_820(p, o, s) BOOST_PP_WHILE_820_I(p, o, s) +# define BOOST_PP_WHILE_821(p, o, s) BOOST_PP_WHILE_821_I(p, o, s) +# define BOOST_PP_WHILE_822(p, o, s) BOOST_PP_WHILE_822_I(p, o, s) +# define BOOST_PP_WHILE_823(p, o, s) BOOST_PP_WHILE_823_I(p, o, s) +# define BOOST_PP_WHILE_824(p, o, s) BOOST_PP_WHILE_824_I(p, o, s) +# define BOOST_PP_WHILE_825(p, o, s) BOOST_PP_WHILE_825_I(p, o, s) +# define BOOST_PP_WHILE_826(p, o, s) BOOST_PP_WHILE_826_I(p, o, s) +# define BOOST_PP_WHILE_827(p, o, s) BOOST_PP_WHILE_827_I(p, o, s) +# define BOOST_PP_WHILE_828(p, o, s) BOOST_PP_WHILE_828_I(p, o, s) +# define BOOST_PP_WHILE_829(p, o, s) BOOST_PP_WHILE_829_I(p, o, s) +# define BOOST_PP_WHILE_830(p, o, s) BOOST_PP_WHILE_830_I(p, o, s) +# define BOOST_PP_WHILE_831(p, o, s) BOOST_PP_WHILE_831_I(p, o, s) +# define BOOST_PP_WHILE_832(p, o, s) BOOST_PP_WHILE_832_I(p, o, s) +# define BOOST_PP_WHILE_833(p, o, s) BOOST_PP_WHILE_833_I(p, o, s) +# define BOOST_PP_WHILE_834(p, o, s) BOOST_PP_WHILE_834_I(p, o, s) +# define BOOST_PP_WHILE_835(p, o, s) BOOST_PP_WHILE_835_I(p, o, s) +# define BOOST_PP_WHILE_836(p, o, s) BOOST_PP_WHILE_836_I(p, o, s) +# define BOOST_PP_WHILE_837(p, o, s) BOOST_PP_WHILE_837_I(p, o, s) +# define BOOST_PP_WHILE_838(p, o, s) BOOST_PP_WHILE_838_I(p, o, s) +# define BOOST_PP_WHILE_839(p, o, s) BOOST_PP_WHILE_839_I(p, o, s) +# define BOOST_PP_WHILE_840(p, o, s) BOOST_PP_WHILE_840_I(p, o, s) +# define BOOST_PP_WHILE_841(p, o, s) BOOST_PP_WHILE_841_I(p, o, s) +# define BOOST_PP_WHILE_842(p, o, s) BOOST_PP_WHILE_842_I(p, o, s) +# define BOOST_PP_WHILE_843(p, o, s) BOOST_PP_WHILE_843_I(p, o, s) +# define BOOST_PP_WHILE_844(p, o, s) BOOST_PP_WHILE_844_I(p, o, s) +# define BOOST_PP_WHILE_845(p, o, s) BOOST_PP_WHILE_845_I(p, o, s) +# define BOOST_PP_WHILE_846(p, o, s) BOOST_PP_WHILE_846_I(p, o, s) +# define BOOST_PP_WHILE_847(p, o, s) BOOST_PP_WHILE_847_I(p, o, s) +# define BOOST_PP_WHILE_848(p, o, s) BOOST_PP_WHILE_848_I(p, o, s) +# define BOOST_PP_WHILE_849(p, o, s) BOOST_PP_WHILE_849_I(p, o, s) +# define BOOST_PP_WHILE_850(p, o, s) BOOST_PP_WHILE_850_I(p, o, s) +# define BOOST_PP_WHILE_851(p, o, s) BOOST_PP_WHILE_851_I(p, o, s) +# define BOOST_PP_WHILE_852(p, o, s) BOOST_PP_WHILE_852_I(p, o, s) +# define BOOST_PP_WHILE_853(p, o, s) BOOST_PP_WHILE_853_I(p, o, s) +# define BOOST_PP_WHILE_854(p, o, s) BOOST_PP_WHILE_854_I(p, o, s) +# define BOOST_PP_WHILE_855(p, o, s) BOOST_PP_WHILE_855_I(p, o, s) +# define BOOST_PP_WHILE_856(p, o, s) BOOST_PP_WHILE_856_I(p, o, s) +# define BOOST_PP_WHILE_857(p, o, s) BOOST_PP_WHILE_857_I(p, o, s) +# define BOOST_PP_WHILE_858(p, o, s) BOOST_PP_WHILE_858_I(p, o, s) +# define BOOST_PP_WHILE_859(p, o, s) BOOST_PP_WHILE_859_I(p, o, s) +# define BOOST_PP_WHILE_860(p, o, s) BOOST_PP_WHILE_860_I(p, o, s) +# define BOOST_PP_WHILE_861(p, o, s) BOOST_PP_WHILE_861_I(p, o, s) +# define BOOST_PP_WHILE_862(p, o, s) BOOST_PP_WHILE_862_I(p, o, s) +# define BOOST_PP_WHILE_863(p, o, s) BOOST_PP_WHILE_863_I(p, o, s) +# define BOOST_PP_WHILE_864(p, o, s) BOOST_PP_WHILE_864_I(p, o, s) +# define BOOST_PP_WHILE_865(p, o, s) BOOST_PP_WHILE_865_I(p, o, s) +# define BOOST_PP_WHILE_866(p, o, s) BOOST_PP_WHILE_866_I(p, o, s) +# define BOOST_PP_WHILE_867(p, o, s) BOOST_PP_WHILE_867_I(p, o, s) +# define BOOST_PP_WHILE_868(p, o, s) BOOST_PP_WHILE_868_I(p, o, s) +# define BOOST_PP_WHILE_869(p, o, s) BOOST_PP_WHILE_869_I(p, o, s) +# define BOOST_PP_WHILE_870(p, o, s) BOOST_PP_WHILE_870_I(p, o, s) +# define BOOST_PP_WHILE_871(p, o, s) BOOST_PP_WHILE_871_I(p, o, s) +# define BOOST_PP_WHILE_872(p, o, s) BOOST_PP_WHILE_872_I(p, o, s) +# define BOOST_PP_WHILE_873(p, o, s) BOOST_PP_WHILE_873_I(p, o, s) +# define BOOST_PP_WHILE_874(p, o, s) BOOST_PP_WHILE_874_I(p, o, s) +# define BOOST_PP_WHILE_875(p, o, s) BOOST_PP_WHILE_875_I(p, o, s) +# define BOOST_PP_WHILE_876(p, o, s) BOOST_PP_WHILE_876_I(p, o, s) +# define BOOST_PP_WHILE_877(p, o, s) BOOST_PP_WHILE_877_I(p, o, s) +# define BOOST_PP_WHILE_878(p, o, s) BOOST_PP_WHILE_878_I(p, o, s) +# define BOOST_PP_WHILE_879(p, o, s) BOOST_PP_WHILE_879_I(p, o, s) +# define BOOST_PP_WHILE_880(p, o, s) BOOST_PP_WHILE_880_I(p, o, s) +# define BOOST_PP_WHILE_881(p, o, s) BOOST_PP_WHILE_881_I(p, o, s) +# define BOOST_PP_WHILE_882(p, o, s) BOOST_PP_WHILE_882_I(p, o, s) +# define BOOST_PP_WHILE_883(p, o, s) BOOST_PP_WHILE_883_I(p, o, s) +# define BOOST_PP_WHILE_884(p, o, s) BOOST_PP_WHILE_884_I(p, o, s) +# define BOOST_PP_WHILE_885(p, o, s) BOOST_PP_WHILE_885_I(p, o, s) +# define BOOST_PP_WHILE_886(p, o, s) BOOST_PP_WHILE_886_I(p, o, s) +# define BOOST_PP_WHILE_887(p, o, s) BOOST_PP_WHILE_887_I(p, o, s) +# define BOOST_PP_WHILE_888(p, o, s) BOOST_PP_WHILE_888_I(p, o, s) +# define BOOST_PP_WHILE_889(p, o, s) BOOST_PP_WHILE_889_I(p, o, s) +# define BOOST_PP_WHILE_890(p, o, s) BOOST_PP_WHILE_890_I(p, o, s) +# define BOOST_PP_WHILE_891(p, o, s) BOOST_PP_WHILE_891_I(p, o, s) +# define BOOST_PP_WHILE_892(p, o, s) BOOST_PP_WHILE_892_I(p, o, s) +# define BOOST_PP_WHILE_893(p, o, s) BOOST_PP_WHILE_893_I(p, o, s) +# define BOOST_PP_WHILE_894(p, o, s) BOOST_PP_WHILE_894_I(p, o, s) +# define BOOST_PP_WHILE_895(p, o, s) BOOST_PP_WHILE_895_I(p, o, s) +# define BOOST_PP_WHILE_896(p, o, s) BOOST_PP_WHILE_896_I(p, o, s) +# define BOOST_PP_WHILE_897(p, o, s) BOOST_PP_WHILE_897_I(p, o, s) +# define BOOST_PP_WHILE_898(p, o, s) BOOST_PP_WHILE_898_I(p, o, s) +# define BOOST_PP_WHILE_899(p, o, s) BOOST_PP_WHILE_899_I(p, o, s) +# define BOOST_PP_WHILE_900(p, o, s) BOOST_PP_WHILE_900_I(p, o, s) +# define BOOST_PP_WHILE_901(p, o, s) BOOST_PP_WHILE_901_I(p, o, s) +# define BOOST_PP_WHILE_902(p, o, s) BOOST_PP_WHILE_902_I(p, o, s) +# define BOOST_PP_WHILE_903(p, o, s) BOOST_PP_WHILE_903_I(p, o, s) +# define BOOST_PP_WHILE_904(p, o, s) BOOST_PP_WHILE_904_I(p, o, s) +# define BOOST_PP_WHILE_905(p, o, s) BOOST_PP_WHILE_905_I(p, o, s) +# define BOOST_PP_WHILE_906(p, o, s) BOOST_PP_WHILE_906_I(p, o, s) +# define BOOST_PP_WHILE_907(p, o, s) BOOST_PP_WHILE_907_I(p, o, s) +# define BOOST_PP_WHILE_908(p, o, s) BOOST_PP_WHILE_908_I(p, o, s) +# define BOOST_PP_WHILE_909(p, o, s) BOOST_PP_WHILE_909_I(p, o, s) +# define BOOST_PP_WHILE_910(p, o, s) BOOST_PP_WHILE_910_I(p, o, s) +# define BOOST_PP_WHILE_911(p, o, s) BOOST_PP_WHILE_911_I(p, o, s) +# define BOOST_PP_WHILE_912(p, o, s) BOOST_PP_WHILE_912_I(p, o, s) +# define BOOST_PP_WHILE_913(p, o, s) BOOST_PP_WHILE_913_I(p, o, s) +# define BOOST_PP_WHILE_914(p, o, s) BOOST_PP_WHILE_914_I(p, o, s) +# define BOOST_PP_WHILE_915(p, o, s) BOOST_PP_WHILE_915_I(p, o, s) +# define BOOST_PP_WHILE_916(p, o, s) BOOST_PP_WHILE_916_I(p, o, s) +# define BOOST_PP_WHILE_917(p, o, s) BOOST_PP_WHILE_917_I(p, o, s) +# define BOOST_PP_WHILE_918(p, o, s) BOOST_PP_WHILE_918_I(p, o, s) +# define BOOST_PP_WHILE_919(p, o, s) BOOST_PP_WHILE_919_I(p, o, s) +# define BOOST_PP_WHILE_920(p, o, s) BOOST_PP_WHILE_920_I(p, o, s) +# define BOOST_PP_WHILE_921(p, o, s) BOOST_PP_WHILE_921_I(p, o, s) +# define BOOST_PP_WHILE_922(p, o, s) BOOST_PP_WHILE_922_I(p, o, s) +# define BOOST_PP_WHILE_923(p, o, s) BOOST_PP_WHILE_923_I(p, o, s) +# define BOOST_PP_WHILE_924(p, o, s) BOOST_PP_WHILE_924_I(p, o, s) +# define BOOST_PP_WHILE_925(p, o, s) BOOST_PP_WHILE_925_I(p, o, s) +# define BOOST_PP_WHILE_926(p, o, s) BOOST_PP_WHILE_926_I(p, o, s) +# define BOOST_PP_WHILE_927(p, o, s) BOOST_PP_WHILE_927_I(p, o, s) +# define BOOST_PP_WHILE_928(p, o, s) BOOST_PP_WHILE_928_I(p, o, s) +# define BOOST_PP_WHILE_929(p, o, s) BOOST_PP_WHILE_929_I(p, o, s) +# define BOOST_PP_WHILE_930(p, o, s) BOOST_PP_WHILE_930_I(p, o, s) +# define BOOST_PP_WHILE_931(p, o, s) BOOST_PP_WHILE_931_I(p, o, s) +# define BOOST_PP_WHILE_932(p, o, s) BOOST_PP_WHILE_932_I(p, o, s) +# define BOOST_PP_WHILE_933(p, o, s) BOOST_PP_WHILE_933_I(p, o, s) +# define BOOST_PP_WHILE_934(p, o, s) BOOST_PP_WHILE_934_I(p, o, s) +# define BOOST_PP_WHILE_935(p, o, s) BOOST_PP_WHILE_935_I(p, o, s) +# define BOOST_PP_WHILE_936(p, o, s) BOOST_PP_WHILE_936_I(p, o, s) +# define BOOST_PP_WHILE_937(p, o, s) BOOST_PP_WHILE_937_I(p, o, s) +# define BOOST_PP_WHILE_938(p, o, s) BOOST_PP_WHILE_938_I(p, o, s) +# define BOOST_PP_WHILE_939(p, o, s) BOOST_PP_WHILE_939_I(p, o, s) +# define BOOST_PP_WHILE_940(p, o, s) BOOST_PP_WHILE_940_I(p, o, s) +# define BOOST_PP_WHILE_941(p, o, s) BOOST_PP_WHILE_941_I(p, o, s) +# define BOOST_PP_WHILE_942(p, o, s) BOOST_PP_WHILE_942_I(p, o, s) +# define BOOST_PP_WHILE_943(p, o, s) BOOST_PP_WHILE_943_I(p, o, s) +# define BOOST_PP_WHILE_944(p, o, s) BOOST_PP_WHILE_944_I(p, o, s) +# define BOOST_PP_WHILE_945(p, o, s) BOOST_PP_WHILE_945_I(p, o, s) +# define BOOST_PP_WHILE_946(p, o, s) BOOST_PP_WHILE_946_I(p, o, s) +# define BOOST_PP_WHILE_947(p, o, s) BOOST_PP_WHILE_947_I(p, o, s) +# define BOOST_PP_WHILE_948(p, o, s) BOOST_PP_WHILE_948_I(p, o, s) +# define BOOST_PP_WHILE_949(p, o, s) BOOST_PP_WHILE_949_I(p, o, s) +# define BOOST_PP_WHILE_950(p, o, s) BOOST_PP_WHILE_950_I(p, o, s) +# define BOOST_PP_WHILE_951(p, o, s) BOOST_PP_WHILE_951_I(p, o, s) +# define BOOST_PP_WHILE_952(p, o, s) BOOST_PP_WHILE_952_I(p, o, s) +# define BOOST_PP_WHILE_953(p, o, s) BOOST_PP_WHILE_953_I(p, o, s) +# define BOOST_PP_WHILE_954(p, o, s) BOOST_PP_WHILE_954_I(p, o, s) +# define BOOST_PP_WHILE_955(p, o, s) BOOST_PP_WHILE_955_I(p, o, s) +# define BOOST_PP_WHILE_956(p, o, s) BOOST_PP_WHILE_956_I(p, o, s) +# define BOOST_PP_WHILE_957(p, o, s) BOOST_PP_WHILE_957_I(p, o, s) +# define BOOST_PP_WHILE_958(p, o, s) BOOST_PP_WHILE_958_I(p, o, s) +# define BOOST_PP_WHILE_959(p, o, s) BOOST_PP_WHILE_959_I(p, o, s) +# define BOOST_PP_WHILE_960(p, o, s) BOOST_PP_WHILE_960_I(p, o, s) +# define BOOST_PP_WHILE_961(p, o, s) BOOST_PP_WHILE_961_I(p, o, s) +# define BOOST_PP_WHILE_962(p, o, s) BOOST_PP_WHILE_962_I(p, o, s) +# define BOOST_PP_WHILE_963(p, o, s) BOOST_PP_WHILE_963_I(p, o, s) +# define BOOST_PP_WHILE_964(p, o, s) BOOST_PP_WHILE_964_I(p, o, s) +# define BOOST_PP_WHILE_965(p, o, s) BOOST_PP_WHILE_965_I(p, o, s) +# define BOOST_PP_WHILE_966(p, o, s) BOOST_PP_WHILE_966_I(p, o, s) +# define BOOST_PP_WHILE_967(p, o, s) BOOST_PP_WHILE_967_I(p, o, s) +# define BOOST_PP_WHILE_968(p, o, s) BOOST_PP_WHILE_968_I(p, o, s) +# define BOOST_PP_WHILE_969(p, o, s) BOOST_PP_WHILE_969_I(p, o, s) +# define BOOST_PP_WHILE_970(p, o, s) BOOST_PP_WHILE_970_I(p, o, s) +# define BOOST_PP_WHILE_971(p, o, s) BOOST_PP_WHILE_971_I(p, o, s) +# define BOOST_PP_WHILE_972(p, o, s) BOOST_PP_WHILE_972_I(p, o, s) +# define BOOST_PP_WHILE_973(p, o, s) BOOST_PP_WHILE_973_I(p, o, s) +# define BOOST_PP_WHILE_974(p, o, s) BOOST_PP_WHILE_974_I(p, o, s) +# define BOOST_PP_WHILE_975(p, o, s) BOOST_PP_WHILE_975_I(p, o, s) +# define BOOST_PP_WHILE_976(p, o, s) BOOST_PP_WHILE_976_I(p, o, s) +# define BOOST_PP_WHILE_977(p, o, s) BOOST_PP_WHILE_977_I(p, o, s) +# define BOOST_PP_WHILE_978(p, o, s) BOOST_PP_WHILE_978_I(p, o, s) +# define BOOST_PP_WHILE_979(p, o, s) BOOST_PP_WHILE_979_I(p, o, s) +# define BOOST_PP_WHILE_980(p, o, s) BOOST_PP_WHILE_980_I(p, o, s) +# define BOOST_PP_WHILE_981(p, o, s) BOOST_PP_WHILE_981_I(p, o, s) +# define BOOST_PP_WHILE_982(p, o, s) BOOST_PP_WHILE_982_I(p, o, s) +# define BOOST_PP_WHILE_983(p, o, s) BOOST_PP_WHILE_983_I(p, o, s) +# define BOOST_PP_WHILE_984(p, o, s) BOOST_PP_WHILE_984_I(p, o, s) +# define BOOST_PP_WHILE_985(p, o, s) BOOST_PP_WHILE_985_I(p, o, s) +# define BOOST_PP_WHILE_986(p, o, s) BOOST_PP_WHILE_986_I(p, o, s) +# define BOOST_PP_WHILE_987(p, o, s) BOOST_PP_WHILE_987_I(p, o, s) +# define BOOST_PP_WHILE_988(p, o, s) BOOST_PP_WHILE_988_I(p, o, s) +# define BOOST_PP_WHILE_989(p, o, s) BOOST_PP_WHILE_989_I(p, o, s) +# define BOOST_PP_WHILE_990(p, o, s) BOOST_PP_WHILE_990_I(p, o, s) +# define BOOST_PP_WHILE_991(p, o, s) BOOST_PP_WHILE_991_I(p, o, s) +# define BOOST_PP_WHILE_992(p, o, s) BOOST_PP_WHILE_992_I(p, o, s) +# define BOOST_PP_WHILE_993(p, o, s) BOOST_PP_WHILE_993_I(p, o, s) +# define BOOST_PP_WHILE_994(p, o, s) BOOST_PP_WHILE_994_I(p, o, s) +# define BOOST_PP_WHILE_995(p, o, s) BOOST_PP_WHILE_995_I(p, o, s) +# define BOOST_PP_WHILE_996(p, o, s) BOOST_PP_WHILE_996_I(p, o, s) +# define BOOST_PP_WHILE_997(p, o, s) BOOST_PP_WHILE_997_I(p, o, s) +# define BOOST_PP_WHILE_998(p, o, s) BOOST_PP_WHILE_998_I(p, o, s) +# define BOOST_PP_WHILE_999(p, o, s) BOOST_PP_WHILE_999_I(p, o, s) +# define BOOST_PP_WHILE_1000(p, o, s) BOOST_PP_WHILE_1000_I(p, o, s) +# define BOOST_PP_WHILE_1001(p, o, s) BOOST_PP_WHILE_1001_I(p, o, s) +# define BOOST_PP_WHILE_1002(p, o, s) BOOST_PP_WHILE_1002_I(p, o, s) +# define BOOST_PP_WHILE_1003(p, o, s) BOOST_PP_WHILE_1003_I(p, o, s) +# define BOOST_PP_WHILE_1004(p, o, s) BOOST_PP_WHILE_1004_I(p, o, s) +# define BOOST_PP_WHILE_1005(p, o, s) BOOST_PP_WHILE_1005_I(p, o, s) +# define BOOST_PP_WHILE_1006(p, o, s) BOOST_PP_WHILE_1006_I(p, o, s) +# define BOOST_PP_WHILE_1007(p, o, s) BOOST_PP_WHILE_1007_I(p, o, s) +# define BOOST_PP_WHILE_1008(p, o, s) BOOST_PP_WHILE_1008_I(p, o, s) +# define BOOST_PP_WHILE_1009(p, o, s) BOOST_PP_WHILE_1009_I(p, o, s) +# define BOOST_PP_WHILE_1010(p, o, s) BOOST_PP_WHILE_1010_I(p, o, s) +# define BOOST_PP_WHILE_1011(p, o, s) BOOST_PP_WHILE_1011_I(p, o, s) +# define BOOST_PP_WHILE_1012(p, o, s) BOOST_PP_WHILE_1012_I(p, o, s) +# define BOOST_PP_WHILE_1013(p, o, s) BOOST_PP_WHILE_1013_I(p, o, s) +# define BOOST_PP_WHILE_1014(p, o, s) BOOST_PP_WHILE_1014_I(p, o, s) +# define BOOST_PP_WHILE_1015(p, o, s) BOOST_PP_WHILE_1015_I(p, o, s) +# define BOOST_PP_WHILE_1016(p, o, s) BOOST_PP_WHILE_1016_I(p, o, s) +# define BOOST_PP_WHILE_1017(p, o, s) BOOST_PP_WHILE_1017_I(p, o, s) +# define BOOST_PP_WHILE_1018(p, o, s) BOOST_PP_WHILE_1018_I(p, o, s) +# define BOOST_PP_WHILE_1019(p, o, s) BOOST_PP_WHILE_1019_I(p, o, s) +# define BOOST_PP_WHILE_1020(p, o, s) BOOST_PP_WHILE_1020_I(p, o, s) +# define BOOST_PP_WHILE_1021(p, o, s) BOOST_PP_WHILE_1021_I(p, o, s) +# define BOOST_PP_WHILE_1022(p, o, s) BOOST_PP_WHILE_1022_I(p, o, s) +# define BOOST_PP_WHILE_1023(p, o, s) BOOST_PP_WHILE_1023_I(p, o, s) +# define BOOST_PP_WHILE_1024(p, o, s) BOOST_PP_WHILE_1024_I(p, o, s) +# +# define BOOST_PP_WHILE_513_I(p, o, s) BOOST_PP_IF(p(514, s), BOOST_PP_WHILE_514, s BOOST_PP_TUPLE_EAT_3)(p, o, o(514, s)) +# define BOOST_PP_WHILE_514_I(p, o, s) BOOST_PP_IF(p(515, s), BOOST_PP_WHILE_515, s BOOST_PP_TUPLE_EAT_3)(p, o, o(515, s)) +# define BOOST_PP_WHILE_515_I(p, o, s) BOOST_PP_IF(p(516, s), BOOST_PP_WHILE_516, s BOOST_PP_TUPLE_EAT_3)(p, o, o(516, s)) +# define BOOST_PP_WHILE_516_I(p, o, s) BOOST_PP_IF(p(517, s), BOOST_PP_WHILE_517, s BOOST_PP_TUPLE_EAT_3)(p, o, o(517, s)) +# define BOOST_PP_WHILE_517_I(p, o, s) BOOST_PP_IF(p(518, s), BOOST_PP_WHILE_518, s BOOST_PP_TUPLE_EAT_3)(p, o, o(518, s)) +# define BOOST_PP_WHILE_518_I(p, o, s) BOOST_PP_IF(p(519, s), BOOST_PP_WHILE_519, s BOOST_PP_TUPLE_EAT_3)(p, o, o(519, s)) +# define BOOST_PP_WHILE_519_I(p, o, s) BOOST_PP_IF(p(520, s), BOOST_PP_WHILE_520, s BOOST_PP_TUPLE_EAT_3)(p, o, o(520, s)) +# define BOOST_PP_WHILE_520_I(p, o, s) BOOST_PP_IF(p(521, s), BOOST_PP_WHILE_521, s BOOST_PP_TUPLE_EAT_3)(p, o, o(521, s)) +# define BOOST_PP_WHILE_521_I(p, o, s) BOOST_PP_IF(p(522, s), BOOST_PP_WHILE_522, s BOOST_PP_TUPLE_EAT_3)(p, o, o(522, s)) +# define BOOST_PP_WHILE_522_I(p, o, s) BOOST_PP_IF(p(523, s), BOOST_PP_WHILE_523, s BOOST_PP_TUPLE_EAT_3)(p, o, o(523, s)) +# define BOOST_PP_WHILE_523_I(p, o, s) BOOST_PP_IF(p(524, s), BOOST_PP_WHILE_524, s BOOST_PP_TUPLE_EAT_3)(p, o, o(524, s)) +# define BOOST_PP_WHILE_524_I(p, o, s) BOOST_PP_IF(p(525, s), BOOST_PP_WHILE_525, s BOOST_PP_TUPLE_EAT_3)(p, o, o(525, s)) +# define BOOST_PP_WHILE_525_I(p, o, s) BOOST_PP_IF(p(526, s), BOOST_PP_WHILE_526, s BOOST_PP_TUPLE_EAT_3)(p, o, o(526, s)) +# define BOOST_PP_WHILE_526_I(p, o, s) BOOST_PP_IF(p(527, s), BOOST_PP_WHILE_527, s BOOST_PP_TUPLE_EAT_3)(p, o, o(527, s)) +# define BOOST_PP_WHILE_527_I(p, o, s) BOOST_PP_IF(p(528, s), BOOST_PP_WHILE_528, s BOOST_PP_TUPLE_EAT_3)(p, o, o(528, s)) +# define BOOST_PP_WHILE_528_I(p, o, s) BOOST_PP_IF(p(529, s), BOOST_PP_WHILE_529, s BOOST_PP_TUPLE_EAT_3)(p, o, o(529, s)) +# define BOOST_PP_WHILE_529_I(p, o, s) BOOST_PP_IF(p(530, s), BOOST_PP_WHILE_530, s BOOST_PP_TUPLE_EAT_3)(p, o, o(530, s)) +# define BOOST_PP_WHILE_530_I(p, o, s) BOOST_PP_IF(p(531, s), BOOST_PP_WHILE_531, s BOOST_PP_TUPLE_EAT_3)(p, o, o(531, s)) +# define BOOST_PP_WHILE_531_I(p, o, s) BOOST_PP_IF(p(532, s), BOOST_PP_WHILE_532, s BOOST_PP_TUPLE_EAT_3)(p, o, o(532, s)) +# define BOOST_PP_WHILE_532_I(p, o, s) BOOST_PP_IF(p(533, s), BOOST_PP_WHILE_533, s BOOST_PP_TUPLE_EAT_3)(p, o, o(533, s)) +# define BOOST_PP_WHILE_533_I(p, o, s) BOOST_PP_IF(p(534, s), BOOST_PP_WHILE_534, s BOOST_PP_TUPLE_EAT_3)(p, o, o(534, s)) +# define BOOST_PP_WHILE_534_I(p, o, s) BOOST_PP_IF(p(535, s), BOOST_PP_WHILE_535, s BOOST_PP_TUPLE_EAT_3)(p, o, o(535, s)) +# define BOOST_PP_WHILE_535_I(p, o, s) BOOST_PP_IF(p(536, s), BOOST_PP_WHILE_536, s BOOST_PP_TUPLE_EAT_3)(p, o, o(536, s)) +# define BOOST_PP_WHILE_536_I(p, o, s) BOOST_PP_IF(p(537, s), BOOST_PP_WHILE_537, s BOOST_PP_TUPLE_EAT_3)(p, o, o(537, s)) +# define BOOST_PP_WHILE_537_I(p, o, s) BOOST_PP_IF(p(538, s), BOOST_PP_WHILE_538, s BOOST_PP_TUPLE_EAT_3)(p, o, o(538, s)) +# define BOOST_PP_WHILE_538_I(p, o, s) BOOST_PP_IF(p(539, s), BOOST_PP_WHILE_539, s BOOST_PP_TUPLE_EAT_3)(p, o, o(539, s)) +# define BOOST_PP_WHILE_539_I(p, o, s) BOOST_PP_IF(p(540, s), BOOST_PP_WHILE_540, s BOOST_PP_TUPLE_EAT_3)(p, o, o(540, s)) +# define BOOST_PP_WHILE_540_I(p, o, s) BOOST_PP_IF(p(541, s), BOOST_PP_WHILE_541, s BOOST_PP_TUPLE_EAT_3)(p, o, o(541, s)) +# define BOOST_PP_WHILE_541_I(p, o, s) BOOST_PP_IF(p(542, s), BOOST_PP_WHILE_542, s BOOST_PP_TUPLE_EAT_3)(p, o, o(542, s)) +# define BOOST_PP_WHILE_542_I(p, o, s) BOOST_PP_IF(p(543, s), BOOST_PP_WHILE_543, s BOOST_PP_TUPLE_EAT_3)(p, o, o(543, s)) +# define BOOST_PP_WHILE_543_I(p, o, s) BOOST_PP_IF(p(544, s), BOOST_PP_WHILE_544, s BOOST_PP_TUPLE_EAT_3)(p, o, o(544, s)) +# define BOOST_PP_WHILE_544_I(p, o, s) BOOST_PP_IF(p(545, s), BOOST_PP_WHILE_545, s BOOST_PP_TUPLE_EAT_3)(p, o, o(545, s)) +# define BOOST_PP_WHILE_545_I(p, o, s) BOOST_PP_IF(p(546, s), BOOST_PP_WHILE_546, s BOOST_PP_TUPLE_EAT_3)(p, o, o(546, s)) +# define BOOST_PP_WHILE_546_I(p, o, s) BOOST_PP_IF(p(547, s), BOOST_PP_WHILE_547, s BOOST_PP_TUPLE_EAT_3)(p, o, o(547, s)) +# define BOOST_PP_WHILE_547_I(p, o, s) BOOST_PP_IF(p(548, s), BOOST_PP_WHILE_548, s BOOST_PP_TUPLE_EAT_3)(p, o, o(548, s)) +# define BOOST_PP_WHILE_548_I(p, o, s) BOOST_PP_IF(p(549, s), BOOST_PP_WHILE_549, s BOOST_PP_TUPLE_EAT_3)(p, o, o(549, s)) +# define BOOST_PP_WHILE_549_I(p, o, s) BOOST_PP_IF(p(550, s), BOOST_PP_WHILE_550, s BOOST_PP_TUPLE_EAT_3)(p, o, o(550, s)) +# define BOOST_PP_WHILE_550_I(p, o, s) BOOST_PP_IF(p(551, s), BOOST_PP_WHILE_551, s BOOST_PP_TUPLE_EAT_3)(p, o, o(551, s)) +# define BOOST_PP_WHILE_551_I(p, o, s) BOOST_PP_IF(p(552, s), BOOST_PP_WHILE_552, s BOOST_PP_TUPLE_EAT_3)(p, o, o(552, s)) +# define BOOST_PP_WHILE_552_I(p, o, s) BOOST_PP_IF(p(553, s), BOOST_PP_WHILE_553, s BOOST_PP_TUPLE_EAT_3)(p, o, o(553, s)) +# define BOOST_PP_WHILE_553_I(p, o, s) BOOST_PP_IF(p(554, s), BOOST_PP_WHILE_554, s BOOST_PP_TUPLE_EAT_3)(p, o, o(554, s)) +# define BOOST_PP_WHILE_554_I(p, o, s) BOOST_PP_IF(p(555, s), BOOST_PP_WHILE_555, s BOOST_PP_TUPLE_EAT_3)(p, o, o(555, s)) +# define BOOST_PP_WHILE_555_I(p, o, s) BOOST_PP_IF(p(556, s), BOOST_PP_WHILE_556, s BOOST_PP_TUPLE_EAT_3)(p, o, o(556, s)) +# define BOOST_PP_WHILE_556_I(p, o, s) BOOST_PP_IF(p(557, s), BOOST_PP_WHILE_557, s BOOST_PP_TUPLE_EAT_3)(p, o, o(557, s)) +# define BOOST_PP_WHILE_557_I(p, o, s) BOOST_PP_IF(p(558, s), BOOST_PP_WHILE_558, s BOOST_PP_TUPLE_EAT_3)(p, o, o(558, s)) +# define BOOST_PP_WHILE_558_I(p, o, s) BOOST_PP_IF(p(559, s), BOOST_PP_WHILE_559, s BOOST_PP_TUPLE_EAT_3)(p, o, o(559, s)) +# define BOOST_PP_WHILE_559_I(p, o, s) BOOST_PP_IF(p(560, s), BOOST_PP_WHILE_560, s BOOST_PP_TUPLE_EAT_3)(p, o, o(560, s)) +# define BOOST_PP_WHILE_560_I(p, o, s) BOOST_PP_IF(p(561, s), BOOST_PP_WHILE_561, s BOOST_PP_TUPLE_EAT_3)(p, o, o(561, s)) +# define BOOST_PP_WHILE_561_I(p, o, s) BOOST_PP_IF(p(562, s), BOOST_PP_WHILE_562, s BOOST_PP_TUPLE_EAT_3)(p, o, o(562, s)) +# define BOOST_PP_WHILE_562_I(p, o, s) BOOST_PP_IF(p(563, s), BOOST_PP_WHILE_563, s BOOST_PP_TUPLE_EAT_3)(p, o, o(563, s)) +# define BOOST_PP_WHILE_563_I(p, o, s) BOOST_PP_IF(p(564, s), BOOST_PP_WHILE_564, s BOOST_PP_TUPLE_EAT_3)(p, o, o(564, s)) +# define BOOST_PP_WHILE_564_I(p, o, s) BOOST_PP_IF(p(565, s), BOOST_PP_WHILE_565, s BOOST_PP_TUPLE_EAT_3)(p, o, o(565, s)) +# define BOOST_PP_WHILE_565_I(p, o, s) BOOST_PP_IF(p(566, s), BOOST_PP_WHILE_566, s BOOST_PP_TUPLE_EAT_3)(p, o, o(566, s)) +# define BOOST_PP_WHILE_566_I(p, o, s) BOOST_PP_IF(p(567, s), BOOST_PP_WHILE_567, s BOOST_PP_TUPLE_EAT_3)(p, o, o(567, s)) +# define BOOST_PP_WHILE_567_I(p, o, s) BOOST_PP_IF(p(568, s), BOOST_PP_WHILE_568, s BOOST_PP_TUPLE_EAT_3)(p, o, o(568, s)) +# define BOOST_PP_WHILE_568_I(p, o, s) BOOST_PP_IF(p(569, s), BOOST_PP_WHILE_569, s BOOST_PP_TUPLE_EAT_3)(p, o, o(569, s)) +# define BOOST_PP_WHILE_569_I(p, o, s) BOOST_PP_IF(p(570, s), BOOST_PP_WHILE_570, s BOOST_PP_TUPLE_EAT_3)(p, o, o(570, s)) +# define BOOST_PP_WHILE_570_I(p, o, s) BOOST_PP_IF(p(571, s), BOOST_PP_WHILE_571, s BOOST_PP_TUPLE_EAT_3)(p, o, o(571, s)) +# define BOOST_PP_WHILE_571_I(p, o, s) BOOST_PP_IF(p(572, s), BOOST_PP_WHILE_572, s BOOST_PP_TUPLE_EAT_3)(p, o, o(572, s)) +# define BOOST_PP_WHILE_572_I(p, o, s) BOOST_PP_IF(p(573, s), BOOST_PP_WHILE_573, s BOOST_PP_TUPLE_EAT_3)(p, o, o(573, s)) +# define BOOST_PP_WHILE_573_I(p, o, s) BOOST_PP_IF(p(574, s), BOOST_PP_WHILE_574, s BOOST_PP_TUPLE_EAT_3)(p, o, o(574, s)) +# define BOOST_PP_WHILE_574_I(p, o, s) BOOST_PP_IF(p(575, s), BOOST_PP_WHILE_575, s BOOST_PP_TUPLE_EAT_3)(p, o, o(575, s)) +# define BOOST_PP_WHILE_575_I(p, o, s) BOOST_PP_IF(p(576, s), BOOST_PP_WHILE_576, s BOOST_PP_TUPLE_EAT_3)(p, o, o(576, s)) +# define BOOST_PP_WHILE_576_I(p, o, s) BOOST_PP_IF(p(577, s), BOOST_PP_WHILE_577, s BOOST_PP_TUPLE_EAT_3)(p, o, o(577, s)) +# define BOOST_PP_WHILE_577_I(p, o, s) BOOST_PP_IF(p(578, s), BOOST_PP_WHILE_578, s BOOST_PP_TUPLE_EAT_3)(p, o, o(578, s)) +# define BOOST_PP_WHILE_578_I(p, o, s) BOOST_PP_IF(p(579, s), BOOST_PP_WHILE_579, s BOOST_PP_TUPLE_EAT_3)(p, o, o(579, s)) +# define BOOST_PP_WHILE_579_I(p, o, s) BOOST_PP_IF(p(580, s), BOOST_PP_WHILE_580, s BOOST_PP_TUPLE_EAT_3)(p, o, o(580, s)) +# define BOOST_PP_WHILE_580_I(p, o, s) BOOST_PP_IF(p(581, s), BOOST_PP_WHILE_581, s BOOST_PP_TUPLE_EAT_3)(p, o, o(581, s)) +# define BOOST_PP_WHILE_581_I(p, o, s) BOOST_PP_IF(p(582, s), BOOST_PP_WHILE_582, s BOOST_PP_TUPLE_EAT_3)(p, o, o(582, s)) +# define BOOST_PP_WHILE_582_I(p, o, s) BOOST_PP_IF(p(583, s), BOOST_PP_WHILE_583, s BOOST_PP_TUPLE_EAT_3)(p, o, o(583, s)) +# define BOOST_PP_WHILE_583_I(p, o, s) BOOST_PP_IF(p(584, s), BOOST_PP_WHILE_584, s BOOST_PP_TUPLE_EAT_3)(p, o, o(584, s)) +# define BOOST_PP_WHILE_584_I(p, o, s) BOOST_PP_IF(p(585, s), BOOST_PP_WHILE_585, s BOOST_PP_TUPLE_EAT_3)(p, o, o(585, s)) +# define BOOST_PP_WHILE_585_I(p, o, s) BOOST_PP_IF(p(586, s), BOOST_PP_WHILE_586, s BOOST_PP_TUPLE_EAT_3)(p, o, o(586, s)) +# define BOOST_PP_WHILE_586_I(p, o, s) BOOST_PP_IF(p(587, s), BOOST_PP_WHILE_587, s BOOST_PP_TUPLE_EAT_3)(p, o, o(587, s)) +# define BOOST_PP_WHILE_587_I(p, o, s) BOOST_PP_IF(p(588, s), BOOST_PP_WHILE_588, s BOOST_PP_TUPLE_EAT_3)(p, o, o(588, s)) +# define BOOST_PP_WHILE_588_I(p, o, s) BOOST_PP_IF(p(589, s), BOOST_PP_WHILE_589, s BOOST_PP_TUPLE_EAT_3)(p, o, o(589, s)) +# define BOOST_PP_WHILE_589_I(p, o, s) BOOST_PP_IF(p(590, s), BOOST_PP_WHILE_590, s BOOST_PP_TUPLE_EAT_3)(p, o, o(590, s)) +# define BOOST_PP_WHILE_590_I(p, o, s) BOOST_PP_IF(p(591, s), BOOST_PP_WHILE_591, s BOOST_PP_TUPLE_EAT_3)(p, o, o(591, s)) +# define BOOST_PP_WHILE_591_I(p, o, s) BOOST_PP_IF(p(592, s), BOOST_PP_WHILE_592, s BOOST_PP_TUPLE_EAT_3)(p, o, o(592, s)) +# define BOOST_PP_WHILE_592_I(p, o, s) BOOST_PP_IF(p(593, s), BOOST_PP_WHILE_593, s BOOST_PP_TUPLE_EAT_3)(p, o, o(593, s)) +# define BOOST_PP_WHILE_593_I(p, o, s) BOOST_PP_IF(p(594, s), BOOST_PP_WHILE_594, s BOOST_PP_TUPLE_EAT_3)(p, o, o(594, s)) +# define BOOST_PP_WHILE_594_I(p, o, s) BOOST_PP_IF(p(595, s), BOOST_PP_WHILE_595, s BOOST_PP_TUPLE_EAT_3)(p, o, o(595, s)) +# define BOOST_PP_WHILE_595_I(p, o, s) BOOST_PP_IF(p(596, s), BOOST_PP_WHILE_596, s BOOST_PP_TUPLE_EAT_3)(p, o, o(596, s)) +# define BOOST_PP_WHILE_596_I(p, o, s) BOOST_PP_IF(p(597, s), BOOST_PP_WHILE_597, s BOOST_PP_TUPLE_EAT_3)(p, o, o(597, s)) +# define BOOST_PP_WHILE_597_I(p, o, s) BOOST_PP_IF(p(598, s), BOOST_PP_WHILE_598, s BOOST_PP_TUPLE_EAT_3)(p, o, o(598, s)) +# define BOOST_PP_WHILE_598_I(p, o, s) BOOST_PP_IF(p(599, s), BOOST_PP_WHILE_599, s BOOST_PP_TUPLE_EAT_3)(p, o, o(599, s)) +# define BOOST_PP_WHILE_599_I(p, o, s) BOOST_PP_IF(p(600, s), BOOST_PP_WHILE_600, s BOOST_PP_TUPLE_EAT_3)(p, o, o(600, s)) +# define BOOST_PP_WHILE_600_I(p, o, s) BOOST_PP_IF(p(601, s), BOOST_PP_WHILE_601, s BOOST_PP_TUPLE_EAT_3)(p, o, o(601, s)) +# define BOOST_PP_WHILE_601_I(p, o, s) BOOST_PP_IF(p(602, s), BOOST_PP_WHILE_602, s BOOST_PP_TUPLE_EAT_3)(p, o, o(602, s)) +# define BOOST_PP_WHILE_602_I(p, o, s) BOOST_PP_IF(p(603, s), BOOST_PP_WHILE_603, s BOOST_PP_TUPLE_EAT_3)(p, o, o(603, s)) +# define BOOST_PP_WHILE_603_I(p, o, s) BOOST_PP_IF(p(604, s), BOOST_PP_WHILE_604, s BOOST_PP_TUPLE_EAT_3)(p, o, o(604, s)) +# define BOOST_PP_WHILE_604_I(p, o, s) BOOST_PP_IF(p(605, s), BOOST_PP_WHILE_605, s BOOST_PP_TUPLE_EAT_3)(p, o, o(605, s)) +# define BOOST_PP_WHILE_605_I(p, o, s) BOOST_PP_IF(p(606, s), BOOST_PP_WHILE_606, s BOOST_PP_TUPLE_EAT_3)(p, o, o(606, s)) +# define BOOST_PP_WHILE_606_I(p, o, s) BOOST_PP_IF(p(607, s), BOOST_PP_WHILE_607, s BOOST_PP_TUPLE_EAT_3)(p, o, o(607, s)) +# define BOOST_PP_WHILE_607_I(p, o, s) BOOST_PP_IF(p(608, s), BOOST_PP_WHILE_608, s BOOST_PP_TUPLE_EAT_3)(p, o, o(608, s)) +# define BOOST_PP_WHILE_608_I(p, o, s) BOOST_PP_IF(p(609, s), BOOST_PP_WHILE_609, s BOOST_PP_TUPLE_EAT_3)(p, o, o(609, s)) +# define BOOST_PP_WHILE_609_I(p, o, s) BOOST_PP_IF(p(610, s), BOOST_PP_WHILE_610, s BOOST_PP_TUPLE_EAT_3)(p, o, o(610, s)) +# define BOOST_PP_WHILE_610_I(p, o, s) BOOST_PP_IF(p(611, s), BOOST_PP_WHILE_611, s BOOST_PP_TUPLE_EAT_3)(p, o, o(611, s)) +# define BOOST_PP_WHILE_611_I(p, o, s) BOOST_PP_IF(p(612, s), BOOST_PP_WHILE_612, s BOOST_PP_TUPLE_EAT_3)(p, o, o(612, s)) +# define BOOST_PP_WHILE_612_I(p, o, s) BOOST_PP_IF(p(613, s), BOOST_PP_WHILE_613, s BOOST_PP_TUPLE_EAT_3)(p, o, o(613, s)) +# define BOOST_PP_WHILE_613_I(p, o, s) BOOST_PP_IF(p(614, s), BOOST_PP_WHILE_614, s BOOST_PP_TUPLE_EAT_3)(p, o, o(614, s)) +# define BOOST_PP_WHILE_614_I(p, o, s) BOOST_PP_IF(p(615, s), BOOST_PP_WHILE_615, s BOOST_PP_TUPLE_EAT_3)(p, o, o(615, s)) +# define BOOST_PP_WHILE_615_I(p, o, s) BOOST_PP_IF(p(616, s), BOOST_PP_WHILE_616, s BOOST_PP_TUPLE_EAT_3)(p, o, o(616, s)) +# define BOOST_PP_WHILE_616_I(p, o, s) BOOST_PP_IF(p(617, s), BOOST_PP_WHILE_617, s BOOST_PP_TUPLE_EAT_3)(p, o, o(617, s)) +# define BOOST_PP_WHILE_617_I(p, o, s) BOOST_PP_IF(p(618, s), BOOST_PP_WHILE_618, s BOOST_PP_TUPLE_EAT_3)(p, o, o(618, s)) +# define BOOST_PP_WHILE_618_I(p, o, s) BOOST_PP_IF(p(619, s), BOOST_PP_WHILE_619, s BOOST_PP_TUPLE_EAT_3)(p, o, o(619, s)) +# define BOOST_PP_WHILE_619_I(p, o, s) BOOST_PP_IF(p(620, s), BOOST_PP_WHILE_620, s BOOST_PP_TUPLE_EAT_3)(p, o, o(620, s)) +# define BOOST_PP_WHILE_620_I(p, o, s) BOOST_PP_IF(p(621, s), BOOST_PP_WHILE_621, s BOOST_PP_TUPLE_EAT_3)(p, o, o(621, s)) +# define BOOST_PP_WHILE_621_I(p, o, s) BOOST_PP_IF(p(622, s), BOOST_PP_WHILE_622, s BOOST_PP_TUPLE_EAT_3)(p, o, o(622, s)) +# define BOOST_PP_WHILE_622_I(p, o, s) BOOST_PP_IF(p(623, s), BOOST_PP_WHILE_623, s BOOST_PP_TUPLE_EAT_3)(p, o, o(623, s)) +# define BOOST_PP_WHILE_623_I(p, o, s) BOOST_PP_IF(p(624, s), BOOST_PP_WHILE_624, s BOOST_PP_TUPLE_EAT_3)(p, o, o(624, s)) +# define BOOST_PP_WHILE_624_I(p, o, s) BOOST_PP_IF(p(625, s), BOOST_PP_WHILE_625, s BOOST_PP_TUPLE_EAT_3)(p, o, o(625, s)) +# define BOOST_PP_WHILE_625_I(p, o, s) BOOST_PP_IF(p(626, s), BOOST_PP_WHILE_626, s BOOST_PP_TUPLE_EAT_3)(p, o, o(626, s)) +# define BOOST_PP_WHILE_626_I(p, o, s) BOOST_PP_IF(p(627, s), BOOST_PP_WHILE_627, s BOOST_PP_TUPLE_EAT_3)(p, o, o(627, s)) +# define BOOST_PP_WHILE_627_I(p, o, s) BOOST_PP_IF(p(628, s), BOOST_PP_WHILE_628, s BOOST_PP_TUPLE_EAT_3)(p, o, o(628, s)) +# define BOOST_PP_WHILE_628_I(p, o, s) BOOST_PP_IF(p(629, s), BOOST_PP_WHILE_629, s BOOST_PP_TUPLE_EAT_3)(p, o, o(629, s)) +# define BOOST_PP_WHILE_629_I(p, o, s) BOOST_PP_IF(p(630, s), BOOST_PP_WHILE_630, s BOOST_PP_TUPLE_EAT_3)(p, o, o(630, s)) +# define BOOST_PP_WHILE_630_I(p, o, s) BOOST_PP_IF(p(631, s), BOOST_PP_WHILE_631, s BOOST_PP_TUPLE_EAT_3)(p, o, o(631, s)) +# define BOOST_PP_WHILE_631_I(p, o, s) BOOST_PP_IF(p(632, s), BOOST_PP_WHILE_632, s BOOST_PP_TUPLE_EAT_3)(p, o, o(632, s)) +# define BOOST_PP_WHILE_632_I(p, o, s) BOOST_PP_IF(p(633, s), BOOST_PP_WHILE_633, s BOOST_PP_TUPLE_EAT_3)(p, o, o(633, s)) +# define BOOST_PP_WHILE_633_I(p, o, s) BOOST_PP_IF(p(634, s), BOOST_PP_WHILE_634, s BOOST_PP_TUPLE_EAT_3)(p, o, o(634, s)) +# define BOOST_PP_WHILE_634_I(p, o, s) BOOST_PP_IF(p(635, s), BOOST_PP_WHILE_635, s BOOST_PP_TUPLE_EAT_3)(p, o, o(635, s)) +# define BOOST_PP_WHILE_635_I(p, o, s) BOOST_PP_IF(p(636, s), BOOST_PP_WHILE_636, s BOOST_PP_TUPLE_EAT_3)(p, o, o(636, s)) +# define BOOST_PP_WHILE_636_I(p, o, s) BOOST_PP_IF(p(637, s), BOOST_PP_WHILE_637, s BOOST_PP_TUPLE_EAT_3)(p, o, o(637, s)) +# define BOOST_PP_WHILE_637_I(p, o, s) BOOST_PP_IF(p(638, s), BOOST_PP_WHILE_638, s BOOST_PP_TUPLE_EAT_3)(p, o, o(638, s)) +# define BOOST_PP_WHILE_638_I(p, o, s) BOOST_PP_IF(p(639, s), BOOST_PP_WHILE_639, s BOOST_PP_TUPLE_EAT_3)(p, o, o(639, s)) +# define BOOST_PP_WHILE_639_I(p, o, s) BOOST_PP_IF(p(640, s), BOOST_PP_WHILE_640, s BOOST_PP_TUPLE_EAT_3)(p, o, o(640, s)) +# define BOOST_PP_WHILE_640_I(p, o, s) BOOST_PP_IF(p(641, s), BOOST_PP_WHILE_641, s BOOST_PP_TUPLE_EAT_3)(p, o, o(641, s)) +# define BOOST_PP_WHILE_641_I(p, o, s) BOOST_PP_IF(p(642, s), BOOST_PP_WHILE_642, s BOOST_PP_TUPLE_EAT_3)(p, o, o(642, s)) +# define BOOST_PP_WHILE_642_I(p, o, s) BOOST_PP_IF(p(643, s), BOOST_PP_WHILE_643, s BOOST_PP_TUPLE_EAT_3)(p, o, o(643, s)) +# define BOOST_PP_WHILE_643_I(p, o, s) BOOST_PP_IF(p(644, s), BOOST_PP_WHILE_644, s BOOST_PP_TUPLE_EAT_3)(p, o, o(644, s)) +# define BOOST_PP_WHILE_644_I(p, o, s) BOOST_PP_IF(p(645, s), BOOST_PP_WHILE_645, s BOOST_PP_TUPLE_EAT_3)(p, o, o(645, s)) +# define BOOST_PP_WHILE_645_I(p, o, s) BOOST_PP_IF(p(646, s), BOOST_PP_WHILE_646, s BOOST_PP_TUPLE_EAT_3)(p, o, o(646, s)) +# define BOOST_PP_WHILE_646_I(p, o, s) BOOST_PP_IF(p(647, s), BOOST_PP_WHILE_647, s BOOST_PP_TUPLE_EAT_3)(p, o, o(647, s)) +# define BOOST_PP_WHILE_647_I(p, o, s) BOOST_PP_IF(p(648, s), BOOST_PP_WHILE_648, s BOOST_PP_TUPLE_EAT_3)(p, o, o(648, s)) +# define BOOST_PP_WHILE_648_I(p, o, s) BOOST_PP_IF(p(649, s), BOOST_PP_WHILE_649, s BOOST_PP_TUPLE_EAT_3)(p, o, o(649, s)) +# define BOOST_PP_WHILE_649_I(p, o, s) BOOST_PP_IF(p(650, s), BOOST_PP_WHILE_650, s BOOST_PP_TUPLE_EAT_3)(p, o, o(650, s)) +# define BOOST_PP_WHILE_650_I(p, o, s) BOOST_PP_IF(p(651, s), BOOST_PP_WHILE_651, s BOOST_PP_TUPLE_EAT_3)(p, o, o(651, s)) +# define BOOST_PP_WHILE_651_I(p, o, s) BOOST_PP_IF(p(652, s), BOOST_PP_WHILE_652, s BOOST_PP_TUPLE_EAT_3)(p, o, o(652, s)) +# define BOOST_PP_WHILE_652_I(p, o, s) BOOST_PP_IF(p(653, s), BOOST_PP_WHILE_653, s BOOST_PP_TUPLE_EAT_3)(p, o, o(653, s)) +# define BOOST_PP_WHILE_653_I(p, o, s) BOOST_PP_IF(p(654, s), BOOST_PP_WHILE_654, s BOOST_PP_TUPLE_EAT_3)(p, o, o(654, s)) +# define BOOST_PP_WHILE_654_I(p, o, s) BOOST_PP_IF(p(655, s), BOOST_PP_WHILE_655, s BOOST_PP_TUPLE_EAT_3)(p, o, o(655, s)) +# define BOOST_PP_WHILE_655_I(p, o, s) BOOST_PP_IF(p(656, s), BOOST_PP_WHILE_656, s BOOST_PP_TUPLE_EAT_3)(p, o, o(656, s)) +# define BOOST_PP_WHILE_656_I(p, o, s) BOOST_PP_IF(p(657, s), BOOST_PP_WHILE_657, s BOOST_PP_TUPLE_EAT_3)(p, o, o(657, s)) +# define BOOST_PP_WHILE_657_I(p, o, s) BOOST_PP_IF(p(658, s), BOOST_PP_WHILE_658, s BOOST_PP_TUPLE_EAT_3)(p, o, o(658, s)) +# define BOOST_PP_WHILE_658_I(p, o, s) BOOST_PP_IF(p(659, s), BOOST_PP_WHILE_659, s BOOST_PP_TUPLE_EAT_3)(p, o, o(659, s)) +# define BOOST_PP_WHILE_659_I(p, o, s) BOOST_PP_IF(p(660, s), BOOST_PP_WHILE_660, s BOOST_PP_TUPLE_EAT_3)(p, o, o(660, s)) +# define BOOST_PP_WHILE_660_I(p, o, s) BOOST_PP_IF(p(661, s), BOOST_PP_WHILE_661, s BOOST_PP_TUPLE_EAT_3)(p, o, o(661, s)) +# define BOOST_PP_WHILE_661_I(p, o, s) BOOST_PP_IF(p(662, s), BOOST_PP_WHILE_662, s BOOST_PP_TUPLE_EAT_3)(p, o, o(662, s)) +# define BOOST_PP_WHILE_662_I(p, o, s) BOOST_PP_IF(p(663, s), BOOST_PP_WHILE_663, s BOOST_PP_TUPLE_EAT_3)(p, o, o(663, s)) +# define BOOST_PP_WHILE_663_I(p, o, s) BOOST_PP_IF(p(664, s), BOOST_PP_WHILE_664, s BOOST_PP_TUPLE_EAT_3)(p, o, o(664, s)) +# define BOOST_PP_WHILE_664_I(p, o, s) BOOST_PP_IF(p(665, s), BOOST_PP_WHILE_665, s BOOST_PP_TUPLE_EAT_3)(p, o, o(665, s)) +# define BOOST_PP_WHILE_665_I(p, o, s) BOOST_PP_IF(p(666, s), BOOST_PP_WHILE_666, s BOOST_PP_TUPLE_EAT_3)(p, o, o(666, s)) +# define BOOST_PP_WHILE_666_I(p, o, s) BOOST_PP_IF(p(667, s), BOOST_PP_WHILE_667, s BOOST_PP_TUPLE_EAT_3)(p, o, o(667, s)) +# define BOOST_PP_WHILE_667_I(p, o, s) BOOST_PP_IF(p(668, s), BOOST_PP_WHILE_668, s BOOST_PP_TUPLE_EAT_3)(p, o, o(668, s)) +# define BOOST_PP_WHILE_668_I(p, o, s) BOOST_PP_IF(p(669, s), BOOST_PP_WHILE_669, s BOOST_PP_TUPLE_EAT_3)(p, o, o(669, s)) +# define BOOST_PP_WHILE_669_I(p, o, s) BOOST_PP_IF(p(670, s), BOOST_PP_WHILE_670, s BOOST_PP_TUPLE_EAT_3)(p, o, o(670, s)) +# define BOOST_PP_WHILE_670_I(p, o, s) BOOST_PP_IF(p(671, s), BOOST_PP_WHILE_671, s BOOST_PP_TUPLE_EAT_3)(p, o, o(671, s)) +# define BOOST_PP_WHILE_671_I(p, o, s) BOOST_PP_IF(p(672, s), BOOST_PP_WHILE_672, s BOOST_PP_TUPLE_EAT_3)(p, o, o(672, s)) +# define BOOST_PP_WHILE_672_I(p, o, s) BOOST_PP_IF(p(673, s), BOOST_PP_WHILE_673, s BOOST_PP_TUPLE_EAT_3)(p, o, o(673, s)) +# define BOOST_PP_WHILE_673_I(p, o, s) BOOST_PP_IF(p(674, s), BOOST_PP_WHILE_674, s BOOST_PP_TUPLE_EAT_3)(p, o, o(674, s)) +# define BOOST_PP_WHILE_674_I(p, o, s) BOOST_PP_IF(p(675, s), BOOST_PP_WHILE_675, s BOOST_PP_TUPLE_EAT_3)(p, o, o(675, s)) +# define BOOST_PP_WHILE_675_I(p, o, s) BOOST_PP_IF(p(676, s), BOOST_PP_WHILE_676, s BOOST_PP_TUPLE_EAT_3)(p, o, o(676, s)) +# define BOOST_PP_WHILE_676_I(p, o, s) BOOST_PP_IF(p(677, s), BOOST_PP_WHILE_677, s BOOST_PP_TUPLE_EAT_3)(p, o, o(677, s)) +# define BOOST_PP_WHILE_677_I(p, o, s) BOOST_PP_IF(p(678, s), BOOST_PP_WHILE_678, s BOOST_PP_TUPLE_EAT_3)(p, o, o(678, s)) +# define BOOST_PP_WHILE_678_I(p, o, s) BOOST_PP_IF(p(679, s), BOOST_PP_WHILE_679, s BOOST_PP_TUPLE_EAT_3)(p, o, o(679, s)) +# define BOOST_PP_WHILE_679_I(p, o, s) BOOST_PP_IF(p(680, s), BOOST_PP_WHILE_680, s BOOST_PP_TUPLE_EAT_3)(p, o, o(680, s)) +# define BOOST_PP_WHILE_680_I(p, o, s) BOOST_PP_IF(p(681, s), BOOST_PP_WHILE_681, s BOOST_PP_TUPLE_EAT_3)(p, o, o(681, s)) +# define BOOST_PP_WHILE_681_I(p, o, s) BOOST_PP_IF(p(682, s), BOOST_PP_WHILE_682, s BOOST_PP_TUPLE_EAT_3)(p, o, o(682, s)) +# define BOOST_PP_WHILE_682_I(p, o, s) BOOST_PP_IF(p(683, s), BOOST_PP_WHILE_683, s BOOST_PP_TUPLE_EAT_3)(p, o, o(683, s)) +# define BOOST_PP_WHILE_683_I(p, o, s) BOOST_PP_IF(p(684, s), BOOST_PP_WHILE_684, s BOOST_PP_TUPLE_EAT_3)(p, o, o(684, s)) +# define BOOST_PP_WHILE_684_I(p, o, s) BOOST_PP_IF(p(685, s), BOOST_PP_WHILE_685, s BOOST_PP_TUPLE_EAT_3)(p, o, o(685, s)) +# define BOOST_PP_WHILE_685_I(p, o, s) BOOST_PP_IF(p(686, s), BOOST_PP_WHILE_686, s BOOST_PP_TUPLE_EAT_3)(p, o, o(686, s)) +# define BOOST_PP_WHILE_686_I(p, o, s) BOOST_PP_IF(p(687, s), BOOST_PP_WHILE_687, s BOOST_PP_TUPLE_EAT_3)(p, o, o(687, s)) +# define BOOST_PP_WHILE_687_I(p, o, s) BOOST_PP_IF(p(688, s), BOOST_PP_WHILE_688, s BOOST_PP_TUPLE_EAT_3)(p, o, o(688, s)) +# define BOOST_PP_WHILE_688_I(p, o, s) BOOST_PP_IF(p(689, s), BOOST_PP_WHILE_689, s BOOST_PP_TUPLE_EAT_3)(p, o, o(689, s)) +# define BOOST_PP_WHILE_689_I(p, o, s) BOOST_PP_IF(p(690, s), BOOST_PP_WHILE_690, s BOOST_PP_TUPLE_EAT_3)(p, o, o(690, s)) +# define BOOST_PP_WHILE_690_I(p, o, s) BOOST_PP_IF(p(691, s), BOOST_PP_WHILE_691, s BOOST_PP_TUPLE_EAT_3)(p, o, o(691, s)) +# define BOOST_PP_WHILE_691_I(p, o, s) BOOST_PP_IF(p(692, s), BOOST_PP_WHILE_692, s BOOST_PP_TUPLE_EAT_3)(p, o, o(692, s)) +# define BOOST_PP_WHILE_692_I(p, o, s) BOOST_PP_IF(p(693, s), BOOST_PP_WHILE_693, s BOOST_PP_TUPLE_EAT_3)(p, o, o(693, s)) +# define BOOST_PP_WHILE_693_I(p, o, s) BOOST_PP_IF(p(694, s), BOOST_PP_WHILE_694, s BOOST_PP_TUPLE_EAT_3)(p, o, o(694, s)) +# define BOOST_PP_WHILE_694_I(p, o, s) BOOST_PP_IF(p(695, s), BOOST_PP_WHILE_695, s BOOST_PP_TUPLE_EAT_3)(p, o, o(695, s)) +# define BOOST_PP_WHILE_695_I(p, o, s) BOOST_PP_IF(p(696, s), BOOST_PP_WHILE_696, s BOOST_PP_TUPLE_EAT_3)(p, o, o(696, s)) +# define BOOST_PP_WHILE_696_I(p, o, s) BOOST_PP_IF(p(697, s), BOOST_PP_WHILE_697, s BOOST_PP_TUPLE_EAT_3)(p, o, o(697, s)) +# define BOOST_PP_WHILE_697_I(p, o, s) BOOST_PP_IF(p(698, s), BOOST_PP_WHILE_698, s BOOST_PP_TUPLE_EAT_3)(p, o, o(698, s)) +# define BOOST_PP_WHILE_698_I(p, o, s) BOOST_PP_IF(p(699, s), BOOST_PP_WHILE_699, s BOOST_PP_TUPLE_EAT_3)(p, o, o(699, s)) +# define BOOST_PP_WHILE_699_I(p, o, s) BOOST_PP_IF(p(700, s), BOOST_PP_WHILE_700, s BOOST_PP_TUPLE_EAT_3)(p, o, o(700, s)) +# define BOOST_PP_WHILE_700_I(p, o, s) BOOST_PP_IF(p(701, s), BOOST_PP_WHILE_701, s BOOST_PP_TUPLE_EAT_3)(p, o, o(701, s)) +# define BOOST_PP_WHILE_701_I(p, o, s) BOOST_PP_IF(p(702, s), BOOST_PP_WHILE_702, s BOOST_PP_TUPLE_EAT_3)(p, o, o(702, s)) +# define BOOST_PP_WHILE_702_I(p, o, s) BOOST_PP_IF(p(703, s), BOOST_PP_WHILE_703, s BOOST_PP_TUPLE_EAT_3)(p, o, o(703, s)) +# define BOOST_PP_WHILE_703_I(p, o, s) BOOST_PP_IF(p(704, s), BOOST_PP_WHILE_704, s BOOST_PP_TUPLE_EAT_3)(p, o, o(704, s)) +# define BOOST_PP_WHILE_704_I(p, o, s) BOOST_PP_IF(p(705, s), BOOST_PP_WHILE_705, s BOOST_PP_TUPLE_EAT_3)(p, o, o(705, s)) +# define BOOST_PP_WHILE_705_I(p, o, s) BOOST_PP_IF(p(706, s), BOOST_PP_WHILE_706, s BOOST_PP_TUPLE_EAT_3)(p, o, o(706, s)) +# define BOOST_PP_WHILE_706_I(p, o, s) BOOST_PP_IF(p(707, s), BOOST_PP_WHILE_707, s BOOST_PP_TUPLE_EAT_3)(p, o, o(707, s)) +# define BOOST_PP_WHILE_707_I(p, o, s) BOOST_PP_IF(p(708, s), BOOST_PP_WHILE_708, s BOOST_PP_TUPLE_EAT_3)(p, o, o(708, s)) +# define BOOST_PP_WHILE_708_I(p, o, s) BOOST_PP_IF(p(709, s), BOOST_PP_WHILE_709, s BOOST_PP_TUPLE_EAT_3)(p, o, o(709, s)) +# define BOOST_PP_WHILE_709_I(p, o, s) BOOST_PP_IF(p(710, s), BOOST_PP_WHILE_710, s BOOST_PP_TUPLE_EAT_3)(p, o, o(710, s)) +# define BOOST_PP_WHILE_710_I(p, o, s) BOOST_PP_IF(p(711, s), BOOST_PP_WHILE_711, s BOOST_PP_TUPLE_EAT_3)(p, o, o(711, s)) +# define BOOST_PP_WHILE_711_I(p, o, s) BOOST_PP_IF(p(712, s), BOOST_PP_WHILE_712, s BOOST_PP_TUPLE_EAT_3)(p, o, o(712, s)) +# define BOOST_PP_WHILE_712_I(p, o, s) BOOST_PP_IF(p(713, s), BOOST_PP_WHILE_713, s BOOST_PP_TUPLE_EAT_3)(p, o, o(713, s)) +# define BOOST_PP_WHILE_713_I(p, o, s) BOOST_PP_IF(p(714, s), BOOST_PP_WHILE_714, s BOOST_PP_TUPLE_EAT_3)(p, o, o(714, s)) +# define BOOST_PP_WHILE_714_I(p, o, s) BOOST_PP_IF(p(715, s), BOOST_PP_WHILE_715, s BOOST_PP_TUPLE_EAT_3)(p, o, o(715, s)) +# define BOOST_PP_WHILE_715_I(p, o, s) BOOST_PP_IF(p(716, s), BOOST_PP_WHILE_716, s BOOST_PP_TUPLE_EAT_3)(p, o, o(716, s)) +# define BOOST_PP_WHILE_716_I(p, o, s) BOOST_PP_IF(p(717, s), BOOST_PP_WHILE_717, s BOOST_PP_TUPLE_EAT_3)(p, o, o(717, s)) +# define BOOST_PP_WHILE_717_I(p, o, s) BOOST_PP_IF(p(718, s), BOOST_PP_WHILE_718, s BOOST_PP_TUPLE_EAT_3)(p, o, o(718, s)) +# define BOOST_PP_WHILE_718_I(p, o, s) BOOST_PP_IF(p(719, s), BOOST_PP_WHILE_719, s BOOST_PP_TUPLE_EAT_3)(p, o, o(719, s)) +# define BOOST_PP_WHILE_719_I(p, o, s) BOOST_PP_IF(p(720, s), BOOST_PP_WHILE_720, s BOOST_PP_TUPLE_EAT_3)(p, o, o(720, s)) +# define BOOST_PP_WHILE_720_I(p, o, s) BOOST_PP_IF(p(721, s), BOOST_PP_WHILE_721, s BOOST_PP_TUPLE_EAT_3)(p, o, o(721, s)) +# define BOOST_PP_WHILE_721_I(p, o, s) BOOST_PP_IF(p(722, s), BOOST_PP_WHILE_722, s BOOST_PP_TUPLE_EAT_3)(p, o, o(722, s)) +# define BOOST_PP_WHILE_722_I(p, o, s) BOOST_PP_IF(p(723, s), BOOST_PP_WHILE_723, s BOOST_PP_TUPLE_EAT_3)(p, o, o(723, s)) +# define BOOST_PP_WHILE_723_I(p, o, s) BOOST_PP_IF(p(724, s), BOOST_PP_WHILE_724, s BOOST_PP_TUPLE_EAT_3)(p, o, o(724, s)) +# define BOOST_PP_WHILE_724_I(p, o, s) BOOST_PP_IF(p(725, s), BOOST_PP_WHILE_725, s BOOST_PP_TUPLE_EAT_3)(p, o, o(725, s)) +# define BOOST_PP_WHILE_725_I(p, o, s) BOOST_PP_IF(p(726, s), BOOST_PP_WHILE_726, s BOOST_PP_TUPLE_EAT_3)(p, o, o(726, s)) +# define BOOST_PP_WHILE_726_I(p, o, s) BOOST_PP_IF(p(727, s), BOOST_PP_WHILE_727, s BOOST_PP_TUPLE_EAT_3)(p, o, o(727, s)) +# define BOOST_PP_WHILE_727_I(p, o, s) BOOST_PP_IF(p(728, s), BOOST_PP_WHILE_728, s BOOST_PP_TUPLE_EAT_3)(p, o, o(728, s)) +# define BOOST_PP_WHILE_728_I(p, o, s) BOOST_PP_IF(p(729, s), BOOST_PP_WHILE_729, s BOOST_PP_TUPLE_EAT_3)(p, o, o(729, s)) +# define BOOST_PP_WHILE_729_I(p, o, s) BOOST_PP_IF(p(730, s), BOOST_PP_WHILE_730, s BOOST_PP_TUPLE_EAT_3)(p, o, o(730, s)) +# define BOOST_PP_WHILE_730_I(p, o, s) BOOST_PP_IF(p(731, s), BOOST_PP_WHILE_731, s BOOST_PP_TUPLE_EAT_3)(p, o, o(731, s)) +# define BOOST_PP_WHILE_731_I(p, o, s) BOOST_PP_IF(p(732, s), BOOST_PP_WHILE_732, s BOOST_PP_TUPLE_EAT_3)(p, o, o(732, s)) +# define BOOST_PP_WHILE_732_I(p, o, s) BOOST_PP_IF(p(733, s), BOOST_PP_WHILE_733, s BOOST_PP_TUPLE_EAT_3)(p, o, o(733, s)) +# define BOOST_PP_WHILE_733_I(p, o, s) BOOST_PP_IF(p(734, s), BOOST_PP_WHILE_734, s BOOST_PP_TUPLE_EAT_3)(p, o, o(734, s)) +# define BOOST_PP_WHILE_734_I(p, o, s) BOOST_PP_IF(p(735, s), BOOST_PP_WHILE_735, s BOOST_PP_TUPLE_EAT_3)(p, o, o(735, s)) +# define BOOST_PP_WHILE_735_I(p, o, s) BOOST_PP_IF(p(736, s), BOOST_PP_WHILE_736, s BOOST_PP_TUPLE_EAT_3)(p, o, o(736, s)) +# define BOOST_PP_WHILE_736_I(p, o, s) BOOST_PP_IF(p(737, s), BOOST_PP_WHILE_737, s BOOST_PP_TUPLE_EAT_3)(p, o, o(737, s)) +# define BOOST_PP_WHILE_737_I(p, o, s) BOOST_PP_IF(p(738, s), BOOST_PP_WHILE_738, s BOOST_PP_TUPLE_EAT_3)(p, o, o(738, s)) +# define BOOST_PP_WHILE_738_I(p, o, s) BOOST_PP_IF(p(739, s), BOOST_PP_WHILE_739, s BOOST_PP_TUPLE_EAT_3)(p, o, o(739, s)) +# define BOOST_PP_WHILE_739_I(p, o, s) BOOST_PP_IF(p(740, s), BOOST_PP_WHILE_740, s BOOST_PP_TUPLE_EAT_3)(p, o, o(740, s)) +# define BOOST_PP_WHILE_740_I(p, o, s) BOOST_PP_IF(p(741, s), BOOST_PP_WHILE_741, s BOOST_PP_TUPLE_EAT_3)(p, o, o(741, s)) +# define BOOST_PP_WHILE_741_I(p, o, s) BOOST_PP_IF(p(742, s), BOOST_PP_WHILE_742, s BOOST_PP_TUPLE_EAT_3)(p, o, o(742, s)) +# define BOOST_PP_WHILE_742_I(p, o, s) BOOST_PP_IF(p(743, s), BOOST_PP_WHILE_743, s BOOST_PP_TUPLE_EAT_3)(p, o, o(743, s)) +# define BOOST_PP_WHILE_743_I(p, o, s) BOOST_PP_IF(p(744, s), BOOST_PP_WHILE_744, s BOOST_PP_TUPLE_EAT_3)(p, o, o(744, s)) +# define BOOST_PP_WHILE_744_I(p, o, s) BOOST_PP_IF(p(745, s), BOOST_PP_WHILE_745, s BOOST_PP_TUPLE_EAT_3)(p, o, o(745, s)) +# define BOOST_PP_WHILE_745_I(p, o, s) BOOST_PP_IF(p(746, s), BOOST_PP_WHILE_746, s BOOST_PP_TUPLE_EAT_3)(p, o, o(746, s)) +# define BOOST_PP_WHILE_746_I(p, o, s) BOOST_PP_IF(p(747, s), BOOST_PP_WHILE_747, s BOOST_PP_TUPLE_EAT_3)(p, o, o(747, s)) +# define BOOST_PP_WHILE_747_I(p, o, s) BOOST_PP_IF(p(748, s), BOOST_PP_WHILE_748, s BOOST_PP_TUPLE_EAT_3)(p, o, o(748, s)) +# define BOOST_PP_WHILE_748_I(p, o, s) BOOST_PP_IF(p(749, s), BOOST_PP_WHILE_749, s BOOST_PP_TUPLE_EAT_3)(p, o, o(749, s)) +# define BOOST_PP_WHILE_749_I(p, o, s) BOOST_PP_IF(p(750, s), BOOST_PP_WHILE_750, s BOOST_PP_TUPLE_EAT_3)(p, o, o(750, s)) +# define BOOST_PP_WHILE_750_I(p, o, s) BOOST_PP_IF(p(751, s), BOOST_PP_WHILE_751, s BOOST_PP_TUPLE_EAT_3)(p, o, o(751, s)) +# define BOOST_PP_WHILE_751_I(p, o, s) BOOST_PP_IF(p(752, s), BOOST_PP_WHILE_752, s BOOST_PP_TUPLE_EAT_3)(p, o, o(752, s)) +# define BOOST_PP_WHILE_752_I(p, o, s) BOOST_PP_IF(p(753, s), BOOST_PP_WHILE_753, s BOOST_PP_TUPLE_EAT_3)(p, o, o(753, s)) +# define BOOST_PP_WHILE_753_I(p, o, s) BOOST_PP_IF(p(754, s), BOOST_PP_WHILE_754, s BOOST_PP_TUPLE_EAT_3)(p, o, o(754, s)) +# define BOOST_PP_WHILE_754_I(p, o, s) BOOST_PP_IF(p(755, s), BOOST_PP_WHILE_755, s BOOST_PP_TUPLE_EAT_3)(p, o, o(755, s)) +# define BOOST_PP_WHILE_755_I(p, o, s) BOOST_PP_IF(p(756, s), BOOST_PP_WHILE_756, s BOOST_PP_TUPLE_EAT_3)(p, o, o(756, s)) +# define BOOST_PP_WHILE_756_I(p, o, s) BOOST_PP_IF(p(757, s), BOOST_PP_WHILE_757, s BOOST_PP_TUPLE_EAT_3)(p, o, o(757, s)) +# define BOOST_PP_WHILE_757_I(p, o, s) BOOST_PP_IF(p(758, s), BOOST_PP_WHILE_758, s BOOST_PP_TUPLE_EAT_3)(p, o, o(758, s)) +# define BOOST_PP_WHILE_758_I(p, o, s) BOOST_PP_IF(p(759, s), BOOST_PP_WHILE_759, s BOOST_PP_TUPLE_EAT_3)(p, o, o(759, s)) +# define BOOST_PP_WHILE_759_I(p, o, s) BOOST_PP_IF(p(760, s), BOOST_PP_WHILE_760, s BOOST_PP_TUPLE_EAT_3)(p, o, o(760, s)) +# define BOOST_PP_WHILE_760_I(p, o, s) BOOST_PP_IF(p(761, s), BOOST_PP_WHILE_761, s BOOST_PP_TUPLE_EAT_3)(p, o, o(761, s)) +# define BOOST_PP_WHILE_761_I(p, o, s) BOOST_PP_IF(p(762, s), BOOST_PP_WHILE_762, s BOOST_PP_TUPLE_EAT_3)(p, o, o(762, s)) +# define BOOST_PP_WHILE_762_I(p, o, s) BOOST_PP_IF(p(763, s), BOOST_PP_WHILE_763, s BOOST_PP_TUPLE_EAT_3)(p, o, o(763, s)) +# define BOOST_PP_WHILE_763_I(p, o, s) BOOST_PP_IF(p(764, s), BOOST_PP_WHILE_764, s BOOST_PP_TUPLE_EAT_3)(p, o, o(764, s)) +# define BOOST_PP_WHILE_764_I(p, o, s) BOOST_PP_IF(p(765, s), BOOST_PP_WHILE_765, s BOOST_PP_TUPLE_EAT_3)(p, o, o(765, s)) +# define BOOST_PP_WHILE_765_I(p, o, s) BOOST_PP_IF(p(766, s), BOOST_PP_WHILE_766, s BOOST_PP_TUPLE_EAT_3)(p, o, o(766, s)) +# define BOOST_PP_WHILE_766_I(p, o, s) BOOST_PP_IF(p(767, s), BOOST_PP_WHILE_767, s BOOST_PP_TUPLE_EAT_3)(p, o, o(767, s)) +# define BOOST_PP_WHILE_767_I(p, o, s) BOOST_PP_IF(p(768, s), BOOST_PP_WHILE_768, s BOOST_PP_TUPLE_EAT_3)(p, o, o(768, s)) +# define BOOST_PP_WHILE_768_I(p, o, s) BOOST_PP_IF(p(769, s), BOOST_PP_WHILE_769, s BOOST_PP_TUPLE_EAT_3)(p, o, o(769, s)) +# define BOOST_PP_WHILE_769_I(p, o, s) BOOST_PP_IF(p(770, s), BOOST_PP_WHILE_770, s BOOST_PP_TUPLE_EAT_3)(p, o, o(770, s)) +# define BOOST_PP_WHILE_770_I(p, o, s) BOOST_PP_IF(p(771, s), BOOST_PP_WHILE_771, s BOOST_PP_TUPLE_EAT_3)(p, o, o(771, s)) +# define BOOST_PP_WHILE_771_I(p, o, s) BOOST_PP_IF(p(772, s), BOOST_PP_WHILE_772, s BOOST_PP_TUPLE_EAT_3)(p, o, o(772, s)) +# define BOOST_PP_WHILE_772_I(p, o, s) BOOST_PP_IF(p(773, s), BOOST_PP_WHILE_773, s BOOST_PP_TUPLE_EAT_3)(p, o, o(773, s)) +# define BOOST_PP_WHILE_773_I(p, o, s) BOOST_PP_IF(p(774, s), BOOST_PP_WHILE_774, s BOOST_PP_TUPLE_EAT_3)(p, o, o(774, s)) +# define BOOST_PP_WHILE_774_I(p, o, s) BOOST_PP_IF(p(775, s), BOOST_PP_WHILE_775, s BOOST_PP_TUPLE_EAT_3)(p, o, o(775, s)) +# define BOOST_PP_WHILE_775_I(p, o, s) BOOST_PP_IF(p(776, s), BOOST_PP_WHILE_776, s BOOST_PP_TUPLE_EAT_3)(p, o, o(776, s)) +# define BOOST_PP_WHILE_776_I(p, o, s) BOOST_PP_IF(p(777, s), BOOST_PP_WHILE_777, s BOOST_PP_TUPLE_EAT_3)(p, o, o(777, s)) +# define BOOST_PP_WHILE_777_I(p, o, s) BOOST_PP_IF(p(778, s), BOOST_PP_WHILE_778, s BOOST_PP_TUPLE_EAT_3)(p, o, o(778, s)) +# define BOOST_PP_WHILE_778_I(p, o, s) BOOST_PP_IF(p(779, s), BOOST_PP_WHILE_779, s BOOST_PP_TUPLE_EAT_3)(p, o, o(779, s)) +# define BOOST_PP_WHILE_779_I(p, o, s) BOOST_PP_IF(p(780, s), BOOST_PP_WHILE_780, s BOOST_PP_TUPLE_EAT_3)(p, o, o(780, s)) +# define BOOST_PP_WHILE_780_I(p, o, s) BOOST_PP_IF(p(781, s), BOOST_PP_WHILE_781, s BOOST_PP_TUPLE_EAT_3)(p, o, o(781, s)) +# define BOOST_PP_WHILE_781_I(p, o, s) BOOST_PP_IF(p(782, s), BOOST_PP_WHILE_782, s BOOST_PP_TUPLE_EAT_3)(p, o, o(782, s)) +# define BOOST_PP_WHILE_782_I(p, o, s) BOOST_PP_IF(p(783, s), BOOST_PP_WHILE_783, s BOOST_PP_TUPLE_EAT_3)(p, o, o(783, s)) +# define BOOST_PP_WHILE_783_I(p, o, s) BOOST_PP_IF(p(784, s), BOOST_PP_WHILE_784, s BOOST_PP_TUPLE_EAT_3)(p, o, o(784, s)) +# define BOOST_PP_WHILE_784_I(p, o, s) BOOST_PP_IF(p(785, s), BOOST_PP_WHILE_785, s BOOST_PP_TUPLE_EAT_3)(p, o, o(785, s)) +# define BOOST_PP_WHILE_785_I(p, o, s) BOOST_PP_IF(p(786, s), BOOST_PP_WHILE_786, s BOOST_PP_TUPLE_EAT_3)(p, o, o(786, s)) +# define BOOST_PP_WHILE_786_I(p, o, s) BOOST_PP_IF(p(787, s), BOOST_PP_WHILE_787, s BOOST_PP_TUPLE_EAT_3)(p, o, o(787, s)) +# define BOOST_PP_WHILE_787_I(p, o, s) BOOST_PP_IF(p(788, s), BOOST_PP_WHILE_788, s BOOST_PP_TUPLE_EAT_3)(p, o, o(788, s)) +# define BOOST_PP_WHILE_788_I(p, o, s) BOOST_PP_IF(p(789, s), BOOST_PP_WHILE_789, s BOOST_PP_TUPLE_EAT_3)(p, o, o(789, s)) +# define BOOST_PP_WHILE_789_I(p, o, s) BOOST_PP_IF(p(790, s), BOOST_PP_WHILE_790, s BOOST_PP_TUPLE_EAT_3)(p, o, o(790, s)) +# define BOOST_PP_WHILE_790_I(p, o, s) BOOST_PP_IF(p(791, s), BOOST_PP_WHILE_791, s BOOST_PP_TUPLE_EAT_3)(p, o, o(791, s)) +# define BOOST_PP_WHILE_791_I(p, o, s) BOOST_PP_IF(p(792, s), BOOST_PP_WHILE_792, s BOOST_PP_TUPLE_EAT_3)(p, o, o(792, s)) +# define BOOST_PP_WHILE_792_I(p, o, s) BOOST_PP_IF(p(793, s), BOOST_PP_WHILE_793, s BOOST_PP_TUPLE_EAT_3)(p, o, o(793, s)) +# define BOOST_PP_WHILE_793_I(p, o, s) BOOST_PP_IF(p(794, s), BOOST_PP_WHILE_794, s BOOST_PP_TUPLE_EAT_3)(p, o, o(794, s)) +# define BOOST_PP_WHILE_794_I(p, o, s) BOOST_PP_IF(p(795, s), BOOST_PP_WHILE_795, s BOOST_PP_TUPLE_EAT_3)(p, o, o(795, s)) +# define BOOST_PP_WHILE_795_I(p, o, s) BOOST_PP_IF(p(796, s), BOOST_PP_WHILE_796, s BOOST_PP_TUPLE_EAT_3)(p, o, o(796, s)) +# define BOOST_PP_WHILE_796_I(p, o, s) BOOST_PP_IF(p(797, s), BOOST_PP_WHILE_797, s BOOST_PP_TUPLE_EAT_3)(p, o, o(797, s)) +# define BOOST_PP_WHILE_797_I(p, o, s) BOOST_PP_IF(p(798, s), BOOST_PP_WHILE_798, s BOOST_PP_TUPLE_EAT_3)(p, o, o(798, s)) +# define BOOST_PP_WHILE_798_I(p, o, s) BOOST_PP_IF(p(799, s), BOOST_PP_WHILE_799, s BOOST_PP_TUPLE_EAT_3)(p, o, o(799, s)) +# define BOOST_PP_WHILE_799_I(p, o, s) BOOST_PP_IF(p(800, s), BOOST_PP_WHILE_800, s BOOST_PP_TUPLE_EAT_3)(p, o, o(800, s)) +# define BOOST_PP_WHILE_800_I(p, o, s) BOOST_PP_IF(p(801, s), BOOST_PP_WHILE_801, s BOOST_PP_TUPLE_EAT_3)(p, o, o(801, s)) +# define BOOST_PP_WHILE_801_I(p, o, s) BOOST_PP_IF(p(802, s), BOOST_PP_WHILE_802, s BOOST_PP_TUPLE_EAT_3)(p, o, o(802, s)) +# define BOOST_PP_WHILE_802_I(p, o, s) BOOST_PP_IF(p(803, s), BOOST_PP_WHILE_803, s BOOST_PP_TUPLE_EAT_3)(p, o, o(803, s)) +# define BOOST_PP_WHILE_803_I(p, o, s) BOOST_PP_IF(p(804, s), BOOST_PP_WHILE_804, s BOOST_PP_TUPLE_EAT_3)(p, o, o(804, s)) +# define BOOST_PP_WHILE_804_I(p, o, s) BOOST_PP_IF(p(805, s), BOOST_PP_WHILE_805, s BOOST_PP_TUPLE_EAT_3)(p, o, o(805, s)) +# define BOOST_PP_WHILE_805_I(p, o, s) BOOST_PP_IF(p(806, s), BOOST_PP_WHILE_806, s BOOST_PP_TUPLE_EAT_3)(p, o, o(806, s)) +# define BOOST_PP_WHILE_806_I(p, o, s) BOOST_PP_IF(p(807, s), BOOST_PP_WHILE_807, s BOOST_PP_TUPLE_EAT_3)(p, o, o(807, s)) +# define BOOST_PP_WHILE_807_I(p, o, s) BOOST_PP_IF(p(808, s), BOOST_PP_WHILE_808, s BOOST_PP_TUPLE_EAT_3)(p, o, o(808, s)) +# define BOOST_PP_WHILE_808_I(p, o, s) BOOST_PP_IF(p(809, s), BOOST_PP_WHILE_809, s BOOST_PP_TUPLE_EAT_3)(p, o, o(809, s)) +# define BOOST_PP_WHILE_809_I(p, o, s) BOOST_PP_IF(p(810, s), BOOST_PP_WHILE_810, s BOOST_PP_TUPLE_EAT_3)(p, o, o(810, s)) +# define BOOST_PP_WHILE_810_I(p, o, s) BOOST_PP_IF(p(811, s), BOOST_PP_WHILE_811, s BOOST_PP_TUPLE_EAT_3)(p, o, o(811, s)) +# define BOOST_PP_WHILE_811_I(p, o, s) BOOST_PP_IF(p(812, s), BOOST_PP_WHILE_812, s BOOST_PP_TUPLE_EAT_3)(p, o, o(812, s)) +# define BOOST_PP_WHILE_812_I(p, o, s) BOOST_PP_IF(p(813, s), BOOST_PP_WHILE_813, s BOOST_PP_TUPLE_EAT_3)(p, o, o(813, s)) +# define BOOST_PP_WHILE_813_I(p, o, s) BOOST_PP_IF(p(814, s), BOOST_PP_WHILE_814, s BOOST_PP_TUPLE_EAT_3)(p, o, o(814, s)) +# define BOOST_PP_WHILE_814_I(p, o, s) BOOST_PP_IF(p(815, s), BOOST_PP_WHILE_815, s BOOST_PP_TUPLE_EAT_3)(p, o, o(815, s)) +# define BOOST_PP_WHILE_815_I(p, o, s) BOOST_PP_IF(p(816, s), BOOST_PP_WHILE_816, s BOOST_PP_TUPLE_EAT_3)(p, o, o(816, s)) +# define BOOST_PP_WHILE_816_I(p, o, s) BOOST_PP_IF(p(817, s), BOOST_PP_WHILE_817, s BOOST_PP_TUPLE_EAT_3)(p, o, o(817, s)) +# define BOOST_PP_WHILE_817_I(p, o, s) BOOST_PP_IF(p(818, s), BOOST_PP_WHILE_818, s BOOST_PP_TUPLE_EAT_3)(p, o, o(818, s)) +# define BOOST_PP_WHILE_818_I(p, o, s) BOOST_PP_IF(p(819, s), BOOST_PP_WHILE_819, s BOOST_PP_TUPLE_EAT_3)(p, o, o(819, s)) +# define BOOST_PP_WHILE_819_I(p, o, s) BOOST_PP_IF(p(820, s), BOOST_PP_WHILE_820, s BOOST_PP_TUPLE_EAT_3)(p, o, o(820, s)) +# define BOOST_PP_WHILE_820_I(p, o, s) BOOST_PP_IF(p(821, s), BOOST_PP_WHILE_821, s BOOST_PP_TUPLE_EAT_3)(p, o, o(821, s)) +# define BOOST_PP_WHILE_821_I(p, o, s) BOOST_PP_IF(p(822, s), BOOST_PP_WHILE_822, s BOOST_PP_TUPLE_EAT_3)(p, o, o(822, s)) +# define BOOST_PP_WHILE_822_I(p, o, s) BOOST_PP_IF(p(823, s), BOOST_PP_WHILE_823, s BOOST_PP_TUPLE_EAT_3)(p, o, o(823, s)) +# define BOOST_PP_WHILE_823_I(p, o, s) BOOST_PP_IF(p(824, s), BOOST_PP_WHILE_824, s BOOST_PP_TUPLE_EAT_3)(p, o, o(824, s)) +# define BOOST_PP_WHILE_824_I(p, o, s) BOOST_PP_IF(p(825, s), BOOST_PP_WHILE_825, s BOOST_PP_TUPLE_EAT_3)(p, o, o(825, s)) +# define BOOST_PP_WHILE_825_I(p, o, s) BOOST_PP_IF(p(826, s), BOOST_PP_WHILE_826, s BOOST_PP_TUPLE_EAT_3)(p, o, o(826, s)) +# define BOOST_PP_WHILE_826_I(p, o, s) BOOST_PP_IF(p(827, s), BOOST_PP_WHILE_827, s BOOST_PP_TUPLE_EAT_3)(p, o, o(827, s)) +# define BOOST_PP_WHILE_827_I(p, o, s) BOOST_PP_IF(p(828, s), BOOST_PP_WHILE_828, s BOOST_PP_TUPLE_EAT_3)(p, o, o(828, s)) +# define BOOST_PP_WHILE_828_I(p, o, s) BOOST_PP_IF(p(829, s), BOOST_PP_WHILE_829, s BOOST_PP_TUPLE_EAT_3)(p, o, o(829, s)) +# define BOOST_PP_WHILE_829_I(p, o, s) BOOST_PP_IF(p(830, s), BOOST_PP_WHILE_830, s BOOST_PP_TUPLE_EAT_3)(p, o, o(830, s)) +# define BOOST_PP_WHILE_830_I(p, o, s) BOOST_PP_IF(p(831, s), BOOST_PP_WHILE_831, s BOOST_PP_TUPLE_EAT_3)(p, o, o(831, s)) +# define BOOST_PP_WHILE_831_I(p, o, s) BOOST_PP_IF(p(832, s), BOOST_PP_WHILE_832, s BOOST_PP_TUPLE_EAT_3)(p, o, o(832, s)) +# define BOOST_PP_WHILE_832_I(p, o, s) BOOST_PP_IF(p(833, s), BOOST_PP_WHILE_833, s BOOST_PP_TUPLE_EAT_3)(p, o, o(833, s)) +# define BOOST_PP_WHILE_833_I(p, o, s) BOOST_PP_IF(p(834, s), BOOST_PP_WHILE_834, s BOOST_PP_TUPLE_EAT_3)(p, o, o(834, s)) +# define BOOST_PP_WHILE_834_I(p, o, s) BOOST_PP_IF(p(835, s), BOOST_PP_WHILE_835, s BOOST_PP_TUPLE_EAT_3)(p, o, o(835, s)) +# define BOOST_PP_WHILE_835_I(p, o, s) BOOST_PP_IF(p(836, s), BOOST_PP_WHILE_836, s BOOST_PP_TUPLE_EAT_3)(p, o, o(836, s)) +# define BOOST_PP_WHILE_836_I(p, o, s) BOOST_PP_IF(p(837, s), BOOST_PP_WHILE_837, s BOOST_PP_TUPLE_EAT_3)(p, o, o(837, s)) +# define BOOST_PP_WHILE_837_I(p, o, s) BOOST_PP_IF(p(838, s), BOOST_PP_WHILE_838, s BOOST_PP_TUPLE_EAT_3)(p, o, o(838, s)) +# define BOOST_PP_WHILE_838_I(p, o, s) BOOST_PP_IF(p(839, s), BOOST_PP_WHILE_839, s BOOST_PP_TUPLE_EAT_3)(p, o, o(839, s)) +# define BOOST_PP_WHILE_839_I(p, o, s) BOOST_PP_IF(p(840, s), BOOST_PP_WHILE_840, s BOOST_PP_TUPLE_EAT_3)(p, o, o(840, s)) +# define BOOST_PP_WHILE_840_I(p, o, s) BOOST_PP_IF(p(841, s), BOOST_PP_WHILE_841, s BOOST_PP_TUPLE_EAT_3)(p, o, o(841, s)) +# define BOOST_PP_WHILE_841_I(p, o, s) BOOST_PP_IF(p(842, s), BOOST_PP_WHILE_842, s BOOST_PP_TUPLE_EAT_3)(p, o, o(842, s)) +# define BOOST_PP_WHILE_842_I(p, o, s) BOOST_PP_IF(p(843, s), BOOST_PP_WHILE_843, s BOOST_PP_TUPLE_EAT_3)(p, o, o(843, s)) +# define BOOST_PP_WHILE_843_I(p, o, s) BOOST_PP_IF(p(844, s), BOOST_PP_WHILE_844, s BOOST_PP_TUPLE_EAT_3)(p, o, o(844, s)) +# define BOOST_PP_WHILE_844_I(p, o, s) BOOST_PP_IF(p(845, s), BOOST_PP_WHILE_845, s BOOST_PP_TUPLE_EAT_3)(p, o, o(845, s)) +# define BOOST_PP_WHILE_845_I(p, o, s) BOOST_PP_IF(p(846, s), BOOST_PP_WHILE_846, s BOOST_PP_TUPLE_EAT_3)(p, o, o(846, s)) +# define BOOST_PP_WHILE_846_I(p, o, s) BOOST_PP_IF(p(847, s), BOOST_PP_WHILE_847, s BOOST_PP_TUPLE_EAT_3)(p, o, o(847, s)) +# define BOOST_PP_WHILE_847_I(p, o, s) BOOST_PP_IF(p(848, s), BOOST_PP_WHILE_848, s BOOST_PP_TUPLE_EAT_3)(p, o, o(848, s)) +# define BOOST_PP_WHILE_848_I(p, o, s) BOOST_PP_IF(p(849, s), BOOST_PP_WHILE_849, s BOOST_PP_TUPLE_EAT_3)(p, o, o(849, s)) +# define BOOST_PP_WHILE_849_I(p, o, s) BOOST_PP_IF(p(850, s), BOOST_PP_WHILE_850, s BOOST_PP_TUPLE_EAT_3)(p, o, o(850, s)) +# define BOOST_PP_WHILE_850_I(p, o, s) BOOST_PP_IF(p(851, s), BOOST_PP_WHILE_851, s BOOST_PP_TUPLE_EAT_3)(p, o, o(851, s)) +# define BOOST_PP_WHILE_851_I(p, o, s) BOOST_PP_IF(p(852, s), BOOST_PP_WHILE_852, s BOOST_PP_TUPLE_EAT_3)(p, o, o(852, s)) +# define BOOST_PP_WHILE_852_I(p, o, s) BOOST_PP_IF(p(853, s), BOOST_PP_WHILE_853, s BOOST_PP_TUPLE_EAT_3)(p, o, o(853, s)) +# define BOOST_PP_WHILE_853_I(p, o, s) BOOST_PP_IF(p(854, s), BOOST_PP_WHILE_854, s BOOST_PP_TUPLE_EAT_3)(p, o, o(854, s)) +# define BOOST_PP_WHILE_854_I(p, o, s) BOOST_PP_IF(p(855, s), BOOST_PP_WHILE_855, s BOOST_PP_TUPLE_EAT_3)(p, o, o(855, s)) +# define BOOST_PP_WHILE_855_I(p, o, s) BOOST_PP_IF(p(856, s), BOOST_PP_WHILE_856, s BOOST_PP_TUPLE_EAT_3)(p, o, o(856, s)) +# define BOOST_PP_WHILE_856_I(p, o, s) BOOST_PP_IF(p(857, s), BOOST_PP_WHILE_857, s BOOST_PP_TUPLE_EAT_3)(p, o, o(857, s)) +# define BOOST_PP_WHILE_857_I(p, o, s) BOOST_PP_IF(p(858, s), BOOST_PP_WHILE_858, s BOOST_PP_TUPLE_EAT_3)(p, o, o(858, s)) +# define BOOST_PP_WHILE_858_I(p, o, s) BOOST_PP_IF(p(859, s), BOOST_PP_WHILE_859, s BOOST_PP_TUPLE_EAT_3)(p, o, o(859, s)) +# define BOOST_PP_WHILE_859_I(p, o, s) BOOST_PP_IF(p(860, s), BOOST_PP_WHILE_860, s BOOST_PP_TUPLE_EAT_3)(p, o, o(860, s)) +# define BOOST_PP_WHILE_860_I(p, o, s) BOOST_PP_IF(p(861, s), BOOST_PP_WHILE_861, s BOOST_PP_TUPLE_EAT_3)(p, o, o(861, s)) +# define BOOST_PP_WHILE_861_I(p, o, s) BOOST_PP_IF(p(862, s), BOOST_PP_WHILE_862, s BOOST_PP_TUPLE_EAT_3)(p, o, o(862, s)) +# define BOOST_PP_WHILE_862_I(p, o, s) BOOST_PP_IF(p(863, s), BOOST_PP_WHILE_863, s BOOST_PP_TUPLE_EAT_3)(p, o, o(863, s)) +# define BOOST_PP_WHILE_863_I(p, o, s) BOOST_PP_IF(p(864, s), BOOST_PP_WHILE_864, s BOOST_PP_TUPLE_EAT_3)(p, o, o(864, s)) +# define BOOST_PP_WHILE_864_I(p, o, s) BOOST_PP_IF(p(865, s), BOOST_PP_WHILE_865, s BOOST_PP_TUPLE_EAT_3)(p, o, o(865, s)) +# define BOOST_PP_WHILE_865_I(p, o, s) BOOST_PP_IF(p(866, s), BOOST_PP_WHILE_866, s BOOST_PP_TUPLE_EAT_3)(p, o, o(866, s)) +# define BOOST_PP_WHILE_866_I(p, o, s) BOOST_PP_IF(p(867, s), BOOST_PP_WHILE_867, s BOOST_PP_TUPLE_EAT_3)(p, o, o(867, s)) +# define BOOST_PP_WHILE_867_I(p, o, s) BOOST_PP_IF(p(868, s), BOOST_PP_WHILE_868, s BOOST_PP_TUPLE_EAT_3)(p, o, o(868, s)) +# define BOOST_PP_WHILE_868_I(p, o, s) BOOST_PP_IF(p(869, s), BOOST_PP_WHILE_869, s BOOST_PP_TUPLE_EAT_3)(p, o, o(869, s)) +# define BOOST_PP_WHILE_869_I(p, o, s) BOOST_PP_IF(p(870, s), BOOST_PP_WHILE_870, s BOOST_PP_TUPLE_EAT_3)(p, o, o(870, s)) +# define BOOST_PP_WHILE_870_I(p, o, s) BOOST_PP_IF(p(871, s), BOOST_PP_WHILE_871, s BOOST_PP_TUPLE_EAT_3)(p, o, o(871, s)) +# define BOOST_PP_WHILE_871_I(p, o, s) BOOST_PP_IF(p(872, s), BOOST_PP_WHILE_872, s BOOST_PP_TUPLE_EAT_3)(p, o, o(872, s)) +# define BOOST_PP_WHILE_872_I(p, o, s) BOOST_PP_IF(p(873, s), BOOST_PP_WHILE_873, s BOOST_PP_TUPLE_EAT_3)(p, o, o(873, s)) +# define BOOST_PP_WHILE_873_I(p, o, s) BOOST_PP_IF(p(874, s), BOOST_PP_WHILE_874, s BOOST_PP_TUPLE_EAT_3)(p, o, o(874, s)) +# define BOOST_PP_WHILE_874_I(p, o, s) BOOST_PP_IF(p(875, s), BOOST_PP_WHILE_875, s BOOST_PP_TUPLE_EAT_3)(p, o, o(875, s)) +# define BOOST_PP_WHILE_875_I(p, o, s) BOOST_PP_IF(p(876, s), BOOST_PP_WHILE_876, s BOOST_PP_TUPLE_EAT_3)(p, o, o(876, s)) +# define BOOST_PP_WHILE_876_I(p, o, s) BOOST_PP_IF(p(877, s), BOOST_PP_WHILE_877, s BOOST_PP_TUPLE_EAT_3)(p, o, o(877, s)) +# define BOOST_PP_WHILE_877_I(p, o, s) BOOST_PP_IF(p(878, s), BOOST_PP_WHILE_878, s BOOST_PP_TUPLE_EAT_3)(p, o, o(878, s)) +# define BOOST_PP_WHILE_878_I(p, o, s) BOOST_PP_IF(p(879, s), BOOST_PP_WHILE_879, s BOOST_PP_TUPLE_EAT_3)(p, o, o(879, s)) +# define BOOST_PP_WHILE_879_I(p, o, s) BOOST_PP_IF(p(880, s), BOOST_PP_WHILE_880, s BOOST_PP_TUPLE_EAT_3)(p, o, o(880, s)) +# define BOOST_PP_WHILE_880_I(p, o, s) BOOST_PP_IF(p(881, s), BOOST_PP_WHILE_881, s BOOST_PP_TUPLE_EAT_3)(p, o, o(881, s)) +# define BOOST_PP_WHILE_881_I(p, o, s) BOOST_PP_IF(p(882, s), BOOST_PP_WHILE_882, s BOOST_PP_TUPLE_EAT_3)(p, o, o(882, s)) +# define BOOST_PP_WHILE_882_I(p, o, s) BOOST_PP_IF(p(883, s), BOOST_PP_WHILE_883, s BOOST_PP_TUPLE_EAT_3)(p, o, o(883, s)) +# define BOOST_PP_WHILE_883_I(p, o, s) BOOST_PP_IF(p(884, s), BOOST_PP_WHILE_884, s BOOST_PP_TUPLE_EAT_3)(p, o, o(884, s)) +# define BOOST_PP_WHILE_884_I(p, o, s) BOOST_PP_IF(p(885, s), BOOST_PP_WHILE_885, s BOOST_PP_TUPLE_EAT_3)(p, o, o(885, s)) +# define BOOST_PP_WHILE_885_I(p, o, s) BOOST_PP_IF(p(886, s), BOOST_PP_WHILE_886, s BOOST_PP_TUPLE_EAT_3)(p, o, o(886, s)) +# define BOOST_PP_WHILE_886_I(p, o, s) BOOST_PP_IF(p(887, s), BOOST_PP_WHILE_887, s BOOST_PP_TUPLE_EAT_3)(p, o, o(887, s)) +# define BOOST_PP_WHILE_887_I(p, o, s) BOOST_PP_IF(p(888, s), BOOST_PP_WHILE_888, s BOOST_PP_TUPLE_EAT_3)(p, o, o(888, s)) +# define BOOST_PP_WHILE_888_I(p, o, s) BOOST_PP_IF(p(889, s), BOOST_PP_WHILE_889, s BOOST_PP_TUPLE_EAT_3)(p, o, o(889, s)) +# define BOOST_PP_WHILE_889_I(p, o, s) BOOST_PP_IF(p(890, s), BOOST_PP_WHILE_890, s BOOST_PP_TUPLE_EAT_3)(p, o, o(890, s)) +# define BOOST_PP_WHILE_890_I(p, o, s) BOOST_PP_IF(p(891, s), BOOST_PP_WHILE_891, s BOOST_PP_TUPLE_EAT_3)(p, o, o(891, s)) +# define BOOST_PP_WHILE_891_I(p, o, s) BOOST_PP_IF(p(892, s), BOOST_PP_WHILE_892, s BOOST_PP_TUPLE_EAT_3)(p, o, o(892, s)) +# define BOOST_PP_WHILE_892_I(p, o, s) BOOST_PP_IF(p(893, s), BOOST_PP_WHILE_893, s BOOST_PP_TUPLE_EAT_3)(p, o, o(893, s)) +# define BOOST_PP_WHILE_893_I(p, o, s) BOOST_PP_IF(p(894, s), BOOST_PP_WHILE_894, s BOOST_PP_TUPLE_EAT_3)(p, o, o(894, s)) +# define BOOST_PP_WHILE_894_I(p, o, s) BOOST_PP_IF(p(895, s), BOOST_PP_WHILE_895, s BOOST_PP_TUPLE_EAT_3)(p, o, o(895, s)) +# define BOOST_PP_WHILE_895_I(p, o, s) BOOST_PP_IF(p(896, s), BOOST_PP_WHILE_896, s BOOST_PP_TUPLE_EAT_3)(p, o, o(896, s)) +# define BOOST_PP_WHILE_896_I(p, o, s) BOOST_PP_IF(p(897, s), BOOST_PP_WHILE_897, s BOOST_PP_TUPLE_EAT_3)(p, o, o(897, s)) +# define BOOST_PP_WHILE_897_I(p, o, s) BOOST_PP_IF(p(898, s), BOOST_PP_WHILE_898, s BOOST_PP_TUPLE_EAT_3)(p, o, o(898, s)) +# define BOOST_PP_WHILE_898_I(p, o, s) BOOST_PP_IF(p(899, s), BOOST_PP_WHILE_899, s BOOST_PP_TUPLE_EAT_3)(p, o, o(899, s)) +# define BOOST_PP_WHILE_899_I(p, o, s) BOOST_PP_IF(p(900, s), BOOST_PP_WHILE_900, s BOOST_PP_TUPLE_EAT_3)(p, o, o(900, s)) +# define BOOST_PP_WHILE_900_I(p, o, s) BOOST_PP_IF(p(901, s), BOOST_PP_WHILE_901, s BOOST_PP_TUPLE_EAT_3)(p, o, o(901, s)) +# define BOOST_PP_WHILE_901_I(p, o, s) BOOST_PP_IF(p(902, s), BOOST_PP_WHILE_902, s BOOST_PP_TUPLE_EAT_3)(p, o, o(902, s)) +# define BOOST_PP_WHILE_902_I(p, o, s) BOOST_PP_IF(p(903, s), BOOST_PP_WHILE_903, s BOOST_PP_TUPLE_EAT_3)(p, o, o(903, s)) +# define BOOST_PP_WHILE_903_I(p, o, s) BOOST_PP_IF(p(904, s), BOOST_PP_WHILE_904, s BOOST_PP_TUPLE_EAT_3)(p, o, o(904, s)) +# define BOOST_PP_WHILE_904_I(p, o, s) BOOST_PP_IF(p(905, s), BOOST_PP_WHILE_905, s BOOST_PP_TUPLE_EAT_3)(p, o, o(905, s)) +# define BOOST_PP_WHILE_905_I(p, o, s) BOOST_PP_IF(p(906, s), BOOST_PP_WHILE_906, s BOOST_PP_TUPLE_EAT_3)(p, o, o(906, s)) +# define BOOST_PP_WHILE_906_I(p, o, s) BOOST_PP_IF(p(907, s), BOOST_PP_WHILE_907, s BOOST_PP_TUPLE_EAT_3)(p, o, o(907, s)) +# define BOOST_PP_WHILE_907_I(p, o, s) BOOST_PP_IF(p(908, s), BOOST_PP_WHILE_908, s BOOST_PP_TUPLE_EAT_3)(p, o, o(908, s)) +# define BOOST_PP_WHILE_908_I(p, o, s) BOOST_PP_IF(p(909, s), BOOST_PP_WHILE_909, s BOOST_PP_TUPLE_EAT_3)(p, o, o(909, s)) +# define BOOST_PP_WHILE_909_I(p, o, s) BOOST_PP_IF(p(910, s), BOOST_PP_WHILE_910, s BOOST_PP_TUPLE_EAT_3)(p, o, o(910, s)) +# define BOOST_PP_WHILE_910_I(p, o, s) BOOST_PP_IF(p(911, s), BOOST_PP_WHILE_911, s BOOST_PP_TUPLE_EAT_3)(p, o, o(911, s)) +# define BOOST_PP_WHILE_911_I(p, o, s) BOOST_PP_IF(p(912, s), BOOST_PP_WHILE_912, s BOOST_PP_TUPLE_EAT_3)(p, o, o(912, s)) +# define BOOST_PP_WHILE_912_I(p, o, s) BOOST_PP_IF(p(913, s), BOOST_PP_WHILE_913, s BOOST_PP_TUPLE_EAT_3)(p, o, o(913, s)) +# define BOOST_PP_WHILE_913_I(p, o, s) BOOST_PP_IF(p(914, s), BOOST_PP_WHILE_914, s BOOST_PP_TUPLE_EAT_3)(p, o, o(914, s)) +# define BOOST_PP_WHILE_914_I(p, o, s) BOOST_PP_IF(p(915, s), BOOST_PP_WHILE_915, s BOOST_PP_TUPLE_EAT_3)(p, o, o(915, s)) +# define BOOST_PP_WHILE_915_I(p, o, s) BOOST_PP_IF(p(916, s), BOOST_PP_WHILE_916, s BOOST_PP_TUPLE_EAT_3)(p, o, o(916, s)) +# define BOOST_PP_WHILE_916_I(p, o, s) BOOST_PP_IF(p(917, s), BOOST_PP_WHILE_917, s BOOST_PP_TUPLE_EAT_3)(p, o, o(917, s)) +# define BOOST_PP_WHILE_917_I(p, o, s) BOOST_PP_IF(p(918, s), BOOST_PP_WHILE_918, s BOOST_PP_TUPLE_EAT_3)(p, o, o(918, s)) +# define BOOST_PP_WHILE_918_I(p, o, s) BOOST_PP_IF(p(919, s), BOOST_PP_WHILE_919, s BOOST_PP_TUPLE_EAT_3)(p, o, o(919, s)) +# define BOOST_PP_WHILE_919_I(p, o, s) BOOST_PP_IF(p(920, s), BOOST_PP_WHILE_920, s BOOST_PP_TUPLE_EAT_3)(p, o, o(920, s)) +# define BOOST_PP_WHILE_920_I(p, o, s) BOOST_PP_IF(p(921, s), BOOST_PP_WHILE_921, s BOOST_PP_TUPLE_EAT_3)(p, o, o(921, s)) +# define BOOST_PP_WHILE_921_I(p, o, s) BOOST_PP_IF(p(922, s), BOOST_PP_WHILE_922, s BOOST_PP_TUPLE_EAT_3)(p, o, o(922, s)) +# define BOOST_PP_WHILE_922_I(p, o, s) BOOST_PP_IF(p(923, s), BOOST_PP_WHILE_923, s BOOST_PP_TUPLE_EAT_3)(p, o, o(923, s)) +# define BOOST_PP_WHILE_923_I(p, o, s) BOOST_PP_IF(p(924, s), BOOST_PP_WHILE_924, s BOOST_PP_TUPLE_EAT_3)(p, o, o(924, s)) +# define BOOST_PP_WHILE_924_I(p, o, s) BOOST_PP_IF(p(925, s), BOOST_PP_WHILE_925, s BOOST_PP_TUPLE_EAT_3)(p, o, o(925, s)) +# define BOOST_PP_WHILE_925_I(p, o, s) BOOST_PP_IF(p(926, s), BOOST_PP_WHILE_926, s BOOST_PP_TUPLE_EAT_3)(p, o, o(926, s)) +# define BOOST_PP_WHILE_926_I(p, o, s) BOOST_PP_IF(p(927, s), BOOST_PP_WHILE_927, s BOOST_PP_TUPLE_EAT_3)(p, o, o(927, s)) +# define BOOST_PP_WHILE_927_I(p, o, s) BOOST_PP_IF(p(928, s), BOOST_PP_WHILE_928, s BOOST_PP_TUPLE_EAT_3)(p, o, o(928, s)) +# define BOOST_PP_WHILE_928_I(p, o, s) BOOST_PP_IF(p(929, s), BOOST_PP_WHILE_929, s BOOST_PP_TUPLE_EAT_3)(p, o, o(929, s)) +# define BOOST_PP_WHILE_929_I(p, o, s) BOOST_PP_IF(p(930, s), BOOST_PP_WHILE_930, s BOOST_PP_TUPLE_EAT_3)(p, o, o(930, s)) +# define BOOST_PP_WHILE_930_I(p, o, s) BOOST_PP_IF(p(931, s), BOOST_PP_WHILE_931, s BOOST_PP_TUPLE_EAT_3)(p, o, o(931, s)) +# define BOOST_PP_WHILE_931_I(p, o, s) BOOST_PP_IF(p(932, s), BOOST_PP_WHILE_932, s BOOST_PP_TUPLE_EAT_3)(p, o, o(932, s)) +# define BOOST_PP_WHILE_932_I(p, o, s) BOOST_PP_IF(p(933, s), BOOST_PP_WHILE_933, s BOOST_PP_TUPLE_EAT_3)(p, o, o(933, s)) +# define BOOST_PP_WHILE_933_I(p, o, s) BOOST_PP_IF(p(934, s), BOOST_PP_WHILE_934, s BOOST_PP_TUPLE_EAT_3)(p, o, o(934, s)) +# define BOOST_PP_WHILE_934_I(p, o, s) BOOST_PP_IF(p(935, s), BOOST_PP_WHILE_935, s BOOST_PP_TUPLE_EAT_3)(p, o, o(935, s)) +# define BOOST_PP_WHILE_935_I(p, o, s) BOOST_PP_IF(p(936, s), BOOST_PP_WHILE_936, s BOOST_PP_TUPLE_EAT_3)(p, o, o(936, s)) +# define BOOST_PP_WHILE_936_I(p, o, s) BOOST_PP_IF(p(937, s), BOOST_PP_WHILE_937, s BOOST_PP_TUPLE_EAT_3)(p, o, o(937, s)) +# define BOOST_PP_WHILE_937_I(p, o, s) BOOST_PP_IF(p(938, s), BOOST_PP_WHILE_938, s BOOST_PP_TUPLE_EAT_3)(p, o, o(938, s)) +# define BOOST_PP_WHILE_938_I(p, o, s) BOOST_PP_IF(p(939, s), BOOST_PP_WHILE_939, s BOOST_PP_TUPLE_EAT_3)(p, o, o(939, s)) +# define BOOST_PP_WHILE_939_I(p, o, s) BOOST_PP_IF(p(940, s), BOOST_PP_WHILE_940, s BOOST_PP_TUPLE_EAT_3)(p, o, o(940, s)) +# define BOOST_PP_WHILE_940_I(p, o, s) BOOST_PP_IF(p(941, s), BOOST_PP_WHILE_941, s BOOST_PP_TUPLE_EAT_3)(p, o, o(941, s)) +# define BOOST_PP_WHILE_941_I(p, o, s) BOOST_PP_IF(p(942, s), BOOST_PP_WHILE_942, s BOOST_PP_TUPLE_EAT_3)(p, o, o(942, s)) +# define BOOST_PP_WHILE_942_I(p, o, s) BOOST_PP_IF(p(943, s), BOOST_PP_WHILE_943, s BOOST_PP_TUPLE_EAT_3)(p, o, o(943, s)) +# define BOOST_PP_WHILE_943_I(p, o, s) BOOST_PP_IF(p(944, s), BOOST_PP_WHILE_944, s BOOST_PP_TUPLE_EAT_3)(p, o, o(944, s)) +# define BOOST_PP_WHILE_944_I(p, o, s) BOOST_PP_IF(p(945, s), BOOST_PP_WHILE_945, s BOOST_PP_TUPLE_EAT_3)(p, o, o(945, s)) +# define BOOST_PP_WHILE_945_I(p, o, s) BOOST_PP_IF(p(946, s), BOOST_PP_WHILE_946, s BOOST_PP_TUPLE_EAT_3)(p, o, o(946, s)) +# define BOOST_PP_WHILE_946_I(p, o, s) BOOST_PP_IF(p(947, s), BOOST_PP_WHILE_947, s BOOST_PP_TUPLE_EAT_3)(p, o, o(947, s)) +# define BOOST_PP_WHILE_947_I(p, o, s) BOOST_PP_IF(p(948, s), BOOST_PP_WHILE_948, s BOOST_PP_TUPLE_EAT_3)(p, o, o(948, s)) +# define BOOST_PP_WHILE_948_I(p, o, s) BOOST_PP_IF(p(949, s), BOOST_PP_WHILE_949, s BOOST_PP_TUPLE_EAT_3)(p, o, o(949, s)) +# define BOOST_PP_WHILE_949_I(p, o, s) BOOST_PP_IF(p(950, s), BOOST_PP_WHILE_950, s BOOST_PP_TUPLE_EAT_3)(p, o, o(950, s)) +# define BOOST_PP_WHILE_950_I(p, o, s) BOOST_PP_IF(p(951, s), BOOST_PP_WHILE_951, s BOOST_PP_TUPLE_EAT_3)(p, o, o(951, s)) +# define BOOST_PP_WHILE_951_I(p, o, s) BOOST_PP_IF(p(952, s), BOOST_PP_WHILE_952, s BOOST_PP_TUPLE_EAT_3)(p, o, o(952, s)) +# define BOOST_PP_WHILE_952_I(p, o, s) BOOST_PP_IF(p(953, s), BOOST_PP_WHILE_953, s BOOST_PP_TUPLE_EAT_3)(p, o, o(953, s)) +# define BOOST_PP_WHILE_953_I(p, o, s) BOOST_PP_IF(p(954, s), BOOST_PP_WHILE_954, s BOOST_PP_TUPLE_EAT_3)(p, o, o(954, s)) +# define BOOST_PP_WHILE_954_I(p, o, s) BOOST_PP_IF(p(955, s), BOOST_PP_WHILE_955, s BOOST_PP_TUPLE_EAT_3)(p, o, o(955, s)) +# define BOOST_PP_WHILE_955_I(p, o, s) BOOST_PP_IF(p(956, s), BOOST_PP_WHILE_956, s BOOST_PP_TUPLE_EAT_3)(p, o, o(956, s)) +# define BOOST_PP_WHILE_956_I(p, o, s) BOOST_PP_IF(p(957, s), BOOST_PP_WHILE_957, s BOOST_PP_TUPLE_EAT_3)(p, o, o(957, s)) +# define BOOST_PP_WHILE_957_I(p, o, s) BOOST_PP_IF(p(958, s), BOOST_PP_WHILE_958, s BOOST_PP_TUPLE_EAT_3)(p, o, o(958, s)) +# define BOOST_PP_WHILE_958_I(p, o, s) BOOST_PP_IF(p(959, s), BOOST_PP_WHILE_959, s BOOST_PP_TUPLE_EAT_3)(p, o, o(959, s)) +# define BOOST_PP_WHILE_959_I(p, o, s) BOOST_PP_IF(p(960, s), BOOST_PP_WHILE_960, s BOOST_PP_TUPLE_EAT_3)(p, o, o(960, s)) +# define BOOST_PP_WHILE_960_I(p, o, s) BOOST_PP_IF(p(961, s), BOOST_PP_WHILE_961, s BOOST_PP_TUPLE_EAT_3)(p, o, o(961, s)) +# define BOOST_PP_WHILE_961_I(p, o, s) BOOST_PP_IF(p(962, s), BOOST_PP_WHILE_962, s BOOST_PP_TUPLE_EAT_3)(p, o, o(962, s)) +# define BOOST_PP_WHILE_962_I(p, o, s) BOOST_PP_IF(p(963, s), BOOST_PP_WHILE_963, s BOOST_PP_TUPLE_EAT_3)(p, o, o(963, s)) +# define BOOST_PP_WHILE_963_I(p, o, s) BOOST_PP_IF(p(964, s), BOOST_PP_WHILE_964, s BOOST_PP_TUPLE_EAT_3)(p, o, o(964, s)) +# define BOOST_PP_WHILE_964_I(p, o, s) BOOST_PP_IF(p(965, s), BOOST_PP_WHILE_965, s BOOST_PP_TUPLE_EAT_3)(p, o, o(965, s)) +# define BOOST_PP_WHILE_965_I(p, o, s) BOOST_PP_IF(p(966, s), BOOST_PP_WHILE_966, s BOOST_PP_TUPLE_EAT_3)(p, o, o(966, s)) +# define BOOST_PP_WHILE_966_I(p, o, s) BOOST_PP_IF(p(967, s), BOOST_PP_WHILE_967, s BOOST_PP_TUPLE_EAT_3)(p, o, o(967, s)) +# define BOOST_PP_WHILE_967_I(p, o, s) BOOST_PP_IF(p(968, s), BOOST_PP_WHILE_968, s BOOST_PP_TUPLE_EAT_3)(p, o, o(968, s)) +# define BOOST_PP_WHILE_968_I(p, o, s) BOOST_PP_IF(p(969, s), BOOST_PP_WHILE_969, s BOOST_PP_TUPLE_EAT_3)(p, o, o(969, s)) +# define BOOST_PP_WHILE_969_I(p, o, s) BOOST_PP_IF(p(970, s), BOOST_PP_WHILE_970, s BOOST_PP_TUPLE_EAT_3)(p, o, o(970, s)) +# define BOOST_PP_WHILE_970_I(p, o, s) BOOST_PP_IF(p(971, s), BOOST_PP_WHILE_971, s BOOST_PP_TUPLE_EAT_3)(p, o, o(971, s)) +# define BOOST_PP_WHILE_971_I(p, o, s) BOOST_PP_IF(p(972, s), BOOST_PP_WHILE_972, s BOOST_PP_TUPLE_EAT_3)(p, o, o(972, s)) +# define BOOST_PP_WHILE_972_I(p, o, s) BOOST_PP_IF(p(973, s), BOOST_PP_WHILE_973, s BOOST_PP_TUPLE_EAT_3)(p, o, o(973, s)) +# define BOOST_PP_WHILE_973_I(p, o, s) BOOST_PP_IF(p(974, s), BOOST_PP_WHILE_974, s BOOST_PP_TUPLE_EAT_3)(p, o, o(974, s)) +# define BOOST_PP_WHILE_974_I(p, o, s) BOOST_PP_IF(p(975, s), BOOST_PP_WHILE_975, s BOOST_PP_TUPLE_EAT_3)(p, o, o(975, s)) +# define BOOST_PP_WHILE_975_I(p, o, s) BOOST_PP_IF(p(976, s), BOOST_PP_WHILE_976, s BOOST_PP_TUPLE_EAT_3)(p, o, o(976, s)) +# define BOOST_PP_WHILE_976_I(p, o, s) BOOST_PP_IF(p(977, s), BOOST_PP_WHILE_977, s BOOST_PP_TUPLE_EAT_3)(p, o, o(977, s)) +# define BOOST_PP_WHILE_977_I(p, o, s) BOOST_PP_IF(p(978, s), BOOST_PP_WHILE_978, s BOOST_PP_TUPLE_EAT_3)(p, o, o(978, s)) +# define BOOST_PP_WHILE_978_I(p, o, s) BOOST_PP_IF(p(979, s), BOOST_PP_WHILE_979, s BOOST_PP_TUPLE_EAT_3)(p, o, o(979, s)) +# define BOOST_PP_WHILE_979_I(p, o, s) BOOST_PP_IF(p(980, s), BOOST_PP_WHILE_980, s BOOST_PP_TUPLE_EAT_3)(p, o, o(980, s)) +# define BOOST_PP_WHILE_980_I(p, o, s) BOOST_PP_IF(p(981, s), BOOST_PP_WHILE_981, s BOOST_PP_TUPLE_EAT_3)(p, o, o(981, s)) +# define BOOST_PP_WHILE_981_I(p, o, s) BOOST_PP_IF(p(982, s), BOOST_PP_WHILE_982, s BOOST_PP_TUPLE_EAT_3)(p, o, o(982, s)) +# define BOOST_PP_WHILE_982_I(p, o, s) BOOST_PP_IF(p(983, s), BOOST_PP_WHILE_983, s BOOST_PP_TUPLE_EAT_3)(p, o, o(983, s)) +# define BOOST_PP_WHILE_983_I(p, o, s) BOOST_PP_IF(p(984, s), BOOST_PP_WHILE_984, s BOOST_PP_TUPLE_EAT_3)(p, o, o(984, s)) +# define BOOST_PP_WHILE_984_I(p, o, s) BOOST_PP_IF(p(985, s), BOOST_PP_WHILE_985, s BOOST_PP_TUPLE_EAT_3)(p, o, o(985, s)) +# define BOOST_PP_WHILE_985_I(p, o, s) BOOST_PP_IF(p(986, s), BOOST_PP_WHILE_986, s BOOST_PP_TUPLE_EAT_3)(p, o, o(986, s)) +# define BOOST_PP_WHILE_986_I(p, o, s) BOOST_PP_IF(p(987, s), BOOST_PP_WHILE_987, s BOOST_PP_TUPLE_EAT_3)(p, o, o(987, s)) +# define BOOST_PP_WHILE_987_I(p, o, s) BOOST_PP_IF(p(988, s), BOOST_PP_WHILE_988, s BOOST_PP_TUPLE_EAT_3)(p, o, o(988, s)) +# define BOOST_PP_WHILE_988_I(p, o, s) BOOST_PP_IF(p(989, s), BOOST_PP_WHILE_989, s BOOST_PP_TUPLE_EAT_3)(p, o, o(989, s)) +# define BOOST_PP_WHILE_989_I(p, o, s) BOOST_PP_IF(p(990, s), BOOST_PP_WHILE_990, s BOOST_PP_TUPLE_EAT_3)(p, o, o(990, s)) +# define BOOST_PP_WHILE_990_I(p, o, s) BOOST_PP_IF(p(991, s), BOOST_PP_WHILE_991, s BOOST_PP_TUPLE_EAT_3)(p, o, o(991, s)) +# define BOOST_PP_WHILE_991_I(p, o, s) BOOST_PP_IF(p(992, s), BOOST_PP_WHILE_992, s BOOST_PP_TUPLE_EAT_3)(p, o, o(992, s)) +# define BOOST_PP_WHILE_992_I(p, o, s) BOOST_PP_IF(p(993, s), BOOST_PP_WHILE_993, s BOOST_PP_TUPLE_EAT_3)(p, o, o(993, s)) +# define BOOST_PP_WHILE_993_I(p, o, s) BOOST_PP_IF(p(994, s), BOOST_PP_WHILE_994, s BOOST_PP_TUPLE_EAT_3)(p, o, o(994, s)) +# define BOOST_PP_WHILE_994_I(p, o, s) BOOST_PP_IF(p(995, s), BOOST_PP_WHILE_995, s BOOST_PP_TUPLE_EAT_3)(p, o, o(995, s)) +# define BOOST_PP_WHILE_995_I(p, o, s) BOOST_PP_IF(p(996, s), BOOST_PP_WHILE_996, s BOOST_PP_TUPLE_EAT_3)(p, o, o(996, s)) +# define BOOST_PP_WHILE_996_I(p, o, s) BOOST_PP_IF(p(997, s), BOOST_PP_WHILE_997, s BOOST_PP_TUPLE_EAT_3)(p, o, o(997, s)) +# define BOOST_PP_WHILE_997_I(p, o, s) BOOST_PP_IF(p(998, s), BOOST_PP_WHILE_998, s BOOST_PP_TUPLE_EAT_3)(p, o, o(998, s)) +# define BOOST_PP_WHILE_998_I(p, o, s) BOOST_PP_IF(p(999, s), BOOST_PP_WHILE_999, s BOOST_PP_TUPLE_EAT_3)(p, o, o(999, s)) +# define BOOST_PP_WHILE_999_I(p, o, s) BOOST_PP_IF(p(1000, s), BOOST_PP_WHILE_1000, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1000, s)) +# define BOOST_PP_WHILE_1000_I(p, o, s) BOOST_PP_IF(p(1001, s), BOOST_PP_WHILE_1001, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1001, s)) +# define BOOST_PP_WHILE_1001_I(p, o, s) BOOST_PP_IF(p(1002, s), BOOST_PP_WHILE_1002, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1002, s)) +# define BOOST_PP_WHILE_1002_I(p, o, s) BOOST_PP_IF(p(1003, s), BOOST_PP_WHILE_1003, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1003, s)) +# define BOOST_PP_WHILE_1003_I(p, o, s) BOOST_PP_IF(p(1004, s), BOOST_PP_WHILE_1004, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1004, s)) +# define BOOST_PP_WHILE_1004_I(p, o, s) BOOST_PP_IF(p(1005, s), BOOST_PP_WHILE_1005, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1005, s)) +# define BOOST_PP_WHILE_1005_I(p, o, s) BOOST_PP_IF(p(1006, s), BOOST_PP_WHILE_1006, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1006, s)) +# define BOOST_PP_WHILE_1006_I(p, o, s) BOOST_PP_IF(p(1007, s), BOOST_PP_WHILE_1007, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1007, s)) +# define BOOST_PP_WHILE_1007_I(p, o, s) BOOST_PP_IF(p(1008, s), BOOST_PP_WHILE_1008, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1008, s)) +# define BOOST_PP_WHILE_1008_I(p, o, s) BOOST_PP_IF(p(1009, s), BOOST_PP_WHILE_1009, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1009, s)) +# define BOOST_PP_WHILE_1009_I(p, o, s) BOOST_PP_IF(p(1010, s), BOOST_PP_WHILE_1010, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1010, s)) +# define BOOST_PP_WHILE_1010_I(p, o, s) BOOST_PP_IF(p(1011, s), BOOST_PP_WHILE_1011, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1011, s)) +# define BOOST_PP_WHILE_1011_I(p, o, s) BOOST_PP_IF(p(1012, s), BOOST_PP_WHILE_1012, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1012, s)) +# define BOOST_PP_WHILE_1012_I(p, o, s) BOOST_PP_IF(p(1013, s), BOOST_PP_WHILE_1013, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1013, s)) +# define BOOST_PP_WHILE_1013_I(p, o, s) BOOST_PP_IF(p(1014, s), BOOST_PP_WHILE_1014, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1014, s)) +# define BOOST_PP_WHILE_1014_I(p, o, s) BOOST_PP_IF(p(1015, s), BOOST_PP_WHILE_1015, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1015, s)) +# define BOOST_PP_WHILE_1015_I(p, o, s) BOOST_PP_IF(p(1016, s), BOOST_PP_WHILE_1016, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1016, s)) +# define BOOST_PP_WHILE_1016_I(p, o, s) BOOST_PP_IF(p(1017, s), BOOST_PP_WHILE_1017, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1017, s)) +# define BOOST_PP_WHILE_1017_I(p, o, s) BOOST_PP_IF(p(1018, s), BOOST_PP_WHILE_1018, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1018, s)) +# define BOOST_PP_WHILE_1018_I(p, o, s) BOOST_PP_IF(p(1019, s), BOOST_PP_WHILE_1019, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1019, s)) +# define BOOST_PP_WHILE_1019_I(p, o, s) BOOST_PP_IF(p(1020, s), BOOST_PP_WHILE_1020, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1020, s)) +# define BOOST_PP_WHILE_1020_I(p, o, s) BOOST_PP_IF(p(1021, s), BOOST_PP_WHILE_1021, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1021, s)) +# define BOOST_PP_WHILE_1021_I(p, o, s) BOOST_PP_IF(p(1022, s), BOOST_PP_WHILE_1022, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1022, s)) +# define BOOST_PP_WHILE_1022_I(p, o, s) BOOST_PP_IF(p(1023, s), BOOST_PP_WHILE_1023, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1023, s)) +# define BOOST_PP_WHILE_1023_I(p, o, s) BOOST_PP_IF(p(1024, s), BOOST_PP_WHILE_1024, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1024, s)) +# define BOOST_PP_WHILE_1024_I(p, o, s) BOOST_PP_IF(p(1025, s), BOOST_PP_WHILE_1025, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1025, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_256.hpp new file mode 100644 index 0000000000..81db8f8361 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_256.hpp @@ -0,0 +1,533 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_256_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_256_HPP +# +# define BOOST_PP_WHILE_0(p, o, s) BOOST_PP_WHILE_0_I(p, o, s) +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s) +# +# define BOOST_PP_WHILE_0_I(p, o, s) BOOST_PP_IF(p(1, s), BOOST_PP_WHILE_1, s BOOST_PP_TUPLE_EAT_3)(p, o, o(1, s)) +# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) +# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) +# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) +# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) +# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) +# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) +# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) +# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) +# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) +# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) +# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) +# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) +# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) +# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) +# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) +# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) +# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) +# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) +# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) +# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) +# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) +# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) +# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) +# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) +# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) +# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) +# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) +# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) +# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) +# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) +# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) +# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) +# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) +# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) +# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) +# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) +# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) +# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) +# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) +# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) +# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) +# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) +# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) +# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) +# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) +# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) +# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) +# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) +# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) +# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) +# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) +# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) +# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) +# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) +# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) +# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) +# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) +# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) +# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) +# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) +# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) +# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) +# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) +# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) +# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) +# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) +# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) +# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) +# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) +# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) +# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) +# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) +# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) +# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) +# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) +# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) +# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) +# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) +# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) +# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) +# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) +# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) +# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) +# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) +# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) +# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) +# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) +# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) +# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) +# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) +# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) +# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) +# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) +# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) +# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) +# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) +# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) +# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) +# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) +# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) +# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) +# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) +# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) +# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) +# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) +# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) +# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) +# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) +# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) +# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) +# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) +# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) +# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) +# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) +# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) +# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) +# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) +# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) +# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) +# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) +# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) +# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) +# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) +# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) +# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) +# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) +# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) +# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) +# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) +# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) +# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) +# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) +# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) +# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) +# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) +# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) +# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) +# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) +# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) +# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) +# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) +# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) +# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) +# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) +# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) +# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) +# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) +# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) +# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) +# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) +# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) +# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) +# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) +# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) +# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) +# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) +# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) +# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) +# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) +# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) +# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) +# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) +# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) +# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) +# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) +# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) +# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) +# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) +# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) +# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) +# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) +# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) +# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) +# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) +# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) +# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) +# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) +# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) +# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) +# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) +# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) +# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) +# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) +# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) +# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) +# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) +# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) +# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) +# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) +# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) +# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) +# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) +# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) +# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) +# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) +# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) +# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) +# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) +# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) +# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) +# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) +# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) +# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) +# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) +# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) +# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) +# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) +# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) +# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) +# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) +# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) +# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) +# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) +# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) +# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) +# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) +# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) +# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) +# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) +# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) +# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) +# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) +# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) +# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) +# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) +# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) +# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) +# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) +# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) +# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) +# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) +# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) +# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) +# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) +# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) +# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) +# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) +# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) +# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) +# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) +# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) +# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) +# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) +# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) +# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) +# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) +# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) +# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) +# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) +# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) +# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) +# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) +# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) +# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) +# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) +# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_512.hpp new file mode 100644 index 0000000000..935dfc6cc0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/limits/while_512.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_512_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_512_HPP +# +# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_WHILE_257_I(p, o, s) +# define BOOST_PP_WHILE_258(p, o, s) BOOST_PP_WHILE_258_I(p, o, s) +# define BOOST_PP_WHILE_259(p, o, s) BOOST_PP_WHILE_259_I(p, o, s) +# define BOOST_PP_WHILE_260(p, o, s) BOOST_PP_WHILE_260_I(p, o, s) +# define BOOST_PP_WHILE_261(p, o, s) BOOST_PP_WHILE_261_I(p, o, s) +# define BOOST_PP_WHILE_262(p, o, s) BOOST_PP_WHILE_262_I(p, o, s) +# define BOOST_PP_WHILE_263(p, o, s) BOOST_PP_WHILE_263_I(p, o, s) +# define BOOST_PP_WHILE_264(p, o, s) BOOST_PP_WHILE_264_I(p, o, s) +# define BOOST_PP_WHILE_265(p, o, s) BOOST_PP_WHILE_265_I(p, o, s) +# define BOOST_PP_WHILE_266(p, o, s) BOOST_PP_WHILE_266_I(p, o, s) +# define BOOST_PP_WHILE_267(p, o, s) BOOST_PP_WHILE_267_I(p, o, s) +# define BOOST_PP_WHILE_268(p, o, s) BOOST_PP_WHILE_268_I(p, o, s) +# define BOOST_PP_WHILE_269(p, o, s) BOOST_PP_WHILE_269_I(p, o, s) +# define BOOST_PP_WHILE_270(p, o, s) BOOST_PP_WHILE_270_I(p, o, s) +# define BOOST_PP_WHILE_271(p, o, s) BOOST_PP_WHILE_271_I(p, o, s) +# define BOOST_PP_WHILE_272(p, o, s) BOOST_PP_WHILE_272_I(p, o, s) +# define BOOST_PP_WHILE_273(p, o, s) BOOST_PP_WHILE_273_I(p, o, s) +# define BOOST_PP_WHILE_274(p, o, s) BOOST_PP_WHILE_274_I(p, o, s) +# define BOOST_PP_WHILE_275(p, o, s) BOOST_PP_WHILE_275_I(p, o, s) +# define BOOST_PP_WHILE_276(p, o, s) BOOST_PP_WHILE_276_I(p, o, s) +# define BOOST_PP_WHILE_277(p, o, s) BOOST_PP_WHILE_277_I(p, o, s) +# define BOOST_PP_WHILE_278(p, o, s) BOOST_PP_WHILE_278_I(p, o, s) +# define BOOST_PP_WHILE_279(p, o, s) BOOST_PP_WHILE_279_I(p, o, s) +# define BOOST_PP_WHILE_280(p, o, s) BOOST_PP_WHILE_280_I(p, o, s) +# define BOOST_PP_WHILE_281(p, o, s) BOOST_PP_WHILE_281_I(p, o, s) +# define BOOST_PP_WHILE_282(p, o, s) BOOST_PP_WHILE_282_I(p, o, s) +# define BOOST_PP_WHILE_283(p, o, s) BOOST_PP_WHILE_283_I(p, o, s) +# define BOOST_PP_WHILE_284(p, o, s) BOOST_PP_WHILE_284_I(p, o, s) +# define BOOST_PP_WHILE_285(p, o, s) BOOST_PP_WHILE_285_I(p, o, s) +# define BOOST_PP_WHILE_286(p, o, s) BOOST_PP_WHILE_286_I(p, o, s) +# define BOOST_PP_WHILE_287(p, o, s) BOOST_PP_WHILE_287_I(p, o, s) +# define BOOST_PP_WHILE_288(p, o, s) BOOST_PP_WHILE_288_I(p, o, s) +# define BOOST_PP_WHILE_289(p, o, s) BOOST_PP_WHILE_289_I(p, o, s) +# define BOOST_PP_WHILE_290(p, o, s) BOOST_PP_WHILE_290_I(p, o, s) +# define BOOST_PP_WHILE_291(p, o, s) BOOST_PP_WHILE_291_I(p, o, s) +# define BOOST_PP_WHILE_292(p, o, s) BOOST_PP_WHILE_292_I(p, o, s) +# define BOOST_PP_WHILE_293(p, o, s) BOOST_PP_WHILE_293_I(p, o, s) +# define BOOST_PP_WHILE_294(p, o, s) BOOST_PP_WHILE_294_I(p, o, s) +# define BOOST_PP_WHILE_295(p, o, s) BOOST_PP_WHILE_295_I(p, o, s) +# define BOOST_PP_WHILE_296(p, o, s) BOOST_PP_WHILE_296_I(p, o, s) +# define BOOST_PP_WHILE_297(p, o, s) BOOST_PP_WHILE_297_I(p, o, s) +# define BOOST_PP_WHILE_298(p, o, s) BOOST_PP_WHILE_298_I(p, o, s) +# define BOOST_PP_WHILE_299(p, o, s) BOOST_PP_WHILE_299_I(p, o, s) +# define BOOST_PP_WHILE_300(p, o, s) BOOST_PP_WHILE_300_I(p, o, s) +# define BOOST_PP_WHILE_301(p, o, s) BOOST_PP_WHILE_301_I(p, o, s) +# define BOOST_PP_WHILE_302(p, o, s) BOOST_PP_WHILE_302_I(p, o, s) +# define BOOST_PP_WHILE_303(p, o, s) BOOST_PP_WHILE_303_I(p, o, s) +# define BOOST_PP_WHILE_304(p, o, s) BOOST_PP_WHILE_304_I(p, o, s) +# define BOOST_PP_WHILE_305(p, o, s) BOOST_PP_WHILE_305_I(p, o, s) +# define BOOST_PP_WHILE_306(p, o, s) BOOST_PP_WHILE_306_I(p, o, s) +# define BOOST_PP_WHILE_307(p, o, s) BOOST_PP_WHILE_307_I(p, o, s) +# define BOOST_PP_WHILE_308(p, o, s) BOOST_PP_WHILE_308_I(p, o, s) +# define BOOST_PP_WHILE_309(p, o, s) BOOST_PP_WHILE_309_I(p, o, s) +# define BOOST_PP_WHILE_310(p, o, s) BOOST_PP_WHILE_310_I(p, o, s) +# define BOOST_PP_WHILE_311(p, o, s) BOOST_PP_WHILE_311_I(p, o, s) +# define BOOST_PP_WHILE_312(p, o, s) BOOST_PP_WHILE_312_I(p, o, s) +# define BOOST_PP_WHILE_313(p, o, s) BOOST_PP_WHILE_313_I(p, o, s) +# define BOOST_PP_WHILE_314(p, o, s) BOOST_PP_WHILE_314_I(p, o, s) +# define BOOST_PP_WHILE_315(p, o, s) BOOST_PP_WHILE_315_I(p, o, s) +# define BOOST_PP_WHILE_316(p, o, s) BOOST_PP_WHILE_316_I(p, o, s) +# define BOOST_PP_WHILE_317(p, o, s) BOOST_PP_WHILE_317_I(p, o, s) +# define BOOST_PP_WHILE_318(p, o, s) BOOST_PP_WHILE_318_I(p, o, s) +# define BOOST_PP_WHILE_319(p, o, s) BOOST_PP_WHILE_319_I(p, o, s) +# define BOOST_PP_WHILE_320(p, o, s) BOOST_PP_WHILE_320_I(p, o, s) +# define BOOST_PP_WHILE_321(p, o, s) BOOST_PP_WHILE_321_I(p, o, s) +# define BOOST_PP_WHILE_322(p, o, s) BOOST_PP_WHILE_322_I(p, o, s) +# define BOOST_PP_WHILE_323(p, o, s) BOOST_PP_WHILE_323_I(p, o, s) +# define BOOST_PP_WHILE_324(p, o, s) BOOST_PP_WHILE_324_I(p, o, s) +# define BOOST_PP_WHILE_325(p, o, s) BOOST_PP_WHILE_325_I(p, o, s) +# define BOOST_PP_WHILE_326(p, o, s) BOOST_PP_WHILE_326_I(p, o, s) +# define BOOST_PP_WHILE_327(p, o, s) BOOST_PP_WHILE_327_I(p, o, s) +# define BOOST_PP_WHILE_328(p, o, s) BOOST_PP_WHILE_328_I(p, o, s) +# define BOOST_PP_WHILE_329(p, o, s) BOOST_PP_WHILE_329_I(p, o, s) +# define BOOST_PP_WHILE_330(p, o, s) BOOST_PP_WHILE_330_I(p, o, s) +# define BOOST_PP_WHILE_331(p, o, s) BOOST_PP_WHILE_331_I(p, o, s) +# define BOOST_PP_WHILE_332(p, o, s) BOOST_PP_WHILE_332_I(p, o, s) +# define BOOST_PP_WHILE_333(p, o, s) BOOST_PP_WHILE_333_I(p, o, s) +# define BOOST_PP_WHILE_334(p, o, s) BOOST_PP_WHILE_334_I(p, o, s) +# define BOOST_PP_WHILE_335(p, o, s) BOOST_PP_WHILE_335_I(p, o, s) +# define BOOST_PP_WHILE_336(p, o, s) BOOST_PP_WHILE_336_I(p, o, s) +# define BOOST_PP_WHILE_337(p, o, s) BOOST_PP_WHILE_337_I(p, o, s) +# define BOOST_PP_WHILE_338(p, o, s) BOOST_PP_WHILE_338_I(p, o, s) +# define BOOST_PP_WHILE_339(p, o, s) BOOST_PP_WHILE_339_I(p, o, s) +# define BOOST_PP_WHILE_340(p, o, s) BOOST_PP_WHILE_340_I(p, o, s) +# define BOOST_PP_WHILE_341(p, o, s) BOOST_PP_WHILE_341_I(p, o, s) +# define BOOST_PP_WHILE_342(p, o, s) BOOST_PP_WHILE_342_I(p, o, s) +# define BOOST_PP_WHILE_343(p, o, s) BOOST_PP_WHILE_343_I(p, o, s) +# define BOOST_PP_WHILE_344(p, o, s) BOOST_PP_WHILE_344_I(p, o, s) +# define BOOST_PP_WHILE_345(p, o, s) BOOST_PP_WHILE_345_I(p, o, s) +# define BOOST_PP_WHILE_346(p, o, s) BOOST_PP_WHILE_346_I(p, o, s) +# define BOOST_PP_WHILE_347(p, o, s) BOOST_PP_WHILE_347_I(p, o, s) +# define BOOST_PP_WHILE_348(p, o, s) BOOST_PP_WHILE_348_I(p, o, s) +# define BOOST_PP_WHILE_349(p, o, s) BOOST_PP_WHILE_349_I(p, o, s) +# define BOOST_PP_WHILE_350(p, o, s) BOOST_PP_WHILE_350_I(p, o, s) +# define BOOST_PP_WHILE_351(p, o, s) BOOST_PP_WHILE_351_I(p, o, s) +# define BOOST_PP_WHILE_352(p, o, s) BOOST_PP_WHILE_352_I(p, o, s) +# define BOOST_PP_WHILE_353(p, o, s) BOOST_PP_WHILE_353_I(p, o, s) +# define BOOST_PP_WHILE_354(p, o, s) BOOST_PP_WHILE_354_I(p, o, s) +# define BOOST_PP_WHILE_355(p, o, s) BOOST_PP_WHILE_355_I(p, o, s) +# define BOOST_PP_WHILE_356(p, o, s) BOOST_PP_WHILE_356_I(p, o, s) +# define BOOST_PP_WHILE_357(p, o, s) BOOST_PP_WHILE_357_I(p, o, s) +# define BOOST_PP_WHILE_358(p, o, s) BOOST_PP_WHILE_358_I(p, o, s) +# define BOOST_PP_WHILE_359(p, o, s) BOOST_PP_WHILE_359_I(p, o, s) +# define BOOST_PP_WHILE_360(p, o, s) BOOST_PP_WHILE_360_I(p, o, s) +# define BOOST_PP_WHILE_361(p, o, s) BOOST_PP_WHILE_361_I(p, o, s) +# define BOOST_PP_WHILE_362(p, o, s) BOOST_PP_WHILE_362_I(p, o, s) +# define BOOST_PP_WHILE_363(p, o, s) BOOST_PP_WHILE_363_I(p, o, s) +# define BOOST_PP_WHILE_364(p, o, s) BOOST_PP_WHILE_364_I(p, o, s) +# define BOOST_PP_WHILE_365(p, o, s) BOOST_PP_WHILE_365_I(p, o, s) +# define BOOST_PP_WHILE_366(p, o, s) BOOST_PP_WHILE_366_I(p, o, s) +# define BOOST_PP_WHILE_367(p, o, s) BOOST_PP_WHILE_367_I(p, o, s) +# define BOOST_PP_WHILE_368(p, o, s) BOOST_PP_WHILE_368_I(p, o, s) +# define BOOST_PP_WHILE_369(p, o, s) BOOST_PP_WHILE_369_I(p, o, s) +# define BOOST_PP_WHILE_370(p, o, s) BOOST_PP_WHILE_370_I(p, o, s) +# define BOOST_PP_WHILE_371(p, o, s) BOOST_PP_WHILE_371_I(p, o, s) +# define BOOST_PP_WHILE_372(p, o, s) BOOST_PP_WHILE_372_I(p, o, s) +# define BOOST_PP_WHILE_373(p, o, s) BOOST_PP_WHILE_373_I(p, o, s) +# define BOOST_PP_WHILE_374(p, o, s) BOOST_PP_WHILE_374_I(p, o, s) +# define BOOST_PP_WHILE_375(p, o, s) BOOST_PP_WHILE_375_I(p, o, s) +# define BOOST_PP_WHILE_376(p, o, s) BOOST_PP_WHILE_376_I(p, o, s) +# define BOOST_PP_WHILE_377(p, o, s) BOOST_PP_WHILE_377_I(p, o, s) +# define BOOST_PP_WHILE_378(p, o, s) BOOST_PP_WHILE_378_I(p, o, s) +# define BOOST_PP_WHILE_379(p, o, s) BOOST_PP_WHILE_379_I(p, o, s) +# define BOOST_PP_WHILE_380(p, o, s) BOOST_PP_WHILE_380_I(p, o, s) +# define BOOST_PP_WHILE_381(p, o, s) BOOST_PP_WHILE_381_I(p, o, s) +# define BOOST_PP_WHILE_382(p, o, s) BOOST_PP_WHILE_382_I(p, o, s) +# define BOOST_PP_WHILE_383(p, o, s) BOOST_PP_WHILE_383_I(p, o, s) +# define BOOST_PP_WHILE_384(p, o, s) BOOST_PP_WHILE_384_I(p, o, s) +# define BOOST_PP_WHILE_385(p, o, s) BOOST_PP_WHILE_385_I(p, o, s) +# define BOOST_PP_WHILE_386(p, o, s) BOOST_PP_WHILE_386_I(p, o, s) +# define BOOST_PP_WHILE_387(p, o, s) BOOST_PP_WHILE_387_I(p, o, s) +# define BOOST_PP_WHILE_388(p, o, s) BOOST_PP_WHILE_388_I(p, o, s) +# define BOOST_PP_WHILE_389(p, o, s) BOOST_PP_WHILE_389_I(p, o, s) +# define BOOST_PP_WHILE_390(p, o, s) BOOST_PP_WHILE_390_I(p, o, s) +# define BOOST_PP_WHILE_391(p, o, s) BOOST_PP_WHILE_391_I(p, o, s) +# define BOOST_PP_WHILE_392(p, o, s) BOOST_PP_WHILE_392_I(p, o, s) +# define BOOST_PP_WHILE_393(p, o, s) BOOST_PP_WHILE_393_I(p, o, s) +# define BOOST_PP_WHILE_394(p, o, s) BOOST_PP_WHILE_394_I(p, o, s) +# define BOOST_PP_WHILE_395(p, o, s) BOOST_PP_WHILE_395_I(p, o, s) +# define BOOST_PP_WHILE_396(p, o, s) BOOST_PP_WHILE_396_I(p, o, s) +# define BOOST_PP_WHILE_397(p, o, s) BOOST_PP_WHILE_397_I(p, o, s) +# define BOOST_PP_WHILE_398(p, o, s) BOOST_PP_WHILE_398_I(p, o, s) +# define BOOST_PP_WHILE_399(p, o, s) BOOST_PP_WHILE_399_I(p, o, s) +# define BOOST_PP_WHILE_400(p, o, s) BOOST_PP_WHILE_400_I(p, o, s) +# define BOOST_PP_WHILE_401(p, o, s) BOOST_PP_WHILE_401_I(p, o, s) +# define BOOST_PP_WHILE_402(p, o, s) BOOST_PP_WHILE_402_I(p, o, s) +# define BOOST_PP_WHILE_403(p, o, s) BOOST_PP_WHILE_403_I(p, o, s) +# define BOOST_PP_WHILE_404(p, o, s) BOOST_PP_WHILE_404_I(p, o, s) +# define BOOST_PP_WHILE_405(p, o, s) BOOST_PP_WHILE_405_I(p, o, s) +# define BOOST_PP_WHILE_406(p, o, s) BOOST_PP_WHILE_406_I(p, o, s) +# define BOOST_PP_WHILE_407(p, o, s) BOOST_PP_WHILE_407_I(p, o, s) +# define BOOST_PP_WHILE_408(p, o, s) BOOST_PP_WHILE_408_I(p, o, s) +# define BOOST_PP_WHILE_409(p, o, s) BOOST_PP_WHILE_409_I(p, o, s) +# define BOOST_PP_WHILE_410(p, o, s) BOOST_PP_WHILE_410_I(p, o, s) +# define BOOST_PP_WHILE_411(p, o, s) BOOST_PP_WHILE_411_I(p, o, s) +# define BOOST_PP_WHILE_412(p, o, s) BOOST_PP_WHILE_412_I(p, o, s) +# define BOOST_PP_WHILE_413(p, o, s) BOOST_PP_WHILE_413_I(p, o, s) +# define BOOST_PP_WHILE_414(p, o, s) BOOST_PP_WHILE_414_I(p, o, s) +# define BOOST_PP_WHILE_415(p, o, s) BOOST_PP_WHILE_415_I(p, o, s) +# define BOOST_PP_WHILE_416(p, o, s) BOOST_PP_WHILE_416_I(p, o, s) +# define BOOST_PP_WHILE_417(p, o, s) BOOST_PP_WHILE_417_I(p, o, s) +# define BOOST_PP_WHILE_418(p, o, s) BOOST_PP_WHILE_418_I(p, o, s) +# define BOOST_PP_WHILE_419(p, o, s) BOOST_PP_WHILE_419_I(p, o, s) +# define BOOST_PP_WHILE_420(p, o, s) BOOST_PP_WHILE_420_I(p, o, s) +# define BOOST_PP_WHILE_421(p, o, s) BOOST_PP_WHILE_421_I(p, o, s) +# define BOOST_PP_WHILE_422(p, o, s) BOOST_PP_WHILE_422_I(p, o, s) +# define BOOST_PP_WHILE_423(p, o, s) BOOST_PP_WHILE_423_I(p, o, s) +# define BOOST_PP_WHILE_424(p, o, s) BOOST_PP_WHILE_424_I(p, o, s) +# define BOOST_PP_WHILE_425(p, o, s) BOOST_PP_WHILE_425_I(p, o, s) +# define BOOST_PP_WHILE_426(p, o, s) BOOST_PP_WHILE_426_I(p, o, s) +# define BOOST_PP_WHILE_427(p, o, s) BOOST_PP_WHILE_427_I(p, o, s) +# define BOOST_PP_WHILE_428(p, o, s) BOOST_PP_WHILE_428_I(p, o, s) +# define BOOST_PP_WHILE_429(p, o, s) BOOST_PP_WHILE_429_I(p, o, s) +# define BOOST_PP_WHILE_430(p, o, s) BOOST_PP_WHILE_430_I(p, o, s) +# define BOOST_PP_WHILE_431(p, o, s) BOOST_PP_WHILE_431_I(p, o, s) +# define BOOST_PP_WHILE_432(p, o, s) BOOST_PP_WHILE_432_I(p, o, s) +# define BOOST_PP_WHILE_433(p, o, s) BOOST_PP_WHILE_433_I(p, o, s) +# define BOOST_PP_WHILE_434(p, o, s) BOOST_PP_WHILE_434_I(p, o, s) +# define BOOST_PP_WHILE_435(p, o, s) BOOST_PP_WHILE_435_I(p, o, s) +# define BOOST_PP_WHILE_436(p, o, s) BOOST_PP_WHILE_436_I(p, o, s) +# define BOOST_PP_WHILE_437(p, o, s) BOOST_PP_WHILE_437_I(p, o, s) +# define BOOST_PP_WHILE_438(p, o, s) BOOST_PP_WHILE_438_I(p, o, s) +# define BOOST_PP_WHILE_439(p, o, s) BOOST_PP_WHILE_439_I(p, o, s) +# define BOOST_PP_WHILE_440(p, o, s) BOOST_PP_WHILE_440_I(p, o, s) +# define BOOST_PP_WHILE_441(p, o, s) BOOST_PP_WHILE_441_I(p, o, s) +# define BOOST_PP_WHILE_442(p, o, s) BOOST_PP_WHILE_442_I(p, o, s) +# define BOOST_PP_WHILE_443(p, o, s) BOOST_PP_WHILE_443_I(p, o, s) +# define BOOST_PP_WHILE_444(p, o, s) BOOST_PP_WHILE_444_I(p, o, s) +# define BOOST_PP_WHILE_445(p, o, s) BOOST_PP_WHILE_445_I(p, o, s) +# define BOOST_PP_WHILE_446(p, o, s) BOOST_PP_WHILE_446_I(p, o, s) +# define BOOST_PP_WHILE_447(p, o, s) BOOST_PP_WHILE_447_I(p, o, s) +# define BOOST_PP_WHILE_448(p, o, s) BOOST_PP_WHILE_448_I(p, o, s) +# define BOOST_PP_WHILE_449(p, o, s) BOOST_PP_WHILE_449_I(p, o, s) +# define BOOST_PP_WHILE_450(p, o, s) BOOST_PP_WHILE_450_I(p, o, s) +# define BOOST_PP_WHILE_451(p, o, s) BOOST_PP_WHILE_451_I(p, o, s) +# define BOOST_PP_WHILE_452(p, o, s) BOOST_PP_WHILE_452_I(p, o, s) +# define BOOST_PP_WHILE_453(p, o, s) BOOST_PP_WHILE_453_I(p, o, s) +# define BOOST_PP_WHILE_454(p, o, s) BOOST_PP_WHILE_454_I(p, o, s) +# define BOOST_PP_WHILE_455(p, o, s) BOOST_PP_WHILE_455_I(p, o, s) +# define BOOST_PP_WHILE_456(p, o, s) BOOST_PP_WHILE_456_I(p, o, s) +# define BOOST_PP_WHILE_457(p, o, s) BOOST_PP_WHILE_457_I(p, o, s) +# define BOOST_PP_WHILE_458(p, o, s) BOOST_PP_WHILE_458_I(p, o, s) +# define BOOST_PP_WHILE_459(p, o, s) BOOST_PP_WHILE_459_I(p, o, s) +# define BOOST_PP_WHILE_460(p, o, s) BOOST_PP_WHILE_460_I(p, o, s) +# define BOOST_PP_WHILE_461(p, o, s) BOOST_PP_WHILE_461_I(p, o, s) +# define BOOST_PP_WHILE_462(p, o, s) BOOST_PP_WHILE_462_I(p, o, s) +# define BOOST_PP_WHILE_463(p, o, s) BOOST_PP_WHILE_463_I(p, o, s) +# define BOOST_PP_WHILE_464(p, o, s) BOOST_PP_WHILE_464_I(p, o, s) +# define BOOST_PP_WHILE_465(p, o, s) BOOST_PP_WHILE_465_I(p, o, s) +# define BOOST_PP_WHILE_466(p, o, s) BOOST_PP_WHILE_466_I(p, o, s) +# define BOOST_PP_WHILE_467(p, o, s) BOOST_PP_WHILE_467_I(p, o, s) +# define BOOST_PP_WHILE_468(p, o, s) BOOST_PP_WHILE_468_I(p, o, s) +# define BOOST_PP_WHILE_469(p, o, s) BOOST_PP_WHILE_469_I(p, o, s) +# define BOOST_PP_WHILE_470(p, o, s) BOOST_PP_WHILE_470_I(p, o, s) +# define BOOST_PP_WHILE_471(p, o, s) BOOST_PP_WHILE_471_I(p, o, s) +# define BOOST_PP_WHILE_472(p, o, s) BOOST_PP_WHILE_472_I(p, o, s) +# define BOOST_PP_WHILE_473(p, o, s) BOOST_PP_WHILE_473_I(p, o, s) +# define BOOST_PP_WHILE_474(p, o, s) BOOST_PP_WHILE_474_I(p, o, s) +# define BOOST_PP_WHILE_475(p, o, s) BOOST_PP_WHILE_475_I(p, o, s) +# define BOOST_PP_WHILE_476(p, o, s) BOOST_PP_WHILE_476_I(p, o, s) +# define BOOST_PP_WHILE_477(p, o, s) BOOST_PP_WHILE_477_I(p, o, s) +# define BOOST_PP_WHILE_478(p, o, s) BOOST_PP_WHILE_478_I(p, o, s) +# define BOOST_PP_WHILE_479(p, o, s) BOOST_PP_WHILE_479_I(p, o, s) +# define BOOST_PP_WHILE_480(p, o, s) BOOST_PP_WHILE_480_I(p, o, s) +# define BOOST_PP_WHILE_481(p, o, s) BOOST_PP_WHILE_481_I(p, o, s) +# define BOOST_PP_WHILE_482(p, o, s) BOOST_PP_WHILE_482_I(p, o, s) +# define BOOST_PP_WHILE_483(p, o, s) BOOST_PP_WHILE_483_I(p, o, s) +# define BOOST_PP_WHILE_484(p, o, s) BOOST_PP_WHILE_484_I(p, o, s) +# define BOOST_PP_WHILE_485(p, o, s) BOOST_PP_WHILE_485_I(p, o, s) +# define BOOST_PP_WHILE_486(p, o, s) BOOST_PP_WHILE_486_I(p, o, s) +# define BOOST_PP_WHILE_487(p, o, s) BOOST_PP_WHILE_487_I(p, o, s) +# define BOOST_PP_WHILE_488(p, o, s) BOOST_PP_WHILE_488_I(p, o, s) +# define BOOST_PP_WHILE_489(p, o, s) BOOST_PP_WHILE_489_I(p, o, s) +# define BOOST_PP_WHILE_490(p, o, s) BOOST_PP_WHILE_490_I(p, o, s) +# define BOOST_PP_WHILE_491(p, o, s) BOOST_PP_WHILE_491_I(p, o, s) +# define BOOST_PP_WHILE_492(p, o, s) BOOST_PP_WHILE_492_I(p, o, s) +# define BOOST_PP_WHILE_493(p, o, s) BOOST_PP_WHILE_493_I(p, o, s) +# define BOOST_PP_WHILE_494(p, o, s) BOOST_PP_WHILE_494_I(p, o, s) +# define BOOST_PP_WHILE_495(p, o, s) BOOST_PP_WHILE_495_I(p, o, s) +# define BOOST_PP_WHILE_496(p, o, s) BOOST_PP_WHILE_496_I(p, o, s) +# define BOOST_PP_WHILE_497(p, o, s) BOOST_PP_WHILE_497_I(p, o, s) +# define BOOST_PP_WHILE_498(p, o, s) BOOST_PP_WHILE_498_I(p, o, s) +# define BOOST_PP_WHILE_499(p, o, s) BOOST_PP_WHILE_499_I(p, o, s) +# define BOOST_PP_WHILE_500(p, o, s) BOOST_PP_WHILE_500_I(p, o, s) +# define BOOST_PP_WHILE_501(p, o, s) BOOST_PP_WHILE_501_I(p, o, s) +# define BOOST_PP_WHILE_502(p, o, s) BOOST_PP_WHILE_502_I(p, o, s) +# define BOOST_PP_WHILE_503(p, o, s) BOOST_PP_WHILE_503_I(p, o, s) +# define BOOST_PP_WHILE_504(p, o, s) BOOST_PP_WHILE_504_I(p, o, s) +# define BOOST_PP_WHILE_505(p, o, s) BOOST_PP_WHILE_505_I(p, o, s) +# define BOOST_PP_WHILE_506(p, o, s) BOOST_PP_WHILE_506_I(p, o, s) +# define BOOST_PP_WHILE_507(p, o, s) BOOST_PP_WHILE_507_I(p, o, s) +# define BOOST_PP_WHILE_508(p, o, s) BOOST_PP_WHILE_508_I(p, o, s) +# define BOOST_PP_WHILE_509(p, o, s) BOOST_PP_WHILE_509_I(p, o, s) +# define BOOST_PP_WHILE_510(p, o, s) BOOST_PP_WHILE_510_I(p, o, s) +# define BOOST_PP_WHILE_511(p, o, s) BOOST_PP_WHILE_511_I(p, o, s) +# define BOOST_PP_WHILE_512(p, o, s) BOOST_PP_WHILE_512_I(p, o, s) +# +# define BOOST_PP_WHILE_257_I(p, o, s) BOOST_PP_IF(p(258, s), BOOST_PP_WHILE_258, s BOOST_PP_TUPLE_EAT_3)(p, o, o(258, s)) +# define BOOST_PP_WHILE_258_I(p, o, s) BOOST_PP_IF(p(259, s), BOOST_PP_WHILE_259, s BOOST_PP_TUPLE_EAT_3)(p, o, o(259, s)) +# define BOOST_PP_WHILE_259_I(p, o, s) BOOST_PP_IF(p(260, s), BOOST_PP_WHILE_260, s BOOST_PP_TUPLE_EAT_3)(p, o, o(260, s)) +# define BOOST_PP_WHILE_260_I(p, o, s) BOOST_PP_IF(p(261, s), BOOST_PP_WHILE_261, s BOOST_PP_TUPLE_EAT_3)(p, o, o(261, s)) +# define BOOST_PP_WHILE_261_I(p, o, s) BOOST_PP_IF(p(262, s), BOOST_PP_WHILE_262, s BOOST_PP_TUPLE_EAT_3)(p, o, o(262, s)) +# define BOOST_PP_WHILE_262_I(p, o, s) BOOST_PP_IF(p(263, s), BOOST_PP_WHILE_263, s BOOST_PP_TUPLE_EAT_3)(p, o, o(263, s)) +# define BOOST_PP_WHILE_263_I(p, o, s) BOOST_PP_IF(p(264, s), BOOST_PP_WHILE_264, s BOOST_PP_TUPLE_EAT_3)(p, o, o(264, s)) +# define BOOST_PP_WHILE_264_I(p, o, s) BOOST_PP_IF(p(265, s), BOOST_PP_WHILE_265, s BOOST_PP_TUPLE_EAT_3)(p, o, o(265, s)) +# define BOOST_PP_WHILE_265_I(p, o, s) BOOST_PP_IF(p(266, s), BOOST_PP_WHILE_266, s BOOST_PP_TUPLE_EAT_3)(p, o, o(266, s)) +# define BOOST_PP_WHILE_266_I(p, o, s) BOOST_PP_IF(p(267, s), BOOST_PP_WHILE_267, s BOOST_PP_TUPLE_EAT_3)(p, o, o(267, s)) +# define BOOST_PP_WHILE_267_I(p, o, s) BOOST_PP_IF(p(268, s), BOOST_PP_WHILE_268, s BOOST_PP_TUPLE_EAT_3)(p, o, o(268, s)) +# define BOOST_PP_WHILE_268_I(p, o, s) BOOST_PP_IF(p(269, s), BOOST_PP_WHILE_269, s BOOST_PP_TUPLE_EAT_3)(p, o, o(269, s)) +# define BOOST_PP_WHILE_269_I(p, o, s) BOOST_PP_IF(p(270, s), BOOST_PP_WHILE_270, s BOOST_PP_TUPLE_EAT_3)(p, o, o(270, s)) +# define BOOST_PP_WHILE_270_I(p, o, s) BOOST_PP_IF(p(271, s), BOOST_PP_WHILE_271, s BOOST_PP_TUPLE_EAT_3)(p, o, o(271, s)) +# define BOOST_PP_WHILE_271_I(p, o, s) BOOST_PP_IF(p(272, s), BOOST_PP_WHILE_272, s BOOST_PP_TUPLE_EAT_3)(p, o, o(272, s)) +# define BOOST_PP_WHILE_272_I(p, o, s) BOOST_PP_IF(p(273, s), BOOST_PP_WHILE_273, s BOOST_PP_TUPLE_EAT_3)(p, o, o(273, s)) +# define BOOST_PP_WHILE_273_I(p, o, s) BOOST_PP_IF(p(274, s), BOOST_PP_WHILE_274, s BOOST_PP_TUPLE_EAT_3)(p, o, o(274, s)) +# define BOOST_PP_WHILE_274_I(p, o, s) BOOST_PP_IF(p(275, s), BOOST_PP_WHILE_275, s BOOST_PP_TUPLE_EAT_3)(p, o, o(275, s)) +# define BOOST_PP_WHILE_275_I(p, o, s) BOOST_PP_IF(p(276, s), BOOST_PP_WHILE_276, s BOOST_PP_TUPLE_EAT_3)(p, o, o(276, s)) +# define BOOST_PP_WHILE_276_I(p, o, s) BOOST_PP_IF(p(277, s), BOOST_PP_WHILE_277, s BOOST_PP_TUPLE_EAT_3)(p, o, o(277, s)) +# define BOOST_PP_WHILE_277_I(p, o, s) BOOST_PP_IF(p(278, s), BOOST_PP_WHILE_278, s BOOST_PP_TUPLE_EAT_3)(p, o, o(278, s)) +# define BOOST_PP_WHILE_278_I(p, o, s) BOOST_PP_IF(p(279, s), BOOST_PP_WHILE_279, s BOOST_PP_TUPLE_EAT_3)(p, o, o(279, s)) +# define BOOST_PP_WHILE_279_I(p, o, s) BOOST_PP_IF(p(280, s), BOOST_PP_WHILE_280, s BOOST_PP_TUPLE_EAT_3)(p, o, o(280, s)) +# define BOOST_PP_WHILE_280_I(p, o, s) BOOST_PP_IF(p(281, s), BOOST_PP_WHILE_281, s BOOST_PP_TUPLE_EAT_3)(p, o, o(281, s)) +# define BOOST_PP_WHILE_281_I(p, o, s) BOOST_PP_IF(p(282, s), BOOST_PP_WHILE_282, s BOOST_PP_TUPLE_EAT_3)(p, o, o(282, s)) +# define BOOST_PP_WHILE_282_I(p, o, s) BOOST_PP_IF(p(283, s), BOOST_PP_WHILE_283, s BOOST_PP_TUPLE_EAT_3)(p, o, o(283, s)) +# define BOOST_PP_WHILE_283_I(p, o, s) BOOST_PP_IF(p(284, s), BOOST_PP_WHILE_284, s BOOST_PP_TUPLE_EAT_3)(p, o, o(284, s)) +# define BOOST_PP_WHILE_284_I(p, o, s) BOOST_PP_IF(p(285, s), BOOST_PP_WHILE_285, s BOOST_PP_TUPLE_EAT_3)(p, o, o(285, s)) +# define BOOST_PP_WHILE_285_I(p, o, s) BOOST_PP_IF(p(286, s), BOOST_PP_WHILE_286, s BOOST_PP_TUPLE_EAT_3)(p, o, o(286, s)) +# define BOOST_PP_WHILE_286_I(p, o, s) BOOST_PP_IF(p(287, s), BOOST_PP_WHILE_287, s BOOST_PP_TUPLE_EAT_3)(p, o, o(287, s)) +# define BOOST_PP_WHILE_287_I(p, o, s) BOOST_PP_IF(p(288, s), BOOST_PP_WHILE_288, s BOOST_PP_TUPLE_EAT_3)(p, o, o(288, s)) +# define BOOST_PP_WHILE_288_I(p, o, s) BOOST_PP_IF(p(289, s), BOOST_PP_WHILE_289, s BOOST_PP_TUPLE_EAT_3)(p, o, o(289, s)) +# define BOOST_PP_WHILE_289_I(p, o, s) BOOST_PP_IF(p(290, s), BOOST_PP_WHILE_290, s BOOST_PP_TUPLE_EAT_3)(p, o, o(290, s)) +# define BOOST_PP_WHILE_290_I(p, o, s) BOOST_PP_IF(p(291, s), BOOST_PP_WHILE_291, s BOOST_PP_TUPLE_EAT_3)(p, o, o(291, s)) +# define BOOST_PP_WHILE_291_I(p, o, s) BOOST_PP_IF(p(292, s), BOOST_PP_WHILE_292, s BOOST_PP_TUPLE_EAT_3)(p, o, o(292, s)) +# define BOOST_PP_WHILE_292_I(p, o, s) BOOST_PP_IF(p(293, s), BOOST_PP_WHILE_293, s BOOST_PP_TUPLE_EAT_3)(p, o, o(293, s)) +# define BOOST_PP_WHILE_293_I(p, o, s) BOOST_PP_IF(p(294, s), BOOST_PP_WHILE_294, s BOOST_PP_TUPLE_EAT_3)(p, o, o(294, s)) +# define BOOST_PP_WHILE_294_I(p, o, s) BOOST_PP_IF(p(295, s), BOOST_PP_WHILE_295, s BOOST_PP_TUPLE_EAT_3)(p, o, o(295, s)) +# define BOOST_PP_WHILE_295_I(p, o, s) BOOST_PP_IF(p(296, s), BOOST_PP_WHILE_296, s BOOST_PP_TUPLE_EAT_3)(p, o, o(296, s)) +# define BOOST_PP_WHILE_296_I(p, o, s) BOOST_PP_IF(p(297, s), BOOST_PP_WHILE_297, s BOOST_PP_TUPLE_EAT_3)(p, o, o(297, s)) +# define BOOST_PP_WHILE_297_I(p, o, s) BOOST_PP_IF(p(298, s), BOOST_PP_WHILE_298, s BOOST_PP_TUPLE_EAT_3)(p, o, o(298, s)) +# define BOOST_PP_WHILE_298_I(p, o, s) BOOST_PP_IF(p(299, s), BOOST_PP_WHILE_299, s BOOST_PP_TUPLE_EAT_3)(p, o, o(299, s)) +# define BOOST_PP_WHILE_299_I(p, o, s) BOOST_PP_IF(p(300, s), BOOST_PP_WHILE_300, s BOOST_PP_TUPLE_EAT_3)(p, o, o(300, s)) +# define BOOST_PP_WHILE_300_I(p, o, s) BOOST_PP_IF(p(301, s), BOOST_PP_WHILE_301, s BOOST_PP_TUPLE_EAT_3)(p, o, o(301, s)) +# define BOOST_PP_WHILE_301_I(p, o, s) BOOST_PP_IF(p(302, s), BOOST_PP_WHILE_302, s BOOST_PP_TUPLE_EAT_3)(p, o, o(302, s)) +# define BOOST_PP_WHILE_302_I(p, o, s) BOOST_PP_IF(p(303, s), BOOST_PP_WHILE_303, s BOOST_PP_TUPLE_EAT_3)(p, o, o(303, s)) +# define BOOST_PP_WHILE_303_I(p, o, s) BOOST_PP_IF(p(304, s), BOOST_PP_WHILE_304, s BOOST_PP_TUPLE_EAT_3)(p, o, o(304, s)) +# define BOOST_PP_WHILE_304_I(p, o, s) BOOST_PP_IF(p(305, s), BOOST_PP_WHILE_305, s BOOST_PP_TUPLE_EAT_3)(p, o, o(305, s)) +# define BOOST_PP_WHILE_305_I(p, o, s) BOOST_PP_IF(p(306, s), BOOST_PP_WHILE_306, s BOOST_PP_TUPLE_EAT_3)(p, o, o(306, s)) +# define BOOST_PP_WHILE_306_I(p, o, s) BOOST_PP_IF(p(307, s), BOOST_PP_WHILE_307, s BOOST_PP_TUPLE_EAT_3)(p, o, o(307, s)) +# define BOOST_PP_WHILE_307_I(p, o, s) BOOST_PP_IF(p(308, s), BOOST_PP_WHILE_308, s BOOST_PP_TUPLE_EAT_3)(p, o, o(308, s)) +# define BOOST_PP_WHILE_308_I(p, o, s) BOOST_PP_IF(p(309, s), BOOST_PP_WHILE_309, s BOOST_PP_TUPLE_EAT_3)(p, o, o(309, s)) +# define BOOST_PP_WHILE_309_I(p, o, s) BOOST_PP_IF(p(310, s), BOOST_PP_WHILE_310, s BOOST_PP_TUPLE_EAT_3)(p, o, o(310, s)) +# define BOOST_PP_WHILE_310_I(p, o, s) BOOST_PP_IF(p(311, s), BOOST_PP_WHILE_311, s BOOST_PP_TUPLE_EAT_3)(p, o, o(311, s)) +# define BOOST_PP_WHILE_311_I(p, o, s) BOOST_PP_IF(p(312, s), BOOST_PP_WHILE_312, s BOOST_PP_TUPLE_EAT_3)(p, o, o(312, s)) +# define BOOST_PP_WHILE_312_I(p, o, s) BOOST_PP_IF(p(313, s), BOOST_PP_WHILE_313, s BOOST_PP_TUPLE_EAT_3)(p, o, o(313, s)) +# define BOOST_PP_WHILE_313_I(p, o, s) BOOST_PP_IF(p(314, s), BOOST_PP_WHILE_314, s BOOST_PP_TUPLE_EAT_3)(p, o, o(314, s)) +# define BOOST_PP_WHILE_314_I(p, o, s) BOOST_PP_IF(p(315, s), BOOST_PP_WHILE_315, s BOOST_PP_TUPLE_EAT_3)(p, o, o(315, s)) +# define BOOST_PP_WHILE_315_I(p, o, s) BOOST_PP_IF(p(316, s), BOOST_PP_WHILE_316, s BOOST_PP_TUPLE_EAT_3)(p, o, o(316, s)) +# define BOOST_PP_WHILE_316_I(p, o, s) BOOST_PP_IF(p(317, s), BOOST_PP_WHILE_317, s BOOST_PP_TUPLE_EAT_3)(p, o, o(317, s)) +# define BOOST_PP_WHILE_317_I(p, o, s) BOOST_PP_IF(p(318, s), BOOST_PP_WHILE_318, s BOOST_PP_TUPLE_EAT_3)(p, o, o(318, s)) +# define BOOST_PP_WHILE_318_I(p, o, s) BOOST_PP_IF(p(319, s), BOOST_PP_WHILE_319, s BOOST_PP_TUPLE_EAT_3)(p, o, o(319, s)) +# define BOOST_PP_WHILE_319_I(p, o, s) BOOST_PP_IF(p(320, s), BOOST_PP_WHILE_320, s BOOST_PP_TUPLE_EAT_3)(p, o, o(320, s)) +# define BOOST_PP_WHILE_320_I(p, o, s) BOOST_PP_IF(p(321, s), BOOST_PP_WHILE_321, s BOOST_PP_TUPLE_EAT_3)(p, o, o(321, s)) +# define BOOST_PP_WHILE_321_I(p, o, s) BOOST_PP_IF(p(322, s), BOOST_PP_WHILE_322, s BOOST_PP_TUPLE_EAT_3)(p, o, o(322, s)) +# define BOOST_PP_WHILE_322_I(p, o, s) BOOST_PP_IF(p(323, s), BOOST_PP_WHILE_323, s BOOST_PP_TUPLE_EAT_3)(p, o, o(323, s)) +# define BOOST_PP_WHILE_323_I(p, o, s) BOOST_PP_IF(p(324, s), BOOST_PP_WHILE_324, s BOOST_PP_TUPLE_EAT_3)(p, o, o(324, s)) +# define BOOST_PP_WHILE_324_I(p, o, s) BOOST_PP_IF(p(325, s), BOOST_PP_WHILE_325, s BOOST_PP_TUPLE_EAT_3)(p, o, o(325, s)) +# define BOOST_PP_WHILE_325_I(p, o, s) BOOST_PP_IF(p(326, s), BOOST_PP_WHILE_326, s BOOST_PP_TUPLE_EAT_3)(p, o, o(326, s)) +# define BOOST_PP_WHILE_326_I(p, o, s) BOOST_PP_IF(p(327, s), BOOST_PP_WHILE_327, s BOOST_PP_TUPLE_EAT_3)(p, o, o(327, s)) +# define BOOST_PP_WHILE_327_I(p, o, s) BOOST_PP_IF(p(328, s), BOOST_PP_WHILE_328, s BOOST_PP_TUPLE_EAT_3)(p, o, o(328, s)) +# define BOOST_PP_WHILE_328_I(p, o, s) BOOST_PP_IF(p(329, s), BOOST_PP_WHILE_329, s BOOST_PP_TUPLE_EAT_3)(p, o, o(329, s)) +# define BOOST_PP_WHILE_329_I(p, o, s) BOOST_PP_IF(p(330, s), BOOST_PP_WHILE_330, s BOOST_PP_TUPLE_EAT_3)(p, o, o(330, s)) +# define BOOST_PP_WHILE_330_I(p, o, s) BOOST_PP_IF(p(331, s), BOOST_PP_WHILE_331, s BOOST_PP_TUPLE_EAT_3)(p, o, o(331, s)) +# define BOOST_PP_WHILE_331_I(p, o, s) BOOST_PP_IF(p(332, s), BOOST_PP_WHILE_332, s BOOST_PP_TUPLE_EAT_3)(p, o, o(332, s)) +# define BOOST_PP_WHILE_332_I(p, o, s) BOOST_PP_IF(p(333, s), BOOST_PP_WHILE_333, s BOOST_PP_TUPLE_EAT_3)(p, o, o(333, s)) +# define BOOST_PP_WHILE_333_I(p, o, s) BOOST_PP_IF(p(334, s), BOOST_PP_WHILE_334, s BOOST_PP_TUPLE_EAT_3)(p, o, o(334, s)) +# define BOOST_PP_WHILE_334_I(p, o, s) BOOST_PP_IF(p(335, s), BOOST_PP_WHILE_335, s BOOST_PP_TUPLE_EAT_3)(p, o, o(335, s)) +# define BOOST_PP_WHILE_335_I(p, o, s) BOOST_PP_IF(p(336, s), BOOST_PP_WHILE_336, s BOOST_PP_TUPLE_EAT_3)(p, o, o(336, s)) +# define BOOST_PP_WHILE_336_I(p, o, s) BOOST_PP_IF(p(337, s), BOOST_PP_WHILE_337, s BOOST_PP_TUPLE_EAT_3)(p, o, o(337, s)) +# define BOOST_PP_WHILE_337_I(p, o, s) BOOST_PP_IF(p(338, s), BOOST_PP_WHILE_338, s BOOST_PP_TUPLE_EAT_3)(p, o, o(338, s)) +# define BOOST_PP_WHILE_338_I(p, o, s) BOOST_PP_IF(p(339, s), BOOST_PP_WHILE_339, s BOOST_PP_TUPLE_EAT_3)(p, o, o(339, s)) +# define BOOST_PP_WHILE_339_I(p, o, s) BOOST_PP_IF(p(340, s), BOOST_PP_WHILE_340, s BOOST_PP_TUPLE_EAT_3)(p, o, o(340, s)) +# define BOOST_PP_WHILE_340_I(p, o, s) BOOST_PP_IF(p(341, s), BOOST_PP_WHILE_341, s BOOST_PP_TUPLE_EAT_3)(p, o, o(341, s)) +# define BOOST_PP_WHILE_341_I(p, o, s) BOOST_PP_IF(p(342, s), BOOST_PP_WHILE_342, s BOOST_PP_TUPLE_EAT_3)(p, o, o(342, s)) +# define BOOST_PP_WHILE_342_I(p, o, s) BOOST_PP_IF(p(343, s), BOOST_PP_WHILE_343, s BOOST_PP_TUPLE_EAT_3)(p, o, o(343, s)) +# define BOOST_PP_WHILE_343_I(p, o, s) BOOST_PP_IF(p(344, s), BOOST_PP_WHILE_344, s BOOST_PP_TUPLE_EAT_3)(p, o, o(344, s)) +# define BOOST_PP_WHILE_344_I(p, o, s) BOOST_PP_IF(p(345, s), BOOST_PP_WHILE_345, s BOOST_PP_TUPLE_EAT_3)(p, o, o(345, s)) +# define BOOST_PP_WHILE_345_I(p, o, s) BOOST_PP_IF(p(346, s), BOOST_PP_WHILE_346, s BOOST_PP_TUPLE_EAT_3)(p, o, o(346, s)) +# define BOOST_PP_WHILE_346_I(p, o, s) BOOST_PP_IF(p(347, s), BOOST_PP_WHILE_347, s BOOST_PP_TUPLE_EAT_3)(p, o, o(347, s)) +# define BOOST_PP_WHILE_347_I(p, o, s) BOOST_PP_IF(p(348, s), BOOST_PP_WHILE_348, s BOOST_PP_TUPLE_EAT_3)(p, o, o(348, s)) +# define BOOST_PP_WHILE_348_I(p, o, s) BOOST_PP_IF(p(349, s), BOOST_PP_WHILE_349, s BOOST_PP_TUPLE_EAT_3)(p, o, o(349, s)) +# define BOOST_PP_WHILE_349_I(p, o, s) BOOST_PP_IF(p(350, s), BOOST_PP_WHILE_350, s BOOST_PP_TUPLE_EAT_3)(p, o, o(350, s)) +# define BOOST_PP_WHILE_350_I(p, o, s) BOOST_PP_IF(p(351, s), BOOST_PP_WHILE_351, s BOOST_PP_TUPLE_EAT_3)(p, o, o(351, s)) +# define BOOST_PP_WHILE_351_I(p, o, s) BOOST_PP_IF(p(352, s), BOOST_PP_WHILE_352, s BOOST_PP_TUPLE_EAT_3)(p, o, o(352, s)) +# define BOOST_PP_WHILE_352_I(p, o, s) BOOST_PP_IF(p(353, s), BOOST_PP_WHILE_353, s BOOST_PP_TUPLE_EAT_3)(p, o, o(353, s)) +# define BOOST_PP_WHILE_353_I(p, o, s) BOOST_PP_IF(p(354, s), BOOST_PP_WHILE_354, s BOOST_PP_TUPLE_EAT_3)(p, o, o(354, s)) +# define BOOST_PP_WHILE_354_I(p, o, s) BOOST_PP_IF(p(355, s), BOOST_PP_WHILE_355, s BOOST_PP_TUPLE_EAT_3)(p, o, o(355, s)) +# define BOOST_PP_WHILE_355_I(p, o, s) BOOST_PP_IF(p(356, s), BOOST_PP_WHILE_356, s BOOST_PP_TUPLE_EAT_3)(p, o, o(356, s)) +# define BOOST_PP_WHILE_356_I(p, o, s) BOOST_PP_IF(p(357, s), BOOST_PP_WHILE_357, s BOOST_PP_TUPLE_EAT_3)(p, o, o(357, s)) +# define BOOST_PP_WHILE_357_I(p, o, s) BOOST_PP_IF(p(358, s), BOOST_PP_WHILE_358, s BOOST_PP_TUPLE_EAT_3)(p, o, o(358, s)) +# define BOOST_PP_WHILE_358_I(p, o, s) BOOST_PP_IF(p(359, s), BOOST_PP_WHILE_359, s BOOST_PP_TUPLE_EAT_3)(p, o, o(359, s)) +# define BOOST_PP_WHILE_359_I(p, o, s) BOOST_PP_IF(p(360, s), BOOST_PP_WHILE_360, s BOOST_PP_TUPLE_EAT_3)(p, o, o(360, s)) +# define BOOST_PP_WHILE_360_I(p, o, s) BOOST_PP_IF(p(361, s), BOOST_PP_WHILE_361, s BOOST_PP_TUPLE_EAT_3)(p, o, o(361, s)) +# define BOOST_PP_WHILE_361_I(p, o, s) BOOST_PP_IF(p(362, s), BOOST_PP_WHILE_362, s BOOST_PP_TUPLE_EAT_3)(p, o, o(362, s)) +# define BOOST_PP_WHILE_362_I(p, o, s) BOOST_PP_IF(p(363, s), BOOST_PP_WHILE_363, s BOOST_PP_TUPLE_EAT_3)(p, o, o(363, s)) +# define BOOST_PP_WHILE_363_I(p, o, s) BOOST_PP_IF(p(364, s), BOOST_PP_WHILE_364, s BOOST_PP_TUPLE_EAT_3)(p, o, o(364, s)) +# define BOOST_PP_WHILE_364_I(p, o, s) BOOST_PP_IF(p(365, s), BOOST_PP_WHILE_365, s BOOST_PP_TUPLE_EAT_3)(p, o, o(365, s)) +# define BOOST_PP_WHILE_365_I(p, o, s) BOOST_PP_IF(p(366, s), BOOST_PP_WHILE_366, s BOOST_PP_TUPLE_EAT_3)(p, o, o(366, s)) +# define BOOST_PP_WHILE_366_I(p, o, s) BOOST_PP_IF(p(367, s), BOOST_PP_WHILE_367, s BOOST_PP_TUPLE_EAT_3)(p, o, o(367, s)) +# define BOOST_PP_WHILE_367_I(p, o, s) BOOST_PP_IF(p(368, s), BOOST_PP_WHILE_368, s BOOST_PP_TUPLE_EAT_3)(p, o, o(368, s)) +# define BOOST_PP_WHILE_368_I(p, o, s) BOOST_PP_IF(p(369, s), BOOST_PP_WHILE_369, s BOOST_PP_TUPLE_EAT_3)(p, o, o(369, s)) +# define BOOST_PP_WHILE_369_I(p, o, s) BOOST_PP_IF(p(370, s), BOOST_PP_WHILE_370, s BOOST_PP_TUPLE_EAT_3)(p, o, o(370, s)) +# define BOOST_PP_WHILE_370_I(p, o, s) BOOST_PP_IF(p(371, s), BOOST_PP_WHILE_371, s BOOST_PP_TUPLE_EAT_3)(p, o, o(371, s)) +# define BOOST_PP_WHILE_371_I(p, o, s) BOOST_PP_IF(p(372, s), BOOST_PP_WHILE_372, s BOOST_PP_TUPLE_EAT_3)(p, o, o(372, s)) +# define BOOST_PP_WHILE_372_I(p, o, s) BOOST_PP_IF(p(373, s), BOOST_PP_WHILE_373, s BOOST_PP_TUPLE_EAT_3)(p, o, o(373, s)) +# define BOOST_PP_WHILE_373_I(p, o, s) BOOST_PP_IF(p(374, s), BOOST_PP_WHILE_374, s BOOST_PP_TUPLE_EAT_3)(p, o, o(374, s)) +# define BOOST_PP_WHILE_374_I(p, o, s) BOOST_PP_IF(p(375, s), BOOST_PP_WHILE_375, s BOOST_PP_TUPLE_EAT_3)(p, o, o(375, s)) +# define BOOST_PP_WHILE_375_I(p, o, s) BOOST_PP_IF(p(376, s), BOOST_PP_WHILE_376, s BOOST_PP_TUPLE_EAT_3)(p, o, o(376, s)) +# define BOOST_PP_WHILE_376_I(p, o, s) BOOST_PP_IF(p(377, s), BOOST_PP_WHILE_377, s BOOST_PP_TUPLE_EAT_3)(p, o, o(377, s)) +# define BOOST_PP_WHILE_377_I(p, o, s) BOOST_PP_IF(p(378, s), BOOST_PP_WHILE_378, s BOOST_PP_TUPLE_EAT_3)(p, o, o(378, s)) +# define BOOST_PP_WHILE_378_I(p, o, s) BOOST_PP_IF(p(379, s), BOOST_PP_WHILE_379, s BOOST_PP_TUPLE_EAT_3)(p, o, o(379, s)) +# define BOOST_PP_WHILE_379_I(p, o, s) BOOST_PP_IF(p(380, s), BOOST_PP_WHILE_380, s BOOST_PP_TUPLE_EAT_3)(p, o, o(380, s)) +# define BOOST_PP_WHILE_380_I(p, o, s) BOOST_PP_IF(p(381, s), BOOST_PP_WHILE_381, s BOOST_PP_TUPLE_EAT_3)(p, o, o(381, s)) +# define BOOST_PP_WHILE_381_I(p, o, s) BOOST_PP_IF(p(382, s), BOOST_PP_WHILE_382, s BOOST_PP_TUPLE_EAT_3)(p, o, o(382, s)) +# define BOOST_PP_WHILE_382_I(p, o, s) BOOST_PP_IF(p(383, s), BOOST_PP_WHILE_383, s BOOST_PP_TUPLE_EAT_3)(p, o, o(383, s)) +# define BOOST_PP_WHILE_383_I(p, o, s) BOOST_PP_IF(p(384, s), BOOST_PP_WHILE_384, s BOOST_PP_TUPLE_EAT_3)(p, o, o(384, s)) +# define BOOST_PP_WHILE_384_I(p, o, s) BOOST_PP_IF(p(385, s), BOOST_PP_WHILE_385, s BOOST_PP_TUPLE_EAT_3)(p, o, o(385, s)) +# define BOOST_PP_WHILE_385_I(p, o, s) BOOST_PP_IF(p(386, s), BOOST_PP_WHILE_386, s BOOST_PP_TUPLE_EAT_3)(p, o, o(386, s)) +# define BOOST_PP_WHILE_386_I(p, o, s) BOOST_PP_IF(p(387, s), BOOST_PP_WHILE_387, s BOOST_PP_TUPLE_EAT_3)(p, o, o(387, s)) +# define BOOST_PP_WHILE_387_I(p, o, s) BOOST_PP_IF(p(388, s), BOOST_PP_WHILE_388, s BOOST_PP_TUPLE_EAT_3)(p, o, o(388, s)) +# define BOOST_PP_WHILE_388_I(p, o, s) BOOST_PP_IF(p(389, s), BOOST_PP_WHILE_389, s BOOST_PP_TUPLE_EAT_3)(p, o, o(389, s)) +# define BOOST_PP_WHILE_389_I(p, o, s) BOOST_PP_IF(p(390, s), BOOST_PP_WHILE_390, s BOOST_PP_TUPLE_EAT_3)(p, o, o(390, s)) +# define BOOST_PP_WHILE_390_I(p, o, s) BOOST_PP_IF(p(391, s), BOOST_PP_WHILE_391, s BOOST_PP_TUPLE_EAT_3)(p, o, o(391, s)) +# define BOOST_PP_WHILE_391_I(p, o, s) BOOST_PP_IF(p(392, s), BOOST_PP_WHILE_392, s BOOST_PP_TUPLE_EAT_3)(p, o, o(392, s)) +# define BOOST_PP_WHILE_392_I(p, o, s) BOOST_PP_IF(p(393, s), BOOST_PP_WHILE_393, s BOOST_PP_TUPLE_EAT_3)(p, o, o(393, s)) +# define BOOST_PP_WHILE_393_I(p, o, s) BOOST_PP_IF(p(394, s), BOOST_PP_WHILE_394, s BOOST_PP_TUPLE_EAT_3)(p, o, o(394, s)) +# define BOOST_PP_WHILE_394_I(p, o, s) BOOST_PP_IF(p(395, s), BOOST_PP_WHILE_395, s BOOST_PP_TUPLE_EAT_3)(p, o, o(395, s)) +# define BOOST_PP_WHILE_395_I(p, o, s) BOOST_PP_IF(p(396, s), BOOST_PP_WHILE_396, s BOOST_PP_TUPLE_EAT_3)(p, o, o(396, s)) +# define BOOST_PP_WHILE_396_I(p, o, s) BOOST_PP_IF(p(397, s), BOOST_PP_WHILE_397, s BOOST_PP_TUPLE_EAT_3)(p, o, o(397, s)) +# define BOOST_PP_WHILE_397_I(p, o, s) BOOST_PP_IF(p(398, s), BOOST_PP_WHILE_398, s BOOST_PP_TUPLE_EAT_3)(p, o, o(398, s)) +# define BOOST_PP_WHILE_398_I(p, o, s) BOOST_PP_IF(p(399, s), BOOST_PP_WHILE_399, s BOOST_PP_TUPLE_EAT_3)(p, o, o(399, s)) +# define BOOST_PP_WHILE_399_I(p, o, s) BOOST_PP_IF(p(400, s), BOOST_PP_WHILE_400, s BOOST_PP_TUPLE_EAT_3)(p, o, o(400, s)) +# define BOOST_PP_WHILE_400_I(p, o, s) BOOST_PP_IF(p(401, s), BOOST_PP_WHILE_401, s BOOST_PP_TUPLE_EAT_3)(p, o, o(401, s)) +# define BOOST_PP_WHILE_401_I(p, o, s) BOOST_PP_IF(p(402, s), BOOST_PP_WHILE_402, s BOOST_PP_TUPLE_EAT_3)(p, o, o(402, s)) +# define BOOST_PP_WHILE_402_I(p, o, s) BOOST_PP_IF(p(403, s), BOOST_PP_WHILE_403, s BOOST_PP_TUPLE_EAT_3)(p, o, o(403, s)) +# define BOOST_PP_WHILE_403_I(p, o, s) BOOST_PP_IF(p(404, s), BOOST_PP_WHILE_404, s BOOST_PP_TUPLE_EAT_3)(p, o, o(404, s)) +# define BOOST_PP_WHILE_404_I(p, o, s) BOOST_PP_IF(p(405, s), BOOST_PP_WHILE_405, s BOOST_PP_TUPLE_EAT_3)(p, o, o(405, s)) +# define BOOST_PP_WHILE_405_I(p, o, s) BOOST_PP_IF(p(406, s), BOOST_PP_WHILE_406, s BOOST_PP_TUPLE_EAT_3)(p, o, o(406, s)) +# define BOOST_PP_WHILE_406_I(p, o, s) BOOST_PP_IF(p(407, s), BOOST_PP_WHILE_407, s BOOST_PP_TUPLE_EAT_3)(p, o, o(407, s)) +# define BOOST_PP_WHILE_407_I(p, o, s) BOOST_PP_IF(p(408, s), BOOST_PP_WHILE_408, s BOOST_PP_TUPLE_EAT_3)(p, o, o(408, s)) +# define BOOST_PP_WHILE_408_I(p, o, s) BOOST_PP_IF(p(409, s), BOOST_PP_WHILE_409, s BOOST_PP_TUPLE_EAT_3)(p, o, o(409, s)) +# define BOOST_PP_WHILE_409_I(p, o, s) BOOST_PP_IF(p(410, s), BOOST_PP_WHILE_410, s BOOST_PP_TUPLE_EAT_3)(p, o, o(410, s)) +# define BOOST_PP_WHILE_410_I(p, o, s) BOOST_PP_IF(p(411, s), BOOST_PP_WHILE_411, s BOOST_PP_TUPLE_EAT_3)(p, o, o(411, s)) +# define BOOST_PP_WHILE_411_I(p, o, s) BOOST_PP_IF(p(412, s), BOOST_PP_WHILE_412, s BOOST_PP_TUPLE_EAT_3)(p, o, o(412, s)) +# define BOOST_PP_WHILE_412_I(p, o, s) BOOST_PP_IF(p(413, s), BOOST_PP_WHILE_413, s BOOST_PP_TUPLE_EAT_3)(p, o, o(413, s)) +# define BOOST_PP_WHILE_413_I(p, o, s) BOOST_PP_IF(p(414, s), BOOST_PP_WHILE_414, s BOOST_PP_TUPLE_EAT_3)(p, o, o(414, s)) +# define BOOST_PP_WHILE_414_I(p, o, s) BOOST_PP_IF(p(415, s), BOOST_PP_WHILE_415, s BOOST_PP_TUPLE_EAT_3)(p, o, o(415, s)) +# define BOOST_PP_WHILE_415_I(p, o, s) BOOST_PP_IF(p(416, s), BOOST_PP_WHILE_416, s BOOST_PP_TUPLE_EAT_3)(p, o, o(416, s)) +# define BOOST_PP_WHILE_416_I(p, o, s) BOOST_PP_IF(p(417, s), BOOST_PP_WHILE_417, s BOOST_PP_TUPLE_EAT_3)(p, o, o(417, s)) +# define BOOST_PP_WHILE_417_I(p, o, s) BOOST_PP_IF(p(418, s), BOOST_PP_WHILE_418, s BOOST_PP_TUPLE_EAT_3)(p, o, o(418, s)) +# define BOOST_PP_WHILE_418_I(p, o, s) BOOST_PP_IF(p(419, s), BOOST_PP_WHILE_419, s BOOST_PP_TUPLE_EAT_3)(p, o, o(419, s)) +# define BOOST_PP_WHILE_419_I(p, o, s) BOOST_PP_IF(p(420, s), BOOST_PP_WHILE_420, s BOOST_PP_TUPLE_EAT_3)(p, o, o(420, s)) +# define BOOST_PP_WHILE_420_I(p, o, s) BOOST_PP_IF(p(421, s), BOOST_PP_WHILE_421, s BOOST_PP_TUPLE_EAT_3)(p, o, o(421, s)) +# define BOOST_PP_WHILE_421_I(p, o, s) BOOST_PP_IF(p(422, s), BOOST_PP_WHILE_422, s BOOST_PP_TUPLE_EAT_3)(p, o, o(422, s)) +# define BOOST_PP_WHILE_422_I(p, o, s) BOOST_PP_IF(p(423, s), BOOST_PP_WHILE_423, s BOOST_PP_TUPLE_EAT_3)(p, o, o(423, s)) +# define BOOST_PP_WHILE_423_I(p, o, s) BOOST_PP_IF(p(424, s), BOOST_PP_WHILE_424, s BOOST_PP_TUPLE_EAT_3)(p, o, o(424, s)) +# define BOOST_PP_WHILE_424_I(p, o, s) BOOST_PP_IF(p(425, s), BOOST_PP_WHILE_425, s BOOST_PP_TUPLE_EAT_3)(p, o, o(425, s)) +# define BOOST_PP_WHILE_425_I(p, o, s) BOOST_PP_IF(p(426, s), BOOST_PP_WHILE_426, s BOOST_PP_TUPLE_EAT_3)(p, o, o(426, s)) +# define BOOST_PP_WHILE_426_I(p, o, s) BOOST_PP_IF(p(427, s), BOOST_PP_WHILE_427, s BOOST_PP_TUPLE_EAT_3)(p, o, o(427, s)) +# define BOOST_PP_WHILE_427_I(p, o, s) BOOST_PP_IF(p(428, s), BOOST_PP_WHILE_428, s BOOST_PP_TUPLE_EAT_3)(p, o, o(428, s)) +# define BOOST_PP_WHILE_428_I(p, o, s) BOOST_PP_IF(p(429, s), BOOST_PP_WHILE_429, s BOOST_PP_TUPLE_EAT_3)(p, o, o(429, s)) +# define BOOST_PP_WHILE_429_I(p, o, s) BOOST_PP_IF(p(430, s), BOOST_PP_WHILE_430, s BOOST_PP_TUPLE_EAT_3)(p, o, o(430, s)) +# define BOOST_PP_WHILE_430_I(p, o, s) BOOST_PP_IF(p(431, s), BOOST_PP_WHILE_431, s BOOST_PP_TUPLE_EAT_3)(p, o, o(431, s)) +# define BOOST_PP_WHILE_431_I(p, o, s) BOOST_PP_IF(p(432, s), BOOST_PP_WHILE_432, s BOOST_PP_TUPLE_EAT_3)(p, o, o(432, s)) +# define BOOST_PP_WHILE_432_I(p, o, s) BOOST_PP_IF(p(433, s), BOOST_PP_WHILE_433, s BOOST_PP_TUPLE_EAT_3)(p, o, o(433, s)) +# define BOOST_PP_WHILE_433_I(p, o, s) BOOST_PP_IF(p(434, s), BOOST_PP_WHILE_434, s BOOST_PP_TUPLE_EAT_3)(p, o, o(434, s)) +# define BOOST_PP_WHILE_434_I(p, o, s) BOOST_PP_IF(p(435, s), BOOST_PP_WHILE_435, s BOOST_PP_TUPLE_EAT_3)(p, o, o(435, s)) +# define BOOST_PP_WHILE_435_I(p, o, s) BOOST_PP_IF(p(436, s), BOOST_PP_WHILE_436, s BOOST_PP_TUPLE_EAT_3)(p, o, o(436, s)) +# define BOOST_PP_WHILE_436_I(p, o, s) BOOST_PP_IF(p(437, s), BOOST_PP_WHILE_437, s BOOST_PP_TUPLE_EAT_3)(p, o, o(437, s)) +# define BOOST_PP_WHILE_437_I(p, o, s) BOOST_PP_IF(p(438, s), BOOST_PP_WHILE_438, s BOOST_PP_TUPLE_EAT_3)(p, o, o(438, s)) +# define BOOST_PP_WHILE_438_I(p, o, s) BOOST_PP_IF(p(439, s), BOOST_PP_WHILE_439, s BOOST_PP_TUPLE_EAT_3)(p, o, o(439, s)) +# define BOOST_PP_WHILE_439_I(p, o, s) BOOST_PP_IF(p(440, s), BOOST_PP_WHILE_440, s BOOST_PP_TUPLE_EAT_3)(p, o, o(440, s)) +# define BOOST_PP_WHILE_440_I(p, o, s) BOOST_PP_IF(p(441, s), BOOST_PP_WHILE_441, s BOOST_PP_TUPLE_EAT_3)(p, o, o(441, s)) +# define BOOST_PP_WHILE_441_I(p, o, s) BOOST_PP_IF(p(442, s), BOOST_PP_WHILE_442, s BOOST_PP_TUPLE_EAT_3)(p, o, o(442, s)) +# define BOOST_PP_WHILE_442_I(p, o, s) BOOST_PP_IF(p(443, s), BOOST_PP_WHILE_443, s BOOST_PP_TUPLE_EAT_3)(p, o, o(443, s)) +# define BOOST_PP_WHILE_443_I(p, o, s) BOOST_PP_IF(p(444, s), BOOST_PP_WHILE_444, s BOOST_PP_TUPLE_EAT_3)(p, o, o(444, s)) +# define BOOST_PP_WHILE_444_I(p, o, s) BOOST_PP_IF(p(445, s), BOOST_PP_WHILE_445, s BOOST_PP_TUPLE_EAT_3)(p, o, o(445, s)) +# define BOOST_PP_WHILE_445_I(p, o, s) BOOST_PP_IF(p(446, s), BOOST_PP_WHILE_446, s BOOST_PP_TUPLE_EAT_3)(p, o, o(446, s)) +# define BOOST_PP_WHILE_446_I(p, o, s) BOOST_PP_IF(p(447, s), BOOST_PP_WHILE_447, s BOOST_PP_TUPLE_EAT_3)(p, o, o(447, s)) +# define BOOST_PP_WHILE_447_I(p, o, s) BOOST_PP_IF(p(448, s), BOOST_PP_WHILE_448, s BOOST_PP_TUPLE_EAT_3)(p, o, o(448, s)) +# define BOOST_PP_WHILE_448_I(p, o, s) BOOST_PP_IF(p(449, s), BOOST_PP_WHILE_449, s BOOST_PP_TUPLE_EAT_3)(p, o, o(449, s)) +# define BOOST_PP_WHILE_449_I(p, o, s) BOOST_PP_IF(p(450, s), BOOST_PP_WHILE_450, s BOOST_PP_TUPLE_EAT_3)(p, o, o(450, s)) +# define BOOST_PP_WHILE_450_I(p, o, s) BOOST_PP_IF(p(451, s), BOOST_PP_WHILE_451, s BOOST_PP_TUPLE_EAT_3)(p, o, o(451, s)) +# define BOOST_PP_WHILE_451_I(p, o, s) BOOST_PP_IF(p(452, s), BOOST_PP_WHILE_452, s BOOST_PP_TUPLE_EAT_3)(p, o, o(452, s)) +# define BOOST_PP_WHILE_452_I(p, o, s) BOOST_PP_IF(p(453, s), BOOST_PP_WHILE_453, s BOOST_PP_TUPLE_EAT_3)(p, o, o(453, s)) +# define BOOST_PP_WHILE_453_I(p, o, s) BOOST_PP_IF(p(454, s), BOOST_PP_WHILE_454, s BOOST_PP_TUPLE_EAT_3)(p, o, o(454, s)) +# define BOOST_PP_WHILE_454_I(p, o, s) BOOST_PP_IF(p(455, s), BOOST_PP_WHILE_455, s BOOST_PP_TUPLE_EAT_3)(p, o, o(455, s)) +# define BOOST_PP_WHILE_455_I(p, o, s) BOOST_PP_IF(p(456, s), BOOST_PP_WHILE_456, s BOOST_PP_TUPLE_EAT_3)(p, o, o(456, s)) +# define BOOST_PP_WHILE_456_I(p, o, s) BOOST_PP_IF(p(457, s), BOOST_PP_WHILE_457, s BOOST_PP_TUPLE_EAT_3)(p, o, o(457, s)) +# define BOOST_PP_WHILE_457_I(p, o, s) BOOST_PP_IF(p(458, s), BOOST_PP_WHILE_458, s BOOST_PP_TUPLE_EAT_3)(p, o, o(458, s)) +# define BOOST_PP_WHILE_458_I(p, o, s) BOOST_PP_IF(p(459, s), BOOST_PP_WHILE_459, s BOOST_PP_TUPLE_EAT_3)(p, o, o(459, s)) +# define BOOST_PP_WHILE_459_I(p, o, s) BOOST_PP_IF(p(460, s), BOOST_PP_WHILE_460, s BOOST_PP_TUPLE_EAT_3)(p, o, o(460, s)) +# define BOOST_PP_WHILE_460_I(p, o, s) BOOST_PP_IF(p(461, s), BOOST_PP_WHILE_461, s BOOST_PP_TUPLE_EAT_3)(p, o, o(461, s)) +# define BOOST_PP_WHILE_461_I(p, o, s) BOOST_PP_IF(p(462, s), BOOST_PP_WHILE_462, s BOOST_PP_TUPLE_EAT_3)(p, o, o(462, s)) +# define BOOST_PP_WHILE_462_I(p, o, s) BOOST_PP_IF(p(463, s), BOOST_PP_WHILE_463, s BOOST_PP_TUPLE_EAT_3)(p, o, o(463, s)) +# define BOOST_PP_WHILE_463_I(p, o, s) BOOST_PP_IF(p(464, s), BOOST_PP_WHILE_464, s BOOST_PP_TUPLE_EAT_3)(p, o, o(464, s)) +# define BOOST_PP_WHILE_464_I(p, o, s) BOOST_PP_IF(p(465, s), BOOST_PP_WHILE_465, s BOOST_PP_TUPLE_EAT_3)(p, o, o(465, s)) +# define BOOST_PP_WHILE_465_I(p, o, s) BOOST_PP_IF(p(466, s), BOOST_PP_WHILE_466, s BOOST_PP_TUPLE_EAT_3)(p, o, o(466, s)) +# define BOOST_PP_WHILE_466_I(p, o, s) BOOST_PP_IF(p(467, s), BOOST_PP_WHILE_467, s BOOST_PP_TUPLE_EAT_3)(p, o, o(467, s)) +# define BOOST_PP_WHILE_467_I(p, o, s) BOOST_PP_IF(p(468, s), BOOST_PP_WHILE_468, s BOOST_PP_TUPLE_EAT_3)(p, o, o(468, s)) +# define BOOST_PP_WHILE_468_I(p, o, s) BOOST_PP_IF(p(469, s), BOOST_PP_WHILE_469, s BOOST_PP_TUPLE_EAT_3)(p, o, o(469, s)) +# define BOOST_PP_WHILE_469_I(p, o, s) BOOST_PP_IF(p(470, s), BOOST_PP_WHILE_470, s BOOST_PP_TUPLE_EAT_3)(p, o, o(470, s)) +# define BOOST_PP_WHILE_470_I(p, o, s) BOOST_PP_IF(p(471, s), BOOST_PP_WHILE_471, s BOOST_PP_TUPLE_EAT_3)(p, o, o(471, s)) +# define BOOST_PP_WHILE_471_I(p, o, s) BOOST_PP_IF(p(472, s), BOOST_PP_WHILE_472, s BOOST_PP_TUPLE_EAT_3)(p, o, o(472, s)) +# define BOOST_PP_WHILE_472_I(p, o, s) BOOST_PP_IF(p(473, s), BOOST_PP_WHILE_473, s BOOST_PP_TUPLE_EAT_3)(p, o, o(473, s)) +# define BOOST_PP_WHILE_473_I(p, o, s) BOOST_PP_IF(p(474, s), BOOST_PP_WHILE_474, s BOOST_PP_TUPLE_EAT_3)(p, o, o(474, s)) +# define BOOST_PP_WHILE_474_I(p, o, s) BOOST_PP_IF(p(475, s), BOOST_PP_WHILE_475, s BOOST_PP_TUPLE_EAT_3)(p, o, o(475, s)) +# define BOOST_PP_WHILE_475_I(p, o, s) BOOST_PP_IF(p(476, s), BOOST_PP_WHILE_476, s BOOST_PP_TUPLE_EAT_3)(p, o, o(476, s)) +# define BOOST_PP_WHILE_476_I(p, o, s) BOOST_PP_IF(p(477, s), BOOST_PP_WHILE_477, s BOOST_PP_TUPLE_EAT_3)(p, o, o(477, s)) +# define BOOST_PP_WHILE_477_I(p, o, s) BOOST_PP_IF(p(478, s), BOOST_PP_WHILE_478, s BOOST_PP_TUPLE_EAT_3)(p, o, o(478, s)) +# define BOOST_PP_WHILE_478_I(p, o, s) BOOST_PP_IF(p(479, s), BOOST_PP_WHILE_479, s BOOST_PP_TUPLE_EAT_3)(p, o, o(479, s)) +# define BOOST_PP_WHILE_479_I(p, o, s) BOOST_PP_IF(p(480, s), BOOST_PP_WHILE_480, s BOOST_PP_TUPLE_EAT_3)(p, o, o(480, s)) +# define BOOST_PP_WHILE_480_I(p, o, s) BOOST_PP_IF(p(481, s), BOOST_PP_WHILE_481, s BOOST_PP_TUPLE_EAT_3)(p, o, o(481, s)) +# define BOOST_PP_WHILE_481_I(p, o, s) BOOST_PP_IF(p(482, s), BOOST_PP_WHILE_482, s BOOST_PP_TUPLE_EAT_3)(p, o, o(482, s)) +# define BOOST_PP_WHILE_482_I(p, o, s) BOOST_PP_IF(p(483, s), BOOST_PP_WHILE_483, s BOOST_PP_TUPLE_EAT_3)(p, o, o(483, s)) +# define BOOST_PP_WHILE_483_I(p, o, s) BOOST_PP_IF(p(484, s), BOOST_PP_WHILE_484, s BOOST_PP_TUPLE_EAT_3)(p, o, o(484, s)) +# define BOOST_PP_WHILE_484_I(p, o, s) BOOST_PP_IF(p(485, s), BOOST_PP_WHILE_485, s BOOST_PP_TUPLE_EAT_3)(p, o, o(485, s)) +# define BOOST_PP_WHILE_485_I(p, o, s) BOOST_PP_IF(p(486, s), BOOST_PP_WHILE_486, s BOOST_PP_TUPLE_EAT_3)(p, o, o(486, s)) +# define BOOST_PP_WHILE_486_I(p, o, s) BOOST_PP_IF(p(487, s), BOOST_PP_WHILE_487, s BOOST_PP_TUPLE_EAT_3)(p, o, o(487, s)) +# define BOOST_PP_WHILE_487_I(p, o, s) BOOST_PP_IF(p(488, s), BOOST_PP_WHILE_488, s BOOST_PP_TUPLE_EAT_3)(p, o, o(488, s)) +# define BOOST_PP_WHILE_488_I(p, o, s) BOOST_PP_IF(p(489, s), BOOST_PP_WHILE_489, s BOOST_PP_TUPLE_EAT_3)(p, o, o(489, s)) +# define BOOST_PP_WHILE_489_I(p, o, s) BOOST_PP_IF(p(490, s), BOOST_PP_WHILE_490, s BOOST_PP_TUPLE_EAT_3)(p, o, o(490, s)) +# define BOOST_PP_WHILE_490_I(p, o, s) BOOST_PP_IF(p(491, s), BOOST_PP_WHILE_491, s BOOST_PP_TUPLE_EAT_3)(p, o, o(491, s)) +# define BOOST_PP_WHILE_491_I(p, o, s) BOOST_PP_IF(p(492, s), BOOST_PP_WHILE_492, s BOOST_PP_TUPLE_EAT_3)(p, o, o(492, s)) +# define BOOST_PP_WHILE_492_I(p, o, s) BOOST_PP_IF(p(493, s), BOOST_PP_WHILE_493, s BOOST_PP_TUPLE_EAT_3)(p, o, o(493, s)) +# define BOOST_PP_WHILE_493_I(p, o, s) BOOST_PP_IF(p(494, s), BOOST_PP_WHILE_494, s BOOST_PP_TUPLE_EAT_3)(p, o, o(494, s)) +# define BOOST_PP_WHILE_494_I(p, o, s) BOOST_PP_IF(p(495, s), BOOST_PP_WHILE_495, s BOOST_PP_TUPLE_EAT_3)(p, o, o(495, s)) +# define BOOST_PP_WHILE_495_I(p, o, s) BOOST_PP_IF(p(496, s), BOOST_PP_WHILE_496, s BOOST_PP_TUPLE_EAT_3)(p, o, o(496, s)) +# define BOOST_PP_WHILE_496_I(p, o, s) BOOST_PP_IF(p(497, s), BOOST_PP_WHILE_497, s BOOST_PP_TUPLE_EAT_3)(p, o, o(497, s)) +# define BOOST_PP_WHILE_497_I(p, o, s) BOOST_PP_IF(p(498, s), BOOST_PP_WHILE_498, s BOOST_PP_TUPLE_EAT_3)(p, o, o(498, s)) +# define BOOST_PP_WHILE_498_I(p, o, s) BOOST_PP_IF(p(499, s), BOOST_PP_WHILE_499, s BOOST_PP_TUPLE_EAT_3)(p, o, o(499, s)) +# define BOOST_PP_WHILE_499_I(p, o, s) BOOST_PP_IF(p(500, s), BOOST_PP_WHILE_500, s BOOST_PP_TUPLE_EAT_3)(p, o, o(500, s)) +# define BOOST_PP_WHILE_500_I(p, o, s) BOOST_PP_IF(p(501, s), BOOST_PP_WHILE_501, s BOOST_PP_TUPLE_EAT_3)(p, o, o(501, s)) +# define BOOST_PP_WHILE_501_I(p, o, s) BOOST_PP_IF(p(502, s), BOOST_PP_WHILE_502, s BOOST_PP_TUPLE_EAT_3)(p, o, o(502, s)) +# define BOOST_PP_WHILE_502_I(p, o, s) BOOST_PP_IF(p(503, s), BOOST_PP_WHILE_503, s BOOST_PP_TUPLE_EAT_3)(p, o, o(503, s)) +# define BOOST_PP_WHILE_503_I(p, o, s) BOOST_PP_IF(p(504, s), BOOST_PP_WHILE_504, s BOOST_PP_TUPLE_EAT_3)(p, o, o(504, s)) +# define BOOST_PP_WHILE_504_I(p, o, s) BOOST_PP_IF(p(505, s), BOOST_PP_WHILE_505, s BOOST_PP_TUPLE_EAT_3)(p, o, o(505, s)) +# define BOOST_PP_WHILE_505_I(p, o, s) BOOST_PP_IF(p(506, s), BOOST_PP_WHILE_506, s BOOST_PP_TUPLE_EAT_3)(p, o, o(506, s)) +# define BOOST_PP_WHILE_506_I(p, o, s) BOOST_PP_IF(p(507, s), BOOST_PP_WHILE_507, s BOOST_PP_TUPLE_EAT_3)(p, o, o(507, s)) +# define BOOST_PP_WHILE_507_I(p, o, s) BOOST_PP_IF(p(508, s), BOOST_PP_WHILE_508, s BOOST_PP_TUPLE_EAT_3)(p, o, o(508, s)) +# define BOOST_PP_WHILE_508_I(p, o, s) BOOST_PP_IF(p(509, s), BOOST_PP_WHILE_509, s BOOST_PP_TUPLE_EAT_3)(p, o, o(509, s)) +# define BOOST_PP_WHILE_509_I(p, o, s) BOOST_PP_IF(p(510, s), BOOST_PP_WHILE_510, s BOOST_PP_TUPLE_EAT_3)(p, o, o(510, s)) +# define BOOST_PP_WHILE_510_I(p, o, s) BOOST_PP_IF(p(511, s), BOOST_PP_WHILE_511, s BOOST_PP_TUPLE_EAT_3)(p, o, o(511, s)) +# define BOOST_PP_WHILE_511_I(p, o, s) BOOST_PP_IF(p(512, s), BOOST_PP_WHILE_512, s BOOST_PP_TUPLE_EAT_3)(p, o, o(512, s)) +# define BOOST_PP_WHILE_512_I(p, o, s) BOOST_PP_IF(p(513, s), BOOST_PP_WHILE_513, s BOOST_PP_TUPLE_EAT_3)(p, o, o(513, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/while.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/while.hpp new file mode 100644 index 0000000000..3cd6844ff2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/edg/while.hpp @@ -0,0 +1,561 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s) +# +# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) +# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) +# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) +# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) +# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) +# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) +# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) +# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) +# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) +# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) +# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) +# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) +# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) +# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) +# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) +# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) +# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) +# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) +# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) +# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) +# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) +# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) +# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) +# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) +# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) +# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) +# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) +# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) +# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) +# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) +# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) +# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) +# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) +# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) +# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) +# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) +# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) +# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) +# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) +# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) +# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) +# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) +# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) +# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) +# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) +# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) +# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) +# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) +# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) +# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) +# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) +# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) +# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) +# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) +# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) +# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) +# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) +# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) +# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) +# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) +# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) +# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) +# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) +# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) +# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) +# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) +# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) +# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) +# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) +# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) +# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) +# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) +# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) +# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) +# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) +# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) +# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) +# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) +# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) +# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) +# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) +# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) +# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) +# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) +# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) +# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) +# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) +# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) +# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) +# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) +# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) +# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) +# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) +# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) +# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) +# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) +# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) +# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) +# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) +# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) +# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) +# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) +# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) +# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) +# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) +# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) +# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) +# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) +# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) +# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) +# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) +# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) +# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) +# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) +# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) +# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) +# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) +# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) +# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) +# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) +# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) +# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) +# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) +# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) +# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) +# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) +# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) +# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) +# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) +# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) +# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) +# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) +# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) +# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) +# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) +# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) +# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) +# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) +# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) +# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) +# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) +# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) +# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) +# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) +# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) +# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) +# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) +# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) +# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) +# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) +# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) +# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) +# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) +# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) +# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) +# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) +# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) +# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) +# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) +# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) +# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) +# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) +# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) +# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) +# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) +# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) +# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) +# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) +# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) +# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) +# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) +# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) +# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) +# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) +# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) +# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) +# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) +# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) +# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) +# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) +# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) +# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) +# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) +# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) +# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) +# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) +# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) +# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) +# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) +# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) +# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) +# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) +# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) +# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) +# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) +# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) +# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) +# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) +# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) +# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) +# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) +# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) +# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) +# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) +# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) +# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) +# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) +# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) +# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) +# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) +# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) +# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) +# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) +# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) +# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) +# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) +# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) +# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) +# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) +# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) +# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) +# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) +# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) +# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) +# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) +# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) +# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) +# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) +# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) +# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) +# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) +# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) +# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) +# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) +# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) +# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) +# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) +# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) +# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) +# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) +# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) +# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) +# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) +# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) +# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) +# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) +# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) +# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) +# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) +# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) +# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) +# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) +# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) +# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) +# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) +# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) +# +# else +# +# include +# include +# +# include +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_1024.hpp new file mode 100644 index 0000000000..02ed16910a --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_1024.hpp @@ -0,0 +1,1044 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_1024_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_1024_HPP +# +# define BOOST_PP_WHILE_513(p, o, s) BOOST_PP_WHILE_513_C(BOOST_PP_BOOL(p(514, s)), p, o, s) +# define BOOST_PP_WHILE_514(p, o, s) BOOST_PP_WHILE_514_C(BOOST_PP_BOOL(p(515, s)), p, o, s) +# define BOOST_PP_WHILE_515(p, o, s) BOOST_PP_WHILE_515_C(BOOST_PP_BOOL(p(516, s)), p, o, s) +# define BOOST_PP_WHILE_516(p, o, s) BOOST_PP_WHILE_516_C(BOOST_PP_BOOL(p(517, s)), p, o, s) +# define BOOST_PP_WHILE_517(p, o, s) BOOST_PP_WHILE_517_C(BOOST_PP_BOOL(p(518, s)), p, o, s) +# define BOOST_PP_WHILE_518(p, o, s) BOOST_PP_WHILE_518_C(BOOST_PP_BOOL(p(519, s)), p, o, s) +# define BOOST_PP_WHILE_519(p, o, s) BOOST_PP_WHILE_519_C(BOOST_PP_BOOL(p(520, s)), p, o, s) +# define BOOST_PP_WHILE_520(p, o, s) BOOST_PP_WHILE_520_C(BOOST_PP_BOOL(p(521, s)), p, o, s) +# define BOOST_PP_WHILE_521(p, o, s) BOOST_PP_WHILE_521_C(BOOST_PP_BOOL(p(522, s)), p, o, s) +# define BOOST_PP_WHILE_522(p, o, s) BOOST_PP_WHILE_522_C(BOOST_PP_BOOL(p(523, s)), p, o, s) +# define BOOST_PP_WHILE_523(p, o, s) BOOST_PP_WHILE_523_C(BOOST_PP_BOOL(p(524, s)), p, o, s) +# define BOOST_PP_WHILE_524(p, o, s) BOOST_PP_WHILE_524_C(BOOST_PP_BOOL(p(525, s)), p, o, s) +# define BOOST_PP_WHILE_525(p, o, s) BOOST_PP_WHILE_525_C(BOOST_PP_BOOL(p(526, s)), p, o, s) +# define BOOST_PP_WHILE_526(p, o, s) BOOST_PP_WHILE_526_C(BOOST_PP_BOOL(p(527, s)), p, o, s) +# define BOOST_PP_WHILE_527(p, o, s) BOOST_PP_WHILE_527_C(BOOST_PP_BOOL(p(528, s)), p, o, s) +# define BOOST_PP_WHILE_528(p, o, s) BOOST_PP_WHILE_528_C(BOOST_PP_BOOL(p(529, s)), p, o, s) +# define BOOST_PP_WHILE_529(p, o, s) BOOST_PP_WHILE_529_C(BOOST_PP_BOOL(p(530, s)), p, o, s) +# define BOOST_PP_WHILE_530(p, o, s) BOOST_PP_WHILE_530_C(BOOST_PP_BOOL(p(531, s)), p, o, s) +# define BOOST_PP_WHILE_531(p, o, s) BOOST_PP_WHILE_531_C(BOOST_PP_BOOL(p(532, s)), p, o, s) +# define BOOST_PP_WHILE_532(p, o, s) BOOST_PP_WHILE_532_C(BOOST_PP_BOOL(p(533, s)), p, o, s) +# define BOOST_PP_WHILE_533(p, o, s) BOOST_PP_WHILE_533_C(BOOST_PP_BOOL(p(534, s)), p, o, s) +# define BOOST_PP_WHILE_534(p, o, s) BOOST_PP_WHILE_534_C(BOOST_PP_BOOL(p(535, s)), p, o, s) +# define BOOST_PP_WHILE_535(p, o, s) BOOST_PP_WHILE_535_C(BOOST_PP_BOOL(p(536, s)), p, o, s) +# define BOOST_PP_WHILE_536(p, o, s) BOOST_PP_WHILE_536_C(BOOST_PP_BOOL(p(537, s)), p, o, s) +# define BOOST_PP_WHILE_537(p, o, s) BOOST_PP_WHILE_537_C(BOOST_PP_BOOL(p(538, s)), p, o, s) +# define BOOST_PP_WHILE_538(p, o, s) BOOST_PP_WHILE_538_C(BOOST_PP_BOOL(p(539, s)), p, o, s) +# define BOOST_PP_WHILE_539(p, o, s) BOOST_PP_WHILE_539_C(BOOST_PP_BOOL(p(540, s)), p, o, s) +# define BOOST_PP_WHILE_540(p, o, s) BOOST_PP_WHILE_540_C(BOOST_PP_BOOL(p(541, s)), p, o, s) +# define BOOST_PP_WHILE_541(p, o, s) BOOST_PP_WHILE_541_C(BOOST_PP_BOOL(p(542, s)), p, o, s) +# define BOOST_PP_WHILE_542(p, o, s) BOOST_PP_WHILE_542_C(BOOST_PP_BOOL(p(543, s)), p, o, s) +# define BOOST_PP_WHILE_543(p, o, s) BOOST_PP_WHILE_543_C(BOOST_PP_BOOL(p(544, s)), p, o, s) +# define BOOST_PP_WHILE_544(p, o, s) BOOST_PP_WHILE_544_C(BOOST_PP_BOOL(p(545, s)), p, o, s) +# define BOOST_PP_WHILE_545(p, o, s) BOOST_PP_WHILE_545_C(BOOST_PP_BOOL(p(546, s)), p, o, s) +# define BOOST_PP_WHILE_546(p, o, s) BOOST_PP_WHILE_546_C(BOOST_PP_BOOL(p(547, s)), p, o, s) +# define BOOST_PP_WHILE_547(p, o, s) BOOST_PP_WHILE_547_C(BOOST_PP_BOOL(p(548, s)), p, o, s) +# define BOOST_PP_WHILE_548(p, o, s) BOOST_PP_WHILE_548_C(BOOST_PP_BOOL(p(549, s)), p, o, s) +# define BOOST_PP_WHILE_549(p, o, s) BOOST_PP_WHILE_549_C(BOOST_PP_BOOL(p(550, s)), p, o, s) +# define BOOST_PP_WHILE_550(p, o, s) BOOST_PP_WHILE_550_C(BOOST_PP_BOOL(p(551, s)), p, o, s) +# define BOOST_PP_WHILE_551(p, o, s) BOOST_PP_WHILE_551_C(BOOST_PP_BOOL(p(552, s)), p, o, s) +# define BOOST_PP_WHILE_552(p, o, s) BOOST_PP_WHILE_552_C(BOOST_PP_BOOL(p(553, s)), p, o, s) +# define BOOST_PP_WHILE_553(p, o, s) BOOST_PP_WHILE_553_C(BOOST_PP_BOOL(p(554, s)), p, o, s) +# define BOOST_PP_WHILE_554(p, o, s) BOOST_PP_WHILE_554_C(BOOST_PP_BOOL(p(555, s)), p, o, s) +# define BOOST_PP_WHILE_555(p, o, s) BOOST_PP_WHILE_555_C(BOOST_PP_BOOL(p(556, s)), p, o, s) +# define BOOST_PP_WHILE_556(p, o, s) BOOST_PP_WHILE_556_C(BOOST_PP_BOOL(p(557, s)), p, o, s) +# define BOOST_PP_WHILE_557(p, o, s) BOOST_PP_WHILE_557_C(BOOST_PP_BOOL(p(558, s)), p, o, s) +# define BOOST_PP_WHILE_558(p, o, s) BOOST_PP_WHILE_558_C(BOOST_PP_BOOL(p(559, s)), p, o, s) +# define BOOST_PP_WHILE_559(p, o, s) BOOST_PP_WHILE_559_C(BOOST_PP_BOOL(p(560, s)), p, o, s) +# define BOOST_PP_WHILE_560(p, o, s) BOOST_PP_WHILE_560_C(BOOST_PP_BOOL(p(561, s)), p, o, s) +# define BOOST_PP_WHILE_561(p, o, s) BOOST_PP_WHILE_561_C(BOOST_PP_BOOL(p(562, s)), p, o, s) +# define BOOST_PP_WHILE_562(p, o, s) BOOST_PP_WHILE_562_C(BOOST_PP_BOOL(p(563, s)), p, o, s) +# define BOOST_PP_WHILE_563(p, o, s) BOOST_PP_WHILE_563_C(BOOST_PP_BOOL(p(564, s)), p, o, s) +# define BOOST_PP_WHILE_564(p, o, s) BOOST_PP_WHILE_564_C(BOOST_PP_BOOL(p(565, s)), p, o, s) +# define BOOST_PP_WHILE_565(p, o, s) BOOST_PP_WHILE_565_C(BOOST_PP_BOOL(p(566, s)), p, o, s) +# define BOOST_PP_WHILE_566(p, o, s) BOOST_PP_WHILE_566_C(BOOST_PP_BOOL(p(567, s)), p, o, s) +# define BOOST_PP_WHILE_567(p, o, s) BOOST_PP_WHILE_567_C(BOOST_PP_BOOL(p(568, s)), p, o, s) +# define BOOST_PP_WHILE_568(p, o, s) BOOST_PP_WHILE_568_C(BOOST_PP_BOOL(p(569, s)), p, o, s) +# define BOOST_PP_WHILE_569(p, o, s) BOOST_PP_WHILE_569_C(BOOST_PP_BOOL(p(570, s)), p, o, s) +# define BOOST_PP_WHILE_570(p, o, s) BOOST_PP_WHILE_570_C(BOOST_PP_BOOL(p(571, s)), p, o, s) +# define BOOST_PP_WHILE_571(p, o, s) BOOST_PP_WHILE_571_C(BOOST_PP_BOOL(p(572, s)), p, o, s) +# define BOOST_PP_WHILE_572(p, o, s) BOOST_PP_WHILE_572_C(BOOST_PP_BOOL(p(573, s)), p, o, s) +# define BOOST_PP_WHILE_573(p, o, s) BOOST_PP_WHILE_573_C(BOOST_PP_BOOL(p(574, s)), p, o, s) +# define BOOST_PP_WHILE_574(p, o, s) BOOST_PP_WHILE_574_C(BOOST_PP_BOOL(p(575, s)), p, o, s) +# define BOOST_PP_WHILE_575(p, o, s) BOOST_PP_WHILE_575_C(BOOST_PP_BOOL(p(576, s)), p, o, s) +# define BOOST_PP_WHILE_576(p, o, s) BOOST_PP_WHILE_576_C(BOOST_PP_BOOL(p(577, s)), p, o, s) +# define BOOST_PP_WHILE_577(p, o, s) BOOST_PP_WHILE_577_C(BOOST_PP_BOOL(p(578, s)), p, o, s) +# define BOOST_PP_WHILE_578(p, o, s) BOOST_PP_WHILE_578_C(BOOST_PP_BOOL(p(579, s)), p, o, s) +# define BOOST_PP_WHILE_579(p, o, s) BOOST_PP_WHILE_579_C(BOOST_PP_BOOL(p(580, s)), p, o, s) +# define BOOST_PP_WHILE_580(p, o, s) BOOST_PP_WHILE_580_C(BOOST_PP_BOOL(p(581, s)), p, o, s) +# define BOOST_PP_WHILE_581(p, o, s) BOOST_PP_WHILE_581_C(BOOST_PP_BOOL(p(582, s)), p, o, s) +# define BOOST_PP_WHILE_582(p, o, s) BOOST_PP_WHILE_582_C(BOOST_PP_BOOL(p(583, s)), p, o, s) +# define BOOST_PP_WHILE_583(p, o, s) BOOST_PP_WHILE_583_C(BOOST_PP_BOOL(p(584, s)), p, o, s) +# define BOOST_PP_WHILE_584(p, o, s) BOOST_PP_WHILE_584_C(BOOST_PP_BOOL(p(585, s)), p, o, s) +# define BOOST_PP_WHILE_585(p, o, s) BOOST_PP_WHILE_585_C(BOOST_PP_BOOL(p(586, s)), p, o, s) +# define BOOST_PP_WHILE_586(p, o, s) BOOST_PP_WHILE_586_C(BOOST_PP_BOOL(p(587, s)), p, o, s) +# define BOOST_PP_WHILE_587(p, o, s) BOOST_PP_WHILE_587_C(BOOST_PP_BOOL(p(588, s)), p, o, s) +# define BOOST_PP_WHILE_588(p, o, s) BOOST_PP_WHILE_588_C(BOOST_PP_BOOL(p(589, s)), p, o, s) +# define BOOST_PP_WHILE_589(p, o, s) BOOST_PP_WHILE_589_C(BOOST_PP_BOOL(p(590, s)), p, o, s) +# define BOOST_PP_WHILE_590(p, o, s) BOOST_PP_WHILE_590_C(BOOST_PP_BOOL(p(591, s)), p, o, s) +# define BOOST_PP_WHILE_591(p, o, s) BOOST_PP_WHILE_591_C(BOOST_PP_BOOL(p(592, s)), p, o, s) +# define BOOST_PP_WHILE_592(p, o, s) BOOST_PP_WHILE_592_C(BOOST_PP_BOOL(p(593, s)), p, o, s) +# define BOOST_PP_WHILE_593(p, o, s) BOOST_PP_WHILE_593_C(BOOST_PP_BOOL(p(594, s)), p, o, s) +# define BOOST_PP_WHILE_594(p, o, s) BOOST_PP_WHILE_594_C(BOOST_PP_BOOL(p(595, s)), p, o, s) +# define BOOST_PP_WHILE_595(p, o, s) BOOST_PP_WHILE_595_C(BOOST_PP_BOOL(p(596, s)), p, o, s) +# define BOOST_PP_WHILE_596(p, o, s) BOOST_PP_WHILE_596_C(BOOST_PP_BOOL(p(597, s)), p, o, s) +# define BOOST_PP_WHILE_597(p, o, s) BOOST_PP_WHILE_597_C(BOOST_PP_BOOL(p(598, s)), p, o, s) +# define BOOST_PP_WHILE_598(p, o, s) BOOST_PP_WHILE_598_C(BOOST_PP_BOOL(p(599, s)), p, o, s) +# define BOOST_PP_WHILE_599(p, o, s) BOOST_PP_WHILE_599_C(BOOST_PP_BOOL(p(600, s)), p, o, s) +# define BOOST_PP_WHILE_600(p, o, s) BOOST_PP_WHILE_600_C(BOOST_PP_BOOL(p(601, s)), p, o, s) +# define BOOST_PP_WHILE_601(p, o, s) BOOST_PP_WHILE_601_C(BOOST_PP_BOOL(p(602, s)), p, o, s) +# define BOOST_PP_WHILE_602(p, o, s) BOOST_PP_WHILE_602_C(BOOST_PP_BOOL(p(603, s)), p, o, s) +# define BOOST_PP_WHILE_603(p, o, s) BOOST_PP_WHILE_603_C(BOOST_PP_BOOL(p(604, s)), p, o, s) +# define BOOST_PP_WHILE_604(p, o, s) BOOST_PP_WHILE_604_C(BOOST_PP_BOOL(p(605, s)), p, o, s) +# define BOOST_PP_WHILE_605(p, o, s) BOOST_PP_WHILE_605_C(BOOST_PP_BOOL(p(606, s)), p, o, s) +# define BOOST_PP_WHILE_606(p, o, s) BOOST_PP_WHILE_606_C(BOOST_PP_BOOL(p(607, s)), p, o, s) +# define BOOST_PP_WHILE_607(p, o, s) BOOST_PP_WHILE_607_C(BOOST_PP_BOOL(p(608, s)), p, o, s) +# define BOOST_PP_WHILE_608(p, o, s) BOOST_PP_WHILE_608_C(BOOST_PP_BOOL(p(609, s)), p, o, s) +# define BOOST_PP_WHILE_609(p, o, s) BOOST_PP_WHILE_609_C(BOOST_PP_BOOL(p(610, s)), p, o, s) +# define BOOST_PP_WHILE_610(p, o, s) BOOST_PP_WHILE_610_C(BOOST_PP_BOOL(p(611, s)), p, o, s) +# define BOOST_PP_WHILE_611(p, o, s) BOOST_PP_WHILE_611_C(BOOST_PP_BOOL(p(612, s)), p, o, s) +# define BOOST_PP_WHILE_612(p, o, s) BOOST_PP_WHILE_612_C(BOOST_PP_BOOL(p(613, s)), p, o, s) +# define BOOST_PP_WHILE_613(p, o, s) BOOST_PP_WHILE_613_C(BOOST_PP_BOOL(p(614, s)), p, o, s) +# define BOOST_PP_WHILE_614(p, o, s) BOOST_PP_WHILE_614_C(BOOST_PP_BOOL(p(615, s)), p, o, s) +# define BOOST_PP_WHILE_615(p, o, s) BOOST_PP_WHILE_615_C(BOOST_PP_BOOL(p(616, s)), p, o, s) +# define BOOST_PP_WHILE_616(p, o, s) BOOST_PP_WHILE_616_C(BOOST_PP_BOOL(p(617, s)), p, o, s) +# define BOOST_PP_WHILE_617(p, o, s) BOOST_PP_WHILE_617_C(BOOST_PP_BOOL(p(618, s)), p, o, s) +# define BOOST_PP_WHILE_618(p, o, s) BOOST_PP_WHILE_618_C(BOOST_PP_BOOL(p(619, s)), p, o, s) +# define BOOST_PP_WHILE_619(p, o, s) BOOST_PP_WHILE_619_C(BOOST_PP_BOOL(p(620, s)), p, o, s) +# define BOOST_PP_WHILE_620(p, o, s) BOOST_PP_WHILE_620_C(BOOST_PP_BOOL(p(621, s)), p, o, s) +# define BOOST_PP_WHILE_621(p, o, s) BOOST_PP_WHILE_621_C(BOOST_PP_BOOL(p(622, s)), p, o, s) +# define BOOST_PP_WHILE_622(p, o, s) BOOST_PP_WHILE_622_C(BOOST_PP_BOOL(p(623, s)), p, o, s) +# define BOOST_PP_WHILE_623(p, o, s) BOOST_PP_WHILE_623_C(BOOST_PP_BOOL(p(624, s)), p, o, s) +# define BOOST_PP_WHILE_624(p, o, s) BOOST_PP_WHILE_624_C(BOOST_PP_BOOL(p(625, s)), p, o, s) +# define BOOST_PP_WHILE_625(p, o, s) BOOST_PP_WHILE_625_C(BOOST_PP_BOOL(p(626, s)), p, o, s) +# define BOOST_PP_WHILE_626(p, o, s) BOOST_PP_WHILE_626_C(BOOST_PP_BOOL(p(627, s)), p, o, s) +# define BOOST_PP_WHILE_627(p, o, s) BOOST_PP_WHILE_627_C(BOOST_PP_BOOL(p(628, s)), p, o, s) +# define BOOST_PP_WHILE_628(p, o, s) BOOST_PP_WHILE_628_C(BOOST_PP_BOOL(p(629, s)), p, o, s) +# define BOOST_PP_WHILE_629(p, o, s) BOOST_PP_WHILE_629_C(BOOST_PP_BOOL(p(630, s)), p, o, s) +# define BOOST_PP_WHILE_630(p, o, s) BOOST_PP_WHILE_630_C(BOOST_PP_BOOL(p(631, s)), p, o, s) +# define BOOST_PP_WHILE_631(p, o, s) BOOST_PP_WHILE_631_C(BOOST_PP_BOOL(p(632, s)), p, o, s) +# define BOOST_PP_WHILE_632(p, o, s) BOOST_PP_WHILE_632_C(BOOST_PP_BOOL(p(633, s)), p, o, s) +# define BOOST_PP_WHILE_633(p, o, s) BOOST_PP_WHILE_633_C(BOOST_PP_BOOL(p(634, s)), p, o, s) +# define BOOST_PP_WHILE_634(p, o, s) BOOST_PP_WHILE_634_C(BOOST_PP_BOOL(p(635, s)), p, o, s) +# define BOOST_PP_WHILE_635(p, o, s) BOOST_PP_WHILE_635_C(BOOST_PP_BOOL(p(636, s)), p, o, s) +# define BOOST_PP_WHILE_636(p, o, s) BOOST_PP_WHILE_636_C(BOOST_PP_BOOL(p(637, s)), p, o, s) +# define BOOST_PP_WHILE_637(p, o, s) BOOST_PP_WHILE_637_C(BOOST_PP_BOOL(p(638, s)), p, o, s) +# define BOOST_PP_WHILE_638(p, o, s) BOOST_PP_WHILE_638_C(BOOST_PP_BOOL(p(639, s)), p, o, s) +# define BOOST_PP_WHILE_639(p, o, s) BOOST_PP_WHILE_639_C(BOOST_PP_BOOL(p(640, s)), p, o, s) +# define BOOST_PP_WHILE_640(p, o, s) BOOST_PP_WHILE_640_C(BOOST_PP_BOOL(p(641, s)), p, o, s) +# define BOOST_PP_WHILE_641(p, o, s) BOOST_PP_WHILE_641_C(BOOST_PP_BOOL(p(642, s)), p, o, s) +# define BOOST_PP_WHILE_642(p, o, s) BOOST_PP_WHILE_642_C(BOOST_PP_BOOL(p(643, s)), p, o, s) +# define BOOST_PP_WHILE_643(p, o, s) BOOST_PP_WHILE_643_C(BOOST_PP_BOOL(p(644, s)), p, o, s) +# define BOOST_PP_WHILE_644(p, o, s) BOOST_PP_WHILE_644_C(BOOST_PP_BOOL(p(645, s)), p, o, s) +# define BOOST_PP_WHILE_645(p, o, s) BOOST_PP_WHILE_645_C(BOOST_PP_BOOL(p(646, s)), p, o, s) +# define BOOST_PP_WHILE_646(p, o, s) BOOST_PP_WHILE_646_C(BOOST_PP_BOOL(p(647, s)), p, o, s) +# define BOOST_PP_WHILE_647(p, o, s) BOOST_PP_WHILE_647_C(BOOST_PP_BOOL(p(648, s)), p, o, s) +# define BOOST_PP_WHILE_648(p, o, s) BOOST_PP_WHILE_648_C(BOOST_PP_BOOL(p(649, s)), p, o, s) +# define BOOST_PP_WHILE_649(p, o, s) BOOST_PP_WHILE_649_C(BOOST_PP_BOOL(p(650, s)), p, o, s) +# define BOOST_PP_WHILE_650(p, o, s) BOOST_PP_WHILE_650_C(BOOST_PP_BOOL(p(651, s)), p, o, s) +# define BOOST_PP_WHILE_651(p, o, s) BOOST_PP_WHILE_651_C(BOOST_PP_BOOL(p(652, s)), p, o, s) +# define BOOST_PP_WHILE_652(p, o, s) BOOST_PP_WHILE_652_C(BOOST_PP_BOOL(p(653, s)), p, o, s) +# define BOOST_PP_WHILE_653(p, o, s) BOOST_PP_WHILE_653_C(BOOST_PP_BOOL(p(654, s)), p, o, s) +# define BOOST_PP_WHILE_654(p, o, s) BOOST_PP_WHILE_654_C(BOOST_PP_BOOL(p(655, s)), p, o, s) +# define BOOST_PP_WHILE_655(p, o, s) BOOST_PP_WHILE_655_C(BOOST_PP_BOOL(p(656, s)), p, o, s) +# define BOOST_PP_WHILE_656(p, o, s) BOOST_PP_WHILE_656_C(BOOST_PP_BOOL(p(657, s)), p, o, s) +# define BOOST_PP_WHILE_657(p, o, s) BOOST_PP_WHILE_657_C(BOOST_PP_BOOL(p(658, s)), p, o, s) +# define BOOST_PP_WHILE_658(p, o, s) BOOST_PP_WHILE_658_C(BOOST_PP_BOOL(p(659, s)), p, o, s) +# define BOOST_PP_WHILE_659(p, o, s) BOOST_PP_WHILE_659_C(BOOST_PP_BOOL(p(660, s)), p, o, s) +# define BOOST_PP_WHILE_660(p, o, s) BOOST_PP_WHILE_660_C(BOOST_PP_BOOL(p(661, s)), p, o, s) +# define BOOST_PP_WHILE_661(p, o, s) BOOST_PP_WHILE_661_C(BOOST_PP_BOOL(p(662, s)), p, o, s) +# define BOOST_PP_WHILE_662(p, o, s) BOOST_PP_WHILE_662_C(BOOST_PP_BOOL(p(663, s)), p, o, s) +# define BOOST_PP_WHILE_663(p, o, s) BOOST_PP_WHILE_663_C(BOOST_PP_BOOL(p(664, s)), p, o, s) +# define BOOST_PP_WHILE_664(p, o, s) BOOST_PP_WHILE_664_C(BOOST_PP_BOOL(p(665, s)), p, o, s) +# define BOOST_PP_WHILE_665(p, o, s) BOOST_PP_WHILE_665_C(BOOST_PP_BOOL(p(666, s)), p, o, s) +# define BOOST_PP_WHILE_666(p, o, s) BOOST_PP_WHILE_666_C(BOOST_PP_BOOL(p(667, s)), p, o, s) +# define BOOST_PP_WHILE_667(p, o, s) BOOST_PP_WHILE_667_C(BOOST_PP_BOOL(p(668, s)), p, o, s) +# define BOOST_PP_WHILE_668(p, o, s) BOOST_PP_WHILE_668_C(BOOST_PP_BOOL(p(669, s)), p, o, s) +# define BOOST_PP_WHILE_669(p, o, s) BOOST_PP_WHILE_669_C(BOOST_PP_BOOL(p(670, s)), p, o, s) +# define BOOST_PP_WHILE_670(p, o, s) BOOST_PP_WHILE_670_C(BOOST_PP_BOOL(p(671, s)), p, o, s) +# define BOOST_PP_WHILE_671(p, o, s) BOOST_PP_WHILE_671_C(BOOST_PP_BOOL(p(672, s)), p, o, s) +# define BOOST_PP_WHILE_672(p, o, s) BOOST_PP_WHILE_672_C(BOOST_PP_BOOL(p(673, s)), p, o, s) +# define BOOST_PP_WHILE_673(p, o, s) BOOST_PP_WHILE_673_C(BOOST_PP_BOOL(p(674, s)), p, o, s) +# define BOOST_PP_WHILE_674(p, o, s) BOOST_PP_WHILE_674_C(BOOST_PP_BOOL(p(675, s)), p, o, s) +# define BOOST_PP_WHILE_675(p, o, s) BOOST_PP_WHILE_675_C(BOOST_PP_BOOL(p(676, s)), p, o, s) +# define BOOST_PP_WHILE_676(p, o, s) BOOST_PP_WHILE_676_C(BOOST_PP_BOOL(p(677, s)), p, o, s) +# define BOOST_PP_WHILE_677(p, o, s) BOOST_PP_WHILE_677_C(BOOST_PP_BOOL(p(678, s)), p, o, s) +# define BOOST_PP_WHILE_678(p, o, s) BOOST_PP_WHILE_678_C(BOOST_PP_BOOL(p(679, s)), p, o, s) +# define BOOST_PP_WHILE_679(p, o, s) BOOST_PP_WHILE_679_C(BOOST_PP_BOOL(p(680, s)), p, o, s) +# define BOOST_PP_WHILE_680(p, o, s) BOOST_PP_WHILE_680_C(BOOST_PP_BOOL(p(681, s)), p, o, s) +# define BOOST_PP_WHILE_681(p, o, s) BOOST_PP_WHILE_681_C(BOOST_PP_BOOL(p(682, s)), p, o, s) +# define BOOST_PP_WHILE_682(p, o, s) BOOST_PP_WHILE_682_C(BOOST_PP_BOOL(p(683, s)), p, o, s) +# define BOOST_PP_WHILE_683(p, o, s) BOOST_PP_WHILE_683_C(BOOST_PP_BOOL(p(684, s)), p, o, s) +# define BOOST_PP_WHILE_684(p, o, s) BOOST_PP_WHILE_684_C(BOOST_PP_BOOL(p(685, s)), p, o, s) +# define BOOST_PP_WHILE_685(p, o, s) BOOST_PP_WHILE_685_C(BOOST_PP_BOOL(p(686, s)), p, o, s) +# define BOOST_PP_WHILE_686(p, o, s) BOOST_PP_WHILE_686_C(BOOST_PP_BOOL(p(687, s)), p, o, s) +# define BOOST_PP_WHILE_687(p, o, s) BOOST_PP_WHILE_687_C(BOOST_PP_BOOL(p(688, s)), p, o, s) +# define BOOST_PP_WHILE_688(p, o, s) BOOST_PP_WHILE_688_C(BOOST_PP_BOOL(p(689, s)), p, o, s) +# define BOOST_PP_WHILE_689(p, o, s) BOOST_PP_WHILE_689_C(BOOST_PP_BOOL(p(690, s)), p, o, s) +# define BOOST_PP_WHILE_690(p, o, s) BOOST_PP_WHILE_690_C(BOOST_PP_BOOL(p(691, s)), p, o, s) +# define BOOST_PP_WHILE_691(p, o, s) BOOST_PP_WHILE_691_C(BOOST_PP_BOOL(p(692, s)), p, o, s) +# define BOOST_PP_WHILE_692(p, o, s) BOOST_PP_WHILE_692_C(BOOST_PP_BOOL(p(693, s)), p, o, s) +# define BOOST_PP_WHILE_693(p, o, s) BOOST_PP_WHILE_693_C(BOOST_PP_BOOL(p(694, s)), p, o, s) +# define BOOST_PP_WHILE_694(p, o, s) BOOST_PP_WHILE_694_C(BOOST_PP_BOOL(p(695, s)), p, o, s) +# define BOOST_PP_WHILE_695(p, o, s) BOOST_PP_WHILE_695_C(BOOST_PP_BOOL(p(696, s)), p, o, s) +# define BOOST_PP_WHILE_696(p, o, s) BOOST_PP_WHILE_696_C(BOOST_PP_BOOL(p(697, s)), p, o, s) +# define BOOST_PP_WHILE_697(p, o, s) BOOST_PP_WHILE_697_C(BOOST_PP_BOOL(p(698, s)), p, o, s) +# define BOOST_PP_WHILE_698(p, o, s) BOOST_PP_WHILE_698_C(BOOST_PP_BOOL(p(699, s)), p, o, s) +# define BOOST_PP_WHILE_699(p, o, s) BOOST_PP_WHILE_699_C(BOOST_PP_BOOL(p(700, s)), p, o, s) +# define BOOST_PP_WHILE_700(p, o, s) BOOST_PP_WHILE_700_C(BOOST_PP_BOOL(p(701, s)), p, o, s) +# define BOOST_PP_WHILE_701(p, o, s) BOOST_PP_WHILE_701_C(BOOST_PP_BOOL(p(702, s)), p, o, s) +# define BOOST_PP_WHILE_702(p, o, s) BOOST_PP_WHILE_702_C(BOOST_PP_BOOL(p(703, s)), p, o, s) +# define BOOST_PP_WHILE_703(p, o, s) BOOST_PP_WHILE_703_C(BOOST_PP_BOOL(p(704, s)), p, o, s) +# define BOOST_PP_WHILE_704(p, o, s) BOOST_PP_WHILE_704_C(BOOST_PP_BOOL(p(705, s)), p, o, s) +# define BOOST_PP_WHILE_705(p, o, s) BOOST_PP_WHILE_705_C(BOOST_PP_BOOL(p(706, s)), p, o, s) +# define BOOST_PP_WHILE_706(p, o, s) BOOST_PP_WHILE_706_C(BOOST_PP_BOOL(p(707, s)), p, o, s) +# define BOOST_PP_WHILE_707(p, o, s) BOOST_PP_WHILE_707_C(BOOST_PP_BOOL(p(708, s)), p, o, s) +# define BOOST_PP_WHILE_708(p, o, s) BOOST_PP_WHILE_708_C(BOOST_PP_BOOL(p(709, s)), p, o, s) +# define BOOST_PP_WHILE_709(p, o, s) BOOST_PP_WHILE_709_C(BOOST_PP_BOOL(p(710, s)), p, o, s) +# define BOOST_PP_WHILE_710(p, o, s) BOOST_PP_WHILE_710_C(BOOST_PP_BOOL(p(711, s)), p, o, s) +# define BOOST_PP_WHILE_711(p, o, s) BOOST_PP_WHILE_711_C(BOOST_PP_BOOL(p(712, s)), p, o, s) +# define BOOST_PP_WHILE_712(p, o, s) BOOST_PP_WHILE_712_C(BOOST_PP_BOOL(p(713, s)), p, o, s) +# define BOOST_PP_WHILE_713(p, o, s) BOOST_PP_WHILE_713_C(BOOST_PP_BOOL(p(714, s)), p, o, s) +# define BOOST_PP_WHILE_714(p, o, s) BOOST_PP_WHILE_714_C(BOOST_PP_BOOL(p(715, s)), p, o, s) +# define BOOST_PP_WHILE_715(p, o, s) BOOST_PP_WHILE_715_C(BOOST_PP_BOOL(p(716, s)), p, o, s) +# define BOOST_PP_WHILE_716(p, o, s) BOOST_PP_WHILE_716_C(BOOST_PP_BOOL(p(717, s)), p, o, s) +# define BOOST_PP_WHILE_717(p, o, s) BOOST_PP_WHILE_717_C(BOOST_PP_BOOL(p(718, s)), p, o, s) +# define BOOST_PP_WHILE_718(p, o, s) BOOST_PP_WHILE_718_C(BOOST_PP_BOOL(p(719, s)), p, o, s) +# define BOOST_PP_WHILE_719(p, o, s) BOOST_PP_WHILE_719_C(BOOST_PP_BOOL(p(720, s)), p, o, s) +# define BOOST_PP_WHILE_720(p, o, s) BOOST_PP_WHILE_720_C(BOOST_PP_BOOL(p(721, s)), p, o, s) +# define BOOST_PP_WHILE_721(p, o, s) BOOST_PP_WHILE_721_C(BOOST_PP_BOOL(p(722, s)), p, o, s) +# define BOOST_PP_WHILE_722(p, o, s) BOOST_PP_WHILE_722_C(BOOST_PP_BOOL(p(723, s)), p, o, s) +# define BOOST_PP_WHILE_723(p, o, s) BOOST_PP_WHILE_723_C(BOOST_PP_BOOL(p(724, s)), p, o, s) +# define BOOST_PP_WHILE_724(p, o, s) BOOST_PP_WHILE_724_C(BOOST_PP_BOOL(p(725, s)), p, o, s) +# define BOOST_PP_WHILE_725(p, o, s) BOOST_PP_WHILE_725_C(BOOST_PP_BOOL(p(726, s)), p, o, s) +# define BOOST_PP_WHILE_726(p, o, s) BOOST_PP_WHILE_726_C(BOOST_PP_BOOL(p(727, s)), p, o, s) +# define BOOST_PP_WHILE_727(p, o, s) BOOST_PP_WHILE_727_C(BOOST_PP_BOOL(p(728, s)), p, o, s) +# define BOOST_PP_WHILE_728(p, o, s) BOOST_PP_WHILE_728_C(BOOST_PP_BOOL(p(729, s)), p, o, s) +# define BOOST_PP_WHILE_729(p, o, s) BOOST_PP_WHILE_729_C(BOOST_PP_BOOL(p(730, s)), p, o, s) +# define BOOST_PP_WHILE_730(p, o, s) BOOST_PP_WHILE_730_C(BOOST_PP_BOOL(p(731, s)), p, o, s) +# define BOOST_PP_WHILE_731(p, o, s) BOOST_PP_WHILE_731_C(BOOST_PP_BOOL(p(732, s)), p, o, s) +# define BOOST_PP_WHILE_732(p, o, s) BOOST_PP_WHILE_732_C(BOOST_PP_BOOL(p(733, s)), p, o, s) +# define BOOST_PP_WHILE_733(p, o, s) BOOST_PP_WHILE_733_C(BOOST_PP_BOOL(p(734, s)), p, o, s) +# define BOOST_PP_WHILE_734(p, o, s) BOOST_PP_WHILE_734_C(BOOST_PP_BOOL(p(735, s)), p, o, s) +# define BOOST_PP_WHILE_735(p, o, s) BOOST_PP_WHILE_735_C(BOOST_PP_BOOL(p(736, s)), p, o, s) +# define BOOST_PP_WHILE_736(p, o, s) BOOST_PP_WHILE_736_C(BOOST_PP_BOOL(p(737, s)), p, o, s) +# define BOOST_PP_WHILE_737(p, o, s) BOOST_PP_WHILE_737_C(BOOST_PP_BOOL(p(738, s)), p, o, s) +# define BOOST_PP_WHILE_738(p, o, s) BOOST_PP_WHILE_738_C(BOOST_PP_BOOL(p(739, s)), p, o, s) +# define BOOST_PP_WHILE_739(p, o, s) BOOST_PP_WHILE_739_C(BOOST_PP_BOOL(p(740, s)), p, o, s) +# define BOOST_PP_WHILE_740(p, o, s) BOOST_PP_WHILE_740_C(BOOST_PP_BOOL(p(741, s)), p, o, s) +# define BOOST_PP_WHILE_741(p, o, s) BOOST_PP_WHILE_741_C(BOOST_PP_BOOL(p(742, s)), p, o, s) +# define BOOST_PP_WHILE_742(p, o, s) BOOST_PP_WHILE_742_C(BOOST_PP_BOOL(p(743, s)), p, o, s) +# define BOOST_PP_WHILE_743(p, o, s) BOOST_PP_WHILE_743_C(BOOST_PP_BOOL(p(744, s)), p, o, s) +# define BOOST_PP_WHILE_744(p, o, s) BOOST_PP_WHILE_744_C(BOOST_PP_BOOL(p(745, s)), p, o, s) +# define BOOST_PP_WHILE_745(p, o, s) BOOST_PP_WHILE_745_C(BOOST_PP_BOOL(p(746, s)), p, o, s) +# define BOOST_PP_WHILE_746(p, o, s) BOOST_PP_WHILE_746_C(BOOST_PP_BOOL(p(747, s)), p, o, s) +# define BOOST_PP_WHILE_747(p, o, s) BOOST_PP_WHILE_747_C(BOOST_PP_BOOL(p(748, s)), p, o, s) +# define BOOST_PP_WHILE_748(p, o, s) BOOST_PP_WHILE_748_C(BOOST_PP_BOOL(p(749, s)), p, o, s) +# define BOOST_PP_WHILE_749(p, o, s) BOOST_PP_WHILE_749_C(BOOST_PP_BOOL(p(750, s)), p, o, s) +# define BOOST_PP_WHILE_750(p, o, s) BOOST_PP_WHILE_750_C(BOOST_PP_BOOL(p(751, s)), p, o, s) +# define BOOST_PP_WHILE_751(p, o, s) BOOST_PP_WHILE_751_C(BOOST_PP_BOOL(p(752, s)), p, o, s) +# define BOOST_PP_WHILE_752(p, o, s) BOOST_PP_WHILE_752_C(BOOST_PP_BOOL(p(753, s)), p, o, s) +# define BOOST_PP_WHILE_753(p, o, s) BOOST_PP_WHILE_753_C(BOOST_PP_BOOL(p(754, s)), p, o, s) +# define BOOST_PP_WHILE_754(p, o, s) BOOST_PP_WHILE_754_C(BOOST_PP_BOOL(p(755, s)), p, o, s) +# define BOOST_PP_WHILE_755(p, o, s) BOOST_PP_WHILE_755_C(BOOST_PP_BOOL(p(756, s)), p, o, s) +# define BOOST_PP_WHILE_756(p, o, s) BOOST_PP_WHILE_756_C(BOOST_PP_BOOL(p(757, s)), p, o, s) +# define BOOST_PP_WHILE_757(p, o, s) BOOST_PP_WHILE_757_C(BOOST_PP_BOOL(p(758, s)), p, o, s) +# define BOOST_PP_WHILE_758(p, o, s) BOOST_PP_WHILE_758_C(BOOST_PP_BOOL(p(759, s)), p, o, s) +# define BOOST_PP_WHILE_759(p, o, s) BOOST_PP_WHILE_759_C(BOOST_PP_BOOL(p(760, s)), p, o, s) +# define BOOST_PP_WHILE_760(p, o, s) BOOST_PP_WHILE_760_C(BOOST_PP_BOOL(p(761, s)), p, o, s) +# define BOOST_PP_WHILE_761(p, o, s) BOOST_PP_WHILE_761_C(BOOST_PP_BOOL(p(762, s)), p, o, s) +# define BOOST_PP_WHILE_762(p, o, s) BOOST_PP_WHILE_762_C(BOOST_PP_BOOL(p(763, s)), p, o, s) +# define BOOST_PP_WHILE_763(p, o, s) BOOST_PP_WHILE_763_C(BOOST_PP_BOOL(p(764, s)), p, o, s) +# define BOOST_PP_WHILE_764(p, o, s) BOOST_PP_WHILE_764_C(BOOST_PP_BOOL(p(765, s)), p, o, s) +# define BOOST_PP_WHILE_765(p, o, s) BOOST_PP_WHILE_765_C(BOOST_PP_BOOL(p(766, s)), p, o, s) +# define BOOST_PP_WHILE_766(p, o, s) BOOST_PP_WHILE_766_C(BOOST_PP_BOOL(p(767, s)), p, o, s) +# define BOOST_PP_WHILE_767(p, o, s) BOOST_PP_WHILE_767_C(BOOST_PP_BOOL(p(768, s)), p, o, s) +# define BOOST_PP_WHILE_768(p, o, s) BOOST_PP_WHILE_768_C(BOOST_PP_BOOL(p(769, s)), p, o, s) +# define BOOST_PP_WHILE_769(p, o, s) BOOST_PP_WHILE_769_C(BOOST_PP_BOOL(p(770, s)), p, o, s) +# define BOOST_PP_WHILE_770(p, o, s) BOOST_PP_WHILE_770_C(BOOST_PP_BOOL(p(771, s)), p, o, s) +# define BOOST_PP_WHILE_771(p, o, s) BOOST_PP_WHILE_771_C(BOOST_PP_BOOL(p(772, s)), p, o, s) +# define BOOST_PP_WHILE_772(p, o, s) BOOST_PP_WHILE_772_C(BOOST_PP_BOOL(p(773, s)), p, o, s) +# define BOOST_PP_WHILE_773(p, o, s) BOOST_PP_WHILE_773_C(BOOST_PP_BOOL(p(774, s)), p, o, s) +# define BOOST_PP_WHILE_774(p, o, s) BOOST_PP_WHILE_774_C(BOOST_PP_BOOL(p(775, s)), p, o, s) +# define BOOST_PP_WHILE_775(p, o, s) BOOST_PP_WHILE_775_C(BOOST_PP_BOOL(p(776, s)), p, o, s) +# define BOOST_PP_WHILE_776(p, o, s) BOOST_PP_WHILE_776_C(BOOST_PP_BOOL(p(777, s)), p, o, s) +# define BOOST_PP_WHILE_777(p, o, s) BOOST_PP_WHILE_777_C(BOOST_PP_BOOL(p(778, s)), p, o, s) +# define BOOST_PP_WHILE_778(p, o, s) BOOST_PP_WHILE_778_C(BOOST_PP_BOOL(p(779, s)), p, o, s) +# define BOOST_PP_WHILE_779(p, o, s) BOOST_PP_WHILE_779_C(BOOST_PP_BOOL(p(780, s)), p, o, s) +# define BOOST_PP_WHILE_780(p, o, s) BOOST_PP_WHILE_780_C(BOOST_PP_BOOL(p(781, s)), p, o, s) +# define BOOST_PP_WHILE_781(p, o, s) BOOST_PP_WHILE_781_C(BOOST_PP_BOOL(p(782, s)), p, o, s) +# define BOOST_PP_WHILE_782(p, o, s) BOOST_PP_WHILE_782_C(BOOST_PP_BOOL(p(783, s)), p, o, s) +# define BOOST_PP_WHILE_783(p, o, s) BOOST_PP_WHILE_783_C(BOOST_PP_BOOL(p(784, s)), p, o, s) +# define BOOST_PP_WHILE_784(p, o, s) BOOST_PP_WHILE_784_C(BOOST_PP_BOOL(p(785, s)), p, o, s) +# define BOOST_PP_WHILE_785(p, o, s) BOOST_PP_WHILE_785_C(BOOST_PP_BOOL(p(786, s)), p, o, s) +# define BOOST_PP_WHILE_786(p, o, s) BOOST_PP_WHILE_786_C(BOOST_PP_BOOL(p(787, s)), p, o, s) +# define BOOST_PP_WHILE_787(p, o, s) BOOST_PP_WHILE_787_C(BOOST_PP_BOOL(p(788, s)), p, o, s) +# define BOOST_PP_WHILE_788(p, o, s) BOOST_PP_WHILE_788_C(BOOST_PP_BOOL(p(789, s)), p, o, s) +# define BOOST_PP_WHILE_789(p, o, s) BOOST_PP_WHILE_789_C(BOOST_PP_BOOL(p(790, s)), p, o, s) +# define BOOST_PP_WHILE_790(p, o, s) BOOST_PP_WHILE_790_C(BOOST_PP_BOOL(p(791, s)), p, o, s) +# define BOOST_PP_WHILE_791(p, o, s) BOOST_PP_WHILE_791_C(BOOST_PP_BOOL(p(792, s)), p, o, s) +# define BOOST_PP_WHILE_792(p, o, s) BOOST_PP_WHILE_792_C(BOOST_PP_BOOL(p(793, s)), p, o, s) +# define BOOST_PP_WHILE_793(p, o, s) BOOST_PP_WHILE_793_C(BOOST_PP_BOOL(p(794, s)), p, o, s) +# define BOOST_PP_WHILE_794(p, o, s) BOOST_PP_WHILE_794_C(BOOST_PP_BOOL(p(795, s)), p, o, s) +# define BOOST_PP_WHILE_795(p, o, s) BOOST_PP_WHILE_795_C(BOOST_PP_BOOL(p(796, s)), p, o, s) +# define BOOST_PP_WHILE_796(p, o, s) BOOST_PP_WHILE_796_C(BOOST_PP_BOOL(p(797, s)), p, o, s) +# define BOOST_PP_WHILE_797(p, o, s) BOOST_PP_WHILE_797_C(BOOST_PP_BOOL(p(798, s)), p, o, s) +# define BOOST_PP_WHILE_798(p, o, s) BOOST_PP_WHILE_798_C(BOOST_PP_BOOL(p(799, s)), p, o, s) +# define BOOST_PP_WHILE_799(p, o, s) BOOST_PP_WHILE_799_C(BOOST_PP_BOOL(p(800, s)), p, o, s) +# define BOOST_PP_WHILE_800(p, o, s) BOOST_PP_WHILE_800_C(BOOST_PP_BOOL(p(801, s)), p, o, s) +# define BOOST_PP_WHILE_801(p, o, s) BOOST_PP_WHILE_801_C(BOOST_PP_BOOL(p(802, s)), p, o, s) +# define BOOST_PP_WHILE_802(p, o, s) BOOST_PP_WHILE_802_C(BOOST_PP_BOOL(p(803, s)), p, o, s) +# define BOOST_PP_WHILE_803(p, o, s) BOOST_PP_WHILE_803_C(BOOST_PP_BOOL(p(804, s)), p, o, s) +# define BOOST_PP_WHILE_804(p, o, s) BOOST_PP_WHILE_804_C(BOOST_PP_BOOL(p(805, s)), p, o, s) +# define BOOST_PP_WHILE_805(p, o, s) BOOST_PP_WHILE_805_C(BOOST_PP_BOOL(p(806, s)), p, o, s) +# define BOOST_PP_WHILE_806(p, o, s) BOOST_PP_WHILE_806_C(BOOST_PP_BOOL(p(807, s)), p, o, s) +# define BOOST_PP_WHILE_807(p, o, s) BOOST_PP_WHILE_807_C(BOOST_PP_BOOL(p(808, s)), p, o, s) +# define BOOST_PP_WHILE_808(p, o, s) BOOST_PP_WHILE_808_C(BOOST_PP_BOOL(p(809, s)), p, o, s) +# define BOOST_PP_WHILE_809(p, o, s) BOOST_PP_WHILE_809_C(BOOST_PP_BOOL(p(810, s)), p, o, s) +# define BOOST_PP_WHILE_810(p, o, s) BOOST_PP_WHILE_810_C(BOOST_PP_BOOL(p(811, s)), p, o, s) +# define BOOST_PP_WHILE_811(p, o, s) BOOST_PP_WHILE_811_C(BOOST_PP_BOOL(p(812, s)), p, o, s) +# define BOOST_PP_WHILE_812(p, o, s) BOOST_PP_WHILE_812_C(BOOST_PP_BOOL(p(813, s)), p, o, s) +# define BOOST_PP_WHILE_813(p, o, s) BOOST_PP_WHILE_813_C(BOOST_PP_BOOL(p(814, s)), p, o, s) +# define BOOST_PP_WHILE_814(p, o, s) BOOST_PP_WHILE_814_C(BOOST_PP_BOOL(p(815, s)), p, o, s) +# define BOOST_PP_WHILE_815(p, o, s) BOOST_PP_WHILE_815_C(BOOST_PP_BOOL(p(816, s)), p, o, s) +# define BOOST_PP_WHILE_816(p, o, s) BOOST_PP_WHILE_816_C(BOOST_PP_BOOL(p(817, s)), p, o, s) +# define BOOST_PP_WHILE_817(p, o, s) BOOST_PP_WHILE_817_C(BOOST_PP_BOOL(p(818, s)), p, o, s) +# define BOOST_PP_WHILE_818(p, o, s) BOOST_PP_WHILE_818_C(BOOST_PP_BOOL(p(819, s)), p, o, s) +# define BOOST_PP_WHILE_819(p, o, s) BOOST_PP_WHILE_819_C(BOOST_PP_BOOL(p(820, s)), p, o, s) +# define BOOST_PP_WHILE_820(p, o, s) BOOST_PP_WHILE_820_C(BOOST_PP_BOOL(p(821, s)), p, o, s) +# define BOOST_PP_WHILE_821(p, o, s) BOOST_PP_WHILE_821_C(BOOST_PP_BOOL(p(822, s)), p, o, s) +# define BOOST_PP_WHILE_822(p, o, s) BOOST_PP_WHILE_822_C(BOOST_PP_BOOL(p(823, s)), p, o, s) +# define BOOST_PP_WHILE_823(p, o, s) BOOST_PP_WHILE_823_C(BOOST_PP_BOOL(p(824, s)), p, o, s) +# define BOOST_PP_WHILE_824(p, o, s) BOOST_PP_WHILE_824_C(BOOST_PP_BOOL(p(825, s)), p, o, s) +# define BOOST_PP_WHILE_825(p, o, s) BOOST_PP_WHILE_825_C(BOOST_PP_BOOL(p(826, s)), p, o, s) +# define BOOST_PP_WHILE_826(p, o, s) BOOST_PP_WHILE_826_C(BOOST_PP_BOOL(p(827, s)), p, o, s) +# define BOOST_PP_WHILE_827(p, o, s) BOOST_PP_WHILE_827_C(BOOST_PP_BOOL(p(828, s)), p, o, s) +# define BOOST_PP_WHILE_828(p, o, s) BOOST_PP_WHILE_828_C(BOOST_PP_BOOL(p(829, s)), p, o, s) +# define BOOST_PP_WHILE_829(p, o, s) BOOST_PP_WHILE_829_C(BOOST_PP_BOOL(p(830, s)), p, o, s) +# define BOOST_PP_WHILE_830(p, o, s) BOOST_PP_WHILE_830_C(BOOST_PP_BOOL(p(831, s)), p, o, s) +# define BOOST_PP_WHILE_831(p, o, s) BOOST_PP_WHILE_831_C(BOOST_PP_BOOL(p(832, s)), p, o, s) +# define BOOST_PP_WHILE_832(p, o, s) BOOST_PP_WHILE_832_C(BOOST_PP_BOOL(p(833, s)), p, o, s) +# define BOOST_PP_WHILE_833(p, o, s) BOOST_PP_WHILE_833_C(BOOST_PP_BOOL(p(834, s)), p, o, s) +# define BOOST_PP_WHILE_834(p, o, s) BOOST_PP_WHILE_834_C(BOOST_PP_BOOL(p(835, s)), p, o, s) +# define BOOST_PP_WHILE_835(p, o, s) BOOST_PP_WHILE_835_C(BOOST_PP_BOOL(p(836, s)), p, o, s) +# define BOOST_PP_WHILE_836(p, o, s) BOOST_PP_WHILE_836_C(BOOST_PP_BOOL(p(837, s)), p, o, s) +# define BOOST_PP_WHILE_837(p, o, s) BOOST_PP_WHILE_837_C(BOOST_PP_BOOL(p(838, s)), p, o, s) +# define BOOST_PP_WHILE_838(p, o, s) BOOST_PP_WHILE_838_C(BOOST_PP_BOOL(p(839, s)), p, o, s) +# define BOOST_PP_WHILE_839(p, o, s) BOOST_PP_WHILE_839_C(BOOST_PP_BOOL(p(840, s)), p, o, s) +# define BOOST_PP_WHILE_840(p, o, s) BOOST_PP_WHILE_840_C(BOOST_PP_BOOL(p(841, s)), p, o, s) +# define BOOST_PP_WHILE_841(p, o, s) BOOST_PP_WHILE_841_C(BOOST_PP_BOOL(p(842, s)), p, o, s) +# define BOOST_PP_WHILE_842(p, o, s) BOOST_PP_WHILE_842_C(BOOST_PP_BOOL(p(843, s)), p, o, s) +# define BOOST_PP_WHILE_843(p, o, s) BOOST_PP_WHILE_843_C(BOOST_PP_BOOL(p(844, s)), p, o, s) +# define BOOST_PP_WHILE_844(p, o, s) BOOST_PP_WHILE_844_C(BOOST_PP_BOOL(p(845, s)), p, o, s) +# define BOOST_PP_WHILE_845(p, o, s) BOOST_PP_WHILE_845_C(BOOST_PP_BOOL(p(846, s)), p, o, s) +# define BOOST_PP_WHILE_846(p, o, s) BOOST_PP_WHILE_846_C(BOOST_PP_BOOL(p(847, s)), p, o, s) +# define BOOST_PP_WHILE_847(p, o, s) BOOST_PP_WHILE_847_C(BOOST_PP_BOOL(p(848, s)), p, o, s) +# define BOOST_PP_WHILE_848(p, o, s) BOOST_PP_WHILE_848_C(BOOST_PP_BOOL(p(849, s)), p, o, s) +# define BOOST_PP_WHILE_849(p, o, s) BOOST_PP_WHILE_849_C(BOOST_PP_BOOL(p(850, s)), p, o, s) +# define BOOST_PP_WHILE_850(p, o, s) BOOST_PP_WHILE_850_C(BOOST_PP_BOOL(p(851, s)), p, o, s) +# define BOOST_PP_WHILE_851(p, o, s) BOOST_PP_WHILE_851_C(BOOST_PP_BOOL(p(852, s)), p, o, s) +# define BOOST_PP_WHILE_852(p, o, s) BOOST_PP_WHILE_852_C(BOOST_PP_BOOL(p(853, s)), p, o, s) +# define BOOST_PP_WHILE_853(p, o, s) BOOST_PP_WHILE_853_C(BOOST_PP_BOOL(p(854, s)), p, o, s) +# define BOOST_PP_WHILE_854(p, o, s) BOOST_PP_WHILE_854_C(BOOST_PP_BOOL(p(855, s)), p, o, s) +# define BOOST_PP_WHILE_855(p, o, s) BOOST_PP_WHILE_855_C(BOOST_PP_BOOL(p(856, s)), p, o, s) +# define BOOST_PP_WHILE_856(p, o, s) BOOST_PP_WHILE_856_C(BOOST_PP_BOOL(p(857, s)), p, o, s) +# define BOOST_PP_WHILE_857(p, o, s) BOOST_PP_WHILE_857_C(BOOST_PP_BOOL(p(858, s)), p, o, s) +# define BOOST_PP_WHILE_858(p, o, s) BOOST_PP_WHILE_858_C(BOOST_PP_BOOL(p(859, s)), p, o, s) +# define BOOST_PP_WHILE_859(p, o, s) BOOST_PP_WHILE_859_C(BOOST_PP_BOOL(p(860, s)), p, o, s) +# define BOOST_PP_WHILE_860(p, o, s) BOOST_PP_WHILE_860_C(BOOST_PP_BOOL(p(861, s)), p, o, s) +# define BOOST_PP_WHILE_861(p, o, s) BOOST_PP_WHILE_861_C(BOOST_PP_BOOL(p(862, s)), p, o, s) +# define BOOST_PP_WHILE_862(p, o, s) BOOST_PP_WHILE_862_C(BOOST_PP_BOOL(p(863, s)), p, o, s) +# define BOOST_PP_WHILE_863(p, o, s) BOOST_PP_WHILE_863_C(BOOST_PP_BOOL(p(864, s)), p, o, s) +# define BOOST_PP_WHILE_864(p, o, s) BOOST_PP_WHILE_864_C(BOOST_PP_BOOL(p(865, s)), p, o, s) +# define BOOST_PP_WHILE_865(p, o, s) BOOST_PP_WHILE_865_C(BOOST_PP_BOOL(p(866, s)), p, o, s) +# define BOOST_PP_WHILE_866(p, o, s) BOOST_PP_WHILE_866_C(BOOST_PP_BOOL(p(867, s)), p, o, s) +# define BOOST_PP_WHILE_867(p, o, s) BOOST_PP_WHILE_867_C(BOOST_PP_BOOL(p(868, s)), p, o, s) +# define BOOST_PP_WHILE_868(p, o, s) BOOST_PP_WHILE_868_C(BOOST_PP_BOOL(p(869, s)), p, o, s) +# define BOOST_PP_WHILE_869(p, o, s) BOOST_PP_WHILE_869_C(BOOST_PP_BOOL(p(870, s)), p, o, s) +# define BOOST_PP_WHILE_870(p, o, s) BOOST_PP_WHILE_870_C(BOOST_PP_BOOL(p(871, s)), p, o, s) +# define BOOST_PP_WHILE_871(p, o, s) BOOST_PP_WHILE_871_C(BOOST_PP_BOOL(p(872, s)), p, o, s) +# define BOOST_PP_WHILE_872(p, o, s) BOOST_PP_WHILE_872_C(BOOST_PP_BOOL(p(873, s)), p, o, s) +# define BOOST_PP_WHILE_873(p, o, s) BOOST_PP_WHILE_873_C(BOOST_PP_BOOL(p(874, s)), p, o, s) +# define BOOST_PP_WHILE_874(p, o, s) BOOST_PP_WHILE_874_C(BOOST_PP_BOOL(p(875, s)), p, o, s) +# define BOOST_PP_WHILE_875(p, o, s) BOOST_PP_WHILE_875_C(BOOST_PP_BOOL(p(876, s)), p, o, s) +# define BOOST_PP_WHILE_876(p, o, s) BOOST_PP_WHILE_876_C(BOOST_PP_BOOL(p(877, s)), p, o, s) +# define BOOST_PP_WHILE_877(p, o, s) BOOST_PP_WHILE_877_C(BOOST_PP_BOOL(p(878, s)), p, o, s) +# define BOOST_PP_WHILE_878(p, o, s) BOOST_PP_WHILE_878_C(BOOST_PP_BOOL(p(879, s)), p, o, s) +# define BOOST_PP_WHILE_879(p, o, s) BOOST_PP_WHILE_879_C(BOOST_PP_BOOL(p(880, s)), p, o, s) +# define BOOST_PP_WHILE_880(p, o, s) BOOST_PP_WHILE_880_C(BOOST_PP_BOOL(p(881, s)), p, o, s) +# define BOOST_PP_WHILE_881(p, o, s) BOOST_PP_WHILE_881_C(BOOST_PP_BOOL(p(882, s)), p, o, s) +# define BOOST_PP_WHILE_882(p, o, s) BOOST_PP_WHILE_882_C(BOOST_PP_BOOL(p(883, s)), p, o, s) +# define BOOST_PP_WHILE_883(p, o, s) BOOST_PP_WHILE_883_C(BOOST_PP_BOOL(p(884, s)), p, o, s) +# define BOOST_PP_WHILE_884(p, o, s) BOOST_PP_WHILE_884_C(BOOST_PP_BOOL(p(885, s)), p, o, s) +# define BOOST_PP_WHILE_885(p, o, s) BOOST_PP_WHILE_885_C(BOOST_PP_BOOL(p(886, s)), p, o, s) +# define BOOST_PP_WHILE_886(p, o, s) BOOST_PP_WHILE_886_C(BOOST_PP_BOOL(p(887, s)), p, o, s) +# define BOOST_PP_WHILE_887(p, o, s) BOOST_PP_WHILE_887_C(BOOST_PP_BOOL(p(888, s)), p, o, s) +# define BOOST_PP_WHILE_888(p, o, s) BOOST_PP_WHILE_888_C(BOOST_PP_BOOL(p(889, s)), p, o, s) +# define BOOST_PP_WHILE_889(p, o, s) BOOST_PP_WHILE_889_C(BOOST_PP_BOOL(p(890, s)), p, o, s) +# define BOOST_PP_WHILE_890(p, o, s) BOOST_PP_WHILE_890_C(BOOST_PP_BOOL(p(891, s)), p, o, s) +# define BOOST_PP_WHILE_891(p, o, s) BOOST_PP_WHILE_891_C(BOOST_PP_BOOL(p(892, s)), p, o, s) +# define BOOST_PP_WHILE_892(p, o, s) BOOST_PP_WHILE_892_C(BOOST_PP_BOOL(p(893, s)), p, o, s) +# define BOOST_PP_WHILE_893(p, o, s) BOOST_PP_WHILE_893_C(BOOST_PP_BOOL(p(894, s)), p, o, s) +# define BOOST_PP_WHILE_894(p, o, s) BOOST_PP_WHILE_894_C(BOOST_PP_BOOL(p(895, s)), p, o, s) +# define BOOST_PP_WHILE_895(p, o, s) BOOST_PP_WHILE_895_C(BOOST_PP_BOOL(p(896, s)), p, o, s) +# define BOOST_PP_WHILE_896(p, o, s) BOOST_PP_WHILE_896_C(BOOST_PP_BOOL(p(897, s)), p, o, s) +# define BOOST_PP_WHILE_897(p, o, s) BOOST_PP_WHILE_897_C(BOOST_PP_BOOL(p(898, s)), p, o, s) +# define BOOST_PP_WHILE_898(p, o, s) BOOST_PP_WHILE_898_C(BOOST_PP_BOOL(p(899, s)), p, o, s) +# define BOOST_PP_WHILE_899(p, o, s) BOOST_PP_WHILE_899_C(BOOST_PP_BOOL(p(900, s)), p, o, s) +# define BOOST_PP_WHILE_900(p, o, s) BOOST_PP_WHILE_900_C(BOOST_PP_BOOL(p(901, s)), p, o, s) +# define BOOST_PP_WHILE_901(p, o, s) BOOST_PP_WHILE_901_C(BOOST_PP_BOOL(p(902, s)), p, o, s) +# define BOOST_PP_WHILE_902(p, o, s) BOOST_PP_WHILE_902_C(BOOST_PP_BOOL(p(903, s)), p, o, s) +# define BOOST_PP_WHILE_903(p, o, s) BOOST_PP_WHILE_903_C(BOOST_PP_BOOL(p(904, s)), p, o, s) +# define BOOST_PP_WHILE_904(p, o, s) BOOST_PP_WHILE_904_C(BOOST_PP_BOOL(p(905, s)), p, o, s) +# define BOOST_PP_WHILE_905(p, o, s) BOOST_PP_WHILE_905_C(BOOST_PP_BOOL(p(906, s)), p, o, s) +# define BOOST_PP_WHILE_906(p, o, s) BOOST_PP_WHILE_906_C(BOOST_PP_BOOL(p(907, s)), p, o, s) +# define BOOST_PP_WHILE_907(p, o, s) BOOST_PP_WHILE_907_C(BOOST_PP_BOOL(p(908, s)), p, o, s) +# define BOOST_PP_WHILE_908(p, o, s) BOOST_PP_WHILE_908_C(BOOST_PP_BOOL(p(909, s)), p, o, s) +# define BOOST_PP_WHILE_909(p, o, s) BOOST_PP_WHILE_909_C(BOOST_PP_BOOL(p(910, s)), p, o, s) +# define BOOST_PP_WHILE_910(p, o, s) BOOST_PP_WHILE_910_C(BOOST_PP_BOOL(p(911, s)), p, o, s) +# define BOOST_PP_WHILE_911(p, o, s) BOOST_PP_WHILE_911_C(BOOST_PP_BOOL(p(912, s)), p, o, s) +# define BOOST_PP_WHILE_912(p, o, s) BOOST_PP_WHILE_912_C(BOOST_PP_BOOL(p(913, s)), p, o, s) +# define BOOST_PP_WHILE_913(p, o, s) BOOST_PP_WHILE_913_C(BOOST_PP_BOOL(p(914, s)), p, o, s) +# define BOOST_PP_WHILE_914(p, o, s) BOOST_PP_WHILE_914_C(BOOST_PP_BOOL(p(915, s)), p, o, s) +# define BOOST_PP_WHILE_915(p, o, s) BOOST_PP_WHILE_915_C(BOOST_PP_BOOL(p(916, s)), p, o, s) +# define BOOST_PP_WHILE_916(p, o, s) BOOST_PP_WHILE_916_C(BOOST_PP_BOOL(p(917, s)), p, o, s) +# define BOOST_PP_WHILE_917(p, o, s) BOOST_PP_WHILE_917_C(BOOST_PP_BOOL(p(918, s)), p, o, s) +# define BOOST_PP_WHILE_918(p, o, s) BOOST_PP_WHILE_918_C(BOOST_PP_BOOL(p(919, s)), p, o, s) +# define BOOST_PP_WHILE_919(p, o, s) BOOST_PP_WHILE_919_C(BOOST_PP_BOOL(p(920, s)), p, o, s) +# define BOOST_PP_WHILE_920(p, o, s) BOOST_PP_WHILE_920_C(BOOST_PP_BOOL(p(921, s)), p, o, s) +# define BOOST_PP_WHILE_921(p, o, s) BOOST_PP_WHILE_921_C(BOOST_PP_BOOL(p(922, s)), p, o, s) +# define BOOST_PP_WHILE_922(p, o, s) BOOST_PP_WHILE_922_C(BOOST_PP_BOOL(p(923, s)), p, o, s) +# define BOOST_PP_WHILE_923(p, o, s) BOOST_PP_WHILE_923_C(BOOST_PP_BOOL(p(924, s)), p, o, s) +# define BOOST_PP_WHILE_924(p, o, s) BOOST_PP_WHILE_924_C(BOOST_PP_BOOL(p(925, s)), p, o, s) +# define BOOST_PP_WHILE_925(p, o, s) BOOST_PP_WHILE_925_C(BOOST_PP_BOOL(p(926, s)), p, o, s) +# define BOOST_PP_WHILE_926(p, o, s) BOOST_PP_WHILE_926_C(BOOST_PP_BOOL(p(927, s)), p, o, s) +# define BOOST_PP_WHILE_927(p, o, s) BOOST_PP_WHILE_927_C(BOOST_PP_BOOL(p(928, s)), p, o, s) +# define BOOST_PP_WHILE_928(p, o, s) BOOST_PP_WHILE_928_C(BOOST_PP_BOOL(p(929, s)), p, o, s) +# define BOOST_PP_WHILE_929(p, o, s) BOOST_PP_WHILE_929_C(BOOST_PP_BOOL(p(930, s)), p, o, s) +# define BOOST_PP_WHILE_930(p, o, s) BOOST_PP_WHILE_930_C(BOOST_PP_BOOL(p(931, s)), p, o, s) +# define BOOST_PP_WHILE_931(p, o, s) BOOST_PP_WHILE_931_C(BOOST_PP_BOOL(p(932, s)), p, o, s) +# define BOOST_PP_WHILE_932(p, o, s) BOOST_PP_WHILE_932_C(BOOST_PP_BOOL(p(933, s)), p, o, s) +# define BOOST_PP_WHILE_933(p, o, s) BOOST_PP_WHILE_933_C(BOOST_PP_BOOL(p(934, s)), p, o, s) +# define BOOST_PP_WHILE_934(p, o, s) BOOST_PP_WHILE_934_C(BOOST_PP_BOOL(p(935, s)), p, o, s) +# define BOOST_PP_WHILE_935(p, o, s) BOOST_PP_WHILE_935_C(BOOST_PP_BOOL(p(936, s)), p, o, s) +# define BOOST_PP_WHILE_936(p, o, s) BOOST_PP_WHILE_936_C(BOOST_PP_BOOL(p(937, s)), p, o, s) +# define BOOST_PP_WHILE_937(p, o, s) BOOST_PP_WHILE_937_C(BOOST_PP_BOOL(p(938, s)), p, o, s) +# define BOOST_PP_WHILE_938(p, o, s) BOOST_PP_WHILE_938_C(BOOST_PP_BOOL(p(939, s)), p, o, s) +# define BOOST_PP_WHILE_939(p, o, s) BOOST_PP_WHILE_939_C(BOOST_PP_BOOL(p(940, s)), p, o, s) +# define BOOST_PP_WHILE_940(p, o, s) BOOST_PP_WHILE_940_C(BOOST_PP_BOOL(p(941, s)), p, o, s) +# define BOOST_PP_WHILE_941(p, o, s) BOOST_PP_WHILE_941_C(BOOST_PP_BOOL(p(942, s)), p, o, s) +# define BOOST_PP_WHILE_942(p, o, s) BOOST_PP_WHILE_942_C(BOOST_PP_BOOL(p(943, s)), p, o, s) +# define BOOST_PP_WHILE_943(p, o, s) BOOST_PP_WHILE_943_C(BOOST_PP_BOOL(p(944, s)), p, o, s) +# define BOOST_PP_WHILE_944(p, o, s) BOOST_PP_WHILE_944_C(BOOST_PP_BOOL(p(945, s)), p, o, s) +# define BOOST_PP_WHILE_945(p, o, s) BOOST_PP_WHILE_945_C(BOOST_PP_BOOL(p(946, s)), p, o, s) +# define BOOST_PP_WHILE_946(p, o, s) BOOST_PP_WHILE_946_C(BOOST_PP_BOOL(p(947, s)), p, o, s) +# define BOOST_PP_WHILE_947(p, o, s) BOOST_PP_WHILE_947_C(BOOST_PP_BOOL(p(948, s)), p, o, s) +# define BOOST_PP_WHILE_948(p, o, s) BOOST_PP_WHILE_948_C(BOOST_PP_BOOL(p(949, s)), p, o, s) +# define BOOST_PP_WHILE_949(p, o, s) BOOST_PP_WHILE_949_C(BOOST_PP_BOOL(p(950, s)), p, o, s) +# define BOOST_PP_WHILE_950(p, o, s) BOOST_PP_WHILE_950_C(BOOST_PP_BOOL(p(951, s)), p, o, s) +# define BOOST_PP_WHILE_951(p, o, s) BOOST_PP_WHILE_951_C(BOOST_PP_BOOL(p(952, s)), p, o, s) +# define BOOST_PP_WHILE_952(p, o, s) BOOST_PP_WHILE_952_C(BOOST_PP_BOOL(p(953, s)), p, o, s) +# define BOOST_PP_WHILE_953(p, o, s) BOOST_PP_WHILE_953_C(BOOST_PP_BOOL(p(954, s)), p, o, s) +# define BOOST_PP_WHILE_954(p, o, s) BOOST_PP_WHILE_954_C(BOOST_PP_BOOL(p(955, s)), p, o, s) +# define BOOST_PP_WHILE_955(p, o, s) BOOST_PP_WHILE_955_C(BOOST_PP_BOOL(p(956, s)), p, o, s) +# define BOOST_PP_WHILE_956(p, o, s) BOOST_PP_WHILE_956_C(BOOST_PP_BOOL(p(957, s)), p, o, s) +# define BOOST_PP_WHILE_957(p, o, s) BOOST_PP_WHILE_957_C(BOOST_PP_BOOL(p(958, s)), p, o, s) +# define BOOST_PP_WHILE_958(p, o, s) BOOST_PP_WHILE_958_C(BOOST_PP_BOOL(p(959, s)), p, o, s) +# define BOOST_PP_WHILE_959(p, o, s) BOOST_PP_WHILE_959_C(BOOST_PP_BOOL(p(960, s)), p, o, s) +# define BOOST_PP_WHILE_960(p, o, s) BOOST_PP_WHILE_960_C(BOOST_PP_BOOL(p(961, s)), p, o, s) +# define BOOST_PP_WHILE_961(p, o, s) BOOST_PP_WHILE_961_C(BOOST_PP_BOOL(p(962, s)), p, o, s) +# define BOOST_PP_WHILE_962(p, o, s) BOOST_PP_WHILE_962_C(BOOST_PP_BOOL(p(963, s)), p, o, s) +# define BOOST_PP_WHILE_963(p, o, s) BOOST_PP_WHILE_963_C(BOOST_PP_BOOL(p(964, s)), p, o, s) +# define BOOST_PP_WHILE_964(p, o, s) BOOST_PP_WHILE_964_C(BOOST_PP_BOOL(p(965, s)), p, o, s) +# define BOOST_PP_WHILE_965(p, o, s) BOOST_PP_WHILE_965_C(BOOST_PP_BOOL(p(966, s)), p, o, s) +# define BOOST_PP_WHILE_966(p, o, s) BOOST_PP_WHILE_966_C(BOOST_PP_BOOL(p(967, s)), p, o, s) +# define BOOST_PP_WHILE_967(p, o, s) BOOST_PP_WHILE_967_C(BOOST_PP_BOOL(p(968, s)), p, o, s) +# define BOOST_PP_WHILE_968(p, o, s) BOOST_PP_WHILE_968_C(BOOST_PP_BOOL(p(969, s)), p, o, s) +# define BOOST_PP_WHILE_969(p, o, s) BOOST_PP_WHILE_969_C(BOOST_PP_BOOL(p(970, s)), p, o, s) +# define BOOST_PP_WHILE_970(p, o, s) BOOST_PP_WHILE_970_C(BOOST_PP_BOOL(p(971, s)), p, o, s) +# define BOOST_PP_WHILE_971(p, o, s) BOOST_PP_WHILE_971_C(BOOST_PP_BOOL(p(972, s)), p, o, s) +# define BOOST_PP_WHILE_972(p, o, s) BOOST_PP_WHILE_972_C(BOOST_PP_BOOL(p(973, s)), p, o, s) +# define BOOST_PP_WHILE_973(p, o, s) BOOST_PP_WHILE_973_C(BOOST_PP_BOOL(p(974, s)), p, o, s) +# define BOOST_PP_WHILE_974(p, o, s) BOOST_PP_WHILE_974_C(BOOST_PP_BOOL(p(975, s)), p, o, s) +# define BOOST_PP_WHILE_975(p, o, s) BOOST_PP_WHILE_975_C(BOOST_PP_BOOL(p(976, s)), p, o, s) +# define BOOST_PP_WHILE_976(p, o, s) BOOST_PP_WHILE_976_C(BOOST_PP_BOOL(p(977, s)), p, o, s) +# define BOOST_PP_WHILE_977(p, o, s) BOOST_PP_WHILE_977_C(BOOST_PP_BOOL(p(978, s)), p, o, s) +# define BOOST_PP_WHILE_978(p, o, s) BOOST_PP_WHILE_978_C(BOOST_PP_BOOL(p(979, s)), p, o, s) +# define BOOST_PP_WHILE_979(p, o, s) BOOST_PP_WHILE_979_C(BOOST_PP_BOOL(p(980, s)), p, o, s) +# define BOOST_PP_WHILE_980(p, o, s) BOOST_PP_WHILE_980_C(BOOST_PP_BOOL(p(981, s)), p, o, s) +# define BOOST_PP_WHILE_981(p, o, s) BOOST_PP_WHILE_981_C(BOOST_PP_BOOL(p(982, s)), p, o, s) +# define BOOST_PP_WHILE_982(p, o, s) BOOST_PP_WHILE_982_C(BOOST_PP_BOOL(p(983, s)), p, o, s) +# define BOOST_PP_WHILE_983(p, o, s) BOOST_PP_WHILE_983_C(BOOST_PP_BOOL(p(984, s)), p, o, s) +# define BOOST_PP_WHILE_984(p, o, s) BOOST_PP_WHILE_984_C(BOOST_PP_BOOL(p(985, s)), p, o, s) +# define BOOST_PP_WHILE_985(p, o, s) BOOST_PP_WHILE_985_C(BOOST_PP_BOOL(p(986, s)), p, o, s) +# define BOOST_PP_WHILE_986(p, o, s) BOOST_PP_WHILE_986_C(BOOST_PP_BOOL(p(987, s)), p, o, s) +# define BOOST_PP_WHILE_987(p, o, s) BOOST_PP_WHILE_987_C(BOOST_PP_BOOL(p(988, s)), p, o, s) +# define BOOST_PP_WHILE_988(p, o, s) BOOST_PP_WHILE_988_C(BOOST_PP_BOOL(p(989, s)), p, o, s) +# define BOOST_PP_WHILE_989(p, o, s) BOOST_PP_WHILE_989_C(BOOST_PP_BOOL(p(990, s)), p, o, s) +# define BOOST_PP_WHILE_990(p, o, s) BOOST_PP_WHILE_990_C(BOOST_PP_BOOL(p(991, s)), p, o, s) +# define BOOST_PP_WHILE_991(p, o, s) BOOST_PP_WHILE_991_C(BOOST_PP_BOOL(p(992, s)), p, o, s) +# define BOOST_PP_WHILE_992(p, o, s) BOOST_PP_WHILE_992_C(BOOST_PP_BOOL(p(993, s)), p, o, s) +# define BOOST_PP_WHILE_993(p, o, s) BOOST_PP_WHILE_993_C(BOOST_PP_BOOL(p(994, s)), p, o, s) +# define BOOST_PP_WHILE_994(p, o, s) BOOST_PP_WHILE_994_C(BOOST_PP_BOOL(p(995, s)), p, o, s) +# define BOOST_PP_WHILE_995(p, o, s) BOOST_PP_WHILE_995_C(BOOST_PP_BOOL(p(996, s)), p, o, s) +# define BOOST_PP_WHILE_996(p, o, s) BOOST_PP_WHILE_996_C(BOOST_PP_BOOL(p(997, s)), p, o, s) +# define BOOST_PP_WHILE_997(p, o, s) BOOST_PP_WHILE_997_C(BOOST_PP_BOOL(p(998, s)), p, o, s) +# define BOOST_PP_WHILE_998(p, o, s) BOOST_PP_WHILE_998_C(BOOST_PP_BOOL(p(999, s)), p, o, s) +# define BOOST_PP_WHILE_999(p, o, s) BOOST_PP_WHILE_999_C(BOOST_PP_BOOL(p(1000, s)), p, o, s) +# define BOOST_PP_WHILE_1000(p, o, s) BOOST_PP_WHILE_1000_C(BOOST_PP_BOOL(p(1001, s)), p, o, s) +# define BOOST_PP_WHILE_1001(p, o, s) BOOST_PP_WHILE_1001_C(BOOST_PP_BOOL(p(1002, s)), p, o, s) +# define BOOST_PP_WHILE_1002(p, o, s) BOOST_PP_WHILE_1002_C(BOOST_PP_BOOL(p(1003, s)), p, o, s) +# define BOOST_PP_WHILE_1003(p, o, s) BOOST_PP_WHILE_1003_C(BOOST_PP_BOOL(p(1004, s)), p, o, s) +# define BOOST_PP_WHILE_1004(p, o, s) BOOST_PP_WHILE_1004_C(BOOST_PP_BOOL(p(1005, s)), p, o, s) +# define BOOST_PP_WHILE_1005(p, o, s) BOOST_PP_WHILE_1005_C(BOOST_PP_BOOL(p(1006, s)), p, o, s) +# define BOOST_PP_WHILE_1006(p, o, s) BOOST_PP_WHILE_1006_C(BOOST_PP_BOOL(p(1007, s)), p, o, s) +# define BOOST_PP_WHILE_1007(p, o, s) BOOST_PP_WHILE_1007_C(BOOST_PP_BOOL(p(1008, s)), p, o, s) +# define BOOST_PP_WHILE_1008(p, o, s) BOOST_PP_WHILE_1008_C(BOOST_PP_BOOL(p(1009, s)), p, o, s) +# define BOOST_PP_WHILE_1009(p, o, s) BOOST_PP_WHILE_1009_C(BOOST_PP_BOOL(p(1010, s)), p, o, s) +# define BOOST_PP_WHILE_1010(p, o, s) BOOST_PP_WHILE_1010_C(BOOST_PP_BOOL(p(1011, s)), p, o, s) +# define BOOST_PP_WHILE_1011(p, o, s) BOOST_PP_WHILE_1011_C(BOOST_PP_BOOL(p(1012, s)), p, o, s) +# define BOOST_PP_WHILE_1012(p, o, s) BOOST_PP_WHILE_1012_C(BOOST_PP_BOOL(p(1013, s)), p, o, s) +# define BOOST_PP_WHILE_1013(p, o, s) BOOST_PP_WHILE_1013_C(BOOST_PP_BOOL(p(1014, s)), p, o, s) +# define BOOST_PP_WHILE_1014(p, o, s) BOOST_PP_WHILE_1014_C(BOOST_PP_BOOL(p(1015, s)), p, o, s) +# define BOOST_PP_WHILE_1015(p, o, s) BOOST_PP_WHILE_1015_C(BOOST_PP_BOOL(p(1016, s)), p, o, s) +# define BOOST_PP_WHILE_1016(p, o, s) BOOST_PP_WHILE_1016_C(BOOST_PP_BOOL(p(1017, s)), p, o, s) +# define BOOST_PP_WHILE_1017(p, o, s) BOOST_PP_WHILE_1017_C(BOOST_PP_BOOL(p(1018, s)), p, o, s) +# define BOOST_PP_WHILE_1018(p, o, s) BOOST_PP_WHILE_1018_C(BOOST_PP_BOOL(p(1019, s)), p, o, s) +# define BOOST_PP_WHILE_1019(p, o, s) BOOST_PP_WHILE_1019_C(BOOST_PP_BOOL(p(1020, s)), p, o, s) +# define BOOST_PP_WHILE_1020(p, o, s) BOOST_PP_WHILE_1020_C(BOOST_PP_BOOL(p(1021, s)), p, o, s) +# define BOOST_PP_WHILE_1021(p, o, s) BOOST_PP_WHILE_1021_C(BOOST_PP_BOOL(p(1022, s)), p, o, s) +# define BOOST_PP_WHILE_1022(p, o, s) BOOST_PP_WHILE_1022_C(BOOST_PP_BOOL(p(1023, s)), p, o, s) +# define BOOST_PP_WHILE_1023(p, o, s) BOOST_PP_WHILE_1023_C(BOOST_PP_BOOL(p(1024, s)), p, o, s) +# define BOOST_PP_WHILE_1024(p, o, s) BOOST_PP_WHILE_1024_C(BOOST_PP_BOOL(p(1025, s)), p, o, s) +# +# define BOOST_PP_WHILE_513_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_514, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(514, s)) +# define BOOST_PP_WHILE_514_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_515, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(515, s)) +# define BOOST_PP_WHILE_515_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_516, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(516, s)) +# define BOOST_PP_WHILE_516_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_517, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(517, s)) +# define BOOST_PP_WHILE_517_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_518, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(518, s)) +# define BOOST_PP_WHILE_518_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_519, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(519, s)) +# define BOOST_PP_WHILE_519_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_520, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(520, s)) +# define BOOST_PP_WHILE_520_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_521, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(521, s)) +# define BOOST_PP_WHILE_521_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_522, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(522, s)) +# define BOOST_PP_WHILE_522_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_523, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(523, s)) +# define BOOST_PP_WHILE_523_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_524, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(524, s)) +# define BOOST_PP_WHILE_524_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_525, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(525, s)) +# define BOOST_PP_WHILE_525_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_526, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(526, s)) +# define BOOST_PP_WHILE_526_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_527, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(527, s)) +# define BOOST_PP_WHILE_527_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_528, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(528, s)) +# define BOOST_PP_WHILE_528_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_529, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(529, s)) +# define BOOST_PP_WHILE_529_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_530, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(530, s)) +# define BOOST_PP_WHILE_530_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_531, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(531, s)) +# define BOOST_PP_WHILE_531_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_532, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(532, s)) +# define BOOST_PP_WHILE_532_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_533, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(533, s)) +# define BOOST_PP_WHILE_533_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_534, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(534, s)) +# define BOOST_PP_WHILE_534_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_535, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(535, s)) +# define BOOST_PP_WHILE_535_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_536, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(536, s)) +# define BOOST_PP_WHILE_536_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_537, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(537, s)) +# define BOOST_PP_WHILE_537_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_538, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(538, s)) +# define BOOST_PP_WHILE_538_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_539, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(539, s)) +# define BOOST_PP_WHILE_539_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_540, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(540, s)) +# define BOOST_PP_WHILE_540_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_541, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(541, s)) +# define BOOST_PP_WHILE_541_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_542, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(542, s)) +# define BOOST_PP_WHILE_542_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_543, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(543, s)) +# define BOOST_PP_WHILE_543_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_544, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(544, s)) +# define BOOST_PP_WHILE_544_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_545, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(545, s)) +# define BOOST_PP_WHILE_545_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_546, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(546, s)) +# define BOOST_PP_WHILE_546_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_547, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(547, s)) +# define BOOST_PP_WHILE_547_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_548, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(548, s)) +# define BOOST_PP_WHILE_548_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_549, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(549, s)) +# define BOOST_PP_WHILE_549_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_550, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(550, s)) +# define BOOST_PP_WHILE_550_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_551, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(551, s)) +# define BOOST_PP_WHILE_551_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_552, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(552, s)) +# define BOOST_PP_WHILE_552_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_553, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(553, s)) +# define BOOST_PP_WHILE_553_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_554, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(554, s)) +# define BOOST_PP_WHILE_554_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_555, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(555, s)) +# define BOOST_PP_WHILE_555_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_556, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(556, s)) +# define BOOST_PP_WHILE_556_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_557, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(557, s)) +# define BOOST_PP_WHILE_557_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_558, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(558, s)) +# define BOOST_PP_WHILE_558_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_559, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(559, s)) +# define BOOST_PP_WHILE_559_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_560, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(560, s)) +# define BOOST_PP_WHILE_560_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_561, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(561, s)) +# define BOOST_PP_WHILE_561_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_562, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(562, s)) +# define BOOST_PP_WHILE_562_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_563, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(563, s)) +# define BOOST_PP_WHILE_563_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_564, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(564, s)) +# define BOOST_PP_WHILE_564_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_565, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(565, s)) +# define BOOST_PP_WHILE_565_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_566, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(566, s)) +# define BOOST_PP_WHILE_566_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_567, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(567, s)) +# define BOOST_PP_WHILE_567_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_568, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(568, s)) +# define BOOST_PP_WHILE_568_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_569, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(569, s)) +# define BOOST_PP_WHILE_569_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_570, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(570, s)) +# define BOOST_PP_WHILE_570_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_571, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(571, s)) +# define BOOST_PP_WHILE_571_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_572, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(572, s)) +# define BOOST_PP_WHILE_572_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_573, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(573, s)) +# define BOOST_PP_WHILE_573_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_574, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(574, s)) +# define BOOST_PP_WHILE_574_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_575, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(575, s)) +# define BOOST_PP_WHILE_575_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_576, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(576, s)) +# define BOOST_PP_WHILE_576_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_577, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(577, s)) +# define BOOST_PP_WHILE_577_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_578, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(578, s)) +# define BOOST_PP_WHILE_578_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_579, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(579, s)) +# define BOOST_PP_WHILE_579_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_580, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(580, s)) +# define BOOST_PP_WHILE_580_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_581, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(581, s)) +# define BOOST_PP_WHILE_581_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_582, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(582, s)) +# define BOOST_PP_WHILE_582_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_583, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(583, s)) +# define BOOST_PP_WHILE_583_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_584, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(584, s)) +# define BOOST_PP_WHILE_584_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_585, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(585, s)) +# define BOOST_PP_WHILE_585_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_586, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(586, s)) +# define BOOST_PP_WHILE_586_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_587, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(587, s)) +# define BOOST_PP_WHILE_587_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_588, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(588, s)) +# define BOOST_PP_WHILE_588_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_589, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(589, s)) +# define BOOST_PP_WHILE_589_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_590, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(590, s)) +# define BOOST_PP_WHILE_590_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_591, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(591, s)) +# define BOOST_PP_WHILE_591_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_592, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(592, s)) +# define BOOST_PP_WHILE_592_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_593, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(593, s)) +# define BOOST_PP_WHILE_593_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_594, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(594, s)) +# define BOOST_PP_WHILE_594_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_595, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(595, s)) +# define BOOST_PP_WHILE_595_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_596, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(596, s)) +# define BOOST_PP_WHILE_596_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_597, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(597, s)) +# define BOOST_PP_WHILE_597_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_598, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(598, s)) +# define BOOST_PP_WHILE_598_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_599, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(599, s)) +# define BOOST_PP_WHILE_599_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_600, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(600, s)) +# define BOOST_PP_WHILE_600_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_601, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(601, s)) +# define BOOST_PP_WHILE_601_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_602, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(602, s)) +# define BOOST_PP_WHILE_602_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_603, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(603, s)) +# define BOOST_PP_WHILE_603_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_604, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(604, s)) +# define BOOST_PP_WHILE_604_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_605, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(605, s)) +# define BOOST_PP_WHILE_605_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_606, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(606, s)) +# define BOOST_PP_WHILE_606_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_607, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(607, s)) +# define BOOST_PP_WHILE_607_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_608, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(608, s)) +# define BOOST_PP_WHILE_608_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_609, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(609, s)) +# define BOOST_PP_WHILE_609_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_610, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(610, s)) +# define BOOST_PP_WHILE_610_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_611, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(611, s)) +# define BOOST_PP_WHILE_611_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_612, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(612, s)) +# define BOOST_PP_WHILE_612_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_613, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(613, s)) +# define BOOST_PP_WHILE_613_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_614, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(614, s)) +# define BOOST_PP_WHILE_614_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_615, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(615, s)) +# define BOOST_PP_WHILE_615_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_616, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(616, s)) +# define BOOST_PP_WHILE_616_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_617, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(617, s)) +# define BOOST_PP_WHILE_617_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_618, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(618, s)) +# define BOOST_PP_WHILE_618_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_619, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(619, s)) +# define BOOST_PP_WHILE_619_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_620, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(620, s)) +# define BOOST_PP_WHILE_620_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_621, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(621, s)) +# define BOOST_PP_WHILE_621_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_622, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(622, s)) +# define BOOST_PP_WHILE_622_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_623, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(623, s)) +# define BOOST_PP_WHILE_623_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_624, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(624, s)) +# define BOOST_PP_WHILE_624_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_625, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(625, s)) +# define BOOST_PP_WHILE_625_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_626, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(626, s)) +# define BOOST_PP_WHILE_626_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_627, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(627, s)) +# define BOOST_PP_WHILE_627_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_628, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(628, s)) +# define BOOST_PP_WHILE_628_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_629, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(629, s)) +# define BOOST_PP_WHILE_629_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_630, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(630, s)) +# define BOOST_PP_WHILE_630_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_631, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(631, s)) +# define BOOST_PP_WHILE_631_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_632, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(632, s)) +# define BOOST_PP_WHILE_632_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_633, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(633, s)) +# define BOOST_PP_WHILE_633_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_634, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(634, s)) +# define BOOST_PP_WHILE_634_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_635, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(635, s)) +# define BOOST_PP_WHILE_635_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_636, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(636, s)) +# define BOOST_PP_WHILE_636_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_637, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(637, s)) +# define BOOST_PP_WHILE_637_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_638, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(638, s)) +# define BOOST_PP_WHILE_638_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_639, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(639, s)) +# define BOOST_PP_WHILE_639_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_640, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(640, s)) +# define BOOST_PP_WHILE_640_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_641, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(641, s)) +# define BOOST_PP_WHILE_641_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_642, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(642, s)) +# define BOOST_PP_WHILE_642_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_643, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(643, s)) +# define BOOST_PP_WHILE_643_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_644, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(644, s)) +# define BOOST_PP_WHILE_644_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_645, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(645, s)) +# define BOOST_PP_WHILE_645_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_646, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(646, s)) +# define BOOST_PP_WHILE_646_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_647, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(647, s)) +# define BOOST_PP_WHILE_647_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_648, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(648, s)) +# define BOOST_PP_WHILE_648_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_649, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(649, s)) +# define BOOST_PP_WHILE_649_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_650, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(650, s)) +# define BOOST_PP_WHILE_650_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_651, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(651, s)) +# define BOOST_PP_WHILE_651_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_652, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(652, s)) +# define BOOST_PP_WHILE_652_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_653, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(653, s)) +# define BOOST_PP_WHILE_653_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_654, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(654, s)) +# define BOOST_PP_WHILE_654_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_655, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(655, s)) +# define BOOST_PP_WHILE_655_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_656, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(656, s)) +# define BOOST_PP_WHILE_656_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_657, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(657, s)) +# define BOOST_PP_WHILE_657_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_658, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(658, s)) +# define BOOST_PP_WHILE_658_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_659, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(659, s)) +# define BOOST_PP_WHILE_659_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_660, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(660, s)) +# define BOOST_PP_WHILE_660_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_661, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(661, s)) +# define BOOST_PP_WHILE_661_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_662, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(662, s)) +# define BOOST_PP_WHILE_662_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_663, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(663, s)) +# define BOOST_PP_WHILE_663_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_664, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(664, s)) +# define BOOST_PP_WHILE_664_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_665, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(665, s)) +# define BOOST_PP_WHILE_665_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_666, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(666, s)) +# define BOOST_PP_WHILE_666_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_667, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(667, s)) +# define BOOST_PP_WHILE_667_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_668, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(668, s)) +# define BOOST_PP_WHILE_668_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_669, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(669, s)) +# define BOOST_PP_WHILE_669_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_670, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(670, s)) +# define BOOST_PP_WHILE_670_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_671, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(671, s)) +# define BOOST_PP_WHILE_671_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_672, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(672, s)) +# define BOOST_PP_WHILE_672_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_673, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(673, s)) +# define BOOST_PP_WHILE_673_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_674, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(674, s)) +# define BOOST_PP_WHILE_674_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_675, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(675, s)) +# define BOOST_PP_WHILE_675_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_676, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(676, s)) +# define BOOST_PP_WHILE_676_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_677, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(677, s)) +# define BOOST_PP_WHILE_677_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_678, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(678, s)) +# define BOOST_PP_WHILE_678_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_679, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(679, s)) +# define BOOST_PP_WHILE_679_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_680, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(680, s)) +# define BOOST_PP_WHILE_680_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_681, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(681, s)) +# define BOOST_PP_WHILE_681_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_682, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(682, s)) +# define BOOST_PP_WHILE_682_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_683, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(683, s)) +# define BOOST_PP_WHILE_683_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_684, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(684, s)) +# define BOOST_PP_WHILE_684_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_685, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(685, s)) +# define BOOST_PP_WHILE_685_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_686, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(686, s)) +# define BOOST_PP_WHILE_686_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_687, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(687, s)) +# define BOOST_PP_WHILE_687_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_688, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(688, s)) +# define BOOST_PP_WHILE_688_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_689, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(689, s)) +# define BOOST_PP_WHILE_689_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_690, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(690, s)) +# define BOOST_PP_WHILE_690_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_691, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(691, s)) +# define BOOST_PP_WHILE_691_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_692, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(692, s)) +# define BOOST_PP_WHILE_692_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_693, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(693, s)) +# define BOOST_PP_WHILE_693_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_694, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(694, s)) +# define BOOST_PP_WHILE_694_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_695, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(695, s)) +# define BOOST_PP_WHILE_695_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_696, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(696, s)) +# define BOOST_PP_WHILE_696_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_697, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(697, s)) +# define BOOST_PP_WHILE_697_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_698, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(698, s)) +# define BOOST_PP_WHILE_698_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_699, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(699, s)) +# define BOOST_PP_WHILE_699_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_700, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(700, s)) +# define BOOST_PP_WHILE_700_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_701, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(701, s)) +# define BOOST_PP_WHILE_701_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_702, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(702, s)) +# define BOOST_PP_WHILE_702_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_703, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(703, s)) +# define BOOST_PP_WHILE_703_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_704, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(704, s)) +# define BOOST_PP_WHILE_704_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_705, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(705, s)) +# define BOOST_PP_WHILE_705_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_706, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(706, s)) +# define BOOST_PP_WHILE_706_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_707, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(707, s)) +# define BOOST_PP_WHILE_707_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_708, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(708, s)) +# define BOOST_PP_WHILE_708_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_709, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(709, s)) +# define BOOST_PP_WHILE_709_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_710, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(710, s)) +# define BOOST_PP_WHILE_710_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_711, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(711, s)) +# define BOOST_PP_WHILE_711_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_712, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(712, s)) +# define BOOST_PP_WHILE_712_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_713, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(713, s)) +# define BOOST_PP_WHILE_713_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_714, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(714, s)) +# define BOOST_PP_WHILE_714_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_715, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(715, s)) +# define BOOST_PP_WHILE_715_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_716, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(716, s)) +# define BOOST_PP_WHILE_716_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_717, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(717, s)) +# define BOOST_PP_WHILE_717_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_718, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(718, s)) +# define BOOST_PP_WHILE_718_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_719, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(719, s)) +# define BOOST_PP_WHILE_719_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_720, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(720, s)) +# define BOOST_PP_WHILE_720_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_721, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(721, s)) +# define BOOST_PP_WHILE_721_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_722, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(722, s)) +# define BOOST_PP_WHILE_722_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_723, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(723, s)) +# define BOOST_PP_WHILE_723_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_724, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(724, s)) +# define BOOST_PP_WHILE_724_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_725, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(725, s)) +# define BOOST_PP_WHILE_725_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_726, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(726, s)) +# define BOOST_PP_WHILE_726_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_727, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(727, s)) +# define BOOST_PP_WHILE_727_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_728, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(728, s)) +# define BOOST_PP_WHILE_728_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_729, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(729, s)) +# define BOOST_PP_WHILE_729_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_730, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(730, s)) +# define BOOST_PP_WHILE_730_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_731, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(731, s)) +# define BOOST_PP_WHILE_731_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_732, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(732, s)) +# define BOOST_PP_WHILE_732_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_733, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(733, s)) +# define BOOST_PP_WHILE_733_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_734, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(734, s)) +# define BOOST_PP_WHILE_734_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_735, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(735, s)) +# define BOOST_PP_WHILE_735_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_736, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(736, s)) +# define BOOST_PP_WHILE_736_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_737, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(737, s)) +# define BOOST_PP_WHILE_737_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_738, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(738, s)) +# define BOOST_PP_WHILE_738_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_739, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(739, s)) +# define BOOST_PP_WHILE_739_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_740, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(740, s)) +# define BOOST_PP_WHILE_740_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_741, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(741, s)) +# define BOOST_PP_WHILE_741_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_742, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(742, s)) +# define BOOST_PP_WHILE_742_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_743, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(743, s)) +# define BOOST_PP_WHILE_743_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_744, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(744, s)) +# define BOOST_PP_WHILE_744_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_745, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(745, s)) +# define BOOST_PP_WHILE_745_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_746, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(746, s)) +# define BOOST_PP_WHILE_746_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_747, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(747, s)) +# define BOOST_PP_WHILE_747_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_748, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(748, s)) +# define BOOST_PP_WHILE_748_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_749, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(749, s)) +# define BOOST_PP_WHILE_749_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_750, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(750, s)) +# define BOOST_PP_WHILE_750_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_751, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(751, s)) +# define BOOST_PP_WHILE_751_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_752, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(752, s)) +# define BOOST_PP_WHILE_752_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_753, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(753, s)) +# define BOOST_PP_WHILE_753_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_754, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(754, s)) +# define BOOST_PP_WHILE_754_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_755, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(755, s)) +# define BOOST_PP_WHILE_755_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_756, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(756, s)) +# define BOOST_PP_WHILE_756_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_757, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(757, s)) +# define BOOST_PP_WHILE_757_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_758, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(758, s)) +# define BOOST_PP_WHILE_758_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_759, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(759, s)) +# define BOOST_PP_WHILE_759_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_760, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(760, s)) +# define BOOST_PP_WHILE_760_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_761, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(761, s)) +# define BOOST_PP_WHILE_761_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_762, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(762, s)) +# define BOOST_PP_WHILE_762_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_763, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(763, s)) +# define BOOST_PP_WHILE_763_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_764, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(764, s)) +# define BOOST_PP_WHILE_764_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_765, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(765, s)) +# define BOOST_PP_WHILE_765_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_766, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(766, s)) +# define BOOST_PP_WHILE_766_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_767, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(767, s)) +# define BOOST_PP_WHILE_767_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_768, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(768, s)) +# define BOOST_PP_WHILE_768_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_769, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(769, s)) +# define BOOST_PP_WHILE_769_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_770, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(770, s)) +# define BOOST_PP_WHILE_770_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_771, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(771, s)) +# define BOOST_PP_WHILE_771_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_772, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(772, s)) +# define BOOST_PP_WHILE_772_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_773, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(773, s)) +# define BOOST_PP_WHILE_773_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_774, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(774, s)) +# define BOOST_PP_WHILE_774_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_775, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(775, s)) +# define BOOST_PP_WHILE_775_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_776, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(776, s)) +# define BOOST_PP_WHILE_776_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_777, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(777, s)) +# define BOOST_PP_WHILE_777_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_778, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(778, s)) +# define BOOST_PP_WHILE_778_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_779, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(779, s)) +# define BOOST_PP_WHILE_779_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_780, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(780, s)) +# define BOOST_PP_WHILE_780_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_781, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(781, s)) +# define BOOST_PP_WHILE_781_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_782, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(782, s)) +# define BOOST_PP_WHILE_782_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_783, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(783, s)) +# define BOOST_PP_WHILE_783_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_784, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(784, s)) +# define BOOST_PP_WHILE_784_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_785, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(785, s)) +# define BOOST_PP_WHILE_785_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_786, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(786, s)) +# define BOOST_PP_WHILE_786_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_787, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(787, s)) +# define BOOST_PP_WHILE_787_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_788, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(788, s)) +# define BOOST_PP_WHILE_788_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_789, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(789, s)) +# define BOOST_PP_WHILE_789_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_790, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(790, s)) +# define BOOST_PP_WHILE_790_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_791, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(791, s)) +# define BOOST_PP_WHILE_791_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_792, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(792, s)) +# define BOOST_PP_WHILE_792_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_793, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(793, s)) +# define BOOST_PP_WHILE_793_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_794, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(794, s)) +# define BOOST_PP_WHILE_794_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_795, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(795, s)) +# define BOOST_PP_WHILE_795_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_796, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(796, s)) +# define BOOST_PP_WHILE_796_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_797, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(797, s)) +# define BOOST_PP_WHILE_797_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_798, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(798, s)) +# define BOOST_PP_WHILE_798_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_799, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(799, s)) +# define BOOST_PP_WHILE_799_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_800, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(800, s)) +# define BOOST_PP_WHILE_800_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_801, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(801, s)) +# define BOOST_PP_WHILE_801_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_802, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(802, s)) +# define BOOST_PP_WHILE_802_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_803, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(803, s)) +# define BOOST_PP_WHILE_803_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_804, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(804, s)) +# define BOOST_PP_WHILE_804_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_805, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(805, s)) +# define BOOST_PP_WHILE_805_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_806, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(806, s)) +# define BOOST_PP_WHILE_806_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_807, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(807, s)) +# define BOOST_PP_WHILE_807_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_808, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(808, s)) +# define BOOST_PP_WHILE_808_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_809, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(809, s)) +# define BOOST_PP_WHILE_809_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_810, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(810, s)) +# define BOOST_PP_WHILE_810_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_811, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(811, s)) +# define BOOST_PP_WHILE_811_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_812, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(812, s)) +# define BOOST_PP_WHILE_812_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_813, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(813, s)) +# define BOOST_PP_WHILE_813_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_814, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(814, s)) +# define BOOST_PP_WHILE_814_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_815, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(815, s)) +# define BOOST_PP_WHILE_815_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_816, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(816, s)) +# define BOOST_PP_WHILE_816_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_817, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(817, s)) +# define BOOST_PP_WHILE_817_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_818, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(818, s)) +# define BOOST_PP_WHILE_818_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_819, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(819, s)) +# define BOOST_PP_WHILE_819_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_820, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(820, s)) +# define BOOST_PP_WHILE_820_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_821, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(821, s)) +# define BOOST_PP_WHILE_821_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_822, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(822, s)) +# define BOOST_PP_WHILE_822_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_823, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(823, s)) +# define BOOST_PP_WHILE_823_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_824, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(824, s)) +# define BOOST_PP_WHILE_824_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_825, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(825, s)) +# define BOOST_PP_WHILE_825_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_826, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(826, s)) +# define BOOST_PP_WHILE_826_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_827, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(827, s)) +# define BOOST_PP_WHILE_827_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_828, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(828, s)) +# define BOOST_PP_WHILE_828_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_829, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(829, s)) +# define BOOST_PP_WHILE_829_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_830, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(830, s)) +# define BOOST_PP_WHILE_830_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_831, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(831, s)) +# define BOOST_PP_WHILE_831_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_832, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(832, s)) +# define BOOST_PP_WHILE_832_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_833, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(833, s)) +# define BOOST_PP_WHILE_833_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_834, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(834, s)) +# define BOOST_PP_WHILE_834_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_835, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(835, s)) +# define BOOST_PP_WHILE_835_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_836, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(836, s)) +# define BOOST_PP_WHILE_836_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_837, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(837, s)) +# define BOOST_PP_WHILE_837_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_838, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(838, s)) +# define BOOST_PP_WHILE_838_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_839, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(839, s)) +# define BOOST_PP_WHILE_839_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_840, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(840, s)) +# define BOOST_PP_WHILE_840_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_841, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(841, s)) +# define BOOST_PP_WHILE_841_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_842, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(842, s)) +# define BOOST_PP_WHILE_842_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_843, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(843, s)) +# define BOOST_PP_WHILE_843_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_844, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(844, s)) +# define BOOST_PP_WHILE_844_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_845, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(845, s)) +# define BOOST_PP_WHILE_845_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_846, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(846, s)) +# define BOOST_PP_WHILE_846_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_847, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(847, s)) +# define BOOST_PP_WHILE_847_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_848, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(848, s)) +# define BOOST_PP_WHILE_848_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_849, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(849, s)) +# define BOOST_PP_WHILE_849_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_850, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(850, s)) +# define BOOST_PP_WHILE_850_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_851, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(851, s)) +# define BOOST_PP_WHILE_851_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_852, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(852, s)) +# define BOOST_PP_WHILE_852_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_853, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(853, s)) +# define BOOST_PP_WHILE_853_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_854, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(854, s)) +# define BOOST_PP_WHILE_854_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_855, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(855, s)) +# define BOOST_PP_WHILE_855_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_856, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(856, s)) +# define BOOST_PP_WHILE_856_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_857, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(857, s)) +# define BOOST_PP_WHILE_857_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_858, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(858, s)) +# define BOOST_PP_WHILE_858_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_859, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(859, s)) +# define BOOST_PP_WHILE_859_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_860, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(860, s)) +# define BOOST_PP_WHILE_860_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_861, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(861, s)) +# define BOOST_PP_WHILE_861_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_862, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(862, s)) +# define BOOST_PP_WHILE_862_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_863, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(863, s)) +# define BOOST_PP_WHILE_863_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_864, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(864, s)) +# define BOOST_PP_WHILE_864_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_865, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(865, s)) +# define BOOST_PP_WHILE_865_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_866, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(866, s)) +# define BOOST_PP_WHILE_866_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_867, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(867, s)) +# define BOOST_PP_WHILE_867_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_868, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(868, s)) +# define BOOST_PP_WHILE_868_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_869, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(869, s)) +# define BOOST_PP_WHILE_869_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_870, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(870, s)) +# define BOOST_PP_WHILE_870_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_871, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(871, s)) +# define BOOST_PP_WHILE_871_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_872, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(872, s)) +# define BOOST_PP_WHILE_872_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_873, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(873, s)) +# define BOOST_PP_WHILE_873_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_874, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(874, s)) +# define BOOST_PP_WHILE_874_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_875, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(875, s)) +# define BOOST_PP_WHILE_875_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_876, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(876, s)) +# define BOOST_PP_WHILE_876_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_877, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(877, s)) +# define BOOST_PP_WHILE_877_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_878, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(878, s)) +# define BOOST_PP_WHILE_878_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_879, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(879, s)) +# define BOOST_PP_WHILE_879_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_880, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(880, s)) +# define BOOST_PP_WHILE_880_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_881, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(881, s)) +# define BOOST_PP_WHILE_881_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_882, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(882, s)) +# define BOOST_PP_WHILE_882_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_883, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(883, s)) +# define BOOST_PP_WHILE_883_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_884, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(884, s)) +# define BOOST_PP_WHILE_884_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_885, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(885, s)) +# define BOOST_PP_WHILE_885_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_886, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(886, s)) +# define BOOST_PP_WHILE_886_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_887, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(887, s)) +# define BOOST_PP_WHILE_887_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_888, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(888, s)) +# define BOOST_PP_WHILE_888_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_889, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(889, s)) +# define BOOST_PP_WHILE_889_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_890, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(890, s)) +# define BOOST_PP_WHILE_890_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_891, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(891, s)) +# define BOOST_PP_WHILE_891_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_892, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(892, s)) +# define BOOST_PP_WHILE_892_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_893, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(893, s)) +# define BOOST_PP_WHILE_893_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_894, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(894, s)) +# define BOOST_PP_WHILE_894_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_895, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(895, s)) +# define BOOST_PP_WHILE_895_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_896, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(896, s)) +# define BOOST_PP_WHILE_896_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_897, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(897, s)) +# define BOOST_PP_WHILE_897_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_898, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(898, s)) +# define BOOST_PP_WHILE_898_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_899, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(899, s)) +# define BOOST_PP_WHILE_899_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_900, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(900, s)) +# define BOOST_PP_WHILE_900_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_901, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(901, s)) +# define BOOST_PP_WHILE_901_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_902, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(902, s)) +# define BOOST_PP_WHILE_902_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_903, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(903, s)) +# define BOOST_PP_WHILE_903_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_904, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(904, s)) +# define BOOST_PP_WHILE_904_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_905, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(905, s)) +# define BOOST_PP_WHILE_905_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_906, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(906, s)) +# define BOOST_PP_WHILE_906_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_907, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(907, s)) +# define BOOST_PP_WHILE_907_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_908, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(908, s)) +# define BOOST_PP_WHILE_908_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_909, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(909, s)) +# define BOOST_PP_WHILE_909_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_910, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(910, s)) +# define BOOST_PP_WHILE_910_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_911, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(911, s)) +# define BOOST_PP_WHILE_911_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_912, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(912, s)) +# define BOOST_PP_WHILE_912_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_913, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(913, s)) +# define BOOST_PP_WHILE_913_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_914, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(914, s)) +# define BOOST_PP_WHILE_914_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_915, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(915, s)) +# define BOOST_PP_WHILE_915_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_916, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(916, s)) +# define BOOST_PP_WHILE_916_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_917, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(917, s)) +# define BOOST_PP_WHILE_917_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_918, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(918, s)) +# define BOOST_PP_WHILE_918_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_919, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(919, s)) +# define BOOST_PP_WHILE_919_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_920, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(920, s)) +# define BOOST_PP_WHILE_920_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_921, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(921, s)) +# define BOOST_PP_WHILE_921_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_922, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(922, s)) +# define BOOST_PP_WHILE_922_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_923, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(923, s)) +# define BOOST_PP_WHILE_923_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_924, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(924, s)) +# define BOOST_PP_WHILE_924_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_925, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(925, s)) +# define BOOST_PP_WHILE_925_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_926, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(926, s)) +# define BOOST_PP_WHILE_926_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_927, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(927, s)) +# define BOOST_PP_WHILE_927_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_928, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(928, s)) +# define BOOST_PP_WHILE_928_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_929, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(929, s)) +# define BOOST_PP_WHILE_929_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_930, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(930, s)) +# define BOOST_PP_WHILE_930_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_931, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(931, s)) +# define BOOST_PP_WHILE_931_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_932, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(932, s)) +# define BOOST_PP_WHILE_932_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_933, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(933, s)) +# define BOOST_PP_WHILE_933_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_934, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(934, s)) +# define BOOST_PP_WHILE_934_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_935, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(935, s)) +# define BOOST_PP_WHILE_935_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_936, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(936, s)) +# define BOOST_PP_WHILE_936_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_937, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(937, s)) +# define BOOST_PP_WHILE_937_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_938, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(938, s)) +# define BOOST_PP_WHILE_938_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_939, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(939, s)) +# define BOOST_PP_WHILE_939_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_940, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(940, s)) +# define BOOST_PP_WHILE_940_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_941, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(941, s)) +# define BOOST_PP_WHILE_941_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_942, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(942, s)) +# define BOOST_PP_WHILE_942_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_943, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(943, s)) +# define BOOST_PP_WHILE_943_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_944, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(944, s)) +# define BOOST_PP_WHILE_944_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_945, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(945, s)) +# define BOOST_PP_WHILE_945_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_946, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(946, s)) +# define BOOST_PP_WHILE_946_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_947, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(947, s)) +# define BOOST_PP_WHILE_947_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_948, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(948, s)) +# define BOOST_PP_WHILE_948_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_949, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(949, s)) +# define BOOST_PP_WHILE_949_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_950, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(950, s)) +# define BOOST_PP_WHILE_950_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_951, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(951, s)) +# define BOOST_PP_WHILE_951_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_952, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(952, s)) +# define BOOST_PP_WHILE_952_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_953, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(953, s)) +# define BOOST_PP_WHILE_953_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_954, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(954, s)) +# define BOOST_PP_WHILE_954_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_955, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(955, s)) +# define BOOST_PP_WHILE_955_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_956, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(956, s)) +# define BOOST_PP_WHILE_956_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_957, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(957, s)) +# define BOOST_PP_WHILE_957_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_958, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(958, s)) +# define BOOST_PP_WHILE_958_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_959, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(959, s)) +# define BOOST_PP_WHILE_959_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_960, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(960, s)) +# define BOOST_PP_WHILE_960_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_961, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(961, s)) +# define BOOST_PP_WHILE_961_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_962, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(962, s)) +# define BOOST_PP_WHILE_962_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_963, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(963, s)) +# define BOOST_PP_WHILE_963_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_964, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(964, s)) +# define BOOST_PP_WHILE_964_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_965, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(965, s)) +# define BOOST_PP_WHILE_965_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_966, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(966, s)) +# define BOOST_PP_WHILE_966_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_967, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(967, s)) +# define BOOST_PP_WHILE_967_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_968, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(968, s)) +# define BOOST_PP_WHILE_968_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_969, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(969, s)) +# define BOOST_PP_WHILE_969_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_970, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(970, s)) +# define BOOST_PP_WHILE_970_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_971, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(971, s)) +# define BOOST_PP_WHILE_971_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_972, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(972, s)) +# define BOOST_PP_WHILE_972_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_973, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(973, s)) +# define BOOST_PP_WHILE_973_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_974, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(974, s)) +# define BOOST_PP_WHILE_974_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_975, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(975, s)) +# define BOOST_PP_WHILE_975_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_976, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(976, s)) +# define BOOST_PP_WHILE_976_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_977, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(977, s)) +# define BOOST_PP_WHILE_977_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_978, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(978, s)) +# define BOOST_PP_WHILE_978_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_979, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(979, s)) +# define BOOST_PP_WHILE_979_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_980, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(980, s)) +# define BOOST_PP_WHILE_980_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_981, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(981, s)) +# define BOOST_PP_WHILE_981_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_982, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(982, s)) +# define BOOST_PP_WHILE_982_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_983, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(983, s)) +# define BOOST_PP_WHILE_983_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_984, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(984, s)) +# define BOOST_PP_WHILE_984_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_985, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(985, s)) +# define BOOST_PP_WHILE_985_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_986, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(986, s)) +# define BOOST_PP_WHILE_986_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_987, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(987, s)) +# define BOOST_PP_WHILE_987_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_988, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(988, s)) +# define BOOST_PP_WHILE_988_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_989, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(989, s)) +# define BOOST_PP_WHILE_989_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_990, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(990, s)) +# define BOOST_PP_WHILE_990_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_991, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(991, s)) +# define BOOST_PP_WHILE_991_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_992, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(992, s)) +# define BOOST_PP_WHILE_992_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_993, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(993, s)) +# define BOOST_PP_WHILE_993_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_994, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(994, s)) +# define BOOST_PP_WHILE_994_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_995, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(995, s)) +# define BOOST_PP_WHILE_995_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_996, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(996, s)) +# define BOOST_PP_WHILE_996_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_997, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(997, s)) +# define BOOST_PP_WHILE_997_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_998, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(998, s)) +# define BOOST_PP_WHILE_998_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_999, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(999, s)) +# define BOOST_PP_WHILE_999_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1000, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1000, s)) +# define BOOST_PP_WHILE_1000_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1001, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1001, s)) +# define BOOST_PP_WHILE_1001_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1002, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1002, s)) +# define BOOST_PP_WHILE_1002_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1003, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1003, s)) +# define BOOST_PP_WHILE_1003_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1004, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1004, s)) +# define BOOST_PP_WHILE_1004_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1005, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1005, s)) +# define BOOST_PP_WHILE_1005_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1006, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1006, s)) +# define BOOST_PP_WHILE_1006_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1007, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1007, s)) +# define BOOST_PP_WHILE_1007_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1008, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1008, s)) +# define BOOST_PP_WHILE_1008_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1009, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1009, s)) +# define BOOST_PP_WHILE_1009_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1010, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1010, s)) +# define BOOST_PP_WHILE_1010_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1011, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1011, s)) +# define BOOST_PP_WHILE_1011_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1012, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1012, s)) +# define BOOST_PP_WHILE_1012_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1013, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1013, s)) +# define BOOST_PP_WHILE_1013_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1014, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1014, s)) +# define BOOST_PP_WHILE_1014_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1015, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1015, s)) +# define BOOST_PP_WHILE_1015_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1016, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1016, s)) +# define BOOST_PP_WHILE_1016_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1017, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1017, s)) +# define BOOST_PP_WHILE_1017_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1018, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1018, s)) +# define BOOST_PP_WHILE_1018_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1019, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1019, s)) +# define BOOST_PP_WHILE_1019_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1020, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1020, s)) +# define BOOST_PP_WHILE_1020_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1021, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1021, s)) +# define BOOST_PP_WHILE_1021_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1022, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1022, s)) +# define BOOST_PP_WHILE_1022_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1023, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1023, s)) +# define BOOST_PP_WHILE_1023_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1024, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1024, s)) +# define BOOST_PP_WHILE_1024_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1025, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1025, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_256.hpp new file mode 100644 index 0000000000..724fa104a9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_256.hpp @@ -0,0 +1,533 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_256_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_256_HPP +# +# define BOOST_PP_WHILE_0(p, o, s) BOOST_PP_WHILE_0_C(BOOST_PP_BOOL(p(1, s)), p, o, s) +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s) +# +# define BOOST_PP_WHILE_0_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_1, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(1, s)) +# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s)) +# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s)) +# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s)) +# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s)) +# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s)) +# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s)) +# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s)) +# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s)) +# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s)) +# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s)) +# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s)) +# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s)) +# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s)) +# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s)) +# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s)) +# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s)) +# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s)) +# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s)) +# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s)) +# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s)) +# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s)) +# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s)) +# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s)) +# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s)) +# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s)) +# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s)) +# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s)) +# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s)) +# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s)) +# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s)) +# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s)) +# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s)) +# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s)) +# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s)) +# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s)) +# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s)) +# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s)) +# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s)) +# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s)) +# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s)) +# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s)) +# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s)) +# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s)) +# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s)) +# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s)) +# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s)) +# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s)) +# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s)) +# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s)) +# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s)) +# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s)) +# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s)) +# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s)) +# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s)) +# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s)) +# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s)) +# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s)) +# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s)) +# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s)) +# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s)) +# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s)) +# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s)) +# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s)) +# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s)) +# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s)) +# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s)) +# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s)) +# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s)) +# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s)) +# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s)) +# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s)) +# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s)) +# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s)) +# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s)) +# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s)) +# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s)) +# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s)) +# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s)) +# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s)) +# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s)) +# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s)) +# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s)) +# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s)) +# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s)) +# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s)) +# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s)) +# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s)) +# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s)) +# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s)) +# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s)) +# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s)) +# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s)) +# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s)) +# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s)) +# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s)) +# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s)) +# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s)) +# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s)) +# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s)) +# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s)) +# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s)) +# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s)) +# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s)) +# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s)) +# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s)) +# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s)) +# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s)) +# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s)) +# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s)) +# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s)) +# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s)) +# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s)) +# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s)) +# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s)) +# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s)) +# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s)) +# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s)) +# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s)) +# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s)) +# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s)) +# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s)) +# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s)) +# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s)) +# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s)) +# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s)) +# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s)) +# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s)) +# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s)) +# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s)) +# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s)) +# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s)) +# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s)) +# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s)) +# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s)) +# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s)) +# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s)) +# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s)) +# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s)) +# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s)) +# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s)) +# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s)) +# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s)) +# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s)) +# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s)) +# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s)) +# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s)) +# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s)) +# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s)) +# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s)) +# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s)) +# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s)) +# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s)) +# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s)) +# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s)) +# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s)) +# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s)) +# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s)) +# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s)) +# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s)) +# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s)) +# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s)) +# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s)) +# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s)) +# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s)) +# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s)) +# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s)) +# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s)) +# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s)) +# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s)) +# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s)) +# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s)) +# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s)) +# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s)) +# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s)) +# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s)) +# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s)) +# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s)) +# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s)) +# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s)) +# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s)) +# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s)) +# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s)) +# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s)) +# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s)) +# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s)) +# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s)) +# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s)) +# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s)) +# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s)) +# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s)) +# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s)) +# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s)) +# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s)) +# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s)) +# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s)) +# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s)) +# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s)) +# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s)) +# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s)) +# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s)) +# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s)) +# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s)) +# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s)) +# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s)) +# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s)) +# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s)) +# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s)) +# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s)) +# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s)) +# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s)) +# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s)) +# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s)) +# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s)) +# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s)) +# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s)) +# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s)) +# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s)) +# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s)) +# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s)) +# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s)) +# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s)) +# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s)) +# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s)) +# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s)) +# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s)) +# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s)) +# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s)) +# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s)) +# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s)) +# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s)) +# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s)) +# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s)) +# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s)) +# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s)) +# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s)) +# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s)) +# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s)) +# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s)) +# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s)) +# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s)) +# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s)) +# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s)) +# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s)) +# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s)) +# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s)) +# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s)) +# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s)) +# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s)) +# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s)) +# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s)) +# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s)) +# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s)) +# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s)) +# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s)) +# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s)) +# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_512.hpp new file mode 100644 index 0000000000..51c7cd5cc2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/limits/while_512.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_512_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_512_HPP +# +# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_WHILE_257_C(BOOST_PP_BOOL(p(258, s)), p, o, s) +# define BOOST_PP_WHILE_258(p, o, s) BOOST_PP_WHILE_258_C(BOOST_PP_BOOL(p(259, s)), p, o, s) +# define BOOST_PP_WHILE_259(p, o, s) BOOST_PP_WHILE_259_C(BOOST_PP_BOOL(p(260, s)), p, o, s) +# define BOOST_PP_WHILE_260(p, o, s) BOOST_PP_WHILE_260_C(BOOST_PP_BOOL(p(261, s)), p, o, s) +# define BOOST_PP_WHILE_261(p, o, s) BOOST_PP_WHILE_261_C(BOOST_PP_BOOL(p(262, s)), p, o, s) +# define BOOST_PP_WHILE_262(p, o, s) BOOST_PP_WHILE_262_C(BOOST_PP_BOOL(p(263, s)), p, o, s) +# define BOOST_PP_WHILE_263(p, o, s) BOOST_PP_WHILE_263_C(BOOST_PP_BOOL(p(264, s)), p, o, s) +# define BOOST_PP_WHILE_264(p, o, s) BOOST_PP_WHILE_264_C(BOOST_PP_BOOL(p(265, s)), p, o, s) +# define BOOST_PP_WHILE_265(p, o, s) BOOST_PP_WHILE_265_C(BOOST_PP_BOOL(p(266, s)), p, o, s) +# define BOOST_PP_WHILE_266(p, o, s) BOOST_PP_WHILE_266_C(BOOST_PP_BOOL(p(267, s)), p, o, s) +# define BOOST_PP_WHILE_267(p, o, s) BOOST_PP_WHILE_267_C(BOOST_PP_BOOL(p(268, s)), p, o, s) +# define BOOST_PP_WHILE_268(p, o, s) BOOST_PP_WHILE_268_C(BOOST_PP_BOOL(p(269, s)), p, o, s) +# define BOOST_PP_WHILE_269(p, o, s) BOOST_PP_WHILE_269_C(BOOST_PP_BOOL(p(270, s)), p, o, s) +# define BOOST_PP_WHILE_270(p, o, s) BOOST_PP_WHILE_270_C(BOOST_PP_BOOL(p(271, s)), p, o, s) +# define BOOST_PP_WHILE_271(p, o, s) BOOST_PP_WHILE_271_C(BOOST_PP_BOOL(p(272, s)), p, o, s) +# define BOOST_PP_WHILE_272(p, o, s) BOOST_PP_WHILE_272_C(BOOST_PP_BOOL(p(273, s)), p, o, s) +# define BOOST_PP_WHILE_273(p, o, s) BOOST_PP_WHILE_273_C(BOOST_PP_BOOL(p(274, s)), p, o, s) +# define BOOST_PP_WHILE_274(p, o, s) BOOST_PP_WHILE_274_C(BOOST_PP_BOOL(p(275, s)), p, o, s) +# define BOOST_PP_WHILE_275(p, o, s) BOOST_PP_WHILE_275_C(BOOST_PP_BOOL(p(276, s)), p, o, s) +# define BOOST_PP_WHILE_276(p, o, s) BOOST_PP_WHILE_276_C(BOOST_PP_BOOL(p(277, s)), p, o, s) +# define BOOST_PP_WHILE_277(p, o, s) BOOST_PP_WHILE_277_C(BOOST_PP_BOOL(p(278, s)), p, o, s) +# define BOOST_PP_WHILE_278(p, o, s) BOOST_PP_WHILE_278_C(BOOST_PP_BOOL(p(279, s)), p, o, s) +# define BOOST_PP_WHILE_279(p, o, s) BOOST_PP_WHILE_279_C(BOOST_PP_BOOL(p(280, s)), p, o, s) +# define BOOST_PP_WHILE_280(p, o, s) BOOST_PP_WHILE_280_C(BOOST_PP_BOOL(p(281, s)), p, o, s) +# define BOOST_PP_WHILE_281(p, o, s) BOOST_PP_WHILE_281_C(BOOST_PP_BOOL(p(282, s)), p, o, s) +# define BOOST_PP_WHILE_282(p, o, s) BOOST_PP_WHILE_282_C(BOOST_PP_BOOL(p(283, s)), p, o, s) +# define BOOST_PP_WHILE_283(p, o, s) BOOST_PP_WHILE_283_C(BOOST_PP_BOOL(p(284, s)), p, o, s) +# define BOOST_PP_WHILE_284(p, o, s) BOOST_PP_WHILE_284_C(BOOST_PP_BOOL(p(285, s)), p, o, s) +# define BOOST_PP_WHILE_285(p, o, s) BOOST_PP_WHILE_285_C(BOOST_PP_BOOL(p(286, s)), p, o, s) +# define BOOST_PP_WHILE_286(p, o, s) BOOST_PP_WHILE_286_C(BOOST_PP_BOOL(p(287, s)), p, o, s) +# define BOOST_PP_WHILE_287(p, o, s) BOOST_PP_WHILE_287_C(BOOST_PP_BOOL(p(288, s)), p, o, s) +# define BOOST_PP_WHILE_288(p, o, s) BOOST_PP_WHILE_288_C(BOOST_PP_BOOL(p(289, s)), p, o, s) +# define BOOST_PP_WHILE_289(p, o, s) BOOST_PP_WHILE_289_C(BOOST_PP_BOOL(p(290, s)), p, o, s) +# define BOOST_PP_WHILE_290(p, o, s) BOOST_PP_WHILE_290_C(BOOST_PP_BOOL(p(291, s)), p, o, s) +# define BOOST_PP_WHILE_291(p, o, s) BOOST_PP_WHILE_291_C(BOOST_PP_BOOL(p(292, s)), p, o, s) +# define BOOST_PP_WHILE_292(p, o, s) BOOST_PP_WHILE_292_C(BOOST_PP_BOOL(p(293, s)), p, o, s) +# define BOOST_PP_WHILE_293(p, o, s) BOOST_PP_WHILE_293_C(BOOST_PP_BOOL(p(294, s)), p, o, s) +# define BOOST_PP_WHILE_294(p, o, s) BOOST_PP_WHILE_294_C(BOOST_PP_BOOL(p(295, s)), p, o, s) +# define BOOST_PP_WHILE_295(p, o, s) BOOST_PP_WHILE_295_C(BOOST_PP_BOOL(p(296, s)), p, o, s) +# define BOOST_PP_WHILE_296(p, o, s) BOOST_PP_WHILE_296_C(BOOST_PP_BOOL(p(297, s)), p, o, s) +# define BOOST_PP_WHILE_297(p, o, s) BOOST_PP_WHILE_297_C(BOOST_PP_BOOL(p(298, s)), p, o, s) +# define BOOST_PP_WHILE_298(p, o, s) BOOST_PP_WHILE_298_C(BOOST_PP_BOOL(p(299, s)), p, o, s) +# define BOOST_PP_WHILE_299(p, o, s) BOOST_PP_WHILE_299_C(BOOST_PP_BOOL(p(300, s)), p, o, s) +# define BOOST_PP_WHILE_300(p, o, s) BOOST_PP_WHILE_300_C(BOOST_PP_BOOL(p(301, s)), p, o, s) +# define BOOST_PP_WHILE_301(p, o, s) BOOST_PP_WHILE_301_C(BOOST_PP_BOOL(p(302, s)), p, o, s) +# define BOOST_PP_WHILE_302(p, o, s) BOOST_PP_WHILE_302_C(BOOST_PP_BOOL(p(303, s)), p, o, s) +# define BOOST_PP_WHILE_303(p, o, s) BOOST_PP_WHILE_303_C(BOOST_PP_BOOL(p(304, s)), p, o, s) +# define BOOST_PP_WHILE_304(p, o, s) BOOST_PP_WHILE_304_C(BOOST_PP_BOOL(p(305, s)), p, o, s) +# define BOOST_PP_WHILE_305(p, o, s) BOOST_PP_WHILE_305_C(BOOST_PP_BOOL(p(306, s)), p, o, s) +# define BOOST_PP_WHILE_306(p, o, s) BOOST_PP_WHILE_306_C(BOOST_PP_BOOL(p(307, s)), p, o, s) +# define BOOST_PP_WHILE_307(p, o, s) BOOST_PP_WHILE_307_C(BOOST_PP_BOOL(p(308, s)), p, o, s) +# define BOOST_PP_WHILE_308(p, o, s) BOOST_PP_WHILE_308_C(BOOST_PP_BOOL(p(309, s)), p, o, s) +# define BOOST_PP_WHILE_309(p, o, s) BOOST_PP_WHILE_309_C(BOOST_PP_BOOL(p(310, s)), p, o, s) +# define BOOST_PP_WHILE_310(p, o, s) BOOST_PP_WHILE_310_C(BOOST_PP_BOOL(p(311, s)), p, o, s) +# define BOOST_PP_WHILE_311(p, o, s) BOOST_PP_WHILE_311_C(BOOST_PP_BOOL(p(312, s)), p, o, s) +# define BOOST_PP_WHILE_312(p, o, s) BOOST_PP_WHILE_312_C(BOOST_PP_BOOL(p(313, s)), p, o, s) +# define BOOST_PP_WHILE_313(p, o, s) BOOST_PP_WHILE_313_C(BOOST_PP_BOOL(p(314, s)), p, o, s) +# define BOOST_PP_WHILE_314(p, o, s) BOOST_PP_WHILE_314_C(BOOST_PP_BOOL(p(315, s)), p, o, s) +# define BOOST_PP_WHILE_315(p, o, s) BOOST_PP_WHILE_315_C(BOOST_PP_BOOL(p(316, s)), p, o, s) +# define BOOST_PP_WHILE_316(p, o, s) BOOST_PP_WHILE_316_C(BOOST_PP_BOOL(p(317, s)), p, o, s) +# define BOOST_PP_WHILE_317(p, o, s) BOOST_PP_WHILE_317_C(BOOST_PP_BOOL(p(318, s)), p, o, s) +# define BOOST_PP_WHILE_318(p, o, s) BOOST_PP_WHILE_318_C(BOOST_PP_BOOL(p(319, s)), p, o, s) +# define BOOST_PP_WHILE_319(p, o, s) BOOST_PP_WHILE_319_C(BOOST_PP_BOOL(p(320, s)), p, o, s) +# define BOOST_PP_WHILE_320(p, o, s) BOOST_PP_WHILE_320_C(BOOST_PP_BOOL(p(321, s)), p, o, s) +# define BOOST_PP_WHILE_321(p, o, s) BOOST_PP_WHILE_321_C(BOOST_PP_BOOL(p(322, s)), p, o, s) +# define BOOST_PP_WHILE_322(p, o, s) BOOST_PP_WHILE_322_C(BOOST_PP_BOOL(p(323, s)), p, o, s) +# define BOOST_PP_WHILE_323(p, o, s) BOOST_PP_WHILE_323_C(BOOST_PP_BOOL(p(324, s)), p, o, s) +# define BOOST_PP_WHILE_324(p, o, s) BOOST_PP_WHILE_324_C(BOOST_PP_BOOL(p(325, s)), p, o, s) +# define BOOST_PP_WHILE_325(p, o, s) BOOST_PP_WHILE_325_C(BOOST_PP_BOOL(p(326, s)), p, o, s) +# define BOOST_PP_WHILE_326(p, o, s) BOOST_PP_WHILE_326_C(BOOST_PP_BOOL(p(327, s)), p, o, s) +# define BOOST_PP_WHILE_327(p, o, s) BOOST_PP_WHILE_327_C(BOOST_PP_BOOL(p(328, s)), p, o, s) +# define BOOST_PP_WHILE_328(p, o, s) BOOST_PP_WHILE_328_C(BOOST_PP_BOOL(p(329, s)), p, o, s) +# define BOOST_PP_WHILE_329(p, o, s) BOOST_PP_WHILE_329_C(BOOST_PP_BOOL(p(330, s)), p, o, s) +# define BOOST_PP_WHILE_330(p, o, s) BOOST_PP_WHILE_330_C(BOOST_PP_BOOL(p(331, s)), p, o, s) +# define BOOST_PP_WHILE_331(p, o, s) BOOST_PP_WHILE_331_C(BOOST_PP_BOOL(p(332, s)), p, o, s) +# define BOOST_PP_WHILE_332(p, o, s) BOOST_PP_WHILE_332_C(BOOST_PP_BOOL(p(333, s)), p, o, s) +# define BOOST_PP_WHILE_333(p, o, s) BOOST_PP_WHILE_333_C(BOOST_PP_BOOL(p(334, s)), p, o, s) +# define BOOST_PP_WHILE_334(p, o, s) BOOST_PP_WHILE_334_C(BOOST_PP_BOOL(p(335, s)), p, o, s) +# define BOOST_PP_WHILE_335(p, o, s) BOOST_PP_WHILE_335_C(BOOST_PP_BOOL(p(336, s)), p, o, s) +# define BOOST_PP_WHILE_336(p, o, s) BOOST_PP_WHILE_336_C(BOOST_PP_BOOL(p(337, s)), p, o, s) +# define BOOST_PP_WHILE_337(p, o, s) BOOST_PP_WHILE_337_C(BOOST_PP_BOOL(p(338, s)), p, o, s) +# define BOOST_PP_WHILE_338(p, o, s) BOOST_PP_WHILE_338_C(BOOST_PP_BOOL(p(339, s)), p, o, s) +# define BOOST_PP_WHILE_339(p, o, s) BOOST_PP_WHILE_339_C(BOOST_PP_BOOL(p(340, s)), p, o, s) +# define BOOST_PP_WHILE_340(p, o, s) BOOST_PP_WHILE_340_C(BOOST_PP_BOOL(p(341, s)), p, o, s) +# define BOOST_PP_WHILE_341(p, o, s) BOOST_PP_WHILE_341_C(BOOST_PP_BOOL(p(342, s)), p, o, s) +# define BOOST_PP_WHILE_342(p, o, s) BOOST_PP_WHILE_342_C(BOOST_PP_BOOL(p(343, s)), p, o, s) +# define BOOST_PP_WHILE_343(p, o, s) BOOST_PP_WHILE_343_C(BOOST_PP_BOOL(p(344, s)), p, o, s) +# define BOOST_PP_WHILE_344(p, o, s) BOOST_PP_WHILE_344_C(BOOST_PP_BOOL(p(345, s)), p, o, s) +# define BOOST_PP_WHILE_345(p, o, s) BOOST_PP_WHILE_345_C(BOOST_PP_BOOL(p(346, s)), p, o, s) +# define BOOST_PP_WHILE_346(p, o, s) BOOST_PP_WHILE_346_C(BOOST_PP_BOOL(p(347, s)), p, o, s) +# define BOOST_PP_WHILE_347(p, o, s) BOOST_PP_WHILE_347_C(BOOST_PP_BOOL(p(348, s)), p, o, s) +# define BOOST_PP_WHILE_348(p, o, s) BOOST_PP_WHILE_348_C(BOOST_PP_BOOL(p(349, s)), p, o, s) +# define BOOST_PP_WHILE_349(p, o, s) BOOST_PP_WHILE_349_C(BOOST_PP_BOOL(p(350, s)), p, o, s) +# define BOOST_PP_WHILE_350(p, o, s) BOOST_PP_WHILE_350_C(BOOST_PP_BOOL(p(351, s)), p, o, s) +# define BOOST_PP_WHILE_351(p, o, s) BOOST_PP_WHILE_351_C(BOOST_PP_BOOL(p(352, s)), p, o, s) +# define BOOST_PP_WHILE_352(p, o, s) BOOST_PP_WHILE_352_C(BOOST_PP_BOOL(p(353, s)), p, o, s) +# define BOOST_PP_WHILE_353(p, o, s) BOOST_PP_WHILE_353_C(BOOST_PP_BOOL(p(354, s)), p, o, s) +# define BOOST_PP_WHILE_354(p, o, s) BOOST_PP_WHILE_354_C(BOOST_PP_BOOL(p(355, s)), p, o, s) +# define BOOST_PP_WHILE_355(p, o, s) BOOST_PP_WHILE_355_C(BOOST_PP_BOOL(p(356, s)), p, o, s) +# define BOOST_PP_WHILE_356(p, o, s) BOOST_PP_WHILE_356_C(BOOST_PP_BOOL(p(357, s)), p, o, s) +# define BOOST_PP_WHILE_357(p, o, s) BOOST_PP_WHILE_357_C(BOOST_PP_BOOL(p(358, s)), p, o, s) +# define BOOST_PP_WHILE_358(p, o, s) BOOST_PP_WHILE_358_C(BOOST_PP_BOOL(p(359, s)), p, o, s) +# define BOOST_PP_WHILE_359(p, o, s) BOOST_PP_WHILE_359_C(BOOST_PP_BOOL(p(360, s)), p, o, s) +# define BOOST_PP_WHILE_360(p, o, s) BOOST_PP_WHILE_360_C(BOOST_PP_BOOL(p(361, s)), p, o, s) +# define BOOST_PP_WHILE_361(p, o, s) BOOST_PP_WHILE_361_C(BOOST_PP_BOOL(p(362, s)), p, o, s) +# define BOOST_PP_WHILE_362(p, o, s) BOOST_PP_WHILE_362_C(BOOST_PP_BOOL(p(363, s)), p, o, s) +# define BOOST_PP_WHILE_363(p, o, s) BOOST_PP_WHILE_363_C(BOOST_PP_BOOL(p(364, s)), p, o, s) +# define BOOST_PP_WHILE_364(p, o, s) BOOST_PP_WHILE_364_C(BOOST_PP_BOOL(p(365, s)), p, o, s) +# define BOOST_PP_WHILE_365(p, o, s) BOOST_PP_WHILE_365_C(BOOST_PP_BOOL(p(366, s)), p, o, s) +# define BOOST_PP_WHILE_366(p, o, s) BOOST_PP_WHILE_366_C(BOOST_PP_BOOL(p(367, s)), p, o, s) +# define BOOST_PP_WHILE_367(p, o, s) BOOST_PP_WHILE_367_C(BOOST_PP_BOOL(p(368, s)), p, o, s) +# define BOOST_PP_WHILE_368(p, o, s) BOOST_PP_WHILE_368_C(BOOST_PP_BOOL(p(369, s)), p, o, s) +# define BOOST_PP_WHILE_369(p, o, s) BOOST_PP_WHILE_369_C(BOOST_PP_BOOL(p(370, s)), p, o, s) +# define BOOST_PP_WHILE_370(p, o, s) BOOST_PP_WHILE_370_C(BOOST_PP_BOOL(p(371, s)), p, o, s) +# define BOOST_PP_WHILE_371(p, o, s) BOOST_PP_WHILE_371_C(BOOST_PP_BOOL(p(372, s)), p, o, s) +# define BOOST_PP_WHILE_372(p, o, s) BOOST_PP_WHILE_372_C(BOOST_PP_BOOL(p(373, s)), p, o, s) +# define BOOST_PP_WHILE_373(p, o, s) BOOST_PP_WHILE_373_C(BOOST_PP_BOOL(p(374, s)), p, o, s) +# define BOOST_PP_WHILE_374(p, o, s) BOOST_PP_WHILE_374_C(BOOST_PP_BOOL(p(375, s)), p, o, s) +# define BOOST_PP_WHILE_375(p, o, s) BOOST_PP_WHILE_375_C(BOOST_PP_BOOL(p(376, s)), p, o, s) +# define BOOST_PP_WHILE_376(p, o, s) BOOST_PP_WHILE_376_C(BOOST_PP_BOOL(p(377, s)), p, o, s) +# define BOOST_PP_WHILE_377(p, o, s) BOOST_PP_WHILE_377_C(BOOST_PP_BOOL(p(378, s)), p, o, s) +# define BOOST_PP_WHILE_378(p, o, s) BOOST_PP_WHILE_378_C(BOOST_PP_BOOL(p(379, s)), p, o, s) +# define BOOST_PP_WHILE_379(p, o, s) BOOST_PP_WHILE_379_C(BOOST_PP_BOOL(p(380, s)), p, o, s) +# define BOOST_PP_WHILE_380(p, o, s) BOOST_PP_WHILE_380_C(BOOST_PP_BOOL(p(381, s)), p, o, s) +# define BOOST_PP_WHILE_381(p, o, s) BOOST_PP_WHILE_381_C(BOOST_PP_BOOL(p(382, s)), p, o, s) +# define BOOST_PP_WHILE_382(p, o, s) BOOST_PP_WHILE_382_C(BOOST_PP_BOOL(p(383, s)), p, o, s) +# define BOOST_PP_WHILE_383(p, o, s) BOOST_PP_WHILE_383_C(BOOST_PP_BOOL(p(384, s)), p, o, s) +# define BOOST_PP_WHILE_384(p, o, s) BOOST_PP_WHILE_384_C(BOOST_PP_BOOL(p(385, s)), p, o, s) +# define BOOST_PP_WHILE_385(p, o, s) BOOST_PP_WHILE_385_C(BOOST_PP_BOOL(p(386, s)), p, o, s) +# define BOOST_PP_WHILE_386(p, o, s) BOOST_PP_WHILE_386_C(BOOST_PP_BOOL(p(387, s)), p, o, s) +# define BOOST_PP_WHILE_387(p, o, s) BOOST_PP_WHILE_387_C(BOOST_PP_BOOL(p(388, s)), p, o, s) +# define BOOST_PP_WHILE_388(p, o, s) BOOST_PP_WHILE_388_C(BOOST_PP_BOOL(p(389, s)), p, o, s) +# define BOOST_PP_WHILE_389(p, o, s) BOOST_PP_WHILE_389_C(BOOST_PP_BOOL(p(390, s)), p, o, s) +# define BOOST_PP_WHILE_390(p, o, s) BOOST_PP_WHILE_390_C(BOOST_PP_BOOL(p(391, s)), p, o, s) +# define BOOST_PP_WHILE_391(p, o, s) BOOST_PP_WHILE_391_C(BOOST_PP_BOOL(p(392, s)), p, o, s) +# define BOOST_PP_WHILE_392(p, o, s) BOOST_PP_WHILE_392_C(BOOST_PP_BOOL(p(393, s)), p, o, s) +# define BOOST_PP_WHILE_393(p, o, s) BOOST_PP_WHILE_393_C(BOOST_PP_BOOL(p(394, s)), p, o, s) +# define BOOST_PP_WHILE_394(p, o, s) BOOST_PP_WHILE_394_C(BOOST_PP_BOOL(p(395, s)), p, o, s) +# define BOOST_PP_WHILE_395(p, o, s) BOOST_PP_WHILE_395_C(BOOST_PP_BOOL(p(396, s)), p, o, s) +# define BOOST_PP_WHILE_396(p, o, s) BOOST_PP_WHILE_396_C(BOOST_PP_BOOL(p(397, s)), p, o, s) +# define BOOST_PP_WHILE_397(p, o, s) BOOST_PP_WHILE_397_C(BOOST_PP_BOOL(p(398, s)), p, o, s) +# define BOOST_PP_WHILE_398(p, o, s) BOOST_PP_WHILE_398_C(BOOST_PP_BOOL(p(399, s)), p, o, s) +# define BOOST_PP_WHILE_399(p, o, s) BOOST_PP_WHILE_399_C(BOOST_PP_BOOL(p(400, s)), p, o, s) +# define BOOST_PP_WHILE_400(p, o, s) BOOST_PP_WHILE_400_C(BOOST_PP_BOOL(p(401, s)), p, o, s) +# define BOOST_PP_WHILE_401(p, o, s) BOOST_PP_WHILE_401_C(BOOST_PP_BOOL(p(402, s)), p, o, s) +# define BOOST_PP_WHILE_402(p, o, s) BOOST_PP_WHILE_402_C(BOOST_PP_BOOL(p(403, s)), p, o, s) +# define BOOST_PP_WHILE_403(p, o, s) BOOST_PP_WHILE_403_C(BOOST_PP_BOOL(p(404, s)), p, o, s) +# define BOOST_PP_WHILE_404(p, o, s) BOOST_PP_WHILE_404_C(BOOST_PP_BOOL(p(405, s)), p, o, s) +# define BOOST_PP_WHILE_405(p, o, s) BOOST_PP_WHILE_405_C(BOOST_PP_BOOL(p(406, s)), p, o, s) +# define BOOST_PP_WHILE_406(p, o, s) BOOST_PP_WHILE_406_C(BOOST_PP_BOOL(p(407, s)), p, o, s) +# define BOOST_PP_WHILE_407(p, o, s) BOOST_PP_WHILE_407_C(BOOST_PP_BOOL(p(408, s)), p, o, s) +# define BOOST_PP_WHILE_408(p, o, s) BOOST_PP_WHILE_408_C(BOOST_PP_BOOL(p(409, s)), p, o, s) +# define BOOST_PP_WHILE_409(p, o, s) BOOST_PP_WHILE_409_C(BOOST_PP_BOOL(p(410, s)), p, o, s) +# define BOOST_PP_WHILE_410(p, o, s) BOOST_PP_WHILE_410_C(BOOST_PP_BOOL(p(411, s)), p, o, s) +# define BOOST_PP_WHILE_411(p, o, s) BOOST_PP_WHILE_411_C(BOOST_PP_BOOL(p(412, s)), p, o, s) +# define BOOST_PP_WHILE_412(p, o, s) BOOST_PP_WHILE_412_C(BOOST_PP_BOOL(p(413, s)), p, o, s) +# define BOOST_PP_WHILE_413(p, o, s) BOOST_PP_WHILE_413_C(BOOST_PP_BOOL(p(414, s)), p, o, s) +# define BOOST_PP_WHILE_414(p, o, s) BOOST_PP_WHILE_414_C(BOOST_PP_BOOL(p(415, s)), p, o, s) +# define BOOST_PP_WHILE_415(p, o, s) BOOST_PP_WHILE_415_C(BOOST_PP_BOOL(p(416, s)), p, o, s) +# define BOOST_PP_WHILE_416(p, o, s) BOOST_PP_WHILE_416_C(BOOST_PP_BOOL(p(417, s)), p, o, s) +# define BOOST_PP_WHILE_417(p, o, s) BOOST_PP_WHILE_417_C(BOOST_PP_BOOL(p(418, s)), p, o, s) +# define BOOST_PP_WHILE_418(p, o, s) BOOST_PP_WHILE_418_C(BOOST_PP_BOOL(p(419, s)), p, o, s) +# define BOOST_PP_WHILE_419(p, o, s) BOOST_PP_WHILE_419_C(BOOST_PP_BOOL(p(420, s)), p, o, s) +# define BOOST_PP_WHILE_420(p, o, s) BOOST_PP_WHILE_420_C(BOOST_PP_BOOL(p(421, s)), p, o, s) +# define BOOST_PP_WHILE_421(p, o, s) BOOST_PP_WHILE_421_C(BOOST_PP_BOOL(p(422, s)), p, o, s) +# define BOOST_PP_WHILE_422(p, o, s) BOOST_PP_WHILE_422_C(BOOST_PP_BOOL(p(423, s)), p, o, s) +# define BOOST_PP_WHILE_423(p, o, s) BOOST_PP_WHILE_423_C(BOOST_PP_BOOL(p(424, s)), p, o, s) +# define BOOST_PP_WHILE_424(p, o, s) BOOST_PP_WHILE_424_C(BOOST_PP_BOOL(p(425, s)), p, o, s) +# define BOOST_PP_WHILE_425(p, o, s) BOOST_PP_WHILE_425_C(BOOST_PP_BOOL(p(426, s)), p, o, s) +# define BOOST_PP_WHILE_426(p, o, s) BOOST_PP_WHILE_426_C(BOOST_PP_BOOL(p(427, s)), p, o, s) +# define BOOST_PP_WHILE_427(p, o, s) BOOST_PP_WHILE_427_C(BOOST_PP_BOOL(p(428, s)), p, o, s) +# define BOOST_PP_WHILE_428(p, o, s) BOOST_PP_WHILE_428_C(BOOST_PP_BOOL(p(429, s)), p, o, s) +# define BOOST_PP_WHILE_429(p, o, s) BOOST_PP_WHILE_429_C(BOOST_PP_BOOL(p(430, s)), p, o, s) +# define BOOST_PP_WHILE_430(p, o, s) BOOST_PP_WHILE_430_C(BOOST_PP_BOOL(p(431, s)), p, o, s) +# define BOOST_PP_WHILE_431(p, o, s) BOOST_PP_WHILE_431_C(BOOST_PP_BOOL(p(432, s)), p, o, s) +# define BOOST_PP_WHILE_432(p, o, s) BOOST_PP_WHILE_432_C(BOOST_PP_BOOL(p(433, s)), p, o, s) +# define BOOST_PP_WHILE_433(p, o, s) BOOST_PP_WHILE_433_C(BOOST_PP_BOOL(p(434, s)), p, o, s) +# define BOOST_PP_WHILE_434(p, o, s) BOOST_PP_WHILE_434_C(BOOST_PP_BOOL(p(435, s)), p, o, s) +# define BOOST_PP_WHILE_435(p, o, s) BOOST_PP_WHILE_435_C(BOOST_PP_BOOL(p(436, s)), p, o, s) +# define BOOST_PP_WHILE_436(p, o, s) BOOST_PP_WHILE_436_C(BOOST_PP_BOOL(p(437, s)), p, o, s) +# define BOOST_PP_WHILE_437(p, o, s) BOOST_PP_WHILE_437_C(BOOST_PP_BOOL(p(438, s)), p, o, s) +# define BOOST_PP_WHILE_438(p, o, s) BOOST_PP_WHILE_438_C(BOOST_PP_BOOL(p(439, s)), p, o, s) +# define BOOST_PP_WHILE_439(p, o, s) BOOST_PP_WHILE_439_C(BOOST_PP_BOOL(p(440, s)), p, o, s) +# define BOOST_PP_WHILE_440(p, o, s) BOOST_PP_WHILE_440_C(BOOST_PP_BOOL(p(441, s)), p, o, s) +# define BOOST_PP_WHILE_441(p, o, s) BOOST_PP_WHILE_441_C(BOOST_PP_BOOL(p(442, s)), p, o, s) +# define BOOST_PP_WHILE_442(p, o, s) BOOST_PP_WHILE_442_C(BOOST_PP_BOOL(p(443, s)), p, o, s) +# define BOOST_PP_WHILE_443(p, o, s) BOOST_PP_WHILE_443_C(BOOST_PP_BOOL(p(444, s)), p, o, s) +# define BOOST_PP_WHILE_444(p, o, s) BOOST_PP_WHILE_444_C(BOOST_PP_BOOL(p(445, s)), p, o, s) +# define BOOST_PP_WHILE_445(p, o, s) BOOST_PP_WHILE_445_C(BOOST_PP_BOOL(p(446, s)), p, o, s) +# define BOOST_PP_WHILE_446(p, o, s) BOOST_PP_WHILE_446_C(BOOST_PP_BOOL(p(447, s)), p, o, s) +# define BOOST_PP_WHILE_447(p, o, s) BOOST_PP_WHILE_447_C(BOOST_PP_BOOL(p(448, s)), p, o, s) +# define BOOST_PP_WHILE_448(p, o, s) BOOST_PP_WHILE_448_C(BOOST_PP_BOOL(p(449, s)), p, o, s) +# define BOOST_PP_WHILE_449(p, o, s) BOOST_PP_WHILE_449_C(BOOST_PP_BOOL(p(450, s)), p, o, s) +# define BOOST_PP_WHILE_450(p, o, s) BOOST_PP_WHILE_450_C(BOOST_PP_BOOL(p(451, s)), p, o, s) +# define BOOST_PP_WHILE_451(p, o, s) BOOST_PP_WHILE_451_C(BOOST_PP_BOOL(p(452, s)), p, o, s) +# define BOOST_PP_WHILE_452(p, o, s) BOOST_PP_WHILE_452_C(BOOST_PP_BOOL(p(453, s)), p, o, s) +# define BOOST_PP_WHILE_453(p, o, s) BOOST_PP_WHILE_453_C(BOOST_PP_BOOL(p(454, s)), p, o, s) +# define BOOST_PP_WHILE_454(p, o, s) BOOST_PP_WHILE_454_C(BOOST_PP_BOOL(p(455, s)), p, o, s) +# define BOOST_PP_WHILE_455(p, o, s) BOOST_PP_WHILE_455_C(BOOST_PP_BOOL(p(456, s)), p, o, s) +# define BOOST_PP_WHILE_456(p, o, s) BOOST_PP_WHILE_456_C(BOOST_PP_BOOL(p(457, s)), p, o, s) +# define BOOST_PP_WHILE_457(p, o, s) BOOST_PP_WHILE_457_C(BOOST_PP_BOOL(p(458, s)), p, o, s) +# define BOOST_PP_WHILE_458(p, o, s) BOOST_PP_WHILE_458_C(BOOST_PP_BOOL(p(459, s)), p, o, s) +# define BOOST_PP_WHILE_459(p, o, s) BOOST_PP_WHILE_459_C(BOOST_PP_BOOL(p(460, s)), p, o, s) +# define BOOST_PP_WHILE_460(p, o, s) BOOST_PP_WHILE_460_C(BOOST_PP_BOOL(p(461, s)), p, o, s) +# define BOOST_PP_WHILE_461(p, o, s) BOOST_PP_WHILE_461_C(BOOST_PP_BOOL(p(462, s)), p, o, s) +# define BOOST_PP_WHILE_462(p, o, s) BOOST_PP_WHILE_462_C(BOOST_PP_BOOL(p(463, s)), p, o, s) +# define BOOST_PP_WHILE_463(p, o, s) BOOST_PP_WHILE_463_C(BOOST_PP_BOOL(p(464, s)), p, o, s) +# define BOOST_PP_WHILE_464(p, o, s) BOOST_PP_WHILE_464_C(BOOST_PP_BOOL(p(465, s)), p, o, s) +# define BOOST_PP_WHILE_465(p, o, s) BOOST_PP_WHILE_465_C(BOOST_PP_BOOL(p(466, s)), p, o, s) +# define BOOST_PP_WHILE_466(p, o, s) BOOST_PP_WHILE_466_C(BOOST_PP_BOOL(p(467, s)), p, o, s) +# define BOOST_PP_WHILE_467(p, o, s) BOOST_PP_WHILE_467_C(BOOST_PP_BOOL(p(468, s)), p, o, s) +# define BOOST_PP_WHILE_468(p, o, s) BOOST_PP_WHILE_468_C(BOOST_PP_BOOL(p(469, s)), p, o, s) +# define BOOST_PP_WHILE_469(p, o, s) BOOST_PP_WHILE_469_C(BOOST_PP_BOOL(p(470, s)), p, o, s) +# define BOOST_PP_WHILE_470(p, o, s) BOOST_PP_WHILE_470_C(BOOST_PP_BOOL(p(471, s)), p, o, s) +# define BOOST_PP_WHILE_471(p, o, s) BOOST_PP_WHILE_471_C(BOOST_PP_BOOL(p(472, s)), p, o, s) +# define BOOST_PP_WHILE_472(p, o, s) BOOST_PP_WHILE_472_C(BOOST_PP_BOOL(p(473, s)), p, o, s) +# define BOOST_PP_WHILE_473(p, o, s) BOOST_PP_WHILE_473_C(BOOST_PP_BOOL(p(474, s)), p, o, s) +# define BOOST_PP_WHILE_474(p, o, s) BOOST_PP_WHILE_474_C(BOOST_PP_BOOL(p(475, s)), p, o, s) +# define BOOST_PP_WHILE_475(p, o, s) BOOST_PP_WHILE_475_C(BOOST_PP_BOOL(p(476, s)), p, o, s) +# define BOOST_PP_WHILE_476(p, o, s) BOOST_PP_WHILE_476_C(BOOST_PP_BOOL(p(477, s)), p, o, s) +# define BOOST_PP_WHILE_477(p, o, s) BOOST_PP_WHILE_477_C(BOOST_PP_BOOL(p(478, s)), p, o, s) +# define BOOST_PP_WHILE_478(p, o, s) BOOST_PP_WHILE_478_C(BOOST_PP_BOOL(p(479, s)), p, o, s) +# define BOOST_PP_WHILE_479(p, o, s) BOOST_PP_WHILE_479_C(BOOST_PP_BOOL(p(480, s)), p, o, s) +# define BOOST_PP_WHILE_480(p, o, s) BOOST_PP_WHILE_480_C(BOOST_PP_BOOL(p(481, s)), p, o, s) +# define BOOST_PP_WHILE_481(p, o, s) BOOST_PP_WHILE_481_C(BOOST_PP_BOOL(p(482, s)), p, o, s) +# define BOOST_PP_WHILE_482(p, o, s) BOOST_PP_WHILE_482_C(BOOST_PP_BOOL(p(483, s)), p, o, s) +# define BOOST_PP_WHILE_483(p, o, s) BOOST_PP_WHILE_483_C(BOOST_PP_BOOL(p(484, s)), p, o, s) +# define BOOST_PP_WHILE_484(p, o, s) BOOST_PP_WHILE_484_C(BOOST_PP_BOOL(p(485, s)), p, o, s) +# define BOOST_PP_WHILE_485(p, o, s) BOOST_PP_WHILE_485_C(BOOST_PP_BOOL(p(486, s)), p, o, s) +# define BOOST_PP_WHILE_486(p, o, s) BOOST_PP_WHILE_486_C(BOOST_PP_BOOL(p(487, s)), p, o, s) +# define BOOST_PP_WHILE_487(p, o, s) BOOST_PP_WHILE_487_C(BOOST_PP_BOOL(p(488, s)), p, o, s) +# define BOOST_PP_WHILE_488(p, o, s) BOOST_PP_WHILE_488_C(BOOST_PP_BOOL(p(489, s)), p, o, s) +# define BOOST_PP_WHILE_489(p, o, s) BOOST_PP_WHILE_489_C(BOOST_PP_BOOL(p(490, s)), p, o, s) +# define BOOST_PP_WHILE_490(p, o, s) BOOST_PP_WHILE_490_C(BOOST_PP_BOOL(p(491, s)), p, o, s) +# define BOOST_PP_WHILE_491(p, o, s) BOOST_PP_WHILE_491_C(BOOST_PP_BOOL(p(492, s)), p, o, s) +# define BOOST_PP_WHILE_492(p, o, s) BOOST_PP_WHILE_492_C(BOOST_PP_BOOL(p(493, s)), p, o, s) +# define BOOST_PP_WHILE_493(p, o, s) BOOST_PP_WHILE_493_C(BOOST_PP_BOOL(p(494, s)), p, o, s) +# define BOOST_PP_WHILE_494(p, o, s) BOOST_PP_WHILE_494_C(BOOST_PP_BOOL(p(495, s)), p, o, s) +# define BOOST_PP_WHILE_495(p, o, s) BOOST_PP_WHILE_495_C(BOOST_PP_BOOL(p(496, s)), p, o, s) +# define BOOST_PP_WHILE_496(p, o, s) BOOST_PP_WHILE_496_C(BOOST_PP_BOOL(p(497, s)), p, o, s) +# define BOOST_PP_WHILE_497(p, o, s) BOOST_PP_WHILE_497_C(BOOST_PP_BOOL(p(498, s)), p, o, s) +# define BOOST_PP_WHILE_498(p, o, s) BOOST_PP_WHILE_498_C(BOOST_PP_BOOL(p(499, s)), p, o, s) +# define BOOST_PP_WHILE_499(p, o, s) BOOST_PP_WHILE_499_C(BOOST_PP_BOOL(p(500, s)), p, o, s) +# define BOOST_PP_WHILE_500(p, o, s) BOOST_PP_WHILE_500_C(BOOST_PP_BOOL(p(501, s)), p, o, s) +# define BOOST_PP_WHILE_501(p, o, s) BOOST_PP_WHILE_501_C(BOOST_PP_BOOL(p(502, s)), p, o, s) +# define BOOST_PP_WHILE_502(p, o, s) BOOST_PP_WHILE_502_C(BOOST_PP_BOOL(p(503, s)), p, o, s) +# define BOOST_PP_WHILE_503(p, o, s) BOOST_PP_WHILE_503_C(BOOST_PP_BOOL(p(504, s)), p, o, s) +# define BOOST_PP_WHILE_504(p, o, s) BOOST_PP_WHILE_504_C(BOOST_PP_BOOL(p(505, s)), p, o, s) +# define BOOST_PP_WHILE_505(p, o, s) BOOST_PP_WHILE_505_C(BOOST_PP_BOOL(p(506, s)), p, o, s) +# define BOOST_PP_WHILE_506(p, o, s) BOOST_PP_WHILE_506_C(BOOST_PP_BOOL(p(507, s)), p, o, s) +# define BOOST_PP_WHILE_507(p, o, s) BOOST_PP_WHILE_507_C(BOOST_PP_BOOL(p(508, s)), p, o, s) +# define BOOST_PP_WHILE_508(p, o, s) BOOST_PP_WHILE_508_C(BOOST_PP_BOOL(p(509, s)), p, o, s) +# define BOOST_PP_WHILE_509(p, o, s) BOOST_PP_WHILE_509_C(BOOST_PP_BOOL(p(510, s)), p, o, s) +# define BOOST_PP_WHILE_510(p, o, s) BOOST_PP_WHILE_510_C(BOOST_PP_BOOL(p(511, s)), p, o, s) +# define BOOST_PP_WHILE_511(p, o, s) BOOST_PP_WHILE_511_C(BOOST_PP_BOOL(p(512, s)), p, o, s) +# define BOOST_PP_WHILE_512(p, o, s) BOOST_PP_WHILE_512_C(BOOST_PP_BOOL(p(513, s)), p, o, s) +# +# define BOOST_PP_WHILE_257_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_258, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(258, s)) +# define BOOST_PP_WHILE_258_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_259, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(259, s)) +# define BOOST_PP_WHILE_259_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_260, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(260, s)) +# define BOOST_PP_WHILE_260_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_261, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(261, s)) +# define BOOST_PP_WHILE_261_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_262, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(262, s)) +# define BOOST_PP_WHILE_262_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_263, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(263, s)) +# define BOOST_PP_WHILE_263_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_264, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(264, s)) +# define BOOST_PP_WHILE_264_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_265, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(265, s)) +# define BOOST_PP_WHILE_265_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_266, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(266, s)) +# define BOOST_PP_WHILE_266_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_267, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(267, s)) +# define BOOST_PP_WHILE_267_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_268, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(268, s)) +# define BOOST_PP_WHILE_268_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_269, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(269, s)) +# define BOOST_PP_WHILE_269_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_270, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(270, s)) +# define BOOST_PP_WHILE_270_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_271, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(271, s)) +# define BOOST_PP_WHILE_271_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_272, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(272, s)) +# define BOOST_PP_WHILE_272_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_273, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(273, s)) +# define BOOST_PP_WHILE_273_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_274, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(274, s)) +# define BOOST_PP_WHILE_274_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_275, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(275, s)) +# define BOOST_PP_WHILE_275_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_276, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(276, s)) +# define BOOST_PP_WHILE_276_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_277, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(277, s)) +# define BOOST_PP_WHILE_277_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_278, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(278, s)) +# define BOOST_PP_WHILE_278_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_279, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(279, s)) +# define BOOST_PP_WHILE_279_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_280, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(280, s)) +# define BOOST_PP_WHILE_280_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_281, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(281, s)) +# define BOOST_PP_WHILE_281_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_282, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(282, s)) +# define BOOST_PP_WHILE_282_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_283, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(283, s)) +# define BOOST_PP_WHILE_283_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_284, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(284, s)) +# define BOOST_PP_WHILE_284_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_285, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(285, s)) +# define BOOST_PP_WHILE_285_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_286, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(286, s)) +# define BOOST_PP_WHILE_286_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_287, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(287, s)) +# define BOOST_PP_WHILE_287_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_288, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(288, s)) +# define BOOST_PP_WHILE_288_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_289, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(289, s)) +# define BOOST_PP_WHILE_289_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_290, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(290, s)) +# define BOOST_PP_WHILE_290_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_291, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(291, s)) +# define BOOST_PP_WHILE_291_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_292, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(292, s)) +# define BOOST_PP_WHILE_292_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_293, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(293, s)) +# define BOOST_PP_WHILE_293_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_294, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(294, s)) +# define BOOST_PP_WHILE_294_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_295, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(295, s)) +# define BOOST_PP_WHILE_295_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_296, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(296, s)) +# define BOOST_PP_WHILE_296_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_297, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(297, s)) +# define BOOST_PP_WHILE_297_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_298, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(298, s)) +# define BOOST_PP_WHILE_298_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_299, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(299, s)) +# define BOOST_PP_WHILE_299_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_300, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(300, s)) +# define BOOST_PP_WHILE_300_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_301, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(301, s)) +# define BOOST_PP_WHILE_301_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_302, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(302, s)) +# define BOOST_PP_WHILE_302_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_303, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(303, s)) +# define BOOST_PP_WHILE_303_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_304, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(304, s)) +# define BOOST_PP_WHILE_304_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_305, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(305, s)) +# define BOOST_PP_WHILE_305_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_306, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(306, s)) +# define BOOST_PP_WHILE_306_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_307, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(307, s)) +# define BOOST_PP_WHILE_307_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_308, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(308, s)) +# define BOOST_PP_WHILE_308_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_309, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(309, s)) +# define BOOST_PP_WHILE_309_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_310, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(310, s)) +# define BOOST_PP_WHILE_310_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_311, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(311, s)) +# define BOOST_PP_WHILE_311_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_312, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(312, s)) +# define BOOST_PP_WHILE_312_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_313, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(313, s)) +# define BOOST_PP_WHILE_313_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_314, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(314, s)) +# define BOOST_PP_WHILE_314_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_315, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(315, s)) +# define BOOST_PP_WHILE_315_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_316, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(316, s)) +# define BOOST_PP_WHILE_316_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_317, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(317, s)) +# define BOOST_PP_WHILE_317_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_318, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(318, s)) +# define BOOST_PP_WHILE_318_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_319, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(319, s)) +# define BOOST_PP_WHILE_319_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_320, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(320, s)) +# define BOOST_PP_WHILE_320_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_321, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(321, s)) +# define BOOST_PP_WHILE_321_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_322, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(322, s)) +# define BOOST_PP_WHILE_322_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_323, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(323, s)) +# define BOOST_PP_WHILE_323_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_324, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(324, s)) +# define BOOST_PP_WHILE_324_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_325, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(325, s)) +# define BOOST_PP_WHILE_325_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_326, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(326, s)) +# define BOOST_PP_WHILE_326_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_327, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(327, s)) +# define BOOST_PP_WHILE_327_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_328, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(328, s)) +# define BOOST_PP_WHILE_328_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_329, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(329, s)) +# define BOOST_PP_WHILE_329_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_330, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(330, s)) +# define BOOST_PP_WHILE_330_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_331, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(331, s)) +# define BOOST_PP_WHILE_331_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_332, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(332, s)) +# define BOOST_PP_WHILE_332_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_333, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(333, s)) +# define BOOST_PP_WHILE_333_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_334, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(334, s)) +# define BOOST_PP_WHILE_334_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_335, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(335, s)) +# define BOOST_PP_WHILE_335_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_336, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(336, s)) +# define BOOST_PP_WHILE_336_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_337, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(337, s)) +# define BOOST_PP_WHILE_337_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_338, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(338, s)) +# define BOOST_PP_WHILE_338_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_339, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(339, s)) +# define BOOST_PP_WHILE_339_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_340, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(340, s)) +# define BOOST_PP_WHILE_340_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_341, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(341, s)) +# define BOOST_PP_WHILE_341_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_342, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(342, s)) +# define BOOST_PP_WHILE_342_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_343, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(343, s)) +# define BOOST_PP_WHILE_343_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_344, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(344, s)) +# define BOOST_PP_WHILE_344_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_345, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(345, s)) +# define BOOST_PP_WHILE_345_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_346, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(346, s)) +# define BOOST_PP_WHILE_346_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_347, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(347, s)) +# define BOOST_PP_WHILE_347_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_348, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(348, s)) +# define BOOST_PP_WHILE_348_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_349, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(349, s)) +# define BOOST_PP_WHILE_349_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_350, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(350, s)) +# define BOOST_PP_WHILE_350_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_351, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(351, s)) +# define BOOST_PP_WHILE_351_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_352, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(352, s)) +# define BOOST_PP_WHILE_352_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_353, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(353, s)) +# define BOOST_PP_WHILE_353_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_354, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(354, s)) +# define BOOST_PP_WHILE_354_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_355, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(355, s)) +# define BOOST_PP_WHILE_355_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_356, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(356, s)) +# define BOOST_PP_WHILE_356_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_357, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(357, s)) +# define BOOST_PP_WHILE_357_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_358, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(358, s)) +# define BOOST_PP_WHILE_358_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_359, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(359, s)) +# define BOOST_PP_WHILE_359_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_360, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(360, s)) +# define BOOST_PP_WHILE_360_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_361, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(361, s)) +# define BOOST_PP_WHILE_361_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_362, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(362, s)) +# define BOOST_PP_WHILE_362_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_363, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(363, s)) +# define BOOST_PP_WHILE_363_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_364, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(364, s)) +# define BOOST_PP_WHILE_364_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_365, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(365, s)) +# define BOOST_PP_WHILE_365_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_366, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(366, s)) +# define BOOST_PP_WHILE_366_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_367, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(367, s)) +# define BOOST_PP_WHILE_367_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_368, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(368, s)) +# define BOOST_PP_WHILE_368_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_369, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(369, s)) +# define BOOST_PP_WHILE_369_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_370, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(370, s)) +# define BOOST_PP_WHILE_370_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_371, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(371, s)) +# define BOOST_PP_WHILE_371_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_372, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(372, s)) +# define BOOST_PP_WHILE_372_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_373, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(373, s)) +# define BOOST_PP_WHILE_373_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_374, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(374, s)) +# define BOOST_PP_WHILE_374_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_375, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(375, s)) +# define BOOST_PP_WHILE_375_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_376, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(376, s)) +# define BOOST_PP_WHILE_376_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_377, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(377, s)) +# define BOOST_PP_WHILE_377_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_378, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(378, s)) +# define BOOST_PP_WHILE_378_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_379, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(379, s)) +# define BOOST_PP_WHILE_379_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_380, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(380, s)) +# define BOOST_PP_WHILE_380_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_381, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(381, s)) +# define BOOST_PP_WHILE_381_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_382, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(382, s)) +# define BOOST_PP_WHILE_382_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_383, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(383, s)) +# define BOOST_PP_WHILE_383_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_384, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(384, s)) +# define BOOST_PP_WHILE_384_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_385, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(385, s)) +# define BOOST_PP_WHILE_385_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_386, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(386, s)) +# define BOOST_PP_WHILE_386_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_387, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(387, s)) +# define BOOST_PP_WHILE_387_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_388, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(388, s)) +# define BOOST_PP_WHILE_388_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_389, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(389, s)) +# define BOOST_PP_WHILE_389_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_390, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(390, s)) +# define BOOST_PP_WHILE_390_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_391, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(391, s)) +# define BOOST_PP_WHILE_391_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_392, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(392, s)) +# define BOOST_PP_WHILE_392_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_393, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(393, s)) +# define BOOST_PP_WHILE_393_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_394, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(394, s)) +# define BOOST_PP_WHILE_394_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_395, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(395, s)) +# define BOOST_PP_WHILE_395_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_396, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(396, s)) +# define BOOST_PP_WHILE_396_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_397, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(397, s)) +# define BOOST_PP_WHILE_397_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_398, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(398, s)) +# define BOOST_PP_WHILE_398_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_399, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(399, s)) +# define BOOST_PP_WHILE_399_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_400, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(400, s)) +# define BOOST_PP_WHILE_400_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_401, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(401, s)) +# define BOOST_PP_WHILE_401_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_402, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(402, s)) +# define BOOST_PP_WHILE_402_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_403, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(403, s)) +# define BOOST_PP_WHILE_403_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_404, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(404, s)) +# define BOOST_PP_WHILE_404_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_405, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(405, s)) +# define BOOST_PP_WHILE_405_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_406, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(406, s)) +# define BOOST_PP_WHILE_406_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_407, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(407, s)) +# define BOOST_PP_WHILE_407_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_408, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(408, s)) +# define BOOST_PP_WHILE_408_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_409, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(409, s)) +# define BOOST_PP_WHILE_409_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_410, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(410, s)) +# define BOOST_PP_WHILE_410_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_411, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(411, s)) +# define BOOST_PP_WHILE_411_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_412, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(412, s)) +# define BOOST_PP_WHILE_412_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_413, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(413, s)) +# define BOOST_PP_WHILE_413_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_414, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(414, s)) +# define BOOST_PP_WHILE_414_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_415, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(415, s)) +# define BOOST_PP_WHILE_415_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_416, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(416, s)) +# define BOOST_PP_WHILE_416_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_417, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(417, s)) +# define BOOST_PP_WHILE_417_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_418, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(418, s)) +# define BOOST_PP_WHILE_418_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_419, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(419, s)) +# define BOOST_PP_WHILE_419_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_420, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(420, s)) +# define BOOST_PP_WHILE_420_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_421, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(421, s)) +# define BOOST_PP_WHILE_421_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_422, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(422, s)) +# define BOOST_PP_WHILE_422_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_423, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(423, s)) +# define BOOST_PP_WHILE_423_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_424, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(424, s)) +# define BOOST_PP_WHILE_424_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_425, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(425, s)) +# define BOOST_PP_WHILE_425_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_426, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(426, s)) +# define BOOST_PP_WHILE_426_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_427, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(427, s)) +# define BOOST_PP_WHILE_427_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_428, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(428, s)) +# define BOOST_PP_WHILE_428_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_429, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(429, s)) +# define BOOST_PP_WHILE_429_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_430, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(430, s)) +# define BOOST_PP_WHILE_430_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_431, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(431, s)) +# define BOOST_PP_WHILE_431_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_432, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(432, s)) +# define BOOST_PP_WHILE_432_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_433, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(433, s)) +# define BOOST_PP_WHILE_433_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_434, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(434, s)) +# define BOOST_PP_WHILE_434_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_435, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(435, s)) +# define BOOST_PP_WHILE_435_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_436, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(436, s)) +# define BOOST_PP_WHILE_436_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_437, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(437, s)) +# define BOOST_PP_WHILE_437_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_438, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(438, s)) +# define BOOST_PP_WHILE_438_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_439, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(439, s)) +# define BOOST_PP_WHILE_439_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_440, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(440, s)) +# define BOOST_PP_WHILE_440_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_441, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(441, s)) +# define BOOST_PP_WHILE_441_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_442, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(442, s)) +# define BOOST_PP_WHILE_442_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_443, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(443, s)) +# define BOOST_PP_WHILE_443_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_444, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(444, s)) +# define BOOST_PP_WHILE_444_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_445, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(445, s)) +# define BOOST_PP_WHILE_445_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_446, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(446, s)) +# define BOOST_PP_WHILE_446_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_447, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(447, s)) +# define BOOST_PP_WHILE_447_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_448, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(448, s)) +# define BOOST_PP_WHILE_448_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_449, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(449, s)) +# define BOOST_PP_WHILE_449_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_450, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(450, s)) +# define BOOST_PP_WHILE_450_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_451, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(451, s)) +# define BOOST_PP_WHILE_451_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_452, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(452, s)) +# define BOOST_PP_WHILE_452_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_453, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(453, s)) +# define BOOST_PP_WHILE_453_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_454, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(454, s)) +# define BOOST_PP_WHILE_454_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_455, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(455, s)) +# define BOOST_PP_WHILE_455_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_456, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(456, s)) +# define BOOST_PP_WHILE_456_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_457, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(457, s)) +# define BOOST_PP_WHILE_457_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_458, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(458, s)) +# define BOOST_PP_WHILE_458_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_459, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(459, s)) +# define BOOST_PP_WHILE_459_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_460, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(460, s)) +# define BOOST_PP_WHILE_460_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_461, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(461, s)) +# define BOOST_PP_WHILE_461_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_462, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(462, s)) +# define BOOST_PP_WHILE_462_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_463, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(463, s)) +# define BOOST_PP_WHILE_463_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_464, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(464, s)) +# define BOOST_PP_WHILE_464_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_465, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(465, s)) +# define BOOST_PP_WHILE_465_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_466, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(466, s)) +# define BOOST_PP_WHILE_466_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_467, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(467, s)) +# define BOOST_PP_WHILE_467_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_468, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(468, s)) +# define BOOST_PP_WHILE_468_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_469, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(469, s)) +# define BOOST_PP_WHILE_469_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_470, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(470, s)) +# define BOOST_PP_WHILE_470_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_471, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(471, s)) +# define BOOST_PP_WHILE_471_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_472, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(472, s)) +# define BOOST_PP_WHILE_472_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_473, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(473, s)) +# define BOOST_PP_WHILE_473_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_474, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(474, s)) +# define BOOST_PP_WHILE_474_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_475, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(475, s)) +# define BOOST_PP_WHILE_475_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_476, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(476, s)) +# define BOOST_PP_WHILE_476_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_477, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(477, s)) +# define BOOST_PP_WHILE_477_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_478, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(478, s)) +# define BOOST_PP_WHILE_478_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_479, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(479, s)) +# define BOOST_PP_WHILE_479_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_480, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(480, s)) +# define BOOST_PP_WHILE_480_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_481, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(481, s)) +# define BOOST_PP_WHILE_481_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_482, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(482, s)) +# define BOOST_PP_WHILE_482_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_483, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(483, s)) +# define BOOST_PP_WHILE_483_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_484, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(484, s)) +# define BOOST_PP_WHILE_484_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_485, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(485, s)) +# define BOOST_PP_WHILE_485_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_486, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(486, s)) +# define BOOST_PP_WHILE_486_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_487, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(487, s)) +# define BOOST_PP_WHILE_487_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_488, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(488, s)) +# define BOOST_PP_WHILE_488_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_489, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(489, s)) +# define BOOST_PP_WHILE_489_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_490, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(490, s)) +# define BOOST_PP_WHILE_490_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_491, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(491, s)) +# define BOOST_PP_WHILE_491_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_492, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(492, s)) +# define BOOST_PP_WHILE_492_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_493, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(493, s)) +# define BOOST_PP_WHILE_493_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_494, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(494, s)) +# define BOOST_PP_WHILE_494_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_495, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(495, s)) +# define BOOST_PP_WHILE_495_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_496, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(496, s)) +# define BOOST_PP_WHILE_496_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_497, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(497, s)) +# define BOOST_PP_WHILE_497_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_498, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(498, s)) +# define BOOST_PP_WHILE_498_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_499, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(499, s)) +# define BOOST_PP_WHILE_499_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_500, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(500, s)) +# define BOOST_PP_WHILE_500_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_501, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(501, s)) +# define BOOST_PP_WHILE_501_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_502, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(502, s)) +# define BOOST_PP_WHILE_502_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_503, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(503, s)) +# define BOOST_PP_WHILE_503_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_504, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(504, s)) +# define BOOST_PP_WHILE_504_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_505, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(505, s)) +# define BOOST_PP_WHILE_505_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_506, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(506, s)) +# define BOOST_PP_WHILE_506_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_507, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(507, s)) +# define BOOST_PP_WHILE_507_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_508, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(508, s)) +# define BOOST_PP_WHILE_508_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_509, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(509, s)) +# define BOOST_PP_WHILE_509_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_510, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(510, s)) +# define BOOST_PP_WHILE_510_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_511, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(511, s)) +# define BOOST_PP_WHILE_511_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_512, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(512, s)) +# define BOOST_PP_WHILE_512_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_513, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(513, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/msvc/while.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/msvc/while.hpp new file mode 100644 index 0000000000..e3cc685527 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/msvc/while.hpp @@ -0,0 +1,277 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP +# +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/detail/while.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/detail/while.hpp new file mode 100644 index 0000000000..f1ca9091ae --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/detail/while.hpp @@ -0,0 +1,563 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s) +# +# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s)) +# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s)) +# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s)) +# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s)) +# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s)) +# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s)) +# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s)) +# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s)) +# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s)) +# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s)) +# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s)) +# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s)) +# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s)) +# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s)) +# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s)) +# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s)) +# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s)) +# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s)) +# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s)) +# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s)) +# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s)) +# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s)) +# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s)) +# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s)) +# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s)) +# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s)) +# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s)) +# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s)) +# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s)) +# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s)) +# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s)) +# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s)) +# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s)) +# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s)) +# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s)) +# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s)) +# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s)) +# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s)) +# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s)) +# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s)) +# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s)) +# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s)) +# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s)) +# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s)) +# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s)) +# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s)) +# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s)) +# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s)) +# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s)) +# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s)) +# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s)) +# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s)) +# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s)) +# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s)) +# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s)) +# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s)) +# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s)) +# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s)) +# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s)) +# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s)) +# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s)) +# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s)) +# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s)) +# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s)) +# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s)) +# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s)) +# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s)) +# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s)) +# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s)) +# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s)) +# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s)) +# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s)) +# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s)) +# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s)) +# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s)) +# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s)) +# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s)) +# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s)) +# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s)) +# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s)) +# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s)) +# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s)) +# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s)) +# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s)) +# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s)) +# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s)) +# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s)) +# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s)) +# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s)) +# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s)) +# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s)) +# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s)) +# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s)) +# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s)) +# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s)) +# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s)) +# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s)) +# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s)) +# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s)) +# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s)) +# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s)) +# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s)) +# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s)) +# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s)) +# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s)) +# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s)) +# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s)) +# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s)) +# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s)) +# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s)) +# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s)) +# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s)) +# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s)) +# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s)) +# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s)) +# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s)) +# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s)) +# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s)) +# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s)) +# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s)) +# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s)) +# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s)) +# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s)) +# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s)) +# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s)) +# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s)) +# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s)) +# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s)) +# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s)) +# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s)) +# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s)) +# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s)) +# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s)) +# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s)) +# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s)) +# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s)) +# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s)) +# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s)) +# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s)) +# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s)) +# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s)) +# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s)) +# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s)) +# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s)) +# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s)) +# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s)) +# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s)) +# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s)) +# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s)) +# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s)) +# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s)) +# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s)) +# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s)) +# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s)) +# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s)) +# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s)) +# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s)) +# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s)) +# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s)) +# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s)) +# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s)) +# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s)) +# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s)) +# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s)) +# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s)) +# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s)) +# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s)) +# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s)) +# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s)) +# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s)) +# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s)) +# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s)) +# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s)) +# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s)) +# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s)) +# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s)) +# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s)) +# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s)) +# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s)) +# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s)) +# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s)) +# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s)) +# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s)) +# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s)) +# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s)) +# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s)) +# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s)) +# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s)) +# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s)) +# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s)) +# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s)) +# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s)) +# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s)) +# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s)) +# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s)) +# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s)) +# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s)) +# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s)) +# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s)) +# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s)) +# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s)) +# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s)) +# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s)) +# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s)) +# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s)) +# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s)) +# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s)) +# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s)) +# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s)) +# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s)) +# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s)) +# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s)) +# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s)) +# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s)) +# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s)) +# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s)) +# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s)) +# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s)) +# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s)) +# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s)) +# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s)) +# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s)) +# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s)) +# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s)) +# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s)) +# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s)) +# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s)) +# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s)) +# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s)) +# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s)) +# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s)) +# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s)) +# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s)) +# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s)) +# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s)) +# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s)) +# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s)) +# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s)) +# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s)) +# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s)) +# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s)) +# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s)) +# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s)) +# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s)) +# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s)) +# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s)) +# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s)) +# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s)) +# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s)) +# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s)) +# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s)) +# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s)) +# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s)) +# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s)) +# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s)) +# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s)) +# +# else +# +# include +# include +# include +# +# include +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/expr_if.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/expr_if.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/control/expr_if.hpp rename to external/include/boost_1_90_0/boost/preprocessor/control/expr_if.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/control/expr_iif.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/expr_iif.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/control/expr_iif.hpp rename to external/include/boost_1_90_0/boost/preprocessor/control/expr_iif.hpp index 58f45a48f5..01818fe6fe 100644 --- a/external/include/boost_1_75/boost/preprocessor/control/expr_iif.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/control/expr_iif.hpp @@ -1,31 +1,31 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP -# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP -# -# include -# -# /* BOOST_PP_EXPR_IIF */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr) -# else -# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr)) -# define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par -# endif -# -# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr) -# -# define BOOST_PP_EXPR_IIF_0(expr) -# define BOOST_PP_EXPR_IIF_1(expr) expr -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP +# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP +# +# include +# +# /* BOOST_PP_EXPR_IIF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr) +# else +# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr)) +# define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par +# endif +# +# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr) +# +# define BOOST_PP_EXPR_IIF_0(expr) +# define BOOST_PP_EXPR_IIF_1(expr) expr +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/if.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/if.hpp new file mode 100644 index 0000000000..51ab2760b3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/if.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP +# define BOOST_PREPROCESSOR_CONTROL_IF_HPP +# +# include +# include +# include +# +# /* BOOST_PP_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) +# else +# define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f) +# define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/control/iif.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/iif.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/control/iif.hpp rename to external/include/boost_1_90_0/boost/preprocessor/control/iif.hpp index fd0781793f..21dd8d9e19 100644 --- a/external/include/boost_1_75/boost/preprocessor/control/iif.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/control/iif.hpp @@ -1,34 +1,34 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP -# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f) -# else -# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f)) -# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f) -# else -# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f)) -# define BOOST_PP_IIF_II(id) id -# endif -# -# define BOOST_PP_IIF_0(t, f) f -# define BOOST_PP_IIF_1(t, f) t -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP +# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f) +# else +# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f)) +# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f) +# else +# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f)) +# define BOOST_PP_IIF_II(id) id +# endif +# +# define BOOST_PP_IIF_0(t, f) f +# define BOOST_PP_IIF_1(t, f) t +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_1024.hpp new file mode 100644 index 0000000000..8740887f4c --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_1024.hpp @@ -0,0 +1,531 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_1024_HPP +# define BOOST_PREPROCESSOR_CONTROL_WHILE_1024_HPP +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_513(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_514(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_515(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_516(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_517(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_518(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_519(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_520(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_521(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_522(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_523(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_524(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_525(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_526(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_527(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_528(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_529(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_530(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_531(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_532(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_533(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_534(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_535(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_536(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_537(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_538(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_539(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_540(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_541(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_542(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_543(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_544(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_545(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_546(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_547(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_548(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_549(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_550(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_551(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_552(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_553(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_554(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_555(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_556(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_557(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_558(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_559(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_560(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_561(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_562(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_563(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_564(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_565(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_566(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_567(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_568(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_569(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_570(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_571(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_572(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_573(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_574(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_575(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_576(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_577(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_578(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_579(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_580(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_581(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_582(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_583(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_584(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_585(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_586(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_587(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_588(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_589(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_590(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_591(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_592(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_593(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_594(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_595(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_596(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_597(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_598(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_599(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_600(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_601(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_602(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_603(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_604(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_605(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_606(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_607(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_608(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_609(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_610(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_611(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_612(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_613(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_614(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_615(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_616(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_617(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_618(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_619(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_620(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_621(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_622(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_623(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_624(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_625(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_626(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_627(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_628(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_629(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_630(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_631(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_632(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_633(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_634(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_635(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_636(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_637(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_638(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_639(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_640(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_641(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_642(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_643(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_644(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_645(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_646(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_647(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_648(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_649(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_650(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_651(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_652(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_653(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_654(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_655(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_656(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_657(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_658(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_659(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_660(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_661(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_662(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_663(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_664(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_665(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_666(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_667(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_668(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_669(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_670(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_671(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_672(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_673(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_674(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_675(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_676(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_677(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_678(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_679(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_680(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_681(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_682(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_683(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_684(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_685(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_686(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_687(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_688(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_689(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_690(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_691(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_692(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_693(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_694(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_695(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_696(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_697(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_698(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_699(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_700(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_701(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_702(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_703(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_704(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_705(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_706(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_707(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_708(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_709(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_710(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_711(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_712(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_713(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_714(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_715(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_716(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_717(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_718(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_719(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_720(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_721(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_722(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_723(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_724(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_725(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_726(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_727(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_728(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_729(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_730(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_731(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_732(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_733(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_734(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_735(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_736(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_737(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_738(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_739(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_740(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_741(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_742(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_743(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_744(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_745(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_746(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_747(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_748(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_749(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_750(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_751(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_752(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_753(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_754(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_755(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_756(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_757(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_758(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_759(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_760(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_761(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_762(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_763(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_764(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_765(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_766(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_767(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_768(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_769(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_770(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_771(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_772(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_773(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_774(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_775(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_776(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_777(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_778(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_779(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_780(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_781(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_782(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_783(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_784(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_785(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_786(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_787(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_788(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_789(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_790(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_791(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_792(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_793(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_794(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_795(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_796(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_797(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_798(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_799(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_800(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_801(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_802(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_803(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_804(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_805(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_806(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_807(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_808(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_809(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_810(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_811(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_812(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_813(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_814(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_815(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_816(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_817(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_818(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_819(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_820(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_821(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_822(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_823(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_824(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_825(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_826(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_827(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_828(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_829(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_830(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_831(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_832(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_833(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_834(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_835(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_836(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_837(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_838(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_839(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_840(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_841(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_842(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_843(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_844(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_845(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_846(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_847(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_848(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_849(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_850(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_851(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_852(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_853(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_854(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_855(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_856(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_857(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_858(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_859(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_860(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_861(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_862(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_863(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_864(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_865(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_866(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_867(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_868(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_869(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_870(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_871(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_872(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_873(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_874(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_875(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_876(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_877(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_878(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_879(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_880(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_881(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_882(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_883(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_884(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_885(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_886(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_887(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_888(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_889(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_890(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_891(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_892(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_893(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_894(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_895(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_896(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_897(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_898(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_899(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_900(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_901(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_902(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_903(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_904(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_905(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_906(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_907(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_908(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_909(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_910(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_911(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_912(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_913(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_914(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_915(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_916(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_917(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_918(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_919(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_920(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_921(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_922(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_923(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_924(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_925(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_926(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_927(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_928(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_929(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_930(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_931(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_932(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_933(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_934(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_935(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_936(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_937(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_938(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_939(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_940(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_941(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_942(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_943(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_944(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_945(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_946(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_947(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_948(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_949(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_950(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_951(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_952(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_953(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_954(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_955(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_956(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_957(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_958(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_959(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_960(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_961(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_962(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_963(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_964(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_965(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_966(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_967(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_968(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_969(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_970(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_971(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_972(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_973(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_974(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_975(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_976(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_977(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_978(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_979(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_980(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_981(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_982(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_983(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_984(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_985(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_986(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_987(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_988(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_989(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_990(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_991(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_992(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_993(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_994(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_995(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_996(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_997(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_998(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_999(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1000(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1001(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1002(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1003(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1004(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1005(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1006(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1007(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1008(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1009(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1010(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1011(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1012(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1013(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1014(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1015(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1016(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1017(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1018(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1019(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1020(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1021(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1022(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1023(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1024(p, o, s) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_256.hpp new file mode 100644 index 0000000000..3bdd103980 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_256.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_256_HPP +# define BOOST_PREPROCESSOR_CONTROL_WHILE_256_HPP +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_0(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_512.hpp new file mode 100644 index 0000000000..252c71ea51 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/limits/while_512.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_512_HPP +# define BOOST_PREPROCESSOR_CONTROL_WHILE_512_HPP +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_257(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_258(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_259(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_260(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_261(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_262(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_263(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_264(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_265(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_266(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_267(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_268(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_269(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_270(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_271(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_272(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_273(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_274(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_275(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_276(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_277(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_278(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_279(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_280(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_281(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_282(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_283(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_284(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_285(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_286(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_287(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_288(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_289(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_290(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_291(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_292(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_293(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_294(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_295(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_296(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_297(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_298(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_299(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_300(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_301(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_302(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_303(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_304(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_305(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_306(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_307(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_308(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_309(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_310(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_311(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_312(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_313(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_314(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_315(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_316(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_317(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_318(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_319(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_320(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_321(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_322(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_323(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_324(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_325(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_326(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_327(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_328(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_329(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_330(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_331(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_332(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_333(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_334(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_335(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_336(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_337(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_338(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_339(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_340(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_341(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_342(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_343(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_344(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_345(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_346(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_347(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_348(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_349(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_350(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_351(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_352(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_353(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_354(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_355(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_356(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_357(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_358(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_359(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_360(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_361(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_362(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_363(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_364(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_365(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_366(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_367(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_368(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_369(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_370(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_371(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_372(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_373(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_374(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_375(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_376(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_377(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_378(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_379(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_380(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_381(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_382(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_383(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_384(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_385(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_386(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_387(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_388(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_389(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_390(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_391(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_392(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_393(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_394(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_395(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_396(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_397(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_398(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_399(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_400(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_401(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_402(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_403(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_404(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_405(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_406(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_407(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_408(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_409(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_410(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_411(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_412(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_413(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_414(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_415(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_416(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_417(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_418(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_419(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_420(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_421(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_422(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_423(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_424(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_425(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_426(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_427(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_428(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_429(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_430(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_431(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_432(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_433(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_434(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_435(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_436(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_437(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_438(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_439(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_440(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_441(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_442(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_443(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_444(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_445(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_446(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_447(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_448(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_449(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_450(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_451(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_452(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_453(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_454(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_455(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_456(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_457(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_458(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_459(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_460(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_461(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_462(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_463(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_464(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_465(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_466(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_467(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_468(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_469(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_470(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_471(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_472(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_473(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_474(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_475(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_476(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_477(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_478(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_479(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_480(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_481(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_482(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_483(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_484(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_485(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_486(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_487(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_488(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_489(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_490(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_491(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_492(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_493(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_494(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_495(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_496(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_497(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_498(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_499(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_500(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_501(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_502(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_503(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_504(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_505(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_506(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_507(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_508(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_509(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_510(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_511(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_512(p, o, s) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/control/while.hpp b/external/include/boost_1_90_0/boost/preprocessor/control/while.hpp new file mode 100644 index 0000000000..14ba4f1cbc --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/control/while.hpp @@ -0,0 +1,387 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_WHILE */ +# +# if 0 +# define BOOST_PP_WHILE(pred, op, state) +# endif +# +# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))) +# else +# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))) +# endif +# +# define BOOST_PP_WHILE_F(d, _) 0 +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001) +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0 +# +# else +# +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_WHILE */ +# +# if 0 +# define BOOST_PP_WHILE(pred, op, state) +# endif +# +# if BOOST_PP_LIMIT_WHILE == 256 +# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))) +# elif BOOST_PP_LIMIT_WHILE == 512 +# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 512))) +# elif BOOST_PP_LIMIT_WHILE == 1024 +# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 1024))) +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# define BOOST_PP_WHILE_P(n) BOOST_PP_WHILE_P_DEC(BOOST_PP_DEC(n)) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_WHILE_P_DEC(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_CAT(BOOST_PP_WHILE_ , n)(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_ , n)(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_ , n)(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))) +# else +# define BOOST_PP_WHILE_P_DEC(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_CAT(BOOST_PP_WHILE_ , n)(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_ , n)(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))) +# endif +# +# define BOOST_PP_WHILE_F(d, _) 0 +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# if BOOST_PP_LIMIT_WHILE == 256 +# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001) +# elif BOOST_PP_LIMIT_WHILE == 512 +# define BOOST_PP_WHILE_513(p, o, s) BOOST_PP_ERROR(0x0001) +# elif BOOST_PP_LIMIT_WHILE == 1024 +# define BOOST_PP_WHILE_1025(p, o, s) BOOST_PP_ERROR(0x0001) +# endif +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1 +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/debug/error.hpp b/external/include/boost_1_90_0/boost/preprocessor/debug/error.hpp new file mode 100644 index 0000000000..8941caf5be --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/debug/error.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP +# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP +# +# include +# include +# +# /* BOOST_PP_ERROR */ +# +# if BOOST_PP_CONFIG_ERRORS +# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code) +# endif +# +# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS) +# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW) +# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW) +# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW) +# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW) +# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW) +# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW) +# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/dec.hpp b/external/include/boost_1_90_0/boost/preprocessor/dec.hpp new file mode 100644 index 0000000000..641c5402b6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/dec.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEC_HPP +# define BOOST_PREPROCESSOR_DEC_HPP +# +# include +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/detail/auto_rec.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/auto_rec.hpp new file mode 100644 index 0000000000..bb18b862bb --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/auto_rec.hpp @@ -0,0 +1,334 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# +# include +# +# /* BOOST_PP_AUTO_REC */ +# +# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) +# +# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) +# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) +# +# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) +# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) +# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) +# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) +# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) +# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) +# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) +# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2) +# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4) +# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) +# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6) +# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8) +# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) +# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) +# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10) +# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12) +# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) +# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14) +# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16) +# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) +# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) +# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) +# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18) +# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20) +# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) +# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22) +# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24) +# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) +# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) +# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26) +# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28) +# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) +# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30) +# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32) +# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) +# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) +# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) +# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) +# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34) +# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36) +# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) +# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38) +# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40) +# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) +# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) +# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42) +# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44) +# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) +# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46) +# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48) +# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) +# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) +# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) +# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50) +# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52) +# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) +# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54) +# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56) +# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) +# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) +# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58) +# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60) +# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) +# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62) +# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64) +# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) +# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) +# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) +# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) +# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) +# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66) +# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68) +# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) +# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70) +# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72) +# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) +# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) +# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74) +# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76) +# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) +# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78) +# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80) +# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) +# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) +# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) +# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82) +# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84) +# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) +# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86) +# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88) +# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) +# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) +# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90) +# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92) +# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) +# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94) +# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96) +# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) +# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) +# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) +# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) +# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98) +# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100) +# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) +# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102) +# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104) +# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) +# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) +# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106) +# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108) +# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) +# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110) +# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112) +# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) +# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) +# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) +# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114) +# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116) +# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) +# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118) +# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120) +# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) +# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) +# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122) +# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124) +# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) +# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126) +# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128) +# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) +# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) +# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) +# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) +# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) +# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) +# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130) +# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132) +# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) +# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134) +# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136) +# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) +# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) +# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138) +# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140) +# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) +# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142) +# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144) +# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) +# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) +# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) +# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146) +# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148) +# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) +# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150) +# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152) +# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) +# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) +# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154) +# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156) +# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) +# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158) +# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160) +# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) +# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) +# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) +# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) +# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162) +# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164) +# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) +# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166) +# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168) +# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) +# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) +# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170) +# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172) +# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) +# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174) +# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176) +# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) +# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) +# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) +# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178) +# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180) +# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) +# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182) +# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184) +# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) +# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) +# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186) +# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188) +# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) +# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190) +# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192) +# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) +# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) +# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) +# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) +# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) +# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194) +# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196) +# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) +# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198) +# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200) +# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) +# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) +# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202) +# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204) +# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) +# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206) +# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208) +# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) +# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) +# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) +# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210) +# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212) +# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) +# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214) +# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216) +# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) +# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) +# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218) +# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220) +# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) +# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222) +# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224) +# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) +# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) +# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) +# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) +# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226) +# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228) +# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) +# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230) +# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232) +# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) +# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) +# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234) +# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236) +# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) +# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238) +# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240) +# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) +# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) +# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) +# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242) +# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244) +# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) +# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246) +# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248) +# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) +# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) +# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250) +# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252) +# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) +# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254) +# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256) +# +# endif +# +# endif +# +# else +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# +# /* BOOST_PP_AUTO_REC */ +# +# include +# +# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) +# +# include +# +# if BOOST_PP_LIMIT_MAG == 256 +# include +# elif BOOST_PP_LIMIT_MAG == 512 +# include +# include +# elif BOOST_PP_LIMIT_MAG == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_MAG limit +# endif +# +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/check.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/check.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/detail/check.hpp rename to external/include/boost_1_90_0/boost/preprocessor/detail/check.hpp index 63f8ff9166..8e374c635a 100644 --- a/external/include/boost_1_75/boost/preprocessor/detail/check.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/check.hpp @@ -1,48 +1,48 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP -# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP -# -# include -# include -# -# /* BOOST_PP_CHECK */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type) -# else -# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type)) -# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x)) -# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) -# define BOOST_PP_CHECK_2(res, _) res -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x) -# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) -# define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk)) -# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im) -# define BOOST_PP_CHECK_4(res, _) res -# define BOOST_PP_CHECK_5(res) res -# else /* DMC */ -# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x)) -# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par -# define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk)) -# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) -# define BOOST_PP_CHECK_2(res, _) res -# endif -# -# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP +# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP +# +# include +# include +# +# /* BOOST_PP_CHECK */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type) +# else +# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type)) +# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x)) +# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) +# define BOOST_PP_CHECK_2(res, _) res +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x) +# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) +# define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk)) +# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im) +# define BOOST_PP_CHECK_4(res, _) res +# define BOOST_PP_CHECK_5(res) res +# else /* DMC */ +# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x)) +# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par +# define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk)) +# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) +# define BOOST_PP_CHECK_2(res, _) res +# endif +# +# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/detail/dmc/auto_rec.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/dmc/auto_rec.hpp new file mode 100644 index 0000000000..47110c7bed --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/dmc/auto_rec.hpp @@ -0,0 +1,286 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_DMC_AUTO_REC_HPP +# define BOOST_PREPROCESSOR_DETAIL_DMC_AUTO_REC_HPP +# +# include +# +# /* BOOST_PP_AUTO_REC */ +# +# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) +# +# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) +# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) +# +# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) +# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) +# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) +# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) +# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) +# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) +# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) +# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2) +# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4) +# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) +# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6) +# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8) +# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) +# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) +# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10) +# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12) +# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) +# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14) +# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16) +# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) +# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) +# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) +# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18) +# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20) +# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) +# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22) +# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24) +# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) +# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) +# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26) +# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28) +# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) +# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30) +# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32) +# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) +# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) +# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) +# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) +# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34) +# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36) +# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) +# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38) +# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40) +# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) +# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) +# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42) +# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44) +# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) +# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46) +# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48) +# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) +# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) +# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) +# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50) +# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52) +# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) +# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54) +# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56) +# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) +# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) +# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58) +# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60) +# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) +# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62) +# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64) +# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) +# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) +# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) +# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) +# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) +# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66) +# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68) +# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) +# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70) +# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72) +# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) +# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) +# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74) +# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76) +# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) +# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78) +# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80) +# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) +# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) +# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) +# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82) +# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84) +# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) +# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86) +# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88) +# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) +# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) +# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90) +# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92) +# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) +# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94) +# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96) +# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) +# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) +# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) +# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) +# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98) +# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100) +# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) +# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102) +# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104) +# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) +# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) +# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106) +# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108) +# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) +# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110) +# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112) +# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) +# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) +# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) +# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114) +# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116) +# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) +# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118) +# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120) +# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) +# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) +# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122) +# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124) +# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) +# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126) +# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128) +# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) +# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) +# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) +# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) +# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) +# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) +# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130) +# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132) +# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) +# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134) +# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136) +# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) +# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) +# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138) +# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140) +# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) +# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142) +# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144) +# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) +# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) +# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) +# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146) +# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148) +# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) +# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150) +# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152) +# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) +# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) +# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154) +# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156) +# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) +# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158) +# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160) +# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) +# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) +# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) +# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) +# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162) +# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164) +# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) +# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166) +# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168) +# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) +# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) +# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170) +# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172) +# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) +# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174) +# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176) +# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) +# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) +# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) +# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178) +# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180) +# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) +# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182) +# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184) +# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) +# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) +# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186) +# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188) +# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) +# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190) +# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192) +# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) +# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) +# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) +# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) +# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) +# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194) +# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196) +# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) +# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198) +# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200) +# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) +# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) +# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202) +# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204) +# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) +# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206) +# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208) +# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) +# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) +# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) +# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210) +# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212) +# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) +# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214) +# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216) +# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) +# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) +# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218) +# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220) +# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) +# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222) +# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224) +# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) +# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) +# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) +# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) +# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226) +# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228) +# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) +# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230) +# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232) +# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) +# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) +# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234) +# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236) +# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) +# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238) +# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240) +# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) +# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) +# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) +# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242) +# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244) +# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) +# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246) +# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248) +# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) +# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) +# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250) +# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252) +# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) +# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254) +# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/is_binary.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/is_binary.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/detail/is_binary.hpp rename to external/include/boost_1_90_0/boost/preprocessor/detail/is_binary.hpp index 3428833d64..f2180e54ee 100644 --- a/external/include/boost_1_75/boost/preprocessor/detail/is_binary.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/is_binary.hpp @@ -1,30 +1,30 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP -# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP -# -# include -# include -# -# /* BOOST_PP_IS_BINARY */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) -# else -# define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x) -# define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) -# endif -# -# define BOOST_PP_IS_BINARY_CHECK(a, b) 1 -# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP +# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP +# +# include +# include +# +# /* BOOST_PP_IS_BINARY */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) +# else +# define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x) +# define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) +# endif +# +# define BOOST_PP_IS_BINARY_CHECK(a, b) 1 +# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_1024.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_1024.hpp index ba749d6684..924e4f7b48 100644 --- a/external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_1024.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_1024.hpp @@ -1,532 +1,532 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_1024_HPP -# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_1024_HPP -# -# define BOOST_PP_NODE_ENTRY_1024(p) BOOST_PP_NODE_512(p)(p)(p)(p)(p)(p)(p)(p)(p)(p) -# -# define BOOST_PP_NODE_512(p) BOOST_PP_IIF(p(512), BOOST_PP_NODE_256, BOOST_PP_NODE_768) -# define BOOST_PP_NODE_768(p) BOOST_PP_IIF(p(768), BOOST_PP_NODE_640, BOOST_PP_NODE_896) -# define BOOST_PP_NODE_640(p) BOOST_PP_IIF(p(640), BOOST_PP_NODE_576, BOOST_PP_NODE_704) -# define BOOST_PP_NODE_576(p) BOOST_PP_IIF(p(576), BOOST_PP_NODE_544, BOOST_PP_NODE_608) -# define BOOST_PP_NODE_544(p) BOOST_PP_IIF(p(544), BOOST_PP_NODE_528, BOOST_PP_NODE_560) -# define BOOST_PP_NODE_528(p) BOOST_PP_IIF(p(528), BOOST_PP_NODE_520, BOOST_PP_NODE_536) -# define BOOST_PP_NODE_520(p) BOOST_PP_IIF(p(520), BOOST_PP_NODE_516, BOOST_PP_NODE_524) -# define BOOST_PP_NODE_516(p) BOOST_PP_IIF(p(516), BOOST_PP_NODE_514, BOOST_PP_NODE_518) -# define BOOST_PP_NODE_514(p) BOOST_PP_IIF(p(514), BOOST_PP_NODE_513, BOOST_PP_NODE_515) -# define BOOST_PP_NODE_513(p) BOOST_PP_IIF(p(513), 513, 514) -# define BOOST_PP_NODE_515(p) BOOST_PP_IIF(p(515), 515, 516) -# define BOOST_PP_NODE_518(p) BOOST_PP_IIF(p(518), BOOST_PP_NODE_517, BOOST_PP_NODE_519) -# define BOOST_PP_NODE_517(p) BOOST_PP_IIF(p(517), 517, 518) -# define BOOST_PP_NODE_519(p) BOOST_PP_IIF(p(519), 519, 520) -# define BOOST_PP_NODE_524(p) BOOST_PP_IIF(p(524), BOOST_PP_NODE_522, BOOST_PP_NODE_526) -# define BOOST_PP_NODE_522(p) BOOST_PP_IIF(p(522), BOOST_PP_NODE_521, BOOST_PP_NODE_523) -# define BOOST_PP_NODE_521(p) BOOST_PP_IIF(p(521), 521, 522) -# define BOOST_PP_NODE_523(p) BOOST_PP_IIF(p(523), 523, 524) -# define BOOST_PP_NODE_526(p) BOOST_PP_IIF(p(526), BOOST_PP_NODE_525, BOOST_PP_NODE_527) -# define BOOST_PP_NODE_525(p) BOOST_PP_IIF(p(525), 525, 526) -# define BOOST_PP_NODE_527(p) BOOST_PP_IIF(p(527), 527, 528) -# define BOOST_PP_NODE_536(p) BOOST_PP_IIF(p(536), BOOST_PP_NODE_532, BOOST_PP_NODE_540) -# define BOOST_PP_NODE_532(p) BOOST_PP_IIF(p(532), BOOST_PP_NODE_530, BOOST_PP_NODE_534) -# define BOOST_PP_NODE_530(p) BOOST_PP_IIF(p(530), BOOST_PP_NODE_529, BOOST_PP_NODE_531) -# define BOOST_PP_NODE_529(p) BOOST_PP_IIF(p(529), 529, 530) -# define BOOST_PP_NODE_531(p) BOOST_PP_IIF(p(531), 531, 532) -# define BOOST_PP_NODE_534(p) BOOST_PP_IIF(p(534), BOOST_PP_NODE_533, BOOST_PP_NODE_535) -# define BOOST_PP_NODE_533(p) BOOST_PP_IIF(p(533), 533, 534) -# define BOOST_PP_NODE_535(p) BOOST_PP_IIF(p(535), 535, 536) -# define BOOST_PP_NODE_540(p) BOOST_PP_IIF(p(540), BOOST_PP_NODE_538, BOOST_PP_NODE_542) -# define BOOST_PP_NODE_538(p) BOOST_PP_IIF(p(538), BOOST_PP_NODE_537, BOOST_PP_NODE_539) -# define BOOST_PP_NODE_537(p) BOOST_PP_IIF(p(537), 537, 538) -# define BOOST_PP_NODE_539(p) BOOST_PP_IIF(p(539), 539, 540) -# define BOOST_PP_NODE_542(p) BOOST_PP_IIF(p(542), BOOST_PP_NODE_541, BOOST_PP_NODE_543) -# define BOOST_PP_NODE_541(p) BOOST_PP_IIF(p(541), 541, 542) -# define BOOST_PP_NODE_543(p) BOOST_PP_IIF(p(543), 543, 544) -# define BOOST_PP_NODE_560(p) BOOST_PP_IIF(p(560), BOOST_PP_NODE_552, BOOST_PP_NODE_568) -# define BOOST_PP_NODE_552(p) BOOST_PP_IIF(p(552), BOOST_PP_NODE_548, BOOST_PP_NODE_556) -# define BOOST_PP_NODE_548(p) BOOST_PP_IIF(p(548), BOOST_PP_NODE_546, BOOST_PP_NODE_550) -# define BOOST_PP_NODE_546(p) BOOST_PP_IIF(p(546), BOOST_PP_NODE_545, BOOST_PP_NODE_547) -# define BOOST_PP_NODE_545(p) BOOST_PP_IIF(p(545), 545, 546) -# define BOOST_PP_NODE_547(p) BOOST_PP_IIF(p(547), 547, 548) -# define BOOST_PP_NODE_550(p) BOOST_PP_IIF(p(550), BOOST_PP_NODE_549, BOOST_PP_NODE_551) -# define BOOST_PP_NODE_549(p) BOOST_PP_IIF(p(549), 549, 550) -# define BOOST_PP_NODE_551(p) BOOST_PP_IIF(p(551), 551, 552) -# define BOOST_PP_NODE_556(p) BOOST_PP_IIF(p(556), BOOST_PP_NODE_554, BOOST_PP_NODE_558) -# define BOOST_PP_NODE_554(p) BOOST_PP_IIF(p(554), BOOST_PP_NODE_553, BOOST_PP_NODE_555) -# define BOOST_PP_NODE_553(p) BOOST_PP_IIF(p(553), 553, 554) -# define BOOST_PP_NODE_555(p) BOOST_PP_IIF(p(555), 555, 556) -# define BOOST_PP_NODE_558(p) BOOST_PP_IIF(p(558), BOOST_PP_NODE_557, BOOST_PP_NODE_559) -# define BOOST_PP_NODE_557(p) BOOST_PP_IIF(p(557), 557, 558) -# define BOOST_PP_NODE_559(p) BOOST_PP_IIF(p(559), 559, 560) -# define BOOST_PP_NODE_568(p) BOOST_PP_IIF(p(568), BOOST_PP_NODE_564, BOOST_PP_NODE_572) -# define BOOST_PP_NODE_564(p) BOOST_PP_IIF(p(564), BOOST_PP_NODE_562, BOOST_PP_NODE_566) -# define BOOST_PP_NODE_562(p) BOOST_PP_IIF(p(562), BOOST_PP_NODE_561, BOOST_PP_NODE_563) -# define BOOST_PP_NODE_561(p) BOOST_PP_IIF(p(561), 561, 562) -# define BOOST_PP_NODE_563(p) BOOST_PP_IIF(p(563), 563, 564) -# define BOOST_PP_NODE_566(p) BOOST_PP_IIF(p(566), BOOST_PP_NODE_565, BOOST_PP_NODE_567) -# define BOOST_PP_NODE_565(p) BOOST_PP_IIF(p(565), 565, 566) -# define BOOST_PP_NODE_567(p) BOOST_PP_IIF(p(567), 567, 568) -# define BOOST_PP_NODE_572(p) BOOST_PP_IIF(p(572), BOOST_PP_NODE_570, BOOST_PP_NODE_574) -# define BOOST_PP_NODE_570(p) BOOST_PP_IIF(p(570), BOOST_PP_NODE_569, BOOST_PP_NODE_571) -# define BOOST_PP_NODE_569(p) BOOST_PP_IIF(p(569), 569, 570) -# define BOOST_PP_NODE_571(p) BOOST_PP_IIF(p(571), 571, 572) -# define BOOST_PP_NODE_574(p) BOOST_PP_IIF(p(574), BOOST_PP_NODE_573, BOOST_PP_NODE_575) -# define BOOST_PP_NODE_573(p) BOOST_PP_IIF(p(573), 573, 574) -# define BOOST_PP_NODE_575(p) BOOST_PP_IIF(p(575), 575, 576) -# define BOOST_PP_NODE_608(p) BOOST_PP_IIF(p(608), BOOST_PP_NODE_592, BOOST_PP_NODE_624) -# define BOOST_PP_NODE_592(p) BOOST_PP_IIF(p(592), BOOST_PP_NODE_584, BOOST_PP_NODE_600) -# define BOOST_PP_NODE_584(p) BOOST_PP_IIF(p(584), BOOST_PP_NODE_580, BOOST_PP_NODE_588) -# define BOOST_PP_NODE_580(p) BOOST_PP_IIF(p(580), BOOST_PP_NODE_578, BOOST_PP_NODE_582) -# define BOOST_PP_NODE_578(p) BOOST_PP_IIF(p(578), BOOST_PP_NODE_577, BOOST_PP_NODE_579) -# define BOOST_PP_NODE_577(p) BOOST_PP_IIF(p(577), 577, 578) -# define BOOST_PP_NODE_579(p) BOOST_PP_IIF(p(579), 579, 580) -# define BOOST_PP_NODE_582(p) BOOST_PP_IIF(p(582), BOOST_PP_NODE_581, BOOST_PP_NODE_583) -# define BOOST_PP_NODE_581(p) BOOST_PP_IIF(p(581), 581, 582) -# define BOOST_PP_NODE_583(p) BOOST_PP_IIF(p(583), 583, 584) -# define BOOST_PP_NODE_588(p) BOOST_PP_IIF(p(588), BOOST_PP_NODE_586, BOOST_PP_NODE_590) -# define BOOST_PP_NODE_586(p) BOOST_PP_IIF(p(586), BOOST_PP_NODE_585, BOOST_PP_NODE_587) -# define BOOST_PP_NODE_585(p) BOOST_PP_IIF(p(585), 585, 586) -# define BOOST_PP_NODE_587(p) BOOST_PP_IIF(p(587), 587, 588) -# define BOOST_PP_NODE_590(p) BOOST_PP_IIF(p(590), BOOST_PP_NODE_589, BOOST_PP_NODE_591) -# define BOOST_PP_NODE_589(p) BOOST_PP_IIF(p(589), 589, 590) -# define BOOST_PP_NODE_591(p) BOOST_PP_IIF(p(591), 591, 592) -# define BOOST_PP_NODE_600(p) BOOST_PP_IIF(p(600), BOOST_PP_NODE_596, BOOST_PP_NODE_604) -# define BOOST_PP_NODE_596(p) BOOST_PP_IIF(p(596), BOOST_PP_NODE_594, BOOST_PP_NODE_598) -# define BOOST_PP_NODE_594(p) BOOST_PP_IIF(p(594), BOOST_PP_NODE_593, BOOST_PP_NODE_595) -# define BOOST_PP_NODE_593(p) BOOST_PP_IIF(p(593), 593, 594) -# define BOOST_PP_NODE_595(p) BOOST_PP_IIF(p(595), 595, 596) -# define BOOST_PP_NODE_598(p) BOOST_PP_IIF(p(598), BOOST_PP_NODE_597, BOOST_PP_NODE_599) -# define BOOST_PP_NODE_597(p) BOOST_PP_IIF(p(597), 597, 598) -# define BOOST_PP_NODE_599(p) BOOST_PP_IIF(p(599), 599, 600) -# define BOOST_PP_NODE_604(p) BOOST_PP_IIF(p(604), BOOST_PP_NODE_602, BOOST_PP_NODE_606) -# define BOOST_PP_NODE_602(p) BOOST_PP_IIF(p(602), BOOST_PP_NODE_601, BOOST_PP_NODE_603) -# define BOOST_PP_NODE_601(p) BOOST_PP_IIF(p(601), 601, 602) -# define BOOST_PP_NODE_603(p) BOOST_PP_IIF(p(603), 603, 604) -# define BOOST_PP_NODE_606(p) BOOST_PP_IIF(p(606), BOOST_PP_NODE_605, BOOST_PP_NODE_607) -# define BOOST_PP_NODE_605(p) BOOST_PP_IIF(p(605), 605, 606) -# define BOOST_PP_NODE_607(p) BOOST_PP_IIF(p(607), 607, 608) -# define BOOST_PP_NODE_624(p) BOOST_PP_IIF(p(624), BOOST_PP_NODE_616, BOOST_PP_NODE_632) -# define BOOST_PP_NODE_616(p) BOOST_PP_IIF(p(616), BOOST_PP_NODE_612, BOOST_PP_NODE_620) -# define BOOST_PP_NODE_612(p) BOOST_PP_IIF(p(612), BOOST_PP_NODE_610, BOOST_PP_NODE_614) -# define BOOST_PP_NODE_610(p) BOOST_PP_IIF(p(610), BOOST_PP_NODE_609, BOOST_PP_NODE_611) -# define BOOST_PP_NODE_609(p) BOOST_PP_IIF(p(609), 609, 610) -# define BOOST_PP_NODE_611(p) BOOST_PP_IIF(p(611), 611, 612) -# define BOOST_PP_NODE_614(p) BOOST_PP_IIF(p(614), BOOST_PP_NODE_613, BOOST_PP_NODE_615) -# define BOOST_PP_NODE_613(p) BOOST_PP_IIF(p(613), 613, 614) -# define BOOST_PP_NODE_615(p) BOOST_PP_IIF(p(615), 615, 616) -# define BOOST_PP_NODE_620(p) BOOST_PP_IIF(p(620), BOOST_PP_NODE_618, BOOST_PP_NODE_622) -# define BOOST_PP_NODE_618(p) BOOST_PP_IIF(p(618), BOOST_PP_NODE_617, BOOST_PP_NODE_619) -# define BOOST_PP_NODE_617(p) BOOST_PP_IIF(p(617), 617, 618) -# define BOOST_PP_NODE_619(p) BOOST_PP_IIF(p(619), 619, 620) -# define BOOST_PP_NODE_622(p) BOOST_PP_IIF(p(622), BOOST_PP_NODE_621, BOOST_PP_NODE_623) -# define BOOST_PP_NODE_621(p) BOOST_PP_IIF(p(621), 621, 622) -# define BOOST_PP_NODE_623(p) BOOST_PP_IIF(p(623), 623, 624) -# define BOOST_PP_NODE_632(p) BOOST_PP_IIF(p(632), BOOST_PP_NODE_628, BOOST_PP_NODE_636) -# define BOOST_PP_NODE_628(p) BOOST_PP_IIF(p(628), BOOST_PP_NODE_626, BOOST_PP_NODE_630) -# define BOOST_PP_NODE_626(p) BOOST_PP_IIF(p(626), BOOST_PP_NODE_625, BOOST_PP_NODE_627) -# define BOOST_PP_NODE_625(p) BOOST_PP_IIF(p(625), 625, 626) -# define BOOST_PP_NODE_627(p) BOOST_PP_IIF(p(627), 627, 628) -# define BOOST_PP_NODE_630(p) BOOST_PP_IIF(p(630), BOOST_PP_NODE_629, BOOST_PP_NODE_631) -# define BOOST_PP_NODE_629(p) BOOST_PP_IIF(p(629), 629, 630) -# define BOOST_PP_NODE_631(p) BOOST_PP_IIF(p(631), 631, 632) -# define BOOST_PP_NODE_636(p) BOOST_PP_IIF(p(636), BOOST_PP_NODE_634, BOOST_PP_NODE_638) -# define BOOST_PP_NODE_634(p) BOOST_PP_IIF(p(634), BOOST_PP_NODE_633, BOOST_PP_NODE_635) -# define BOOST_PP_NODE_633(p) BOOST_PP_IIF(p(633), 633, 634) -# define BOOST_PP_NODE_635(p) BOOST_PP_IIF(p(635), 635, 636) -# define BOOST_PP_NODE_638(p) BOOST_PP_IIF(p(638), BOOST_PP_NODE_637, BOOST_PP_NODE_639) -# define BOOST_PP_NODE_637(p) BOOST_PP_IIF(p(637), 637, 638) -# define BOOST_PP_NODE_639(p) BOOST_PP_IIF(p(639), 639, 640) -# define BOOST_PP_NODE_704(p) BOOST_PP_IIF(p(704), BOOST_PP_NODE_672, BOOST_PP_NODE_736) -# define BOOST_PP_NODE_672(p) BOOST_PP_IIF(p(672), BOOST_PP_NODE_656, BOOST_PP_NODE_688) -# define BOOST_PP_NODE_656(p) BOOST_PP_IIF(p(656), BOOST_PP_NODE_648, BOOST_PP_NODE_664) -# define BOOST_PP_NODE_648(p) BOOST_PP_IIF(p(648), BOOST_PP_NODE_644, BOOST_PP_NODE_652) -# define BOOST_PP_NODE_644(p) BOOST_PP_IIF(p(644), BOOST_PP_NODE_642, BOOST_PP_NODE_646) -# define BOOST_PP_NODE_642(p) BOOST_PP_IIF(p(642), BOOST_PP_NODE_641, BOOST_PP_NODE_643) -# define BOOST_PP_NODE_641(p) BOOST_PP_IIF(p(641), 641, 642) -# define BOOST_PP_NODE_643(p) BOOST_PP_IIF(p(643), 643, 644) -# define BOOST_PP_NODE_646(p) BOOST_PP_IIF(p(646), BOOST_PP_NODE_645, BOOST_PP_NODE_647) -# define BOOST_PP_NODE_645(p) BOOST_PP_IIF(p(645), 645, 646) -# define BOOST_PP_NODE_647(p) BOOST_PP_IIF(p(647), 647, 648) -# define BOOST_PP_NODE_652(p) BOOST_PP_IIF(p(652), BOOST_PP_NODE_650, BOOST_PP_NODE_654) -# define BOOST_PP_NODE_650(p) BOOST_PP_IIF(p(650), BOOST_PP_NODE_649, BOOST_PP_NODE_651) -# define BOOST_PP_NODE_649(p) BOOST_PP_IIF(p(649), 649, 650) -# define BOOST_PP_NODE_651(p) BOOST_PP_IIF(p(651), 651, 652) -# define BOOST_PP_NODE_654(p) BOOST_PP_IIF(p(654), BOOST_PP_NODE_653, BOOST_PP_NODE_655) -# define BOOST_PP_NODE_653(p) BOOST_PP_IIF(p(653), 653, 654) -# define BOOST_PP_NODE_655(p) BOOST_PP_IIF(p(655), 655, 656) -# define BOOST_PP_NODE_664(p) BOOST_PP_IIF(p(664), BOOST_PP_NODE_660, BOOST_PP_NODE_668) -# define BOOST_PP_NODE_660(p) BOOST_PP_IIF(p(660), BOOST_PP_NODE_658, BOOST_PP_NODE_662) -# define BOOST_PP_NODE_658(p) BOOST_PP_IIF(p(658), BOOST_PP_NODE_657, BOOST_PP_NODE_659) -# define BOOST_PP_NODE_657(p) BOOST_PP_IIF(p(657), 657, 658) -# define BOOST_PP_NODE_659(p) BOOST_PP_IIF(p(659), 659, 660) -# define BOOST_PP_NODE_662(p) BOOST_PP_IIF(p(662), BOOST_PP_NODE_661, BOOST_PP_NODE_663) -# define BOOST_PP_NODE_661(p) BOOST_PP_IIF(p(661), 661, 662) -# define BOOST_PP_NODE_663(p) BOOST_PP_IIF(p(663), 663, 664) -# define BOOST_PP_NODE_668(p) BOOST_PP_IIF(p(668), BOOST_PP_NODE_666, BOOST_PP_NODE_670) -# define BOOST_PP_NODE_666(p) BOOST_PP_IIF(p(666), BOOST_PP_NODE_665, BOOST_PP_NODE_667) -# define BOOST_PP_NODE_665(p) BOOST_PP_IIF(p(665), 665, 666) -# define BOOST_PP_NODE_667(p) BOOST_PP_IIF(p(667), 667, 668) -# define BOOST_PP_NODE_670(p) BOOST_PP_IIF(p(670), BOOST_PP_NODE_669, BOOST_PP_NODE_671) -# define BOOST_PP_NODE_669(p) BOOST_PP_IIF(p(669), 669, 670) -# define BOOST_PP_NODE_671(p) BOOST_PP_IIF(p(671), 671, 672) -# define BOOST_PP_NODE_688(p) BOOST_PP_IIF(p(688), BOOST_PP_NODE_680, BOOST_PP_NODE_696) -# define BOOST_PP_NODE_680(p) BOOST_PP_IIF(p(680), BOOST_PP_NODE_676, BOOST_PP_NODE_684) -# define BOOST_PP_NODE_676(p) BOOST_PP_IIF(p(676), BOOST_PP_NODE_674, BOOST_PP_NODE_678) -# define BOOST_PP_NODE_674(p) BOOST_PP_IIF(p(674), BOOST_PP_NODE_673, BOOST_PP_NODE_675) -# define BOOST_PP_NODE_673(p) BOOST_PP_IIF(p(673), 673, 674) -# define BOOST_PP_NODE_675(p) BOOST_PP_IIF(p(675), 675, 676) -# define BOOST_PP_NODE_678(p) BOOST_PP_IIF(p(678), BOOST_PP_NODE_677, BOOST_PP_NODE_679) -# define BOOST_PP_NODE_677(p) BOOST_PP_IIF(p(677), 677, 678) -# define BOOST_PP_NODE_679(p) BOOST_PP_IIF(p(679), 679, 680) -# define BOOST_PP_NODE_684(p) BOOST_PP_IIF(p(684), BOOST_PP_NODE_682, BOOST_PP_NODE_686) -# define BOOST_PP_NODE_682(p) BOOST_PP_IIF(p(682), BOOST_PP_NODE_681, BOOST_PP_NODE_683) -# define BOOST_PP_NODE_681(p) BOOST_PP_IIF(p(681), 681, 682) -# define BOOST_PP_NODE_683(p) BOOST_PP_IIF(p(683), 683, 684) -# define BOOST_PP_NODE_686(p) BOOST_PP_IIF(p(686), BOOST_PP_NODE_685, BOOST_PP_NODE_687) -# define BOOST_PP_NODE_685(p) BOOST_PP_IIF(p(685), 685, 686) -# define BOOST_PP_NODE_687(p) BOOST_PP_IIF(p(687), 687, 688) -# define BOOST_PP_NODE_696(p) BOOST_PP_IIF(p(696), BOOST_PP_NODE_692, BOOST_PP_NODE_700) -# define BOOST_PP_NODE_692(p) BOOST_PP_IIF(p(692), BOOST_PP_NODE_690, BOOST_PP_NODE_694) -# define BOOST_PP_NODE_690(p) BOOST_PP_IIF(p(690), BOOST_PP_NODE_689, BOOST_PP_NODE_691) -# define BOOST_PP_NODE_689(p) BOOST_PP_IIF(p(689), 689, 690) -# define BOOST_PP_NODE_691(p) BOOST_PP_IIF(p(691), 691, 692) -# define BOOST_PP_NODE_694(p) BOOST_PP_IIF(p(694), BOOST_PP_NODE_693, BOOST_PP_NODE_695) -# define BOOST_PP_NODE_693(p) BOOST_PP_IIF(p(693), 693, 694) -# define BOOST_PP_NODE_695(p) BOOST_PP_IIF(p(695), 695, 696) -# define BOOST_PP_NODE_700(p) BOOST_PP_IIF(p(700), BOOST_PP_NODE_698, BOOST_PP_NODE_702) -# define BOOST_PP_NODE_698(p) BOOST_PP_IIF(p(698), BOOST_PP_NODE_697, BOOST_PP_NODE_699) -# define BOOST_PP_NODE_697(p) BOOST_PP_IIF(p(697), 697, 698) -# define BOOST_PP_NODE_699(p) BOOST_PP_IIF(p(699), 699, 700) -# define BOOST_PP_NODE_702(p) BOOST_PP_IIF(p(702), BOOST_PP_NODE_701, BOOST_PP_NODE_703) -# define BOOST_PP_NODE_701(p) BOOST_PP_IIF(p(701), 701, 702) -# define BOOST_PP_NODE_703(p) BOOST_PP_IIF(p(703), 703, 704) -# define BOOST_PP_NODE_736(p) BOOST_PP_IIF(p(736), BOOST_PP_NODE_720, BOOST_PP_NODE_752) -# define BOOST_PP_NODE_720(p) BOOST_PP_IIF(p(720), BOOST_PP_NODE_712, BOOST_PP_NODE_728) -# define BOOST_PP_NODE_712(p) BOOST_PP_IIF(p(712), BOOST_PP_NODE_708, BOOST_PP_NODE_716) -# define BOOST_PP_NODE_708(p) BOOST_PP_IIF(p(708), BOOST_PP_NODE_706, BOOST_PP_NODE_710) -# define BOOST_PP_NODE_706(p) BOOST_PP_IIF(p(706), BOOST_PP_NODE_705, BOOST_PP_NODE_707) -# define BOOST_PP_NODE_705(p) BOOST_PP_IIF(p(705), 705, 706) -# define BOOST_PP_NODE_707(p) BOOST_PP_IIF(p(707), 707, 708) -# define BOOST_PP_NODE_710(p) BOOST_PP_IIF(p(710), BOOST_PP_NODE_709, BOOST_PP_NODE_711) -# define BOOST_PP_NODE_709(p) BOOST_PP_IIF(p(709), 709, 710) -# define BOOST_PP_NODE_711(p) BOOST_PP_IIF(p(711), 711, 712) -# define BOOST_PP_NODE_716(p) BOOST_PP_IIF(p(716), BOOST_PP_NODE_714, BOOST_PP_NODE_718) -# define BOOST_PP_NODE_714(p) BOOST_PP_IIF(p(714), BOOST_PP_NODE_713, BOOST_PP_NODE_715) -# define BOOST_PP_NODE_713(p) BOOST_PP_IIF(p(713), 713, 714) -# define BOOST_PP_NODE_715(p) BOOST_PP_IIF(p(715), 715, 716) -# define BOOST_PP_NODE_718(p) BOOST_PP_IIF(p(718), BOOST_PP_NODE_717, BOOST_PP_NODE_719) -# define BOOST_PP_NODE_717(p) BOOST_PP_IIF(p(717), 717, 718) -# define BOOST_PP_NODE_719(p) BOOST_PP_IIF(p(719), 719, 720) -# define BOOST_PP_NODE_728(p) BOOST_PP_IIF(p(728), BOOST_PP_NODE_724, BOOST_PP_NODE_732) -# define BOOST_PP_NODE_724(p) BOOST_PP_IIF(p(724), BOOST_PP_NODE_722, BOOST_PP_NODE_726) -# define BOOST_PP_NODE_722(p) BOOST_PP_IIF(p(722), BOOST_PP_NODE_721, BOOST_PP_NODE_723) -# define BOOST_PP_NODE_721(p) BOOST_PP_IIF(p(721), 721, 722) -# define BOOST_PP_NODE_723(p) BOOST_PP_IIF(p(723), 723, 724) -# define BOOST_PP_NODE_726(p) BOOST_PP_IIF(p(726), BOOST_PP_NODE_725, BOOST_PP_NODE_727) -# define BOOST_PP_NODE_725(p) BOOST_PP_IIF(p(725), 725, 726) -# define BOOST_PP_NODE_727(p) BOOST_PP_IIF(p(727), 727, 728) -# define BOOST_PP_NODE_732(p) BOOST_PP_IIF(p(732), BOOST_PP_NODE_730, BOOST_PP_NODE_734) -# define BOOST_PP_NODE_730(p) BOOST_PP_IIF(p(730), BOOST_PP_NODE_729, BOOST_PP_NODE_731) -# define BOOST_PP_NODE_729(p) BOOST_PP_IIF(p(729), 729, 730) -# define BOOST_PP_NODE_731(p) BOOST_PP_IIF(p(731), 731, 732) -# define BOOST_PP_NODE_734(p) BOOST_PP_IIF(p(734), BOOST_PP_NODE_733, BOOST_PP_NODE_735) -# define BOOST_PP_NODE_733(p) BOOST_PP_IIF(p(733), 733, 734) -# define BOOST_PP_NODE_735(p) BOOST_PP_IIF(p(735), 735, 736) -# define BOOST_PP_NODE_752(p) BOOST_PP_IIF(p(752), BOOST_PP_NODE_744, BOOST_PP_NODE_760) -# define BOOST_PP_NODE_744(p) BOOST_PP_IIF(p(744), BOOST_PP_NODE_740, BOOST_PP_NODE_748) -# define BOOST_PP_NODE_740(p) BOOST_PP_IIF(p(740), BOOST_PP_NODE_738, BOOST_PP_NODE_742) -# define BOOST_PP_NODE_738(p) BOOST_PP_IIF(p(738), BOOST_PP_NODE_737, BOOST_PP_NODE_739) -# define BOOST_PP_NODE_737(p) BOOST_PP_IIF(p(737), 737, 738) -# define BOOST_PP_NODE_739(p) BOOST_PP_IIF(p(739), 739, 740) -# define BOOST_PP_NODE_742(p) BOOST_PP_IIF(p(742), BOOST_PP_NODE_741, BOOST_PP_NODE_743) -# define BOOST_PP_NODE_741(p) BOOST_PP_IIF(p(741), 741, 742) -# define BOOST_PP_NODE_743(p) BOOST_PP_IIF(p(743), 743, 744) -# define BOOST_PP_NODE_748(p) BOOST_PP_IIF(p(748), BOOST_PP_NODE_746, BOOST_PP_NODE_750) -# define BOOST_PP_NODE_746(p) BOOST_PP_IIF(p(746), BOOST_PP_NODE_745, BOOST_PP_NODE_747) -# define BOOST_PP_NODE_745(p) BOOST_PP_IIF(p(745), 745, 746) -# define BOOST_PP_NODE_747(p) BOOST_PP_IIF(p(747), 747, 748) -# define BOOST_PP_NODE_750(p) BOOST_PP_IIF(p(750), BOOST_PP_NODE_749, BOOST_PP_NODE_751) -# define BOOST_PP_NODE_749(p) BOOST_PP_IIF(p(749), 749, 750) -# define BOOST_PP_NODE_751(p) BOOST_PP_IIF(p(751), 751, 752) -# define BOOST_PP_NODE_760(p) BOOST_PP_IIF(p(760), BOOST_PP_NODE_756, BOOST_PP_NODE_764) -# define BOOST_PP_NODE_756(p) BOOST_PP_IIF(p(756), BOOST_PP_NODE_754, BOOST_PP_NODE_758) -# define BOOST_PP_NODE_754(p) BOOST_PP_IIF(p(754), BOOST_PP_NODE_753, BOOST_PP_NODE_755) -# define BOOST_PP_NODE_753(p) BOOST_PP_IIF(p(753), 753, 754) -# define BOOST_PP_NODE_755(p) BOOST_PP_IIF(p(755), 755, 756) -# define BOOST_PP_NODE_758(p) BOOST_PP_IIF(p(758), BOOST_PP_NODE_757, BOOST_PP_NODE_759) -# define BOOST_PP_NODE_757(p) BOOST_PP_IIF(p(757), 757, 758) -# define BOOST_PP_NODE_759(p) BOOST_PP_IIF(p(759), 759, 760) -# define BOOST_PP_NODE_764(p) BOOST_PP_IIF(p(764), BOOST_PP_NODE_762, BOOST_PP_NODE_766) -# define BOOST_PP_NODE_762(p) BOOST_PP_IIF(p(762), BOOST_PP_NODE_761, BOOST_PP_NODE_763) -# define BOOST_PP_NODE_761(p) BOOST_PP_IIF(p(761), 761, 762) -# define BOOST_PP_NODE_763(p) BOOST_PP_IIF(p(763), 763, 764) -# define BOOST_PP_NODE_766(p) BOOST_PP_IIF(p(766), BOOST_PP_NODE_765, BOOST_PP_NODE_767) -# define BOOST_PP_NODE_765(p) BOOST_PP_IIF(p(765), 765, 766) -# define BOOST_PP_NODE_767(p) BOOST_PP_IIF(p(767), 767, 768) -# define BOOST_PP_NODE_896(p) BOOST_PP_IIF(p(896), BOOST_PP_NODE_832, BOOST_PP_NODE_960) -# define BOOST_PP_NODE_832(p) BOOST_PP_IIF(p(832), BOOST_PP_NODE_800, BOOST_PP_NODE_864) -# define BOOST_PP_NODE_800(p) BOOST_PP_IIF(p(800), BOOST_PP_NODE_784, BOOST_PP_NODE_816) -# define BOOST_PP_NODE_784(p) BOOST_PP_IIF(p(784), BOOST_PP_NODE_776, BOOST_PP_NODE_792) -# define BOOST_PP_NODE_776(p) BOOST_PP_IIF(p(776), BOOST_PP_NODE_772, BOOST_PP_NODE_780) -# define BOOST_PP_NODE_772(p) BOOST_PP_IIF(p(772), BOOST_PP_NODE_770, BOOST_PP_NODE_774) -# define BOOST_PP_NODE_770(p) BOOST_PP_IIF(p(770), BOOST_PP_NODE_769, BOOST_PP_NODE_771) -# define BOOST_PP_NODE_769(p) BOOST_PP_IIF(p(769), 769, 770) -# define BOOST_PP_NODE_771(p) BOOST_PP_IIF(p(771), 771, 772) -# define BOOST_PP_NODE_774(p) BOOST_PP_IIF(p(774), BOOST_PP_NODE_773, BOOST_PP_NODE_775) -# define BOOST_PP_NODE_773(p) BOOST_PP_IIF(p(773), 773, 774) -# define BOOST_PP_NODE_775(p) BOOST_PP_IIF(p(775), 775, 776) -# define BOOST_PP_NODE_780(p) BOOST_PP_IIF(p(780), BOOST_PP_NODE_778, BOOST_PP_NODE_782) -# define BOOST_PP_NODE_778(p) BOOST_PP_IIF(p(778), BOOST_PP_NODE_777, BOOST_PP_NODE_779) -# define BOOST_PP_NODE_777(p) BOOST_PP_IIF(p(777), 777, 778) -# define BOOST_PP_NODE_779(p) BOOST_PP_IIF(p(779), 779, 780) -# define BOOST_PP_NODE_782(p) BOOST_PP_IIF(p(782), BOOST_PP_NODE_781, BOOST_PP_NODE_783) -# define BOOST_PP_NODE_781(p) BOOST_PP_IIF(p(781), 781, 782) -# define BOOST_PP_NODE_783(p) BOOST_PP_IIF(p(783), 783, 784) -# define BOOST_PP_NODE_792(p) BOOST_PP_IIF(p(792), BOOST_PP_NODE_788, BOOST_PP_NODE_796) -# define BOOST_PP_NODE_788(p) BOOST_PP_IIF(p(788), BOOST_PP_NODE_786, BOOST_PP_NODE_790) -# define BOOST_PP_NODE_786(p) BOOST_PP_IIF(p(786), BOOST_PP_NODE_785, BOOST_PP_NODE_787) -# define BOOST_PP_NODE_785(p) BOOST_PP_IIF(p(785), 785, 786) -# define BOOST_PP_NODE_787(p) BOOST_PP_IIF(p(787), 787, 788) -# define BOOST_PP_NODE_790(p) BOOST_PP_IIF(p(790), BOOST_PP_NODE_789, BOOST_PP_NODE_791) -# define BOOST_PP_NODE_789(p) BOOST_PP_IIF(p(789), 789, 790) -# define BOOST_PP_NODE_791(p) BOOST_PP_IIF(p(791), 791, 792) -# define BOOST_PP_NODE_796(p) BOOST_PP_IIF(p(796), BOOST_PP_NODE_794, BOOST_PP_NODE_798) -# define BOOST_PP_NODE_794(p) BOOST_PP_IIF(p(794), BOOST_PP_NODE_793, BOOST_PP_NODE_795) -# define BOOST_PP_NODE_793(p) BOOST_PP_IIF(p(793), 793, 794) -# define BOOST_PP_NODE_795(p) BOOST_PP_IIF(p(795), 795, 796) -# define BOOST_PP_NODE_798(p) BOOST_PP_IIF(p(798), BOOST_PP_NODE_797, BOOST_PP_NODE_799) -# define BOOST_PP_NODE_797(p) BOOST_PP_IIF(p(797), 797, 798) -# define BOOST_PP_NODE_799(p) BOOST_PP_IIF(p(799), 799, 800) -# define BOOST_PP_NODE_816(p) BOOST_PP_IIF(p(816), BOOST_PP_NODE_808, BOOST_PP_NODE_824) -# define BOOST_PP_NODE_808(p) BOOST_PP_IIF(p(808), BOOST_PP_NODE_804, BOOST_PP_NODE_812) -# define BOOST_PP_NODE_804(p) BOOST_PP_IIF(p(804), BOOST_PP_NODE_802, BOOST_PP_NODE_806) -# define BOOST_PP_NODE_802(p) BOOST_PP_IIF(p(802), BOOST_PP_NODE_801, BOOST_PP_NODE_803) -# define BOOST_PP_NODE_801(p) BOOST_PP_IIF(p(801), 801, 802) -# define BOOST_PP_NODE_803(p) BOOST_PP_IIF(p(803), 803, 804) -# define BOOST_PP_NODE_806(p) BOOST_PP_IIF(p(806), BOOST_PP_NODE_805, BOOST_PP_NODE_807) -# define BOOST_PP_NODE_805(p) BOOST_PP_IIF(p(805), 805, 806) -# define BOOST_PP_NODE_807(p) BOOST_PP_IIF(p(807), 807, 808) -# define BOOST_PP_NODE_812(p) BOOST_PP_IIF(p(812), BOOST_PP_NODE_810, BOOST_PP_NODE_814) -# define BOOST_PP_NODE_810(p) BOOST_PP_IIF(p(810), BOOST_PP_NODE_809, BOOST_PP_NODE_811) -# define BOOST_PP_NODE_809(p) BOOST_PP_IIF(p(809), 809, 810) -# define BOOST_PP_NODE_811(p) BOOST_PP_IIF(p(811), 811, 812) -# define BOOST_PP_NODE_814(p) BOOST_PP_IIF(p(814), BOOST_PP_NODE_813, BOOST_PP_NODE_815) -# define BOOST_PP_NODE_813(p) BOOST_PP_IIF(p(813), 813, 814) -# define BOOST_PP_NODE_815(p) BOOST_PP_IIF(p(815), 815, 816) -# define BOOST_PP_NODE_824(p) BOOST_PP_IIF(p(824), BOOST_PP_NODE_820, BOOST_PP_NODE_828) -# define BOOST_PP_NODE_820(p) BOOST_PP_IIF(p(820), BOOST_PP_NODE_818, BOOST_PP_NODE_822) -# define BOOST_PP_NODE_818(p) BOOST_PP_IIF(p(818), BOOST_PP_NODE_817, BOOST_PP_NODE_819) -# define BOOST_PP_NODE_817(p) BOOST_PP_IIF(p(817), 817, 818) -# define BOOST_PP_NODE_819(p) BOOST_PP_IIF(p(819), 819, 820) -# define BOOST_PP_NODE_822(p) BOOST_PP_IIF(p(822), BOOST_PP_NODE_821, BOOST_PP_NODE_823) -# define BOOST_PP_NODE_821(p) BOOST_PP_IIF(p(821), 821, 822) -# define BOOST_PP_NODE_823(p) BOOST_PP_IIF(p(823), 823, 824) -# define BOOST_PP_NODE_828(p) BOOST_PP_IIF(p(828), BOOST_PP_NODE_826, BOOST_PP_NODE_830) -# define BOOST_PP_NODE_826(p) BOOST_PP_IIF(p(826), BOOST_PP_NODE_825, BOOST_PP_NODE_827) -# define BOOST_PP_NODE_825(p) BOOST_PP_IIF(p(825), 825, 826) -# define BOOST_PP_NODE_827(p) BOOST_PP_IIF(p(827), 827, 828) -# define BOOST_PP_NODE_830(p) BOOST_PP_IIF(p(830), BOOST_PP_NODE_829, BOOST_PP_NODE_831) -# define BOOST_PP_NODE_829(p) BOOST_PP_IIF(p(829), 829, 830) -# define BOOST_PP_NODE_831(p) BOOST_PP_IIF(p(831), 831, 832) -# define BOOST_PP_NODE_864(p) BOOST_PP_IIF(p(864), BOOST_PP_NODE_848, BOOST_PP_NODE_880) -# define BOOST_PP_NODE_848(p) BOOST_PP_IIF(p(848), BOOST_PP_NODE_840, BOOST_PP_NODE_856) -# define BOOST_PP_NODE_840(p) BOOST_PP_IIF(p(840), BOOST_PP_NODE_836, BOOST_PP_NODE_844) -# define BOOST_PP_NODE_836(p) BOOST_PP_IIF(p(836), BOOST_PP_NODE_834, BOOST_PP_NODE_838) -# define BOOST_PP_NODE_834(p) BOOST_PP_IIF(p(834), BOOST_PP_NODE_833, BOOST_PP_NODE_835) -# define BOOST_PP_NODE_833(p) BOOST_PP_IIF(p(833), 833, 834) -# define BOOST_PP_NODE_835(p) BOOST_PP_IIF(p(835), 835, 836) -# define BOOST_PP_NODE_838(p) BOOST_PP_IIF(p(838), BOOST_PP_NODE_837, BOOST_PP_NODE_839) -# define BOOST_PP_NODE_837(p) BOOST_PP_IIF(p(837), 837, 838) -# define BOOST_PP_NODE_839(p) BOOST_PP_IIF(p(839), 839, 840) -# define BOOST_PP_NODE_844(p) BOOST_PP_IIF(p(844), BOOST_PP_NODE_842, BOOST_PP_NODE_846) -# define BOOST_PP_NODE_842(p) BOOST_PP_IIF(p(842), BOOST_PP_NODE_841, BOOST_PP_NODE_843) -# define BOOST_PP_NODE_841(p) BOOST_PP_IIF(p(841), 841, 842) -# define BOOST_PP_NODE_843(p) BOOST_PP_IIF(p(843), 843, 844) -# define BOOST_PP_NODE_846(p) BOOST_PP_IIF(p(846), BOOST_PP_NODE_845, BOOST_PP_NODE_847) -# define BOOST_PP_NODE_845(p) BOOST_PP_IIF(p(845), 845, 846) -# define BOOST_PP_NODE_847(p) BOOST_PP_IIF(p(847), 847, 848) -# define BOOST_PP_NODE_856(p) BOOST_PP_IIF(p(856), BOOST_PP_NODE_852, BOOST_PP_NODE_860) -# define BOOST_PP_NODE_852(p) BOOST_PP_IIF(p(852), BOOST_PP_NODE_850, BOOST_PP_NODE_854) -# define BOOST_PP_NODE_850(p) BOOST_PP_IIF(p(850), BOOST_PP_NODE_849, BOOST_PP_NODE_851) -# define BOOST_PP_NODE_849(p) BOOST_PP_IIF(p(849), 849, 850) -# define BOOST_PP_NODE_851(p) BOOST_PP_IIF(p(851), 851, 852) -# define BOOST_PP_NODE_854(p) BOOST_PP_IIF(p(854), BOOST_PP_NODE_853, BOOST_PP_NODE_855) -# define BOOST_PP_NODE_853(p) BOOST_PP_IIF(p(853), 853, 854) -# define BOOST_PP_NODE_855(p) BOOST_PP_IIF(p(855), 855, 856) -# define BOOST_PP_NODE_860(p) BOOST_PP_IIF(p(860), BOOST_PP_NODE_858, BOOST_PP_NODE_862) -# define BOOST_PP_NODE_858(p) BOOST_PP_IIF(p(858), BOOST_PP_NODE_857, BOOST_PP_NODE_859) -# define BOOST_PP_NODE_857(p) BOOST_PP_IIF(p(857), 857, 858) -# define BOOST_PP_NODE_859(p) BOOST_PP_IIF(p(859), 859, 860) -# define BOOST_PP_NODE_862(p) BOOST_PP_IIF(p(862), BOOST_PP_NODE_861, BOOST_PP_NODE_863) -# define BOOST_PP_NODE_861(p) BOOST_PP_IIF(p(861), 861, 862) -# define BOOST_PP_NODE_863(p) BOOST_PP_IIF(p(863), 863, 864) -# define BOOST_PP_NODE_880(p) BOOST_PP_IIF(p(880), BOOST_PP_NODE_872, BOOST_PP_NODE_888) -# define BOOST_PP_NODE_872(p) BOOST_PP_IIF(p(872), BOOST_PP_NODE_868, BOOST_PP_NODE_876) -# define BOOST_PP_NODE_868(p) BOOST_PP_IIF(p(868), BOOST_PP_NODE_866, BOOST_PP_NODE_870) -# define BOOST_PP_NODE_866(p) BOOST_PP_IIF(p(866), BOOST_PP_NODE_865, BOOST_PP_NODE_867) -# define BOOST_PP_NODE_865(p) BOOST_PP_IIF(p(865), 865, 866) -# define BOOST_PP_NODE_867(p) BOOST_PP_IIF(p(867), 867, 868) -# define BOOST_PP_NODE_870(p) BOOST_PP_IIF(p(870), BOOST_PP_NODE_869, BOOST_PP_NODE_871) -# define BOOST_PP_NODE_869(p) BOOST_PP_IIF(p(869), 869, 870) -# define BOOST_PP_NODE_871(p) BOOST_PP_IIF(p(871), 871, 872) -# define BOOST_PP_NODE_876(p) BOOST_PP_IIF(p(876), BOOST_PP_NODE_874, BOOST_PP_NODE_878) -# define BOOST_PP_NODE_874(p) BOOST_PP_IIF(p(874), BOOST_PP_NODE_873, BOOST_PP_NODE_875) -# define BOOST_PP_NODE_873(p) BOOST_PP_IIF(p(873), 873, 874) -# define BOOST_PP_NODE_875(p) BOOST_PP_IIF(p(875), 875, 876) -# define BOOST_PP_NODE_878(p) BOOST_PP_IIF(p(878), BOOST_PP_NODE_877, BOOST_PP_NODE_879) -# define BOOST_PP_NODE_877(p) BOOST_PP_IIF(p(877), 877, 878) -# define BOOST_PP_NODE_879(p) BOOST_PP_IIF(p(879), 879, 880) -# define BOOST_PP_NODE_888(p) BOOST_PP_IIF(p(888), BOOST_PP_NODE_884, BOOST_PP_NODE_892) -# define BOOST_PP_NODE_884(p) BOOST_PP_IIF(p(884), BOOST_PP_NODE_882, BOOST_PP_NODE_886) -# define BOOST_PP_NODE_882(p) BOOST_PP_IIF(p(882), BOOST_PP_NODE_881, BOOST_PP_NODE_883) -# define BOOST_PP_NODE_881(p) BOOST_PP_IIF(p(881), 881, 882) -# define BOOST_PP_NODE_883(p) BOOST_PP_IIF(p(883), 883, 884) -# define BOOST_PP_NODE_886(p) BOOST_PP_IIF(p(886), BOOST_PP_NODE_885, BOOST_PP_NODE_887) -# define BOOST_PP_NODE_885(p) BOOST_PP_IIF(p(885), 885, 886) -# define BOOST_PP_NODE_887(p) BOOST_PP_IIF(p(887), 887, 888) -# define BOOST_PP_NODE_892(p) BOOST_PP_IIF(p(892), BOOST_PP_NODE_890, BOOST_PP_NODE_894) -# define BOOST_PP_NODE_890(p) BOOST_PP_IIF(p(890), BOOST_PP_NODE_889, BOOST_PP_NODE_891) -# define BOOST_PP_NODE_889(p) BOOST_PP_IIF(p(889), 889, 890) -# define BOOST_PP_NODE_891(p) BOOST_PP_IIF(p(891), 891, 892) -# define BOOST_PP_NODE_894(p) BOOST_PP_IIF(p(894), BOOST_PP_NODE_893, BOOST_PP_NODE_895) -# define BOOST_PP_NODE_893(p) BOOST_PP_IIF(p(893), 893, 894) -# define BOOST_PP_NODE_895(p) BOOST_PP_IIF(p(895), 895, 896) -# define BOOST_PP_NODE_960(p) BOOST_PP_IIF(p(960), BOOST_PP_NODE_928, BOOST_PP_NODE_992) -# define BOOST_PP_NODE_928(p) BOOST_PP_IIF(p(928), BOOST_PP_NODE_912, BOOST_PP_NODE_944) -# define BOOST_PP_NODE_912(p) BOOST_PP_IIF(p(912), BOOST_PP_NODE_904, BOOST_PP_NODE_920) -# define BOOST_PP_NODE_904(p) BOOST_PP_IIF(p(904), BOOST_PP_NODE_900, BOOST_PP_NODE_908) -# define BOOST_PP_NODE_900(p) BOOST_PP_IIF(p(900), BOOST_PP_NODE_898, BOOST_PP_NODE_902) -# define BOOST_PP_NODE_898(p) BOOST_PP_IIF(p(898), BOOST_PP_NODE_897, BOOST_PP_NODE_899) -# define BOOST_PP_NODE_897(p) BOOST_PP_IIF(p(897), 897, 898) -# define BOOST_PP_NODE_899(p) BOOST_PP_IIF(p(899), 899, 900) -# define BOOST_PP_NODE_902(p) BOOST_PP_IIF(p(902), BOOST_PP_NODE_901, BOOST_PP_NODE_903) -# define BOOST_PP_NODE_901(p) BOOST_PP_IIF(p(901), 901, 902) -# define BOOST_PP_NODE_903(p) BOOST_PP_IIF(p(903), 903, 904) -# define BOOST_PP_NODE_908(p) BOOST_PP_IIF(p(908), BOOST_PP_NODE_906, BOOST_PP_NODE_910) -# define BOOST_PP_NODE_906(p) BOOST_PP_IIF(p(906), BOOST_PP_NODE_905, BOOST_PP_NODE_907) -# define BOOST_PP_NODE_905(p) BOOST_PP_IIF(p(905), 905, 906) -# define BOOST_PP_NODE_907(p) BOOST_PP_IIF(p(907), 907, 908) -# define BOOST_PP_NODE_910(p) BOOST_PP_IIF(p(910), BOOST_PP_NODE_909, BOOST_PP_NODE_911) -# define BOOST_PP_NODE_909(p) BOOST_PP_IIF(p(909), 909, 910) -# define BOOST_PP_NODE_911(p) BOOST_PP_IIF(p(911), 911, 912) -# define BOOST_PP_NODE_920(p) BOOST_PP_IIF(p(920), BOOST_PP_NODE_916, BOOST_PP_NODE_924) -# define BOOST_PP_NODE_916(p) BOOST_PP_IIF(p(916), BOOST_PP_NODE_914, BOOST_PP_NODE_918) -# define BOOST_PP_NODE_914(p) BOOST_PP_IIF(p(914), BOOST_PP_NODE_913, BOOST_PP_NODE_915) -# define BOOST_PP_NODE_913(p) BOOST_PP_IIF(p(913), 913, 914) -# define BOOST_PP_NODE_915(p) BOOST_PP_IIF(p(915), 915, 916) -# define BOOST_PP_NODE_918(p) BOOST_PP_IIF(p(918), BOOST_PP_NODE_917, BOOST_PP_NODE_919) -# define BOOST_PP_NODE_917(p) BOOST_PP_IIF(p(917), 917, 918) -# define BOOST_PP_NODE_919(p) BOOST_PP_IIF(p(919), 919, 920) -# define BOOST_PP_NODE_924(p) BOOST_PP_IIF(p(924), BOOST_PP_NODE_922, BOOST_PP_NODE_926) -# define BOOST_PP_NODE_922(p) BOOST_PP_IIF(p(922), BOOST_PP_NODE_921, BOOST_PP_NODE_923) -# define BOOST_PP_NODE_921(p) BOOST_PP_IIF(p(921), 921, 922) -# define BOOST_PP_NODE_923(p) BOOST_PP_IIF(p(923), 923, 924) -# define BOOST_PP_NODE_926(p) BOOST_PP_IIF(p(926), BOOST_PP_NODE_925, BOOST_PP_NODE_927) -# define BOOST_PP_NODE_925(p) BOOST_PP_IIF(p(925), 925, 926) -# define BOOST_PP_NODE_927(p) BOOST_PP_IIF(p(927), 927, 928) -# define BOOST_PP_NODE_944(p) BOOST_PP_IIF(p(944), BOOST_PP_NODE_936, BOOST_PP_NODE_952) -# define BOOST_PP_NODE_936(p) BOOST_PP_IIF(p(936), BOOST_PP_NODE_932, BOOST_PP_NODE_940) -# define BOOST_PP_NODE_932(p) BOOST_PP_IIF(p(932), BOOST_PP_NODE_930, BOOST_PP_NODE_934) -# define BOOST_PP_NODE_930(p) BOOST_PP_IIF(p(930), BOOST_PP_NODE_929, BOOST_PP_NODE_931) -# define BOOST_PP_NODE_929(p) BOOST_PP_IIF(p(929), 929, 930) -# define BOOST_PP_NODE_931(p) BOOST_PP_IIF(p(931), 931, 932) -# define BOOST_PP_NODE_934(p) BOOST_PP_IIF(p(934), BOOST_PP_NODE_933, BOOST_PP_NODE_935) -# define BOOST_PP_NODE_933(p) BOOST_PP_IIF(p(933), 933, 934) -# define BOOST_PP_NODE_935(p) BOOST_PP_IIF(p(935), 935, 936) -# define BOOST_PP_NODE_940(p) BOOST_PP_IIF(p(940), BOOST_PP_NODE_938, BOOST_PP_NODE_942) -# define BOOST_PP_NODE_938(p) BOOST_PP_IIF(p(938), BOOST_PP_NODE_937, BOOST_PP_NODE_939) -# define BOOST_PP_NODE_937(p) BOOST_PP_IIF(p(937), 937, 938) -# define BOOST_PP_NODE_939(p) BOOST_PP_IIF(p(939), 939, 940) -# define BOOST_PP_NODE_942(p) BOOST_PP_IIF(p(942), BOOST_PP_NODE_941, BOOST_PP_NODE_943) -# define BOOST_PP_NODE_941(p) BOOST_PP_IIF(p(941), 941, 942) -# define BOOST_PP_NODE_943(p) BOOST_PP_IIF(p(943), 943, 944) -# define BOOST_PP_NODE_952(p) BOOST_PP_IIF(p(952), BOOST_PP_NODE_948, BOOST_PP_NODE_956) -# define BOOST_PP_NODE_948(p) BOOST_PP_IIF(p(948), BOOST_PP_NODE_946, BOOST_PP_NODE_950) -# define BOOST_PP_NODE_946(p) BOOST_PP_IIF(p(946), BOOST_PP_NODE_945, BOOST_PP_NODE_947) -# define BOOST_PP_NODE_945(p) BOOST_PP_IIF(p(945), 945, 946) -# define BOOST_PP_NODE_947(p) BOOST_PP_IIF(p(947), 947, 948) -# define BOOST_PP_NODE_950(p) BOOST_PP_IIF(p(950), BOOST_PP_NODE_949, BOOST_PP_NODE_951) -# define BOOST_PP_NODE_949(p) BOOST_PP_IIF(p(949), 949, 950) -# define BOOST_PP_NODE_951(p) BOOST_PP_IIF(p(951), 951, 952) -# define BOOST_PP_NODE_956(p) BOOST_PP_IIF(p(956), BOOST_PP_NODE_954, BOOST_PP_NODE_958) -# define BOOST_PP_NODE_954(p) BOOST_PP_IIF(p(954), BOOST_PP_NODE_953, BOOST_PP_NODE_955) -# define BOOST_PP_NODE_953(p) BOOST_PP_IIF(p(953), 953, 954) -# define BOOST_PP_NODE_955(p) BOOST_PP_IIF(p(955), 955, 956) -# define BOOST_PP_NODE_958(p) BOOST_PP_IIF(p(958), BOOST_PP_NODE_957, BOOST_PP_NODE_959) -# define BOOST_PP_NODE_957(p) BOOST_PP_IIF(p(957), 957, 958) -# define BOOST_PP_NODE_959(p) BOOST_PP_IIF(p(959), 959, 960) -# define BOOST_PP_NODE_992(p) BOOST_PP_IIF(p(992), BOOST_PP_NODE_976, BOOST_PP_NODE_1008) -# define BOOST_PP_NODE_976(p) BOOST_PP_IIF(p(976), BOOST_PP_NODE_968, BOOST_PP_NODE_984) -# define BOOST_PP_NODE_968(p) BOOST_PP_IIF(p(968), BOOST_PP_NODE_964, BOOST_PP_NODE_972) -# define BOOST_PP_NODE_964(p) BOOST_PP_IIF(p(964), BOOST_PP_NODE_962, BOOST_PP_NODE_966) -# define BOOST_PP_NODE_962(p) BOOST_PP_IIF(p(962), BOOST_PP_NODE_961, BOOST_PP_NODE_963) -# define BOOST_PP_NODE_961(p) BOOST_PP_IIF(p(961), 961, 962) -# define BOOST_PP_NODE_963(p) BOOST_PP_IIF(p(963), 963, 964) -# define BOOST_PP_NODE_966(p) BOOST_PP_IIF(p(966), BOOST_PP_NODE_965, BOOST_PP_NODE_967) -# define BOOST_PP_NODE_965(p) BOOST_PP_IIF(p(965), 965, 966) -# define BOOST_PP_NODE_967(p) BOOST_PP_IIF(p(967), 967, 968) -# define BOOST_PP_NODE_972(p) BOOST_PP_IIF(p(972), BOOST_PP_NODE_970, BOOST_PP_NODE_974) -# define BOOST_PP_NODE_970(p) BOOST_PP_IIF(p(970), BOOST_PP_NODE_969, BOOST_PP_NODE_971) -# define BOOST_PP_NODE_969(p) BOOST_PP_IIF(p(969), 969, 970) -# define BOOST_PP_NODE_971(p) BOOST_PP_IIF(p(971), 971, 972) -# define BOOST_PP_NODE_974(p) BOOST_PP_IIF(p(974), BOOST_PP_NODE_973, BOOST_PP_NODE_975) -# define BOOST_PP_NODE_973(p) BOOST_PP_IIF(p(973), 973, 974) -# define BOOST_PP_NODE_975(p) BOOST_PP_IIF(p(975), 975, 976) -# define BOOST_PP_NODE_984(p) BOOST_PP_IIF(p(984), BOOST_PP_NODE_980, BOOST_PP_NODE_988) -# define BOOST_PP_NODE_980(p) BOOST_PP_IIF(p(980), BOOST_PP_NODE_978, BOOST_PP_NODE_982) -# define BOOST_PP_NODE_978(p) BOOST_PP_IIF(p(978), BOOST_PP_NODE_977, BOOST_PP_NODE_979) -# define BOOST_PP_NODE_977(p) BOOST_PP_IIF(p(977), 977, 978) -# define BOOST_PP_NODE_979(p) BOOST_PP_IIF(p(979), 979, 980) -# define BOOST_PP_NODE_982(p) BOOST_PP_IIF(p(982), BOOST_PP_NODE_981, BOOST_PP_NODE_983) -# define BOOST_PP_NODE_981(p) BOOST_PP_IIF(p(981), 981, 982) -# define BOOST_PP_NODE_983(p) BOOST_PP_IIF(p(983), 983, 984) -# define BOOST_PP_NODE_988(p) BOOST_PP_IIF(p(988), BOOST_PP_NODE_986, BOOST_PP_NODE_990) -# define BOOST_PP_NODE_986(p) BOOST_PP_IIF(p(986), BOOST_PP_NODE_985, BOOST_PP_NODE_987) -# define BOOST_PP_NODE_985(p) BOOST_PP_IIF(p(985), 985, 986) -# define BOOST_PP_NODE_987(p) BOOST_PP_IIF(p(987), 987, 988) -# define BOOST_PP_NODE_990(p) BOOST_PP_IIF(p(990), BOOST_PP_NODE_989, BOOST_PP_NODE_991) -# define BOOST_PP_NODE_989(p) BOOST_PP_IIF(p(989), 989, 990) -# define BOOST_PP_NODE_991(p) BOOST_PP_IIF(p(991), 991, 992) -# define BOOST_PP_NODE_1008(p) BOOST_PP_IIF(p(1008), BOOST_PP_NODE_1000, BOOST_PP_NODE_1016) -# define BOOST_PP_NODE_1000(p) BOOST_PP_IIF(p(1000), BOOST_PP_NODE_996, BOOST_PP_NODE_1004) -# define BOOST_PP_NODE_996(p) BOOST_PP_IIF(p(996), BOOST_PP_NODE_994, BOOST_PP_NODE_998) -# define BOOST_PP_NODE_994(p) BOOST_PP_IIF(p(994), BOOST_PP_NODE_993, BOOST_PP_NODE_995) -# define BOOST_PP_NODE_993(p) BOOST_PP_IIF(p(993), 993, 994) -# define BOOST_PP_NODE_995(p) BOOST_PP_IIF(p(995), 995, 996) -# define BOOST_PP_NODE_998(p) BOOST_PP_IIF(p(998), BOOST_PP_NODE_997, BOOST_PP_NODE_999) -# define BOOST_PP_NODE_997(p) BOOST_PP_IIF(p(997), 997, 998) -# define BOOST_PP_NODE_999(p) BOOST_PP_IIF(p(999), 999, 1000) -# define BOOST_PP_NODE_1004(p) BOOST_PP_IIF(p(1004), BOOST_PP_NODE_1002, BOOST_PP_NODE_1006) -# define BOOST_PP_NODE_1002(p) BOOST_PP_IIF(p(1002), BOOST_PP_NODE_1001, BOOST_PP_NODE_1003) -# define BOOST_PP_NODE_1001(p) BOOST_PP_IIF(p(1001), 1001, 1002) -# define BOOST_PP_NODE_1003(p) BOOST_PP_IIF(p(1003), 1003, 1004) -# define BOOST_PP_NODE_1006(p) BOOST_PP_IIF(p(1006), BOOST_PP_NODE_1005, BOOST_PP_NODE_1007) -# define BOOST_PP_NODE_1005(p) BOOST_PP_IIF(p(1005), 1005, 1006) -# define BOOST_PP_NODE_1007(p) BOOST_PP_IIF(p(1007), 1007, 1008) -# define BOOST_PP_NODE_1016(p) BOOST_PP_IIF(p(1016), BOOST_PP_NODE_1012, BOOST_PP_NODE_1020) -# define BOOST_PP_NODE_1012(p) BOOST_PP_IIF(p(1012), BOOST_PP_NODE_1010, BOOST_PP_NODE_1014) -# define BOOST_PP_NODE_1010(p) BOOST_PP_IIF(p(1010), BOOST_PP_NODE_1009, BOOST_PP_NODE_1011) -# define BOOST_PP_NODE_1009(p) BOOST_PP_IIF(p(1009), 1009, 1010) -# define BOOST_PP_NODE_1011(p) BOOST_PP_IIF(p(1011), 1011, 1012) -# define BOOST_PP_NODE_1014(p) BOOST_PP_IIF(p(1014), BOOST_PP_NODE_1013, BOOST_PP_NODE_1015) -# define BOOST_PP_NODE_1013(p) BOOST_PP_IIF(p(1013), 1013, 1014) -# define BOOST_PP_NODE_1015(p) BOOST_PP_IIF(p(1015), 1015, 1016) -# define BOOST_PP_NODE_1020(p) BOOST_PP_IIF(p(1020), BOOST_PP_NODE_1018, BOOST_PP_NODE_1022) -# define BOOST_PP_NODE_1018(p) BOOST_PP_IIF(p(1018), BOOST_PP_NODE_1017, BOOST_PP_NODE_1019) -# define BOOST_PP_NODE_1017(p) BOOST_PP_IIF(p(1017), 1017, 1018) -# define BOOST_PP_NODE_1019(p) BOOST_PP_IIF(p(1019), 1019, 1020) -# define BOOST_PP_NODE_1022(p) BOOST_PP_IIF(p(1022), BOOST_PP_NODE_1021, BOOST_PP_NODE_1023) -# define BOOST_PP_NODE_1021(p) BOOST_PP_IIF(p(1021), 1021, 1022) -# define BOOST_PP_NODE_1023(p) BOOST_PP_IIF(p(1023), 1023, 1024) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_1024_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_1024_HPP +# +# define BOOST_PP_NODE_ENTRY_1024(p) BOOST_PP_NODE_512(p)(p)(p)(p)(p)(p)(p)(p)(p)(p) +# +# define BOOST_PP_NODE_512(p) BOOST_PP_IIF(p(512), BOOST_PP_NODE_256, BOOST_PP_NODE_768) +# define BOOST_PP_NODE_768(p) BOOST_PP_IIF(p(768), BOOST_PP_NODE_640, BOOST_PP_NODE_896) +# define BOOST_PP_NODE_640(p) BOOST_PP_IIF(p(640), BOOST_PP_NODE_576, BOOST_PP_NODE_704) +# define BOOST_PP_NODE_576(p) BOOST_PP_IIF(p(576), BOOST_PP_NODE_544, BOOST_PP_NODE_608) +# define BOOST_PP_NODE_544(p) BOOST_PP_IIF(p(544), BOOST_PP_NODE_528, BOOST_PP_NODE_560) +# define BOOST_PP_NODE_528(p) BOOST_PP_IIF(p(528), BOOST_PP_NODE_520, BOOST_PP_NODE_536) +# define BOOST_PP_NODE_520(p) BOOST_PP_IIF(p(520), BOOST_PP_NODE_516, BOOST_PP_NODE_524) +# define BOOST_PP_NODE_516(p) BOOST_PP_IIF(p(516), BOOST_PP_NODE_514, BOOST_PP_NODE_518) +# define BOOST_PP_NODE_514(p) BOOST_PP_IIF(p(514), BOOST_PP_NODE_513, BOOST_PP_NODE_515) +# define BOOST_PP_NODE_513(p) BOOST_PP_IIF(p(513), 513, 514) +# define BOOST_PP_NODE_515(p) BOOST_PP_IIF(p(515), 515, 516) +# define BOOST_PP_NODE_518(p) BOOST_PP_IIF(p(518), BOOST_PP_NODE_517, BOOST_PP_NODE_519) +# define BOOST_PP_NODE_517(p) BOOST_PP_IIF(p(517), 517, 518) +# define BOOST_PP_NODE_519(p) BOOST_PP_IIF(p(519), 519, 520) +# define BOOST_PP_NODE_524(p) BOOST_PP_IIF(p(524), BOOST_PP_NODE_522, BOOST_PP_NODE_526) +# define BOOST_PP_NODE_522(p) BOOST_PP_IIF(p(522), BOOST_PP_NODE_521, BOOST_PP_NODE_523) +# define BOOST_PP_NODE_521(p) BOOST_PP_IIF(p(521), 521, 522) +# define BOOST_PP_NODE_523(p) BOOST_PP_IIF(p(523), 523, 524) +# define BOOST_PP_NODE_526(p) BOOST_PP_IIF(p(526), BOOST_PP_NODE_525, BOOST_PP_NODE_527) +# define BOOST_PP_NODE_525(p) BOOST_PP_IIF(p(525), 525, 526) +# define BOOST_PP_NODE_527(p) BOOST_PP_IIF(p(527), 527, 528) +# define BOOST_PP_NODE_536(p) BOOST_PP_IIF(p(536), BOOST_PP_NODE_532, BOOST_PP_NODE_540) +# define BOOST_PP_NODE_532(p) BOOST_PP_IIF(p(532), BOOST_PP_NODE_530, BOOST_PP_NODE_534) +# define BOOST_PP_NODE_530(p) BOOST_PP_IIF(p(530), BOOST_PP_NODE_529, BOOST_PP_NODE_531) +# define BOOST_PP_NODE_529(p) BOOST_PP_IIF(p(529), 529, 530) +# define BOOST_PP_NODE_531(p) BOOST_PP_IIF(p(531), 531, 532) +# define BOOST_PP_NODE_534(p) BOOST_PP_IIF(p(534), BOOST_PP_NODE_533, BOOST_PP_NODE_535) +# define BOOST_PP_NODE_533(p) BOOST_PP_IIF(p(533), 533, 534) +# define BOOST_PP_NODE_535(p) BOOST_PP_IIF(p(535), 535, 536) +# define BOOST_PP_NODE_540(p) BOOST_PP_IIF(p(540), BOOST_PP_NODE_538, BOOST_PP_NODE_542) +# define BOOST_PP_NODE_538(p) BOOST_PP_IIF(p(538), BOOST_PP_NODE_537, BOOST_PP_NODE_539) +# define BOOST_PP_NODE_537(p) BOOST_PP_IIF(p(537), 537, 538) +# define BOOST_PP_NODE_539(p) BOOST_PP_IIF(p(539), 539, 540) +# define BOOST_PP_NODE_542(p) BOOST_PP_IIF(p(542), BOOST_PP_NODE_541, BOOST_PP_NODE_543) +# define BOOST_PP_NODE_541(p) BOOST_PP_IIF(p(541), 541, 542) +# define BOOST_PP_NODE_543(p) BOOST_PP_IIF(p(543), 543, 544) +# define BOOST_PP_NODE_560(p) BOOST_PP_IIF(p(560), BOOST_PP_NODE_552, BOOST_PP_NODE_568) +# define BOOST_PP_NODE_552(p) BOOST_PP_IIF(p(552), BOOST_PP_NODE_548, BOOST_PP_NODE_556) +# define BOOST_PP_NODE_548(p) BOOST_PP_IIF(p(548), BOOST_PP_NODE_546, BOOST_PP_NODE_550) +# define BOOST_PP_NODE_546(p) BOOST_PP_IIF(p(546), BOOST_PP_NODE_545, BOOST_PP_NODE_547) +# define BOOST_PP_NODE_545(p) BOOST_PP_IIF(p(545), 545, 546) +# define BOOST_PP_NODE_547(p) BOOST_PP_IIF(p(547), 547, 548) +# define BOOST_PP_NODE_550(p) BOOST_PP_IIF(p(550), BOOST_PP_NODE_549, BOOST_PP_NODE_551) +# define BOOST_PP_NODE_549(p) BOOST_PP_IIF(p(549), 549, 550) +# define BOOST_PP_NODE_551(p) BOOST_PP_IIF(p(551), 551, 552) +# define BOOST_PP_NODE_556(p) BOOST_PP_IIF(p(556), BOOST_PP_NODE_554, BOOST_PP_NODE_558) +# define BOOST_PP_NODE_554(p) BOOST_PP_IIF(p(554), BOOST_PP_NODE_553, BOOST_PP_NODE_555) +# define BOOST_PP_NODE_553(p) BOOST_PP_IIF(p(553), 553, 554) +# define BOOST_PP_NODE_555(p) BOOST_PP_IIF(p(555), 555, 556) +# define BOOST_PP_NODE_558(p) BOOST_PP_IIF(p(558), BOOST_PP_NODE_557, BOOST_PP_NODE_559) +# define BOOST_PP_NODE_557(p) BOOST_PP_IIF(p(557), 557, 558) +# define BOOST_PP_NODE_559(p) BOOST_PP_IIF(p(559), 559, 560) +# define BOOST_PP_NODE_568(p) BOOST_PP_IIF(p(568), BOOST_PP_NODE_564, BOOST_PP_NODE_572) +# define BOOST_PP_NODE_564(p) BOOST_PP_IIF(p(564), BOOST_PP_NODE_562, BOOST_PP_NODE_566) +# define BOOST_PP_NODE_562(p) BOOST_PP_IIF(p(562), BOOST_PP_NODE_561, BOOST_PP_NODE_563) +# define BOOST_PP_NODE_561(p) BOOST_PP_IIF(p(561), 561, 562) +# define BOOST_PP_NODE_563(p) BOOST_PP_IIF(p(563), 563, 564) +# define BOOST_PP_NODE_566(p) BOOST_PP_IIF(p(566), BOOST_PP_NODE_565, BOOST_PP_NODE_567) +# define BOOST_PP_NODE_565(p) BOOST_PP_IIF(p(565), 565, 566) +# define BOOST_PP_NODE_567(p) BOOST_PP_IIF(p(567), 567, 568) +# define BOOST_PP_NODE_572(p) BOOST_PP_IIF(p(572), BOOST_PP_NODE_570, BOOST_PP_NODE_574) +# define BOOST_PP_NODE_570(p) BOOST_PP_IIF(p(570), BOOST_PP_NODE_569, BOOST_PP_NODE_571) +# define BOOST_PP_NODE_569(p) BOOST_PP_IIF(p(569), 569, 570) +# define BOOST_PP_NODE_571(p) BOOST_PP_IIF(p(571), 571, 572) +# define BOOST_PP_NODE_574(p) BOOST_PP_IIF(p(574), BOOST_PP_NODE_573, BOOST_PP_NODE_575) +# define BOOST_PP_NODE_573(p) BOOST_PP_IIF(p(573), 573, 574) +# define BOOST_PP_NODE_575(p) BOOST_PP_IIF(p(575), 575, 576) +# define BOOST_PP_NODE_608(p) BOOST_PP_IIF(p(608), BOOST_PP_NODE_592, BOOST_PP_NODE_624) +# define BOOST_PP_NODE_592(p) BOOST_PP_IIF(p(592), BOOST_PP_NODE_584, BOOST_PP_NODE_600) +# define BOOST_PP_NODE_584(p) BOOST_PP_IIF(p(584), BOOST_PP_NODE_580, BOOST_PP_NODE_588) +# define BOOST_PP_NODE_580(p) BOOST_PP_IIF(p(580), BOOST_PP_NODE_578, BOOST_PP_NODE_582) +# define BOOST_PP_NODE_578(p) BOOST_PP_IIF(p(578), BOOST_PP_NODE_577, BOOST_PP_NODE_579) +# define BOOST_PP_NODE_577(p) BOOST_PP_IIF(p(577), 577, 578) +# define BOOST_PP_NODE_579(p) BOOST_PP_IIF(p(579), 579, 580) +# define BOOST_PP_NODE_582(p) BOOST_PP_IIF(p(582), BOOST_PP_NODE_581, BOOST_PP_NODE_583) +# define BOOST_PP_NODE_581(p) BOOST_PP_IIF(p(581), 581, 582) +# define BOOST_PP_NODE_583(p) BOOST_PP_IIF(p(583), 583, 584) +# define BOOST_PP_NODE_588(p) BOOST_PP_IIF(p(588), BOOST_PP_NODE_586, BOOST_PP_NODE_590) +# define BOOST_PP_NODE_586(p) BOOST_PP_IIF(p(586), BOOST_PP_NODE_585, BOOST_PP_NODE_587) +# define BOOST_PP_NODE_585(p) BOOST_PP_IIF(p(585), 585, 586) +# define BOOST_PP_NODE_587(p) BOOST_PP_IIF(p(587), 587, 588) +# define BOOST_PP_NODE_590(p) BOOST_PP_IIF(p(590), BOOST_PP_NODE_589, BOOST_PP_NODE_591) +# define BOOST_PP_NODE_589(p) BOOST_PP_IIF(p(589), 589, 590) +# define BOOST_PP_NODE_591(p) BOOST_PP_IIF(p(591), 591, 592) +# define BOOST_PP_NODE_600(p) BOOST_PP_IIF(p(600), BOOST_PP_NODE_596, BOOST_PP_NODE_604) +# define BOOST_PP_NODE_596(p) BOOST_PP_IIF(p(596), BOOST_PP_NODE_594, BOOST_PP_NODE_598) +# define BOOST_PP_NODE_594(p) BOOST_PP_IIF(p(594), BOOST_PP_NODE_593, BOOST_PP_NODE_595) +# define BOOST_PP_NODE_593(p) BOOST_PP_IIF(p(593), 593, 594) +# define BOOST_PP_NODE_595(p) BOOST_PP_IIF(p(595), 595, 596) +# define BOOST_PP_NODE_598(p) BOOST_PP_IIF(p(598), BOOST_PP_NODE_597, BOOST_PP_NODE_599) +# define BOOST_PP_NODE_597(p) BOOST_PP_IIF(p(597), 597, 598) +# define BOOST_PP_NODE_599(p) BOOST_PP_IIF(p(599), 599, 600) +# define BOOST_PP_NODE_604(p) BOOST_PP_IIF(p(604), BOOST_PP_NODE_602, BOOST_PP_NODE_606) +# define BOOST_PP_NODE_602(p) BOOST_PP_IIF(p(602), BOOST_PP_NODE_601, BOOST_PP_NODE_603) +# define BOOST_PP_NODE_601(p) BOOST_PP_IIF(p(601), 601, 602) +# define BOOST_PP_NODE_603(p) BOOST_PP_IIF(p(603), 603, 604) +# define BOOST_PP_NODE_606(p) BOOST_PP_IIF(p(606), BOOST_PP_NODE_605, BOOST_PP_NODE_607) +# define BOOST_PP_NODE_605(p) BOOST_PP_IIF(p(605), 605, 606) +# define BOOST_PP_NODE_607(p) BOOST_PP_IIF(p(607), 607, 608) +# define BOOST_PP_NODE_624(p) BOOST_PP_IIF(p(624), BOOST_PP_NODE_616, BOOST_PP_NODE_632) +# define BOOST_PP_NODE_616(p) BOOST_PP_IIF(p(616), BOOST_PP_NODE_612, BOOST_PP_NODE_620) +# define BOOST_PP_NODE_612(p) BOOST_PP_IIF(p(612), BOOST_PP_NODE_610, BOOST_PP_NODE_614) +# define BOOST_PP_NODE_610(p) BOOST_PP_IIF(p(610), BOOST_PP_NODE_609, BOOST_PP_NODE_611) +# define BOOST_PP_NODE_609(p) BOOST_PP_IIF(p(609), 609, 610) +# define BOOST_PP_NODE_611(p) BOOST_PP_IIF(p(611), 611, 612) +# define BOOST_PP_NODE_614(p) BOOST_PP_IIF(p(614), BOOST_PP_NODE_613, BOOST_PP_NODE_615) +# define BOOST_PP_NODE_613(p) BOOST_PP_IIF(p(613), 613, 614) +# define BOOST_PP_NODE_615(p) BOOST_PP_IIF(p(615), 615, 616) +# define BOOST_PP_NODE_620(p) BOOST_PP_IIF(p(620), BOOST_PP_NODE_618, BOOST_PP_NODE_622) +# define BOOST_PP_NODE_618(p) BOOST_PP_IIF(p(618), BOOST_PP_NODE_617, BOOST_PP_NODE_619) +# define BOOST_PP_NODE_617(p) BOOST_PP_IIF(p(617), 617, 618) +# define BOOST_PP_NODE_619(p) BOOST_PP_IIF(p(619), 619, 620) +# define BOOST_PP_NODE_622(p) BOOST_PP_IIF(p(622), BOOST_PP_NODE_621, BOOST_PP_NODE_623) +# define BOOST_PP_NODE_621(p) BOOST_PP_IIF(p(621), 621, 622) +# define BOOST_PP_NODE_623(p) BOOST_PP_IIF(p(623), 623, 624) +# define BOOST_PP_NODE_632(p) BOOST_PP_IIF(p(632), BOOST_PP_NODE_628, BOOST_PP_NODE_636) +# define BOOST_PP_NODE_628(p) BOOST_PP_IIF(p(628), BOOST_PP_NODE_626, BOOST_PP_NODE_630) +# define BOOST_PP_NODE_626(p) BOOST_PP_IIF(p(626), BOOST_PP_NODE_625, BOOST_PP_NODE_627) +# define BOOST_PP_NODE_625(p) BOOST_PP_IIF(p(625), 625, 626) +# define BOOST_PP_NODE_627(p) BOOST_PP_IIF(p(627), 627, 628) +# define BOOST_PP_NODE_630(p) BOOST_PP_IIF(p(630), BOOST_PP_NODE_629, BOOST_PP_NODE_631) +# define BOOST_PP_NODE_629(p) BOOST_PP_IIF(p(629), 629, 630) +# define BOOST_PP_NODE_631(p) BOOST_PP_IIF(p(631), 631, 632) +# define BOOST_PP_NODE_636(p) BOOST_PP_IIF(p(636), BOOST_PP_NODE_634, BOOST_PP_NODE_638) +# define BOOST_PP_NODE_634(p) BOOST_PP_IIF(p(634), BOOST_PP_NODE_633, BOOST_PP_NODE_635) +# define BOOST_PP_NODE_633(p) BOOST_PP_IIF(p(633), 633, 634) +# define BOOST_PP_NODE_635(p) BOOST_PP_IIF(p(635), 635, 636) +# define BOOST_PP_NODE_638(p) BOOST_PP_IIF(p(638), BOOST_PP_NODE_637, BOOST_PP_NODE_639) +# define BOOST_PP_NODE_637(p) BOOST_PP_IIF(p(637), 637, 638) +# define BOOST_PP_NODE_639(p) BOOST_PP_IIF(p(639), 639, 640) +# define BOOST_PP_NODE_704(p) BOOST_PP_IIF(p(704), BOOST_PP_NODE_672, BOOST_PP_NODE_736) +# define BOOST_PP_NODE_672(p) BOOST_PP_IIF(p(672), BOOST_PP_NODE_656, BOOST_PP_NODE_688) +# define BOOST_PP_NODE_656(p) BOOST_PP_IIF(p(656), BOOST_PP_NODE_648, BOOST_PP_NODE_664) +# define BOOST_PP_NODE_648(p) BOOST_PP_IIF(p(648), BOOST_PP_NODE_644, BOOST_PP_NODE_652) +# define BOOST_PP_NODE_644(p) BOOST_PP_IIF(p(644), BOOST_PP_NODE_642, BOOST_PP_NODE_646) +# define BOOST_PP_NODE_642(p) BOOST_PP_IIF(p(642), BOOST_PP_NODE_641, BOOST_PP_NODE_643) +# define BOOST_PP_NODE_641(p) BOOST_PP_IIF(p(641), 641, 642) +# define BOOST_PP_NODE_643(p) BOOST_PP_IIF(p(643), 643, 644) +# define BOOST_PP_NODE_646(p) BOOST_PP_IIF(p(646), BOOST_PP_NODE_645, BOOST_PP_NODE_647) +# define BOOST_PP_NODE_645(p) BOOST_PP_IIF(p(645), 645, 646) +# define BOOST_PP_NODE_647(p) BOOST_PP_IIF(p(647), 647, 648) +# define BOOST_PP_NODE_652(p) BOOST_PP_IIF(p(652), BOOST_PP_NODE_650, BOOST_PP_NODE_654) +# define BOOST_PP_NODE_650(p) BOOST_PP_IIF(p(650), BOOST_PP_NODE_649, BOOST_PP_NODE_651) +# define BOOST_PP_NODE_649(p) BOOST_PP_IIF(p(649), 649, 650) +# define BOOST_PP_NODE_651(p) BOOST_PP_IIF(p(651), 651, 652) +# define BOOST_PP_NODE_654(p) BOOST_PP_IIF(p(654), BOOST_PP_NODE_653, BOOST_PP_NODE_655) +# define BOOST_PP_NODE_653(p) BOOST_PP_IIF(p(653), 653, 654) +# define BOOST_PP_NODE_655(p) BOOST_PP_IIF(p(655), 655, 656) +# define BOOST_PP_NODE_664(p) BOOST_PP_IIF(p(664), BOOST_PP_NODE_660, BOOST_PP_NODE_668) +# define BOOST_PP_NODE_660(p) BOOST_PP_IIF(p(660), BOOST_PP_NODE_658, BOOST_PP_NODE_662) +# define BOOST_PP_NODE_658(p) BOOST_PP_IIF(p(658), BOOST_PP_NODE_657, BOOST_PP_NODE_659) +# define BOOST_PP_NODE_657(p) BOOST_PP_IIF(p(657), 657, 658) +# define BOOST_PP_NODE_659(p) BOOST_PP_IIF(p(659), 659, 660) +# define BOOST_PP_NODE_662(p) BOOST_PP_IIF(p(662), BOOST_PP_NODE_661, BOOST_PP_NODE_663) +# define BOOST_PP_NODE_661(p) BOOST_PP_IIF(p(661), 661, 662) +# define BOOST_PP_NODE_663(p) BOOST_PP_IIF(p(663), 663, 664) +# define BOOST_PP_NODE_668(p) BOOST_PP_IIF(p(668), BOOST_PP_NODE_666, BOOST_PP_NODE_670) +# define BOOST_PP_NODE_666(p) BOOST_PP_IIF(p(666), BOOST_PP_NODE_665, BOOST_PP_NODE_667) +# define BOOST_PP_NODE_665(p) BOOST_PP_IIF(p(665), 665, 666) +# define BOOST_PP_NODE_667(p) BOOST_PP_IIF(p(667), 667, 668) +# define BOOST_PP_NODE_670(p) BOOST_PP_IIF(p(670), BOOST_PP_NODE_669, BOOST_PP_NODE_671) +# define BOOST_PP_NODE_669(p) BOOST_PP_IIF(p(669), 669, 670) +# define BOOST_PP_NODE_671(p) BOOST_PP_IIF(p(671), 671, 672) +# define BOOST_PP_NODE_688(p) BOOST_PP_IIF(p(688), BOOST_PP_NODE_680, BOOST_PP_NODE_696) +# define BOOST_PP_NODE_680(p) BOOST_PP_IIF(p(680), BOOST_PP_NODE_676, BOOST_PP_NODE_684) +# define BOOST_PP_NODE_676(p) BOOST_PP_IIF(p(676), BOOST_PP_NODE_674, BOOST_PP_NODE_678) +# define BOOST_PP_NODE_674(p) BOOST_PP_IIF(p(674), BOOST_PP_NODE_673, BOOST_PP_NODE_675) +# define BOOST_PP_NODE_673(p) BOOST_PP_IIF(p(673), 673, 674) +# define BOOST_PP_NODE_675(p) BOOST_PP_IIF(p(675), 675, 676) +# define BOOST_PP_NODE_678(p) BOOST_PP_IIF(p(678), BOOST_PP_NODE_677, BOOST_PP_NODE_679) +# define BOOST_PP_NODE_677(p) BOOST_PP_IIF(p(677), 677, 678) +# define BOOST_PP_NODE_679(p) BOOST_PP_IIF(p(679), 679, 680) +# define BOOST_PP_NODE_684(p) BOOST_PP_IIF(p(684), BOOST_PP_NODE_682, BOOST_PP_NODE_686) +# define BOOST_PP_NODE_682(p) BOOST_PP_IIF(p(682), BOOST_PP_NODE_681, BOOST_PP_NODE_683) +# define BOOST_PP_NODE_681(p) BOOST_PP_IIF(p(681), 681, 682) +# define BOOST_PP_NODE_683(p) BOOST_PP_IIF(p(683), 683, 684) +# define BOOST_PP_NODE_686(p) BOOST_PP_IIF(p(686), BOOST_PP_NODE_685, BOOST_PP_NODE_687) +# define BOOST_PP_NODE_685(p) BOOST_PP_IIF(p(685), 685, 686) +# define BOOST_PP_NODE_687(p) BOOST_PP_IIF(p(687), 687, 688) +# define BOOST_PP_NODE_696(p) BOOST_PP_IIF(p(696), BOOST_PP_NODE_692, BOOST_PP_NODE_700) +# define BOOST_PP_NODE_692(p) BOOST_PP_IIF(p(692), BOOST_PP_NODE_690, BOOST_PP_NODE_694) +# define BOOST_PP_NODE_690(p) BOOST_PP_IIF(p(690), BOOST_PP_NODE_689, BOOST_PP_NODE_691) +# define BOOST_PP_NODE_689(p) BOOST_PP_IIF(p(689), 689, 690) +# define BOOST_PP_NODE_691(p) BOOST_PP_IIF(p(691), 691, 692) +# define BOOST_PP_NODE_694(p) BOOST_PP_IIF(p(694), BOOST_PP_NODE_693, BOOST_PP_NODE_695) +# define BOOST_PP_NODE_693(p) BOOST_PP_IIF(p(693), 693, 694) +# define BOOST_PP_NODE_695(p) BOOST_PP_IIF(p(695), 695, 696) +# define BOOST_PP_NODE_700(p) BOOST_PP_IIF(p(700), BOOST_PP_NODE_698, BOOST_PP_NODE_702) +# define BOOST_PP_NODE_698(p) BOOST_PP_IIF(p(698), BOOST_PP_NODE_697, BOOST_PP_NODE_699) +# define BOOST_PP_NODE_697(p) BOOST_PP_IIF(p(697), 697, 698) +# define BOOST_PP_NODE_699(p) BOOST_PP_IIF(p(699), 699, 700) +# define BOOST_PP_NODE_702(p) BOOST_PP_IIF(p(702), BOOST_PP_NODE_701, BOOST_PP_NODE_703) +# define BOOST_PP_NODE_701(p) BOOST_PP_IIF(p(701), 701, 702) +# define BOOST_PP_NODE_703(p) BOOST_PP_IIF(p(703), 703, 704) +# define BOOST_PP_NODE_736(p) BOOST_PP_IIF(p(736), BOOST_PP_NODE_720, BOOST_PP_NODE_752) +# define BOOST_PP_NODE_720(p) BOOST_PP_IIF(p(720), BOOST_PP_NODE_712, BOOST_PP_NODE_728) +# define BOOST_PP_NODE_712(p) BOOST_PP_IIF(p(712), BOOST_PP_NODE_708, BOOST_PP_NODE_716) +# define BOOST_PP_NODE_708(p) BOOST_PP_IIF(p(708), BOOST_PP_NODE_706, BOOST_PP_NODE_710) +# define BOOST_PP_NODE_706(p) BOOST_PP_IIF(p(706), BOOST_PP_NODE_705, BOOST_PP_NODE_707) +# define BOOST_PP_NODE_705(p) BOOST_PP_IIF(p(705), 705, 706) +# define BOOST_PP_NODE_707(p) BOOST_PP_IIF(p(707), 707, 708) +# define BOOST_PP_NODE_710(p) BOOST_PP_IIF(p(710), BOOST_PP_NODE_709, BOOST_PP_NODE_711) +# define BOOST_PP_NODE_709(p) BOOST_PP_IIF(p(709), 709, 710) +# define BOOST_PP_NODE_711(p) BOOST_PP_IIF(p(711), 711, 712) +# define BOOST_PP_NODE_716(p) BOOST_PP_IIF(p(716), BOOST_PP_NODE_714, BOOST_PP_NODE_718) +# define BOOST_PP_NODE_714(p) BOOST_PP_IIF(p(714), BOOST_PP_NODE_713, BOOST_PP_NODE_715) +# define BOOST_PP_NODE_713(p) BOOST_PP_IIF(p(713), 713, 714) +# define BOOST_PP_NODE_715(p) BOOST_PP_IIF(p(715), 715, 716) +# define BOOST_PP_NODE_718(p) BOOST_PP_IIF(p(718), BOOST_PP_NODE_717, BOOST_PP_NODE_719) +# define BOOST_PP_NODE_717(p) BOOST_PP_IIF(p(717), 717, 718) +# define BOOST_PP_NODE_719(p) BOOST_PP_IIF(p(719), 719, 720) +# define BOOST_PP_NODE_728(p) BOOST_PP_IIF(p(728), BOOST_PP_NODE_724, BOOST_PP_NODE_732) +# define BOOST_PP_NODE_724(p) BOOST_PP_IIF(p(724), BOOST_PP_NODE_722, BOOST_PP_NODE_726) +# define BOOST_PP_NODE_722(p) BOOST_PP_IIF(p(722), BOOST_PP_NODE_721, BOOST_PP_NODE_723) +# define BOOST_PP_NODE_721(p) BOOST_PP_IIF(p(721), 721, 722) +# define BOOST_PP_NODE_723(p) BOOST_PP_IIF(p(723), 723, 724) +# define BOOST_PP_NODE_726(p) BOOST_PP_IIF(p(726), BOOST_PP_NODE_725, BOOST_PP_NODE_727) +# define BOOST_PP_NODE_725(p) BOOST_PP_IIF(p(725), 725, 726) +# define BOOST_PP_NODE_727(p) BOOST_PP_IIF(p(727), 727, 728) +# define BOOST_PP_NODE_732(p) BOOST_PP_IIF(p(732), BOOST_PP_NODE_730, BOOST_PP_NODE_734) +# define BOOST_PP_NODE_730(p) BOOST_PP_IIF(p(730), BOOST_PP_NODE_729, BOOST_PP_NODE_731) +# define BOOST_PP_NODE_729(p) BOOST_PP_IIF(p(729), 729, 730) +# define BOOST_PP_NODE_731(p) BOOST_PP_IIF(p(731), 731, 732) +# define BOOST_PP_NODE_734(p) BOOST_PP_IIF(p(734), BOOST_PP_NODE_733, BOOST_PP_NODE_735) +# define BOOST_PP_NODE_733(p) BOOST_PP_IIF(p(733), 733, 734) +# define BOOST_PP_NODE_735(p) BOOST_PP_IIF(p(735), 735, 736) +# define BOOST_PP_NODE_752(p) BOOST_PP_IIF(p(752), BOOST_PP_NODE_744, BOOST_PP_NODE_760) +# define BOOST_PP_NODE_744(p) BOOST_PP_IIF(p(744), BOOST_PP_NODE_740, BOOST_PP_NODE_748) +# define BOOST_PP_NODE_740(p) BOOST_PP_IIF(p(740), BOOST_PP_NODE_738, BOOST_PP_NODE_742) +# define BOOST_PP_NODE_738(p) BOOST_PP_IIF(p(738), BOOST_PP_NODE_737, BOOST_PP_NODE_739) +# define BOOST_PP_NODE_737(p) BOOST_PP_IIF(p(737), 737, 738) +# define BOOST_PP_NODE_739(p) BOOST_PP_IIF(p(739), 739, 740) +# define BOOST_PP_NODE_742(p) BOOST_PP_IIF(p(742), BOOST_PP_NODE_741, BOOST_PP_NODE_743) +# define BOOST_PP_NODE_741(p) BOOST_PP_IIF(p(741), 741, 742) +# define BOOST_PP_NODE_743(p) BOOST_PP_IIF(p(743), 743, 744) +# define BOOST_PP_NODE_748(p) BOOST_PP_IIF(p(748), BOOST_PP_NODE_746, BOOST_PP_NODE_750) +# define BOOST_PP_NODE_746(p) BOOST_PP_IIF(p(746), BOOST_PP_NODE_745, BOOST_PP_NODE_747) +# define BOOST_PP_NODE_745(p) BOOST_PP_IIF(p(745), 745, 746) +# define BOOST_PP_NODE_747(p) BOOST_PP_IIF(p(747), 747, 748) +# define BOOST_PP_NODE_750(p) BOOST_PP_IIF(p(750), BOOST_PP_NODE_749, BOOST_PP_NODE_751) +# define BOOST_PP_NODE_749(p) BOOST_PP_IIF(p(749), 749, 750) +# define BOOST_PP_NODE_751(p) BOOST_PP_IIF(p(751), 751, 752) +# define BOOST_PP_NODE_760(p) BOOST_PP_IIF(p(760), BOOST_PP_NODE_756, BOOST_PP_NODE_764) +# define BOOST_PP_NODE_756(p) BOOST_PP_IIF(p(756), BOOST_PP_NODE_754, BOOST_PP_NODE_758) +# define BOOST_PP_NODE_754(p) BOOST_PP_IIF(p(754), BOOST_PP_NODE_753, BOOST_PP_NODE_755) +# define BOOST_PP_NODE_753(p) BOOST_PP_IIF(p(753), 753, 754) +# define BOOST_PP_NODE_755(p) BOOST_PP_IIF(p(755), 755, 756) +# define BOOST_PP_NODE_758(p) BOOST_PP_IIF(p(758), BOOST_PP_NODE_757, BOOST_PP_NODE_759) +# define BOOST_PP_NODE_757(p) BOOST_PP_IIF(p(757), 757, 758) +# define BOOST_PP_NODE_759(p) BOOST_PP_IIF(p(759), 759, 760) +# define BOOST_PP_NODE_764(p) BOOST_PP_IIF(p(764), BOOST_PP_NODE_762, BOOST_PP_NODE_766) +# define BOOST_PP_NODE_762(p) BOOST_PP_IIF(p(762), BOOST_PP_NODE_761, BOOST_PP_NODE_763) +# define BOOST_PP_NODE_761(p) BOOST_PP_IIF(p(761), 761, 762) +# define BOOST_PP_NODE_763(p) BOOST_PP_IIF(p(763), 763, 764) +# define BOOST_PP_NODE_766(p) BOOST_PP_IIF(p(766), BOOST_PP_NODE_765, BOOST_PP_NODE_767) +# define BOOST_PP_NODE_765(p) BOOST_PP_IIF(p(765), 765, 766) +# define BOOST_PP_NODE_767(p) BOOST_PP_IIF(p(767), 767, 768) +# define BOOST_PP_NODE_896(p) BOOST_PP_IIF(p(896), BOOST_PP_NODE_832, BOOST_PP_NODE_960) +# define BOOST_PP_NODE_832(p) BOOST_PP_IIF(p(832), BOOST_PP_NODE_800, BOOST_PP_NODE_864) +# define BOOST_PP_NODE_800(p) BOOST_PP_IIF(p(800), BOOST_PP_NODE_784, BOOST_PP_NODE_816) +# define BOOST_PP_NODE_784(p) BOOST_PP_IIF(p(784), BOOST_PP_NODE_776, BOOST_PP_NODE_792) +# define BOOST_PP_NODE_776(p) BOOST_PP_IIF(p(776), BOOST_PP_NODE_772, BOOST_PP_NODE_780) +# define BOOST_PP_NODE_772(p) BOOST_PP_IIF(p(772), BOOST_PP_NODE_770, BOOST_PP_NODE_774) +# define BOOST_PP_NODE_770(p) BOOST_PP_IIF(p(770), BOOST_PP_NODE_769, BOOST_PP_NODE_771) +# define BOOST_PP_NODE_769(p) BOOST_PP_IIF(p(769), 769, 770) +# define BOOST_PP_NODE_771(p) BOOST_PP_IIF(p(771), 771, 772) +# define BOOST_PP_NODE_774(p) BOOST_PP_IIF(p(774), BOOST_PP_NODE_773, BOOST_PP_NODE_775) +# define BOOST_PP_NODE_773(p) BOOST_PP_IIF(p(773), 773, 774) +# define BOOST_PP_NODE_775(p) BOOST_PP_IIF(p(775), 775, 776) +# define BOOST_PP_NODE_780(p) BOOST_PP_IIF(p(780), BOOST_PP_NODE_778, BOOST_PP_NODE_782) +# define BOOST_PP_NODE_778(p) BOOST_PP_IIF(p(778), BOOST_PP_NODE_777, BOOST_PP_NODE_779) +# define BOOST_PP_NODE_777(p) BOOST_PP_IIF(p(777), 777, 778) +# define BOOST_PP_NODE_779(p) BOOST_PP_IIF(p(779), 779, 780) +# define BOOST_PP_NODE_782(p) BOOST_PP_IIF(p(782), BOOST_PP_NODE_781, BOOST_PP_NODE_783) +# define BOOST_PP_NODE_781(p) BOOST_PP_IIF(p(781), 781, 782) +# define BOOST_PP_NODE_783(p) BOOST_PP_IIF(p(783), 783, 784) +# define BOOST_PP_NODE_792(p) BOOST_PP_IIF(p(792), BOOST_PP_NODE_788, BOOST_PP_NODE_796) +# define BOOST_PP_NODE_788(p) BOOST_PP_IIF(p(788), BOOST_PP_NODE_786, BOOST_PP_NODE_790) +# define BOOST_PP_NODE_786(p) BOOST_PP_IIF(p(786), BOOST_PP_NODE_785, BOOST_PP_NODE_787) +# define BOOST_PP_NODE_785(p) BOOST_PP_IIF(p(785), 785, 786) +# define BOOST_PP_NODE_787(p) BOOST_PP_IIF(p(787), 787, 788) +# define BOOST_PP_NODE_790(p) BOOST_PP_IIF(p(790), BOOST_PP_NODE_789, BOOST_PP_NODE_791) +# define BOOST_PP_NODE_789(p) BOOST_PP_IIF(p(789), 789, 790) +# define BOOST_PP_NODE_791(p) BOOST_PP_IIF(p(791), 791, 792) +# define BOOST_PP_NODE_796(p) BOOST_PP_IIF(p(796), BOOST_PP_NODE_794, BOOST_PP_NODE_798) +# define BOOST_PP_NODE_794(p) BOOST_PP_IIF(p(794), BOOST_PP_NODE_793, BOOST_PP_NODE_795) +# define BOOST_PP_NODE_793(p) BOOST_PP_IIF(p(793), 793, 794) +# define BOOST_PP_NODE_795(p) BOOST_PP_IIF(p(795), 795, 796) +# define BOOST_PP_NODE_798(p) BOOST_PP_IIF(p(798), BOOST_PP_NODE_797, BOOST_PP_NODE_799) +# define BOOST_PP_NODE_797(p) BOOST_PP_IIF(p(797), 797, 798) +# define BOOST_PP_NODE_799(p) BOOST_PP_IIF(p(799), 799, 800) +# define BOOST_PP_NODE_816(p) BOOST_PP_IIF(p(816), BOOST_PP_NODE_808, BOOST_PP_NODE_824) +# define BOOST_PP_NODE_808(p) BOOST_PP_IIF(p(808), BOOST_PP_NODE_804, BOOST_PP_NODE_812) +# define BOOST_PP_NODE_804(p) BOOST_PP_IIF(p(804), BOOST_PP_NODE_802, BOOST_PP_NODE_806) +# define BOOST_PP_NODE_802(p) BOOST_PP_IIF(p(802), BOOST_PP_NODE_801, BOOST_PP_NODE_803) +# define BOOST_PP_NODE_801(p) BOOST_PP_IIF(p(801), 801, 802) +# define BOOST_PP_NODE_803(p) BOOST_PP_IIF(p(803), 803, 804) +# define BOOST_PP_NODE_806(p) BOOST_PP_IIF(p(806), BOOST_PP_NODE_805, BOOST_PP_NODE_807) +# define BOOST_PP_NODE_805(p) BOOST_PP_IIF(p(805), 805, 806) +# define BOOST_PP_NODE_807(p) BOOST_PP_IIF(p(807), 807, 808) +# define BOOST_PP_NODE_812(p) BOOST_PP_IIF(p(812), BOOST_PP_NODE_810, BOOST_PP_NODE_814) +# define BOOST_PP_NODE_810(p) BOOST_PP_IIF(p(810), BOOST_PP_NODE_809, BOOST_PP_NODE_811) +# define BOOST_PP_NODE_809(p) BOOST_PP_IIF(p(809), 809, 810) +# define BOOST_PP_NODE_811(p) BOOST_PP_IIF(p(811), 811, 812) +# define BOOST_PP_NODE_814(p) BOOST_PP_IIF(p(814), BOOST_PP_NODE_813, BOOST_PP_NODE_815) +# define BOOST_PP_NODE_813(p) BOOST_PP_IIF(p(813), 813, 814) +# define BOOST_PP_NODE_815(p) BOOST_PP_IIF(p(815), 815, 816) +# define BOOST_PP_NODE_824(p) BOOST_PP_IIF(p(824), BOOST_PP_NODE_820, BOOST_PP_NODE_828) +# define BOOST_PP_NODE_820(p) BOOST_PP_IIF(p(820), BOOST_PP_NODE_818, BOOST_PP_NODE_822) +# define BOOST_PP_NODE_818(p) BOOST_PP_IIF(p(818), BOOST_PP_NODE_817, BOOST_PP_NODE_819) +# define BOOST_PP_NODE_817(p) BOOST_PP_IIF(p(817), 817, 818) +# define BOOST_PP_NODE_819(p) BOOST_PP_IIF(p(819), 819, 820) +# define BOOST_PP_NODE_822(p) BOOST_PP_IIF(p(822), BOOST_PP_NODE_821, BOOST_PP_NODE_823) +# define BOOST_PP_NODE_821(p) BOOST_PP_IIF(p(821), 821, 822) +# define BOOST_PP_NODE_823(p) BOOST_PP_IIF(p(823), 823, 824) +# define BOOST_PP_NODE_828(p) BOOST_PP_IIF(p(828), BOOST_PP_NODE_826, BOOST_PP_NODE_830) +# define BOOST_PP_NODE_826(p) BOOST_PP_IIF(p(826), BOOST_PP_NODE_825, BOOST_PP_NODE_827) +# define BOOST_PP_NODE_825(p) BOOST_PP_IIF(p(825), 825, 826) +# define BOOST_PP_NODE_827(p) BOOST_PP_IIF(p(827), 827, 828) +# define BOOST_PP_NODE_830(p) BOOST_PP_IIF(p(830), BOOST_PP_NODE_829, BOOST_PP_NODE_831) +# define BOOST_PP_NODE_829(p) BOOST_PP_IIF(p(829), 829, 830) +# define BOOST_PP_NODE_831(p) BOOST_PP_IIF(p(831), 831, 832) +# define BOOST_PP_NODE_864(p) BOOST_PP_IIF(p(864), BOOST_PP_NODE_848, BOOST_PP_NODE_880) +# define BOOST_PP_NODE_848(p) BOOST_PP_IIF(p(848), BOOST_PP_NODE_840, BOOST_PP_NODE_856) +# define BOOST_PP_NODE_840(p) BOOST_PP_IIF(p(840), BOOST_PP_NODE_836, BOOST_PP_NODE_844) +# define BOOST_PP_NODE_836(p) BOOST_PP_IIF(p(836), BOOST_PP_NODE_834, BOOST_PP_NODE_838) +# define BOOST_PP_NODE_834(p) BOOST_PP_IIF(p(834), BOOST_PP_NODE_833, BOOST_PP_NODE_835) +# define BOOST_PP_NODE_833(p) BOOST_PP_IIF(p(833), 833, 834) +# define BOOST_PP_NODE_835(p) BOOST_PP_IIF(p(835), 835, 836) +# define BOOST_PP_NODE_838(p) BOOST_PP_IIF(p(838), BOOST_PP_NODE_837, BOOST_PP_NODE_839) +# define BOOST_PP_NODE_837(p) BOOST_PP_IIF(p(837), 837, 838) +# define BOOST_PP_NODE_839(p) BOOST_PP_IIF(p(839), 839, 840) +# define BOOST_PP_NODE_844(p) BOOST_PP_IIF(p(844), BOOST_PP_NODE_842, BOOST_PP_NODE_846) +# define BOOST_PP_NODE_842(p) BOOST_PP_IIF(p(842), BOOST_PP_NODE_841, BOOST_PP_NODE_843) +# define BOOST_PP_NODE_841(p) BOOST_PP_IIF(p(841), 841, 842) +# define BOOST_PP_NODE_843(p) BOOST_PP_IIF(p(843), 843, 844) +# define BOOST_PP_NODE_846(p) BOOST_PP_IIF(p(846), BOOST_PP_NODE_845, BOOST_PP_NODE_847) +# define BOOST_PP_NODE_845(p) BOOST_PP_IIF(p(845), 845, 846) +# define BOOST_PP_NODE_847(p) BOOST_PP_IIF(p(847), 847, 848) +# define BOOST_PP_NODE_856(p) BOOST_PP_IIF(p(856), BOOST_PP_NODE_852, BOOST_PP_NODE_860) +# define BOOST_PP_NODE_852(p) BOOST_PP_IIF(p(852), BOOST_PP_NODE_850, BOOST_PP_NODE_854) +# define BOOST_PP_NODE_850(p) BOOST_PP_IIF(p(850), BOOST_PP_NODE_849, BOOST_PP_NODE_851) +# define BOOST_PP_NODE_849(p) BOOST_PP_IIF(p(849), 849, 850) +# define BOOST_PP_NODE_851(p) BOOST_PP_IIF(p(851), 851, 852) +# define BOOST_PP_NODE_854(p) BOOST_PP_IIF(p(854), BOOST_PP_NODE_853, BOOST_PP_NODE_855) +# define BOOST_PP_NODE_853(p) BOOST_PP_IIF(p(853), 853, 854) +# define BOOST_PP_NODE_855(p) BOOST_PP_IIF(p(855), 855, 856) +# define BOOST_PP_NODE_860(p) BOOST_PP_IIF(p(860), BOOST_PP_NODE_858, BOOST_PP_NODE_862) +# define BOOST_PP_NODE_858(p) BOOST_PP_IIF(p(858), BOOST_PP_NODE_857, BOOST_PP_NODE_859) +# define BOOST_PP_NODE_857(p) BOOST_PP_IIF(p(857), 857, 858) +# define BOOST_PP_NODE_859(p) BOOST_PP_IIF(p(859), 859, 860) +# define BOOST_PP_NODE_862(p) BOOST_PP_IIF(p(862), BOOST_PP_NODE_861, BOOST_PP_NODE_863) +# define BOOST_PP_NODE_861(p) BOOST_PP_IIF(p(861), 861, 862) +# define BOOST_PP_NODE_863(p) BOOST_PP_IIF(p(863), 863, 864) +# define BOOST_PP_NODE_880(p) BOOST_PP_IIF(p(880), BOOST_PP_NODE_872, BOOST_PP_NODE_888) +# define BOOST_PP_NODE_872(p) BOOST_PP_IIF(p(872), BOOST_PP_NODE_868, BOOST_PP_NODE_876) +# define BOOST_PP_NODE_868(p) BOOST_PP_IIF(p(868), BOOST_PP_NODE_866, BOOST_PP_NODE_870) +# define BOOST_PP_NODE_866(p) BOOST_PP_IIF(p(866), BOOST_PP_NODE_865, BOOST_PP_NODE_867) +# define BOOST_PP_NODE_865(p) BOOST_PP_IIF(p(865), 865, 866) +# define BOOST_PP_NODE_867(p) BOOST_PP_IIF(p(867), 867, 868) +# define BOOST_PP_NODE_870(p) BOOST_PP_IIF(p(870), BOOST_PP_NODE_869, BOOST_PP_NODE_871) +# define BOOST_PP_NODE_869(p) BOOST_PP_IIF(p(869), 869, 870) +# define BOOST_PP_NODE_871(p) BOOST_PP_IIF(p(871), 871, 872) +# define BOOST_PP_NODE_876(p) BOOST_PP_IIF(p(876), BOOST_PP_NODE_874, BOOST_PP_NODE_878) +# define BOOST_PP_NODE_874(p) BOOST_PP_IIF(p(874), BOOST_PP_NODE_873, BOOST_PP_NODE_875) +# define BOOST_PP_NODE_873(p) BOOST_PP_IIF(p(873), 873, 874) +# define BOOST_PP_NODE_875(p) BOOST_PP_IIF(p(875), 875, 876) +# define BOOST_PP_NODE_878(p) BOOST_PP_IIF(p(878), BOOST_PP_NODE_877, BOOST_PP_NODE_879) +# define BOOST_PP_NODE_877(p) BOOST_PP_IIF(p(877), 877, 878) +# define BOOST_PP_NODE_879(p) BOOST_PP_IIF(p(879), 879, 880) +# define BOOST_PP_NODE_888(p) BOOST_PP_IIF(p(888), BOOST_PP_NODE_884, BOOST_PP_NODE_892) +# define BOOST_PP_NODE_884(p) BOOST_PP_IIF(p(884), BOOST_PP_NODE_882, BOOST_PP_NODE_886) +# define BOOST_PP_NODE_882(p) BOOST_PP_IIF(p(882), BOOST_PP_NODE_881, BOOST_PP_NODE_883) +# define BOOST_PP_NODE_881(p) BOOST_PP_IIF(p(881), 881, 882) +# define BOOST_PP_NODE_883(p) BOOST_PP_IIF(p(883), 883, 884) +# define BOOST_PP_NODE_886(p) BOOST_PP_IIF(p(886), BOOST_PP_NODE_885, BOOST_PP_NODE_887) +# define BOOST_PP_NODE_885(p) BOOST_PP_IIF(p(885), 885, 886) +# define BOOST_PP_NODE_887(p) BOOST_PP_IIF(p(887), 887, 888) +# define BOOST_PP_NODE_892(p) BOOST_PP_IIF(p(892), BOOST_PP_NODE_890, BOOST_PP_NODE_894) +# define BOOST_PP_NODE_890(p) BOOST_PP_IIF(p(890), BOOST_PP_NODE_889, BOOST_PP_NODE_891) +# define BOOST_PP_NODE_889(p) BOOST_PP_IIF(p(889), 889, 890) +# define BOOST_PP_NODE_891(p) BOOST_PP_IIF(p(891), 891, 892) +# define BOOST_PP_NODE_894(p) BOOST_PP_IIF(p(894), BOOST_PP_NODE_893, BOOST_PP_NODE_895) +# define BOOST_PP_NODE_893(p) BOOST_PP_IIF(p(893), 893, 894) +# define BOOST_PP_NODE_895(p) BOOST_PP_IIF(p(895), 895, 896) +# define BOOST_PP_NODE_960(p) BOOST_PP_IIF(p(960), BOOST_PP_NODE_928, BOOST_PP_NODE_992) +# define BOOST_PP_NODE_928(p) BOOST_PP_IIF(p(928), BOOST_PP_NODE_912, BOOST_PP_NODE_944) +# define BOOST_PP_NODE_912(p) BOOST_PP_IIF(p(912), BOOST_PP_NODE_904, BOOST_PP_NODE_920) +# define BOOST_PP_NODE_904(p) BOOST_PP_IIF(p(904), BOOST_PP_NODE_900, BOOST_PP_NODE_908) +# define BOOST_PP_NODE_900(p) BOOST_PP_IIF(p(900), BOOST_PP_NODE_898, BOOST_PP_NODE_902) +# define BOOST_PP_NODE_898(p) BOOST_PP_IIF(p(898), BOOST_PP_NODE_897, BOOST_PP_NODE_899) +# define BOOST_PP_NODE_897(p) BOOST_PP_IIF(p(897), 897, 898) +# define BOOST_PP_NODE_899(p) BOOST_PP_IIF(p(899), 899, 900) +# define BOOST_PP_NODE_902(p) BOOST_PP_IIF(p(902), BOOST_PP_NODE_901, BOOST_PP_NODE_903) +# define BOOST_PP_NODE_901(p) BOOST_PP_IIF(p(901), 901, 902) +# define BOOST_PP_NODE_903(p) BOOST_PP_IIF(p(903), 903, 904) +# define BOOST_PP_NODE_908(p) BOOST_PP_IIF(p(908), BOOST_PP_NODE_906, BOOST_PP_NODE_910) +# define BOOST_PP_NODE_906(p) BOOST_PP_IIF(p(906), BOOST_PP_NODE_905, BOOST_PP_NODE_907) +# define BOOST_PP_NODE_905(p) BOOST_PP_IIF(p(905), 905, 906) +# define BOOST_PP_NODE_907(p) BOOST_PP_IIF(p(907), 907, 908) +# define BOOST_PP_NODE_910(p) BOOST_PP_IIF(p(910), BOOST_PP_NODE_909, BOOST_PP_NODE_911) +# define BOOST_PP_NODE_909(p) BOOST_PP_IIF(p(909), 909, 910) +# define BOOST_PP_NODE_911(p) BOOST_PP_IIF(p(911), 911, 912) +# define BOOST_PP_NODE_920(p) BOOST_PP_IIF(p(920), BOOST_PP_NODE_916, BOOST_PP_NODE_924) +# define BOOST_PP_NODE_916(p) BOOST_PP_IIF(p(916), BOOST_PP_NODE_914, BOOST_PP_NODE_918) +# define BOOST_PP_NODE_914(p) BOOST_PP_IIF(p(914), BOOST_PP_NODE_913, BOOST_PP_NODE_915) +# define BOOST_PP_NODE_913(p) BOOST_PP_IIF(p(913), 913, 914) +# define BOOST_PP_NODE_915(p) BOOST_PP_IIF(p(915), 915, 916) +# define BOOST_PP_NODE_918(p) BOOST_PP_IIF(p(918), BOOST_PP_NODE_917, BOOST_PP_NODE_919) +# define BOOST_PP_NODE_917(p) BOOST_PP_IIF(p(917), 917, 918) +# define BOOST_PP_NODE_919(p) BOOST_PP_IIF(p(919), 919, 920) +# define BOOST_PP_NODE_924(p) BOOST_PP_IIF(p(924), BOOST_PP_NODE_922, BOOST_PP_NODE_926) +# define BOOST_PP_NODE_922(p) BOOST_PP_IIF(p(922), BOOST_PP_NODE_921, BOOST_PP_NODE_923) +# define BOOST_PP_NODE_921(p) BOOST_PP_IIF(p(921), 921, 922) +# define BOOST_PP_NODE_923(p) BOOST_PP_IIF(p(923), 923, 924) +# define BOOST_PP_NODE_926(p) BOOST_PP_IIF(p(926), BOOST_PP_NODE_925, BOOST_PP_NODE_927) +# define BOOST_PP_NODE_925(p) BOOST_PP_IIF(p(925), 925, 926) +# define BOOST_PP_NODE_927(p) BOOST_PP_IIF(p(927), 927, 928) +# define BOOST_PP_NODE_944(p) BOOST_PP_IIF(p(944), BOOST_PP_NODE_936, BOOST_PP_NODE_952) +# define BOOST_PP_NODE_936(p) BOOST_PP_IIF(p(936), BOOST_PP_NODE_932, BOOST_PP_NODE_940) +# define BOOST_PP_NODE_932(p) BOOST_PP_IIF(p(932), BOOST_PP_NODE_930, BOOST_PP_NODE_934) +# define BOOST_PP_NODE_930(p) BOOST_PP_IIF(p(930), BOOST_PP_NODE_929, BOOST_PP_NODE_931) +# define BOOST_PP_NODE_929(p) BOOST_PP_IIF(p(929), 929, 930) +# define BOOST_PP_NODE_931(p) BOOST_PP_IIF(p(931), 931, 932) +# define BOOST_PP_NODE_934(p) BOOST_PP_IIF(p(934), BOOST_PP_NODE_933, BOOST_PP_NODE_935) +# define BOOST_PP_NODE_933(p) BOOST_PP_IIF(p(933), 933, 934) +# define BOOST_PP_NODE_935(p) BOOST_PP_IIF(p(935), 935, 936) +# define BOOST_PP_NODE_940(p) BOOST_PP_IIF(p(940), BOOST_PP_NODE_938, BOOST_PP_NODE_942) +# define BOOST_PP_NODE_938(p) BOOST_PP_IIF(p(938), BOOST_PP_NODE_937, BOOST_PP_NODE_939) +# define BOOST_PP_NODE_937(p) BOOST_PP_IIF(p(937), 937, 938) +# define BOOST_PP_NODE_939(p) BOOST_PP_IIF(p(939), 939, 940) +# define BOOST_PP_NODE_942(p) BOOST_PP_IIF(p(942), BOOST_PP_NODE_941, BOOST_PP_NODE_943) +# define BOOST_PP_NODE_941(p) BOOST_PP_IIF(p(941), 941, 942) +# define BOOST_PP_NODE_943(p) BOOST_PP_IIF(p(943), 943, 944) +# define BOOST_PP_NODE_952(p) BOOST_PP_IIF(p(952), BOOST_PP_NODE_948, BOOST_PP_NODE_956) +# define BOOST_PP_NODE_948(p) BOOST_PP_IIF(p(948), BOOST_PP_NODE_946, BOOST_PP_NODE_950) +# define BOOST_PP_NODE_946(p) BOOST_PP_IIF(p(946), BOOST_PP_NODE_945, BOOST_PP_NODE_947) +# define BOOST_PP_NODE_945(p) BOOST_PP_IIF(p(945), 945, 946) +# define BOOST_PP_NODE_947(p) BOOST_PP_IIF(p(947), 947, 948) +# define BOOST_PP_NODE_950(p) BOOST_PP_IIF(p(950), BOOST_PP_NODE_949, BOOST_PP_NODE_951) +# define BOOST_PP_NODE_949(p) BOOST_PP_IIF(p(949), 949, 950) +# define BOOST_PP_NODE_951(p) BOOST_PP_IIF(p(951), 951, 952) +# define BOOST_PP_NODE_956(p) BOOST_PP_IIF(p(956), BOOST_PP_NODE_954, BOOST_PP_NODE_958) +# define BOOST_PP_NODE_954(p) BOOST_PP_IIF(p(954), BOOST_PP_NODE_953, BOOST_PP_NODE_955) +# define BOOST_PP_NODE_953(p) BOOST_PP_IIF(p(953), 953, 954) +# define BOOST_PP_NODE_955(p) BOOST_PP_IIF(p(955), 955, 956) +# define BOOST_PP_NODE_958(p) BOOST_PP_IIF(p(958), BOOST_PP_NODE_957, BOOST_PP_NODE_959) +# define BOOST_PP_NODE_957(p) BOOST_PP_IIF(p(957), 957, 958) +# define BOOST_PP_NODE_959(p) BOOST_PP_IIF(p(959), 959, 960) +# define BOOST_PP_NODE_992(p) BOOST_PP_IIF(p(992), BOOST_PP_NODE_976, BOOST_PP_NODE_1008) +# define BOOST_PP_NODE_976(p) BOOST_PP_IIF(p(976), BOOST_PP_NODE_968, BOOST_PP_NODE_984) +# define BOOST_PP_NODE_968(p) BOOST_PP_IIF(p(968), BOOST_PP_NODE_964, BOOST_PP_NODE_972) +# define BOOST_PP_NODE_964(p) BOOST_PP_IIF(p(964), BOOST_PP_NODE_962, BOOST_PP_NODE_966) +# define BOOST_PP_NODE_962(p) BOOST_PP_IIF(p(962), BOOST_PP_NODE_961, BOOST_PP_NODE_963) +# define BOOST_PP_NODE_961(p) BOOST_PP_IIF(p(961), 961, 962) +# define BOOST_PP_NODE_963(p) BOOST_PP_IIF(p(963), 963, 964) +# define BOOST_PP_NODE_966(p) BOOST_PP_IIF(p(966), BOOST_PP_NODE_965, BOOST_PP_NODE_967) +# define BOOST_PP_NODE_965(p) BOOST_PP_IIF(p(965), 965, 966) +# define BOOST_PP_NODE_967(p) BOOST_PP_IIF(p(967), 967, 968) +# define BOOST_PP_NODE_972(p) BOOST_PP_IIF(p(972), BOOST_PP_NODE_970, BOOST_PP_NODE_974) +# define BOOST_PP_NODE_970(p) BOOST_PP_IIF(p(970), BOOST_PP_NODE_969, BOOST_PP_NODE_971) +# define BOOST_PP_NODE_969(p) BOOST_PP_IIF(p(969), 969, 970) +# define BOOST_PP_NODE_971(p) BOOST_PP_IIF(p(971), 971, 972) +# define BOOST_PP_NODE_974(p) BOOST_PP_IIF(p(974), BOOST_PP_NODE_973, BOOST_PP_NODE_975) +# define BOOST_PP_NODE_973(p) BOOST_PP_IIF(p(973), 973, 974) +# define BOOST_PP_NODE_975(p) BOOST_PP_IIF(p(975), 975, 976) +# define BOOST_PP_NODE_984(p) BOOST_PP_IIF(p(984), BOOST_PP_NODE_980, BOOST_PP_NODE_988) +# define BOOST_PP_NODE_980(p) BOOST_PP_IIF(p(980), BOOST_PP_NODE_978, BOOST_PP_NODE_982) +# define BOOST_PP_NODE_978(p) BOOST_PP_IIF(p(978), BOOST_PP_NODE_977, BOOST_PP_NODE_979) +# define BOOST_PP_NODE_977(p) BOOST_PP_IIF(p(977), 977, 978) +# define BOOST_PP_NODE_979(p) BOOST_PP_IIF(p(979), 979, 980) +# define BOOST_PP_NODE_982(p) BOOST_PP_IIF(p(982), BOOST_PP_NODE_981, BOOST_PP_NODE_983) +# define BOOST_PP_NODE_981(p) BOOST_PP_IIF(p(981), 981, 982) +# define BOOST_PP_NODE_983(p) BOOST_PP_IIF(p(983), 983, 984) +# define BOOST_PP_NODE_988(p) BOOST_PP_IIF(p(988), BOOST_PP_NODE_986, BOOST_PP_NODE_990) +# define BOOST_PP_NODE_986(p) BOOST_PP_IIF(p(986), BOOST_PP_NODE_985, BOOST_PP_NODE_987) +# define BOOST_PP_NODE_985(p) BOOST_PP_IIF(p(985), 985, 986) +# define BOOST_PP_NODE_987(p) BOOST_PP_IIF(p(987), 987, 988) +# define BOOST_PP_NODE_990(p) BOOST_PP_IIF(p(990), BOOST_PP_NODE_989, BOOST_PP_NODE_991) +# define BOOST_PP_NODE_989(p) BOOST_PP_IIF(p(989), 989, 990) +# define BOOST_PP_NODE_991(p) BOOST_PP_IIF(p(991), 991, 992) +# define BOOST_PP_NODE_1008(p) BOOST_PP_IIF(p(1008), BOOST_PP_NODE_1000, BOOST_PP_NODE_1016) +# define BOOST_PP_NODE_1000(p) BOOST_PP_IIF(p(1000), BOOST_PP_NODE_996, BOOST_PP_NODE_1004) +# define BOOST_PP_NODE_996(p) BOOST_PP_IIF(p(996), BOOST_PP_NODE_994, BOOST_PP_NODE_998) +# define BOOST_PP_NODE_994(p) BOOST_PP_IIF(p(994), BOOST_PP_NODE_993, BOOST_PP_NODE_995) +# define BOOST_PP_NODE_993(p) BOOST_PP_IIF(p(993), 993, 994) +# define BOOST_PP_NODE_995(p) BOOST_PP_IIF(p(995), 995, 996) +# define BOOST_PP_NODE_998(p) BOOST_PP_IIF(p(998), BOOST_PP_NODE_997, BOOST_PP_NODE_999) +# define BOOST_PP_NODE_997(p) BOOST_PP_IIF(p(997), 997, 998) +# define BOOST_PP_NODE_999(p) BOOST_PP_IIF(p(999), 999, 1000) +# define BOOST_PP_NODE_1004(p) BOOST_PP_IIF(p(1004), BOOST_PP_NODE_1002, BOOST_PP_NODE_1006) +# define BOOST_PP_NODE_1002(p) BOOST_PP_IIF(p(1002), BOOST_PP_NODE_1001, BOOST_PP_NODE_1003) +# define BOOST_PP_NODE_1001(p) BOOST_PP_IIF(p(1001), 1001, 1002) +# define BOOST_PP_NODE_1003(p) BOOST_PP_IIF(p(1003), 1003, 1004) +# define BOOST_PP_NODE_1006(p) BOOST_PP_IIF(p(1006), BOOST_PP_NODE_1005, BOOST_PP_NODE_1007) +# define BOOST_PP_NODE_1005(p) BOOST_PP_IIF(p(1005), 1005, 1006) +# define BOOST_PP_NODE_1007(p) BOOST_PP_IIF(p(1007), 1007, 1008) +# define BOOST_PP_NODE_1016(p) BOOST_PP_IIF(p(1016), BOOST_PP_NODE_1012, BOOST_PP_NODE_1020) +# define BOOST_PP_NODE_1012(p) BOOST_PP_IIF(p(1012), BOOST_PP_NODE_1010, BOOST_PP_NODE_1014) +# define BOOST_PP_NODE_1010(p) BOOST_PP_IIF(p(1010), BOOST_PP_NODE_1009, BOOST_PP_NODE_1011) +# define BOOST_PP_NODE_1009(p) BOOST_PP_IIF(p(1009), 1009, 1010) +# define BOOST_PP_NODE_1011(p) BOOST_PP_IIF(p(1011), 1011, 1012) +# define BOOST_PP_NODE_1014(p) BOOST_PP_IIF(p(1014), BOOST_PP_NODE_1013, BOOST_PP_NODE_1015) +# define BOOST_PP_NODE_1013(p) BOOST_PP_IIF(p(1013), 1013, 1014) +# define BOOST_PP_NODE_1015(p) BOOST_PP_IIF(p(1015), 1015, 1016) +# define BOOST_PP_NODE_1020(p) BOOST_PP_IIF(p(1020), BOOST_PP_NODE_1018, BOOST_PP_NODE_1022) +# define BOOST_PP_NODE_1018(p) BOOST_PP_IIF(p(1018), BOOST_PP_NODE_1017, BOOST_PP_NODE_1019) +# define BOOST_PP_NODE_1017(p) BOOST_PP_IIF(p(1017), 1017, 1018) +# define BOOST_PP_NODE_1019(p) BOOST_PP_IIF(p(1019), 1019, 1020) +# define BOOST_PP_NODE_1022(p) BOOST_PP_IIF(p(1022), BOOST_PP_NODE_1021, BOOST_PP_NODE_1023) +# define BOOST_PP_NODE_1021(p) BOOST_PP_IIF(p(1021), 1021, 1022) +# define BOOST_PP_NODE_1023(p) BOOST_PP_IIF(p(1023), 1023, 1024) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_256.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_256.hpp index 9d87758f3f..feb68e3441 100644 --- a/external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_256.hpp @@ -1,280 +1,280 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_256_HPP -# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_256_HPP -# -# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) -# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) -# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) -# -# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) -# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) -# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) -# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) -# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) -# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) -# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) -# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2) -# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4) -# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) -# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6) -# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8) -# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) -# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) -# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10) -# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12) -# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) -# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14) -# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16) -# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) -# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) -# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) -# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18) -# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20) -# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) -# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22) -# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24) -# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) -# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) -# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26) -# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28) -# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) -# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30) -# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32) -# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) -# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) -# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) -# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) -# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34) -# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36) -# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) -# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38) -# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40) -# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) -# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) -# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42) -# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44) -# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) -# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46) -# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48) -# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) -# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) -# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) -# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50) -# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52) -# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) -# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54) -# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56) -# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) -# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) -# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58) -# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60) -# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) -# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62) -# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64) -# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) -# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) -# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) -# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) -# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) -# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66) -# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68) -# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) -# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70) -# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72) -# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) -# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) -# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74) -# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76) -# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) -# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78) -# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80) -# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) -# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) -# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) -# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82) -# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84) -# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) -# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86) -# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88) -# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) -# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) -# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90) -# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92) -# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) -# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94) -# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96) -# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) -# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) -# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) -# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) -# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98) -# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100) -# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) -# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102) -# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104) -# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) -# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) -# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106) -# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108) -# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) -# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110) -# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112) -# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) -# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) -# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) -# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114) -# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116) -# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) -# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118) -# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120) -# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) -# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) -# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122) -# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124) -# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) -# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126) -# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128) -# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) -# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) -# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) -# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) -# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) -# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) -# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130) -# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132) -# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) -# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134) -# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136) -# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) -# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) -# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138) -# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140) -# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) -# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142) -# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144) -# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) -# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) -# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) -# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146) -# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148) -# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) -# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150) -# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152) -# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) -# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) -# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154) -# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156) -# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) -# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158) -# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160) -# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) -# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) -# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) -# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) -# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162) -# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164) -# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) -# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166) -# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168) -# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) -# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) -# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170) -# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172) -# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) -# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174) -# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176) -# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) -# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) -# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) -# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178) -# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180) -# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) -# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182) -# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184) -# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) -# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) -# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186) -# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188) -# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) -# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190) -# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192) -# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) -# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) -# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) -# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) -# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) -# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194) -# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196) -# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) -# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198) -# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200) -# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) -# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) -# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202) -# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204) -# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) -# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206) -# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208) -# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) -# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) -# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) -# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210) -# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212) -# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) -# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214) -# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216) -# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) -# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) -# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218) -# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220) -# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) -# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222) -# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224) -# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) -# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) -# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) -# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) -# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226) -# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228) -# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) -# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230) -# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232) -# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) -# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) -# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234) -# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236) -# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) -# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238) -# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240) -# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) -# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) -# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) -# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242) -# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244) -# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) -# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246) -# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248) -# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) -# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) -# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250) -# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252) -# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) -# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254) -# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_256_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_256_HPP +# +# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) +# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) +# +# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) +# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) +# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) +# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) +# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) +# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) +# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) +# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2) +# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4) +# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) +# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6) +# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8) +# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) +# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) +# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10) +# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12) +# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) +# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14) +# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16) +# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) +# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) +# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) +# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18) +# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20) +# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) +# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22) +# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24) +# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) +# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) +# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26) +# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28) +# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) +# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30) +# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32) +# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) +# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) +# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) +# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) +# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34) +# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36) +# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) +# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38) +# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40) +# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) +# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) +# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42) +# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44) +# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) +# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46) +# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48) +# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) +# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) +# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) +# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50) +# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52) +# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) +# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54) +# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56) +# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) +# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) +# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58) +# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60) +# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) +# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62) +# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64) +# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) +# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) +# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) +# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) +# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) +# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66) +# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68) +# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) +# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70) +# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72) +# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) +# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) +# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74) +# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76) +# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) +# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78) +# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80) +# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) +# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) +# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) +# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82) +# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84) +# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) +# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86) +# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88) +# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) +# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) +# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90) +# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92) +# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) +# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94) +# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96) +# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) +# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) +# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) +# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) +# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98) +# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100) +# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) +# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102) +# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104) +# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) +# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) +# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106) +# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108) +# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) +# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110) +# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112) +# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) +# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) +# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) +# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114) +# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116) +# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) +# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118) +# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120) +# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) +# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) +# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122) +# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124) +# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) +# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126) +# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128) +# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) +# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) +# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) +# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) +# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) +# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) +# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130) +# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132) +# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) +# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134) +# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136) +# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) +# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) +# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138) +# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140) +# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) +# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142) +# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144) +# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) +# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) +# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) +# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146) +# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148) +# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) +# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150) +# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152) +# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) +# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) +# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154) +# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156) +# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) +# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158) +# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160) +# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) +# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) +# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) +# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) +# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162) +# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164) +# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) +# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166) +# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168) +# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) +# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) +# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170) +# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172) +# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) +# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174) +# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176) +# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) +# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) +# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) +# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178) +# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180) +# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) +# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182) +# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184) +# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) +# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) +# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186) +# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188) +# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) +# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190) +# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192) +# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) +# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) +# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) +# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) +# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) +# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194) +# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196) +# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) +# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198) +# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200) +# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) +# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) +# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202) +# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204) +# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) +# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206) +# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208) +# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) +# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) +# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) +# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210) +# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212) +# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) +# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214) +# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216) +# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) +# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) +# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218) +# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220) +# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) +# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222) +# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224) +# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) +# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) +# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) +# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) +# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226) +# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228) +# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) +# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230) +# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232) +# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) +# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) +# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234) +# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236) +# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) +# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238) +# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240) +# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) +# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) +# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) +# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242) +# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244) +# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) +# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246) +# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248) +# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) +# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) +# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250) +# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252) +# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) +# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254) +# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_512.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_512.hpp index 722546159d..f3b4ddaa08 100644 --- a/external/include/boost_1_75/boost/preprocessor/detail/limits/auto_rec_512.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/detail/limits/auto_rec_512.hpp @@ -1,276 +1,276 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_512_HPP -# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_512_HPP -# -# define BOOST_PP_NODE_ENTRY_512(p) BOOST_PP_NODE_256(p)(p)(p)(p)(p)(p)(p)(p)(p) -# -# define BOOST_PP_NODE_256(p) BOOST_PP_IIF(p(256), BOOST_PP_NODE_128, BOOST_PP_NODE_384) -# define BOOST_PP_NODE_384(p) BOOST_PP_IIF(p(384), BOOST_PP_NODE_320, BOOST_PP_NODE_448) -# define BOOST_PP_NODE_320(p) BOOST_PP_IIF(p(320), BOOST_PP_NODE_288, BOOST_PP_NODE_352) -# define BOOST_PP_NODE_288(p) BOOST_PP_IIF(p(288), BOOST_PP_NODE_272, BOOST_PP_NODE_304) -# define BOOST_PP_NODE_272(p) BOOST_PP_IIF(p(272), BOOST_PP_NODE_264, BOOST_PP_NODE_280) -# define BOOST_PP_NODE_264(p) BOOST_PP_IIF(p(264), BOOST_PP_NODE_260, BOOST_PP_NODE_268) -# define BOOST_PP_NODE_260(p) BOOST_PP_IIF(p(260), BOOST_PP_NODE_258, BOOST_PP_NODE_262) -# define BOOST_PP_NODE_258(p) BOOST_PP_IIF(p(258), BOOST_PP_NODE_257, BOOST_PP_NODE_259) -# define BOOST_PP_NODE_257(p) BOOST_PP_IIF(p(257), 257, 258) -# define BOOST_PP_NODE_259(p) BOOST_PP_IIF(p(259), 259, 260) -# define BOOST_PP_NODE_262(p) BOOST_PP_IIF(p(262), BOOST_PP_NODE_261, BOOST_PP_NODE_263) -# define BOOST_PP_NODE_261(p) BOOST_PP_IIF(p(261), 261, 262) -# define BOOST_PP_NODE_263(p) BOOST_PP_IIF(p(263), 263, 264) -# define BOOST_PP_NODE_268(p) BOOST_PP_IIF(p(268), BOOST_PP_NODE_266, BOOST_PP_NODE_270) -# define BOOST_PP_NODE_266(p) BOOST_PP_IIF(p(266), BOOST_PP_NODE_265, BOOST_PP_NODE_267) -# define BOOST_PP_NODE_265(p) BOOST_PP_IIF(p(265), 265, 266) -# define BOOST_PP_NODE_267(p) BOOST_PP_IIF(p(267), 267, 268) -# define BOOST_PP_NODE_270(p) BOOST_PP_IIF(p(270), BOOST_PP_NODE_269, BOOST_PP_NODE_271) -# define BOOST_PP_NODE_269(p) BOOST_PP_IIF(p(269), 269, 270) -# define BOOST_PP_NODE_271(p) BOOST_PP_IIF(p(271), 271, 272) -# define BOOST_PP_NODE_280(p) BOOST_PP_IIF(p(280), BOOST_PP_NODE_276, BOOST_PP_NODE_284) -# define BOOST_PP_NODE_276(p) BOOST_PP_IIF(p(276), BOOST_PP_NODE_274, BOOST_PP_NODE_278) -# define BOOST_PP_NODE_274(p) BOOST_PP_IIF(p(274), BOOST_PP_NODE_273, BOOST_PP_NODE_275) -# define BOOST_PP_NODE_273(p) BOOST_PP_IIF(p(273), 273, 274) -# define BOOST_PP_NODE_275(p) BOOST_PP_IIF(p(275), 275, 276) -# define BOOST_PP_NODE_278(p) BOOST_PP_IIF(p(278), BOOST_PP_NODE_277, BOOST_PP_NODE_279) -# define BOOST_PP_NODE_277(p) BOOST_PP_IIF(p(277), 277, 278) -# define BOOST_PP_NODE_279(p) BOOST_PP_IIF(p(279), 279, 280) -# define BOOST_PP_NODE_284(p) BOOST_PP_IIF(p(284), BOOST_PP_NODE_282, BOOST_PP_NODE_286) -# define BOOST_PP_NODE_282(p) BOOST_PP_IIF(p(282), BOOST_PP_NODE_281, BOOST_PP_NODE_283) -# define BOOST_PP_NODE_281(p) BOOST_PP_IIF(p(281), 281, 282) -# define BOOST_PP_NODE_283(p) BOOST_PP_IIF(p(283), 283, 284) -# define BOOST_PP_NODE_286(p) BOOST_PP_IIF(p(286), BOOST_PP_NODE_285, BOOST_PP_NODE_287) -# define BOOST_PP_NODE_285(p) BOOST_PP_IIF(p(285), 285, 286) -# define BOOST_PP_NODE_287(p) BOOST_PP_IIF(p(287), 287, 288) -# define BOOST_PP_NODE_304(p) BOOST_PP_IIF(p(304), BOOST_PP_NODE_296, BOOST_PP_NODE_312) -# define BOOST_PP_NODE_296(p) BOOST_PP_IIF(p(296), BOOST_PP_NODE_292, BOOST_PP_NODE_300) -# define BOOST_PP_NODE_292(p) BOOST_PP_IIF(p(292), BOOST_PP_NODE_290, BOOST_PP_NODE_294) -# define BOOST_PP_NODE_290(p) BOOST_PP_IIF(p(290), BOOST_PP_NODE_289, BOOST_PP_NODE_291) -# define BOOST_PP_NODE_289(p) BOOST_PP_IIF(p(289), 289, 290) -# define BOOST_PP_NODE_291(p) BOOST_PP_IIF(p(291), 291, 292) -# define BOOST_PP_NODE_294(p) BOOST_PP_IIF(p(294), BOOST_PP_NODE_293, BOOST_PP_NODE_295) -# define BOOST_PP_NODE_293(p) BOOST_PP_IIF(p(293), 293, 294) -# define BOOST_PP_NODE_295(p) BOOST_PP_IIF(p(295), 295, 296) -# define BOOST_PP_NODE_300(p) BOOST_PP_IIF(p(300), BOOST_PP_NODE_298, BOOST_PP_NODE_302) -# define BOOST_PP_NODE_298(p) BOOST_PP_IIF(p(298), BOOST_PP_NODE_297, BOOST_PP_NODE_299) -# define BOOST_PP_NODE_297(p) BOOST_PP_IIF(p(297), 297, 298) -# define BOOST_PP_NODE_299(p) BOOST_PP_IIF(p(299), 299, 300) -# define BOOST_PP_NODE_302(p) BOOST_PP_IIF(p(302), BOOST_PP_NODE_301, BOOST_PP_NODE_303) -# define BOOST_PP_NODE_301(p) BOOST_PP_IIF(p(301), 301, 302) -# define BOOST_PP_NODE_303(p) BOOST_PP_IIF(p(303), 303, 304) -# define BOOST_PP_NODE_312(p) BOOST_PP_IIF(p(312), BOOST_PP_NODE_308, BOOST_PP_NODE_316) -# define BOOST_PP_NODE_308(p) BOOST_PP_IIF(p(308), BOOST_PP_NODE_306, BOOST_PP_NODE_310) -# define BOOST_PP_NODE_306(p) BOOST_PP_IIF(p(306), BOOST_PP_NODE_305, BOOST_PP_NODE_307) -# define BOOST_PP_NODE_305(p) BOOST_PP_IIF(p(305), 305, 306) -# define BOOST_PP_NODE_307(p) BOOST_PP_IIF(p(307), 307, 308) -# define BOOST_PP_NODE_310(p) BOOST_PP_IIF(p(310), BOOST_PP_NODE_309, BOOST_PP_NODE_311) -# define BOOST_PP_NODE_309(p) BOOST_PP_IIF(p(309), 309, 310) -# define BOOST_PP_NODE_311(p) BOOST_PP_IIF(p(311), 311, 312) -# define BOOST_PP_NODE_316(p) BOOST_PP_IIF(p(316), BOOST_PP_NODE_314, BOOST_PP_NODE_318) -# define BOOST_PP_NODE_314(p) BOOST_PP_IIF(p(314), BOOST_PP_NODE_313, BOOST_PP_NODE_315) -# define BOOST_PP_NODE_313(p) BOOST_PP_IIF(p(313), 313, 314) -# define BOOST_PP_NODE_315(p) BOOST_PP_IIF(p(315), 315, 316) -# define BOOST_PP_NODE_318(p) BOOST_PP_IIF(p(318), BOOST_PP_NODE_317, BOOST_PP_NODE_319) -# define BOOST_PP_NODE_317(p) BOOST_PP_IIF(p(317), 317, 318) -# define BOOST_PP_NODE_319(p) BOOST_PP_IIF(p(319), 319, 320) -# define BOOST_PP_NODE_352(p) BOOST_PP_IIF(p(352), BOOST_PP_NODE_336, BOOST_PP_NODE_368) -# define BOOST_PP_NODE_336(p) BOOST_PP_IIF(p(336), BOOST_PP_NODE_328, BOOST_PP_NODE_344) -# define BOOST_PP_NODE_328(p) BOOST_PP_IIF(p(328), BOOST_PP_NODE_324, BOOST_PP_NODE_332) -# define BOOST_PP_NODE_324(p) BOOST_PP_IIF(p(324), BOOST_PP_NODE_322, BOOST_PP_NODE_326) -# define BOOST_PP_NODE_322(p) BOOST_PP_IIF(p(322), BOOST_PP_NODE_321, BOOST_PP_NODE_323) -# define BOOST_PP_NODE_321(p) BOOST_PP_IIF(p(321), 321, 322) -# define BOOST_PP_NODE_323(p) BOOST_PP_IIF(p(323), 323, 324) -# define BOOST_PP_NODE_326(p) BOOST_PP_IIF(p(326), BOOST_PP_NODE_325, BOOST_PP_NODE_327) -# define BOOST_PP_NODE_325(p) BOOST_PP_IIF(p(325), 325, 326) -# define BOOST_PP_NODE_327(p) BOOST_PP_IIF(p(327), 327, 328) -# define BOOST_PP_NODE_332(p) BOOST_PP_IIF(p(332), BOOST_PP_NODE_330, BOOST_PP_NODE_334) -# define BOOST_PP_NODE_330(p) BOOST_PP_IIF(p(330), BOOST_PP_NODE_329, BOOST_PP_NODE_331) -# define BOOST_PP_NODE_329(p) BOOST_PP_IIF(p(329), 329, 330) -# define BOOST_PP_NODE_331(p) BOOST_PP_IIF(p(331), 331, 332) -# define BOOST_PP_NODE_334(p) BOOST_PP_IIF(p(334), BOOST_PP_NODE_333, BOOST_PP_NODE_335) -# define BOOST_PP_NODE_333(p) BOOST_PP_IIF(p(333), 333, 334) -# define BOOST_PP_NODE_335(p) BOOST_PP_IIF(p(335), 335, 336) -# define BOOST_PP_NODE_344(p) BOOST_PP_IIF(p(344), BOOST_PP_NODE_340, BOOST_PP_NODE_348) -# define BOOST_PP_NODE_340(p) BOOST_PP_IIF(p(340), BOOST_PP_NODE_338, BOOST_PP_NODE_342) -# define BOOST_PP_NODE_338(p) BOOST_PP_IIF(p(338), BOOST_PP_NODE_337, BOOST_PP_NODE_339) -# define BOOST_PP_NODE_337(p) BOOST_PP_IIF(p(337), 337, 338) -# define BOOST_PP_NODE_339(p) BOOST_PP_IIF(p(339), 339, 340) -# define BOOST_PP_NODE_342(p) BOOST_PP_IIF(p(342), BOOST_PP_NODE_341, BOOST_PP_NODE_343) -# define BOOST_PP_NODE_341(p) BOOST_PP_IIF(p(341), 341, 342) -# define BOOST_PP_NODE_343(p) BOOST_PP_IIF(p(343), 343, 344) -# define BOOST_PP_NODE_348(p) BOOST_PP_IIF(p(348), BOOST_PP_NODE_346, BOOST_PP_NODE_350) -# define BOOST_PP_NODE_346(p) BOOST_PP_IIF(p(346), BOOST_PP_NODE_345, BOOST_PP_NODE_347) -# define BOOST_PP_NODE_345(p) BOOST_PP_IIF(p(345), 345, 346) -# define BOOST_PP_NODE_347(p) BOOST_PP_IIF(p(347), 347, 348) -# define BOOST_PP_NODE_350(p) BOOST_PP_IIF(p(350), BOOST_PP_NODE_349, BOOST_PP_NODE_351) -# define BOOST_PP_NODE_349(p) BOOST_PP_IIF(p(349), 349, 350) -# define BOOST_PP_NODE_351(p) BOOST_PP_IIF(p(351), 351, 352) -# define BOOST_PP_NODE_368(p) BOOST_PP_IIF(p(368), BOOST_PP_NODE_360, BOOST_PP_NODE_376) -# define BOOST_PP_NODE_360(p) BOOST_PP_IIF(p(360), BOOST_PP_NODE_356, BOOST_PP_NODE_364) -# define BOOST_PP_NODE_356(p) BOOST_PP_IIF(p(356), BOOST_PP_NODE_354, BOOST_PP_NODE_358) -# define BOOST_PP_NODE_354(p) BOOST_PP_IIF(p(354), BOOST_PP_NODE_353, BOOST_PP_NODE_355) -# define BOOST_PP_NODE_353(p) BOOST_PP_IIF(p(353), 353, 354) -# define BOOST_PP_NODE_355(p) BOOST_PP_IIF(p(355), 355, 356) -# define BOOST_PP_NODE_358(p) BOOST_PP_IIF(p(358), BOOST_PP_NODE_357, BOOST_PP_NODE_359) -# define BOOST_PP_NODE_357(p) BOOST_PP_IIF(p(357), 357, 358) -# define BOOST_PP_NODE_359(p) BOOST_PP_IIF(p(359), 359, 360) -# define BOOST_PP_NODE_364(p) BOOST_PP_IIF(p(364), BOOST_PP_NODE_362, BOOST_PP_NODE_366) -# define BOOST_PP_NODE_362(p) BOOST_PP_IIF(p(362), BOOST_PP_NODE_361, BOOST_PP_NODE_363) -# define BOOST_PP_NODE_361(p) BOOST_PP_IIF(p(361), 361, 362) -# define BOOST_PP_NODE_363(p) BOOST_PP_IIF(p(363), 363, 364) -# define BOOST_PP_NODE_366(p) BOOST_PP_IIF(p(366), BOOST_PP_NODE_365, BOOST_PP_NODE_367) -# define BOOST_PP_NODE_365(p) BOOST_PP_IIF(p(365), 365, 366) -# define BOOST_PP_NODE_367(p) BOOST_PP_IIF(p(367), 367, 368) -# define BOOST_PP_NODE_376(p) BOOST_PP_IIF(p(376), BOOST_PP_NODE_372, BOOST_PP_NODE_380) -# define BOOST_PP_NODE_372(p) BOOST_PP_IIF(p(372), BOOST_PP_NODE_370, BOOST_PP_NODE_374) -# define BOOST_PP_NODE_370(p) BOOST_PP_IIF(p(370), BOOST_PP_NODE_369, BOOST_PP_NODE_371) -# define BOOST_PP_NODE_369(p) BOOST_PP_IIF(p(369), 369, 370) -# define BOOST_PP_NODE_371(p) BOOST_PP_IIF(p(371), 371, 372) -# define BOOST_PP_NODE_374(p) BOOST_PP_IIF(p(374), BOOST_PP_NODE_373, BOOST_PP_NODE_375) -# define BOOST_PP_NODE_373(p) BOOST_PP_IIF(p(373), 373, 374) -# define BOOST_PP_NODE_375(p) BOOST_PP_IIF(p(375), 375, 376) -# define BOOST_PP_NODE_380(p) BOOST_PP_IIF(p(380), BOOST_PP_NODE_378, BOOST_PP_NODE_382) -# define BOOST_PP_NODE_378(p) BOOST_PP_IIF(p(378), BOOST_PP_NODE_377, BOOST_PP_NODE_379) -# define BOOST_PP_NODE_377(p) BOOST_PP_IIF(p(377), 377, 378) -# define BOOST_PP_NODE_379(p) BOOST_PP_IIF(p(379), 379, 380) -# define BOOST_PP_NODE_382(p) BOOST_PP_IIF(p(382), BOOST_PP_NODE_381, BOOST_PP_NODE_383) -# define BOOST_PP_NODE_381(p) BOOST_PP_IIF(p(381), 381, 382) -# define BOOST_PP_NODE_383(p) BOOST_PP_IIF(p(383), 383, 384) -# define BOOST_PP_NODE_448(p) BOOST_PP_IIF(p(448), BOOST_PP_NODE_416, BOOST_PP_NODE_480) -# define BOOST_PP_NODE_416(p) BOOST_PP_IIF(p(416), BOOST_PP_NODE_400, BOOST_PP_NODE_432) -# define BOOST_PP_NODE_400(p) BOOST_PP_IIF(p(400), BOOST_PP_NODE_392, BOOST_PP_NODE_408) -# define BOOST_PP_NODE_392(p) BOOST_PP_IIF(p(392), BOOST_PP_NODE_388, BOOST_PP_NODE_396) -# define BOOST_PP_NODE_388(p) BOOST_PP_IIF(p(388), BOOST_PP_NODE_386, BOOST_PP_NODE_390) -# define BOOST_PP_NODE_386(p) BOOST_PP_IIF(p(386), BOOST_PP_NODE_385, BOOST_PP_NODE_387) -# define BOOST_PP_NODE_385(p) BOOST_PP_IIF(p(385), 385, 386) -# define BOOST_PP_NODE_387(p) BOOST_PP_IIF(p(387), 387, 388) -# define BOOST_PP_NODE_390(p) BOOST_PP_IIF(p(390), BOOST_PP_NODE_389, BOOST_PP_NODE_391) -# define BOOST_PP_NODE_389(p) BOOST_PP_IIF(p(389), 389, 390) -# define BOOST_PP_NODE_391(p) BOOST_PP_IIF(p(391), 391, 392) -# define BOOST_PP_NODE_396(p) BOOST_PP_IIF(p(396), BOOST_PP_NODE_394, BOOST_PP_NODE_398) -# define BOOST_PP_NODE_394(p) BOOST_PP_IIF(p(394), BOOST_PP_NODE_393, BOOST_PP_NODE_395) -# define BOOST_PP_NODE_393(p) BOOST_PP_IIF(p(393), 393, 394) -# define BOOST_PP_NODE_395(p) BOOST_PP_IIF(p(395), 395, 396) -# define BOOST_PP_NODE_398(p) BOOST_PP_IIF(p(398), BOOST_PP_NODE_397, BOOST_PP_NODE_399) -# define BOOST_PP_NODE_397(p) BOOST_PP_IIF(p(397), 397, 398) -# define BOOST_PP_NODE_399(p) BOOST_PP_IIF(p(399), 399, 400) -# define BOOST_PP_NODE_408(p) BOOST_PP_IIF(p(408), BOOST_PP_NODE_404, BOOST_PP_NODE_412) -# define BOOST_PP_NODE_404(p) BOOST_PP_IIF(p(404), BOOST_PP_NODE_402, BOOST_PP_NODE_406) -# define BOOST_PP_NODE_402(p) BOOST_PP_IIF(p(402), BOOST_PP_NODE_401, BOOST_PP_NODE_403) -# define BOOST_PP_NODE_401(p) BOOST_PP_IIF(p(401), 401, 402) -# define BOOST_PP_NODE_403(p) BOOST_PP_IIF(p(403), 403, 404) -# define BOOST_PP_NODE_406(p) BOOST_PP_IIF(p(406), BOOST_PP_NODE_405, BOOST_PP_NODE_407) -# define BOOST_PP_NODE_405(p) BOOST_PP_IIF(p(405), 405, 406) -# define BOOST_PP_NODE_407(p) BOOST_PP_IIF(p(407), 407, 408) -# define BOOST_PP_NODE_412(p) BOOST_PP_IIF(p(412), BOOST_PP_NODE_410, BOOST_PP_NODE_414) -# define BOOST_PP_NODE_410(p) BOOST_PP_IIF(p(410), BOOST_PP_NODE_409, BOOST_PP_NODE_411) -# define BOOST_PP_NODE_409(p) BOOST_PP_IIF(p(409), 409, 410) -# define BOOST_PP_NODE_411(p) BOOST_PP_IIF(p(411), 411, 412) -# define BOOST_PP_NODE_414(p) BOOST_PP_IIF(p(414), BOOST_PP_NODE_413, BOOST_PP_NODE_415) -# define BOOST_PP_NODE_413(p) BOOST_PP_IIF(p(413), 413, 414) -# define BOOST_PP_NODE_415(p) BOOST_PP_IIF(p(415), 415, 416) -# define BOOST_PP_NODE_432(p) BOOST_PP_IIF(p(432), BOOST_PP_NODE_424, BOOST_PP_NODE_440) -# define BOOST_PP_NODE_424(p) BOOST_PP_IIF(p(424), BOOST_PP_NODE_420, BOOST_PP_NODE_428) -# define BOOST_PP_NODE_420(p) BOOST_PP_IIF(p(420), BOOST_PP_NODE_418, BOOST_PP_NODE_422) -# define BOOST_PP_NODE_418(p) BOOST_PP_IIF(p(418), BOOST_PP_NODE_417, BOOST_PP_NODE_419) -# define BOOST_PP_NODE_417(p) BOOST_PP_IIF(p(417), 417, 418) -# define BOOST_PP_NODE_419(p) BOOST_PP_IIF(p(419), 419, 420) -# define BOOST_PP_NODE_422(p) BOOST_PP_IIF(p(422), BOOST_PP_NODE_421, BOOST_PP_NODE_423) -# define BOOST_PP_NODE_421(p) BOOST_PP_IIF(p(421), 421, 422) -# define BOOST_PP_NODE_423(p) BOOST_PP_IIF(p(423), 423, 424) -# define BOOST_PP_NODE_428(p) BOOST_PP_IIF(p(428), BOOST_PP_NODE_426, BOOST_PP_NODE_430) -# define BOOST_PP_NODE_426(p) BOOST_PP_IIF(p(426), BOOST_PP_NODE_425, BOOST_PP_NODE_427) -# define BOOST_PP_NODE_425(p) BOOST_PP_IIF(p(425), 425, 426) -# define BOOST_PP_NODE_427(p) BOOST_PP_IIF(p(427), 427, 428) -# define BOOST_PP_NODE_430(p) BOOST_PP_IIF(p(430), BOOST_PP_NODE_429, BOOST_PP_NODE_431) -# define BOOST_PP_NODE_429(p) BOOST_PP_IIF(p(429), 429, 430) -# define BOOST_PP_NODE_431(p) BOOST_PP_IIF(p(431), 431, 432) -# define BOOST_PP_NODE_440(p) BOOST_PP_IIF(p(440), BOOST_PP_NODE_436, BOOST_PP_NODE_444) -# define BOOST_PP_NODE_436(p) BOOST_PP_IIF(p(436), BOOST_PP_NODE_434, BOOST_PP_NODE_438) -# define BOOST_PP_NODE_434(p) BOOST_PP_IIF(p(434), BOOST_PP_NODE_433, BOOST_PP_NODE_435) -# define BOOST_PP_NODE_433(p) BOOST_PP_IIF(p(433), 433, 434) -# define BOOST_PP_NODE_435(p) BOOST_PP_IIF(p(435), 435, 436) -# define BOOST_PP_NODE_438(p) BOOST_PP_IIF(p(438), BOOST_PP_NODE_437, BOOST_PP_NODE_439) -# define BOOST_PP_NODE_437(p) BOOST_PP_IIF(p(437), 437, 438) -# define BOOST_PP_NODE_439(p) BOOST_PP_IIF(p(439), 439, 440) -# define BOOST_PP_NODE_444(p) BOOST_PP_IIF(p(444), BOOST_PP_NODE_442, BOOST_PP_NODE_446) -# define BOOST_PP_NODE_442(p) BOOST_PP_IIF(p(442), BOOST_PP_NODE_441, BOOST_PP_NODE_443) -# define BOOST_PP_NODE_441(p) BOOST_PP_IIF(p(441), 441, 442) -# define BOOST_PP_NODE_443(p) BOOST_PP_IIF(p(443), 443, 444) -# define BOOST_PP_NODE_446(p) BOOST_PP_IIF(p(446), BOOST_PP_NODE_445, BOOST_PP_NODE_447) -# define BOOST_PP_NODE_445(p) BOOST_PP_IIF(p(445), 445, 446) -# define BOOST_PP_NODE_447(p) BOOST_PP_IIF(p(447), 447, 448) -# define BOOST_PP_NODE_480(p) BOOST_PP_IIF(p(480), BOOST_PP_NODE_464, BOOST_PP_NODE_496) -# define BOOST_PP_NODE_464(p) BOOST_PP_IIF(p(464), BOOST_PP_NODE_456, BOOST_PP_NODE_472) -# define BOOST_PP_NODE_456(p) BOOST_PP_IIF(p(456), BOOST_PP_NODE_452, BOOST_PP_NODE_460) -# define BOOST_PP_NODE_452(p) BOOST_PP_IIF(p(452), BOOST_PP_NODE_450, BOOST_PP_NODE_454) -# define BOOST_PP_NODE_450(p) BOOST_PP_IIF(p(450), BOOST_PP_NODE_449, BOOST_PP_NODE_451) -# define BOOST_PP_NODE_449(p) BOOST_PP_IIF(p(449), 449, 450) -# define BOOST_PP_NODE_451(p) BOOST_PP_IIF(p(451), 451, 452) -# define BOOST_PP_NODE_454(p) BOOST_PP_IIF(p(454), BOOST_PP_NODE_453, BOOST_PP_NODE_455) -# define BOOST_PP_NODE_453(p) BOOST_PP_IIF(p(453), 453, 454) -# define BOOST_PP_NODE_455(p) BOOST_PP_IIF(p(455), 455, 456) -# define BOOST_PP_NODE_460(p) BOOST_PP_IIF(p(460), BOOST_PP_NODE_458, BOOST_PP_NODE_462) -# define BOOST_PP_NODE_458(p) BOOST_PP_IIF(p(458), BOOST_PP_NODE_457, BOOST_PP_NODE_459) -# define BOOST_PP_NODE_457(p) BOOST_PP_IIF(p(457), 457, 458) -# define BOOST_PP_NODE_459(p) BOOST_PP_IIF(p(459), 459, 460) -# define BOOST_PP_NODE_462(p) BOOST_PP_IIF(p(462), BOOST_PP_NODE_461, BOOST_PP_NODE_463) -# define BOOST_PP_NODE_461(p) BOOST_PP_IIF(p(461), 461, 462) -# define BOOST_PP_NODE_463(p) BOOST_PP_IIF(p(463), 463, 464) -# define BOOST_PP_NODE_472(p) BOOST_PP_IIF(p(472), BOOST_PP_NODE_468, BOOST_PP_NODE_476) -# define BOOST_PP_NODE_468(p) BOOST_PP_IIF(p(468), BOOST_PP_NODE_466, BOOST_PP_NODE_470) -# define BOOST_PP_NODE_466(p) BOOST_PP_IIF(p(466), BOOST_PP_NODE_465, BOOST_PP_NODE_467) -# define BOOST_PP_NODE_465(p) BOOST_PP_IIF(p(465), 465, 466) -# define BOOST_PP_NODE_467(p) BOOST_PP_IIF(p(467), 467, 468) -# define BOOST_PP_NODE_470(p) BOOST_PP_IIF(p(470), BOOST_PP_NODE_469, BOOST_PP_NODE_471) -# define BOOST_PP_NODE_469(p) BOOST_PP_IIF(p(469), 469, 470) -# define BOOST_PP_NODE_471(p) BOOST_PP_IIF(p(471), 471, 472) -# define BOOST_PP_NODE_476(p) BOOST_PP_IIF(p(476), BOOST_PP_NODE_474, BOOST_PP_NODE_478) -# define BOOST_PP_NODE_474(p) BOOST_PP_IIF(p(474), BOOST_PP_NODE_473, BOOST_PP_NODE_475) -# define BOOST_PP_NODE_473(p) BOOST_PP_IIF(p(473), 473, 474) -# define BOOST_PP_NODE_475(p) BOOST_PP_IIF(p(475), 475, 476) -# define BOOST_PP_NODE_478(p) BOOST_PP_IIF(p(478), BOOST_PP_NODE_477, BOOST_PP_NODE_479) -# define BOOST_PP_NODE_477(p) BOOST_PP_IIF(p(477), 477, 478) -# define BOOST_PP_NODE_479(p) BOOST_PP_IIF(p(479), 479, 480) -# define BOOST_PP_NODE_496(p) BOOST_PP_IIF(p(496), BOOST_PP_NODE_488, BOOST_PP_NODE_504) -# define BOOST_PP_NODE_488(p) BOOST_PP_IIF(p(488), BOOST_PP_NODE_484, BOOST_PP_NODE_492) -# define BOOST_PP_NODE_484(p) BOOST_PP_IIF(p(484), BOOST_PP_NODE_482, BOOST_PP_NODE_486) -# define BOOST_PP_NODE_482(p) BOOST_PP_IIF(p(482), BOOST_PP_NODE_481, BOOST_PP_NODE_483) -# define BOOST_PP_NODE_481(p) BOOST_PP_IIF(p(481), 481, 482) -# define BOOST_PP_NODE_483(p) BOOST_PP_IIF(p(483), 483, 484) -# define BOOST_PP_NODE_486(p) BOOST_PP_IIF(p(486), BOOST_PP_NODE_485, BOOST_PP_NODE_487) -# define BOOST_PP_NODE_485(p) BOOST_PP_IIF(p(485), 485, 486) -# define BOOST_PP_NODE_487(p) BOOST_PP_IIF(p(487), 487, 488) -# define BOOST_PP_NODE_492(p) BOOST_PP_IIF(p(492), BOOST_PP_NODE_490, BOOST_PP_NODE_494) -# define BOOST_PP_NODE_490(p) BOOST_PP_IIF(p(490), BOOST_PP_NODE_489, BOOST_PP_NODE_491) -# define BOOST_PP_NODE_489(p) BOOST_PP_IIF(p(489), 489, 490) -# define BOOST_PP_NODE_491(p) BOOST_PP_IIF(p(491), 491, 492) -# define BOOST_PP_NODE_494(p) BOOST_PP_IIF(p(494), BOOST_PP_NODE_493, BOOST_PP_NODE_495) -# define BOOST_PP_NODE_493(p) BOOST_PP_IIF(p(493), 493, 494) -# define BOOST_PP_NODE_495(p) BOOST_PP_IIF(p(495), 495, 496) -# define BOOST_PP_NODE_504(p) BOOST_PP_IIF(p(504), BOOST_PP_NODE_500, BOOST_PP_NODE_508) -# define BOOST_PP_NODE_500(p) BOOST_PP_IIF(p(500), BOOST_PP_NODE_498, BOOST_PP_NODE_502) -# define BOOST_PP_NODE_498(p) BOOST_PP_IIF(p(498), BOOST_PP_NODE_497, BOOST_PP_NODE_499) -# define BOOST_PP_NODE_497(p) BOOST_PP_IIF(p(497), 497, 498) -# define BOOST_PP_NODE_499(p) BOOST_PP_IIF(p(499), 499, 500) -# define BOOST_PP_NODE_502(p) BOOST_PP_IIF(p(502), BOOST_PP_NODE_501, BOOST_PP_NODE_503) -# define BOOST_PP_NODE_501(p) BOOST_PP_IIF(p(501), 501, 502) -# define BOOST_PP_NODE_503(p) BOOST_PP_IIF(p(503), 503, 504) -# define BOOST_PP_NODE_508(p) BOOST_PP_IIF(p(508), BOOST_PP_NODE_506, BOOST_PP_NODE_510) -# define BOOST_PP_NODE_506(p) BOOST_PP_IIF(p(506), BOOST_PP_NODE_505, BOOST_PP_NODE_507) -# define BOOST_PP_NODE_505(p) BOOST_PP_IIF(p(505), 505, 506) -# define BOOST_PP_NODE_507(p) BOOST_PP_IIF(p(507), 507, 508) -# define BOOST_PP_NODE_510(p) BOOST_PP_IIF(p(510), BOOST_PP_NODE_509, BOOST_PP_NODE_511) -# define BOOST_PP_NODE_509(p) BOOST_PP_IIF(p(509), 509, 510) -# define BOOST_PP_NODE_511(p) BOOST_PP_IIF(p(511), 511, 512) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_512_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_512_HPP +# +# define BOOST_PP_NODE_ENTRY_512(p) BOOST_PP_NODE_256(p)(p)(p)(p)(p)(p)(p)(p)(p) +# +# define BOOST_PP_NODE_256(p) BOOST_PP_IIF(p(256), BOOST_PP_NODE_128, BOOST_PP_NODE_384) +# define BOOST_PP_NODE_384(p) BOOST_PP_IIF(p(384), BOOST_PP_NODE_320, BOOST_PP_NODE_448) +# define BOOST_PP_NODE_320(p) BOOST_PP_IIF(p(320), BOOST_PP_NODE_288, BOOST_PP_NODE_352) +# define BOOST_PP_NODE_288(p) BOOST_PP_IIF(p(288), BOOST_PP_NODE_272, BOOST_PP_NODE_304) +# define BOOST_PP_NODE_272(p) BOOST_PP_IIF(p(272), BOOST_PP_NODE_264, BOOST_PP_NODE_280) +# define BOOST_PP_NODE_264(p) BOOST_PP_IIF(p(264), BOOST_PP_NODE_260, BOOST_PP_NODE_268) +# define BOOST_PP_NODE_260(p) BOOST_PP_IIF(p(260), BOOST_PP_NODE_258, BOOST_PP_NODE_262) +# define BOOST_PP_NODE_258(p) BOOST_PP_IIF(p(258), BOOST_PP_NODE_257, BOOST_PP_NODE_259) +# define BOOST_PP_NODE_257(p) BOOST_PP_IIF(p(257), 257, 258) +# define BOOST_PP_NODE_259(p) BOOST_PP_IIF(p(259), 259, 260) +# define BOOST_PP_NODE_262(p) BOOST_PP_IIF(p(262), BOOST_PP_NODE_261, BOOST_PP_NODE_263) +# define BOOST_PP_NODE_261(p) BOOST_PP_IIF(p(261), 261, 262) +# define BOOST_PP_NODE_263(p) BOOST_PP_IIF(p(263), 263, 264) +# define BOOST_PP_NODE_268(p) BOOST_PP_IIF(p(268), BOOST_PP_NODE_266, BOOST_PP_NODE_270) +# define BOOST_PP_NODE_266(p) BOOST_PP_IIF(p(266), BOOST_PP_NODE_265, BOOST_PP_NODE_267) +# define BOOST_PP_NODE_265(p) BOOST_PP_IIF(p(265), 265, 266) +# define BOOST_PP_NODE_267(p) BOOST_PP_IIF(p(267), 267, 268) +# define BOOST_PP_NODE_270(p) BOOST_PP_IIF(p(270), BOOST_PP_NODE_269, BOOST_PP_NODE_271) +# define BOOST_PP_NODE_269(p) BOOST_PP_IIF(p(269), 269, 270) +# define BOOST_PP_NODE_271(p) BOOST_PP_IIF(p(271), 271, 272) +# define BOOST_PP_NODE_280(p) BOOST_PP_IIF(p(280), BOOST_PP_NODE_276, BOOST_PP_NODE_284) +# define BOOST_PP_NODE_276(p) BOOST_PP_IIF(p(276), BOOST_PP_NODE_274, BOOST_PP_NODE_278) +# define BOOST_PP_NODE_274(p) BOOST_PP_IIF(p(274), BOOST_PP_NODE_273, BOOST_PP_NODE_275) +# define BOOST_PP_NODE_273(p) BOOST_PP_IIF(p(273), 273, 274) +# define BOOST_PP_NODE_275(p) BOOST_PP_IIF(p(275), 275, 276) +# define BOOST_PP_NODE_278(p) BOOST_PP_IIF(p(278), BOOST_PP_NODE_277, BOOST_PP_NODE_279) +# define BOOST_PP_NODE_277(p) BOOST_PP_IIF(p(277), 277, 278) +# define BOOST_PP_NODE_279(p) BOOST_PP_IIF(p(279), 279, 280) +# define BOOST_PP_NODE_284(p) BOOST_PP_IIF(p(284), BOOST_PP_NODE_282, BOOST_PP_NODE_286) +# define BOOST_PP_NODE_282(p) BOOST_PP_IIF(p(282), BOOST_PP_NODE_281, BOOST_PP_NODE_283) +# define BOOST_PP_NODE_281(p) BOOST_PP_IIF(p(281), 281, 282) +# define BOOST_PP_NODE_283(p) BOOST_PP_IIF(p(283), 283, 284) +# define BOOST_PP_NODE_286(p) BOOST_PP_IIF(p(286), BOOST_PP_NODE_285, BOOST_PP_NODE_287) +# define BOOST_PP_NODE_285(p) BOOST_PP_IIF(p(285), 285, 286) +# define BOOST_PP_NODE_287(p) BOOST_PP_IIF(p(287), 287, 288) +# define BOOST_PP_NODE_304(p) BOOST_PP_IIF(p(304), BOOST_PP_NODE_296, BOOST_PP_NODE_312) +# define BOOST_PP_NODE_296(p) BOOST_PP_IIF(p(296), BOOST_PP_NODE_292, BOOST_PP_NODE_300) +# define BOOST_PP_NODE_292(p) BOOST_PP_IIF(p(292), BOOST_PP_NODE_290, BOOST_PP_NODE_294) +# define BOOST_PP_NODE_290(p) BOOST_PP_IIF(p(290), BOOST_PP_NODE_289, BOOST_PP_NODE_291) +# define BOOST_PP_NODE_289(p) BOOST_PP_IIF(p(289), 289, 290) +# define BOOST_PP_NODE_291(p) BOOST_PP_IIF(p(291), 291, 292) +# define BOOST_PP_NODE_294(p) BOOST_PP_IIF(p(294), BOOST_PP_NODE_293, BOOST_PP_NODE_295) +# define BOOST_PP_NODE_293(p) BOOST_PP_IIF(p(293), 293, 294) +# define BOOST_PP_NODE_295(p) BOOST_PP_IIF(p(295), 295, 296) +# define BOOST_PP_NODE_300(p) BOOST_PP_IIF(p(300), BOOST_PP_NODE_298, BOOST_PP_NODE_302) +# define BOOST_PP_NODE_298(p) BOOST_PP_IIF(p(298), BOOST_PP_NODE_297, BOOST_PP_NODE_299) +# define BOOST_PP_NODE_297(p) BOOST_PP_IIF(p(297), 297, 298) +# define BOOST_PP_NODE_299(p) BOOST_PP_IIF(p(299), 299, 300) +# define BOOST_PP_NODE_302(p) BOOST_PP_IIF(p(302), BOOST_PP_NODE_301, BOOST_PP_NODE_303) +# define BOOST_PP_NODE_301(p) BOOST_PP_IIF(p(301), 301, 302) +# define BOOST_PP_NODE_303(p) BOOST_PP_IIF(p(303), 303, 304) +# define BOOST_PP_NODE_312(p) BOOST_PP_IIF(p(312), BOOST_PP_NODE_308, BOOST_PP_NODE_316) +# define BOOST_PP_NODE_308(p) BOOST_PP_IIF(p(308), BOOST_PP_NODE_306, BOOST_PP_NODE_310) +# define BOOST_PP_NODE_306(p) BOOST_PP_IIF(p(306), BOOST_PP_NODE_305, BOOST_PP_NODE_307) +# define BOOST_PP_NODE_305(p) BOOST_PP_IIF(p(305), 305, 306) +# define BOOST_PP_NODE_307(p) BOOST_PP_IIF(p(307), 307, 308) +# define BOOST_PP_NODE_310(p) BOOST_PP_IIF(p(310), BOOST_PP_NODE_309, BOOST_PP_NODE_311) +# define BOOST_PP_NODE_309(p) BOOST_PP_IIF(p(309), 309, 310) +# define BOOST_PP_NODE_311(p) BOOST_PP_IIF(p(311), 311, 312) +# define BOOST_PP_NODE_316(p) BOOST_PP_IIF(p(316), BOOST_PP_NODE_314, BOOST_PP_NODE_318) +# define BOOST_PP_NODE_314(p) BOOST_PP_IIF(p(314), BOOST_PP_NODE_313, BOOST_PP_NODE_315) +# define BOOST_PP_NODE_313(p) BOOST_PP_IIF(p(313), 313, 314) +# define BOOST_PP_NODE_315(p) BOOST_PP_IIF(p(315), 315, 316) +# define BOOST_PP_NODE_318(p) BOOST_PP_IIF(p(318), BOOST_PP_NODE_317, BOOST_PP_NODE_319) +# define BOOST_PP_NODE_317(p) BOOST_PP_IIF(p(317), 317, 318) +# define BOOST_PP_NODE_319(p) BOOST_PP_IIF(p(319), 319, 320) +# define BOOST_PP_NODE_352(p) BOOST_PP_IIF(p(352), BOOST_PP_NODE_336, BOOST_PP_NODE_368) +# define BOOST_PP_NODE_336(p) BOOST_PP_IIF(p(336), BOOST_PP_NODE_328, BOOST_PP_NODE_344) +# define BOOST_PP_NODE_328(p) BOOST_PP_IIF(p(328), BOOST_PP_NODE_324, BOOST_PP_NODE_332) +# define BOOST_PP_NODE_324(p) BOOST_PP_IIF(p(324), BOOST_PP_NODE_322, BOOST_PP_NODE_326) +# define BOOST_PP_NODE_322(p) BOOST_PP_IIF(p(322), BOOST_PP_NODE_321, BOOST_PP_NODE_323) +# define BOOST_PP_NODE_321(p) BOOST_PP_IIF(p(321), 321, 322) +# define BOOST_PP_NODE_323(p) BOOST_PP_IIF(p(323), 323, 324) +# define BOOST_PP_NODE_326(p) BOOST_PP_IIF(p(326), BOOST_PP_NODE_325, BOOST_PP_NODE_327) +# define BOOST_PP_NODE_325(p) BOOST_PP_IIF(p(325), 325, 326) +# define BOOST_PP_NODE_327(p) BOOST_PP_IIF(p(327), 327, 328) +# define BOOST_PP_NODE_332(p) BOOST_PP_IIF(p(332), BOOST_PP_NODE_330, BOOST_PP_NODE_334) +# define BOOST_PP_NODE_330(p) BOOST_PP_IIF(p(330), BOOST_PP_NODE_329, BOOST_PP_NODE_331) +# define BOOST_PP_NODE_329(p) BOOST_PP_IIF(p(329), 329, 330) +# define BOOST_PP_NODE_331(p) BOOST_PP_IIF(p(331), 331, 332) +# define BOOST_PP_NODE_334(p) BOOST_PP_IIF(p(334), BOOST_PP_NODE_333, BOOST_PP_NODE_335) +# define BOOST_PP_NODE_333(p) BOOST_PP_IIF(p(333), 333, 334) +# define BOOST_PP_NODE_335(p) BOOST_PP_IIF(p(335), 335, 336) +# define BOOST_PP_NODE_344(p) BOOST_PP_IIF(p(344), BOOST_PP_NODE_340, BOOST_PP_NODE_348) +# define BOOST_PP_NODE_340(p) BOOST_PP_IIF(p(340), BOOST_PP_NODE_338, BOOST_PP_NODE_342) +# define BOOST_PP_NODE_338(p) BOOST_PP_IIF(p(338), BOOST_PP_NODE_337, BOOST_PP_NODE_339) +# define BOOST_PP_NODE_337(p) BOOST_PP_IIF(p(337), 337, 338) +# define BOOST_PP_NODE_339(p) BOOST_PP_IIF(p(339), 339, 340) +# define BOOST_PP_NODE_342(p) BOOST_PP_IIF(p(342), BOOST_PP_NODE_341, BOOST_PP_NODE_343) +# define BOOST_PP_NODE_341(p) BOOST_PP_IIF(p(341), 341, 342) +# define BOOST_PP_NODE_343(p) BOOST_PP_IIF(p(343), 343, 344) +# define BOOST_PP_NODE_348(p) BOOST_PP_IIF(p(348), BOOST_PP_NODE_346, BOOST_PP_NODE_350) +# define BOOST_PP_NODE_346(p) BOOST_PP_IIF(p(346), BOOST_PP_NODE_345, BOOST_PP_NODE_347) +# define BOOST_PP_NODE_345(p) BOOST_PP_IIF(p(345), 345, 346) +# define BOOST_PP_NODE_347(p) BOOST_PP_IIF(p(347), 347, 348) +# define BOOST_PP_NODE_350(p) BOOST_PP_IIF(p(350), BOOST_PP_NODE_349, BOOST_PP_NODE_351) +# define BOOST_PP_NODE_349(p) BOOST_PP_IIF(p(349), 349, 350) +# define BOOST_PP_NODE_351(p) BOOST_PP_IIF(p(351), 351, 352) +# define BOOST_PP_NODE_368(p) BOOST_PP_IIF(p(368), BOOST_PP_NODE_360, BOOST_PP_NODE_376) +# define BOOST_PP_NODE_360(p) BOOST_PP_IIF(p(360), BOOST_PP_NODE_356, BOOST_PP_NODE_364) +# define BOOST_PP_NODE_356(p) BOOST_PP_IIF(p(356), BOOST_PP_NODE_354, BOOST_PP_NODE_358) +# define BOOST_PP_NODE_354(p) BOOST_PP_IIF(p(354), BOOST_PP_NODE_353, BOOST_PP_NODE_355) +# define BOOST_PP_NODE_353(p) BOOST_PP_IIF(p(353), 353, 354) +# define BOOST_PP_NODE_355(p) BOOST_PP_IIF(p(355), 355, 356) +# define BOOST_PP_NODE_358(p) BOOST_PP_IIF(p(358), BOOST_PP_NODE_357, BOOST_PP_NODE_359) +# define BOOST_PP_NODE_357(p) BOOST_PP_IIF(p(357), 357, 358) +# define BOOST_PP_NODE_359(p) BOOST_PP_IIF(p(359), 359, 360) +# define BOOST_PP_NODE_364(p) BOOST_PP_IIF(p(364), BOOST_PP_NODE_362, BOOST_PP_NODE_366) +# define BOOST_PP_NODE_362(p) BOOST_PP_IIF(p(362), BOOST_PP_NODE_361, BOOST_PP_NODE_363) +# define BOOST_PP_NODE_361(p) BOOST_PP_IIF(p(361), 361, 362) +# define BOOST_PP_NODE_363(p) BOOST_PP_IIF(p(363), 363, 364) +# define BOOST_PP_NODE_366(p) BOOST_PP_IIF(p(366), BOOST_PP_NODE_365, BOOST_PP_NODE_367) +# define BOOST_PP_NODE_365(p) BOOST_PP_IIF(p(365), 365, 366) +# define BOOST_PP_NODE_367(p) BOOST_PP_IIF(p(367), 367, 368) +# define BOOST_PP_NODE_376(p) BOOST_PP_IIF(p(376), BOOST_PP_NODE_372, BOOST_PP_NODE_380) +# define BOOST_PP_NODE_372(p) BOOST_PP_IIF(p(372), BOOST_PP_NODE_370, BOOST_PP_NODE_374) +# define BOOST_PP_NODE_370(p) BOOST_PP_IIF(p(370), BOOST_PP_NODE_369, BOOST_PP_NODE_371) +# define BOOST_PP_NODE_369(p) BOOST_PP_IIF(p(369), 369, 370) +# define BOOST_PP_NODE_371(p) BOOST_PP_IIF(p(371), 371, 372) +# define BOOST_PP_NODE_374(p) BOOST_PP_IIF(p(374), BOOST_PP_NODE_373, BOOST_PP_NODE_375) +# define BOOST_PP_NODE_373(p) BOOST_PP_IIF(p(373), 373, 374) +# define BOOST_PP_NODE_375(p) BOOST_PP_IIF(p(375), 375, 376) +# define BOOST_PP_NODE_380(p) BOOST_PP_IIF(p(380), BOOST_PP_NODE_378, BOOST_PP_NODE_382) +# define BOOST_PP_NODE_378(p) BOOST_PP_IIF(p(378), BOOST_PP_NODE_377, BOOST_PP_NODE_379) +# define BOOST_PP_NODE_377(p) BOOST_PP_IIF(p(377), 377, 378) +# define BOOST_PP_NODE_379(p) BOOST_PP_IIF(p(379), 379, 380) +# define BOOST_PP_NODE_382(p) BOOST_PP_IIF(p(382), BOOST_PP_NODE_381, BOOST_PP_NODE_383) +# define BOOST_PP_NODE_381(p) BOOST_PP_IIF(p(381), 381, 382) +# define BOOST_PP_NODE_383(p) BOOST_PP_IIF(p(383), 383, 384) +# define BOOST_PP_NODE_448(p) BOOST_PP_IIF(p(448), BOOST_PP_NODE_416, BOOST_PP_NODE_480) +# define BOOST_PP_NODE_416(p) BOOST_PP_IIF(p(416), BOOST_PP_NODE_400, BOOST_PP_NODE_432) +# define BOOST_PP_NODE_400(p) BOOST_PP_IIF(p(400), BOOST_PP_NODE_392, BOOST_PP_NODE_408) +# define BOOST_PP_NODE_392(p) BOOST_PP_IIF(p(392), BOOST_PP_NODE_388, BOOST_PP_NODE_396) +# define BOOST_PP_NODE_388(p) BOOST_PP_IIF(p(388), BOOST_PP_NODE_386, BOOST_PP_NODE_390) +# define BOOST_PP_NODE_386(p) BOOST_PP_IIF(p(386), BOOST_PP_NODE_385, BOOST_PP_NODE_387) +# define BOOST_PP_NODE_385(p) BOOST_PP_IIF(p(385), 385, 386) +# define BOOST_PP_NODE_387(p) BOOST_PP_IIF(p(387), 387, 388) +# define BOOST_PP_NODE_390(p) BOOST_PP_IIF(p(390), BOOST_PP_NODE_389, BOOST_PP_NODE_391) +# define BOOST_PP_NODE_389(p) BOOST_PP_IIF(p(389), 389, 390) +# define BOOST_PP_NODE_391(p) BOOST_PP_IIF(p(391), 391, 392) +# define BOOST_PP_NODE_396(p) BOOST_PP_IIF(p(396), BOOST_PP_NODE_394, BOOST_PP_NODE_398) +# define BOOST_PP_NODE_394(p) BOOST_PP_IIF(p(394), BOOST_PP_NODE_393, BOOST_PP_NODE_395) +# define BOOST_PP_NODE_393(p) BOOST_PP_IIF(p(393), 393, 394) +# define BOOST_PP_NODE_395(p) BOOST_PP_IIF(p(395), 395, 396) +# define BOOST_PP_NODE_398(p) BOOST_PP_IIF(p(398), BOOST_PP_NODE_397, BOOST_PP_NODE_399) +# define BOOST_PP_NODE_397(p) BOOST_PP_IIF(p(397), 397, 398) +# define BOOST_PP_NODE_399(p) BOOST_PP_IIF(p(399), 399, 400) +# define BOOST_PP_NODE_408(p) BOOST_PP_IIF(p(408), BOOST_PP_NODE_404, BOOST_PP_NODE_412) +# define BOOST_PP_NODE_404(p) BOOST_PP_IIF(p(404), BOOST_PP_NODE_402, BOOST_PP_NODE_406) +# define BOOST_PP_NODE_402(p) BOOST_PP_IIF(p(402), BOOST_PP_NODE_401, BOOST_PP_NODE_403) +# define BOOST_PP_NODE_401(p) BOOST_PP_IIF(p(401), 401, 402) +# define BOOST_PP_NODE_403(p) BOOST_PP_IIF(p(403), 403, 404) +# define BOOST_PP_NODE_406(p) BOOST_PP_IIF(p(406), BOOST_PP_NODE_405, BOOST_PP_NODE_407) +# define BOOST_PP_NODE_405(p) BOOST_PP_IIF(p(405), 405, 406) +# define BOOST_PP_NODE_407(p) BOOST_PP_IIF(p(407), 407, 408) +# define BOOST_PP_NODE_412(p) BOOST_PP_IIF(p(412), BOOST_PP_NODE_410, BOOST_PP_NODE_414) +# define BOOST_PP_NODE_410(p) BOOST_PP_IIF(p(410), BOOST_PP_NODE_409, BOOST_PP_NODE_411) +# define BOOST_PP_NODE_409(p) BOOST_PP_IIF(p(409), 409, 410) +# define BOOST_PP_NODE_411(p) BOOST_PP_IIF(p(411), 411, 412) +# define BOOST_PP_NODE_414(p) BOOST_PP_IIF(p(414), BOOST_PP_NODE_413, BOOST_PP_NODE_415) +# define BOOST_PP_NODE_413(p) BOOST_PP_IIF(p(413), 413, 414) +# define BOOST_PP_NODE_415(p) BOOST_PP_IIF(p(415), 415, 416) +# define BOOST_PP_NODE_432(p) BOOST_PP_IIF(p(432), BOOST_PP_NODE_424, BOOST_PP_NODE_440) +# define BOOST_PP_NODE_424(p) BOOST_PP_IIF(p(424), BOOST_PP_NODE_420, BOOST_PP_NODE_428) +# define BOOST_PP_NODE_420(p) BOOST_PP_IIF(p(420), BOOST_PP_NODE_418, BOOST_PP_NODE_422) +# define BOOST_PP_NODE_418(p) BOOST_PP_IIF(p(418), BOOST_PP_NODE_417, BOOST_PP_NODE_419) +# define BOOST_PP_NODE_417(p) BOOST_PP_IIF(p(417), 417, 418) +# define BOOST_PP_NODE_419(p) BOOST_PP_IIF(p(419), 419, 420) +# define BOOST_PP_NODE_422(p) BOOST_PP_IIF(p(422), BOOST_PP_NODE_421, BOOST_PP_NODE_423) +# define BOOST_PP_NODE_421(p) BOOST_PP_IIF(p(421), 421, 422) +# define BOOST_PP_NODE_423(p) BOOST_PP_IIF(p(423), 423, 424) +# define BOOST_PP_NODE_428(p) BOOST_PP_IIF(p(428), BOOST_PP_NODE_426, BOOST_PP_NODE_430) +# define BOOST_PP_NODE_426(p) BOOST_PP_IIF(p(426), BOOST_PP_NODE_425, BOOST_PP_NODE_427) +# define BOOST_PP_NODE_425(p) BOOST_PP_IIF(p(425), 425, 426) +# define BOOST_PP_NODE_427(p) BOOST_PP_IIF(p(427), 427, 428) +# define BOOST_PP_NODE_430(p) BOOST_PP_IIF(p(430), BOOST_PP_NODE_429, BOOST_PP_NODE_431) +# define BOOST_PP_NODE_429(p) BOOST_PP_IIF(p(429), 429, 430) +# define BOOST_PP_NODE_431(p) BOOST_PP_IIF(p(431), 431, 432) +# define BOOST_PP_NODE_440(p) BOOST_PP_IIF(p(440), BOOST_PP_NODE_436, BOOST_PP_NODE_444) +# define BOOST_PP_NODE_436(p) BOOST_PP_IIF(p(436), BOOST_PP_NODE_434, BOOST_PP_NODE_438) +# define BOOST_PP_NODE_434(p) BOOST_PP_IIF(p(434), BOOST_PP_NODE_433, BOOST_PP_NODE_435) +# define BOOST_PP_NODE_433(p) BOOST_PP_IIF(p(433), 433, 434) +# define BOOST_PP_NODE_435(p) BOOST_PP_IIF(p(435), 435, 436) +# define BOOST_PP_NODE_438(p) BOOST_PP_IIF(p(438), BOOST_PP_NODE_437, BOOST_PP_NODE_439) +# define BOOST_PP_NODE_437(p) BOOST_PP_IIF(p(437), 437, 438) +# define BOOST_PP_NODE_439(p) BOOST_PP_IIF(p(439), 439, 440) +# define BOOST_PP_NODE_444(p) BOOST_PP_IIF(p(444), BOOST_PP_NODE_442, BOOST_PP_NODE_446) +# define BOOST_PP_NODE_442(p) BOOST_PP_IIF(p(442), BOOST_PP_NODE_441, BOOST_PP_NODE_443) +# define BOOST_PP_NODE_441(p) BOOST_PP_IIF(p(441), 441, 442) +# define BOOST_PP_NODE_443(p) BOOST_PP_IIF(p(443), 443, 444) +# define BOOST_PP_NODE_446(p) BOOST_PP_IIF(p(446), BOOST_PP_NODE_445, BOOST_PP_NODE_447) +# define BOOST_PP_NODE_445(p) BOOST_PP_IIF(p(445), 445, 446) +# define BOOST_PP_NODE_447(p) BOOST_PP_IIF(p(447), 447, 448) +# define BOOST_PP_NODE_480(p) BOOST_PP_IIF(p(480), BOOST_PP_NODE_464, BOOST_PP_NODE_496) +# define BOOST_PP_NODE_464(p) BOOST_PP_IIF(p(464), BOOST_PP_NODE_456, BOOST_PP_NODE_472) +# define BOOST_PP_NODE_456(p) BOOST_PP_IIF(p(456), BOOST_PP_NODE_452, BOOST_PP_NODE_460) +# define BOOST_PP_NODE_452(p) BOOST_PP_IIF(p(452), BOOST_PP_NODE_450, BOOST_PP_NODE_454) +# define BOOST_PP_NODE_450(p) BOOST_PP_IIF(p(450), BOOST_PP_NODE_449, BOOST_PP_NODE_451) +# define BOOST_PP_NODE_449(p) BOOST_PP_IIF(p(449), 449, 450) +# define BOOST_PP_NODE_451(p) BOOST_PP_IIF(p(451), 451, 452) +# define BOOST_PP_NODE_454(p) BOOST_PP_IIF(p(454), BOOST_PP_NODE_453, BOOST_PP_NODE_455) +# define BOOST_PP_NODE_453(p) BOOST_PP_IIF(p(453), 453, 454) +# define BOOST_PP_NODE_455(p) BOOST_PP_IIF(p(455), 455, 456) +# define BOOST_PP_NODE_460(p) BOOST_PP_IIF(p(460), BOOST_PP_NODE_458, BOOST_PP_NODE_462) +# define BOOST_PP_NODE_458(p) BOOST_PP_IIF(p(458), BOOST_PP_NODE_457, BOOST_PP_NODE_459) +# define BOOST_PP_NODE_457(p) BOOST_PP_IIF(p(457), 457, 458) +# define BOOST_PP_NODE_459(p) BOOST_PP_IIF(p(459), 459, 460) +# define BOOST_PP_NODE_462(p) BOOST_PP_IIF(p(462), BOOST_PP_NODE_461, BOOST_PP_NODE_463) +# define BOOST_PP_NODE_461(p) BOOST_PP_IIF(p(461), 461, 462) +# define BOOST_PP_NODE_463(p) BOOST_PP_IIF(p(463), 463, 464) +# define BOOST_PP_NODE_472(p) BOOST_PP_IIF(p(472), BOOST_PP_NODE_468, BOOST_PP_NODE_476) +# define BOOST_PP_NODE_468(p) BOOST_PP_IIF(p(468), BOOST_PP_NODE_466, BOOST_PP_NODE_470) +# define BOOST_PP_NODE_466(p) BOOST_PP_IIF(p(466), BOOST_PP_NODE_465, BOOST_PP_NODE_467) +# define BOOST_PP_NODE_465(p) BOOST_PP_IIF(p(465), 465, 466) +# define BOOST_PP_NODE_467(p) BOOST_PP_IIF(p(467), 467, 468) +# define BOOST_PP_NODE_470(p) BOOST_PP_IIF(p(470), BOOST_PP_NODE_469, BOOST_PP_NODE_471) +# define BOOST_PP_NODE_469(p) BOOST_PP_IIF(p(469), 469, 470) +# define BOOST_PP_NODE_471(p) BOOST_PP_IIF(p(471), 471, 472) +# define BOOST_PP_NODE_476(p) BOOST_PP_IIF(p(476), BOOST_PP_NODE_474, BOOST_PP_NODE_478) +# define BOOST_PP_NODE_474(p) BOOST_PP_IIF(p(474), BOOST_PP_NODE_473, BOOST_PP_NODE_475) +# define BOOST_PP_NODE_473(p) BOOST_PP_IIF(p(473), 473, 474) +# define BOOST_PP_NODE_475(p) BOOST_PP_IIF(p(475), 475, 476) +# define BOOST_PP_NODE_478(p) BOOST_PP_IIF(p(478), BOOST_PP_NODE_477, BOOST_PP_NODE_479) +# define BOOST_PP_NODE_477(p) BOOST_PP_IIF(p(477), 477, 478) +# define BOOST_PP_NODE_479(p) BOOST_PP_IIF(p(479), 479, 480) +# define BOOST_PP_NODE_496(p) BOOST_PP_IIF(p(496), BOOST_PP_NODE_488, BOOST_PP_NODE_504) +# define BOOST_PP_NODE_488(p) BOOST_PP_IIF(p(488), BOOST_PP_NODE_484, BOOST_PP_NODE_492) +# define BOOST_PP_NODE_484(p) BOOST_PP_IIF(p(484), BOOST_PP_NODE_482, BOOST_PP_NODE_486) +# define BOOST_PP_NODE_482(p) BOOST_PP_IIF(p(482), BOOST_PP_NODE_481, BOOST_PP_NODE_483) +# define BOOST_PP_NODE_481(p) BOOST_PP_IIF(p(481), 481, 482) +# define BOOST_PP_NODE_483(p) BOOST_PP_IIF(p(483), 483, 484) +# define BOOST_PP_NODE_486(p) BOOST_PP_IIF(p(486), BOOST_PP_NODE_485, BOOST_PP_NODE_487) +# define BOOST_PP_NODE_485(p) BOOST_PP_IIF(p(485), 485, 486) +# define BOOST_PP_NODE_487(p) BOOST_PP_IIF(p(487), 487, 488) +# define BOOST_PP_NODE_492(p) BOOST_PP_IIF(p(492), BOOST_PP_NODE_490, BOOST_PP_NODE_494) +# define BOOST_PP_NODE_490(p) BOOST_PP_IIF(p(490), BOOST_PP_NODE_489, BOOST_PP_NODE_491) +# define BOOST_PP_NODE_489(p) BOOST_PP_IIF(p(489), 489, 490) +# define BOOST_PP_NODE_491(p) BOOST_PP_IIF(p(491), 491, 492) +# define BOOST_PP_NODE_494(p) BOOST_PP_IIF(p(494), BOOST_PP_NODE_493, BOOST_PP_NODE_495) +# define BOOST_PP_NODE_493(p) BOOST_PP_IIF(p(493), 493, 494) +# define BOOST_PP_NODE_495(p) BOOST_PP_IIF(p(495), 495, 496) +# define BOOST_PP_NODE_504(p) BOOST_PP_IIF(p(504), BOOST_PP_NODE_500, BOOST_PP_NODE_508) +# define BOOST_PP_NODE_500(p) BOOST_PP_IIF(p(500), BOOST_PP_NODE_498, BOOST_PP_NODE_502) +# define BOOST_PP_NODE_498(p) BOOST_PP_IIF(p(498), BOOST_PP_NODE_497, BOOST_PP_NODE_499) +# define BOOST_PP_NODE_497(p) BOOST_PP_IIF(p(497), 497, 498) +# define BOOST_PP_NODE_499(p) BOOST_PP_IIF(p(499), 499, 500) +# define BOOST_PP_NODE_502(p) BOOST_PP_IIF(p(502), BOOST_PP_NODE_501, BOOST_PP_NODE_503) +# define BOOST_PP_NODE_501(p) BOOST_PP_IIF(p(501), 501, 502) +# define BOOST_PP_NODE_503(p) BOOST_PP_IIF(p(503), 503, 504) +# define BOOST_PP_NODE_508(p) BOOST_PP_IIF(p(508), BOOST_PP_NODE_506, BOOST_PP_NODE_510) +# define BOOST_PP_NODE_506(p) BOOST_PP_IIF(p(506), BOOST_PP_NODE_505, BOOST_PP_NODE_507) +# define BOOST_PP_NODE_505(p) BOOST_PP_IIF(p(505), 505, 506) +# define BOOST_PP_NODE_507(p) BOOST_PP_IIF(p(507), 507, 508) +# define BOOST_PP_NODE_510(p) BOOST_PP_IIF(p(510), BOOST_PP_NODE_509, BOOST_PP_NODE_511) +# define BOOST_PP_NODE_509(p) BOOST_PP_IIF(p(509), 509, 510) +# define BOOST_PP_NODE_511(p) BOOST_PP_IIF(p(511), 511, 512) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/empty.hpp b/external/include/boost_1_90_0/boost/preprocessor/empty.hpp new file mode 100644 index 0000000000..2367897b3c --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/empty.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_EMPTY_HPP +# define BOOST_PREPROCESSOR_EMPTY_HPP +# +# include +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/enum.hpp b/external/include/boost_1_90_0/boost/preprocessor/enum.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/enum.hpp rename to external/include/boost_1_90_0/boost/preprocessor/enum.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/enum_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/enum_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/enum_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/enum_params.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/enum_params_with_a_default.hpp b/external/include/boost_1_90_0/boost/preprocessor/enum_params_with_a_default.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/enum_params_with_a_default.hpp rename to external/include/boost_1_90_0/boost/preprocessor/enum_params_with_a_default.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/enum_shifted_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/enum_shifted_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/enum_shifted_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/enum_shifted_params.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/expr_if.hpp b/external/include/boost_1_90_0/boost/preprocessor/expr_if.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/expr_if.hpp rename to external/include/boost_1_90_0/boost/preprocessor/expr_if.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/check_empty.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/check_empty.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/facilities/check_empty.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/check_empty.hpp index 2a4cd6aa27..9048b3af44 100644 --- a/external/include/boost_1_75/boost/preprocessor/facilities/check_empty.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/check_empty.hpp @@ -1,19 +1,19 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2019. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_CHECK_EMPTY_HPP -# define BOOST_PREPROCESSOR_FACILITIES_CHECK_EMPTY_HPP -# include -# if BOOST_PP_VARIADIC_HAS_OPT() -# include -# define BOOST_PP_CHECK_EMPTY(...) BOOST_PP_IS_EMPTY_OPT(__VA_ARGS__) -# endif /* BOOST_PP_VARIADIC_HAS_OPT() */ -# endif /* BOOST_PREPROCESSOR_FACILITIES_CHECK_EMPTY_HPP */ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2019. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_CHECK_EMPTY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_CHECK_EMPTY_HPP +# include +# if BOOST_PP_VARIADIC_HAS_OPT() +# include +# define BOOST_PP_CHECK_EMPTY(...) BOOST_PP_IS_EMPTY_OPT(__VA_ARGS__) +# endif /* BOOST_PP_VARIADIC_HAS_OPT() */ +# endif /* BOOST_PREPROCESSOR_FACILITIES_CHECK_EMPTY_HPP */ diff --git a/external/include/boost_1_90_0/boost/preprocessor/facilities/detail/is_empty.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/detail/is_empty.hpp new file mode 100644 index 0000000000..a5c9bf94d3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/detail/is_empty.hpp @@ -0,0 +1,55 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2014. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +#ifndef BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP +#define BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP + +#include + +#if BOOST_PP_VARIADICS_MSVC + +# pragma warning(once:4002) + +#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b +#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t + +#else + +#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__ +#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t + +#endif + +#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 + +#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(param) \ + BOOST_PP_IS_BEGIN_PARENS \ + ( \ + BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \ + ) \ +/**/ + +#else + +#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(...) \ + BOOST_PP_IS_BEGIN_PARENS \ + ( \ + BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \ + ) \ +/**/ + +#endif + +#define BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b +#define BOOST_PP_DETAIL_IS_EMPTY_IIF(bit) BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_PP_DETAIL_IS_EMPTY_IIF_,bit) +#define BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) () + +#endif /* BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP */ diff --git a/external/include/boost_1_90_0/boost/preprocessor/facilities/empty.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/empty.hpp new file mode 100644 index 0000000000..670b137df7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/empty.hpp @@ -0,0 +1,23 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP +# +# include +# +# /* BOOST_PP_EMPTY */ +# +# define BOOST_PP_EMPTY() +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/expand.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/expand.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/facilities/expand.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/expand.hpp index c8661a1c22..562d5fd228 100644 --- a/external/include/boost_1_75/boost/preprocessor/facilities/expand.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/expand.hpp @@ -1,28 +1,28 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP -# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() -# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x) -# else -# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x)) -# define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par -# endif -# -# define BOOST_PP_EXPAND_I(x) x -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP +# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x) +# else +# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x)) +# define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par +# endif +# +# define BOOST_PP_EXPAND_I(x) x +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/facilities/identity.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/identity.hpp new file mode 100644 index 0000000000..e1e8649ae8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/identity.hpp @@ -0,0 +1,27 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2015) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP +# +# include +# include +# +# /* BOOST_PP_IDENTITY */ +# +# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY +# +# define BOOST_PP_IDENTITY_N(item,n) item BOOST_PP_TUPLE_EAT_N(n) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/intercept.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/intercept.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/facilities/intercept.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/intercept.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/is_1.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/is_1.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/facilities/is_1.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/is_1.hpp index f286dcdd19..b3dba6d69b 100644 --- a/external/include/boost_1_75/boost/preprocessor/facilities/is_1.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/is_1.hpp @@ -1,23 +1,23 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2003. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP -# define BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP -# -# include -# include -# -# /* BOOST_PP_IS_1 */ -# -# define BOOST_PP_IS_1(x) BOOST_PP_IS_EMPTY(BOOST_PP_CAT(BOOST_PP_IS_1_HELPER_, x)) -# define BOOST_PP_IS_1_HELPER_1 -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2003. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP +# +# include +# include +# +# /* BOOST_PP_IS_1 */ +# +# define BOOST_PP_IS_1(x) BOOST_PP_IS_EMPTY(BOOST_PP_CAT(BOOST_PP_IS_1_HELPER_, x)) +# define BOOST_PP_IS_1_HELPER_1 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/facilities/is_empty.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/is_empty.hpp new file mode 100644 index 0000000000..e319d96f92 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/is_empty.hpp @@ -0,0 +1,19 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2003. +# * (C) Copyright Edward Diener 2014. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP +# +# include +# include +# +# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/is_empty_variadic.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/is_empty_variadic.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/facilities/is_empty_variadic.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/is_empty_variadic.hpp index 7c188d744f..ee87fe250b 100644 --- a/external/include/boost_1_75/boost/preprocessor/facilities/is_empty_variadic.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/is_empty_variadic.hpp @@ -1,80 +1,80 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2014,2019. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP -# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP -# -# include -# include -# include -# -#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 -# -#define BOOST_PP_IS_EMPTY(param) \ - BOOST_PP_DETAIL_IS_EMPTY_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - param \ - ) \ - ) \ - ( \ - BOOST_PP_IS_EMPTY_ZERO, \ - BOOST_PP_DETAIL_IS_EMPTY_PROCESS \ - ) \ - (param) \ -/**/ -#define BOOST_PP_IS_EMPTY_ZERO(param) 0 -# else -# if defined(__cplusplus) && __cplusplus > 201703L -# include -#define BOOST_PP_IS_EMPTY(...) \ - BOOST_PP_DETAIL_IS_EMPTY_IIF \ - ( \ - BOOST_PP_VARIADIC_HAS_OPT() \ - ) \ - ( \ - BOOST_PP_IS_EMPTY_OPT, \ - BOOST_PP_IS_EMPTY_NO_OPT \ - ) \ - (__VA_ARGS__) \ -/**/ -#define BOOST_PP_IS_EMPTY_FUNCTION2(...) \ - __VA_OPT__(0,) 1 \ -/**/ -#define BOOST_PP_IS_EMPTY_FUNCTION(...) \ - BOOST_PP_IS_EMPTY_FUNCTION2(__VA_ARGS__) \ -/**/ -#define BOOST_PP_IS_EMPTY_OPT(...) \ - BOOST_PP_VARIADIC_HAS_OPT_ELEM0(BOOST_PP_IS_EMPTY_FUNCTION(__VA_ARGS__),) \ -/**/ -# else -#define BOOST_PP_IS_EMPTY(...) \ - BOOST_PP_IS_EMPTY_NO_OPT(__VA_ARGS__) \ -/**/ -# endif /* defined(__cplusplus) && __cplusplus > 201703L */ -#define BOOST_PP_IS_EMPTY_NO_OPT(...) \ - BOOST_PP_DETAIL_IS_EMPTY_IIF \ - ( \ - BOOST_PP_IS_BEGIN_PARENS \ - ( \ - __VA_ARGS__ \ - ) \ - ) \ - ( \ - BOOST_PP_IS_EMPTY_ZERO, \ - BOOST_PP_DETAIL_IS_EMPTY_PROCESS \ - ) \ - (__VA_ARGS__) \ -/**/ -#define BOOST_PP_IS_EMPTY_ZERO(...) 0 -# endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */ -# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2014,2019. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP +# +# include +# include +# include +# +#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 +# +#define BOOST_PP_IS_EMPTY(param) \ + BOOST_PP_DETAIL_IS_EMPTY_IIF \ + ( \ + BOOST_PP_IS_BEGIN_PARENS \ + ( \ + param \ + ) \ + ) \ + ( \ + BOOST_PP_IS_EMPTY_ZERO, \ + BOOST_PP_DETAIL_IS_EMPTY_PROCESS \ + ) \ + (param) \ +/**/ +#define BOOST_PP_IS_EMPTY_ZERO(param) 0 +# else +# if defined(__cplusplus) && __cplusplus > 201703L +# include +#define BOOST_PP_IS_EMPTY(...) \ + BOOST_PP_DETAIL_IS_EMPTY_IIF \ + ( \ + BOOST_PP_VARIADIC_HAS_OPT() \ + ) \ + ( \ + BOOST_PP_IS_EMPTY_OPT, \ + BOOST_PP_IS_EMPTY_NO_OPT \ + ) \ + (__VA_ARGS__) \ +/**/ +#define BOOST_PP_IS_EMPTY_FUNCTION2(...) \ + __VA_OPT__(0,) 1 \ +/**/ +#define BOOST_PP_IS_EMPTY_FUNCTION(...) \ + BOOST_PP_IS_EMPTY_FUNCTION2(__VA_ARGS__) \ +/**/ +#define BOOST_PP_IS_EMPTY_OPT(...) \ + BOOST_PP_VARIADIC_HAS_OPT_ELEM0(BOOST_PP_IS_EMPTY_FUNCTION(__VA_ARGS__),) \ +/**/ +# else +#define BOOST_PP_IS_EMPTY(...) \ + BOOST_PP_IS_EMPTY_NO_OPT(__VA_ARGS__) \ +/**/ +# endif /* defined(__cplusplus) && __cplusplus > 201703L */ +#define BOOST_PP_IS_EMPTY_NO_OPT(...) \ + BOOST_PP_DETAIL_IS_EMPTY_IIF \ + ( \ + BOOST_PP_IS_BEGIN_PARENS \ + ( \ + __VA_ARGS__ \ + ) \ + ) \ + ( \ + BOOST_PP_IS_EMPTY_ZERO, \ + BOOST_PP_DETAIL_IS_EMPTY_PROCESS \ + ) \ + (__VA_ARGS__) \ +/**/ +#define BOOST_PP_IS_EMPTY_ZERO(...) 0 +# endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */ +# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/limits/intercept_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/limits/intercept_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/facilities/limits/intercept_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/limits/intercept_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/limits/intercept_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/limits/intercept_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/facilities/limits/intercept_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/limits/intercept_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/limits/intercept_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/limits/intercept_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/facilities/limits/intercept_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/limits/intercept_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/facilities/overload.hpp b/external/include/boost_1_90_0/boost/preprocessor/facilities/overload.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/facilities/overload.hpp rename to external/include/boost_1_90_0/boost/preprocessor/facilities/overload.hpp index a075fb6f17..fe5648baca 100644 --- a/external/include/boost_1_75/boost/preprocessor/facilities/overload.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/facilities/overload.hpp @@ -1,23 +1,23 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2011. * -# * (C) Copyright Edward Diener 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP -# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP -# -# include -# include -# -# /* BOOST_PP_OVERLOAD */ -# -# define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP +# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP +# +# include +# include +# +# /* BOOST_PP_OVERLOAD */ +# +# define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/identity.hpp b/external/include/boost_1_90_0/boost/preprocessor/identity.hpp new file mode 100644 index 0000000000..23f37a49ea --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/identity.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP +# define BOOST_PREPROCESSOR_IDENTITY_HPP +# +# include +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/inc.hpp b/external/include/boost_1_90_0/boost/preprocessor/inc.hpp new file mode 100644 index 0000000000..b11e899c96 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/inc.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_INC_HPP +# define BOOST_PREPROCESSOR_INC_HPP +# +# include +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/iterate.hpp b/external/include/boost_1_90_0/boost/preprocessor/iterate.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iterate.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iterate.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower1.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower1.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower1.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower1.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower2.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower2.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower2.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower2.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower3.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower3.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower3.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower3.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower4.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower4.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower4.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower4.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower5.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower5.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/lower5.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/lower5.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper1.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper1.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper1.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper1.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper2.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper2.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper2.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper2.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper3.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper3.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper3.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper3.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper4.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper4.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper4.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper4.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper5.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper5.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/bounds/upper5.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/bounds/upper5.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/finish.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/finish.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/finish.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/finish.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward1.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward1.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward1.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward1.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward2.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward2.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward2.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward2.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward3.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward3.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward3.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward3.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward4.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward4.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward4.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward4.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward5.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward5.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/forward5.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/forward5.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse1.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse1.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse1.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse1.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse2.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse2.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse2.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse2.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse3.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse3.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse3.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse3.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse4.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse4.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse4.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse4.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse5.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse5.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/iter/reverse5.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/iter/reverse5.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/local_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/local_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/local_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/local_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/local_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/local_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/local_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/local_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/local_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/local_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/local_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/local_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/local.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/local.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/local.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/local.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/rlocal.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/rlocal.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/rlocal.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/rlocal.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/self.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/self.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/self.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/self.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/detail/start.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/detail/start.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/detail/start.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/detail/start.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/iterate.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/iterate.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/iterate.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/iterate.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/local.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/local.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/local.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/local.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/iteration/self.hpp b/external/include/boost_1_90_0/boost/preprocessor/iteration/self.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/iteration/self.hpp rename to external/include/boost_1_90_0/boost/preprocessor/iteration/self.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/list/adt.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/adt.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/list/adt.hpp rename to external/include/boost_1_90_0/boost/preprocessor/list/adt.hpp index b4f12bab63..0743af6fec 100644 --- a/external/include/boost_1_75/boost/preprocessor/list/adt.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/list/adt.hpp @@ -1,73 +1,73 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# * -# * See http://www.boost.org for most recent version. -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP -# define BOOST_PREPROCESSOR_LIST_ADT_HPP -# -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_CONS */ -# -# define BOOST_PP_LIST_CONS(head, tail) (head, tail) -# -# /* BOOST_PP_LIST_NIL */ -# -# define BOOST_PP_LIST_NIL BOOST_PP_NIL -# -# /* BOOST_PP_LIST_FIRST */ -# -# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list -# else -# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list -# endif -# -# define BOOST_PP_LIST_FIRST_I(head, tail) head -# -# /* BOOST_PP_LIST_REST */ -# -# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list -# else -# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list -# endif -# -# define BOOST_PP_LIST_REST_I(head, tail) tail -# -# /* BOOST_PP_LIST_IS_CONS */ -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() -# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list) -# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list -# define BOOST_PP_LIST_IS_CONS_(head, tail) 1 -# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0 -# else -# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list) -# endif -# -# /* BOOST_PP_LIST_IS_NIL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() -# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list)) -# else -# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list)) -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# * +# * See http://www.boost.org for most recent version. +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP +# define BOOST_PREPROCESSOR_LIST_ADT_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_CONS */ +# +# define BOOST_PP_LIST_CONS(head, tail) (head, tail) +# +# /* BOOST_PP_LIST_NIL */ +# +# define BOOST_PP_LIST_NIL BOOST_PP_NIL +# +# /* BOOST_PP_LIST_FIRST */ +# +# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list +# else +# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list +# endif +# +# define BOOST_PP_LIST_FIRST_I(head, tail) head +# +# /* BOOST_PP_LIST_REST */ +# +# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list +# else +# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list +# endif +# +# define BOOST_PP_LIST_REST_I(head, tail) tail +# +# /* BOOST_PP_LIST_IS_CONS */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list) +# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list +# define BOOST_PP_LIST_IS_CONS_(head, tail) 1 +# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0 +# else +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list) +# endif +# +# /* BOOST_PP_LIST_IS_NIL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list)) +# else +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list)) +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/dmc/fold_left.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/dmc/fold_left.hpp new file mode 100644 index 0000000000..e545e11b5f --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/dmc/fold_left.hpp @@ -0,0 +1,280 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_DMC_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_DMC_FOLD_LEFT_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/fold_left.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/fold_left.hpp new file mode 100644 index 0000000000..80fba5fc03 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/fold_left.hpp @@ -0,0 +1,564 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# else +# +# include +# include +# include +# include +# include +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/fold_right.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/fold_right.hpp new file mode 100644 index 0000000000..434328b425 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/fold_right.hpp @@ -0,0 +1,823 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0 +# +# else +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1 +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp new file mode 100644 index 0000000000..1e0865644f --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp @@ -0,0 +1,1044 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_1024_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_1024_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) BOOST_PP_LIST_FOLD_LEFT_513_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_514(o, s, l) BOOST_PP_LIST_FOLD_LEFT_514_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_515(o, s, l) BOOST_PP_LIST_FOLD_LEFT_515_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_516(o, s, l) BOOST_PP_LIST_FOLD_LEFT_516_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_517(o, s, l) BOOST_PP_LIST_FOLD_LEFT_517_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_518(o, s, l) BOOST_PP_LIST_FOLD_LEFT_518_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_519(o, s, l) BOOST_PP_LIST_FOLD_LEFT_519_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_520(o, s, l) BOOST_PP_LIST_FOLD_LEFT_520_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_521(o, s, l) BOOST_PP_LIST_FOLD_LEFT_521_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_522(o, s, l) BOOST_PP_LIST_FOLD_LEFT_522_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_523(o, s, l) BOOST_PP_LIST_FOLD_LEFT_523_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_524(o, s, l) BOOST_PP_LIST_FOLD_LEFT_524_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_525(o, s, l) BOOST_PP_LIST_FOLD_LEFT_525_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_526(o, s, l) BOOST_PP_LIST_FOLD_LEFT_526_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_527(o, s, l) BOOST_PP_LIST_FOLD_LEFT_527_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_528(o, s, l) BOOST_PP_LIST_FOLD_LEFT_528_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_529(o, s, l) BOOST_PP_LIST_FOLD_LEFT_529_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_530(o, s, l) BOOST_PP_LIST_FOLD_LEFT_530_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_531(o, s, l) BOOST_PP_LIST_FOLD_LEFT_531_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_532(o, s, l) BOOST_PP_LIST_FOLD_LEFT_532_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_533(o, s, l) BOOST_PP_LIST_FOLD_LEFT_533_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_534(o, s, l) BOOST_PP_LIST_FOLD_LEFT_534_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_535(o, s, l) BOOST_PP_LIST_FOLD_LEFT_535_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_536(o, s, l) BOOST_PP_LIST_FOLD_LEFT_536_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_537(o, s, l) BOOST_PP_LIST_FOLD_LEFT_537_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_538(o, s, l) BOOST_PP_LIST_FOLD_LEFT_538_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_539(o, s, l) BOOST_PP_LIST_FOLD_LEFT_539_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_540(o, s, l) BOOST_PP_LIST_FOLD_LEFT_540_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_541(o, s, l) BOOST_PP_LIST_FOLD_LEFT_541_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_542(o, s, l) BOOST_PP_LIST_FOLD_LEFT_542_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_543(o, s, l) BOOST_PP_LIST_FOLD_LEFT_543_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_544(o, s, l) BOOST_PP_LIST_FOLD_LEFT_544_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_545(o, s, l) BOOST_PP_LIST_FOLD_LEFT_545_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_546(o, s, l) BOOST_PP_LIST_FOLD_LEFT_546_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_547(o, s, l) BOOST_PP_LIST_FOLD_LEFT_547_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_548(o, s, l) BOOST_PP_LIST_FOLD_LEFT_548_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_549(o, s, l) BOOST_PP_LIST_FOLD_LEFT_549_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_550(o, s, l) BOOST_PP_LIST_FOLD_LEFT_550_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_551(o, s, l) BOOST_PP_LIST_FOLD_LEFT_551_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_552(o, s, l) BOOST_PP_LIST_FOLD_LEFT_552_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_553(o, s, l) BOOST_PP_LIST_FOLD_LEFT_553_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_554(o, s, l) BOOST_PP_LIST_FOLD_LEFT_554_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_555(o, s, l) BOOST_PP_LIST_FOLD_LEFT_555_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_556(o, s, l) BOOST_PP_LIST_FOLD_LEFT_556_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_557(o, s, l) BOOST_PP_LIST_FOLD_LEFT_557_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_558(o, s, l) BOOST_PP_LIST_FOLD_LEFT_558_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_559(o, s, l) BOOST_PP_LIST_FOLD_LEFT_559_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_560(o, s, l) BOOST_PP_LIST_FOLD_LEFT_560_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_561(o, s, l) BOOST_PP_LIST_FOLD_LEFT_561_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_562(o, s, l) BOOST_PP_LIST_FOLD_LEFT_562_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_563(o, s, l) BOOST_PP_LIST_FOLD_LEFT_563_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_564(o, s, l) BOOST_PP_LIST_FOLD_LEFT_564_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_565(o, s, l) BOOST_PP_LIST_FOLD_LEFT_565_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_566(o, s, l) BOOST_PP_LIST_FOLD_LEFT_566_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_567(o, s, l) BOOST_PP_LIST_FOLD_LEFT_567_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_568(o, s, l) BOOST_PP_LIST_FOLD_LEFT_568_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_569(o, s, l) BOOST_PP_LIST_FOLD_LEFT_569_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_570(o, s, l) BOOST_PP_LIST_FOLD_LEFT_570_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_571(o, s, l) BOOST_PP_LIST_FOLD_LEFT_571_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_572(o, s, l) BOOST_PP_LIST_FOLD_LEFT_572_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_573(o, s, l) BOOST_PP_LIST_FOLD_LEFT_573_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_574(o, s, l) BOOST_PP_LIST_FOLD_LEFT_574_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_575(o, s, l) BOOST_PP_LIST_FOLD_LEFT_575_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_576(o, s, l) BOOST_PP_LIST_FOLD_LEFT_576_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_577(o, s, l) BOOST_PP_LIST_FOLD_LEFT_577_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_578(o, s, l) BOOST_PP_LIST_FOLD_LEFT_578_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_579(o, s, l) BOOST_PP_LIST_FOLD_LEFT_579_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_580(o, s, l) BOOST_PP_LIST_FOLD_LEFT_580_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_581(o, s, l) BOOST_PP_LIST_FOLD_LEFT_581_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_582(o, s, l) BOOST_PP_LIST_FOLD_LEFT_582_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_583(o, s, l) BOOST_PP_LIST_FOLD_LEFT_583_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_584(o, s, l) BOOST_PP_LIST_FOLD_LEFT_584_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_585(o, s, l) BOOST_PP_LIST_FOLD_LEFT_585_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_586(o, s, l) BOOST_PP_LIST_FOLD_LEFT_586_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_587(o, s, l) BOOST_PP_LIST_FOLD_LEFT_587_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_588(o, s, l) BOOST_PP_LIST_FOLD_LEFT_588_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_589(o, s, l) BOOST_PP_LIST_FOLD_LEFT_589_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_590(o, s, l) BOOST_PP_LIST_FOLD_LEFT_590_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_591(o, s, l) BOOST_PP_LIST_FOLD_LEFT_591_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_592(o, s, l) BOOST_PP_LIST_FOLD_LEFT_592_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_593(o, s, l) BOOST_PP_LIST_FOLD_LEFT_593_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_594(o, s, l) BOOST_PP_LIST_FOLD_LEFT_594_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_595(o, s, l) BOOST_PP_LIST_FOLD_LEFT_595_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_596(o, s, l) BOOST_PP_LIST_FOLD_LEFT_596_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_597(o, s, l) BOOST_PP_LIST_FOLD_LEFT_597_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_598(o, s, l) BOOST_PP_LIST_FOLD_LEFT_598_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_599(o, s, l) BOOST_PP_LIST_FOLD_LEFT_599_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_600(o, s, l) BOOST_PP_LIST_FOLD_LEFT_600_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_601(o, s, l) BOOST_PP_LIST_FOLD_LEFT_601_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_602(o, s, l) BOOST_PP_LIST_FOLD_LEFT_602_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_603(o, s, l) BOOST_PP_LIST_FOLD_LEFT_603_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_604(o, s, l) BOOST_PP_LIST_FOLD_LEFT_604_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_605(o, s, l) BOOST_PP_LIST_FOLD_LEFT_605_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_606(o, s, l) BOOST_PP_LIST_FOLD_LEFT_606_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_607(o, s, l) BOOST_PP_LIST_FOLD_LEFT_607_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_608(o, s, l) BOOST_PP_LIST_FOLD_LEFT_608_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_609(o, s, l) BOOST_PP_LIST_FOLD_LEFT_609_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_610(o, s, l) BOOST_PP_LIST_FOLD_LEFT_610_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_611(o, s, l) BOOST_PP_LIST_FOLD_LEFT_611_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_612(o, s, l) BOOST_PP_LIST_FOLD_LEFT_612_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_613(o, s, l) BOOST_PP_LIST_FOLD_LEFT_613_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_614(o, s, l) BOOST_PP_LIST_FOLD_LEFT_614_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_615(o, s, l) BOOST_PP_LIST_FOLD_LEFT_615_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_616(o, s, l) BOOST_PP_LIST_FOLD_LEFT_616_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_617(o, s, l) BOOST_PP_LIST_FOLD_LEFT_617_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_618(o, s, l) BOOST_PP_LIST_FOLD_LEFT_618_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_619(o, s, l) BOOST_PP_LIST_FOLD_LEFT_619_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_620(o, s, l) BOOST_PP_LIST_FOLD_LEFT_620_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_621(o, s, l) BOOST_PP_LIST_FOLD_LEFT_621_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_622(o, s, l) BOOST_PP_LIST_FOLD_LEFT_622_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_623(o, s, l) BOOST_PP_LIST_FOLD_LEFT_623_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_624(o, s, l) BOOST_PP_LIST_FOLD_LEFT_624_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_625(o, s, l) BOOST_PP_LIST_FOLD_LEFT_625_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_626(o, s, l) BOOST_PP_LIST_FOLD_LEFT_626_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_627(o, s, l) BOOST_PP_LIST_FOLD_LEFT_627_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_628(o, s, l) BOOST_PP_LIST_FOLD_LEFT_628_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_629(o, s, l) BOOST_PP_LIST_FOLD_LEFT_629_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_630(o, s, l) BOOST_PP_LIST_FOLD_LEFT_630_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_631(o, s, l) BOOST_PP_LIST_FOLD_LEFT_631_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_632(o, s, l) BOOST_PP_LIST_FOLD_LEFT_632_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_633(o, s, l) BOOST_PP_LIST_FOLD_LEFT_633_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_634(o, s, l) BOOST_PP_LIST_FOLD_LEFT_634_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_635(o, s, l) BOOST_PP_LIST_FOLD_LEFT_635_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_636(o, s, l) BOOST_PP_LIST_FOLD_LEFT_636_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_637(o, s, l) BOOST_PP_LIST_FOLD_LEFT_637_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_638(o, s, l) BOOST_PP_LIST_FOLD_LEFT_638_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_639(o, s, l) BOOST_PP_LIST_FOLD_LEFT_639_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_640(o, s, l) BOOST_PP_LIST_FOLD_LEFT_640_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_641(o, s, l) BOOST_PP_LIST_FOLD_LEFT_641_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_642(o, s, l) BOOST_PP_LIST_FOLD_LEFT_642_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_643(o, s, l) BOOST_PP_LIST_FOLD_LEFT_643_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_644(o, s, l) BOOST_PP_LIST_FOLD_LEFT_644_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_645(o, s, l) BOOST_PP_LIST_FOLD_LEFT_645_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_646(o, s, l) BOOST_PP_LIST_FOLD_LEFT_646_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_647(o, s, l) BOOST_PP_LIST_FOLD_LEFT_647_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_648(o, s, l) BOOST_PP_LIST_FOLD_LEFT_648_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_649(o, s, l) BOOST_PP_LIST_FOLD_LEFT_649_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_650(o, s, l) BOOST_PP_LIST_FOLD_LEFT_650_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_651(o, s, l) BOOST_PP_LIST_FOLD_LEFT_651_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_652(o, s, l) BOOST_PP_LIST_FOLD_LEFT_652_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_653(o, s, l) BOOST_PP_LIST_FOLD_LEFT_653_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_654(o, s, l) BOOST_PP_LIST_FOLD_LEFT_654_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_655(o, s, l) BOOST_PP_LIST_FOLD_LEFT_655_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_656(o, s, l) BOOST_PP_LIST_FOLD_LEFT_656_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_657(o, s, l) BOOST_PP_LIST_FOLD_LEFT_657_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_658(o, s, l) BOOST_PP_LIST_FOLD_LEFT_658_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_659(o, s, l) BOOST_PP_LIST_FOLD_LEFT_659_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_660(o, s, l) BOOST_PP_LIST_FOLD_LEFT_660_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_661(o, s, l) BOOST_PP_LIST_FOLD_LEFT_661_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_662(o, s, l) BOOST_PP_LIST_FOLD_LEFT_662_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_663(o, s, l) BOOST_PP_LIST_FOLD_LEFT_663_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_664(o, s, l) BOOST_PP_LIST_FOLD_LEFT_664_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_665(o, s, l) BOOST_PP_LIST_FOLD_LEFT_665_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_666(o, s, l) BOOST_PP_LIST_FOLD_LEFT_666_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_667(o, s, l) BOOST_PP_LIST_FOLD_LEFT_667_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_668(o, s, l) BOOST_PP_LIST_FOLD_LEFT_668_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_669(o, s, l) BOOST_PP_LIST_FOLD_LEFT_669_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_670(o, s, l) BOOST_PP_LIST_FOLD_LEFT_670_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_671(o, s, l) BOOST_PP_LIST_FOLD_LEFT_671_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_672(o, s, l) BOOST_PP_LIST_FOLD_LEFT_672_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_673(o, s, l) BOOST_PP_LIST_FOLD_LEFT_673_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_674(o, s, l) BOOST_PP_LIST_FOLD_LEFT_674_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_675(o, s, l) BOOST_PP_LIST_FOLD_LEFT_675_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_676(o, s, l) BOOST_PP_LIST_FOLD_LEFT_676_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_677(o, s, l) BOOST_PP_LIST_FOLD_LEFT_677_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_678(o, s, l) BOOST_PP_LIST_FOLD_LEFT_678_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_679(o, s, l) BOOST_PP_LIST_FOLD_LEFT_679_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_680(o, s, l) BOOST_PP_LIST_FOLD_LEFT_680_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_681(o, s, l) BOOST_PP_LIST_FOLD_LEFT_681_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_682(o, s, l) BOOST_PP_LIST_FOLD_LEFT_682_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_683(o, s, l) BOOST_PP_LIST_FOLD_LEFT_683_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_684(o, s, l) BOOST_PP_LIST_FOLD_LEFT_684_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_685(o, s, l) BOOST_PP_LIST_FOLD_LEFT_685_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_686(o, s, l) BOOST_PP_LIST_FOLD_LEFT_686_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_687(o, s, l) BOOST_PP_LIST_FOLD_LEFT_687_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_688(o, s, l) BOOST_PP_LIST_FOLD_LEFT_688_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_689(o, s, l) BOOST_PP_LIST_FOLD_LEFT_689_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_690(o, s, l) BOOST_PP_LIST_FOLD_LEFT_690_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_691(o, s, l) BOOST_PP_LIST_FOLD_LEFT_691_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_692(o, s, l) BOOST_PP_LIST_FOLD_LEFT_692_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_693(o, s, l) BOOST_PP_LIST_FOLD_LEFT_693_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_694(o, s, l) BOOST_PP_LIST_FOLD_LEFT_694_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_695(o, s, l) BOOST_PP_LIST_FOLD_LEFT_695_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_696(o, s, l) BOOST_PP_LIST_FOLD_LEFT_696_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_697(o, s, l) BOOST_PP_LIST_FOLD_LEFT_697_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_698(o, s, l) BOOST_PP_LIST_FOLD_LEFT_698_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_699(o, s, l) BOOST_PP_LIST_FOLD_LEFT_699_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_700(o, s, l) BOOST_PP_LIST_FOLD_LEFT_700_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_701(o, s, l) BOOST_PP_LIST_FOLD_LEFT_701_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_702(o, s, l) BOOST_PP_LIST_FOLD_LEFT_702_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_703(o, s, l) BOOST_PP_LIST_FOLD_LEFT_703_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_704(o, s, l) BOOST_PP_LIST_FOLD_LEFT_704_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_705(o, s, l) BOOST_PP_LIST_FOLD_LEFT_705_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_706(o, s, l) BOOST_PP_LIST_FOLD_LEFT_706_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_707(o, s, l) BOOST_PP_LIST_FOLD_LEFT_707_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_708(o, s, l) BOOST_PP_LIST_FOLD_LEFT_708_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_709(o, s, l) BOOST_PP_LIST_FOLD_LEFT_709_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_710(o, s, l) BOOST_PP_LIST_FOLD_LEFT_710_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_711(o, s, l) BOOST_PP_LIST_FOLD_LEFT_711_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_712(o, s, l) BOOST_PP_LIST_FOLD_LEFT_712_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_713(o, s, l) BOOST_PP_LIST_FOLD_LEFT_713_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_714(o, s, l) BOOST_PP_LIST_FOLD_LEFT_714_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_715(o, s, l) BOOST_PP_LIST_FOLD_LEFT_715_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_716(o, s, l) BOOST_PP_LIST_FOLD_LEFT_716_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_717(o, s, l) BOOST_PP_LIST_FOLD_LEFT_717_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_718(o, s, l) BOOST_PP_LIST_FOLD_LEFT_718_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_719(o, s, l) BOOST_PP_LIST_FOLD_LEFT_719_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_720(o, s, l) BOOST_PP_LIST_FOLD_LEFT_720_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_721(o, s, l) BOOST_PP_LIST_FOLD_LEFT_721_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_722(o, s, l) BOOST_PP_LIST_FOLD_LEFT_722_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_723(o, s, l) BOOST_PP_LIST_FOLD_LEFT_723_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_724(o, s, l) BOOST_PP_LIST_FOLD_LEFT_724_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_725(o, s, l) BOOST_PP_LIST_FOLD_LEFT_725_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_726(o, s, l) BOOST_PP_LIST_FOLD_LEFT_726_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_727(o, s, l) BOOST_PP_LIST_FOLD_LEFT_727_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_728(o, s, l) BOOST_PP_LIST_FOLD_LEFT_728_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_729(o, s, l) BOOST_PP_LIST_FOLD_LEFT_729_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_730(o, s, l) BOOST_PP_LIST_FOLD_LEFT_730_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_731(o, s, l) BOOST_PP_LIST_FOLD_LEFT_731_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_732(o, s, l) BOOST_PP_LIST_FOLD_LEFT_732_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_733(o, s, l) BOOST_PP_LIST_FOLD_LEFT_733_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_734(o, s, l) BOOST_PP_LIST_FOLD_LEFT_734_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_735(o, s, l) BOOST_PP_LIST_FOLD_LEFT_735_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_736(o, s, l) BOOST_PP_LIST_FOLD_LEFT_736_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_737(o, s, l) BOOST_PP_LIST_FOLD_LEFT_737_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_738(o, s, l) BOOST_PP_LIST_FOLD_LEFT_738_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_739(o, s, l) BOOST_PP_LIST_FOLD_LEFT_739_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_740(o, s, l) BOOST_PP_LIST_FOLD_LEFT_740_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_741(o, s, l) BOOST_PP_LIST_FOLD_LEFT_741_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_742(o, s, l) BOOST_PP_LIST_FOLD_LEFT_742_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_743(o, s, l) BOOST_PP_LIST_FOLD_LEFT_743_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_744(o, s, l) BOOST_PP_LIST_FOLD_LEFT_744_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_745(o, s, l) BOOST_PP_LIST_FOLD_LEFT_745_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_746(o, s, l) BOOST_PP_LIST_FOLD_LEFT_746_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_747(o, s, l) BOOST_PP_LIST_FOLD_LEFT_747_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_748(o, s, l) BOOST_PP_LIST_FOLD_LEFT_748_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_749(o, s, l) BOOST_PP_LIST_FOLD_LEFT_749_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_750(o, s, l) BOOST_PP_LIST_FOLD_LEFT_750_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_751(o, s, l) BOOST_PP_LIST_FOLD_LEFT_751_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_752(o, s, l) BOOST_PP_LIST_FOLD_LEFT_752_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_753(o, s, l) BOOST_PP_LIST_FOLD_LEFT_753_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_754(o, s, l) BOOST_PP_LIST_FOLD_LEFT_754_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_755(o, s, l) BOOST_PP_LIST_FOLD_LEFT_755_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_756(o, s, l) BOOST_PP_LIST_FOLD_LEFT_756_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_757(o, s, l) BOOST_PP_LIST_FOLD_LEFT_757_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_758(o, s, l) BOOST_PP_LIST_FOLD_LEFT_758_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_759(o, s, l) BOOST_PP_LIST_FOLD_LEFT_759_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_760(o, s, l) BOOST_PP_LIST_FOLD_LEFT_760_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_761(o, s, l) BOOST_PP_LIST_FOLD_LEFT_761_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_762(o, s, l) BOOST_PP_LIST_FOLD_LEFT_762_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_763(o, s, l) BOOST_PP_LIST_FOLD_LEFT_763_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_764(o, s, l) BOOST_PP_LIST_FOLD_LEFT_764_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_765(o, s, l) BOOST_PP_LIST_FOLD_LEFT_765_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_766(o, s, l) BOOST_PP_LIST_FOLD_LEFT_766_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_767(o, s, l) BOOST_PP_LIST_FOLD_LEFT_767_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_768(o, s, l) BOOST_PP_LIST_FOLD_LEFT_768_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_769(o, s, l) BOOST_PP_LIST_FOLD_LEFT_769_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_770(o, s, l) BOOST_PP_LIST_FOLD_LEFT_770_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_771(o, s, l) BOOST_PP_LIST_FOLD_LEFT_771_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_772(o, s, l) BOOST_PP_LIST_FOLD_LEFT_772_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_773(o, s, l) BOOST_PP_LIST_FOLD_LEFT_773_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_774(o, s, l) BOOST_PP_LIST_FOLD_LEFT_774_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_775(o, s, l) BOOST_PP_LIST_FOLD_LEFT_775_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_776(o, s, l) BOOST_PP_LIST_FOLD_LEFT_776_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_777(o, s, l) BOOST_PP_LIST_FOLD_LEFT_777_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_778(o, s, l) BOOST_PP_LIST_FOLD_LEFT_778_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_779(o, s, l) BOOST_PP_LIST_FOLD_LEFT_779_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_780(o, s, l) BOOST_PP_LIST_FOLD_LEFT_780_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_781(o, s, l) BOOST_PP_LIST_FOLD_LEFT_781_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_782(o, s, l) BOOST_PP_LIST_FOLD_LEFT_782_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_783(o, s, l) BOOST_PP_LIST_FOLD_LEFT_783_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_784(o, s, l) BOOST_PP_LIST_FOLD_LEFT_784_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_785(o, s, l) BOOST_PP_LIST_FOLD_LEFT_785_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_786(o, s, l) BOOST_PP_LIST_FOLD_LEFT_786_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_787(o, s, l) BOOST_PP_LIST_FOLD_LEFT_787_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_788(o, s, l) BOOST_PP_LIST_FOLD_LEFT_788_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_789(o, s, l) BOOST_PP_LIST_FOLD_LEFT_789_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_790(o, s, l) BOOST_PP_LIST_FOLD_LEFT_790_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_791(o, s, l) BOOST_PP_LIST_FOLD_LEFT_791_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_792(o, s, l) BOOST_PP_LIST_FOLD_LEFT_792_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_793(o, s, l) BOOST_PP_LIST_FOLD_LEFT_793_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_794(o, s, l) BOOST_PP_LIST_FOLD_LEFT_794_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_795(o, s, l) BOOST_PP_LIST_FOLD_LEFT_795_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_796(o, s, l) BOOST_PP_LIST_FOLD_LEFT_796_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_797(o, s, l) BOOST_PP_LIST_FOLD_LEFT_797_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_798(o, s, l) BOOST_PP_LIST_FOLD_LEFT_798_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_799(o, s, l) BOOST_PP_LIST_FOLD_LEFT_799_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_800(o, s, l) BOOST_PP_LIST_FOLD_LEFT_800_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_801(o, s, l) BOOST_PP_LIST_FOLD_LEFT_801_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_802(o, s, l) BOOST_PP_LIST_FOLD_LEFT_802_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_803(o, s, l) BOOST_PP_LIST_FOLD_LEFT_803_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_804(o, s, l) BOOST_PP_LIST_FOLD_LEFT_804_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_805(o, s, l) BOOST_PP_LIST_FOLD_LEFT_805_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_806(o, s, l) BOOST_PP_LIST_FOLD_LEFT_806_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_807(o, s, l) BOOST_PP_LIST_FOLD_LEFT_807_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_808(o, s, l) BOOST_PP_LIST_FOLD_LEFT_808_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_809(o, s, l) BOOST_PP_LIST_FOLD_LEFT_809_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_810(o, s, l) BOOST_PP_LIST_FOLD_LEFT_810_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_811(o, s, l) BOOST_PP_LIST_FOLD_LEFT_811_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_812(o, s, l) BOOST_PP_LIST_FOLD_LEFT_812_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_813(o, s, l) BOOST_PP_LIST_FOLD_LEFT_813_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_814(o, s, l) BOOST_PP_LIST_FOLD_LEFT_814_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_815(o, s, l) BOOST_PP_LIST_FOLD_LEFT_815_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_816(o, s, l) BOOST_PP_LIST_FOLD_LEFT_816_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_817(o, s, l) BOOST_PP_LIST_FOLD_LEFT_817_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_818(o, s, l) BOOST_PP_LIST_FOLD_LEFT_818_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_819(o, s, l) BOOST_PP_LIST_FOLD_LEFT_819_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_820(o, s, l) BOOST_PP_LIST_FOLD_LEFT_820_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_821(o, s, l) BOOST_PP_LIST_FOLD_LEFT_821_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_822(o, s, l) BOOST_PP_LIST_FOLD_LEFT_822_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_823(o, s, l) BOOST_PP_LIST_FOLD_LEFT_823_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_824(o, s, l) BOOST_PP_LIST_FOLD_LEFT_824_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_825(o, s, l) BOOST_PP_LIST_FOLD_LEFT_825_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_826(o, s, l) BOOST_PP_LIST_FOLD_LEFT_826_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_827(o, s, l) BOOST_PP_LIST_FOLD_LEFT_827_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_828(o, s, l) BOOST_PP_LIST_FOLD_LEFT_828_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_829(o, s, l) BOOST_PP_LIST_FOLD_LEFT_829_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_830(o, s, l) BOOST_PP_LIST_FOLD_LEFT_830_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_831(o, s, l) BOOST_PP_LIST_FOLD_LEFT_831_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_832(o, s, l) BOOST_PP_LIST_FOLD_LEFT_832_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_833(o, s, l) BOOST_PP_LIST_FOLD_LEFT_833_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_834(o, s, l) BOOST_PP_LIST_FOLD_LEFT_834_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_835(o, s, l) BOOST_PP_LIST_FOLD_LEFT_835_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_836(o, s, l) BOOST_PP_LIST_FOLD_LEFT_836_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_837(o, s, l) BOOST_PP_LIST_FOLD_LEFT_837_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_838(o, s, l) BOOST_PP_LIST_FOLD_LEFT_838_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_839(o, s, l) BOOST_PP_LIST_FOLD_LEFT_839_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_840(o, s, l) BOOST_PP_LIST_FOLD_LEFT_840_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_841(o, s, l) BOOST_PP_LIST_FOLD_LEFT_841_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_842(o, s, l) BOOST_PP_LIST_FOLD_LEFT_842_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_843(o, s, l) BOOST_PP_LIST_FOLD_LEFT_843_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_844(o, s, l) BOOST_PP_LIST_FOLD_LEFT_844_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_845(o, s, l) BOOST_PP_LIST_FOLD_LEFT_845_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_846(o, s, l) BOOST_PP_LIST_FOLD_LEFT_846_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_847(o, s, l) BOOST_PP_LIST_FOLD_LEFT_847_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_848(o, s, l) BOOST_PP_LIST_FOLD_LEFT_848_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_849(o, s, l) BOOST_PP_LIST_FOLD_LEFT_849_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_850(o, s, l) BOOST_PP_LIST_FOLD_LEFT_850_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_851(o, s, l) BOOST_PP_LIST_FOLD_LEFT_851_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_852(o, s, l) BOOST_PP_LIST_FOLD_LEFT_852_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_853(o, s, l) BOOST_PP_LIST_FOLD_LEFT_853_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_854(o, s, l) BOOST_PP_LIST_FOLD_LEFT_854_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_855(o, s, l) BOOST_PP_LIST_FOLD_LEFT_855_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_856(o, s, l) BOOST_PP_LIST_FOLD_LEFT_856_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_857(o, s, l) BOOST_PP_LIST_FOLD_LEFT_857_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_858(o, s, l) BOOST_PP_LIST_FOLD_LEFT_858_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_859(o, s, l) BOOST_PP_LIST_FOLD_LEFT_859_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_860(o, s, l) BOOST_PP_LIST_FOLD_LEFT_860_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_861(o, s, l) BOOST_PP_LIST_FOLD_LEFT_861_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_862(o, s, l) BOOST_PP_LIST_FOLD_LEFT_862_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_863(o, s, l) BOOST_PP_LIST_FOLD_LEFT_863_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_864(o, s, l) BOOST_PP_LIST_FOLD_LEFT_864_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_865(o, s, l) BOOST_PP_LIST_FOLD_LEFT_865_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_866(o, s, l) BOOST_PP_LIST_FOLD_LEFT_866_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_867(o, s, l) BOOST_PP_LIST_FOLD_LEFT_867_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_868(o, s, l) BOOST_PP_LIST_FOLD_LEFT_868_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_869(o, s, l) BOOST_PP_LIST_FOLD_LEFT_869_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_870(o, s, l) BOOST_PP_LIST_FOLD_LEFT_870_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_871(o, s, l) BOOST_PP_LIST_FOLD_LEFT_871_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_872(o, s, l) BOOST_PP_LIST_FOLD_LEFT_872_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_873(o, s, l) BOOST_PP_LIST_FOLD_LEFT_873_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_874(o, s, l) BOOST_PP_LIST_FOLD_LEFT_874_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_875(o, s, l) BOOST_PP_LIST_FOLD_LEFT_875_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_876(o, s, l) BOOST_PP_LIST_FOLD_LEFT_876_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_877(o, s, l) BOOST_PP_LIST_FOLD_LEFT_877_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_878(o, s, l) BOOST_PP_LIST_FOLD_LEFT_878_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_879(o, s, l) BOOST_PP_LIST_FOLD_LEFT_879_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_880(o, s, l) BOOST_PP_LIST_FOLD_LEFT_880_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_881(o, s, l) BOOST_PP_LIST_FOLD_LEFT_881_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_882(o, s, l) BOOST_PP_LIST_FOLD_LEFT_882_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_883(o, s, l) BOOST_PP_LIST_FOLD_LEFT_883_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_884(o, s, l) BOOST_PP_LIST_FOLD_LEFT_884_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_885(o, s, l) BOOST_PP_LIST_FOLD_LEFT_885_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_886(o, s, l) BOOST_PP_LIST_FOLD_LEFT_886_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_887(o, s, l) BOOST_PP_LIST_FOLD_LEFT_887_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_888(o, s, l) BOOST_PP_LIST_FOLD_LEFT_888_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_889(o, s, l) BOOST_PP_LIST_FOLD_LEFT_889_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_890(o, s, l) BOOST_PP_LIST_FOLD_LEFT_890_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_891(o, s, l) BOOST_PP_LIST_FOLD_LEFT_891_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_892(o, s, l) BOOST_PP_LIST_FOLD_LEFT_892_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_893(o, s, l) BOOST_PP_LIST_FOLD_LEFT_893_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_894(o, s, l) BOOST_PP_LIST_FOLD_LEFT_894_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_895(o, s, l) BOOST_PP_LIST_FOLD_LEFT_895_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_896(o, s, l) BOOST_PP_LIST_FOLD_LEFT_896_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_897(o, s, l) BOOST_PP_LIST_FOLD_LEFT_897_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_898(o, s, l) BOOST_PP_LIST_FOLD_LEFT_898_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_899(o, s, l) BOOST_PP_LIST_FOLD_LEFT_899_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_900(o, s, l) BOOST_PP_LIST_FOLD_LEFT_900_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_901(o, s, l) BOOST_PP_LIST_FOLD_LEFT_901_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_902(o, s, l) BOOST_PP_LIST_FOLD_LEFT_902_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_903(o, s, l) BOOST_PP_LIST_FOLD_LEFT_903_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_904(o, s, l) BOOST_PP_LIST_FOLD_LEFT_904_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_905(o, s, l) BOOST_PP_LIST_FOLD_LEFT_905_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_906(o, s, l) BOOST_PP_LIST_FOLD_LEFT_906_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_907(o, s, l) BOOST_PP_LIST_FOLD_LEFT_907_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_908(o, s, l) BOOST_PP_LIST_FOLD_LEFT_908_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_909(o, s, l) BOOST_PP_LIST_FOLD_LEFT_909_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_910(o, s, l) BOOST_PP_LIST_FOLD_LEFT_910_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_911(o, s, l) BOOST_PP_LIST_FOLD_LEFT_911_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_912(o, s, l) BOOST_PP_LIST_FOLD_LEFT_912_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_913(o, s, l) BOOST_PP_LIST_FOLD_LEFT_913_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_914(o, s, l) BOOST_PP_LIST_FOLD_LEFT_914_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_915(o, s, l) BOOST_PP_LIST_FOLD_LEFT_915_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_916(o, s, l) BOOST_PP_LIST_FOLD_LEFT_916_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_917(o, s, l) BOOST_PP_LIST_FOLD_LEFT_917_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_918(o, s, l) BOOST_PP_LIST_FOLD_LEFT_918_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_919(o, s, l) BOOST_PP_LIST_FOLD_LEFT_919_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_920(o, s, l) BOOST_PP_LIST_FOLD_LEFT_920_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_921(o, s, l) BOOST_PP_LIST_FOLD_LEFT_921_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_922(o, s, l) BOOST_PP_LIST_FOLD_LEFT_922_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_923(o, s, l) BOOST_PP_LIST_FOLD_LEFT_923_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_924(o, s, l) BOOST_PP_LIST_FOLD_LEFT_924_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_925(o, s, l) BOOST_PP_LIST_FOLD_LEFT_925_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_926(o, s, l) BOOST_PP_LIST_FOLD_LEFT_926_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_927(o, s, l) BOOST_PP_LIST_FOLD_LEFT_927_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_928(o, s, l) BOOST_PP_LIST_FOLD_LEFT_928_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_929(o, s, l) BOOST_PP_LIST_FOLD_LEFT_929_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_930(o, s, l) BOOST_PP_LIST_FOLD_LEFT_930_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_931(o, s, l) BOOST_PP_LIST_FOLD_LEFT_931_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_932(o, s, l) BOOST_PP_LIST_FOLD_LEFT_932_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_933(o, s, l) BOOST_PP_LIST_FOLD_LEFT_933_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_934(o, s, l) BOOST_PP_LIST_FOLD_LEFT_934_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_935(o, s, l) BOOST_PP_LIST_FOLD_LEFT_935_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_936(o, s, l) BOOST_PP_LIST_FOLD_LEFT_936_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_937(o, s, l) BOOST_PP_LIST_FOLD_LEFT_937_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_938(o, s, l) BOOST_PP_LIST_FOLD_LEFT_938_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_939(o, s, l) BOOST_PP_LIST_FOLD_LEFT_939_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_940(o, s, l) BOOST_PP_LIST_FOLD_LEFT_940_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_941(o, s, l) BOOST_PP_LIST_FOLD_LEFT_941_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_942(o, s, l) BOOST_PP_LIST_FOLD_LEFT_942_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_943(o, s, l) BOOST_PP_LIST_FOLD_LEFT_943_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_944(o, s, l) BOOST_PP_LIST_FOLD_LEFT_944_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_945(o, s, l) BOOST_PP_LIST_FOLD_LEFT_945_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_946(o, s, l) BOOST_PP_LIST_FOLD_LEFT_946_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_947(o, s, l) BOOST_PP_LIST_FOLD_LEFT_947_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_948(o, s, l) BOOST_PP_LIST_FOLD_LEFT_948_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_949(o, s, l) BOOST_PP_LIST_FOLD_LEFT_949_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_950(o, s, l) BOOST_PP_LIST_FOLD_LEFT_950_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_951(o, s, l) BOOST_PP_LIST_FOLD_LEFT_951_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_952(o, s, l) BOOST_PP_LIST_FOLD_LEFT_952_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_953(o, s, l) BOOST_PP_LIST_FOLD_LEFT_953_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_954(o, s, l) BOOST_PP_LIST_FOLD_LEFT_954_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_955(o, s, l) BOOST_PP_LIST_FOLD_LEFT_955_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_956(o, s, l) BOOST_PP_LIST_FOLD_LEFT_956_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_957(o, s, l) BOOST_PP_LIST_FOLD_LEFT_957_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_958(o, s, l) BOOST_PP_LIST_FOLD_LEFT_958_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_959(o, s, l) BOOST_PP_LIST_FOLD_LEFT_959_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_960(o, s, l) BOOST_PP_LIST_FOLD_LEFT_960_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_961(o, s, l) BOOST_PP_LIST_FOLD_LEFT_961_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_962(o, s, l) BOOST_PP_LIST_FOLD_LEFT_962_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_963(o, s, l) BOOST_PP_LIST_FOLD_LEFT_963_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_964(o, s, l) BOOST_PP_LIST_FOLD_LEFT_964_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_965(o, s, l) BOOST_PP_LIST_FOLD_LEFT_965_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_966(o, s, l) BOOST_PP_LIST_FOLD_LEFT_966_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_967(o, s, l) BOOST_PP_LIST_FOLD_LEFT_967_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_968(o, s, l) BOOST_PP_LIST_FOLD_LEFT_968_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_969(o, s, l) BOOST_PP_LIST_FOLD_LEFT_969_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_970(o, s, l) BOOST_PP_LIST_FOLD_LEFT_970_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_971(o, s, l) BOOST_PP_LIST_FOLD_LEFT_971_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_972(o, s, l) BOOST_PP_LIST_FOLD_LEFT_972_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_973(o, s, l) BOOST_PP_LIST_FOLD_LEFT_973_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_974(o, s, l) BOOST_PP_LIST_FOLD_LEFT_974_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_975(o, s, l) BOOST_PP_LIST_FOLD_LEFT_975_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_976(o, s, l) BOOST_PP_LIST_FOLD_LEFT_976_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_977(o, s, l) BOOST_PP_LIST_FOLD_LEFT_977_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_978(o, s, l) BOOST_PP_LIST_FOLD_LEFT_978_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_979(o, s, l) BOOST_PP_LIST_FOLD_LEFT_979_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_980(o, s, l) BOOST_PP_LIST_FOLD_LEFT_980_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_981(o, s, l) BOOST_PP_LIST_FOLD_LEFT_981_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_982(o, s, l) BOOST_PP_LIST_FOLD_LEFT_982_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_983(o, s, l) BOOST_PP_LIST_FOLD_LEFT_983_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_984(o, s, l) BOOST_PP_LIST_FOLD_LEFT_984_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_985(o, s, l) BOOST_PP_LIST_FOLD_LEFT_985_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_986(o, s, l) BOOST_PP_LIST_FOLD_LEFT_986_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_987(o, s, l) BOOST_PP_LIST_FOLD_LEFT_987_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_988(o, s, l) BOOST_PP_LIST_FOLD_LEFT_988_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_989(o, s, l) BOOST_PP_LIST_FOLD_LEFT_989_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_990(o, s, l) BOOST_PP_LIST_FOLD_LEFT_990_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_991(o, s, l) BOOST_PP_LIST_FOLD_LEFT_991_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_992(o, s, l) BOOST_PP_LIST_FOLD_LEFT_992_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_993(o, s, l) BOOST_PP_LIST_FOLD_LEFT_993_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_994(o, s, l) BOOST_PP_LIST_FOLD_LEFT_994_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_995(o, s, l) BOOST_PP_LIST_FOLD_LEFT_995_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_996(o, s, l) BOOST_PP_LIST_FOLD_LEFT_996_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_997(o, s, l) BOOST_PP_LIST_FOLD_LEFT_997_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_998(o, s, l) BOOST_PP_LIST_FOLD_LEFT_998_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_999(o, s, l) BOOST_PP_LIST_FOLD_LEFT_999_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1000(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1000_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1001(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1001_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1002(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1002_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1003(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1003_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1004(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1004_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1005(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1005_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1006(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1006_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1007(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1007_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1008(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1008_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1009(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1009_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1010(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1010_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1011(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1011_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1012(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1012_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1013(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1013_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1014(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1014_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1015(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1015_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1016(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1016_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1017(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1017_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1018(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1018_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1019(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1019_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1020(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1020_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1021(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1021_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1022(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1022_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1023(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1023_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1024(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1024_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_LEFT_513_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_514, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(514, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_514_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_515, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(515, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_515_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_516, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(516, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_516_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_517, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(517, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_517_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_518, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(518, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_518_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_519, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(519, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_519_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_520, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(520, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_520_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_521, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(521, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_521_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_522, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(522, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_522_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_523, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(523, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_523_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_524, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(524, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_524_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_525, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(525, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_525_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_526, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(526, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_526_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_527, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(527, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_527_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_528, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(528, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_528_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_529, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(529, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_529_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_530, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(530, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_530_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_531, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(531, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_531_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_532, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(532, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_532_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_533, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(533, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_533_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_534, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(534, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_534_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_535, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(535, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_535_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_536, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(536, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_536_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_537, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(537, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_537_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_538, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(538, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_538_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_539, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(539, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_539_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_540, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(540, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_540_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_541, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(541, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_541_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_542, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(542, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_542_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_543, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(543, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_543_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_544, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(544, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_544_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_545, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(545, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_545_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_546, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(546, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_546_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_547, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(547, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_547_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_548, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(548, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_548_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_549, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(549, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_549_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_550, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(550, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_550_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_551, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(551, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_551_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_552, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(552, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_552_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_553, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(553, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_553_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_554, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(554, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_554_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_555, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(555, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_555_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_556, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(556, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_556_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_557, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(557, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_557_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_558, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(558, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_558_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_559, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(559, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_559_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_560, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(560, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_560_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_561, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(561, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_561_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_562, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(562, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_562_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_563, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(563, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_563_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_564, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(564, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_564_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_565, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(565, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_565_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_566, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(566, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_566_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_567, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(567, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_567_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_568, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(568, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_568_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_569, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(569, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_569_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_570, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(570, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_570_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_571, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(571, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_571_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_572, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(572, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_572_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_573, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(573, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_573_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_574, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(574, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_574_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_575, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(575, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_575_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_576, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(576, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_576_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_577, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(577, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_577_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_578, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(578, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_578_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_579, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(579, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_579_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_580, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(580, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_580_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_581, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(581, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_581_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_582, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(582, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_582_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_583, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(583, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_583_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_584, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(584, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_584_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_585, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(585, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_585_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_586, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(586, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_586_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_587, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(587, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_587_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_588, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(588, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_588_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_589, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(589, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_589_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_590, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(590, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_590_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_591, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(591, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_591_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_592, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(592, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_592_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_593, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(593, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_593_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_594, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(594, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_594_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_595, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(595, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_595_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_596, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(596, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_596_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_597, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(597, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_597_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_598, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(598, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_598_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_599, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(599, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_599_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_600, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(600, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_600_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_601, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(601, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_601_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_602, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(602, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_602_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_603, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(603, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_603_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_604, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(604, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_604_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_605, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(605, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_605_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_606, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(606, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_606_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_607, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(607, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_607_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_608, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(608, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_608_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_609, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(609, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_609_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_610, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(610, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_610_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_611, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(611, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_611_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_612, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(612, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_612_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_613, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(613, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_613_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_614, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(614, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_614_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_615, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(615, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_615_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_616, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(616, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_616_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_617, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(617, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_617_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_618, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(618, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_618_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_619, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(619, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_619_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_620, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(620, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_620_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_621, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(621, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_621_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_622, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(622, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_622_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_623, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(623, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_623_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_624, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(624, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_624_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_625, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(625, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_625_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_626, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(626, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_626_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_627, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(627, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_627_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_628, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(628, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_628_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_629, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(629, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_629_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_630, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(630, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_630_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_631, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(631, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_631_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_632, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(632, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_632_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_633, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(633, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_633_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_634, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(634, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_634_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_635, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(635, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_635_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_636, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(636, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_636_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_637, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(637, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_637_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_638, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(638, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_638_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_639, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(639, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_639_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_640, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(640, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_640_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_641, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(641, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_641_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_642, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(642, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_642_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_643, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(643, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_643_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_644, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(644, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_644_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_645, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(645, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_645_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_646, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(646, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_646_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_647, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(647, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_647_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_648, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(648, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_648_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_649, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(649, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_649_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_650, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(650, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_650_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_651, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(651, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_651_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_652, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(652, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_652_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_653, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(653, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_653_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_654, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(654, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_654_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_655, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(655, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_655_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_656, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(656, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_656_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_657, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(657, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_657_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_658, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(658, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_658_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_659, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(659, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_659_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_660, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(660, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_660_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_661, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(661, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_661_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_662, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(662, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_662_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_663, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(663, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_663_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_664, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(664, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_664_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_665, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(665, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_665_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_666, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(666, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_666_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_667, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(667, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_667_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_668, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(668, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_668_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_669, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(669, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_669_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_670, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(670, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_670_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_671, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(671, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_671_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_672, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(672, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_672_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_673, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(673, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_673_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_674, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(674, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_674_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_675, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(675, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_675_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_676, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(676, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_676_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_677, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(677, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_677_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_678, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(678, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_678_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_679, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(679, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_679_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_680, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(680, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_680_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_681, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(681, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_681_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_682, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(682, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_682_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_683, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(683, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_683_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_684, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(684, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_684_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_685, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(685, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_685_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_686, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(686, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_686_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_687, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(687, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_687_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_688, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(688, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_688_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_689, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(689, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_689_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_690, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(690, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_690_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_691, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(691, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_691_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_692, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(692, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_692_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_693, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(693, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_693_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_694, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(694, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_694_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_695, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(695, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_695_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_696, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(696, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_696_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_697, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(697, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_697_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_698, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(698, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_698_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_699, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(699, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_699_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_700, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(700, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_700_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_701, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(701, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_701_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_702, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(702, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_702_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_703, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(703, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_703_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_704, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(704, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_704_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_705, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(705, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_705_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_706, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(706, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_706_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_707, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(707, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_707_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_708, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(708, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_708_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_709, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(709, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_709_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_710, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(710, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_710_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_711, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(711, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_711_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_712, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(712, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_712_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_713, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(713, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_713_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_714, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(714, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_714_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_715, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(715, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_715_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_716, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(716, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_716_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_717, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(717, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_717_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_718, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(718, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_718_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_719, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(719, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_719_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_720, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(720, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_720_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_721, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(721, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_721_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_722, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(722, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_722_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_723, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(723, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_723_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_724, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(724, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_724_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_725, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(725, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_725_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_726, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(726, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_726_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_727, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(727, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_727_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_728, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(728, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_728_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_729, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(729, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_729_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_730, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(730, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_730_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_731, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(731, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_731_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_732, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(732, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_732_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_733, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(733, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_733_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_734, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(734, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_734_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_735, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(735, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_735_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_736, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(736, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_736_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_737, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(737, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_737_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_738, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(738, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_738_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_739, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(739, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_739_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_740, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(740, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_740_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_741, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(741, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_741_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_742, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(742, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_742_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_743, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(743, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_743_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_744, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(744, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_744_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_745, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(745, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_745_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_746, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(746, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_746_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_747, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(747, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_747_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_748, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(748, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_748_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_749, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(749, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_749_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_750, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(750, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_750_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_751, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(751, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_751_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_752, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(752, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_752_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_753, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(753, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_753_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_754, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(754, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_754_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_755, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(755, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_755_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_756, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(756, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_756_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_757, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(757, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_757_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_758, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(758, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_758_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_759, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(759, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_759_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_760, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(760, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_760_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_761, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(761, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_761_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_762, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(762, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_762_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_763, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(763, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_763_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_764, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(764, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_764_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_765, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(765, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_765_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_766, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(766, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_766_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_767, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(767, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_767_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_768, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(768, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_768_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_769, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(769, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_769_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_770, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(770, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_770_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_771, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(771, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_771_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_772, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(772, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_772_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_773, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(773, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_773_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_774, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(774, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_774_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_775, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(775, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_775_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_776, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(776, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_776_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_777, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(777, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_777_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_778, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(778, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_778_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_779, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(779, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_779_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_780, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(780, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_780_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_781, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(781, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_781_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_782, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(782, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_782_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_783, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(783, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_783_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_784, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(784, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_784_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_785, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(785, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_785_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_786, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(786, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_786_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_787, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(787, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_787_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_788, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(788, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_788_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_789, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(789, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_789_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_790, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(790, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_790_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_791, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(791, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_791_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_792, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(792, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_792_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_793, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(793, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_793_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_794, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(794, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_794_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_795, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(795, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_795_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_796, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(796, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_796_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_797, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(797, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_797_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_798, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(798, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_798_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_799, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(799, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_799_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_800, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(800, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_800_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_801, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(801, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_801_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_802, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(802, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_802_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_803, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(803, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_803_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_804, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(804, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_804_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_805, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(805, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_805_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_806, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(806, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_806_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_807, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(807, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_807_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_808, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(808, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_808_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_809, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(809, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_809_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_810, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(810, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_810_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_811, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(811, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_811_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_812, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(812, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_812_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_813, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(813, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_813_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_814, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(814, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_814_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_815, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(815, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_815_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_816, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(816, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_816_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_817, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(817, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_817_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_818, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(818, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_818_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_819, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(819, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_819_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_820, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(820, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_820_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_821, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(821, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_821_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_822, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(822, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_822_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_823, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(823, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_823_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_824, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(824, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_824_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_825, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(825, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_825_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_826, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(826, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_826_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_827, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(827, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_827_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_828, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(828, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_828_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_829, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(829, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_829_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_830, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(830, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_830_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_831, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(831, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_831_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_832, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(832, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_832_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_833, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(833, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_833_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_834, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(834, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_834_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_835, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(835, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_835_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_836, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(836, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_836_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_837, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(837, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_837_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_838, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(838, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_838_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_839, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(839, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_839_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_840, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(840, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_840_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_841, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(841, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_841_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_842, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(842, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_842_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_843, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(843, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_843_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_844, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(844, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_844_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_845, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(845, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_845_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_846, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(846, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_846_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_847, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(847, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_847_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_848, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(848, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_848_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_849, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(849, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_849_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_850, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(850, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_850_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_851, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(851, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_851_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_852, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(852, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_852_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_853, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(853, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_853_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_854, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(854, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_854_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_855, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(855, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_855_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_856, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(856, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_856_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_857, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(857, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_857_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_858, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(858, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_858_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_859, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(859, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_859_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_860, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(860, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_860_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_861, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(861, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_861_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_862, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(862, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_862_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_863, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(863, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_863_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_864, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(864, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_864_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_865, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(865, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_865_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_866, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(866, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_866_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_867, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(867, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_867_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_868, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(868, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_868_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_869, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(869, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_869_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_870, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(870, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_870_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_871, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(871, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_871_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_872, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(872, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_872_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_873, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(873, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_873_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_874, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(874, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_874_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_875, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(875, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_875_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_876, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(876, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_876_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_877, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(877, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_877_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_878, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(878, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_878_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_879, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(879, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_879_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_880, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(880, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_880_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_881, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(881, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_881_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_882, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(882, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_882_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_883, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(883, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_883_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_884, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(884, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_884_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_885, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(885, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_885_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_886, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(886, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_886_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_887, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(887, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_887_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_888, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(888, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_888_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_889, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(889, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_889_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_890, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(890, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_890_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_891, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(891, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_891_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_892, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(892, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_892_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_893, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(893, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_893_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_894, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(894, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_894_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_895, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(895, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_895_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_896, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(896, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_896_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_897, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(897, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_897_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_898, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(898, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_898_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_899, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(899, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_899_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_900, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(900, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_900_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_901, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(901, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_901_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_902, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(902, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_902_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_903, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(903, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_903_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_904, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(904, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_904_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_905, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(905, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_905_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_906, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(906, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_906_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_907, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(907, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_907_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_908, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(908, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_908_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_909, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(909, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_909_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_910, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(910, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_910_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_911, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(911, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_911_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_912, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(912, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_912_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_913, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(913, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_913_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_914, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(914, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_914_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_915, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(915, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_915_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_916, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(916, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_916_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_917, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(917, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_917_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_918, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(918, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_918_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_919, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(919, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_919_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_920, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(920, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_920_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_921, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(921, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_921_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_922, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(922, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_922_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_923, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(923, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_923_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_924, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(924, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_924_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_925, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(925, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_925_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_926, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(926, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_926_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_927, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(927, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_927_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_928, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(928, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_928_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_929, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(929, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_929_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_930, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(930, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_930_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_931, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(931, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_931_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_932, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(932, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_932_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_933, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(933, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_933_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_934, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(934, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_934_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_935, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(935, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_935_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_936, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(936, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_936_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_937, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(937, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_937_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_938, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(938, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_938_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_939, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(939, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_939_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_940, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(940, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_940_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_941, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(941, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_941_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_942, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(942, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_942_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_943, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(943, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_943_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_944, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(944, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_944_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_945, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(945, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_945_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_946, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(946, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_946_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_947, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(947, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_947_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_948, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(948, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_948_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_949, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(949, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_949_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_950, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(950, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_950_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_951, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(951, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_951_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_952, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(952, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_952_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_953, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(953, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_953_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_954, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(954, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_954_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_955, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(955, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_955_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_956, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(956, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_956_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_957, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(957, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_957_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_958, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(958, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_958_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_959, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(959, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_959_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_960, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(960, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_960_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_961, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(961, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_961_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_962, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(962, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_962_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_963, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(963, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_963_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_964, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(964, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_964_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_965, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(965, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_965_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_966, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(966, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_966_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_967, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(967, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_967_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_968, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(968, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_968_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_969, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(969, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_969_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_970, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(970, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_970_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_971, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(971, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_971_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_972, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(972, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_972_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_973, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(973, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_973_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_974, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(974, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_974_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_975, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(975, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_975_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_976, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(976, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_976_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_977, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(977, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_977_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_978, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(978, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_978_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_979, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(979, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_979_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_980, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(980, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_980_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_981, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(981, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_981_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_982, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(982, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_982_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_983, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(983, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_983_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_984, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(984, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_984_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_985, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(985, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_985_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_986, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(986, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_986_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_987, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(987, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_987_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_988, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(988, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_988_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_989, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(989, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_989_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_990, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(990, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_990_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_991, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(991, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_991_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_992, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(992, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_992_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_993, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(993, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_993_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_994, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(994, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_994_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_995, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(995, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_995_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_996, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(996, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_996_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_997, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(997, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_997_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_998, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(998, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_998_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_999, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(999, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_999_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1000, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1000, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1000_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1001, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1001, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1001_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1002, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1002, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1002_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1003, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1003, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1003_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1004, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1004, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1004_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1005, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1005, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1005_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1006, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1006, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1006_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1007, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1007, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1007_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1008, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1008, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1008_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1009, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1009, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1009_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1010, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1010, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1010_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1011, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1011, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1011_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1012, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1012, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1012_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1013, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1013, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1013_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1014, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1014, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1014_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1015, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1015, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1015_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1016, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1016, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1016_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1017, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1017, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1017_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1018, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1018, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1018_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1019, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1019, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1019_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1020, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1020, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1020_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1021, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1021, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1021_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1022, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1022, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1022_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1023, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1023, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1023_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1024, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1024, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1024_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1025, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1025, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp new file mode 100644 index 0000000000..5dc7cb16bd --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp @@ -0,0 +1,533 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_256_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_256_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_0(o, s, l) BOOST_PP_LIST_FOLD_LEFT_0_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_LEFT_0_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp new file mode 100644 index 0000000000..62465f3798 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_512_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_512_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_LIST_FOLD_LEFT_257_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_258(o, s, l) BOOST_PP_LIST_FOLD_LEFT_258_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_259(o, s, l) BOOST_PP_LIST_FOLD_LEFT_259_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_260(o, s, l) BOOST_PP_LIST_FOLD_LEFT_260_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_261(o, s, l) BOOST_PP_LIST_FOLD_LEFT_261_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_262(o, s, l) BOOST_PP_LIST_FOLD_LEFT_262_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_263(o, s, l) BOOST_PP_LIST_FOLD_LEFT_263_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_264(o, s, l) BOOST_PP_LIST_FOLD_LEFT_264_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_265(o, s, l) BOOST_PP_LIST_FOLD_LEFT_265_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_266(o, s, l) BOOST_PP_LIST_FOLD_LEFT_266_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_267(o, s, l) BOOST_PP_LIST_FOLD_LEFT_267_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_268(o, s, l) BOOST_PP_LIST_FOLD_LEFT_268_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_269(o, s, l) BOOST_PP_LIST_FOLD_LEFT_269_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_270(o, s, l) BOOST_PP_LIST_FOLD_LEFT_270_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_271(o, s, l) BOOST_PP_LIST_FOLD_LEFT_271_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_272(o, s, l) BOOST_PP_LIST_FOLD_LEFT_272_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_273(o, s, l) BOOST_PP_LIST_FOLD_LEFT_273_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_274(o, s, l) BOOST_PP_LIST_FOLD_LEFT_274_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_275(o, s, l) BOOST_PP_LIST_FOLD_LEFT_275_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_276(o, s, l) BOOST_PP_LIST_FOLD_LEFT_276_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_277(o, s, l) BOOST_PP_LIST_FOLD_LEFT_277_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_278(o, s, l) BOOST_PP_LIST_FOLD_LEFT_278_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_279(o, s, l) BOOST_PP_LIST_FOLD_LEFT_279_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_280(o, s, l) BOOST_PP_LIST_FOLD_LEFT_280_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_281(o, s, l) BOOST_PP_LIST_FOLD_LEFT_281_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_282(o, s, l) BOOST_PP_LIST_FOLD_LEFT_282_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_283(o, s, l) BOOST_PP_LIST_FOLD_LEFT_283_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_284(o, s, l) BOOST_PP_LIST_FOLD_LEFT_284_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_285(o, s, l) BOOST_PP_LIST_FOLD_LEFT_285_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_286(o, s, l) BOOST_PP_LIST_FOLD_LEFT_286_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_287(o, s, l) BOOST_PP_LIST_FOLD_LEFT_287_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_288(o, s, l) BOOST_PP_LIST_FOLD_LEFT_288_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_289(o, s, l) BOOST_PP_LIST_FOLD_LEFT_289_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_290(o, s, l) BOOST_PP_LIST_FOLD_LEFT_290_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_291(o, s, l) BOOST_PP_LIST_FOLD_LEFT_291_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_292(o, s, l) BOOST_PP_LIST_FOLD_LEFT_292_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_293(o, s, l) BOOST_PP_LIST_FOLD_LEFT_293_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_294(o, s, l) BOOST_PP_LIST_FOLD_LEFT_294_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_295(o, s, l) BOOST_PP_LIST_FOLD_LEFT_295_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_296(o, s, l) BOOST_PP_LIST_FOLD_LEFT_296_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_297(o, s, l) BOOST_PP_LIST_FOLD_LEFT_297_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_298(o, s, l) BOOST_PP_LIST_FOLD_LEFT_298_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_299(o, s, l) BOOST_PP_LIST_FOLD_LEFT_299_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_300(o, s, l) BOOST_PP_LIST_FOLD_LEFT_300_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_301(o, s, l) BOOST_PP_LIST_FOLD_LEFT_301_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_302(o, s, l) BOOST_PP_LIST_FOLD_LEFT_302_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_303(o, s, l) BOOST_PP_LIST_FOLD_LEFT_303_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_304(o, s, l) BOOST_PP_LIST_FOLD_LEFT_304_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_305(o, s, l) BOOST_PP_LIST_FOLD_LEFT_305_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_306(o, s, l) BOOST_PP_LIST_FOLD_LEFT_306_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_307(o, s, l) BOOST_PP_LIST_FOLD_LEFT_307_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_308(o, s, l) BOOST_PP_LIST_FOLD_LEFT_308_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_309(o, s, l) BOOST_PP_LIST_FOLD_LEFT_309_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_310(o, s, l) BOOST_PP_LIST_FOLD_LEFT_310_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_311(o, s, l) BOOST_PP_LIST_FOLD_LEFT_311_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_312(o, s, l) BOOST_PP_LIST_FOLD_LEFT_312_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_313(o, s, l) BOOST_PP_LIST_FOLD_LEFT_313_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_314(o, s, l) BOOST_PP_LIST_FOLD_LEFT_314_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_315(o, s, l) BOOST_PP_LIST_FOLD_LEFT_315_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_316(o, s, l) BOOST_PP_LIST_FOLD_LEFT_316_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_317(o, s, l) BOOST_PP_LIST_FOLD_LEFT_317_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_318(o, s, l) BOOST_PP_LIST_FOLD_LEFT_318_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_319(o, s, l) BOOST_PP_LIST_FOLD_LEFT_319_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_320(o, s, l) BOOST_PP_LIST_FOLD_LEFT_320_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_321(o, s, l) BOOST_PP_LIST_FOLD_LEFT_321_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_322(o, s, l) BOOST_PP_LIST_FOLD_LEFT_322_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_323(o, s, l) BOOST_PP_LIST_FOLD_LEFT_323_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_324(o, s, l) BOOST_PP_LIST_FOLD_LEFT_324_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_325(o, s, l) BOOST_PP_LIST_FOLD_LEFT_325_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_326(o, s, l) BOOST_PP_LIST_FOLD_LEFT_326_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_327(o, s, l) BOOST_PP_LIST_FOLD_LEFT_327_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_328(o, s, l) BOOST_PP_LIST_FOLD_LEFT_328_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_329(o, s, l) BOOST_PP_LIST_FOLD_LEFT_329_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_330(o, s, l) BOOST_PP_LIST_FOLD_LEFT_330_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_331(o, s, l) BOOST_PP_LIST_FOLD_LEFT_331_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_332(o, s, l) BOOST_PP_LIST_FOLD_LEFT_332_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_333(o, s, l) BOOST_PP_LIST_FOLD_LEFT_333_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_334(o, s, l) BOOST_PP_LIST_FOLD_LEFT_334_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_335(o, s, l) BOOST_PP_LIST_FOLD_LEFT_335_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_336(o, s, l) BOOST_PP_LIST_FOLD_LEFT_336_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_337(o, s, l) BOOST_PP_LIST_FOLD_LEFT_337_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_338(o, s, l) BOOST_PP_LIST_FOLD_LEFT_338_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_339(o, s, l) BOOST_PP_LIST_FOLD_LEFT_339_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_340(o, s, l) BOOST_PP_LIST_FOLD_LEFT_340_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_341(o, s, l) BOOST_PP_LIST_FOLD_LEFT_341_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_342(o, s, l) BOOST_PP_LIST_FOLD_LEFT_342_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_343(o, s, l) BOOST_PP_LIST_FOLD_LEFT_343_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_344(o, s, l) BOOST_PP_LIST_FOLD_LEFT_344_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_345(o, s, l) BOOST_PP_LIST_FOLD_LEFT_345_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_346(o, s, l) BOOST_PP_LIST_FOLD_LEFT_346_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_347(o, s, l) BOOST_PP_LIST_FOLD_LEFT_347_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_348(o, s, l) BOOST_PP_LIST_FOLD_LEFT_348_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_349(o, s, l) BOOST_PP_LIST_FOLD_LEFT_349_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_350(o, s, l) BOOST_PP_LIST_FOLD_LEFT_350_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_351(o, s, l) BOOST_PP_LIST_FOLD_LEFT_351_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_352(o, s, l) BOOST_PP_LIST_FOLD_LEFT_352_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_353(o, s, l) BOOST_PP_LIST_FOLD_LEFT_353_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_354(o, s, l) BOOST_PP_LIST_FOLD_LEFT_354_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_355(o, s, l) BOOST_PP_LIST_FOLD_LEFT_355_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_356(o, s, l) BOOST_PP_LIST_FOLD_LEFT_356_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_357(o, s, l) BOOST_PP_LIST_FOLD_LEFT_357_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_358(o, s, l) BOOST_PP_LIST_FOLD_LEFT_358_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_359(o, s, l) BOOST_PP_LIST_FOLD_LEFT_359_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_360(o, s, l) BOOST_PP_LIST_FOLD_LEFT_360_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_361(o, s, l) BOOST_PP_LIST_FOLD_LEFT_361_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_362(o, s, l) BOOST_PP_LIST_FOLD_LEFT_362_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_363(o, s, l) BOOST_PP_LIST_FOLD_LEFT_363_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_364(o, s, l) BOOST_PP_LIST_FOLD_LEFT_364_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_365(o, s, l) BOOST_PP_LIST_FOLD_LEFT_365_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_366(o, s, l) BOOST_PP_LIST_FOLD_LEFT_366_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_367(o, s, l) BOOST_PP_LIST_FOLD_LEFT_367_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_368(o, s, l) BOOST_PP_LIST_FOLD_LEFT_368_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_369(o, s, l) BOOST_PP_LIST_FOLD_LEFT_369_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_370(o, s, l) BOOST_PP_LIST_FOLD_LEFT_370_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_371(o, s, l) BOOST_PP_LIST_FOLD_LEFT_371_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_372(o, s, l) BOOST_PP_LIST_FOLD_LEFT_372_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_373(o, s, l) BOOST_PP_LIST_FOLD_LEFT_373_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_374(o, s, l) BOOST_PP_LIST_FOLD_LEFT_374_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_375(o, s, l) BOOST_PP_LIST_FOLD_LEFT_375_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_376(o, s, l) BOOST_PP_LIST_FOLD_LEFT_376_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_377(o, s, l) BOOST_PP_LIST_FOLD_LEFT_377_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_378(o, s, l) BOOST_PP_LIST_FOLD_LEFT_378_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_379(o, s, l) BOOST_PP_LIST_FOLD_LEFT_379_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_380(o, s, l) BOOST_PP_LIST_FOLD_LEFT_380_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_381(o, s, l) BOOST_PP_LIST_FOLD_LEFT_381_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_382(o, s, l) BOOST_PP_LIST_FOLD_LEFT_382_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_383(o, s, l) BOOST_PP_LIST_FOLD_LEFT_383_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_384(o, s, l) BOOST_PP_LIST_FOLD_LEFT_384_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_385(o, s, l) BOOST_PP_LIST_FOLD_LEFT_385_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_386(o, s, l) BOOST_PP_LIST_FOLD_LEFT_386_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_387(o, s, l) BOOST_PP_LIST_FOLD_LEFT_387_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_388(o, s, l) BOOST_PP_LIST_FOLD_LEFT_388_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_389(o, s, l) BOOST_PP_LIST_FOLD_LEFT_389_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_390(o, s, l) BOOST_PP_LIST_FOLD_LEFT_390_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_391(o, s, l) BOOST_PP_LIST_FOLD_LEFT_391_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_392(o, s, l) BOOST_PP_LIST_FOLD_LEFT_392_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_393(o, s, l) BOOST_PP_LIST_FOLD_LEFT_393_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_394(o, s, l) BOOST_PP_LIST_FOLD_LEFT_394_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_395(o, s, l) BOOST_PP_LIST_FOLD_LEFT_395_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_396(o, s, l) BOOST_PP_LIST_FOLD_LEFT_396_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_397(o, s, l) BOOST_PP_LIST_FOLD_LEFT_397_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_398(o, s, l) BOOST_PP_LIST_FOLD_LEFT_398_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_399(o, s, l) BOOST_PP_LIST_FOLD_LEFT_399_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_400(o, s, l) BOOST_PP_LIST_FOLD_LEFT_400_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_401(o, s, l) BOOST_PP_LIST_FOLD_LEFT_401_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_402(o, s, l) BOOST_PP_LIST_FOLD_LEFT_402_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_403(o, s, l) BOOST_PP_LIST_FOLD_LEFT_403_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_404(o, s, l) BOOST_PP_LIST_FOLD_LEFT_404_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_405(o, s, l) BOOST_PP_LIST_FOLD_LEFT_405_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_406(o, s, l) BOOST_PP_LIST_FOLD_LEFT_406_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_407(o, s, l) BOOST_PP_LIST_FOLD_LEFT_407_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_408(o, s, l) BOOST_PP_LIST_FOLD_LEFT_408_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_409(o, s, l) BOOST_PP_LIST_FOLD_LEFT_409_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_410(o, s, l) BOOST_PP_LIST_FOLD_LEFT_410_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_411(o, s, l) BOOST_PP_LIST_FOLD_LEFT_411_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_412(o, s, l) BOOST_PP_LIST_FOLD_LEFT_412_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_413(o, s, l) BOOST_PP_LIST_FOLD_LEFT_413_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_414(o, s, l) BOOST_PP_LIST_FOLD_LEFT_414_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_415(o, s, l) BOOST_PP_LIST_FOLD_LEFT_415_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_416(o, s, l) BOOST_PP_LIST_FOLD_LEFT_416_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_417(o, s, l) BOOST_PP_LIST_FOLD_LEFT_417_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_418(o, s, l) BOOST_PP_LIST_FOLD_LEFT_418_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_419(o, s, l) BOOST_PP_LIST_FOLD_LEFT_419_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_420(o, s, l) BOOST_PP_LIST_FOLD_LEFT_420_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_421(o, s, l) BOOST_PP_LIST_FOLD_LEFT_421_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_422(o, s, l) BOOST_PP_LIST_FOLD_LEFT_422_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_423(o, s, l) BOOST_PP_LIST_FOLD_LEFT_423_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_424(o, s, l) BOOST_PP_LIST_FOLD_LEFT_424_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_425(o, s, l) BOOST_PP_LIST_FOLD_LEFT_425_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_426(o, s, l) BOOST_PP_LIST_FOLD_LEFT_426_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_427(o, s, l) BOOST_PP_LIST_FOLD_LEFT_427_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_428(o, s, l) BOOST_PP_LIST_FOLD_LEFT_428_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_429(o, s, l) BOOST_PP_LIST_FOLD_LEFT_429_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_430(o, s, l) BOOST_PP_LIST_FOLD_LEFT_430_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_431(o, s, l) BOOST_PP_LIST_FOLD_LEFT_431_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_432(o, s, l) BOOST_PP_LIST_FOLD_LEFT_432_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_433(o, s, l) BOOST_PP_LIST_FOLD_LEFT_433_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_434(o, s, l) BOOST_PP_LIST_FOLD_LEFT_434_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_435(o, s, l) BOOST_PP_LIST_FOLD_LEFT_435_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_436(o, s, l) BOOST_PP_LIST_FOLD_LEFT_436_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_437(o, s, l) BOOST_PP_LIST_FOLD_LEFT_437_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_438(o, s, l) BOOST_PP_LIST_FOLD_LEFT_438_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_439(o, s, l) BOOST_PP_LIST_FOLD_LEFT_439_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_440(o, s, l) BOOST_PP_LIST_FOLD_LEFT_440_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_441(o, s, l) BOOST_PP_LIST_FOLD_LEFT_441_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_442(o, s, l) BOOST_PP_LIST_FOLD_LEFT_442_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_443(o, s, l) BOOST_PP_LIST_FOLD_LEFT_443_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_444(o, s, l) BOOST_PP_LIST_FOLD_LEFT_444_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_445(o, s, l) BOOST_PP_LIST_FOLD_LEFT_445_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_446(o, s, l) BOOST_PP_LIST_FOLD_LEFT_446_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_447(o, s, l) BOOST_PP_LIST_FOLD_LEFT_447_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_448(o, s, l) BOOST_PP_LIST_FOLD_LEFT_448_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_449(o, s, l) BOOST_PP_LIST_FOLD_LEFT_449_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_450(o, s, l) BOOST_PP_LIST_FOLD_LEFT_450_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_451(o, s, l) BOOST_PP_LIST_FOLD_LEFT_451_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_452(o, s, l) BOOST_PP_LIST_FOLD_LEFT_452_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_453(o, s, l) BOOST_PP_LIST_FOLD_LEFT_453_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_454(o, s, l) BOOST_PP_LIST_FOLD_LEFT_454_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_455(o, s, l) BOOST_PP_LIST_FOLD_LEFT_455_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_456(o, s, l) BOOST_PP_LIST_FOLD_LEFT_456_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_457(o, s, l) BOOST_PP_LIST_FOLD_LEFT_457_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_458(o, s, l) BOOST_PP_LIST_FOLD_LEFT_458_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_459(o, s, l) BOOST_PP_LIST_FOLD_LEFT_459_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_460(o, s, l) BOOST_PP_LIST_FOLD_LEFT_460_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_461(o, s, l) BOOST_PP_LIST_FOLD_LEFT_461_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_462(o, s, l) BOOST_PP_LIST_FOLD_LEFT_462_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_463(o, s, l) BOOST_PP_LIST_FOLD_LEFT_463_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_464(o, s, l) BOOST_PP_LIST_FOLD_LEFT_464_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_465(o, s, l) BOOST_PP_LIST_FOLD_LEFT_465_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_466(o, s, l) BOOST_PP_LIST_FOLD_LEFT_466_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_467(o, s, l) BOOST_PP_LIST_FOLD_LEFT_467_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_468(o, s, l) BOOST_PP_LIST_FOLD_LEFT_468_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_469(o, s, l) BOOST_PP_LIST_FOLD_LEFT_469_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_470(o, s, l) BOOST_PP_LIST_FOLD_LEFT_470_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_471(o, s, l) BOOST_PP_LIST_FOLD_LEFT_471_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_472(o, s, l) BOOST_PP_LIST_FOLD_LEFT_472_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_473(o, s, l) BOOST_PP_LIST_FOLD_LEFT_473_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_474(o, s, l) BOOST_PP_LIST_FOLD_LEFT_474_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_475(o, s, l) BOOST_PP_LIST_FOLD_LEFT_475_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_476(o, s, l) BOOST_PP_LIST_FOLD_LEFT_476_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_477(o, s, l) BOOST_PP_LIST_FOLD_LEFT_477_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_478(o, s, l) BOOST_PP_LIST_FOLD_LEFT_478_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_479(o, s, l) BOOST_PP_LIST_FOLD_LEFT_479_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_480(o, s, l) BOOST_PP_LIST_FOLD_LEFT_480_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_481(o, s, l) BOOST_PP_LIST_FOLD_LEFT_481_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_482(o, s, l) BOOST_PP_LIST_FOLD_LEFT_482_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_483(o, s, l) BOOST_PP_LIST_FOLD_LEFT_483_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_484(o, s, l) BOOST_PP_LIST_FOLD_LEFT_484_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_485(o, s, l) BOOST_PP_LIST_FOLD_LEFT_485_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_486(o, s, l) BOOST_PP_LIST_FOLD_LEFT_486_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_487(o, s, l) BOOST_PP_LIST_FOLD_LEFT_487_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_488(o, s, l) BOOST_PP_LIST_FOLD_LEFT_488_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_489(o, s, l) BOOST_PP_LIST_FOLD_LEFT_489_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_490(o, s, l) BOOST_PP_LIST_FOLD_LEFT_490_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_491(o, s, l) BOOST_PP_LIST_FOLD_LEFT_491_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_492(o, s, l) BOOST_PP_LIST_FOLD_LEFT_492_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_493(o, s, l) BOOST_PP_LIST_FOLD_LEFT_493_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_494(o, s, l) BOOST_PP_LIST_FOLD_LEFT_494_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_495(o, s, l) BOOST_PP_LIST_FOLD_LEFT_495_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_496(o, s, l) BOOST_PP_LIST_FOLD_LEFT_496_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_497(o, s, l) BOOST_PP_LIST_FOLD_LEFT_497_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_498(o, s, l) BOOST_PP_LIST_FOLD_LEFT_498_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_499(o, s, l) BOOST_PP_LIST_FOLD_LEFT_499_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_500(o, s, l) BOOST_PP_LIST_FOLD_LEFT_500_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_501(o, s, l) BOOST_PP_LIST_FOLD_LEFT_501_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_502(o, s, l) BOOST_PP_LIST_FOLD_LEFT_502_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_503(o, s, l) BOOST_PP_LIST_FOLD_LEFT_503_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_504(o, s, l) BOOST_PP_LIST_FOLD_LEFT_504_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_505(o, s, l) BOOST_PP_LIST_FOLD_LEFT_505_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_506(o, s, l) BOOST_PP_LIST_FOLD_LEFT_506_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_507(o, s, l) BOOST_PP_LIST_FOLD_LEFT_507_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_508(o, s, l) BOOST_PP_LIST_FOLD_LEFT_508_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_509(o, s, l) BOOST_PP_LIST_FOLD_LEFT_509_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_510(o, s, l) BOOST_PP_LIST_FOLD_LEFT_510_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_511(o, s, l) BOOST_PP_LIST_FOLD_LEFT_511_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_512(o, s, l) BOOST_PP_LIST_FOLD_LEFT_512_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_LEFT_257_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_258, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(258, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_258_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_259, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(259, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_259_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_260, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(260, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_260_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_261, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(261, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_261_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_262, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(262, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_262_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_263, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(263, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_263_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_264, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(264, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_264_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_265, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(265, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_265_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_266, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(266, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_266_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_267, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(267, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_267_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_268, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(268, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_268_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_269, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(269, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_269_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_270, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(270, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_270_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_271, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(271, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_271_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_272, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(272, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_272_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_273, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(273, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_273_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_274, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(274, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_274_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_275, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(275, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_275_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_276, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(276, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_276_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_277, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(277, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_277_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_278, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(278, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_278_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_279, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(279, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_279_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_280, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(280, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_280_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_281, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(281, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_281_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_282, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(282, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_282_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_283, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(283, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_283_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_284, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(284, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_284_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_285, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(285, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_285_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_286, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(286, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_286_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_287, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(287, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_287_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_288, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(288, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_288_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_289, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(289, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_289_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_290, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(290, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_290_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_291, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(291, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_291_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_292, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(292, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_292_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_293, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(293, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_293_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_294, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(294, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_294_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_295, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(295, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_295_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_296, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(296, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_296_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_297, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(297, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_297_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_298, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(298, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_298_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_299, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(299, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_299_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_300, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(300, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_300_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_301, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(301, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_301_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_302, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(302, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_302_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_303, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(303, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_303_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_304, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(304, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_304_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_305, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(305, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_305_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_306, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(306, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_306_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_307, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(307, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_307_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_308, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(308, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_308_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_309, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(309, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_309_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_310, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(310, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_310_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_311, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(311, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_311_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_312, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(312, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_312_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_313, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(313, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_313_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_314, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(314, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_314_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_315, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(315, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_315_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_316, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(316, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_316_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_317, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(317, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_317_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_318, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(318, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_318_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_319, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(319, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_319_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_320, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(320, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_320_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_321, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(321, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_321_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_322, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(322, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_322_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_323, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(323, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_323_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_324, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(324, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_324_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_325, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(325, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_325_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_326, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(326, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_326_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_327, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(327, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_327_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_328, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(328, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_328_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_329, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(329, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_329_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_330, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(330, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_330_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_331, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(331, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_331_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_332, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(332, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_332_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_333, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(333, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_333_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_334, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(334, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_334_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_335, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(335, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_335_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_336, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(336, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_336_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_337, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(337, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_337_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_338, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(338, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_338_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_339, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(339, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_339_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_340, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(340, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_340_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_341, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(341, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_341_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_342, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(342, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_342_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_343, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(343, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_343_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_344, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(344, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_344_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_345, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(345, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_345_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_346, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(346, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_346_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_347, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(347, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_347_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_348, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(348, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_348_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_349, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(349, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_349_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_350, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(350, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_350_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_351, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(351, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_351_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_352, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(352, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_352_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_353, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(353, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_353_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_354, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(354, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_354_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_355, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(355, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_355_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_356, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(356, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_356_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_357, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(357, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_357_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_358, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(358, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_358_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_359, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(359, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_359_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_360, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(360, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_360_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_361, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(361, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_361_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_362, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(362, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_362_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_363, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(363, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_363_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_364, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(364, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_364_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_365, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(365, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_365_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_366, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(366, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_366_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_367, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(367, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_367_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_368, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(368, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_368_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_369, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(369, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_369_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_370, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(370, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_370_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_371, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(371, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_371_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_372, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(372, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_372_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_373, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(373, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_373_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_374, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(374, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_374_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_375, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(375, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_375_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_376, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(376, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_376_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_377, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(377, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_377_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_378, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(378, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_378_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_379, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(379, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_379_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_380, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(380, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_380_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_381, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(381, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_381_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_382, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(382, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_382_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_383, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(383, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_383_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_384, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(384, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_384_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_385, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(385, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_385_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_386, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(386, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_386_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_387, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(387, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_387_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_388, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(388, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_388_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_389, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(389, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_389_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_390, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(390, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_390_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_391, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(391, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_391_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_392, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(392, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_392_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_393, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(393, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_393_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_394, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(394, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_394_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_395, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(395, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_395_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_396, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(396, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_396_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_397, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(397, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_397_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_398, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(398, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_398_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_399, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(399, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_399_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_400, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(400, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_400_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_401, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(401, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_401_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_402, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(402, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_402_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_403, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(403, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_403_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_404, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(404, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_404_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_405, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(405, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_405_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_406, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(406, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_406_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_407, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(407, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_407_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_408, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(408, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_408_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_409, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(409, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_409_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_410, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(410, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_410_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_411, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(411, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_411_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_412, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(412, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_412_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_413, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(413, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_413_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_414, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(414, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_414_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_415, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(415, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_415_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_416, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(416, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_416_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_417, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(417, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_417_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_418, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(418, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_418_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_419, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(419, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_419_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_420, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(420, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_420_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_421, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(421, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_421_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_422, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(422, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_422_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_423, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(423, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_423_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_424, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(424, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_424_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_425, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(425, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_425_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_426, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(426, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_426_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_427, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(427, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_427_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_428, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(428, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_428_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_429, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(429, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_429_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_430, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(430, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_430_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_431, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(431, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_431_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_432, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(432, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_432_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_433, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(433, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_433_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_434, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(434, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_434_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_435, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(435, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_435_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_436, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(436, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_436_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_437, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(437, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_437_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_438, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(438, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_438_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_439, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(439, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_439_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_440, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(440, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_440_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_441, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(441, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_441_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_442, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(442, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_442_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_443, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(443, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_443_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_444, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(444, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_444_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_445, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(445, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_445_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_446, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(446, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_446_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_447, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(447, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_447_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_448, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(448, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_448_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_449, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(449, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_449_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_450, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(450, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_450_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_451, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(451, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_451_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_452, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(452, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_452_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_453, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(453, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_453_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_454, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(454, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_454_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_455, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(455, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_455_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_456, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(456, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_456_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_457, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(457, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_457_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_458, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(458, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_458_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_459, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(459, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_459_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_460, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(460, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_460_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_461, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(461, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_461_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_462, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(462, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_462_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_463, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(463, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_463_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_464, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(464, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_464_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_465, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(465, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_465_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_466, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(466, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_466_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_467, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(467, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_467_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_468, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(468, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_468_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_469, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(469, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_469_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_470, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(470, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_470_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_471, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(471, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_471_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_472, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(472, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_472_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_473, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(473, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_473_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_474, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(474, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_474_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_475, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(475, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_475_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_476, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(476, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_476_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_477, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(477, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_477_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_478, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(478, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_478_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_479, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(479, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_479_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_480, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(480, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_480_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_481, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(481, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_481_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_482, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(482, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_482_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_483, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(483, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_483_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_484, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(484, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_484_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_485, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(485, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_485_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_486, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(486, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_486_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_487, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(487, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_487_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_488, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(488, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_488_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_489, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(489, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_489_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_490, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(490, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_490_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_491, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(491, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_491_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_492, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(492, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_492_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_493, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(493, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_493_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_494, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(494, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_494_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_495, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(495, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_495_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_496, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(496, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_496_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_497, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(497, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_497_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_498, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(498, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_498_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_499, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(499, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_499_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_500, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(500, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_500_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_501, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(501, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_501_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_502, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(502, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_502_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_503, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(503, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_503_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_504, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(504, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_504_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_505, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(505, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_505_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_506, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(506, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_506_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_507, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(507, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_507_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_508, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(508, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_508_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_509, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(509, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_509_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_510, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(510, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_510_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_511, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(511, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_511_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_512, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(512, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_512_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_513, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(513, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp new file mode 100644 index 0000000000..fb87d550a6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp @@ -0,0 +1,1557 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_1024_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_1024_HPP +# +# define BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_513_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_514(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_514_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_515(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_515_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_516(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_516_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_517(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_517_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_518(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_518_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_519(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_519_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_520(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_520_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_521(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_521_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_522(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_522_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_523(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_523_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_524(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_524_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_525(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_525_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_526(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_526_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_527(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_527_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_528(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_528_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_529(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_529_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_530(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_530_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_531(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_531_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_532(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_532_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_533(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_533_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_534(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_534_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_535(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_535_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_536(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_536_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_537(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_537_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_538(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_538_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_539(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_539_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_540(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_540_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_541(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_541_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_542(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_542_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_543(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_543_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_544(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_544_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_545(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_545_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_546(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_546_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_547(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_547_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_548(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_548_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_549(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_549_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_550(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_550_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_551(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_551_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_552(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_552_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_553(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_553_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_554(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_554_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_555(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_555_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_556(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_556_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_557(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_557_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_558(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_558_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_559(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_559_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_560(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_560_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_561(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_561_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_562(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_562_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_563(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_563_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_564(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_564_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_565(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_565_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_566(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_566_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_567(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_567_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_568(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_568_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_569(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_569_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_570(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_570_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_571(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_571_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_572(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_572_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_573(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_573_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_574(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_574_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_575(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_575_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_576(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_576_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_577(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_577_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_578(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_578_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_579(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_579_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_580(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_580_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_581(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_581_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_582(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_582_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_583(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_583_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_584(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_584_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_585(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_585_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_586(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_586_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_587(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_587_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_588(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_588_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_589(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_589_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_590(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_590_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_591(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_591_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_592(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_592_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_593(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_593_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_594(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_594_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_595(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_595_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_596(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_596_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_597(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_597_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_598(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_598_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_599(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_599_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_600(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_600_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_601(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_601_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_602(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_602_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_603(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_603_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_604(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_604_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_605(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_605_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_606(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_606_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_607(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_607_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_608(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_608_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_609(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_609_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_610(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_610_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_611(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_611_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_612(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_612_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_613(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_613_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_614(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_614_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_615(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_615_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_616(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_616_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_617(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_617_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_618(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_618_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_619(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_619_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_620(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_620_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_621(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_621_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_622(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_622_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_623(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_623_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_624(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_624_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_625(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_625_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_626(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_626_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_627(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_627_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_628(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_628_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_629(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_629_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_630(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_630_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_631(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_631_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_632(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_632_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_633(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_633_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_634(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_634_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_635(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_635_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_636(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_636_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_637(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_637_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_638(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_638_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_639(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_639_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_640(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_640_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_641(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_641_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_642(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_642_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_643(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_643_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_644(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_644_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_645(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_645_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_646(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_646_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_647(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_647_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_648(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_648_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_649(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_649_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_650(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_650_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_651(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_651_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_652(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_652_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_653(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_653_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_654(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_654_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_655(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_655_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_656(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_656_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_657(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_657_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_658(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_658_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_659(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_659_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_660(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_660_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_661(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_661_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_662(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_662_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_663(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_663_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_664(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_664_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_665(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_665_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_666(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_666_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_667(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_667_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_668(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_668_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_669(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_669_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_670(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_670_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_671(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_671_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_672(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_672_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_673(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_673_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_674(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_674_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_675(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_675_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_676(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_676_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_677(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_677_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_678(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_678_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_679(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_679_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_680(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_680_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_681(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_681_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_682(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_682_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_683(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_683_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_684(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_684_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_685(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_685_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_686(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_686_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_687(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_687_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_688(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_688_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_689(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_689_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_690(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_690_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_691(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_691_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_692(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_692_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_693(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_693_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_694(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_694_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_695(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_695_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_696(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_696_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_697(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_697_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_698(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_698_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_699(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_699_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_700(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_700_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_701(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_701_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_702(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_702_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_703(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_703_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_704(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_704_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_705(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_705_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_706(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_706_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_707(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_707_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_708(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_708_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_709(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_709_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_710(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_710_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_711(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_711_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_712(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_712_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_713(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_713_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_714(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_714_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_715(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_715_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_716(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_716_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_717(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_717_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_718(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_718_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_719(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_719_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_720(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_720_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_721(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_721_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_722(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_722_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_723(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_723_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_724(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_724_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_725(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_725_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_726(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_726_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_727(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_727_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_728(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_728_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_729(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_729_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_730(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_730_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_731(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_731_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_732(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_732_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_733(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_733_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_734(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_734_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_735(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_735_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_736(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_736_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_737(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_737_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_738(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_738_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_739(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_739_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_740(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_740_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_741(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_741_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_742(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_742_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_743(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_743_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_744(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_744_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_745(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_745_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_746(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_746_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_747(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_747_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_748(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_748_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_749(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_749_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_750(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_750_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_751(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_751_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_752(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_752_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_753(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_753_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_754(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_754_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_755(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_755_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_756(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_756_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_757(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_757_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_758(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_758_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_759(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_759_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_760(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_760_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_761(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_761_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_762(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_762_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_763(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_763_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_764(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_764_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_765(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_765_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_766(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_766_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_767(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_767_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_768(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_768_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_769(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_769_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_770(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_770_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_771(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_771_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_772(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_772_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_773(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_773_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_774(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_774_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_775(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_775_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_776(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_776_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_777(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_777_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_778(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_778_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_779(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_779_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_780(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_780_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_781(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_781_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_782(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_782_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_783(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_783_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_784(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_784_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_785(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_785_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_786(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_786_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_787(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_787_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_788(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_788_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_789(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_789_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_790(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_790_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_791(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_791_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_792(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_792_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_793(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_793_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_794(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_794_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_795(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_795_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_796(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_796_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_797(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_797_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_798(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_798_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_799(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_799_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_800(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_800_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_801(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_801_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_802(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_802_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_803(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_803_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_804(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_804_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_805(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_805_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_806(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_806_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_807(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_807_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_808(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_808_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_809(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_809_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_810(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_810_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_811(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_811_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_812(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_812_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_813(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_813_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_814(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_814_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_815(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_815_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_816(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_816_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_817(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_817_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_818(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_818_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_819(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_819_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_820(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_820_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_821(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_821_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_822(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_822_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_823(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_823_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_824(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_824_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_825(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_825_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_826(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_826_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_827(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_827_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_828(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_828_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_829(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_829_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_830(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_830_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_831(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_831_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_832(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_832_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_833(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_833_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_834(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_834_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_835(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_835_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_836(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_836_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_837(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_837_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_838(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_838_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_839(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_839_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_840(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_840_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_841(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_841_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_842(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_842_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_843(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_843_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_844(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_844_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_845(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_845_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_846(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_846_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_847(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_847_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_848(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_848_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_849(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_849_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_850(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_850_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_851(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_851_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_852(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_852_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_853(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_853_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_854(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_854_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_855(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_855_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_856(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_856_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_857(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_857_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_858(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_858_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_859(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_859_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_860(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_860_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_861(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_861_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_862(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_862_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_863(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_863_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_864(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_864_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_865(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_865_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_866(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_866_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_867(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_867_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_868(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_868_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_869(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_869_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_870(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_870_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_871(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_871_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_872(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_872_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_873(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_873_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_874(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_874_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_875(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_875_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_876(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_876_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_877(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_877_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_878(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_878_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_879(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_879_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_880(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_880_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_881(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_881_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_882(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_882_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_883(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_883_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_884(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_884_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_885(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_885_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_886(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_886_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_887(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_887_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_888(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_888_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_889(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_889_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_890(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_890_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_891(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_891_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_892(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_892_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_893(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_893_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_894(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_894_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_895(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_895_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_896(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_896_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_897(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_897_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_898(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_898_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_899(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_899_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_900(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_900_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_901(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_901_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_902(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_902_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_903(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_903_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_904(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_904_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_905(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_905_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_906(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_906_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_907(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_907_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_908(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_908_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_909(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_909_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_910(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_910_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_911(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_911_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_912(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_912_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_913(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_913_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_914(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_914_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_915(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_915_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_916(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_916_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_917(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_917_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_918(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_918_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_919(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_919_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_920(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_920_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_921(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_921_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_922(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_922_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_923(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_923_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_924(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_924_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_925(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_925_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_926(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_926_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_927(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_927_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_928(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_928_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_929(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_929_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_930(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_930_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_931(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_931_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_932(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_932_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_933(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_933_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_934(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_934_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_935(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_935_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_936(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_936_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_937(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_937_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_938(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_938_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_939(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_939_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_940(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_940_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_941(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_941_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_942(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_942_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_943(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_943_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_944(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_944_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_945(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_945_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_946(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_946_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_947(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_947_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_948(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_948_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_949(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_949_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_950(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_950_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_951(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_951_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_952(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_952_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_953(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_953_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_954(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_954_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_955(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_955_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_956(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_956_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_957(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_957_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_958(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_958_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_959(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_959_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_960(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_960_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_961(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_961_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_962(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_962_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_963(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_963_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_964(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_964_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_965(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_965_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_966(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_966_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_967(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_967_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_968(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_968_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_969(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_969_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_970(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_970_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_971(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_971_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_972(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_972_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_973(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_973_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_974(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_974_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_975(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_975_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_976(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_976_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_977(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_977_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_978(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_978_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_979(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_979_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_980(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_980_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_981(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_981_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_982(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_982_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_983(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_983_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_984(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_984_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_985(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_985_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_986(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_986_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_987(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_987_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_988(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_988_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_989(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_989_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_990(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_990_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_991(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_991_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_992(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_992_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_993(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_993_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_994(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_994_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_995(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_995_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_996(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_996_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_997(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_997_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_998(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_998_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_999(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_999_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1000(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1000_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1001(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1001_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1002(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1002_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1003(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1003_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1004(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1004_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1005(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1005_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1006(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1006_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1007(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1007_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1008(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1008_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1009(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1009_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1010(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1010_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1011(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1011_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1012(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1012_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1013(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1013_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1014(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1014_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1015(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1015_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1016(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1016_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1017(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1017_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1018(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1018_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1019(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1019_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1020(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1020_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1021(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1021_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1022(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1022_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1023(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1023_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1024(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1024_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_RIGHT_513_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(514, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_514, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_514_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(515, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_515, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_515_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(516, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_516, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_516_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(517, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_517, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_517_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(518, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_518, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_518_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(519, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_519, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_519_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(520, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_520, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_520_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(521, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_521, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_521_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(522, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_522, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_522_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(523, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_523, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_523_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(524, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_524, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_524_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(525, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_525, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_525_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(526, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_526, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_526_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(527, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_527, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_527_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(528, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_528, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_528_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(529, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_529, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_529_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(530, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_530, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_530_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(531, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_531, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_531_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(532, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_532, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_532_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(533, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_533, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_533_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(534, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_534, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_534_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(535, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_535, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_535_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(536, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_536, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_536_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(537, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_537, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_537_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(538, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_538, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_538_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(539, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_539, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_539_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(540, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_540, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_540_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(541, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_541, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_541_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(542, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_542, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_542_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(543, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_543, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_543_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(544, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_544, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_544_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(545, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_545, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_545_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(546, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_546, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_546_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(547, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_547, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_547_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(548, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_548, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_548_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(549, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_549, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_549_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(550, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_550, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_550_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(551, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_551, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_551_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(552, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_552, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_552_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(553, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_553, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_553_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(554, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_554, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_554_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(555, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_555, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_555_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(556, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_556, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_556_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(557, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_557, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_557_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(558, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_558, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_558_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(559, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_559, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_559_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(560, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_560, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_560_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(561, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_561, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_561_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(562, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_562, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_562_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(563, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_563, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_563_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(564, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_564, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_564_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(565, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_565, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_565_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(566, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_566, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_566_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(567, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_567, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_567_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(568, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_568, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_568_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(569, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_569, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_569_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(570, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_570, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_570_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(571, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_571, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_571_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(572, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_572, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_572_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(573, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_573, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_573_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(574, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_574, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_574_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(575, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_575, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_575_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(576, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_576, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_576_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(577, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_577, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_577_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(578, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_578, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_578_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(579, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_579, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_579_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(580, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_580, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_580_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(581, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_581, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_581_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(582, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_582, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_582_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(583, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_583, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_583_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(584, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_584, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_584_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(585, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_585, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_585_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(586, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_586, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_586_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(587, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_587, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_587_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(588, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_588, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_588_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(589, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_589, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_589_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(590, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_590, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_590_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(591, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_591, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_591_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(592, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_592, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_592_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(593, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_593, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_593_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(594, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_594, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_594_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(595, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_595, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_595_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(596, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_596, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_596_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(597, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_597, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_597_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(598, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_598, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_598_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(599, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_599, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_599_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(600, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_600, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_600_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(601, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_601, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_601_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(602, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_602, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_602_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(603, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_603, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_603_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(604, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_604, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_604_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(605, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_605, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_605_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(606, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_606, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_606_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(607, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_607, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_607_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(608, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_608, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_608_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(609, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_609, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_609_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(610, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_610, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_610_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(611, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_611, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_611_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(612, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_612, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_612_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(613, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_613, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_613_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(614, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_614, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_614_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(615, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_615, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_615_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(616, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_616, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_616_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(617, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_617, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_617_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(618, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_618, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_618_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(619, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_619, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_619_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(620, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_620, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_620_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(621, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_621, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_621_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(622, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_622, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_622_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(623, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_623, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_623_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(624, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_624, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_624_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(625, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_625, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_625_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(626, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_626, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_626_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(627, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_627, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_627_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(628, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_628, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_628_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(629, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_629, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_629_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(630, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_630, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_630_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(631, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_631, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_631_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(632, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_632, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_632_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(633, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_633, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_633_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(634, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_634, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_634_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(635, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_635, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_635_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(636, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_636, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_636_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(637, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_637, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_637_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(638, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_638, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_638_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(639, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_639, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_639_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(640, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_640, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_640_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(641, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_641, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_641_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(642, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_642, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_642_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(643, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_643, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_643_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(644, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_644, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_644_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(645, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_645, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_645_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(646, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_646, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_646_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(647, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_647, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_647_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(648, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_648, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_648_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(649, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_649, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_649_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(650, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_650, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_650_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(651, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_651, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_651_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(652, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_652, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_652_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(653, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_653, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_653_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(654, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_654, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_654_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(655, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_655, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_655_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(656, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_656, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_656_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(657, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_657, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_657_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(658, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_658, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_658_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(659, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_659, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_659_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(660, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_660, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_660_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(661, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_661, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_661_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(662, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_662, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_662_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(663, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_663, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_663_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(664, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_664, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_664_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(665, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_665, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_665_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(666, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_666, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_666_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(667, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_667, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_667_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(668, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_668, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_668_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(669, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_669, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_669_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(670, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_670, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_670_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(671, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_671, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_671_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(672, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_672, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_672_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(673, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_673, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_673_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(674, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_674, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_674_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(675, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_675, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_675_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(676, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_676, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_676_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(677, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_677, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_677_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(678, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_678, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_678_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(679, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_679, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_679_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(680, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_680, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_680_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(681, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_681, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_681_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(682, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_682, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_682_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(683, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_683, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_683_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(684, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_684, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_684_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(685, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_685, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_685_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(686, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_686, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_686_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(687, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_687, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_687_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(688, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_688, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_688_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(689, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_689, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_689_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(690, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_690, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_690_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(691, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_691, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_691_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(692, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_692, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_692_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(693, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_693, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_693_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(694, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_694, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_694_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(695, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_695, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_695_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(696, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_696, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_696_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(697, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_697, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_697_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(698, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_698, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_698_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(699, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_699, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_699_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(700, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_700, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_700_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(701, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_701, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_701_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(702, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_702, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_702_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(703, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_703, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_703_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(704, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_704, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_704_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(705, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_705, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_705_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(706, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_706, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_706_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(707, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_707, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_707_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(708, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_708, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_708_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(709, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_709, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_709_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(710, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_710, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_710_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(711, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_711, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_711_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(712, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_712, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_712_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(713, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_713, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_713_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(714, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_714, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_714_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(715, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_715, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_715_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(716, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_716, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_716_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(717, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_717, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_717_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(718, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_718, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_718_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(719, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_719, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_719_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(720, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_720, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_720_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(721, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_721, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_721_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(722, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_722, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_722_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(723, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_723, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_723_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(724, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_724, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_724_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(725, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_725, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_725_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(726, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_726, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_726_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(727, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_727, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_727_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(728, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_728, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_728_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(729, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_729, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_729_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(730, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_730, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_730_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(731, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_731, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_731_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(732, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_732, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_732_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(733, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_733, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_733_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(734, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_734, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_734_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(735, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_735, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_735_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(736, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_736, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_736_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(737, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_737, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_737_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(738, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_738, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_738_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(739, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_739, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_739_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(740, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_740, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_740_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(741, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_741, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_741_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(742, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_742, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_742_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(743, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_743, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_743_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(744, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_744, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_744_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(745, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_745, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_745_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(746, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_746, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_746_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(747, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_747, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_747_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(748, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_748, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_748_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(749, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_749, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_749_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(750, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_750, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_750_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(751, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_751, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_751_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(752, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_752, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_752_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(753, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_753, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_753_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(754, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_754, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_754_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(755, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_755, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_755_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(756, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_756, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_756_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(757, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_757, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_757_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(758, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_758, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_758_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(759, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_759, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_759_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(760, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_760, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_760_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(761, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_761, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_761_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(762, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_762, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_762_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(763, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_763, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_763_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(764, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_764, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_764_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(765, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_765, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_765_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(766, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_766, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_766_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(767, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_767, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_767_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(768, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_768, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_768_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(769, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_769, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_769_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(770, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_770, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_770_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(771, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_771, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_771_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(772, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_772, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_772_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(773, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_773, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_773_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(774, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_774, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_774_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(775, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_775, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_775_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(776, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_776, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_776_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(777, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_777, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_777_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(778, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_778, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_778_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(779, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_779, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_779_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(780, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_780, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_780_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(781, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_781, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_781_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(782, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_782, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_782_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(783, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_783, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_783_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(784, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_784, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_784_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(785, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_785, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_785_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(786, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_786, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_786_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(787, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_787, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_787_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(788, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_788, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_788_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(789, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_789, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_789_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(790, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_790, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_790_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(791, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_791, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_791_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(792, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_792, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_792_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(793, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_793, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_793_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(794, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_794, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_794_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(795, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_795, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_795_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(796, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_796, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_796_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(797, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_797, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_797_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(798, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_798, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_798_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(799, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_799, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_799_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(800, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_800, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_800_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(801, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_801, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_801_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(802, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_802, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_802_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(803, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_803, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_803_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(804, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_804, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_804_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(805, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_805, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_805_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(806, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_806, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_806_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(807, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_807, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_807_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(808, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_808, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_808_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(809, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_809, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_809_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(810, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_810, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_810_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(811, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_811, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_811_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(812, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_812, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_812_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(813, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_813, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_813_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(814, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_814, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_814_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(815, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_815, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_815_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(816, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_816, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_816_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(817, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_817, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_817_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(818, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_818, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_818_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(819, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_819, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_819_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(820, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_820, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_820_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(821, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_821, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_821_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(822, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_822, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_822_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(823, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_823, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_823_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(824, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_824, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_824_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(825, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_825, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_825_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(826, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_826, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_826_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(827, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_827, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_827_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(828, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_828, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_828_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(829, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_829, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_829_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(830, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_830, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_830_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(831, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_831, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_831_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(832, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_832, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_832_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(833, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_833, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_833_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(834, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_834, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_834_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(835, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_835, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_835_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(836, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_836, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_836_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(837, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_837, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_837_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(838, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_838, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_838_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(839, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_839, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_839_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(840, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_840, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_840_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(841, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_841, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_841_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(842, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_842, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_842_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(843, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_843, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_843_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(844, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_844, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_844_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(845, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_845, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_845_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(846, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_846, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_846_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(847, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_847, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_847_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(848, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_848, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_848_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(849, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_849, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_849_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(850, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_850, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_850_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(851, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_851, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_851_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(852, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_852, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_852_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(853, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_853, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_853_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(854, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_854, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_854_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(855, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_855, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_855_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(856, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_856, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_856_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(857, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_857, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_857_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(858, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_858, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_858_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(859, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_859, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_859_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(860, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_860, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_860_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(861, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_861, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_861_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(862, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_862, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_862_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(863, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_863, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_863_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(864, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_864, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_864_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(865, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_865, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_865_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(866, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_866, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_866_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(867, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_867, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_867_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(868, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_868, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_868_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(869, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_869, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_869_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(870, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_870, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_870_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(871, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_871, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_871_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(872, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_872, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_872_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(873, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_873, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_873_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(874, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_874, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_874_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(875, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_875, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_875_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(876, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_876, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_876_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(877, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_877, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_877_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(878, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_878, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_878_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(879, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_879, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_879_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(880, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_880, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_880_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(881, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_881, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_881_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(882, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_882, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_882_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(883, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_883, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_883_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(884, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_884, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_884_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(885, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_885, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_885_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(886, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_886, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_886_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(887, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_887, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_887_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(888, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_888, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_888_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(889, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_889, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_889_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(890, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_890, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_890_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(891, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_891, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_891_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(892, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_892, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_892_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(893, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_893, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_893_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(894, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_894, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_894_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(895, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_895, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_895_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(896, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_896, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_896_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(897, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_897, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_897_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(898, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_898, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_898_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(899, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_899, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_899_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(900, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_900, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_900_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(901, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_901, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_901_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(902, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_902, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_902_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(903, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_903, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_903_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(904, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_904, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_904_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(905, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_905, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_905_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(906, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_906, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_906_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(907, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_907, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_907_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(908, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_908, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_908_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(909, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_909, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_909_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(910, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_910, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_910_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(911, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_911, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_911_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(912, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_912, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_912_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(913, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_913, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_913_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(914, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_914, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_914_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(915, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_915, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_915_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(916, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_916, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_916_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(917, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_917, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_917_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(918, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_918, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_918_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(919, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_919, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_919_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(920, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_920, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_920_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(921, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_921, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_921_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(922, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_922, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_922_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(923, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_923, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_923_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(924, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_924, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_924_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(925, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_925, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_925_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(926, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_926, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_926_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(927, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_927, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_927_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(928, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_928, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_928_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(929, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_929, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_929_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(930, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_930, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_930_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(931, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_931, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_931_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(932, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_932, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_932_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(933, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_933, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_933_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(934, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_934, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_934_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(935, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_935, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_935_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(936, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_936, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_936_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(937, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_937, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_937_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(938, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_938, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_938_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(939, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_939, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_939_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(940, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_940, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_940_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(941, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_941, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_941_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(942, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_942, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_942_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(943, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_943, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_943_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(944, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_944, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_944_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(945, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_945, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_945_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(946, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_946, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_946_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(947, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_947, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_947_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(948, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_948, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_948_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(949, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_949, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_949_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(950, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_950, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_950_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(951, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_951, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_951_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(952, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_952, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_952_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(953, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_953, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_953_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(954, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_954, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_954_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(955, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_955, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_955_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(956, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_956, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_956_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(957, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_957, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_957_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(958, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_958, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_958_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(959, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_959, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_959_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(960, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_960, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_960_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(961, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_961, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_961_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(962, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_962, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_962_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(963, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_963, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_963_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(964, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_964, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_964_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(965, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_965, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_965_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(966, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_966, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_966_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(967, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_967, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_967_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(968, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_968, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_968_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(969, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_969, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_969_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(970, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_970, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_970_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(971, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_971, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_971_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(972, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_972, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_972_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(973, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_973, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_973_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(974, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_974, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_974_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(975, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_975, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_975_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(976, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_976, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_976_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(977, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_977, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_977_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(978, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_978, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_978_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(979, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_979, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_979_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(980, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_980, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_980_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(981, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_981, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_981_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(982, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_982, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_982_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(983, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_983, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_983_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(984, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_984, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_984_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(985, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_985, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_985_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(986, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_986, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_986_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(987, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_987, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_987_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(988, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_988, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_988_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(989, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_989, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_989_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(990, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_990, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_990_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(991, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_991, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_991_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(992, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_992, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_992_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(993, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_993, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_993_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(994, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_994, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_994_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(995, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_995, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_995_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(996, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_996, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_996_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(997, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_997, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_997_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(998, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_998, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_998_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(999, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_999, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_999_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1000, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1000, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1000_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1001, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1001, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1001_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1002, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1002, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1002_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1003, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1003, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1003_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1004, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1004, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1004_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1005, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1005, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1005_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1006, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1006, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1006_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1007, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1007, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1007_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1008, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1008, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1008_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1009, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1009, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1009_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1010, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1010, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1010_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1011, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1011, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1011_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1012, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1012, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1012_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1013, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1013, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1013_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1014, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1014, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1014_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1015, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1015, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1015_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1016, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1016, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1016_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1017, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1017, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1017_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1018, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1018, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1018_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1019, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1019, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1019_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1020, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1020, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1020_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1021, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1021, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1021_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1022, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1022, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1022_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1023, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1023, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1023_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1024, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1024, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1024_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(1025, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1025, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_514(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_515(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_516(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_517(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_518(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_519(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_520(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_521(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_522(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_523(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_524(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_525(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_526(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_527(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_528(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_529(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_530(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_531(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_532(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_533(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_534(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_535(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_536(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_537(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_538(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_539(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_540(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_541(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_542(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_543(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_544(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_545(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_546(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_547(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_548(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_549(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_550(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_551(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_552(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_553(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_554(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_555(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_556(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_557(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_558(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_559(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_560(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_561(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_562(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_563(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_564(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_565(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_566(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_567(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_568(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_569(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_570(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_571(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_572(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_573(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_574(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_575(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_576(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_577(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_578(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_579(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_580(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_581(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_582(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_583(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_584(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_585(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_586(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_587(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_588(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_589(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_590(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_591(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_592(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_593(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_594(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_595(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_596(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_597(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_598(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_599(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_600(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_601(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_602(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_603(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_604(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_605(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_606(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_607(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_608(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_609(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_610(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_611(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_612(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_613(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_614(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_615(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_616(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_617(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_618(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_619(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_620(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_621(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_622(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_623(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_624(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_625(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_626(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_627(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_628(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_629(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_630(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_631(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_632(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_633(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_634(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_635(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_636(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_637(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_638(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_639(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_640(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_641(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_642(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_643(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_644(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_645(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_646(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_647(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_648(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_649(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_650(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_651(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_652(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_653(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_654(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_655(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_656(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_657(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_658(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_659(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_660(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_661(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_662(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_663(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_664(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_665(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_666(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_667(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_668(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_669(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_670(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_671(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_672(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_673(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_674(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_675(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_676(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_677(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_678(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_679(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_680(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_681(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_682(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_683(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_684(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_685(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_686(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_687(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_688(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_689(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_690(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_691(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_692(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_693(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_694(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_695(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_696(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_697(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_698(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_699(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_700(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_701(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_702(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_703(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_704(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_705(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_706(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_707(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_708(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_709(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_710(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_711(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_712(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_713(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_714(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_715(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_716(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_717(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_718(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_719(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_720(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_721(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_722(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_723(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_724(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_725(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_726(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_727(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_728(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_729(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_730(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_731(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_732(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_733(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_734(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_735(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_736(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_737(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_738(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_739(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_740(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_741(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_742(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_743(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_744(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_745(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_746(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_747(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_748(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_749(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_750(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_751(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_752(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_753(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_754(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_755(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_756(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_757(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_758(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_759(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_760(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_761(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_762(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_763(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_764(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_765(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_766(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_767(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_768(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_769(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_770(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_771(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_772(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_773(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_774(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_775(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_776(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_777(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_778(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_779(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_780(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_781(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_782(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_783(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_784(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_785(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_786(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_787(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_788(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_789(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_790(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_791(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_792(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_793(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_794(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_795(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_796(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_797(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_798(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_799(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_800(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_801(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_802(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_803(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_804(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_805(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_806(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_807(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_808(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_809(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_810(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_811(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_812(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_813(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_814(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_815(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_816(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_817(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_818(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_819(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_820(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_821(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_822(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_823(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_824(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_825(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_826(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_827(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_828(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_829(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_830(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_831(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_832(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_833(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_834(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_835(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_836(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_837(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_838(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_839(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_840(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_841(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_842(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_843(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_844(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_845(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_846(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_847(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_848(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_849(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_850(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_851(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_852(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_853(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_854(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_855(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_856(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_857(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_858(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_859(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_860(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_861(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_862(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_863(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_864(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_865(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_866(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_867(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_868(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_869(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_870(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_871(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_872(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_873(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_874(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_875(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_876(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_877(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_878(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_879(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_880(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_881(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_882(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_883(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_884(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_885(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_886(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_887(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_888(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_889(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_890(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_891(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_892(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_893(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_894(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_895(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_896(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_897(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_898(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_899(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_900(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_901(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_902(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_903(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_904(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_905(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_906(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_907(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_908(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_909(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_910(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_911(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_912(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_913(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_914(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_915(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_916(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_917(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_918(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_919(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_920(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_921(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_922(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_923(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_924(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_925(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_926(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_927(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_928(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_929(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_930(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_931(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_932(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_933(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_934(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_935(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_936(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_937(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_938(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_939(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_940(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_941(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_942(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_943(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_944(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_945(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_946(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_947(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_948(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_949(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_950(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_951(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_952(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_953(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_954(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_955(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_956(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_957(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_958(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_959(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_960(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_961(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_962(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_963(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_964(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_965(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_966(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_967(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_968(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_969(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_970(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_971(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_972(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_973(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_974(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_975(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_976(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_977(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_978(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_979(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_980(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_981(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_982(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_983(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_984(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_985(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_986(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_987(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_988(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_989(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_990(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_991(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_992(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_993(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_994(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_995(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_996(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_997(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_998(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_999(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1000(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1001(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1002(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1003(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1004(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1005(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1006(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1007(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1008(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1009(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1010(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1011(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1012(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1013(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1014(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1015(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1016(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1017(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1018(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1019(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1020(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1021(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1022(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1023(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1024(o, s, l) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp new file mode 100644 index 0000000000..982aa0a477 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp @@ -0,0 +1,791 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_256_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_256_HPP +# +# define BOOST_PP_LIST_FOLD_RIGHT_0(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_0_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_RIGHT_0_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_0(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp new file mode 100644 index 0000000000..9da8f7b95c --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp @@ -0,0 +1,789 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_512_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_512_HPP +# +# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_257_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_258(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_258_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_259(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_259_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_260(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_260_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_261(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_261_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_262(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_262_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_263(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_263_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_264(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_264_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_265(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_265_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_266(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_266_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_267(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_267_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_268(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_268_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_269(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_269_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_270(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_270_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_271(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_271_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_272(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_272_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_273(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_273_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_274(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_274_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_275(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_275_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_276(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_276_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_277(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_277_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_278(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_278_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_279(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_279_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_280(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_280_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_281(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_281_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_282(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_282_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_283(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_283_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_284(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_284_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_285(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_285_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_286(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_286_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_287(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_287_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_288(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_288_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_289(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_289_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_290(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_290_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_291(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_291_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_292(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_292_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_293(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_293_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_294(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_294_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_295(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_295_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_296(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_296_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_297(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_297_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_298(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_298_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_299(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_299_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_300(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_300_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_301(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_301_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_302(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_302_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_303(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_303_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_304(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_304_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_305(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_305_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_306(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_306_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_307(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_307_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_308(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_308_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_309(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_309_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_310(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_310_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_311(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_311_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_312(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_312_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_313(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_313_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_314(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_314_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_315(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_315_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_316(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_316_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_317(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_317_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_318(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_318_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_319(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_319_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_320(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_320_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_321(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_321_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_322(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_322_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_323(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_323_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_324(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_324_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_325(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_325_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_326(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_326_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_327(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_327_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_328(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_328_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_329(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_329_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_330(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_330_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_331(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_331_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_332(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_332_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_333(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_333_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_334(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_334_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_335(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_335_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_336(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_336_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_337(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_337_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_338(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_338_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_339(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_339_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_340(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_340_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_341(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_341_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_342(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_342_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_343(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_343_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_344(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_344_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_345(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_345_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_346(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_346_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_347(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_347_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_348(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_348_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_349(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_349_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_350(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_350_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_351(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_351_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_352(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_352_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_353(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_353_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_354(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_354_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_355(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_355_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_356(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_356_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_357(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_357_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_358(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_358_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_359(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_359_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_360(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_360_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_361(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_361_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_362(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_362_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_363(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_363_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_364(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_364_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_365(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_365_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_366(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_366_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_367(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_367_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_368(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_368_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_369(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_369_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_370(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_370_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_371(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_371_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_372(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_372_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_373(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_373_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_374(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_374_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_375(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_375_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_376(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_376_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_377(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_377_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_378(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_378_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_379(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_379_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_380(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_380_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_381(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_381_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_382(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_382_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_383(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_383_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_384(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_384_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_385(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_385_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_386(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_386_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_387(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_387_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_388(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_388_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_389(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_389_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_390(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_390_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_391(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_391_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_392(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_392_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_393(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_393_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_394(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_394_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_395(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_395_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_396(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_396_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_397(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_397_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_398(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_398_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_399(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_399_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_400(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_400_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_401(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_401_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_402(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_402_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_403(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_403_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_404(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_404_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_405(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_405_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_406(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_406_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_407(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_407_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_408(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_408_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_409(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_409_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_410(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_410_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_411(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_411_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_412(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_412_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_413(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_413_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_414(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_414_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_415(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_415_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_416(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_416_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_417(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_417_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_418(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_418_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_419(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_419_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_420(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_420_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_421(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_421_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_422(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_422_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_423(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_423_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_424(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_424_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_425(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_425_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_426(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_426_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_427(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_427_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_428(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_428_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_429(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_429_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_430(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_430_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_431(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_431_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_432(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_432_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_433(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_433_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_434(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_434_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_435(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_435_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_436(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_436_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_437(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_437_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_438(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_438_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_439(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_439_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_440(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_440_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_441(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_441_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_442(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_442_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_443(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_443_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_444(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_444_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_445(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_445_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_446(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_446_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_447(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_447_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_448(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_448_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_449(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_449_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_450(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_450_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_451(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_451_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_452(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_452_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_453(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_453_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_454(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_454_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_455(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_455_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_456(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_456_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_457(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_457_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_458(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_458_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_459(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_459_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_460(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_460_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_461(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_461_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_462(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_462_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_463(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_463_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_464(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_464_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_465(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_465_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_466(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_466_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_467(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_467_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_468(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_468_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_469(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_469_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_470(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_470_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_471(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_471_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_472(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_472_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_473(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_473_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_474(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_474_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_475(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_475_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_476(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_476_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_477(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_477_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_478(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_478_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_479(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_479_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_480(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_480_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_481(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_481_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_482(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_482_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_483(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_483_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_484(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_484_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_485(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_485_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_486(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_486_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_487(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_487_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_488(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_488_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_489(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_489_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_490(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_490_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_491(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_491_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_492(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_492_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_493(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_493_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_494(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_494_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_495(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_495_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_496(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_496_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_497(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_497_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_498(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_498_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_499(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_499_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_500(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_500_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_501(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_501_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_502(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_502_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_503(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_503_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_504(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_504_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_505(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_505_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_506(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_506_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_507(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_507_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_508(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_508_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_509(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_509_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_510(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_510_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_511(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_511_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_512(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_512_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_RIGHT_257_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(258, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_258, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_258_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(259, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_259, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_259_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(260, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_260, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_260_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(261, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_261, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_261_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(262, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_262, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_262_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(263, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_263, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_263_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(264, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_264, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_264_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(265, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_265, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_265_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(266, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_266, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_266_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(267, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_267, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_267_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(268, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_268, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_268_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(269, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_269, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_269_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(270, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_270, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_270_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(271, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_271, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_271_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(272, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_272, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_272_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(273, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_273, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_273_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(274, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_274, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_274_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(275, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_275, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_275_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(276, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_276, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_276_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(277, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_277, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_277_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(278, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_278, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_278_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(279, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_279, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_279_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(280, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_280, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_280_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(281, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_281, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_281_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(282, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_282, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_282_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(283, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_283, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_283_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(284, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_284, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_284_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(285, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_285, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_285_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(286, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_286, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_286_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(287, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_287, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_287_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(288, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_288, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_288_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(289, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_289, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_289_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(290, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_290, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_290_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(291, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_291, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_291_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(292, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_292, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_292_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(293, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_293, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_293_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(294, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_294, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_294_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(295, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_295, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_295_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(296, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_296, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_296_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(297, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_297, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_297_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(298, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_298, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_298_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(299, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_299, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_299_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(300, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_300, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_300_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(301, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_301, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_301_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(302, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_302, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_302_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(303, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_303, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_303_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(304, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_304, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_304_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(305, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_305, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_305_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(306, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_306, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_306_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(307, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_307, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_307_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(308, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_308, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_308_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(309, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_309, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_309_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(310, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_310, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_310_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(311, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_311, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_311_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(312, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_312, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_312_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(313, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_313, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_313_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(314, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_314, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_314_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(315, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_315, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_315_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(316, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_316, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_316_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(317, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_317, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_317_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(318, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_318, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_318_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(319, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_319, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_319_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(320, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_320, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_320_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(321, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_321, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_321_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(322, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_322, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_322_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(323, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_323, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_323_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(324, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_324, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_324_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(325, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_325, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_325_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(326, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_326, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_326_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(327, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_327, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_327_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(328, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_328, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_328_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(329, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_329, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_329_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(330, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_330, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_330_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(331, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_331, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_331_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(332, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_332, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_332_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(333, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_333, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_333_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(334, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_334, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_334_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(335, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_335, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_335_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(336, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_336, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_336_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(337, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_337, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_337_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(338, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_338, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_338_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(339, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_339, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_339_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(340, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_340, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_340_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(341, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_341, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_341_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(342, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_342, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_342_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(343, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_343, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_343_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(344, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_344, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_344_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(345, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_345, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_345_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(346, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_346, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_346_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(347, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_347, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_347_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(348, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_348, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_348_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(349, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_349, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_349_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(350, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_350, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_350_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(351, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_351, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_351_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(352, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_352, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_352_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(353, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_353, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_353_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(354, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_354, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_354_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(355, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_355, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_355_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(356, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_356, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_356_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(357, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_357, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_357_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(358, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_358, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_358_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(359, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_359, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_359_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(360, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_360, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_360_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(361, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_361, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_361_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(362, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_362, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_362_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(363, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_363, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_363_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(364, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_364, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_364_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(365, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_365, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_365_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(366, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_366, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_366_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(367, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_367, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_367_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(368, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_368, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_368_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(369, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_369, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_369_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(370, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_370, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_370_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(371, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_371, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_371_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(372, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_372, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_372_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(373, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_373, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_373_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(374, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_374, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_374_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(375, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_375, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_375_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(376, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_376, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_376_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(377, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_377, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_377_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(378, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_378, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_378_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(379, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_379, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_379_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(380, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_380, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_380_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(381, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_381, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_381_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(382, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_382, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_382_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(383, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_383, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_383_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(384, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_384, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_384_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(385, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_385, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_385_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(386, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_386, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_386_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(387, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_387, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_387_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(388, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_388, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_388_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(389, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_389, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_389_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(390, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_390, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_390_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(391, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_391, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_391_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(392, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_392, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_392_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(393, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_393, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_393_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(394, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_394, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_394_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(395, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_395, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_395_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(396, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_396, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_396_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(397, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_397, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_397_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(398, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_398, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_398_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(399, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_399, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_399_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(400, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_400, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_400_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(401, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_401, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_401_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(402, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_402, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_402_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(403, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_403, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_403_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(404, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_404, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_404_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(405, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_405, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_405_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(406, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_406, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_406_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(407, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_407, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_407_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(408, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_408, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_408_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(409, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_409, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_409_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(410, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_410, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_410_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(411, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_411, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_411_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(412, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_412, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_412_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(413, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_413, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_413_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(414, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_414, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_414_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(415, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_415, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_415_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(416, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_416, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_416_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(417, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_417, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_417_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(418, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_418, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_418_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(419, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_419, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_419_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(420, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_420, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_420_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(421, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_421, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_421_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(422, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_422, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_422_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(423, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_423, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_423_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(424, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_424, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_424_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(425, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_425, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_425_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(426, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_426, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_426_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(427, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_427, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_427_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(428, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_428, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_428_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(429, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_429, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_429_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(430, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_430, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_430_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(431, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_431, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_431_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(432, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_432, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_432_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(433, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_433, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_433_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(434, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_434, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_434_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(435, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_435, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_435_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(436, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_436, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_436_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(437, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_437, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_437_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(438, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_438, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_438_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(439, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_439, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_439_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(440, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_440, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_440_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(441, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_441, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_441_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(442, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_442, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_442_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(443, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_443, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_443_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(444, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_444, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_444_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(445, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_445, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_445_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(446, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_446, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_446_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(447, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_447, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_447_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(448, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_448, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_448_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(449, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_449, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_449_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(450, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_450, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_450_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(451, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_451, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_451_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(452, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_452, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_452_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(453, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_453, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_453_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(454, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_454, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_454_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(455, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_455, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_455_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(456, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_456, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_456_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(457, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_457, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_457_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(458, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_458, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_458_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(459, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_459, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_459_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(460, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_460, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_460_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(461, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_461, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_461_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(462, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_462, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_462_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(463, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_463, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_463_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(464, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_464, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_464_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(465, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_465, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_465_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(466, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_466, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_466_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(467, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_467, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_467_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(468, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_468, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_468_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(469, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_469, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_469_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(470, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_470, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_470_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(471, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_471, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_471_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(472, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_472, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_472_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(473, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_473, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_473_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(474, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_474, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_474_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(475, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_475, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_475_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(476, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_476, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_476_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(477, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_477, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_477_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(478, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_478, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_478_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(479, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_479, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_479_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(480, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_480, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_480_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(481, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_481, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_481_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(482, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_482, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_482_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(483, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_483, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_483_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(484, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_484, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_484_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(485, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_485, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_485_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(486, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_486, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_486_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(487, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_487, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_487_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(488, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_488, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_488_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(489, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_489, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_489_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(490, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_490, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_490_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(491, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_491, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_491_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(492, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_492, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_492_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(493, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_493, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_493_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(494, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_494, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_494_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(495, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_495, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_495_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(496, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_496, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_496_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(497, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_497, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_497_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(498, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_498, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_498_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(499, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_499, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_499_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(500, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_500, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_500_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(501, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_501, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_501_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(502, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_502, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_502_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(503, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_503, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_503_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(504, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_504, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_504_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(505, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_505, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_505_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(506, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_506, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_506_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(507, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_507, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_507_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(508, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_508, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_508_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(509, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_509, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_509_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(510, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_510, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_510_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(511, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_511, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_511_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(512, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_512, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_512_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(513, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_513, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_258(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_259(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_260(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_261(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_262(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_263(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_264(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_265(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_266(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_267(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_268(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_269(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_270(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_271(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_272(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_273(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_274(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_275(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_276(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_277(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_278(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_279(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_280(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_281(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_282(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_283(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_284(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_285(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_286(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_287(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_288(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_289(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_290(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_291(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_292(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_293(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_294(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_295(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_296(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_297(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_298(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_299(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_300(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_301(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_302(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_303(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_304(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_305(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_306(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_307(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_308(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_309(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_310(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_311(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_312(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_313(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_314(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_315(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_316(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_317(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_318(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_319(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_320(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_321(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_322(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_323(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_324(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_325(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_326(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_327(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_328(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_329(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_330(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_331(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_332(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_333(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_334(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_335(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_336(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_337(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_338(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_339(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_340(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_341(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_342(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_343(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_344(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_345(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_346(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_347(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_348(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_349(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_350(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_351(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_352(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_353(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_354(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_355(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_356(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_357(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_358(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_359(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_360(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_361(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_362(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_363(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_364(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_365(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_366(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_367(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_368(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_369(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_370(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_371(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_372(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_373(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_374(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_375(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_376(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_377(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_378(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_379(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_380(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_381(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_382(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_383(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_384(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_385(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_386(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_387(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_388(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_389(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_390(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_391(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_392(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_393(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_394(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_395(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_396(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_397(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_398(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_399(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_400(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_401(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_402(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_403(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_404(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_405(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_406(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_407(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_408(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_409(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_410(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_411(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_412(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_413(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_414(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_415(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_416(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_417(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_418(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_419(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_420(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_421(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_422(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_423(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_424(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_425(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_426(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_427(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_428(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_429(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_430(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_431(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_432(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_433(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_434(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_435(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_436(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_437(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_438(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_439(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_440(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_441(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_442(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_443(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_444(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_445(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_446(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_447(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_448(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_449(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_450(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_451(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_452(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_453(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_454(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_455(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_456(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_457(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_458(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_459(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_460(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_461(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_462(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_463(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_464(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_465(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_466(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_467(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_468(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_469(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_470(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_471(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_472(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_473(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_474(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_475(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_476(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_477(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_478(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_479(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_480(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_481(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_482(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_483(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_484(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_485(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_486(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_487(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_488(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_489(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_490(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_491(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_492(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_493(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_494(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_495(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_496(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_497(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_498(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_499(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_500(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_501(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_502(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_503(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_504(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_505(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_506(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_507(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_508(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_509(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_510(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_511(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_512(o, s, l) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/fold_left.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/fold_left.hpp new file mode 100644 index 0000000000..4967d0bdbb --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/fold_left.hpp @@ -0,0 +1,307 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# else +# +# include +# include +# include +# include +# include +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/fold_right.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/fold_right.hpp new file mode 100644 index 0000000000..3b027697b5 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/fold_right.hpp @@ -0,0 +1,303 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# +# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l)) +# +# else +# +# include +# include +# include +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_1024.hpp new file mode 100644 index 0000000000..0067a39bae --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_1024.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_1024_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_1024_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_514, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(514, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_514(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_515, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(515, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_515(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_516, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(516, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_516(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_517, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(517, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_517(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_518, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(518, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_518(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_519, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(519, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_519(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_520, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(520, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_520(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_521, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(521, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_521(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_522, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(522, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_522(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_523, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(523, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_523(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_524, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(524, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_524(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_525, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(525, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_525(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_526, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(526, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_526(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_527, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(527, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_527(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_528, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(528, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_528(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_529, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(529, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_529(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_530, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(530, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_530(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_531, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(531, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_531(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_532, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(532, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_532(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_533, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(533, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_533(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_534, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(534, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_534(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_535, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(535, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_535(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_536, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(536, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_536(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_537, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(537, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_537(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_538, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(538, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_538(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_539, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(539, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_539(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_540, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(540, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_540(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_541, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(541, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_541(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_542, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(542, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_542(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_543, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(543, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_543(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_544, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(544, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_544(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_545, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(545, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_545(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_546, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(546, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_546(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_547, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(547, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_547(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_548, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(548, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_548(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_549, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(549, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_549(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_550, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(550, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_550(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_551, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(551, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_551(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_552, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(552, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_552(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_553, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(553, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_553(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_554, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(554, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_554(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_555, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(555, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_555(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_556, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(556, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_556(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_557, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(557, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_557(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_558, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(558, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_558(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_559, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(559, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_559(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_560, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(560, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_560(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_561, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(561, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_561(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_562, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(562, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_562(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_563, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(563, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_563(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_564, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(564, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_564(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_565, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(565, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_565(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_566, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(566, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_566(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_567, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(567, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_567(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_568, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(568, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_568(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_569, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(569, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_569(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_570, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(570, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_570(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_571, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(571, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_571(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_572, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(572, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_572(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_573, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(573, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_573(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_574, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(574, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_574(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_575, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(575, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_575(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_576, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(576, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_576(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_577, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(577, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_577(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_578, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(578, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_578(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_579, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(579, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_579(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_580, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(580, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_580(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_581, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(581, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_581(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_582, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(582, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_582(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_583, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(583, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_583(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_584, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(584, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_584(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_585, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(585, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_585(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_586, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(586, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_586(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_587, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(587, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_587(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_588, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(588, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_588(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_589, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(589, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_589(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_590, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(590, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_590(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_591, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(591, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_591(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_592, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(592, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_592(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_593, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(593, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_593(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_594, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(594, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_594(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_595, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(595, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_595(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_596, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(596, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_596(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_597, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(597, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_597(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_598, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(598, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_598(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_599, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(599, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_599(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_600, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(600, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_600(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_601, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(601, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_601(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_602, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(602, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_602(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_603, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(603, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_603(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_604, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(604, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_604(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_605, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(605, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_605(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_606, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(606, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_606(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_607, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(607, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_607(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_608, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(608, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_608(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_609, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(609, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_609(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_610, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(610, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_610(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_611, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(611, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_611(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_612, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(612, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_612(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_613, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(613, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_613(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_614, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(614, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_614(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_615, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(615, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_615(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_616, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(616, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_616(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_617, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(617, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_617(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_618, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(618, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_618(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_619, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(619, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_619(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_620, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(620, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_620(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_621, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(621, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_621(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_622, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(622, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_622(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_623, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(623, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_623(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_624, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(624, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_624(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_625, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(625, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_625(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_626, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(626, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_626(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_627, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(627, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_627(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_628, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(628, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_628(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_629, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(629, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_629(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_630, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(630, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_630(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_631, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(631, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_631(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_632, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(632, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_632(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_633, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(633, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_633(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_634, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(634, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_634(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_635, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(635, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_635(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_636, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(636, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_636(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_637, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(637, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_637(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_638, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(638, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_638(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_639, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(639, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_639(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_640, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(640, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_640(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_641, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(641, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_641(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_642, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(642, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_642(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_643, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(643, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_643(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_644, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(644, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_644(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_645, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(645, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_645(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_646, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(646, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_646(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_647, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(647, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_647(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_648, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(648, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_648(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_649, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(649, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_649(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_650, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(650, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_650(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_651, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(651, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_651(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_652, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(652, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_652(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_653, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(653, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_653(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_654, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(654, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_654(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_655, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(655, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_655(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_656, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(656, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_656(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_657, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(657, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_657(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_658, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(658, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_658(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_659, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(659, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_659(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_660, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(660, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_660(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_661, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(661, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_661(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_662, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(662, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_662(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_663, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(663, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_663(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_664, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(664, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_664(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_665, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(665, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_665(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_666, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(666, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_666(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_667, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(667, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_667(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_668, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(668, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_668(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_669, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(669, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_669(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_670, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(670, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_670(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_671, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(671, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_671(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_672, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(672, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_672(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_673, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(673, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_673(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_674, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(674, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_674(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_675, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(675, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_675(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_676, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(676, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_676(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_677, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(677, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_677(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_678, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(678, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_678(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_679, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(679, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_679(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_680, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(680, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_680(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_681, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(681, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_681(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_682, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(682, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_682(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_683, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(683, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_683(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_684, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(684, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_684(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_685, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(685, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_685(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_686, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(686, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_686(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_687, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(687, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_687(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_688, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(688, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_688(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_689, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(689, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_689(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_690, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(690, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_690(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_691, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(691, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_691(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_692, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(692, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_692(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_693, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(693, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_693(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_694, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(694, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_694(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_695, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(695, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_695(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_696, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(696, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_696(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_697, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(697, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_697(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_698, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(698, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_698(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_699, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(699, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_699(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_700, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(700, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_700(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_701, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(701, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_701(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_702, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(702, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_702(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_703, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(703, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_703(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_704, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(704, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_704(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_705, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(705, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_705(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_706, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(706, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_706(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_707, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(707, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_707(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_708, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(708, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_708(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_709, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(709, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_709(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_710, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(710, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_710(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_711, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(711, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_711(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_712, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(712, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_712(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_713, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(713, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_713(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_714, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(714, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_714(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_715, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(715, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_715(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_716, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(716, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_716(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_717, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(717, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_717(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_718, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(718, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_718(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_719, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(719, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_719(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_720, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(720, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_720(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_721, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(721, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_721(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_722, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(722, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_722(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_723, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(723, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_723(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_724, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(724, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_724(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_725, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(725, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_725(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_726, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(726, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_726(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_727, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(727, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_727(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_728, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(728, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_728(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_729, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(729, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_729(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_730, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(730, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_730(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_731, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(731, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_731(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_732, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(732, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_732(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_733, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(733, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_733(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_734, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(734, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_734(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_735, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(735, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_735(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_736, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(736, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_736(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_737, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(737, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_737(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_738, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(738, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_738(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_739, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(739, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_739(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_740, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(740, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_740(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_741, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(741, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_741(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_742, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(742, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_742(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_743, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(743, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_743(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_744, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(744, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_744(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_745, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(745, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_745(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_746, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(746, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_746(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_747, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(747, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_747(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_748, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(748, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_748(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_749, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(749, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_749(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_750, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(750, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_750(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_751, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(751, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_751(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_752, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(752, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_752(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_753, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(753, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_753(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_754, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(754, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_754(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_755, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(755, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_755(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_756, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(756, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_756(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_757, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(757, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_757(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_758, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(758, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_758(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_759, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(759, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_759(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_760, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(760, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_760(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_761, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(761, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_761(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_762, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(762, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_762(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_763, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(763, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_763(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_764, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(764, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_764(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_765, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(765, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_765(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_766, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(766, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_766(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_767, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(767, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_767(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_768, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(768, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_768(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_769, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(769, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_769(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_770, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(770, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_770(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_771, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(771, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_771(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_772, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(772, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_772(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_773, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(773, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_773(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_774, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(774, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_774(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_775, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(775, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_775(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_776, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(776, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_776(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_777, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(777, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_777(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_778, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(778, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_778(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_779, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(779, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_779(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_780, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(780, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_780(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_781, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(781, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_781(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_782, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(782, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_782(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_783, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(783, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_783(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_784, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(784, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_784(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_785, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(785, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_785(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_786, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(786, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_786(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_787, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(787, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_787(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_788, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(788, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_788(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_789, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(789, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_789(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_790, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(790, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_790(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_791, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(791, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_791(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_792, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(792, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_792(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_793, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(793, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_793(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_794, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(794, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_794(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_795, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(795, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_795(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_796, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(796, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_796(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_797, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(797, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_797(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_798, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(798, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_798(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_799, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(799, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_799(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_800, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(800, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_800(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_801, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(801, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_801(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_802, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(802, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_802(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_803, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(803, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_803(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_804, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(804, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_804(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_805, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(805, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_805(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_806, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(806, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_806(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_807, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(807, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_807(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_808, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(808, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_808(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_809, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(809, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_809(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_810, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(810, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_810(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_811, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(811, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_811(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_812, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(812, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_812(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_813, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(813, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_813(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_814, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(814, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_814(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_815, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(815, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_815(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_816, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(816, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_816(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_817, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(817, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_817(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_818, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(818, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_818(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_819, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(819, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_819(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_820, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(820, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_820(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_821, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(821, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_821(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_822, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(822, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_822(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_823, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(823, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_823(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_824, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(824, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_824(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_825, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(825, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_825(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_826, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(826, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_826(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_827, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(827, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_827(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_828, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(828, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_828(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_829, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(829, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_829(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_830, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(830, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_830(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_831, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(831, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_831(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_832, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(832, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_832(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_833, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(833, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_833(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_834, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(834, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_834(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_835, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(835, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_835(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_836, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(836, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_836(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_837, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(837, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_837(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_838, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(838, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_838(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_839, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(839, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_839(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_840, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(840, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_840(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_841, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(841, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_841(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_842, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(842, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_842(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_843, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(843, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_843(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_844, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(844, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_844(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_845, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(845, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_845(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_846, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(846, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_846(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_847, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(847, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_847(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_848, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(848, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_848(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_849, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(849, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_849(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_850, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(850, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_850(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_851, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(851, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_851(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_852, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(852, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_852(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_853, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(853, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_853(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_854, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(854, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_854(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_855, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(855, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_855(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_856, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(856, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_856(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_857, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(857, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_857(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_858, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(858, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_858(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_859, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(859, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_859(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_860, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(860, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_860(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_861, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(861, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_861(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_862, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(862, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_862(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_863, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(863, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_863(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_864, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(864, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_864(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_865, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(865, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_865(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_866, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(866, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_866(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_867, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(867, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_867(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_868, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(868, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_868(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_869, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(869, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_869(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_870, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(870, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_870(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_871, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(871, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_871(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_872, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(872, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_872(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_873, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(873, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_873(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_874, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(874, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_874(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_875, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(875, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_875(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_876, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(876, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_876(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_877, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(877, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_877(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_878, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(878, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_878(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_879, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(879, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_879(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_880, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(880, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_880(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_881, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(881, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_881(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_882, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(882, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_882(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_883, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(883, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_883(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_884, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(884, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_884(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_885, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(885, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_885(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_886, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(886, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_886(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_887, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(887, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_887(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_888, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(888, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_888(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_889, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(889, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_889(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_890, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(890, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_890(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_891, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(891, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_891(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_892, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(892, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_892(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_893, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(893, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_893(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_894, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(894, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_894(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_895, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(895, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_895(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_896, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(896, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_896(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_897, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(897, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_897(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_898, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(898, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_898(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_899, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(899, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_899(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_900, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(900, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_900(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_901, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(901, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_901(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_902, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(902, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_902(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_903, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(903, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_903(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_904, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(904, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_904(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_905, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(905, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_905(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_906, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(906, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_906(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_907, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(907, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_907(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_908, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(908, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_908(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_909, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(909, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_909(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_910, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(910, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_910(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_911, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(911, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_911(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_912, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(912, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_912(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_913, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(913, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_913(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_914, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(914, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_914(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_915, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(915, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_915(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_916, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(916, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_916(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_917, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(917, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_917(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_918, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(918, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_918(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_919, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(919, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_919(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_920, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(920, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_920(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_921, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(921, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_921(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_922, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(922, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_922(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_923, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(923, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_923(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_924, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(924, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_924(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_925, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(925, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_925(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_926, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(926, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_926(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_927, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(927, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_927(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_928, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(928, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_928(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_929, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(929, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_929(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_930, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(930, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_930(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_931, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(931, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_931(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_932, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(932, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_932(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_933, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(933, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_933(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_934, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(934, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_934(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_935, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(935, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_935(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_936, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(936, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_936(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_937, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(937, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_937(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_938, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(938, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_938(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_939, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(939, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_939(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_940, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(940, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_940(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_941, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(941, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_941(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_942, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(942, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_942(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_943, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(943, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_943(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_944, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(944, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_944(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_945, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(945, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_945(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_946, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(946, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_946(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_947, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(947, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_947(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_948, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(948, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_948(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_949, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(949, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_949(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_950, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(950, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_950(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_951, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(951, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_951(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_952, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(952, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_952(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_953, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(953, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_953(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_954, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(954, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_954(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_955, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(955, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_955(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_956, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(956, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_956(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_957, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(957, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_957(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_958, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(958, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_958(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_959, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(959, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_959(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_960, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(960, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_960(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_961, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(961, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_961(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_962, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(962, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_962(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_963, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(963, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_963(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_964, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(964, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_964(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_965, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(965, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_965(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_966, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(966, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_966(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_967, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(967, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_967(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_968, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(968, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_968(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_969, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(969, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_969(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_970, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(970, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_970(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_971, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(971, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_971(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_972, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(972, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_972(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_973, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(973, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_973(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_974, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(974, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_974(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_975, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(975, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_975(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_976, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(976, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_976(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_977, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(977, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_977(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_978, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(978, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_978(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_979, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(979, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_979(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_980, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(980, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_980(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_981, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(981, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_981(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_982, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(982, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_982(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_983, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(983, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_983(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_984, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(984, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_984(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_985, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(985, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_985(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_986, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(986, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_986(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_987, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(987, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_987(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_988, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(988, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_988(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_989, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(989, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_989(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_990, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(990, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_990(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_991, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(991, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_991(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_992, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(992, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_992(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_993, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(993, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_993(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_994, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(994, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_994(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_995, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(995, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_995(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_996, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(996, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_996(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_997, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(997, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_997(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_998, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(998, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_998(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_999, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(999, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_999(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1000, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1000, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1000(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1001, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1001, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1001(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1002, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1002, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1002(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1003, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1003, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1003(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1004, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1004, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1004(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1005, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1005, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1005(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1006, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1006, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1006(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1007, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1007, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1007(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1008, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1008, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1008(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1009, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1009, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1009(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1010, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1010, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1010(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1011, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1011, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1011(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1012, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1012, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1012(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1013, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1013, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1013(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1014, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1014, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1014(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1015, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1015, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1015(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1016, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1016, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1016(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1017, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1017, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1017(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1018, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1018, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1018(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1019, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1019, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1019(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1020, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1020, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1020(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1021, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1021, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1021(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1022, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1022, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1022(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1023, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1023, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1023(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1024, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1024, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1024(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1025, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1025, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_256.hpp new file mode 100644 index 0000000000..9d71c977e4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_256.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_256_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_256_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_0(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_1, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(1, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_512.hpp new file mode 100644 index 0000000000..cdbc299879 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_left_512.hpp @@ -0,0 +1,276 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_512_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_512_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_258, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(258, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_258(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_259, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(259, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_259(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_260, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(260, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_260(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_261, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(261, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_261(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_262, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(262, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_262(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_263, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(263, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_263(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_264, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(264, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_264(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_265, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(265, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_265(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_266, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(266, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_266(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_267, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(267, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_267(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_268, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(268, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_268(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_269, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(269, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_269(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_270, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(270, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_270(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_271, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(271, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_271(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_272, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(272, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_272(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_273, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(273, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_273(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_274, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(274, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_274(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_275, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(275, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_275(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_276, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(276, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_276(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_277, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(277, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_277(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_278, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(278, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_278(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_279, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(279, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_279(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_280, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(280, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_280(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_281, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(281, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_281(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_282, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(282, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_282(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_283, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(283, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_283(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_284, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(284, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_284(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_285, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(285, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_285(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_286, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(286, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_286(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_287, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(287, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_287(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_288, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(288, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_288(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_289, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(289, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_289(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_290, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(290, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_290(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_291, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(291, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_291(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_292, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(292, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_292(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_293, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(293, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_293(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_294, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(294, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_294(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_295, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(295, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_295(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_296, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(296, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_296(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_297, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(297, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_297(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_298, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(298, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_298(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_299, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(299, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_299(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_300, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(300, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_300(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_301, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(301, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_301(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_302, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(302, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_302(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_303, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(303, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_303(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_304, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(304, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_304(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_305, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(305, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_305(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_306, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(306, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_306(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_307, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(307, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_307(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_308, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(308, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_308(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_309, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(309, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_309(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_310, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(310, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_310(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_311, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(311, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_311(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_312, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(312, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_312(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_313, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(313, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_313(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_314, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(314, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_314(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_315, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(315, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_315(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_316, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(316, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_316(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_317, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(317, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_317(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_318, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(318, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_318(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_319, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(319, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_319(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_320, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(320, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_320(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_321, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(321, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_321(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_322, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(322, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_322(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_323, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(323, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_323(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_324, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(324, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_324(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_325, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(325, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_325(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_326, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(326, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_326(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_327, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(327, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_327(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_328, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(328, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_328(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_329, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(329, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_329(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_330, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(330, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_330(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_331, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(331, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_331(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_332, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(332, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_332(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_333, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(333, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_333(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_334, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(334, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_334(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_335, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(335, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_335(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_336, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(336, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_336(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_337, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(337, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_337(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_338, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(338, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_338(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_339, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(339, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_339(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_340, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(340, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_340(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_341, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(341, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_341(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_342, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(342, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_342(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_343, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(343, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_343(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_344, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(344, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_344(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_345, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(345, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_345(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_346, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(346, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_346(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_347, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(347, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_347(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_348, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(348, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_348(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_349, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(349, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_349(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_350, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(350, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_350(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_351, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(351, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_351(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_352, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(352, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_352(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_353, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(353, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_353(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_354, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(354, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_354(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_355, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(355, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_355(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_356, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(356, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_356(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_357, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(357, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_357(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_358, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(358, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_358(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_359, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(359, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_359(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_360, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(360, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_360(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_361, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(361, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_361(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_362, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(362, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_362(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_363, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(363, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_363(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_364, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(364, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_364(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_365, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(365, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_365(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_366, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(366, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_366(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_367, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(367, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_367(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_368, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(368, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_368(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_369, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(369, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_369(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_370, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(370, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_370(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_371, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(371, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_371(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_372, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(372, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_372(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_373, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(373, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_373(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_374, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(374, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_374(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_375, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(375, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_375(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_376, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(376, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_376(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_377, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(377, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_377(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_378, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(378, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_378(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_379, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(379, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_379(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_380, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(380, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_380(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_381, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(381, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_381(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_382, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(382, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_382(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_383, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(383, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_383(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_384, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(384, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_384(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_385, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(385, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_385(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_386, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(386, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_386(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_387, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(387, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_387(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_388, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(388, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_388(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_389, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(389, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_389(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_390, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(390, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_390(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_391, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(391, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_391(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_392, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(392, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_392(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_393, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(393, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_393(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_394, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(394, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_394(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_395, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(395, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_395(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_396, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(396, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_396(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_397, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(397, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_397(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_398, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(398, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_398(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_399, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(399, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_399(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_400, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(400, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_400(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_401, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(401, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_401(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_402, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(402, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_402(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_403, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(403, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_403(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_404, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(404, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_404(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_405, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(405, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_405(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_406, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(406, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_406(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_407, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(407, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_407(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_408, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(408, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_408(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_409, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(409, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_409(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_410, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(410, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_410(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_411, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(411, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_411(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_412, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(412, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_412(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_413, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(413, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_413(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_414, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(414, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_414(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_415, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(415, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_415(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_416, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(416, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_416(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_417, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(417, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_417(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_418, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(418, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_418(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_419, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(419, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_419(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_420, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(420, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_420(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_421, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(421, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_421(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_422, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(422, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_422(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_423, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(423, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_423(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_424, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(424, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_424(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_425, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(425, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_425(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_426, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(426, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_426(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_427, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(427, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_427(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_428, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(428, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_428(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_429, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(429, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_429(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_430, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(430, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_430(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_431, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(431, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_431(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_432, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(432, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_432(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_433, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(433, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_433(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_434, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(434, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_434(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_435, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(435, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_435(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_436, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(436, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_436(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_437, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(437, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_437(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_438, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(438, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_438(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_439, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(439, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_439(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_440, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(440, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_440(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_441, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(441, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_441(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_442, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(442, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_442(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_443, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(443, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_443(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_444, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(444, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_444(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_445, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(445, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_445(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_446, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(446, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_446(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_447, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(447, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_447(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_448, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(448, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_448(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_449, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(449, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_449(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_450, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(450, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_450(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_451, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(451, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_451(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_452, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(452, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_452(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_453, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(453, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_453(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_454, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(454, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_454(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_455, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(455, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_455(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_456, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(456, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_456(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_457, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(457, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_457(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_458, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(458, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_458(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_459, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(459, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_459(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_460, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(460, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_460(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_461, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(461, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_461(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_462, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(462, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_462(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_463, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(463, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_463(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_464, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(464, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_464(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_465, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(465, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_465(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_466, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(466, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_466(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_467, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(467, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_467(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_468, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(468, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_468(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_469, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(469, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_469(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_470, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(470, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_470(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_471, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(471, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_471(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_472, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(472, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_472(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_473, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(473, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_473(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_474, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(474, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_474(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_475, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(475, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_475(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_476, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(476, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_476(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_477, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(477, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_477(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_478, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(478, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_478(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_479, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(479, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_479(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_480, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(480, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_480(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_481, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(481, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_481(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_482, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(482, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_482(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_483, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(483, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_483(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_484, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(484, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_484(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_485, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(485, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_485(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_486, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(486, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_486(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_487, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(487, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_487(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_488, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(488, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_488(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_489, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(489, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_489(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_490, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(490, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_490(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_491, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(491, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_491(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_492, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(492, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_492(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_493, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(493, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_493(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_494, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(494, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_494(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_495, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(495, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_495(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_496, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(496, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_496(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_497, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(497, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_497(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_498, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(498, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_498(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_499, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(499, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_499(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_500, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(500, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_500(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_501, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(501, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_501(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_502, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(502, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_502(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_503, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(503, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_503(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_504, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(504, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_504(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_505, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(505, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_505(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_506, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(506, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_506(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_507, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(507, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_507(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_508, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(508, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_508(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_509, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(509, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_509(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_510, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(510, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_510(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_511, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(511, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_511(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_512, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(512, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_512(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_513, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(513, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_1024.hpp new file mode 100644 index 0000000000..dcad87dbda --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_1024.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_1024_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_1024_HPP +# +# define BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) BOOST_PP_LIST_FOLD_LEFT_513(o, s, BOOST_PP_LIST_REVERSE_D(513, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_514(o, s, l) BOOST_PP_LIST_FOLD_LEFT_514(o, s, BOOST_PP_LIST_REVERSE_D(514, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_515(o, s, l) BOOST_PP_LIST_FOLD_LEFT_515(o, s, BOOST_PP_LIST_REVERSE_D(515, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_516(o, s, l) BOOST_PP_LIST_FOLD_LEFT_516(o, s, BOOST_PP_LIST_REVERSE_D(516, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_517(o, s, l) BOOST_PP_LIST_FOLD_LEFT_517(o, s, BOOST_PP_LIST_REVERSE_D(517, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_518(o, s, l) BOOST_PP_LIST_FOLD_LEFT_518(o, s, BOOST_PP_LIST_REVERSE_D(518, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_519(o, s, l) BOOST_PP_LIST_FOLD_LEFT_519(o, s, BOOST_PP_LIST_REVERSE_D(519, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_520(o, s, l) BOOST_PP_LIST_FOLD_LEFT_520(o, s, BOOST_PP_LIST_REVERSE_D(520, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_521(o, s, l) BOOST_PP_LIST_FOLD_LEFT_521(o, s, BOOST_PP_LIST_REVERSE_D(521, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_522(o, s, l) BOOST_PP_LIST_FOLD_LEFT_522(o, s, BOOST_PP_LIST_REVERSE_D(522, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_523(o, s, l) BOOST_PP_LIST_FOLD_LEFT_523(o, s, BOOST_PP_LIST_REVERSE_D(523, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_524(o, s, l) BOOST_PP_LIST_FOLD_LEFT_524(o, s, BOOST_PP_LIST_REVERSE_D(524, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_525(o, s, l) BOOST_PP_LIST_FOLD_LEFT_525(o, s, BOOST_PP_LIST_REVERSE_D(525, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_526(o, s, l) BOOST_PP_LIST_FOLD_LEFT_526(o, s, BOOST_PP_LIST_REVERSE_D(526, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_527(o, s, l) BOOST_PP_LIST_FOLD_LEFT_527(o, s, BOOST_PP_LIST_REVERSE_D(527, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_528(o, s, l) BOOST_PP_LIST_FOLD_LEFT_528(o, s, BOOST_PP_LIST_REVERSE_D(528, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_529(o, s, l) BOOST_PP_LIST_FOLD_LEFT_529(o, s, BOOST_PP_LIST_REVERSE_D(529, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_530(o, s, l) BOOST_PP_LIST_FOLD_LEFT_530(o, s, BOOST_PP_LIST_REVERSE_D(530, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_531(o, s, l) BOOST_PP_LIST_FOLD_LEFT_531(o, s, BOOST_PP_LIST_REVERSE_D(531, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_532(o, s, l) BOOST_PP_LIST_FOLD_LEFT_532(o, s, BOOST_PP_LIST_REVERSE_D(532, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_533(o, s, l) BOOST_PP_LIST_FOLD_LEFT_533(o, s, BOOST_PP_LIST_REVERSE_D(533, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_534(o, s, l) BOOST_PP_LIST_FOLD_LEFT_534(o, s, BOOST_PP_LIST_REVERSE_D(534, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_535(o, s, l) BOOST_PP_LIST_FOLD_LEFT_535(o, s, BOOST_PP_LIST_REVERSE_D(535, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_536(o, s, l) BOOST_PP_LIST_FOLD_LEFT_536(o, s, BOOST_PP_LIST_REVERSE_D(536, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_537(o, s, l) BOOST_PP_LIST_FOLD_LEFT_537(o, s, BOOST_PP_LIST_REVERSE_D(537, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_538(o, s, l) BOOST_PP_LIST_FOLD_LEFT_538(o, s, BOOST_PP_LIST_REVERSE_D(538, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_539(o, s, l) BOOST_PP_LIST_FOLD_LEFT_539(o, s, BOOST_PP_LIST_REVERSE_D(539, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_540(o, s, l) BOOST_PP_LIST_FOLD_LEFT_540(o, s, BOOST_PP_LIST_REVERSE_D(540, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_541(o, s, l) BOOST_PP_LIST_FOLD_LEFT_541(o, s, BOOST_PP_LIST_REVERSE_D(541, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_542(o, s, l) BOOST_PP_LIST_FOLD_LEFT_542(o, s, BOOST_PP_LIST_REVERSE_D(542, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_543(o, s, l) BOOST_PP_LIST_FOLD_LEFT_543(o, s, BOOST_PP_LIST_REVERSE_D(543, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_544(o, s, l) BOOST_PP_LIST_FOLD_LEFT_544(o, s, BOOST_PP_LIST_REVERSE_D(544, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_545(o, s, l) BOOST_PP_LIST_FOLD_LEFT_545(o, s, BOOST_PP_LIST_REVERSE_D(545, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_546(o, s, l) BOOST_PP_LIST_FOLD_LEFT_546(o, s, BOOST_PP_LIST_REVERSE_D(546, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_547(o, s, l) BOOST_PP_LIST_FOLD_LEFT_547(o, s, BOOST_PP_LIST_REVERSE_D(547, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_548(o, s, l) BOOST_PP_LIST_FOLD_LEFT_548(o, s, BOOST_PP_LIST_REVERSE_D(548, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_549(o, s, l) BOOST_PP_LIST_FOLD_LEFT_549(o, s, BOOST_PP_LIST_REVERSE_D(549, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_550(o, s, l) BOOST_PP_LIST_FOLD_LEFT_550(o, s, BOOST_PP_LIST_REVERSE_D(550, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_551(o, s, l) BOOST_PP_LIST_FOLD_LEFT_551(o, s, BOOST_PP_LIST_REVERSE_D(551, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_552(o, s, l) BOOST_PP_LIST_FOLD_LEFT_552(o, s, BOOST_PP_LIST_REVERSE_D(552, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_553(o, s, l) BOOST_PP_LIST_FOLD_LEFT_553(o, s, BOOST_PP_LIST_REVERSE_D(553, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_554(o, s, l) BOOST_PP_LIST_FOLD_LEFT_554(o, s, BOOST_PP_LIST_REVERSE_D(554, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_555(o, s, l) BOOST_PP_LIST_FOLD_LEFT_555(o, s, BOOST_PP_LIST_REVERSE_D(555, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_556(o, s, l) BOOST_PP_LIST_FOLD_LEFT_556(o, s, BOOST_PP_LIST_REVERSE_D(556, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_557(o, s, l) BOOST_PP_LIST_FOLD_LEFT_557(o, s, BOOST_PP_LIST_REVERSE_D(557, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_558(o, s, l) BOOST_PP_LIST_FOLD_LEFT_558(o, s, BOOST_PP_LIST_REVERSE_D(558, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_559(o, s, l) BOOST_PP_LIST_FOLD_LEFT_559(o, s, BOOST_PP_LIST_REVERSE_D(559, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_560(o, s, l) BOOST_PP_LIST_FOLD_LEFT_560(o, s, BOOST_PP_LIST_REVERSE_D(560, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_561(o, s, l) BOOST_PP_LIST_FOLD_LEFT_561(o, s, BOOST_PP_LIST_REVERSE_D(561, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_562(o, s, l) BOOST_PP_LIST_FOLD_LEFT_562(o, s, BOOST_PP_LIST_REVERSE_D(562, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_563(o, s, l) BOOST_PP_LIST_FOLD_LEFT_563(o, s, BOOST_PP_LIST_REVERSE_D(563, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_564(o, s, l) BOOST_PP_LIST_FOLD_LEFT_564(o, s, BOOST_PP_LIST_REVERSE_D(564, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_565(o, s, l) BOOST_PP_LIST_FOLD_LEFT_565(o, s, BOOST_PP_LIST_REVERSE_D(565, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_566(o, s, l) BOOST_PP_LIST_FOLD_LEFT_566(o, s, BOOST_PP_LIST_REVERSE_D(566, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_567(o, s, l) BOOST_PP_LIST_FOLD_LEFT_567(o, s, BOOST_PP_LIST_REVERSE_D(567, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_568(o, s, l) BOOST_PP_LIST_FOLD_LEFT_568(o, s, BOOST_PP_LIST_REVERSE_D(568, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_569(o, s, l) BOOST_PP_LIST_FOLD_LEFT_569(o, s, BOOST_PP_LIST_REVERSE_D(569, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_570(o, s, l) BOOST_PP_LIST_FOLD_LEFT_570(o, s, BOOST_PP_LIST_REVERSE_D(570, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_571(o, s, l) BOOST_PP_LIST_FOLD_LEFT_571(o, s, BOOST_PP_LIST_REVERSE_D(571, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_572(o, s, l) BOOST_PP_LIST_FOLD_LEFT_572(o, s, BOOST_PP_LIST_REVERSE_D(572, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_573(o, s, l) BOOST_PP_LIST_FOLD_LEFT_573(o, s, BOOST_PP_LIST_REVERSE_D(573, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_574(o, s, l) BOOST_PP_LIST_FOLD_LEFT_574(o, s, BOOST_PP_LIST_REVERSE_D(574, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_575(o, s, l) BOOST_PP_LIST_FOLD_LEFT_575(o, s, BOOST_PP_LIST_REVERSE_D(575, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_576(o, s, l) BOOST_PP_LIST_FOLD_LEFT_576(o, s, BOOST_PP_LIST_REVERSE_D(576, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_577(o, s, l) BOOST_PP_LIST_FOLD_LEFT_577(o, s, BOOST_PP_LIST_REVERSE_D(577, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_578(o, s, l) BOOST_PP_LIST_FOLD_LEFT_578(o, s, BOOST_PP_LIST_REVERSE_D(578, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_579(o, s, l) BOOST_PP_LIST_FOLD_LEFT_579(o, s, BOOST_PP_LIST_REVERSE_D(579, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_580(o, s, l) BOOST_PP_LIST_FOLD_LEFT_580(o, s, BOOST_PP_LIST_REVERSE_D(580, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_581(o, s, l) BOOST_PP_LIST_FOLD_LEFT_581(o, s, BOOST_PP_LIST_REVERSE_D(581, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_582(o, s, l) BOOST_PP_LIST_FOLD_LEFT_582(o, s, BOOST_PP_LIST_REVERSE_D(582, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_583(o, s, l) BOOST_PP_LIST_FOLD_LEFT_583(o, s, BOOST_PP_LIST_REVERSE_D(583, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_584(o, s, l) BOOST_PP_LIST_FOLD_LEFT_584(o, s, BOOST_PP_LIST_REVERSE_D(584, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_585(o, s, l) BOOST_PP_LIST_FOLD_LEFT_585(o, s, BOOST_PP_LIST_REVERSE_D(585, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_586(o, s, l) BOOST_PP_LIST_FOLD_LEFT_586(o, s, BOOST_PP_LIST_REVERSE_D(586, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_587(o, s, l) BOOST_PP_LIST_FOLD_LEFT_587(o, s, BOOST_PP_LIST_REVERSE_D(587, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_588(o, s, l) BOOST_PP_LIST_FOLD_LEFT_588(o, s, BOOST_PP_LIST_REVERSE_D(588, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_589(o, s, l) BOOST_PP_LIST_FOLD_LEFT_589(o, s, BOOST_PP_LIST_REVERSE_D(589, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_590(o, s, l) BOOST_PP_LIST_FOLD_LEFT_590(o, s, BOOST_PP_LIST_REVERSE_D(590, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_591(o, s, l) BOOST_PP_LIST_FOLD_LEFT_591(o, s, BOOST_PP_LIST_REVERSE_D(591, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_592(o, s, l) BOOST_PP_LIST_FOLD_LEFT_592(o, s, BOOST_PP_LIST_REVERSE_D(592, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_593(o, s, l) BOOST_PP_LIST_FOLD_LEFT_593(o, s, BOOST_PP_LIST_REVERSE_D(593, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_594(o, s, l) BOOST_PP_LIST_FOLD_LEFT_594(o, s, BOOST_PP_LIST_REVERSE_D(594, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_595(o, s, l) BOOST_PP_LIST_FOLD_LEFT_595(o, s, BOOST_PP_LIST_REVERSE_D(595, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_596(o, s, l) BOOST_PP_LIST_FOLD_LEFT_596(o, s, BOOST_PP_LIST_REVERSE_D(596, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_597(o, s, l) BOOST_PP_LIST_FOLD_LEFT_597(o, s, BOOST_PP_LIST_REVERSE_D(597, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_598(o, s, l) BOOST_PP_LIST_FOLD_LEFT_598(o, s, BOOST_PP_LIST_REVERSE_D(598, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_599(o, s, l) BOOST_PP_LIST_FOLD_LEFT_599(o, s, BOOST_PP_LIST_REVERSE_D(599, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_600(o, s, l) BOOST_PP_LIST_FOLD_LEFT_600(o, s, BOOST_PP_LIST_REVERSE_D(600, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_601(o, s, l) BOOST_PP_LIST_FOLD_LEFT_601(o, s, BOOST_PP_LIST_REVERSE_D(601, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_602(o, s, l) BOOST_PP_LIST_FOLD_LEFT_602(o, s, BOOST_PP_LIST_REVERSE_D(602, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_603(o, s, l) BOOST_PP_LIST_FOLD_LEFT_603(o, s, BOOST_PP_LIST_REVERSE_D(603, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_604(o, s, l) BOOST_PP_LIST_FOLD_LEFT_604(o, s, BOOST_PP_LIST_REVERSE_D(604, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_605(o, s, l) BOOST_PP_LIST_FOLD_LEFT_605(o, s, BOOST_PP_LIST_REVERSE_D(605, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_606(o, s, l) BOOST_PP_LIST_FOLD_LEFT_606(o, s, BOOST_PP_LIST_REVERSE_D(606, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_607(o, s, l) BOOST_PP_LIST_FOLD_LEFT_607(o, s, BOOST_PP_LIST_REVERSE_D(607, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_608(o, s, l) BOOST_PP_LIST_FOLD_LEFT_608(o, s, BOOST_PP_LIST_REVERSE_D(608, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_609(o, s, l) BOOST_PP_LIST_FOLD_LEFT_609(o, s, BOOST_PP_LIST_REVERSE_D(609, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_610(o, s, l) BOOST_PP_LIST_FOLD_LEFT_610(o, s, BOOST_PP_LIST_REVERSE_D(610, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_611(o, s, l) BOOST_PP_LIST_FOLD_LEFT_611(o, s, BOOST_PP_LIST_REVERSE_D(611, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_612(o, s, l) BOOST_PP_LIST_FOLD_LEFT_612(o, s, BOOST_PP_LIST_REVERSE_D(612, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_613(o, s, l) BOOST_PP_LIST_FOLD_LEFT_613(o, s, BOOST_PP_LIST_REVERSE_D(613, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_614(o, s, l) BOOST_PP_LIST_FOLD_LEFT_614(o, s, BOOST_PP_LIST_REVERSE_D(614, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_615(o, s, l) BOOST_PP_LIST_FOLD_LEFT_615(o, s, BOOST_PP_LIST_REVERSE_D(615, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_616(o, s, l) BOOST_PP_LIST_FOLD_LEFT_616(o, s, BOOST_PP_LIST_REVERSE_D(616, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_617(o, s, l) BOOST_PP_LIST_FOLD_LEFT_617(o, s, BOOST_PP_LIST_REVERSE_D(617, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_618(o, s, l) BOOST_PP_LIST_FOLD_LEFT_618(o, s, BOOST_PP_LIST_REVERSE_D(618, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_619(o, s, l) BOOST_PP_LIST_FOLD_LEFT_619(o, s, BOOST_PP_LIST_REVERSE_D(619, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_620(o, s, l) BOOST_PP_LIST_FOLD_LEFT_620(o, s, BOOST_PP_LIST_REVERSE_D(620, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_621(o, s, l) BOOST_PP_LIST_FOLD_LEFT_621(o, s, BOOST_PP_LIST_REVERSE_D(621, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_622(o, s, l) BOOST_PP_LIST_FOLD_LEFT_622(o, s, BOOST_PP_LIST_REVERSE_D(622, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_623(o, s, l) BOOST_PP_LIST_FOLD_LEFT_623(o, s, BOOST_PP_LIST_REVERSE_D(623, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_624(o, s, l) BOOST_PP_LIST_FOLD_LEFT_624(o, s, BOOST_PP_LIST_REVERSE_D(624, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_625(o, s, l) BOOST_PP_LIST_FOLD_LEFT_625(o, s, BOOST_PP_LIST_REVERSE_D(625, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_626(o, s, l) BOOST_PP_LIST_FOLD_LEFT_626(o, s, BOOST_PP_LIST_REVERSE_D(626, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_627(o, s, l) BOOST_PP_LIST_FOLD_LEFT_627(o, s, BOOST_PP_LIST_REVERSE_D(627, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_628(o, s, l) BOOST_PP_LIST_FOLD_LEFT_628(o, s, BOOST_PP_LIST_REVERSE_D(628, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_629(o, s, l) BOOST_PP_LIST_FOLD_LEFT_629(o, s, BOOST_PP_LIST_REVERSE_D(629, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_630(o, s, l) BOOST_PP_LIST_FOLD_LEFT_630(o, s, BOOST_PP_LIST_REVERSE_D(630, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_631(o, s, l) BOOST_PP_LIST_FOLD_LEFT_631(o, s, BOOST_PP_LIST_REVERSE_D(631, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_632(o, s, l) BOOST_PP_LIST_FOLD_LEFT_632(o, s, BOOST_PP_LIST_REVERSE_D(632, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_633(o, s, l) BOOST_PP_LIST_FOLD_LEFT_633(o, s, BOOST_PP_LIST_REVERSE_D(633, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_634(o, s, l) BOOST_PP_LIST_FOLD_LEFT_634(o, s, BOOST_PP_LIST_REVERSE_D(634, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_635(o, s, l) BOOST_PP_LIST_FOLD_LEFT_635(o, s, BOOST_PP_LIST_REVERSE_D(635, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_636(o, s, l) BOOST_PP_LIST_FOLD_LEFT_636(o, s, BOOST_PP_LIST_REVERSE_D(636, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_637(o, s, l) BOOST_PP_LIST_FOLD_LEFT_637(o, s, BOOST_PP_LIST_REVERSE_D(637, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_638(o, s, l) BOOST_PP_LIST_FOLD_LEFT_638(o, s, BOOST_PP_LIST_REVERSE_D(638, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_639(o, s, l) BOOST_PP_LIST_FOLD_LEFT_639(o, s, BOOST_PP_LIST_REVERSE_D(639, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_640(o, s, l) BOOST_PP_LIST_FOLD_LEFT_640(o, s, BOOST_PP_LIST_REVERSE_D(640, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_641(o, s, l) BOOST_PP_LIST_FOLD_LEFT_641(o, s, BOOST_PP_LIST_REVERSE_D(641, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_642(o, s, l) BOOST_PP_LIST_FOLD_LEFT_642(o, s, BOOST_PP_LIST_REVERSE_D(642, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_643(o, s, l) BOOST_PP_LIST_FOLD_LEFT_643(o, s, BOOST_PP_LIST_REVERSE_D(643, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_644(o, s, l) BOOST_PP_LIST_FOLD_LEFT_644(o, s, BOOST_PP_LIST_REVERSE_D(644, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_645(o, s, l) BOOST_PP_LIST_FOLD_LEFT_645(o, s, BOOST_PP_LIST_REVERSE_D(645, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_646(o, s, l) BOOST_PP_LIST_FOLD_LEFT_646(o, s, BOOST_PP_LIST_REVERSE_D(646, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_647(o, s, l) BOOST_PP_LIST_FOLD_LEFT_647(o, s, BOOST_PP_LIST_REVERSE_D(647, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_648(o, s, l) BOOST_PP_LIST_FOLD_LEFT_648(o, s, BOOST_PP_LIST_REVERSE_D(648, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_649(o, s, l) BOOST_PP_LIST_FOLD_LEFT_649(o, s, BOOST_PP_LIST_REVERSE_D(649, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_650(o, s, l) BOOST_PP_LIST_FOLD_LEFT_650(o, s, BOOST_PP_LIST_REVERSE_D(650, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_651(o, s, l) BOOST_PP_LIST_FOLD_LEFT_651(o, s, BOOST_PP_LIST_REVERSE_D(651, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_652(o, s, l) BOOST_PP_LIST_FOLD_LEFT_652(o, s, BOOST_PP_LIST_REVERSE_D(652, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_653(o, s, l) BOOST_PP_LIST_FOLD_LEFT_653(o, s, BOOST_PP_LIST_REVERSE_D(653, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_654(o, s, l) BOOST_PP_LIST_FOLD_LEFT_654(o, s, BOOST_PP_LIST_REVERSE_D(654, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_655(o, s, l) BOOST_PP_LIST_FOLD_LEFT_655(o, s, BOOST_PP_LIST_REVERSE_D(655, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_656(o, s, l) BOOST_PP_LIST_FOLD_LEFT_656(o, s, BOOST_PP_LIST_REVERSE_D(656, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_657(o, s, l) BOOST_PP_LIST_FOLD_LEFT_657(o, s, BOOST_PP_LIST_REVERSE_D(657, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_658(o, s, l) BOOST_PP_LIST_FOLD_LEFT_658(o, s, BOOST_PP_LIST_REVERSE_D(658, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_659(o, s, l) BOOST_PP_LIST_FOLD_LEFT_659(o, s, BOOST_PP_LIST_REVERSE_D(659, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_660(o, s, l) BOOST_PP_LIST_FOLD_LEFT_660(o, s, BOOST_PP_LIST_REVERSE_D(660, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_661(o, s, l) BOOST_PP_LIST_FOLD_LEFT_661(o, s, BOOST_PP_LIST_REVERSE_D(661, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_662(o, s, l) BOOST_PP_LIST_FOLD_LEFT_662(o, s, BOOST_PP_LIST_REVERSE_D(662, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_663(o, s, l) BOOST_PP_LIST_FOLD_LEFT_663(o, s, BOOST_PP_LIST_REVERSE_D(663, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_664(o, s, l) BOOST_PP_LIST_FOLD_LEFT_664(o, s, BOOST_PP_LIST_REVERSE_D(664, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_665(o, s, l) BOOST_PP_LIST_FOLD_LEFT_665(o, s, BOOST_PP_LIST_REVERSE_D(665, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_666(o, s, l) BOOST_PP_LIST_FOLD_LEFT_666(o, s, BOOST_PP_LIST_REVERSE_D(666, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_667(o, s, l) BOOST_PP_LIST_FOLD_LEFT_667(o, s, BOOST_PP_LIST_REVERSE_D(667, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_668(o, s, l) BOOST_PP_LIST_FOLD_LEFT_668(o, s, BOOST_PP_LIST_REVERSE_D(668, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_669(o, s, l) BOOST_PP_LIST_FOLD_LEFT_669(o, s, BOOST_PP_LIST_REVERSE_D(669, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_670(o, s, l) BOOST_PP_LIST_FOLD_LEFT_670(o, s, BOOST_PP_LIST_REVERSE_D(670, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_671(o, s, l) BOOST_PP_LIST_FOLD_LEFT_671(o, s, BOOST_PP_LIST_REVERSE_D(671, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_672(o, s, l) BOOST_PP_LIST_FOLD_LEFT_672(o, s, BOOST_PP_LIST_REVERSE_D(672, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_673(o, s, l) BOOST_PP_LIST_FOLD_LEFT_673(o, s, BOOST_PP_LIST_REVERSE_D(673, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_674(o, s, l) BOOST_PP_LIST_FOLD_LEFT_674(o, s, BOOST_PP_LIST_REVERSE_D(674, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_675(o, s, l) BOOST_PP_LIST_FOLD_LEFT_675(o, s, BOOST_PP_LIST_REVERSE_D(675, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_676(o, s, l) BOOST_PP_LIST_FOLD_LEFT_676(o, s, BOOST_PP_LIST_REVERSE_D(676, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_677(o, s, l) BOOST_PP_LIST_FOLD_LEFT_677(o, s, BOOST_PP_LIST_REVERSE_D(677, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_678(o, s, l) BOOST_PP_LIST_FOLD_LEFT_678(o, s, BOOST_PP_LIST_REVERSE_D(678, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_679(o, s, l) BOOST_PP_LIST_FOLD_LEFT_679(o, s, BOOST_PP_LIST_REVERSE_D(679, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_680(o, s, l) BOOST_PP_LIST_FOLD_LEFT_680(o, s, BOOST_PP_LIST_REVERSE_D(680, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_681(o, s, l) BOOST_PP_LIST_FOLD_LEFT_681(o, s, BOOST_PP_LIST_REVERSE_D(681, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_682(o, s, l) BOOST_PP_LIST_FOLD_LEFT_682(o, s, BOOST_PP_LIST_REVERSE_D(682, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_683(o, s, l) BOOST_PP_LIST_FOLD_LEFT_683(o, s, BOOST_PP_LIST_REVERSE_D(683, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_684(o, s, l) BOOST_PP_LIST_FOLD_LEFT_684(o, s, BOOST_PP_LIST_REVERSE_D(684, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_685(o, s, l) BOOST_PP_LIST_FOLD_LEFT_685(o, s, BOOST_PP_LIST_REVERSE_D(685, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_686(o, s, l) BOOST_PP_LIST_FOLD_LEFT_686(o, s, BOOST_PP_LIST_REVERSE_D(686, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_687(o, s, l) BOOST_PP_LIST_FOLD_LEFT_687(o, s, BOOST_PP_LIST_REVERSE_D(687, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_688(o, s, l) BOOST_PP_LIST_FOLD_LEFT_688(o, s, BOOST_PP_LIST_REVERSE_D(688, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_689(o, s, l) BOOST_PP_LIST_FOLD_LEFT_689(o, s, BOOST_PP_LIST_REVERSE_D(689, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_690(o, s, l) BOOST_PP_LIST_FOLD_LEFT_690(o, s, BOOST_PP_LIST_REVERSE_D(690, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_691(o, s, l) BOOST_PP_LIST_FOLD_LEFT_691(o, s, BOOST_PP_LIST_REVERSE_D(691, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_692(o, s, l) BOOST_PP_LIST_FOLD_LEFT_692(o, s, BOOST_PP_LIST_REVERSE_D(692, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_693(o, s, l) BOOST_PP_LIST_FOLD_LEFT_693(o, s, BOOST_PP_LIST_REVERSE_D(693, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_694(o, s, l) BOOST_PP_LIST_FOLD_LEFT_694(o, s, BOOST_PP_LIST_REVERSE_D(694, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_695(o, s, l) BOOST_PP_LIST_FOLD_LEFT_695(o, s, BOOST_PP_LIST_REVERSE_D(695, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_696(o, s, l) BOOST_PP_LIST_FOLD_LEFT_696(o, s, BOOST_PP_LIST_REVERSE_D(696, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_697(o, s, l) BOOST_PP_LIST_FOLD_LEFT_697(o, s, BOOST_PP_LIST_REVERSE_D(697, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_698(o, s, l) BOOST_PP_LIST_FOLD_LEFT_698(o, s, BOOST_PP_LIST_REVERSE_D(698, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_699(o, s, l) BOOST_PP_LIST_FOLD_LEFT_699(o, s, BOOST_PP_LIST_REVERSE_D(699, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_700(o, s, l) BOOST_PP_LIST_FOLD_LEFT_700(o, s, BOOST_PP_LIST_REVERSE_D(700, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_701(o, s, l) BOOST_PP_LIST_FOLD_LEFT_701(o, s, BOOST_PP_LIST_REVERSE_D(701, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_702(o, s, l) BOOST_PP_LIST_FOLD_LEFT_702(o, s, BOOST_PP_LIST_REVERSE_D(702, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_703(o, s, l) BOOST_PP_LIST_FOLD_LEFT_703(o, s, BOOST_PP_LIST_REVERSE_D(703, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_704(o, s, l) BOOST_PP_LIST_FOLD_LEFT_704(o, s, BOOST_PP_LIST_REVERSE_D(704, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_705(o, s, l) BOOST_PP_LIST_FOLD_LEFT_705(o, s, BOOST_PP_LIST_REVERSE_D(705, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_706(o, s, l) BOOST_PP_LIST_FOLD_LEFT_706(o, s, BOOST_PP_LIST_REVERSE_D(706, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_707(o, s, l) BOOST_PP_LIST_FOLD_LEFT_707(o, s, BOOST_PP_LIST_REVERSE_D(707, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_708(o, s, l) BOOST_PP_LIST_FOLD_LEFT_708(o, s, BOOST_PP_LIST_REVERSE_D(708, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_709(o, s, l) BOOST_PP_LIST_FOLD_LEFT_709(o, s, BOOST_PP_LIST_REVERSE_D(709, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_710(o, s, l) BOOST_PP_LIST_FOLD_LEFT_710(o, s, BOOST_PP_LIST_REVERSE_D(710, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_711(o, s, l) BOOST_PP_LIST_FOLD_LEFT_711(o, s, BOOST_PP_LIST_REVERSE_D(711, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_712(o, s, l) BOOST_PP_LIST_FOLD_LEFT_712(o, s, BOOST_PP_LIST_REVERSE_D(712, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_713(o, s, l) BOOST_PP_LIST_FOLD_LEFT_713(o, s, BOOST_PP_LIST_REVERSE_D(713, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_714(o, s, l) BOOST_PP_LIST_FOLD_LEFT_714(o, s, BOOST_PP_LIST_REVERSE_D(714, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_715(o, s, l) BOOST_PP_LIST_FOLD_LEFT_715(o, s, BOOST_PP_LIST_REVERSE_D(715, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_716(o, s, l) BOOST_PP_LIST_FOLD_LEFT_716(o, s, BOOST_PP_LIST_REVERSE_D(716, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_717(o, s, l) BOOST_PP_LIST_FOLD_LEFT_717(o, s, BOOST_PP_LIST_REVERSE_D(717, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_718(o, s, l) BOOST_PP_LIST_FOLD_LEFT_718(o, s, BOOST_PP_LIST_REVERSE_D(718, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_719(o, s, l) BOOST_PP_LIST_FOLD_LEFT_719(o, s, BOOST_PP_LIST_REVERSE_D(719, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_720(o, s, l) BOOST_PP_LIST_FOLD_LEFT_720(o, s, BOOST_PP_LIST_REVERSE_D(720, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_721(o, s, l) BOOST_PP_LIST_FOLD_LEFT_721(o, s, BOOST_PP_LIST_REVERSE_D(721, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_722(o, s, l) BOOST_PP_LIST_FOLD_LEFT_722(o, s, BOOST_PP_LIST_REVERSE_D(722, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_723(o, s, l) BOOST_PP_LIST_FOLD_LEFT_723(o, s, BOOST_PP_LIST_REVERSE_D(723, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_724(o, s, l) BOOST_PP_LIST_FOLD_LEFT_724(o, s, BOOST_PP_LIST_REVERSE_D(724, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_725(o, s, l) BOOST_PP_LIST_FOLD_LEFT_725(o, s, BOOST_PP_LIST_REVERSE_D(725, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_726(o, s, l) BOOST_PP_LIST_FOLD_LEFT_726(o, s, BOOST_PP_LIST_REVERSE_D(726, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_727(o, s, l) BOOST_PP_LIST_FOLD_LEFT_727(o, s, BOOST_PP_LIST_REVERSE_D(727, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_728(o, s, l) BOOST_PP_LIST_FOLD_LEFT_728(o, s, BOOST_PP_LIST_REVERSE_D(728, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_729(o, s, l) BOOST_PP_LIST_FOLD_LEFT_729(o, s, BOOST_PP_LIST_REVERSE_D(729, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_730(o, s, l) BOOST_PP_LIST_FOLD_LEFT_730(o, s, BOOST_PP_LIST_REVERSE_D(730, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_731(o, s, l) BOOST_PP_LIST_FOLD_LEFT_731(o, s, BOOST_PP_LIST_REVERSE_D(731, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_732(o, s, l) BOOST_PP_LIST_FOLD_LEFT_732(o, s, BOOST_PP_LIST_REVERSE_D(732, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_733(o, s, l) BOOST_PP_LIST_FOLD_LEFT_733(o, s, BOOST_PP_LIST_REVERSE_D(733, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_734(o, s, l) BOOST_PP_LIST_FOLD_LEFT_734(o, s, BOOST_PP_LIST_REVERSE_D(734, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_735(o, s, l) BOOST_PP_LIST_FOLD_LEFT_735(o, s, BOOST_PP_LIST_REVERSE_D(735, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_736(o, s, l) BOOST_PP_LIST_FOLD_LEFT_736(o, s, BOOST_PP_LIST_REVERSE_D(736, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_737(o, s, l) BOOST_PP_LIST_FOLD_LEFT_737(o, s, BOOST_PP_LIST_REVERSE_D(737, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_738(o, s, l) BOOST_PP_LIST_FOLD_LEFT_738(o, s, BOOST_PP_LIST_REVERSE_D(738, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_739(o, s, l) BOOST_PP_LIST_FOLD_LEFT_739(o, s, BOOST_PP_LIST_REVERSE_D(739, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_740(o, s, l) BOOST_PP_LIST_FOLD_LEFT_740(o, s, BOOST_PP_LIST_REVERSE_D(740, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_741(o, s, l) BOOST_PP_LIST_FOLD_LEFT_741(o, s, BOOST_PP_LIST_REVERSE_D(741, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_742(o, s, l) BOOST_PP_LIST_FOLD_LEFT_742(o, s, BOOST_PP_LIST_REVERSE_D(742, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_743(o, s, l) BOOST_PP_LIST_FOLD_LEFT_743(o, s, BOOST_PP_LIST_REVERSE_D(743, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_744(o, s, l) BOOST_PP_LIST_FOLD_LEFT_744(o, s, BOOST_PP_LIST_REVERSE_D(744, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_745(o, s, l) BOOST_PP_LIST_FOLD_LEFT_745(o, s, BOOST_PP_LIST_REVERSE_D(745, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_746(o, s, l) BOOST_PP_LIST_FOLD_LEFT_746(o, s, BOOST_PP_LIST_REVERSE_D(746, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_747(o, s, l) BOOST_PP_LIST_FOLD_LEFT_747(o, s, BOOST_PP_LIST_REVERSE_D(747, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_748(o, s, l) BOOST_PP_LIST_FOLD_LEFT_748(o, s, BOOST_PP_LIST_REVERSE_D(748, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_749(o, s, l) BOOST_PP_LIST_FOLD_LEFT_749(o, s, BOOST_PP_LIST_REVERSE_D(749, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_750(o, s, l) BOOST_PP_LIST_FOLD_LEFT_750(o, s, BOOST_PP_LIST_REVERSE_D(750, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_751(o, s, l) BOOST_PP_LIST_FOLD_LEFT_751(o, s, BOOST_PP_LIST_REVERSE_D(751, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_752(o, s, l) BOOST_PP_LIST_FOLD_LEFT_752(o, s, BOOST_PP_LIST_REVERSE_D(752, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_753(o, s, l) BOOST_PP_LIST_FOLD_LEFT_753(o, s, BOOST_PP_LIST_REVERSE_D(753, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_754(o, s, l) BOOST_PP_LIST_FOLD_LEFT_754(o, s, BOOST_PP_LIST_REVERSE_D(754, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_755(o, s, l) BOOST_PP_LIST_FOLD_LEFT_755(o, s, BOOST_PP_LIST_REVERSE_D(755, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_756(o, s, l) BOOST_PP_LIST_FOLD_LEFT_756(o, s, BOOST_PP_LIST_REVERSE_D(756, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_757(o, s, l) BOOST_PP_LIST_FOLD_LEFT_757(o, s, BOOST_PP_LIST_REVERSE_D(757, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_758(o, s, l) BOOST_PP_LIST_FOLD_LEFT_758(o, s, BOOST_PP_LIST_REVERSE_D(758, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_759(o, s, l) BOOST_PP_LIST_FOLD_LEFT_759(o, s, BOOST_PP_LIST_REVERSE_D(759, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_760(o, s, l) BOOST_PP_LIST_FOLD_LEFT_760(o, s, BOOST_PP_LIST_REVERSE_D(760, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_761(o, s, l) BOOST_PP_LIST_FOLD_LEFT_761(o, s, BOOST_PP_LIST_REVERSE_D(761, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_762(o, s, l) BOOST_PP_LIST_FOLD_LEFT_762(o, s, BOOST_PP_LIST_REVERSE_D(762, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_763(o, s, l) BOOST_PP_LIST_FOLD_LEFT_763(o, s, BOOST_PP_LIST_REVERSE_D(763, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_764(o, s, l) BOOST_PP_LIST_FOLD_LEFT_764(o, s, BOOST_PP_LIST_REVERSE_D(764, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_765(o, s, l) BOOST_PP_LIST_FOLD_LEFT_765(o, s, BOOST_PP_LIST_REVERSE_D(765, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_766(o, s, l) BOOST_PP_LIST_FOLD_LEFT_766(o, s, BOOST_PP_LIST_REVERSE_D(766, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_767(o, s, l) BOOST_PP_LIST_FOLD_LEFT_767(o, s, BOOST_PP_LIST_REVERSE_D(767, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_768(o, s, l) BOOST_PP_LIST_FOLD_LEFT_768(o, s, BOOST_PP_LIST_REVERSE_D(768, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_769(o, s, l) BOOST_PP_LIST_FOLD_LEFT_769(o, s, BOOST_PP_LIST_REVERSE_D(769, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_770(o, s, l) BOOST_PP_LIST_FOLD_LEFT_770(o, s, BOOST_PP_LIST_REVERSE_D(770, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_771(o, s, l) BOOST_PP_LIST_FOLD_LEFT_771(o, s, BOOST_PP_LIST_REVERSE_D(771, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_772(o, s, l) BOOST_PP_LIST_FOLD_LEFT_772(o, s, BOOST_PP_LIST_REVERSE_D(772, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_773(o, s, l) BOOST_PP_LIST_FOLD_LEFT_773(o, s, BOOST_PP_LIST_REVERSE_D(773, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_774(o, s, l) BOOST_PP_LIST_FOLD_LEFT_774(o, s, BOOST_PP_LIST_REVERSE_D(774, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_775(o, s, l) BOOST_PP_LIST_FOLD_LEFT_775(o, s, BOOST_PP_LIST_REVERSE_D(775, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_776(o, s, l) BOOST_PP_LIST_FOLD_LEFT_776(o, s, BOOST_PP_LIST_REVERSE_D(776, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_777(o, s, l) BOOST_PP_LIST_FOLD_LEFT_777(o, s, BOOST_PP_LIST_REVERSE_D(777, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_778(o, s, l) BOOST_PP_LIST_FOLD_LEFT_778(o, s, BOOST_PP_LIST_REVERSE_D(778, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_779(o, s, l) BOOST_PP_LIST_FOLD_LEFT_779(o, s, BOOST_PP_LIST_REVERSE_D(779, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_780(o, s, l) BOOST_PP_LIST_FOLD_LEFT_780(o, s, BOOST_PP_LIST_REVERSE_D(780, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_781(o, s, l) BOOST_PP_LIST_FOLD_LEFT_781(o, s, BOOST_PP_LIST_REVERSE_D(781, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_782(o, s, l) BOOST_PP_LIST_FOLD_LEFT_782(o, s, BOOST_PP_LIST_REVERSE_D(782, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_783(o, s, l) BOOST_PP_LIST_FOLD_LEFT_783(o, s, BOOST_PP_LIST_REVERSE_D(783, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_784(o, s, l) BOOST_PP_LIST_FOLD_LEFT_784(o, s, BOOST_PP_LIST_REVERSE_D(784, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_785(o, s, l) BOOST_PP_LIST_FOLD_LEFT_785(o, s, BOOST_PP_LIST_REVERSE_D(785, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_786(o, s, l) BOOST_PP_LIST_FOLD_LEFT_786(o, s, BOOST_PP_LIST_REVERSE_D(786, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_787(o, s, l) BOOST_PP_LIST_FOLD_LEFT_787(o, s, BOOST_PP_LIST_REVERSE_D(787, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_788(o, s, l) BOOST_PP_LIST_FOLD_LEFT_788(o, s, BOOST_PP_LIST_REVERSE_D(788, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_789(o, s, l) BOOST_PP_LIST_FOLD_LEFT_789(o, s, BOOST_PP_LIST_REVERSE_D(789, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_790(o, s, l) BOOST_PP_LIST_FOLD_LEFT_790(o, s, BOOST_PP_LIST_REVERSE_D(790, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_791(o, s, l) BOOST_PP_LIST_FOLD_LEFT_791(o, s, BOOST_PP_LIST_REVERSE_D(791, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_792(o, s, l) BOOST_PP_LIST_FOLD_LEFT_792(o, s, BOOST_PP_LIST_REVERSE_D(792, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_793(o, s, l) BOOST_PP_LIST_FOLD_LEFT_793(o, s, BOOST_PP_LIST_REVERSE_D(793, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_794(o, s, l) BOOST_PP_LIST_FOLD_LEFT_794(o, s, BOOST_PP_LIST_REVERSE_D(794, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_795(o, s, l) BOOST_PP_LIST_FOLD_LEFT_795(o, s, BOOST_PP_LIST_REVERSE_D(795, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_796(o, s, l) BOOST_PP_LIST_FOLD_LEFT_796(o, s, BOOST_PP_LIST_REVERSE_D(796, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_797(o, s, l) BOOST_PP_LIST_FOLD_LEFT_797(o, s, BOOST_PP_LIST_REVERSE_D(797, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_798(o, s, l) BOOST_PP_LIST_FOLD_LEFT_798(o, s, BOOST_PP_LIST_REVERSE_D(798, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_799(o, s, l) BOOST_PP_LIST_FOLD_LEFT_799(o, s, BOOST_PP_LIST_REVERSE_D(799, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_800(o, s, l) BOOST_PP_LIST_FOLD_LEFT_800(o, s, BOOST_PP_LIST_REVERSE_D(800, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_801(o, s, l) BOOST_PP_LIST_FOLD_LEFT_801(o, s, BOOST_PP_LIST_REVERSE_D(801, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_802(o, s, l) BOOST_PP_LIST_FOLD_LEFT_802(o, s, BOOST_PP_LIST_REVERSE_D(802, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_803(o, s, l) BOOST_PP_LIST_FOLD_LEFT_803(o, s, BOOST_PP_LIST_REVERSE_D(803, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_804(o, s, l) BOOST_PP_LIST_FOLD_LEFT_804(o, s, BOOST_PP_LIST_REVERSE_D(804, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_805(o, s, l) BOOST_PP_LIST_FOLD_LEFT_805(o, s, BOOST_PP_LIST_REVERSE_D(805, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_806(o, s, l) BOOST_PP_LIST_FOLD_LEFT_806(o, s, BOOST_PP_LIST_REVERSE_D(806, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_807(o, s, l) BOOST_PP_LIST_FOLD_LEFT_807(o, s, BOOST_PP_LIST_REVERSE_D(807, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_808(o, s, l) BOOST_PP_LIST_FOLD_LEFT_808(o, s, BOOST_PP_LIST_REVERSE_D(808, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_809(o, s, l) BOOST_PP_LIST_FOLD_LEFT_809(o, s, BOOST_PP_LIST_REVERSE_D(809, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_810(o, s, l) BOOST_PP_LIST_FOLD_LEFT_810(o, s, BOOST_PP_LIST_REVERSE_D(810, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_811(o, s, l) BOOST_PP_LIST_FOLD_LEFT_811(o, s, BOOST_PP_LIST_REVERSE_D(811, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_812(o, s, l) BOOST_PP_LIST_FOLD_LEFT_812(o, s, BOOST_PP_LIST_REVERSE_D(812, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_813(o, s, l) BOOST_PP_LIST_FOLD_LEFT_813(o, s, BOOST_PP_LIST_REVERSE_D(813, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_814(o, s, l) BOOST_PP_LIST_FOLD_LEFT_814(o, s, BOOST_PP_LIST_REVERSE_D(814, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_815(o, s, l) BOOST_PP_LIST_FOLD_LEFT_815(o, s, BOOST_PP_LIST_REVERSE_D(815, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_816(o, s, l) BOOST_PP_LIST_FOLD_LEFT_816(o, s, BOOST_PP_LIST_REVERSE_D(816, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_817(o, s, l) BOOST_PP_LIST_FOLD_LEFT_817(o, s, BOOST_PP_LIST_REVERSE_D(817, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_818(o, s, l) BOOST_PP_LIST_FOLD_LEFT_818(o, s, BOOST_PP_LIST_REVERSE_D(818, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_819(o, s, l) BOOST_PP_LIST_FOLD_LEFT_819(o, s, BOOST_PP_LIST_REVERSE_D(819, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_820(o, s, l) BOOST_PP_LIST_FOLD_LEFT_820(o, s, BOOST_PP_LIST_REVERSE_D(820, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_821(o, s, l) BOOST_PP_LIST_FOLD_LEFT_821(o, s, BOOST_PP_LIST_REVERSE_D(821, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_822(o, s, l) BOOST_PP_LIST_FOLD_LEFT_822(o, s, BOOST_PP_LIST_REVERSE_D(822, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_823(o, s, l) BOOST_PP_LIST_FOLD_LEFT_823(o, s, BOOST_PP_LIST_REVERSE_D(823, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_824(o, s, l) BOOST_PP_LIST_FOLD_LEFT_824(o, s, BOOST_PP_LIST_REVERSE_D(824, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_825(o, s, l) BOOST_PP_LIST_FOLD_LEFT_825(o, s, BOOST_PP_LIST_REVERSE_D(825, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_826(o, s, l) BOOST_PP_LIST_FOLD_LEFT_826(o, s, BOOST_PP_LIST_REVERSE_D(826, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_827(o, s, l) BOOST_PP_LIST_FOLD_LEFT_827(o, s, BOOST_PP_LIST_REVERSE_D(827, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_828(o, s, l) BOOST_PP_LIST_FOLD_LEFT_828(o, s, BOOST_PP_LIST_REVERSE_D(828, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_829(o, s, l) BOOST_PP_LIST_FOLD_LEFT_829(o, s, BOOST_PP_LIST_REVERSE_D(829, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_830(o, s, l) BOOST_PP_LIST_FOLD_LEFT_830(o, s, BOOST_PP_LIST_REVERSE_D(830, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_831(o, s, l) BOOST_PP_LIST_FOLD_LEFT_831(o, s, BOOST_PP_LIST_REVERSE_D(831, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_832(o, s, l) BOOST_PP_LIST_FOLD_LEFT_832(o, s, BOOST_PP_LIST_REVERSE_D(832, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_833(o, s, l) BOOST_PP_LIST_FOLD_LEFT_833(o, s, BOOST_PP_LIST_REVERSE_D(833, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_834(o, s, l) BOOST_PP_LIST_FOLD_LEFT_834(o, s, BOOST_PP_LIST_REVERSE_D(834, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_835(o, s, l) BOOST_PP_LIST_FOLD_LEFT_835(o, s, BOOST_PP_LIST_REVERSE_D(835, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_836(o, s, l) BOOST_PP_LIST_FOLD_LEFT_836(o, s, BOOST_PP_LIST_REVERSE_D(836, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_837(o, s, l) BOOST_PP_LIST_FOLD_LEFT_837(o, s, BOOST_PP_LIST_REVERSE_D(837, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_838(o, s, l) BOOST_PP_LIST_FOLD_LEFT_838(o, s, BOOST_PP_LIST_REVERSE_D(838, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_839(o, s, l) BOOST_PP_LIST_FOLD_LEFT_839(o, s, BOOST_PP_LIST_REVERSE_D(839, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_840(o, s, l) BOOST_PP_LIST_FOLD_LEFT_840(o, s, BOOST_PP_LIST_REVERSE_D(840, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_841(o, s, l) BOOST_PP_LIST_FOLD_LEFT_841(o, s, BOOST_PP_LIST_REVERSE_D(841, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_842(o, s, l) BOOST_PP_LIST_FOLD_LEFT_842(o, s, BOOST_PP_LIST_REVERSE_D(842, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_843(o, s, l) BOOST_PP_LIST_FOLD_LEFT_843(o, s, BOOST_PP_LIST_REVERSE_D(843, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_844(o, s, l) BOOST_PP_LIST_FOLD_LEFT_844(o, s, BOOST_PP_LIST_REVERSE_D(844, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_845(o, s, l) BOOST_PP_LIST_FOLD_LEFT_845(o, s, BOOST_PP_LIST_REVERSE_D(845, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_846(o, s, l) BOOST_PP_LIST_FOLD_LEFT_846(o, s, BOOST_PP_LIST_REVERSE_D(846, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_847(o, s, l) BOOST_PP_LIST_FOLD_LEFT_847(o, s, BOOST_PP_LIST_REVERSE_D(847, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_848(o, s, l) BOOST_PP_LIST_FOLD_LEFT_848(o, s, BOOST_PP_LIST_REVERSE_D(848, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_849(o, s, l) BOOST_PP_LIST_FOLD_LEFT_849(o, s, BOOST_PP_LIST_REVERSE_D(849, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_850(o, s, l) BOOST_PP_LIST_FOLD_LEFT_850(o, s, BOOST_PP_LIST_REVERSE_D(850, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_851(o, s, l) BOOST_PP_LIST_FOLD_LEFT_851(o, s, BOOST_PP_LIST_REVERSE_D(851, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_852(o, s, l) BOOST_PP_LIST_FOLD_LEFT_852(o, s, BOOST_PP_LIST_REVERSE_D(852, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_853(o, s, l) BOOST_PP_LIST_FOLD_LEFT_853(o, s, BOOST_PP_LIST_REVERSE_D(853, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_854(o, s, l) BOOST_PP_LIST_FOLD_LEFT_854(o, s, BOOST_PP_LIST_REVERSE_D(854, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_855(o, s, l) BOOST_PP_LIST_FOLD_LEFT_855(o, s, BOOST_PP_LIST_REVERSE_D(855, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_856(o, s, l) BOOST_PP_LIST_FOLD_LEFT_856(o, s, BOOST_PP_LIST_REVERSE_D(856, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_857(o, s, l) BOOST_PP_LIST_FOLD_LEFT_857(o, s, BOOST_PP_LIST_REVERSE_D(857, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_858(o, s, l) BOOST_PP_LIST_FOLD_LEFT_858(o, s, BOOST_PP_LIST_REVERSE_D(858, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_859(o, s, l) BOOST_PP_LIST_FOLD_LEFT_859(o, s, BOOST_PP_LIST_REVERSE_D(859, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_860(o, s, l) BOOST_PP_LIST_FOLD_LEFT_860(o, s, BOOST_PP_LIST_REVERSE_D(860, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_861(o, s, l) BOOST_PP_LIST_FOLD_LEFT_861(o, s, BOOST_PP_LIST_REVERSE_D(861, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_862(o, s, l) BOOST_PP_LIST_FOLD_LEFT_862(o, s, BOOST_PP_LIST_REVERSE_D(862, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_863(o, s, l) BOOST_PP_LIST_FOLD_LEFT_863(o, s, BOOST_PP_LIST_REVERSE_D(863, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_864(o, s, l) BOOST_PP_LIST_FOLD_LEFT_864(o, s, BOOST_PP_LIST_REVERSE_D(864, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_865(o, s, l) BOOST_PP_LIST_FOLD_LEFT_865(o, s, BOOST_PP_LIST_REVERSE_D(865, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_866(o, s, l) BOOST_PP_LIST_FOLD_LEFT_866(o, s, BOOST_PP_LIST_REVERSE_D(866, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_867(o, s, l) BOOST_PP_LIST_FOLD_LEFT_867(o, s, BOOST_PP_LIST_REVERSE_D(867, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_868(o, s, l) BOOST_PP_LIST_FOLD_LEFT_868(o, s, BOOST_PP_LIST_REVERSE_D(868, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_869(o, s, l) BOOST_PP_LIST_FOLD_LEFT_869(o, s, BOOST_PP_LIST_REVERSE_D(869, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_870(o, s, l) BOOST_PP_LIST_FOLD_LEFT_870(o, s, BOOST_PP_LIST_REVERSE_D(870, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_871(o, s, l) BOOST_PP_LIST_FOLD_LEFT_871(o, s, BOOST_PP_LIST_REVERSE_D(871, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_872(o, s, l) BOOST_PP_LIST_FOLD_LEFT_872(o, s, BOOST_PP_LIST_REVERSE_D(872, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_873(o, s, l) BOOST_PP_LIST_FOLD_LEFT_873(o, s, BOOST_PP_LIST_REVERSE_D(873, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_874(o, s, l) BOOST_PP_LIST_FOLD_LEFT_874(o, s, BOOST_PP_LIST_REVERSE_D(874, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_875(o, s, l) BOOST_PP_LIST_FOLD_LEFT_875(o, s, BOOST_PP_LIST_REVERSE_D(875, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_876(o, s, l) BOOST_PP_LIST_FOLD_LEFT_876(o, s, BOOST_PP_LIST_REVERSE_D(876, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_877(o, s, l) BOOST_PP_LIST_FOLD_LEFT_877(o, s, BOOST_PP_LIST_REVERSE_D(877, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_878(o, s, l) BOOST_PP_LIST_FOLD_LEFT_878(o, s, BOOST_PP_LIST_REVERSE_D(878, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_879(o, s, l) BOOST_PP_LIST_FOLD_LEFT_879(o, s, BOOST_PP_LIST_REVERSE_D(879, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_880(o, s, l) BOOST_PP_LIST_FOLD_LEFT_880(o, s, BOOST_PP_LIST_REVERSE_D(880, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_881(o, s, l) BOOST_PP_LIST_FOLD_LEFT_881(o, s, BOOST_PP_LIST_REVERSE_D(881, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_882(o, s, l) BOOST_PP_LIST_FOLD_LEFT_882(o, s, BOOST_PP_LIST_REVERSE_D(882, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_883(o, s, l) BOOST_PP_LIST_FOLD_LEFT_883(o, s, BOOST_PP_LIST_REVERSE_D(883, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_884(o, s, l) BOOST_PP_LIST_FOLD_LEFT_884(o, s, BOOST_PP_LIST_REVERSE_D(884, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_885(o, s, l) BOOST_PP_LIST_FOLD_LEFT_885(o, s, BOOST_PP_LIST_REVERSE_D(885, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_886(o, s, l) BOOST_PP_LIST_FOLD_LEFT_886(o, s, BOOST_PP_LIST_REVERSE_D(886, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_887(o, s, l) BOOST_PP_LIST_FOLD_LEFT_887(o, s, BOOST_PP_LIST_REVERSE_D(887, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_888(o, s, l) BOOST_PP_LIST_FOLD_LEFT_888(o, s, BOOST_PP_LIST_REVERSE_D(888, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_889(o, s, l) BOOST_PP_LIST_FOLD_LEFT_889(o, s, BOOST_PP_LIST_REVERSE_D(889, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_890(o, s, l) BOOST_PP_LIST_FOLD_LEFT_890(o, s, BOOST_PP_LIST_REVERSE_D(890, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_891(o, s, l) BOOST_PP_LIST_FOLD_LEFT_891(o, s, BOOST_PP_LIST_REVERSE_D(891, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_892(o, s, l) BOOST_PP_LIST_FOLD_LEFT_892(o, s, BOOST_PP_LIST_REVERSE_D(892, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_893(o, s, l) BOOST_PP_LIST_FOLD_LEFT_893(o, s, BOOST_PP_LIST_REVERSE_D(893, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_894(o, s, l) BOOST_PP_LIST_FOLD_LEFT_894(o, s, BOOST_PP_LIST_REVERSE_D(894, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_895(o, s, l) BOOST_PP_LIST_FOLD_LEFT_895(o, s, BOOST_PP_LIST_REVERSE_D(895, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_896(o, s, l) BOOST_PP_LIST_FOLD_LEFT_896(o, s, BOOST_PP_LIST_REVERSE_D(896, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_897(o, s, l) BOOST_PP_LIST_FOLD_LEFT_897(o, s, BOOST_PP_LIST_REVERSE_D(897, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_898(o, s, l) BOOST_PP_LIST_FOLD_LEFT_898(o, s, BOOST_PP_LIST_REVERSE_D(898, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_899(o, s, l) BOOST_PP_LIST_FOLD_LEFT_899(o, s, BOOST_PP_LIST_REVERSE_D(899, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_900(o, s, l) BOOST_PP_LIST_FOLD_LEFT_900(o, s, BOOST_PP_LIST_REVERSE_D(900, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_901(o, s, l) BOOST_PP_LIST_FOLD_LEFT_901(o, s, BOOST_PP_LIST_REVERSE_D(901, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_902(o, s, l) BOOST_PP_LIST_FOLD_LEFT_902(o, s, BOOST_PP_LIST_REVERSE_D(902, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_903(o, s, l) BOOST_PP_LIST_FOLD_LEFT_903(o, s, BOOST_PP_LIST_REVERSE_D(903, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_904(o, s, l) BOOST_PP_LIST_FOLD_LEFT_904(o, s, BOOST_PP_LIST_REVERSE_D(904, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_905(o, s, l) BOOST_PP_LIST_FOLD_LEFT_905(o, s, BOOST_PP_LIST_REVERSE_D(905, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_906(o, s, l) BOOST_PP_LIST_FOLD_LEFT_906(o, s, BOOST_PP_LIST_REVERSE_D(906, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_907(o, s, l) BOOST_PP_LIST_FOLD_LEFT_907(o, s, BOOST_PP_LIST_REVERSE_D(907, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_908(o, s, l) BOOST_PP_LIST_FOLD_LEFT_908(o, s, BOOST_PP_LIST_REVERSE_D(908, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_909(o, s, l) BOOST_PP_LIST_FOLD_LEFT_909(o, s, BOOST_PP_LIST_REVERSE_D(909, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_910(o, s, l) BOOST_PP_LIST_FOLD_LEFT_910(o, s, BOOST_PP_LIST_REVERSE_D(910, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_911(o, s, l) BOOST_PP_LIST_FOLD_LEFT_911(o, s, BOOST_PP_LIST_REVERSE_D(911, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_912(o, s, l) BOOST_PP_LIST_FOLD_LEFT_912(o, s, BOOST_PP_LIST_REVERSE_D(912, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_913(o, s, l) BOOST_PP_LIST_FOLD_LEFT_913(o, s, BOOST_PP_LIST_REVERSE_D(913, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_914(o, s, l) BOOST_PP_LIST_FOLD_LEFT_914(o, s, BOOST_PP_LIST_REVERSE_D(914, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_915(o, s, l) BOOST_PP_LIST_FOLD_LEFT_915(o, s, BOOST_PP_LIST_REVERSE_D(915, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_916(o, s, l) BOOST_PP_LIST_FOLD_LEFT_916(o, s, BOOST_PP_LIST_REVERSE_D(916, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_917(o, s, l) BOOST_PP_LIST_FOLD_LEFT_917(o, s, BOOST_PP_LIST_REVERSE_D(917, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_918(o, s, l) BOOST_PP_LIST_FOLD_LEFT_918(o, s, BOOST_PP_LIST_REVERSE_D(918, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_919(o, s, l) BOOST_PP_LIST_FOLD_LEFT_919(o, s, BOOST_PP_LIST_REVERSE_D(919, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_920(o, s, l) BOOST_PP_LIST_FOLD_LEFT_920(o, s, BOOST_PP_LIST_REVERSE_D(920, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_921(o, s, l) BOOST_PP_LIST_FOLD_LEFT_921(o, s, BOOST_PP_LIST_REVERSE_D(921, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_922(o, s, l) BOOST_PP_LIST_FOLD_LEFT_922(o, s, BOOST_PP_LIST_REVERSE_D(922, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_923(o, s, l) BOOST_PP_LIST_FOLD_LEFT_923(o, s, BOOST_PP_LIST_REVERSE_D(923, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_924(o, s, l) BOOST_PP_LIST_FOLD_LEFT_924(o, s, BOOST_PP_LIST_REVERSE_D(924, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_925(o, s, l) BOOST_PP_LIST_FOLD_LEFT_925(o, s, BOOST_PP_LIST_REVERSE_D(925, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_926(o, s, l) BOOST_PP_LIST_FOLD_LEFT_926(o, s, BOOST_PP_LIST_REVERSE_D(926, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_927(o, s, l) BOOST_PP_LIST_FOLD_LEFT_927(o, s, BOOST_PP_LIST_REVERSE_D(927, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_928(o, s, l) BOOST_PP_LIST_FOLD_LEFT_928(o, s, BOOST_PP_LIST_REVERSE_D(928, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_929(o, s, l) BOOST_PP_LIST_FOLD_LEFT_929(o, s, BOOST_PP_LIST_REVERSE_D(929, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_930(o, s, l) BOOST_PP_LIST_FOLD_LEFT_930(o, s, BOOST_PP_LIST_REVERSE_D(930, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_931(o, s, l) BOOST_PP_LIST_FOLD_LEFT_931(o, s, BOOST_PP_LIST_REVERSE_D(931, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_932(o, s, l) BOOST_PP_LIST_FOLD_LEFT_932(o, s, BOOST_PP_LIST_REVERSE_D(932, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_933(o, s, l) BOOST_PP_LIST_FOLD_LEFT_933(o, s, BOOST_PP_LIST_REVERSE_D(933, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_934(o, s, l) BOOST_PP_LIST_FOLD_LEFT_934(o, s, BOOST_PP_LIST_REVERSE_D(934, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_935(o, s, l) BOOST_PP_LIST_FOLD_LEFT_935(o, s, BOOST_PP_LIST_REVERSE_D(935, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_936(o, s, l) BOOST_PP_LIST_FOLD_LEFT_936(o, s, BOOST_PP_LIST_REVERSE_D(936, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_937(o, s, l) BOOST_PP_LIST_FOLD_LEFT_937(o, s, BOOST_PP_LIST_REVERSE_D(937, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_938(o, s, l) BOOST_PP_LIST_FOLD_LEFT_938(o, s, BOOST_PP_LIST_REVERSE_D(938, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_939(o, s, l) BOOST_PP_LIST_FOLD_LEFT_939(o, s, BOOST_PP_LIST_REVERSE_D(939, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_940(o, s, l) BOOST_PP_LIST_FOLD_LEFT_940(o, s, BOOST_PP_LIST_REVERSE_D(940, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_941(o, s, l) BOOST_PP_LIST_FOLD_LEFT_941(o, s, BOOST_PP_LIST_REVERSE_D(941, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_942(o, s, l) BOOST_PP_LIST_FOLD_LEFT_942(o, s, BOOST_PP_LIST_REVERSE_D(942, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_943(o, s, l) BOOST_PP_LIST_FOLD_LEFT_943(o, s, BOOST_PP_LIST_REVERSE_D(943, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_944(o, s, l) BOOST_PP_LIST_FOLD_LEFT_944(o, s, BOOST_PP_LIST_REVERSE_D(944, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_945(o, s, l) BOOST_PP_LIST_FOLD_LEFT_945(o, s, BOOST_PP_LIST_REVERSE_D(945, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_946(o, s, l) BOOST_PP_LIST_FOLD_LEFT_946(o, s, BOOST_PP_LIST_REVERSE_D(946, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_947(o, s, l) BOOST_PP_LIST_FOLD_LEFT_947(o, s, BOOST_PP_LIST_REVERSE_D(947, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_948(o, s, l) BOOST_PP_LIST_FOLD_LEFT_948(o, s, BOOST_PP_LIST_REVERSE_D(948, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_949(o, s, l) BOOST_PP_LIST_FOLD_LEFT_949(o, s, BOOST_PP_LIST_REVERSE_D(949, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_950(o, s, l) BOOST_PP_LIST_FOLD_LEFT_950(o, s, BOOST_PP_LIST_REVERSE_D(950, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_951(o, s, l) BOOST_PP_LIST_FOLD_LEFT_951(o, s, BOOST_PP_LIST_REVERSE_D(951, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_952(o, s, l) BOOST_PP_LIST_FOLD_LEFT_952(o, s, BOOST_PP_LIST_REVERSE_D(952, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_953(o, s, l) BOOST_PP_LIST_FOLD_LEFT_953(o, s, BOOST_PP_LIST_REVERSE_D(953, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_954(o, s, l) BOOST_PP_LIST_FOLD_LEFT_954(o, s, BOOST_PP_LIST_REVERSE_D(954, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_955(o, s, l) BOOST_PP_LIST_FOLD_LEFT_955(o, s, BOOST_PP_LIST_REVERSE_D(955, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_956(o, s, l) BOOST_PP_LIST_FOLD_LEFT_956(o, s, BOOST_PP_LIST_REVERSE_D(956, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_957(o, s, l) BOOST_PP_LIST_FOLD_LEFT_957(o, s, BOOST_PP_LIST_REVERSE_D(957, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_958(o, s, l) BOOST_PP_LIST_FOLD_LEFT_958(o, s, BOOST_PP_LIST_REVERSE_D(958, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_959(o, s, l) BOOST_PP_LIST_FOLD_LEFT_959(o, s, BOOST_PP_LIST_REVERSE_D(959, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_960(o, s, l) BOOST_PP_LIST_FOLD_LEFT_960(o, s, BOOST_PP_LIST_REVERSE_D(960, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_961(o, s, l) BOOST_PP_LIST_FOLD_LEFT_961(o, s, BOOST_PP_LIST_REVERSE_D(961, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_962(o, s, l) BOOST_PP_LIST_FOLD_LEFT_962(o, s, BOOST_PP_LIST_REVERSE_D(962, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_963(o, s, l) BOOST_PP_LIST_FOLD_LEFT_963(o, s, BOOST_PP_LIST_REVERSE_D(963, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_964(o, s, l) BOOST_PP_LIST_FOLD_LEFT_964(o, s, BOOST_PP_LIST_REVERSE_D(964, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_965(o, s, l) BOOST_PP_LIST_FOLD_LEFT_965(o, s, BOOST_PP_LIST_REVERSE_D(965, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_966(o, s, l) BOOST_PP_LIST_FOLD_LEFT_966(o, s, BOOST_PP_LIST_REVERSE_D(966, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_967(o, s, l) BOOST_PP_LIST_FOLD_LEFT_967(o, s, BOOST_PP_LIST_REVERSE_D(967, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_968(o, s, l) BOOST_PP_LIST_FOLD_LEFT_968(o, s, BOOST_PP_LIST_REVERSE_D(968, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_969(o, s, l) BOOST_PP_LIST_FOLD_LEFT_969(o, s, BOOST_PP_LIST_REVERSE_D(969, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_970(o, s, l) BOOST_PP_LIST_FOLD_LEFT_970(o, s, BOOST_PP_LIST_REVERSE_D(970, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_971(o, s, l) BOOST_PP_LIST_FOLD_LEFT_971(o, s, BOOST_PP_LIST_REVERSE_D(971, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_972(o, s, l) BOOST_PP_LIST_FOLD_LEFT_972(o, s, BOOST_PP_LIST_REVERSE_D(972, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_973(o, s, l) BOOST_PP_LIST_FOLD_LEFT_973(o, s, BOOST_PP_LIST_REVERSE_D(973, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_974(o, s, l) BOOST_PP_LIST_FOLD_LEFT_974(o, s, BOOST_PP_LIST_REVERSE_D(974, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_975(o, s, l) BOOST_PP_LIST_FOLD_LEFT_975(o, s, BOOST_PP_LIST_REVERSE_D(975, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_976(o, s, l) BOOST_PP_LIST_FOLD_LEFT_976(o, s, BOOST_PP_LIST_REVERSE_D(976, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_977(o, s, l) BOOST_PP_LIST_FOLD_LEFT_977(o, s, BOOST_PP_LIST_REVERSE_D(977, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_978(o, s, l) BOOST_PP_LIST_FOLD_LEFT_978(o, s, BOOST_PP_LIST_REVERSE_D(978, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_979(o, s, l) BOOST_PP_LIST_FOLD_LEFT_979(o, s, BOOST_PP_LIST_REVERSE_D(979, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_980(o, s, l) BOOST_PP_LIST_FOLD_LEFT_980(o, s, BOOST_PP_LIST_REVERSE_D(980, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_981(o, s, l) BOOST_PP_LIST_FOLD_LEFT_981(o, s, BOOST_PP_LIST_REVERSE_D(981, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_982(o, s, l) BOOST_PP_LIST_FOLD_LEFT_982(o, s, BOOST_PP_LIST_REVERSE_D(982, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_983(o, s, l) BOOST_PP_LIST_FOLD_LEFT_983(o, s, BOOST_PP_LIST_REVERSE_D(983, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_984(o, s, l) BOOST_PP_LIST_FOLD_LEFT_984(o, s, BOOST_PP_LIST_REVERSE_D(984, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_985(o, s, l) BOOST_PP_LIST_FOLD_LEFT_985(o, s, BOOST_PP_LIST_REVERSE_D(985, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_986(o, s, l) BOOST_PP_LIST_FOLD_LEFT_986(o, s, BOOST_PP_LIST_REVERSE_D(986, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_987(o, s, l) BOOST_PP_LIST_FOLD_LEFT_987(o, s, BOOST_PP_LIST_REVERSE_D(987, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_988(o, s, l) BOOST_PP_LIST_FOLD_LEFT_988(o, s, BOOST_PP_LIST_REVERSE_D(988, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_989(o, s, l) BOOST_PP_LIST_FOLD_LEFT_989(o, s, BOOST_PP_LIST_REVERSE_D(989, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_990(o, s, l) BOOST_PP_LIST_FOLD_LEFT_990(o, s, BOOST_PP_LIST_REVERSE_D(990, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_991(o, s, l) BOOST_PP_LIST_FOLD_LEFT_991(o, s, BOOST_PP_LIST_REVERSE_D(991, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_992(o, s, l) BOOST_PP_LIST_FOLD_LEFT_992(o, s, BOOST_PP_LIST_REVERSE_D(992, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_993(o, s, l) BOOST_PP_LIST_FOLD_LEFT_993(o, s, BOOST_PP_LIST_REVERSE_D(993, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_994(o, s, l) BOOST_PP_LIST_FOLD_LEFT_994(o, s, BOOST_PP_LIST_REVERSE_D(994, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_995(o, s, l) BOOST_PP_LIST_FOLD_LEFT_995(o, s, BOOST_PP_LIST_REVERSE_D(995, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_996(o, s, l) BOOST_PP_LIST_FOLD_LEFT_996(o, s, BOOST_PP_LIST_REVERSE_D(996, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_997(o, s, l) BOOST_PP_LIST_FOLD_LEFT_997(o, s, BOOST_PP_LIST_REVERSE_D(997, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_998(o, s, l) BOOST_PP_LIST_FOLD_LEFT_998(o, s, BOOST_PP_LIST_REVERSE_D(998, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_999(o, s, l) BOOST_PP_LIST_FOLD_LEFT_999(o, s, BOOST_PP_LIST_REVERSE_D(999, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1000(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1000(o, s, BOOST_PP_LIST_REVERSE_D(1000, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1001(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1001(o, s, BOOST_PP_LIST_REVERSE_D(1001, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1002(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1002(o, s, BOOST_PP_LIST_REVERSE_D(1002, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1003(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1003(o, s, BOOST_PP_LIST_REVERSE_D(1003, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1004(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1004(o, s, BOOST_PP_LIST_REVERSE_D(1004, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1005(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1005(o, s, BOOST_PP_LIST_REVERSE_D(1005, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1006(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1006(o, s, BOOST_PP_LIST_REVERSE_D(1006, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1007(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1007(o, s, BOOST_PP_LIST_REVERSE_D(1007, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1008(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1008(o, s, BOOST_PP_LIST_REVERSE_D(1008, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1009(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1009(o, s, BOOST_PP_LIST_REVERSE_D(1009, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1010(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1010(o, s, BOOST_PP_LIST_REVERSE_D(1010, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1011(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1011(o, s, BOOST_PP_LIST_REVERSE_D(1011, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1012(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1012(o, s, BOOST_PP_LIST_REVERSE_D(1012, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1013(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1013(o, s, BOOST_PP_LIST_REVERSE_D(1013, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1014(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1014(o, s, BOOST_PP_LIST_REVERSE_D(1014, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1015(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1015(o, s, BOOST_PP_LIST_REVERSE_D(1015, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1016(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1016(o, s, BOOST_PP_LIST_REVERSE_D(1016, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1017(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1017(o, s, BOOST_PP_LIST_REVERSE_D(1017, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1018(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1018(o, s, BOOST_PP_LIST_REVERSE_D(1018, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1019(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1019(o, s, BOOST_PP_LIST_REVERSE_D(1019, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1020(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1020(o, s, BOOST_PP_LIST_REVERSE_D(1020, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1021(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1021(o, s, BOOST_PP_LIST_REVERSE_D(1021, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1022(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1022(o, s, BOOST_PP_LIST_REVERSE_D(1022, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1023(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1023(o, s, BOOST_PP_LIST_REVERSE_D(1023, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1024(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1024(o, s, BOOST_PP_LIST_REVERSE_D(1024, l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_256.hpp new file mode 100644 index 0000000000..8792bf0854 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_256.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_256_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_256_HPP +# +# define BOOST_PP_LIST_FOLD_RIGHT_0(o, s, l) BOOST_PP_LIST_FOLD_LEFT_0(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_512.hpp new file mode 100644 index 0000000000..219a0eeb9b --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/detail/limits/fold_right_512.hpp @@ -0,0 +1,276 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_512_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_512_HPP +# +# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_LIST_FOLD_LEFT_257(o, s, BOOST_PP_LIST_REVERSE_D(257, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_258(o, s, l) BOOST_PP_LIST_FOLD_LEFT_258(o, s, BOOST_PP_LIST_REVERSE_D(258, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_259(o, s, l) BOOST_PP_LIST_FOLD_LEFT_259(o, s, BOOST_PP_LIST_REVERSE_D(259, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_260(o, s, l) BOOST_PP_LIST_FOLD_LEFT_260(o, s, BOOST_PP_LIST_REVERSE_D(260, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_261(o, s, l) BOOST_PP_LIST_FOLD_LEFT_261(o, s, BOOST_PP_LIST_REVERSE_D(261, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_262(o, s, l) BOOST_PP_LIST_FOLD_LEFT_262(o, s, BOOST_PP_LIST_REVERSE_D(262, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_263(o, s, l) BOOST_PP_LIST_FOLD_LEFT_263(o, s, BOOST_PP_LIST_REVERSE_D(263, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_264(o, s, l) BOOST_PP_LIST_FOLD_LEFT_264(o, s, BOOST_PP_LIST_REVERSE_D(264, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_265(o, s, l) BOOST_PP_LIST_FOLD_LEFT_265(o, s, BOOST_PP_LIST_REVERSE_D(265, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_266(o, s, l) BOOST_PP_LIST_FOLD_LEFT_266(o, s, BOOST_PP_LIST_REVERSE_D(266, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_267(o, s, l) BOOST_PP_LIST_FOLD_LEFT_267(o, s, BOOST_PP_LIST_REVERSE_D(267, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_268(o, s, l) BOOST_PP_LIST_FOLD_LEFT_268(o, s, BOOST_PP_LIST_REVERSE_D(268, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_269(o, s, l) BOOST_PP_LIST_FOLD_LEFT_269(o, s, BOOST_PP_LIST_REVERSE_D(269, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_270(o, s, l) BOOST_PP_LIST_FOLD_LEFT_270(o, s, BOOST_PP_LIST_REVERSE_D(270, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_271(o, s, l) BOOST_PP_LIST_FOLD_LEFT_271(o, s, BOOST_PP_LIST_REVERSE_D(271, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_272(o, s, l) BOOST_PP_LIST_FOLD_LEFT_272(o, s, BOOST_PP_LIST_REVERSE_D(272, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_273(o, s, l) BOOST_PP_LIST_FOLD_LEFT_273(o, s, BOOST_PP_LIST_REVERSE_D(273, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_274(o, s, l) BOOST_PP_LIST_FOLD_LEFT_274(o, s, BOOST_PP_LIST_REVERSE_D(274, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_275(o, s, l) BOOST_PP_LIST_FOLD_LEFT_275(o, s, BOOST_PP_LIST_REVERSE_D(275, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_276(o, s, l) BOOST_PP_LIST_FOLD_LEFT_276(o, s, BOOST_PP_LIST_REVERSE_D(276, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_277(o, s, l) BOOST_PP_LIST_FOLD_LEFT_277(o, s, BOOST_PP_LIST_REVERSE_D(277, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_278(o, s, l) BOOST_PP_LIST_FOLD_LEFT_278(o, s, BOOST_PP_LIST_REVERSE_D(278, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_279(o, s, l) BOOST_PP_LIST_FOLD_LEFT_279(o, s, BOOST_PP_LIST_REVERSE_D(279, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_280(o, s, l) BOOST_PP_LIST_FOLD_LEFT_280(o, s, BOOST_PP_LIST_REVERSE_D(280, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_281(o, s, l) BOOST_PP_LIST_FOLD_LEFT_281(o, s, BOOST_PP_LIST_REVERSE_D(281, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_282(o, s, l) BOOST_PP_LIST_FOLD_LEFT_282(o, s, BOOST_PP_LIST_REVERSE_D(282, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_283(o, s, l) BOOST_PP_LIST_FOLD_LEFT_283(o, s, BOOST_PP_LIST_REVERSE_D(283, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_284(o, s, l) BOOST_PP_LIST_FOLD_LEFT_284(o, s, BOOST_PP_LIST_REVERSE_D(284, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_285(o, s, l) BOOST_PP_LIST_FOLD_LEFT_285(o, s, BOOST_PP_LIST_REVERSE_D(285, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_286(o, s, l) BOOST_PP_LIST_FOLD_LEFT_286(o, s, BOOST_PP_LIST_REVERSE_D(286, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_287(o, s, l) BOOST_PP_LIST_FOLD_LEFT_287(o, s, BOOST_PP_LIST_REVERSE_D(287, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_288(o, s, l) BOOST_PP_LIST_FOLD_LEFT_288(o, s, BOOST_PP_LIST_REVERSE_D(288, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_289(o, s, l) BOOST_PP_LIST_FOLD_LEFT_289(o, s, BOOST_PP_LIST_REVERSE_D(289, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_290(o, s, l) BOOST_PP_LIST_FOLD_LEFT_290(o, s, BOOST_PP_LIST_REVERSE_D(290, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_291(o, s, l) BOOST_PP_LIST_FOLD_LEFT_291(o, s, BOOST_PP_LIST_REVERSE_D(291, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_292(o, s, l) BOOST_PP_LIST_FOLD_LEFT_292(o, s, BOOST_PP_LIST_REVERSE_D(292, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_293(o, s, l) BOOST_PP_LIST_FOLD_LEFT_293(o, s, BOOST_PP_LIST_REVERSE_D(293, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_294(o, s, l) BOOST_PP_LIST_FOLD_LEFT_294(o, s, BOOST_PP_LIST_REVERSE_D(294, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_295(o, s, l) BOOST_PP_LIST_FOLD_LEFT_295(o, s, BOOST_PP_LIST_REVERSE_D(295, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_296(o, s, l) BOOST_PP_LIST_FOLD_LEFT_296(o, s, BOOST_PP_LIST_REVERSE_D(296, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_297(o, s, l) BOOST_PP_LIST_FOLD_LEFT_297(o, s, BOOST_PP_LIST_REVERSE_D(297, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_298(o, s, l) BOOST_PP_LIST_FOLD_LEFT_298(o, s, BOOST_PP_LIST_REVERSE_D(298, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_299(o, s, l) BOOST_PP_LIST_FOLD_LEFT_299(o, s, BOOST_PP_LIST_REVERSE_D(299, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_300(o, s, l) BOOST_PP_LIST_FOLD_LEFT_300(o, s, BOOST_PP_LIST_REVERSE_D(300, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_301(o, s, l) BOOST_PP_LIST_FOLD_LEFT_301(o, s, BOOST_PP_LIST_REVERSE_D(301, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_302(o, s, l) BOOST_PP_LIST_FOLD_LEFT_302(o, s, BOOST_PP_LIST_REVERSE_D(302, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_303(o, s, l) BOOST_PP_LIST_FOLD_LEFT_303(o, s, BOOST_PP_LIST_REVERSE_D(303, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_304(o, s, l) BOOST_PP_LIST_FOLD_LEFT_304(o, s, BOOST_PP_LIST_REVERSE_D(304, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_305(o, s, l) BOOST_PP_LIST_FOLD_LEFT_305(o, s, BOOST_PP_LIST_REVERSE_D(305, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_306(o, s, l) BOOST_PP_LIST_FOLD_LEFT_306(o, s, BOOST_PP_LIST_REVERSE_D(306, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_307(o, s, l) BOOST_PP_LIST_FOLD_LEFT_307(o, s, BOOST_PP_LIST_REVERSE_D(307, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_308(o, s, l) BOOST_PP_LIST_FOLD_LEFT_308(o, s, BOOST_PP_LIST_REVERSE_D(308, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_309(o, s, l) BOOST_PP_LIST_FOLD_LEFT_309(o, s, BOOST_PP_LIST_REVERSE_D(309, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_310(o, s, l) BOOST_PP_LIST_FOLD_LEFT_310(o, s, BOOST_PP_LIST_REVERSE_D(310, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_311(o, s, l) BOOST_PP_LIST_FOLD_LEFT_311(o, s, BOOST_PP_LIST_REVERSE_D(311, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_312(o, s, l) BOOST_PP_LIST_FOLD_LEFT_312(o, s, BOOST_PP_LIST_REVERSE_D(312, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_313(o, s, l) BOOST_PP_LIST_FOLD_LEFT_313(o, s, BOOST_PP_LIST_REVERSE_D(313, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_314(o, s, l) BOOST_PP_LIST_FOLD_LEFT_314(o, s, BOOST_PP_LIST_REVERSE_D(314, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_315(o, s, l) BOOST_PP_LIST_FOLD_LEFT_315(o, s, BOOST_PP_LIST_REVERSE_D(315, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_316(o, s, l) BOOST_PP_LIST_FOLD_LEFT_316(o, s, BOOST_PP_LIST_REVERSE_D(316, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_317(o, s, l) BOOST_PP_LIST_FOLD_LEFT_317(o, s, BOOST_PP_LIST_REVERSE_D(317, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_318(o, s, l) BOOST_PP_LIST_FOLD_LEFT_318(o, s, BOOST_PP_LIST_REVERSE_D(318, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_319(o, s, l) BOOST_PP_LIST_FOLD_LEFT_319(o, s, BOOST_PP_LIST_REVERSE_D(319, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_320(o, s, l) BOOST_PP_LIST_FOLD_LEFT_320(o, s, BOOST_PP_LIST_REVERSE_D(320, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_321(o, s, l) BOOST_PP_LIST_FOLD_LEFT_321(o, s, BOOST_PP_LIST_REVERSE_D(321, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_322(o, s, l) BOOST_PP_LIST_FOLD_LEFT_322(o, s, BOOST_PP_LIST_REVERSE_D(322, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_323(o, s, l) BOOST_PP_LIST_FOLD_LEFT_323(o, s, BOOST_PP_LIST_REVERSE_D(323, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_324(o, s, l) BOOST_PP_LIST_FOLD_LEFT_324(o, s, BOOST_PP_LIST_REVERSE_D(324, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_325(o, s, l) BOOST_PP_LIST_FOLD_LEFT_325(o, s, BOOST_PP_LIST_REVERSE_D(325, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_326(o, s, l) BOOST_PP_LIST_FOLD_LEFT_326(o, s, BOOST_PP_LIST_REVERSE_D(326, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_327(o, s, l) BOOST_PP_LIST_FOLD_LEFT_327(o, s, BOOST_PP_LIST_REVERSE_D(327, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_328(o, s, l) BOOST_PP_LIST_FOLD_LEFT_328(o, s, BOOST_PP_LIST_REVERSE_D(328, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_329(o, s, l) BOOST_PP_LIST_FOLD_LEFT_329(o, s, BOOST_PP_LIST_REVERSE_D(329, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_330(o, s, l) BOOST_PP_LIST_FOLD_LEFT_330(o, s, BOOST_PP_LIST_REVERSE_D(330, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_331(o, s, l) BOOST_PP_LIST_FOLD_LEFT_331(o, s, BOOST_PP_LIST_REVERSE_D(331, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_332(o, s, l) BOOST_PP_LIST_FOLD_LEFT_332(o, s, BOOST_PP_LIST_REVERSE_D(332, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_333(o, s, l) BOOST_PP_LIST_FOLD_LEFT_333(o, s, BOOST_PP_LIST_REVERSE_D(333, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_334(o, s, l) BOOST_PP_LIST_FOLD_LEFT_334(o, s, BOOST_PP_LIST_REVERSE_D(334, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_335(o, s, l) BOOST_PP_LIST_FOLD_LEFT_335(o, s, BOOST_PP_LIST_REVERSE_D(335, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_336(o, s, l) BOOST_PP_LIST_FOLD_LEFT_336(o, s, BOOST_PP_LIST_REVERSE_D(336, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_337(o, s, l) BOOST_PP_LIST_FOLD_LEFT_337(o, s, BOOST_PP_LIST_REVERSE_D(337, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_338(o, s, l) BOOST_PP_LIST_FOLD_LEFT_338(o, s, BOOST_PP_LIST_REVERSE_D(338, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_339(o, s, l) BOOST_PP_LIST_FOLD_LEFT_339(o, s, BOOST_PP_LIST_REVERSE_D(339, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_340(o, s, l) BOOST_PP_LIST_FOLD_LEFT_340(o, s, BOOST_PP_LIST_REVERSE_D(340, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_341(o, s, l) BOOST_PP_LIST_FOLD_LEFT_341(o, s, BOOST_PP_LIST_REVERSE_D(341, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_342(o, s, l) BOOST_PP_LIST_FOLD_LEFT_342(o, s, BOOST_PP_LIST_REVERSE_D(342, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_343(o, s, l) BOOST_PP_LIST_FOLD_LEFT_343(o, s, BOOST_PP_LIST_REVERSE_D(343, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_344(o, s, l) BOOST_PP_LIST_FOLD_LEFT_344(o, s, BOOST_PP_LIST_REVERSE_D(344, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_345(o, s, l) BOOST_PP_LIST_FOLD_LEFT_345(o, s, BOOST_PP_LIST_REVERSE_D(345, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_346(o, s, l) BOOST_PP_LIST_FOLD_LEFT_346(o, s, BOOST_PP_LIST_REVERSE_D(346, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_347(o, s, l) BOOST_PP_LIST_FOLD_LEFT_347(o, s, BOOST_PP_LIST_REVERSE_D(347, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_348(o, s, l) BOOST_PP_LIST_FOLD_LEFT_348(o, s, BOOST_PP_LIST_REVERSE_D(348, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_349(o, s, l) BOOST_PP_LIST_FOLD_LEFT_349(o, s, BOOST_PP_LIST_REVERSE_D(349, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_350(o, s, l) BOOST_PP_LIST_FOLD_LEFT_350(o, s, BOOST_PP_LIST_REVERSE_D(350, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_351(o, s, l) BOOST_PP_LIST_FOLD_LEFT_351(o, s, BOOST_PP_LIST_REVERSE_D(351, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_352(o, s, l) BOOST_PP_LIST_FOLD_LEFT_352(o, s, BOOST_PP_LIST_REVERSE_D(352, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_353(o, s, l) BOOST_PP_LIST_FOLD_LEFT_353(o, s, BOOST_PP_LIST_REVERSE_D(353, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_354(o, s, l) BOOST_PP_LIST_FOLD_LEFT_354(o, s, BOOST_PP_LIST_REVERSE_D(354, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_355(o, s, l) BOOST_PP_LIST_FOLD_LEFT_355(o, s, BOOST_PP_LIST_REVERSE_D(355, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_356(o, s, l) BOOST_PP_LIST_FOLD_LEFT_356(o, s, BOOST_PP_LIST_REVERSE_D(356, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_357(o, s, l) BOOST_PP_LIST_FOLD_LEFT_357(o, s, BOOST_PP_LIST_REVERSE_D(357, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_358(o, s, l) BOOST_PP_LIST_FOLD_LEFT_358(o, s, BOOST_PP_LIST_REVERSE_D(358, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_359(o, s, l) BOOST_PP_LIST_FOLD_LEFT_359(o, s, BOOST_PP_LIST_REVERSE_D(359, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_360(o, s, l) BOOST_PP_LIST_FOLD_LEFT_360(o, s, BOOST_PP_LIST_REVERSE_D(360, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_361(o, s, l) BOOST_PP_LIST_FOLD_LEFT_361(o, s, BOOST_PP_LIST_REVERSE_D(361, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_362(o, s, l) BOOST_PP_LIST_FOLD_LEFT_362(o, s, BOOST_PP_LIST_REVERSE_D(362, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_363(o, s, l) BOOST_PP_LIST_FOLD_LEFT_363(o, s, BOOST_PP_LIST_REVERSE_D(363, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_364(o, s, l) BOOST_PP_LIST_FOLD_LEFT_364(o, s, BOOST_PP_LIST_REVERSE_D(364, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_365(o, s, l) BOOST_PP_LIST_FOLD_LEFT_365(o, s, BOOST_PP_LIST_REVERSE_D(365, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_366(o, s, l) BOOST_PP_LIST_FOLD_LEFT_366(o, s, BOOST_PP_LIST_REVERSE_D(366, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_367(o, s, l) BOOST_PP_LIST_FOLD_LEFT_367(o, s, BOOST_PP_LIST_REVERSE_D(367, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_368(o, s, l) BOOST_PP_LIST_FOLD_LEFT_368(o, s, BOOST_PP_LIST_REVERSE_D(368, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_369(o, s, l) BOOST_PP_LIST_FOLD_LEFT_369(o, s, BOOST_PP_LIST_REVERSE_D(369, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_370(o, s, l) BOOST_PP_LIST_FOLD_LEFT_370(o, s, BOOST_PP_LIST_REVERSE_D(370, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_371(o, s, l) BOOST_PP_LIST_FOLD_LEFT_371(o, s, BOOST_PP_LIST_REVERSE_D(371, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_372(o, s, l) BOOST_PP_LIST_FOLD_LEFT_372(o, s, BOOST_PP_LIST_REVERSE_D(372, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_373(o, s, l) BOOST_PP_LIST_FOLD_LEFT_373(o, s, BOOST_PP_LIST_REVERSE_D(373, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_374(o, s, l) BOOST_PP_LIST_FOLD_LEFT_374(o, s, BOOST_PP_LIST_REVERSE_D(374, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_375(o, s, l) BOOST_PP_LIST_FOLD_LEFT_375(o, s, BOOST_PP_LIST_REVERSE_D(375, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_376(o, s, l) BOOST_PP_LIST_FOLD_LEFT_376(o, s, BOOST_PP_LIST_REVERSE_D(376, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_377(o, s, l) BOOST_PP_LIST_FOLD_LEFT_377(o, s, BOOST_PP_LIST_REVERSE_D(377, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_378(o, s, l) BOOST_PP_LIST_FOLD_LEFT_378(o, s, BOOST_PP_LIST_REVERSE_D(378, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_379(o, s, l) BOOST_PP_LIST_FOLD_LEFT_379(o, s, BOOST_PP_LIST_REVERSE_D(379, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_380(o, s, l) BOOST_PP_LIST_FOLD_LEFT_380(o, s, BOOST_PP_LIST_REVERSE_D(380, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_381(o, s, l) BOOST_PP_LIST_FOLD_LEFT_381(o, s, BOOST_PP_LIST_REVERSE_D(381, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_382(o, s, l) BOOST_PP_LIST_FOLD_LEFT_382(o, s, BOOST_PP_LIST_REVERSE_D(382, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_383(o, s, l) BOOST_PP_LIST_FOLD_LEFT_383(o, s, BOOST_PP_LIST_REVERSE_D(383, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_384(o, s, l) BOOST_PP_LIST_FOLD_LEFT_384(o, s, BOOST_PP_LIST_REVERSE_D(384, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_385(o, s, l) BOOST_PP_LIST_FOLD_LEFT_385(o, s, BOOST_PP_LIST_REVERSE_D(385, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_386(o, s, l) BOOST_PP_LIST_FOLD_LEFT_386(o, s, BOOST_PP_LIST_REVERSE_D(386, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_387(o, s, l) BOOST_PP_LIST_FOLD_LEFT_387(o, s, BOOST_PP_LIST_REVERSE_D(387, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_388(o, s, l) BOOST_PP_LIST_FOLD_LEFT_388(o, s, BOOST_PP_LIST_REVERSE_D(388, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_389(o, s, l) BOOST_PP_LIST_FOLD_LEFT_389(o, s, BOOST_PP_LIST_REVERSE_D(389, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_390(o, s, l) BOOST_PP_LIST_FOLD_LEFT_390(o, s, BOOST_PP_LIST_REVERSE_D(390, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_391(o, s, l) BOOST_PP_LIST_FOLD_LEFT_391(o, s, BOOST_PP_LIST_REVERSE_D(391, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_392(o, s, l) BOOST_PP_LIST_FOLD_LEFT_392(o, s, BOOST_PP_LIST_REVERSE_D(392, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_393(o, s, l) BOOST_PP_LIST_FOLD_LEFT_393(o, s, BOOST_PP_LIST_REVERSE_D(393, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_394(o, s, l) BOOST_PP_LIST_FOLD_LEFT_394(o, s, BOOST_PP_LIST_REVERSE_D(394, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_395(o, s, l) BOOST_PP_LIST_FOLD_LEFT_395(o, s, BOOST_PP_LIST_REVERSE_D(395, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_396(o, s, l) BOOST_PP_LIST_FOLD_LEFT_396(o, s, BOOST_PP_LIST_REVERSE_D(396, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_397(o, s, l) BOOST_PP_LIST_FOLD_LEFT_397(o, s, BOOST_PP_LIST_REVERSE_D(397, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_398(o, s, l) BOOST_PP_LIST_FOLD_LEFT_398(o, s, BOOST_PP_LIST_REVERSE_D(398, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_399(o, s, l) BOOST_PP_LIST_FOLD_LEFT_399(o, s, BOOST_PP_LIST_REVERSE_D(399, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_400(o, s, l) BOOST_PP_LIST_FOLD_LEFT_400(o, s, BOOST_PP_LIST_REVERSE_D(400, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_401(o, s, l) BOOST_PP_LIST_FOLD_LEFT_401(o, s, BOOST_PP_LIST_REVERSE_D(401, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_402(o, s, l) BOOST_PP_LIST_FOLD_LEFT_402(o, s, BOOST_PP_LIST_REVERSE_D(402, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_403(o, s, l) BOOST_PP_LIST_FOLD_LEFT_403(o, s, BOOST_PP_LIST_REVERSE_D(403, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_404(o, s, l) BOOST_PP_LIST_FOLD_LEFT_404(o, s, BOOST_PP_LIST_REVERSE_D(404, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_405(o, s, l) BOOST_PP_LIST_FOLD_LEFT_405(o, s, BOOST_PP_LIST_REVERSE_D(405, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_406(o, s, l) BOOST_PP_LIST_FOLD_LEFT_406(o, s, BOOST_PP_LIST_REVERSE_D(406, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_407(o, s, l) BOOST_PP_LIST_FOLD_LEFT_407(o, s, BOOST_PP_LIST_REVERSE_D(407, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_408(o, s, l) BOOST_PP_LIST_FOLD_LEFT_408(o, s, BOOST_PP_LIST_REVERSE_D(408, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_409(o, s, l) BOOST_PP_LIST_FOLD_LEFT_409(o, s, BOOST_PP_LIST_REVERSE_D(409, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_410(o, s, l) BOOST_PP_LIST_FOLD_LEFT_410(o, s, BOOST_PP_LIST_REVERSE_D(410, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_411(o, s, l) BOOST_PP_LIST_FOLD_LEFT_411(o, s, BOOST_PP_LIST_REVERSE_D(411, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_412(o, s, l) BOOST_PP_LIST_FOLD_LEFT_412(o, s, BOOST_PP_LIST_REVERSE_D(412, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_413(o, s, l) BOOST_PP_LIST_FOLD_LEFT_413(o, s, BOOST_PP_LIST_REVERSE_D(413, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_414(o, s, l) BOOST_PP_LIST_FOLD_LEFT_414(o, s, BOOST_PP_LIST_REVERSE_D(414, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_415(o, s, l) BOOST_PP_LIST_FOLD_LEFT_415(o, s, BOOST_PP_LIST_REVERSE_D(415, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_416(o, s, l) BOOST_PP_LIST_FOLD_LEFT_416(o, s, BOOST_PP_LIST_REVERSE_D(416, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_417(o, s, l) BOOST_PP_LIST_FOLD_LEFT_417(o, s, BOOST_PP_LIST_REVERSE_D(417, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_418(o, s, l) BOOST_PP_LIST_FOLD_LEFT_418(o, s, BOOST_PP_LIST_REVERSE_D(418, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_419(o, s, l) BOOST_PP_LIST_FOLD_LEFT_419(o, s, BOOST_PP_LIST_REVERSE_D(419, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_420(o, s, l) BOOST_PP_LIST_FOLD_LEFT_420(o, s, BOOST_PP_LIST_REVERSE_D(420, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_421(o, s, l) BOOST_PP_LIST_FOLD_LEFT_421(o, s, BOOST_PP_LIST_REVERSE_D(421, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_422(o, s, l) BOOST_PP_LIST_FOLD_LEFT_422(o, s, BOOST_PP_LIST_REVERSE_D(422, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_423(o, s, l) BOOST_PP_LIST_FOLD_LEFT_423(o, s, BOOST_PP_LIST_REVERSE_D(423, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_424(o, s, l) BOOST_PP_LIST_FOLD_LEFT_424(o, s, BOOST_PP_LIST_REVERSE_D(424, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_425(o, s, l) BOOST_PP_LIST_FOLD_LEFT_425(o, s, BOOST_PP_LIST_REVERSE_D(425, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_426(o, s, l) BOOST_PP_LIST_FOLD_LEFT_426(o, s, BOOST_PP_LIST_REVERSE_D(426, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_427(o, s, l) BOOST_PP_LIST_FOLD_LEFT_427(o, s, BOOST_PP_LIST_REVERSE_D(427, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_428(o, s, l) BOOST_PP_LIST_FOLD_LEFT_428(o, s, BOOST_PP_LIST_REVERSE_D(428, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_429(o, s, l) BOOST_PP_LIST_FOLD_LEFT_429(o, s, BOOST_PP_LIST_REVERSE_D(429, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_430(o, s, l) BOOST_PP_LIST_FOLD_LEFT_430(o, s, BOOST_PP_LIST_REVERSE_D(430, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_431(o, s, l) BOOST_PP_LIST_FOLD_LEFT_431(o, s, BOOST_PP_LIST_REVERSE_D(431, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_432(o, s, l) BOOST_PP_LIST_FOLD_LEFT_432(o, s, BOOST_PP_LIST_REVERSE_D(432, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_433(o, s, l) BOOST_PP_LIST_FOLD_LEFT_433(o, s, BOOST_PP_LIST_REVERSE_D(433, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_434(o, s, l) BOOST_PP_LIST_FOLD_LEFT_434(o, s, BOOST_PP_LIST_REVERSE_D(434, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_435(o, s, l) BOOST_PP_LIST_FOLD_LEFT_435(o, s, BOOST_PP_LIST_REVERSE_D(435, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_436(o, s, l) BOOST_PP_LIST_FOLD_LEFT_436(o, s, BOOST_PP_LIST_REVERSE_D(436, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_437(o, s, l) BOOST_PP_LIST_FOLD_LEFT_437(o, s, BOOST_PP_LIST_REVERSE_D(437, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_438(o, s, l) BOOST_PP_LIST_FOLD_LEFT_438(o, s, BOOST_PP_LIST_REVERSE_D(438, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_439(o, s, l) BOOST_PP_LIST_FOLD_LEFT_439(o, s, BOOST_PP_LIST_REVERSE_D(439, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_440(o, s, l) BOOST_PP_LIST_FOLD_LEFT_440(o, s, BOOST_PP_LIST_REVERSE_D(440, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_441(o, s, l) BOOST_PP_LIST_FOLD_LEFT_441(o, s, BOOST_PP_LIST_REVERSE_D(441, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_442(o, s, l) BOOST_PP_LIST_FOLD_LEFT_442(o, s, BOOST_PP_LIST_REVERSE_D(442, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_443(o, s, l) BOOST_PP_LIST_FOLD_LEFT_443(o, s, BOOST_PP_LIST_REVERSE_D(443, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_444(o, s, l) BOOST_PP_LIST_FOLD_LEFT_444(o, s, BOOST_PP_LIST_REVERSE_D(444, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_445(o, s, l) BOOST_PP_LIST_FOLD_LEFT_445(o, s, BOOST_PP_LIST_REVERSE_D(445, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_446(o, s, l) BOOST_PP_LIST_FOLD_LEFT_446(o, s, BOOST_PP_LIST_REVERSE_D(446, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_447(o, s, l) BOOST_PP_LIST_FOLD_LEFT_447(o, s, BOOST_PP_LIST_REVERSE_D(447, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_448(o, s, l) BOOST_PP_LIST_FOLD_LEFT_448(o, s, BOOST_PP_LIST_REVERSE_D(448, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_449(o, s, l) BOOST_PP_LIST_FOLD_LEFT_449(o, s, BOOST_PP_LIST_REVERSE_D(449, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_450(o, s, l) BOOST_PP_LIST_FOLD_LEFT_450(o, s, BOOST_PP_LIST_REVERSE_D(450, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_451(o, s, l) BOOST_PP_LIST_FOLD_LEFT_451(o, s, BOOST_PP_LIST_REVERSE_D(451, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_452(o, s, l) BOOST_PP_LIST_FOLD_LEFT_452(o, s, BOOST_PP_LIST_REVERSE_D(452, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_453(o, s, l) BOOST_PP_LIST_FOLD_LEFT_453(o, s, BOOST_PP_LIST_REVERSE_D(453, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_454(o, s, l) BOOST_PP_LIST_FOLD_LEFT_454(o, s, BOOST_PP_LIST_REVERSE_D(454, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_455(o, s, l) BOOST_PP_LIST_FOLD_LEFT_455(o, s, BOOST_PP_LIST_REVERSE_D(455, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_456(o, s, l) BOOST_PP_LIST_FOLD_LEFT_456(o, s, BOOST_PP_LIST_REVERSE_D(456, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_457(o, s, l) BOOST_PP_LIST_FOLD_LEFT_457(o, s, BOOST_PP_LIST_REVERSE_D(457, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_458(o, s, l) BOOST_PP_LIST_FOLD_LEFT_458(o, s, BOOST_PP_LIST_REVERSE_D(458, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_459(o, s, l) BOOST_PP_LIST_FOLD_LEFT_459(o, s, BOOST_PP_LIST_REVERSE_D(459, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_460(o, s, l) BOOST_PP_LIST_FOLD_LEFT_460(o, s, BOOST_PP_LIST_REVERSE_D(460, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_461(o, s, l) BOOST_PP_LIST_FOLD_LEFT_461(o, s, BOOST_PP_LIST_REVERSE_D(461, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_462(o, s, l) BOOST_PP_LIST_FOLD_LEFT_462(o, s, BOOST_PP_LIST_REVERSE_D(462, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_463(o, s, l) BOOST_PP_LIST_FOLD_LEFT_463(o, s, BOOST_PP_LIST_REVERSE_D(463, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_464(o, s, l) BOOST_PP_LIST_FOLD_LEFT_464(o, s, BOOST_PP_LIST_REVERSE_D(464, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_465(o, s, l) BOOST_PP_LIST_FOLD_LEFT_465(o, s, BOOST_PP_LIST_REVERSE_D(465, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_466(o, s, l) BOOST_PP_LIST_FOLD_LEFT_466(o, s, BOOST_PP_LIST_REVERSE_D(466, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_467(o, s, l) BOOST_PP_LIST_FOLD_LEFT_467(o, s, BOOST_PP_LIST_REVERSE_D(467, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_468(o, s, l) BOOST_PP_LIST_FOLD_LEFT_468(o, s, BOOST_PP_LIST_REVERSE_D(468, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_469(o, s, l) BOOST_PP_LIST_FOLD_LEFT_469(o, s, BOOST_PP_LIST_REVERSE_D(469, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_470(o, s, l) BOOST_PP_LIST_FOLD_LEFT_470(o, s, BOOST_PP_LIST_REVERSE_D(470, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_471(o, s, l) BOOST_PP_LIST_FOLD_LEFT_471(o, s, BOOST_PP_LIST_REVERSE_D(471, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_472(o, s, l) BOOST_PP_LIST_FOLD_LEFT_472(o, s, BOOST_PP_LIST_REVERSE_D(472, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_473(o, s, l) BOOST_PP_LIST_FOLD_LEFT_473(o, s, BOOST_PP_LIST_REVERSE_D(473, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_474(o, s, l) BOOST_PP_LIST_FOLD_LEFT_474(o, s, BOOST_PP_LIST_REVERSE_D(474, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_475(o, s, l) BOOST_PP_LIST_FOLD_LEFT_475(o, s, BOOST_PP_LIST_REVERSE_D(475, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_476(o, s, l) BOOST_PP_LIST_FOLD_LEFT_476(o, s, BOOST_PP_LIST_REVERSE_D(476, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_477(o, s, l) BOOST_PP_LIST_FOLD_LEFT_477(o, s, BOOST_PP_LIST_REVERSE_D(477, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_478(o, s, l) BOOST_PP_LIST_FOLD_LEFT_478(o, s, BOOST_PP_LIST_REVERSE_D(478, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_479(o, s, l) BOOST_PP_LIST_FOLD_LEFT_479(o, s, BOOST_PP_LIST_REVERSE_D(479, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_480(o, s, l) BOOST_PP_LIST_FOLD_LEFT_480(o, s, BOOST_PP_LIST_REVERSE_D(480, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_481(o, s, l) BOOST_PP_LIST_FOLD_LEFT_481(o, s, BOOST_PP_LIST_REVERSE_D(481, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_482(o, s, l) BOOST_PP_LIST_FOLD_LEFT_482(o, s, BOOST_PP_LIST_REVERSE_D(482, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_483(o, s, l) BOOST_PP_LIST_FOLD_LEFT_483(o, s, BOOST_PP_LIST_REVERSE_D(483, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_484(o, s, l) BOOST_PP_LIST_FOLD_LEFT_484(o, s, BOOST_PP_LIST_REVERSE_D(484, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_485(o, s, l) BOOST_PP_LIST_FOLD_LEFT_485(o, s, BOOST_PP_LIST_REVERSE_D(485, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_486(o, s, l) BOOST_PP_LIST_FOLD_LEFT_486(o, s, BOOST_PP_LIST_REVERSE_D(486, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_487(o, s, l) BOOST_PP_LIST_FOLD_LEFT_487(o, s, BOOST_PP_LIST_REVERSE_D(487, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_488(o, s, l) BOOST_PP_LIST_FOLD_LEFT_488(o, s, BOOST_PP_LIST_REVERSE_D(488, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_489(o, s, l) BOOST_PP_LIST_FOLD_LEFT_489(o, s, BOOST_PP_LIST_REVERSE_D(489, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_490(o, s, l) BOOST_PP_LIST_FOLD_LEFT_490(o, s, BOOST_PP_LIST_REVERSE_D(490, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_491(o, s, l) BOOST_PP_LIST_FOLD_LEFT_491(o, s, BOOST_PP_LIST_REVERSE_D(491, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_492(o, s, l) BOOST_PP_LIST_FOLD_LEFT_492(o, s, BOOST_PP_LIST_REVERSE_D(492, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_493(o, s, l) BOOST_PP_LIST_FOLD_LEFT_493(o, s, BOOST_PP_LIST_REVERSE_D(493, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_494(o, s, l) BOOST_PP_LIST_FOLD_LEFT_494(o, s, BOOST_PP_LIST_REVERSE_D(494, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_495(o, s, l) BOOST_PP_LIST_FOLD_LEFT_495(o, s, BOOST_PP_LIST_REVERSE_D(495, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_496(o, s, l) BOOST_PP_LIST_FOLD_LEFT_496(o, s, BOOST_PP_LIST_REVERSE_D(496, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_497(o, s, l) BOOST_PP_LIST_FOLD_LEFT_497(o, s, BOOST_PP_LIST_REVERSE_D(497, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_498(o, s, l) BOOST_PP_LIST_FOLD_LEFT_498(o, s, BOOST_PP_LIST_REVERSE_D(498, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_499(o, s, l) BOOST_PP_LIST_FOLD_LEFT_499(o, s, BOOST_PP_LIST_REVERSE_D(499, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_500(o, s, l) BOOST_PP_LIST_FOLD_LEFT_500(o, s, BOOST_PP_LIST_REVERSE_D(500, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_501(o, s, l) BOOST_PP_LIST_FOLD_LEFT_501(o, s, BOOST_PP_LIST_REVERSE_D(501, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_502(o, s, l) BOOST_PP_LIST_FOLD_LEFT_502(o, s, BOOST_PP_LIST_REVERSE_D(502, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_503(o, s, l) BOOST_PP_LIST_FOLD_LEFT_503(o, s, BOOST_PP_LIST_REVERSE_D(503, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_504(o, s, l) BOOST_PP_LIST_FOLD_LEFT_504(o, s, BOOST_PP_LIST_REVERSE_D(504, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_505(o, s, l) BOOST_PP_LIST_FOLD_LEFT_505(o, s, BOOST_PP_LIST_REVERSE_D(505, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_506(o, s, l) BOOST_PP_LIST_FOLD_LEFT_506(o, s, BOOST_PP_LIST_REVERSE_D(506, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_507(o, s, l) BOOST_PP_LIST_FOLD_LEFT_507(o, s, BOOST_PP_LIST_REVERSE_D(507, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_508(o, s, l) BOOST_PP_LIST_FOLD_LEFT_508(o, s, BOOST_PP_LIST_REVERSE_D(508, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_509(o, s, l) BOOST_PP_LIST_FOLD_LEFT_509(o, s, BOOST_PP_LIST_REVERSE_D(509, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_510(o, s, l) BOOST_PP_LIST_FOLD_LEFT_510(o, s, BOOST_PP_LIST_REVERSE_D(510, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_511(o, s, l) BOOST_PP_LIST_FOLD_LEFT_511(o, s, BOOST_PP_LIST_REVERSE_D(511, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_512(o, s, l) BOOST_PP_LIST_FOLD_LEFT_512(o, s, BOOST_PP_LIST_REVERSE_D(512, l)) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/fold_left.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/fold_left.hpp new file mode 100644 index 0000000000..e1acd09077 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/fold_left.hpp @@ -0,0 +1,363 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOLD_LEFT */ +# +# if 0 +# define BOOST_PP_LIST_FOLD_LEFT(op, state, list) +# endif +# +# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) +# +# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004) +# +# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT +# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0 +# +# else +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOLD_LEFT */ +# +# if 0 +# define BOOST_PP_LIST_FOLD_LEFT(op, state, list) +# endif +# +# if BOOST_PP_LIMIT_WHILE == 256 +# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))) +# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004) +# elif BOOST_PP_LIMIT_WHILE == 512 +# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 512))) +# define BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) BOOST_PP_ERROR(0x0004) +# elif BOOST_PP_LIMIT_WHILE == 1024 +# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 1024))) +# define BOOST_PP_LIST_FOLD_LEFT_1025(o, s, l) BOOST_PP_ERROR(0x0004) +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT +# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 +# +# if BOOST_PP_LIMIT_WHILE == 256 +# include +# elif BOOST_PP_LIMIT_WHILE == 512 +# include +# include +# elif BOOST_PP_LIMIT_WHILE == 1024 +# include +# include +# include +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/fold_right.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/fold_right.hpp new file mode 100644 index 0000000000..35dfdf861e --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/fold_right.hpp @@ -0,0 +1,84 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# +# if 0 +# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list) +# endif +# +# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004) +# +# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT +# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# else +# include +# endif +# +# else +# +# include +# include +# include +# include +# include +# +# if 0 +# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list) +# endif +# +# include +# +# if BOOST_PP_LIMIT_WHILE == 256 +# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))) +# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004) +# elif BOOST_PP_LIMIT_WHILE == 512 +# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 512))) +# define BOOST_PP_LIST_FOLD_RIGHT_513(o, s, l) BOOST_PP_ERROR(0x0004) +# elif BOOST_PP_LIMIT_WHILE == 1024 +# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 1024))) +# define BOOST_PP_LIST_FOLD_RIGHT_1025(o, s, l) BOOST_PP_ERROR(0x0004) +# else +# error Incorrect value for the BOOST_PP_LIMIT_WHILE limit +# endif +# +# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT +# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# else +# include +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/for_each_i.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/for_each_i.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/list/for_each_i.hpp rename to external/include/boost_1_90_0/boost/preprocessor/list/for_each_i.hpp index 8f02e2e317..87ec39ce6d 100644 --- a/external/include/boost_1_75/boost/preprocessor/list/for_each_i.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/list/for_each_i.hpp @@ -1,65 +1,65 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP -# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP -# -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_FOR_EACH_I */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) -# else -# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) -# define BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) -# endif -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x -# define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l) -# else -# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x)) -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x -# define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i)) -# else -# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) (BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(4, 2, x)), BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 3, x))) -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x)) -# else -# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_REM_4 x) -# define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e) -# endif -# -# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l)) -# -# /* BOOST_PP_LIST_FOR_EACH_I_R */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) -# else -# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) -# define BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP +# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOR_EACH_I */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# else +# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) +# define BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x +# define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l) +# else +# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x +# define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i)) +# else +# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) (BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(4, 2, x)), BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 3, x))) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x)) +# else +# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_REM_4 x) +# define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e) +# endif +# +# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l)) +# +# /* BOOST_PP_LIST_FOR_EACH_I_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# else +# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) +# define BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_1024.hpp new file mode 100644 index 0000000000..4a733f1676 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_1024.hpp @@ -0,0 +1,531 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_1024_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_1024_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_513(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_514(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_515(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_516(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_517(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_518(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_519(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_520(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_521(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_522(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_523(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_524(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_525(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_526(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_527(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_528(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_529(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_530(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_531(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_532(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_533(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_534(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_535(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_536(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_537(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_538(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_539(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_540(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_541(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_542(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_543(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_544(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_545(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_546(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_547(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_548(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_549(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_550(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_551(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_552(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_553(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_554(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_555(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_556(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_557(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_558(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_559(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_560(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_561(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_562(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_563(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_564(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_565(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_566(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_567(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_568(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_569(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_570(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_571(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_572(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_573(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_574(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_575(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_576(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_577(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_578(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_579(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_580(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_581(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_582(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_583(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_584(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_585(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_586(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_587(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_588(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_589(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_590(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_591(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_592(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_593(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_594(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_595(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_596(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_597(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_598(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_599(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_600(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_601(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_602(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_603(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_604(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_605(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_606(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_607(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_608(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_609(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_610(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_611(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_612(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_613(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_614(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_615(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_616(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_617(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_618(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_619(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_620(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_621(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_622(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_623(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_624(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_625(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_626(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_627(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_628(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_629(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_630(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_631(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_632(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_633(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_634(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_635(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_636(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_637(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_638(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_639(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_640(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_641(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_642(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_643(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_644(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_645(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_646(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_647(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_648(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_649(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_650(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_651(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_652(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_653(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_654(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_655(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_656(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_657(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_658(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_659(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_660(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_661(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_662(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_663(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_664(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_665(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_666(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_667(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_668(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_669(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_670(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_671(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_672(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_673(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_674(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_675(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_676(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_677(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_678(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_679(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_680(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_681(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_682(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_683(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_684(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_685(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_686(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_687(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_688(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_689(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_690(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_691(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_692(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_693(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_694(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_695(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_696(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_697(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_698(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_699(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_700(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_701(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_702(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_703(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_704(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_705(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_706(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_707(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_708(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_709(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_710(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_711(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_712(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_713(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_714(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_715(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_716(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_717(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_718(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_719(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_720(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_721(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_722(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_723(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_724(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_725(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_726(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_727(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_728(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_729(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_730(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_731(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_732(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_733(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_734(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_735(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_736(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_737(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_738(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_739(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_740(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_741(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_742(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_743(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_744(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_745(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_746(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_747(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_748(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_749(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_750(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_751(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_752(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_753(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_754(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_755(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_756(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_757(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_758(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_759(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_760(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_761(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_762(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_763(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_764(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_765(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_766(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_767(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_768(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_769(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_770(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_771(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_772(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_773(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_774(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_775(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_776(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_777(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_778(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_779(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_780(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_781(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_782(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_783(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_784(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_785(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_786(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_787(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_788(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_789(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_790(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_791(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_792(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_793(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_794(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_795(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_796(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_797(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_798(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_799(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_800(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_801(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_802(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_803(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_804(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_805(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_806(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_807(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_808(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_809(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_810(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_811(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_812(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_813(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_814(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_815(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_816(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_817(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_818(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_819(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_820(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_821(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_822(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_823(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_824(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_825(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_826(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_827(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_828(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_829(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_830(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_831(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_832(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_833(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_834(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_835(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_836(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_837(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_838(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_839(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_840(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_841(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_842(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_843(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_844(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_845(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_846(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_847(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_848(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_849(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_850(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_851(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_852(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_853(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_854(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_855(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_856(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_857(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_858(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_859(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_860(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_861(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_862(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_863(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_864(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_865(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_866(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_867(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_868(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_869(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_870(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_871(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_872(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_873(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_874(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_875(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_876(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_877(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_878(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_879(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_880(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_881(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_882(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_883(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_884(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_885(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_886(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_887(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_888(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_889(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_890(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_891(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_892(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_893(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_894(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_895(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_896(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_897(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_898(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_899(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_900(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_901(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_902(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_903(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_904(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_905(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_906(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_907(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_908(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_909(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_910(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_911(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_912(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_913(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_914(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_915(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_916(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_917(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_918(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_919(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_920(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_921(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_922(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_923(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_924(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_925(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_926(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_927(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_928(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_929(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_930(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_931(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_932(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_933(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_934(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_935(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_936(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_937(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_938(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_939(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_940(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_941(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_942(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_943(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_944(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_945(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_946(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_947(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_948(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_949(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_950(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_951(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_952(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_953(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_954(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_955(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_956(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_957(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_958(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_959(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_960(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_961(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_962(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_963(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_964(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_965(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_966(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_967(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_968(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_969(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_970(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_971(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_972(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_973(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_974(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_975(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_976(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_977(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_978(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_979(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_980(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_981(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_982(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_983(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_984(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_985(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_986(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_987(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_988(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_989(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_990(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_991(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_992(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_993(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_994(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_995(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_996(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_997(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_998(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_999(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1000(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1001(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1002(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1003(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1004(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1005(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1006(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1007(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1008(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1009(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1010(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1011(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1012(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1013(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1014(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1015(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1016(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1017(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1018(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1019(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1020(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1021(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1022(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1023(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1024(o, s, l) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_256.hpp new file mode 100644 index 0000000000..4ca9a72d4e --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_256.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_256_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_256_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_0(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_512.hpp new file mode 100644 index 0000000000..4f2a8b2946 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/list/limits/fold_left_512.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_512_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_512_HPP +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_258(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_259(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_260(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_261(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_262(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_263(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_264(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_265(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_266(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_267(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_268(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_269(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_270(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_271(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_272(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_273(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_274(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_275(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_276(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_277(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_278(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_279(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_280(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_281(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_282(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_283(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_284(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_285(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_286(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_287(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_288(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_289(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_290(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_291(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_292(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_293(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_294(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_295(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_296(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_297(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_298(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_299(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_300(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_301(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_302(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_303(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_304(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_305(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_306(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_307(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_308(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_309(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_310(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_311(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_312(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_313(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_314(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_315(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_316(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_317(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_318(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_319(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_320(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_321(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_322(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_323(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_324(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_325(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_326(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_327(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_328(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_329(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_330(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_331(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_332(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_333(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_334(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_335(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_336(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_337(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_338(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_339(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_340(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_341(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_342(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_343(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_344(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_345(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_346(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_347(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_348(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_349(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_350(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_351(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_352(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_353(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_354(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_355(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_356(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_357(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_358(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_359(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_360(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_361(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_362(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_363(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_364(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_365(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_366(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_367(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_368(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_369(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_370(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_371(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_372(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_373(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_374(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_375(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_376(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_377(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_378(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_379(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_380(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_381(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_382(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_383(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_384(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_385(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_386(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_387(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_388(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_389(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_390(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_391(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_392(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_393(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_394(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_395(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_396(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_397(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_398(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_399(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_400(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_401(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_402(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_403(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_404(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_405(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_406(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_407(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_408(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_409(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_410(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_411(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_412(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_413(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_414(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_415(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_416(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_417(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_418(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_419(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_420(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_421(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_422(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_423(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_424(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_425(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_426(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_427(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_428(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_429(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_430(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_431(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_432(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_433(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_434(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_435(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_436(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_437(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_438(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_439(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_440(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_441(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_442(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_443(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_444(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_445(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_446(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_447(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_448(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_449(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_450(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_451(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_452(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_453(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_454(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_455(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_456(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_457(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_458(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_459(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_460(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_461(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_462(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_463(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_464(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_465(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_466(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_467(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_468(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_469(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_470(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_471(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_472(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_473(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_474(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_475(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_476(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_477(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_478(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_479(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_480(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_481(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_482(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_483(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_484(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_485(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_486(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_487(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_488(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_489(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_490(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_491(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_492(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_493(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_494(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_495(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_496(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_497(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_498(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_499(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_500(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_501(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_502(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_503(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_504(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_505(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_506(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_507(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_508(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_509(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_510(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_511(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_512(o, s, l) 0 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/list/reverse.hpp b/external/include/boost_1_90_0/boost/preprocessor/list/reverse.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/list/reverse.hpp rename to external/include/boost_1_90_0/boost/preprocessor/list/reverse.hpp index 8cab4b16fa..1c06fb2cd5 100644 --- a/external/include/boost_1_75/boost/preprocessor/list/reverse.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/list/reverse.hpp @@ -1,75 +1,75 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP -# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP -# -# include -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# include -# -# /* BOOST_PP_LIST_REVERSE */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# else -# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list) -# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# endif -# -# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s) -# -# /* BOOST_PP_LIST_REVERSE_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# else -# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list) -# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) -# endif -# -# else -# -# include -# include -# include -# include -# -# /* BOOST_PP_LIST_REVERSE */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,1))(list) -# else -# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list) -# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,1))(list) -# endif -# -# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s) -# -# /* BOOST_PP_LIST_REVERSE_D */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS_D,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,2))(d,list) -# else -# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list) -# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS_D,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,2))(d,list) -# endif -# -# define BOOST_PP_LIST_REVERSE_CONS(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, (BOOST_PP_LIST_FIRST(list),BOOST_PP_NIL), BOOST_PP_LIST_REST(list)) -# define BOOST_PP_LIST_REVERSE_CONS_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, (BOOST_PP_LIST_FIRST(list),BOOST_PP_NIL), BOOST_PP_LIST_REST(list)) -# -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP +# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# +# /* BOOST_PP_LIST_REVERSE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# else +# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list) +# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# endif +# +# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s) +# +# /* BOOST_PP_LIST_REVERSE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# else +# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list) +# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# endif +# +# else +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_REVERSE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,1))(list) +# else +# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list) +# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,1))(list) +# endif +# +# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s) +# +# /* BOOST_PP_LIST_REVERSE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS_D,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,2))(d,list) +# else +# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list) +# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(list),BOOST_PP_LIST_REVERSE_CONS_D,BOOST_PP_IDENTITY_N(BOOST_PP_NIL,2))(d,list) +# endif +# +# define BOOST_PP_LIST_REVERSE_CONS(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, (BOOST_PP_LIST_FIRST(list),BOOST_PP_NIL), BOOST_PP_LIST_REST(list)) +# define BOOST_PP_LIST_REVERSE_CONS_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, (BOOST_PP_LIST_FIRST(list),BOOST_PP_NIL), BOOST_PP_LIST_REST(list)) +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/logical/and.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/and.hpp new file mode 100644 index 0000000000..1db8e2b9fa --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/and.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP +# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP +# +# include +# include +# include +# +# /* BOOST_PP_AND */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# else +# define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q) +# define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/logical/bitand.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/bitand.hpp new file mode 100644 index 0000000000..2e1c7382e1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/bitand.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP +# +# include +# +# /* BOOST_PP_BITAND */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y) +# else +# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y)) +# define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y +# else +# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y) +# define BOOST_PP_BITAND_ID(res) res +# endif +# +# define BOOST_PP_BITAND_00 0 +# define BOOST_PP_BITAND_01 0 +# define BOOST_PP_BITAND_10 0 +# define BOOST_PP_BITAND_11 1 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/logical/bitor.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/bitor.hpp new file mode 100644 index 0000000000..806e3c71ef --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/bitor.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP +# +# include +# +# /* BOOST_PP_BITOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y) +# else +# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y)) +# define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y +# else +# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y) +# define BOOST_PP_BITOR_ID(id) id +# endif +# +# define BOOST_PP_BITOR_00 0 +# define BOOST_PP_BITOR_01 1 +# define BOOST_PP_BITOR_10 1 +# define BOOST_PP_BITOR_11 1 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/logical/bool.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/bool.hpp new file mode 100644 index 0000000000..7d5df02495 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/bool.hpp @@ -0,0 +1,310 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP +# +# include +# +# /* BOOST_PP_BOOL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x) +# else +# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x)) +# define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par +# endif +# +# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# define BOOST_PP_BOOL_0 0 +# define BOOST_PP_BOOL_1 1 +# define BOOST_PP_BOOL_2 1 +# define BOOST_PP_BOOL_3 1 +# define BOOST_PP_BOOL_4 1 +# define BOOST_PP_BOOL_5 1 +# define BOOST_PP_BOOL_6 1 +# define BOOST_PP_BOOL_7 1 +# define BOOST_PP_BOOL_8 1 +# define BOOST_PP_BOOL_9 1 +# define BOOST_PP_BOOL_10 1 +# define BOOST_PP_BOOL_11 1 +# define BOOST_PP_BOOL_12 1 +# define BOOST_PP_BOOL_13 1 +# define BOOST_PP_BOOL_14 1 +# define BOOST_PP_BOOL_15 1 +# define BOOST_PP_BOOL_16 1 +# define BOOST_PP_BOOL_17 1 +# define BOOST_PP_BOOL_18 1 +# define BOOST_PP_BOOL_19 1 +# define BOOST_PP_BOOL_20 1 +# define BOOST_PP_BOOL_21 1 +# define BOOST_PP_BOOL_22 1 +# define BOOST_PP_BOOL_23 1 +# define BOOST_PP_BOOL_24 1 +# define BOOST_PP_BOOL_25 1 +# define BOOST_PP_BOOL_26 1 +# define BOOST_PP_BOOL_27 1 +# define BOOST_PP_BOOL_28 1 +# define BOOST_PP_BOOL_29 1 +# define BOOST_PP_BOOL_30 1 +# define BOOST_PP_BOOL_31 1 +# define BOOST_PP_BOOL_32 1 +# define BOOST_PP_BOOL_33 1 +# define BOOST_PP_BOOL_34 1 +# define BOOST_PP_BOOL_35 1 +# define BOOST_PP_BOOL_36 1 +# define BOOST_PP_BOOL_37 1 +# define BOOST_PP_BOOL_38 1 +# define BOOST_PP_BOOL_39 1 +# define BOOST_PP_BOOL_40 1 +# define BOOST_PP_BOOL_41 1 +# define BOOST_PP_BOOL_42 1 +# define BOOST_PP_BOOL_43 1 +# define BOOST_PP_BOOL_44 1 +# define BOOST_PP_BOOL_45 1 +# define BOOST_PP_BOOL_46 1 +# define BOOST_PP_BOOL_47 1 +# define BOOST_PP_BOOL_48 1 +# define BOOST_PP_BOOL_49 1 +# define BOOST_PP_BOOL_50 1 +# define BOOST_PP_BOOL_51 1 +# define BOOST_PP_BOOL_52 1 +# define BOOST_PP_BOOL_53 1 +# define BOOST_PP_BOOL_54 1 +# define BOOST_PP_BOOL_55 1 +# define BOOST_PP_BOOL_56 1 +# define BOOST_PP_BOOL_57 1 +# define BOOST_PP_BOOL_58 1 +# define BOOST_PP_BOOL_59 1 +# define BOOST_PP_BOOL_60 1 +# define BOOST_PP_BOOL_61 1 +# define BOOST_PP_BOOL_62 1 +# define BOOST_PP_BOOL_63 1 +# define BOOST_PP_BOOL_64 1 +# define BOOST_PP_BOOL_65 1 +# define BOOST_PP_BOOL_66 1 +# define BOOST_PP_BOOL_67 1 +# define BOOST_PP_BOOL_68 1 +# define BOOST_PP_BOOL_69 1 +# define BOOST_PP_BOOL_70 1 +# define BOOST_PP_BOOL_71 1 +# define BOOST_PP_BOOL_72 1 +# define BOOST_PP_BOOL_73 1 +# define BOOST_PP_BOOL_74 1 +# define BOOST_PP_BOOL_75 1 +# define BOOST_PP_BOOL_76 1 +# define BOOST_PP_BOOL_77 1 +# define BOOST_PP_BOOL_78 1 +# define BOOST_PP_BOOL_79 1 +# define BOOST_PP_BOOL_80 1 +# define BOOST_PP_BOOL_81 1 +# define BOOST_PP_BOOL_82 1 +# define BOOST_PP_BOOL_83 1 +# define BOOST_PP_BOOL_84 1 +# define BOOST_PP_BOOL_85 1 +# define BOOST_PP_BOOL_86 1 +# define BOOST_PP_BOOL_87 1 +# define BOOST_PP_BOOL_88 1 +# define BOOST_PP_BOOL_89 1 +# define BOOST_PP_BOOL_90 1 +# define BOOST_PP_BOOL_91 1 +# define BOOST_PP_BOOL_92 1 +# define BOOST_PP_BOOL_93 1 +# define BOOST_PP_BOOL_94 1 +# define BOOST_PP_BOOL_95 1 +# define BOOST_PP_BOOL_96 1 +# define BOOST_PP_BOOL_97 1 +# define BOOST_PP_BOOL_98 1 +# define BOOST_PP_BOOL_99 1 +# define BOOST_PP_BOOL_100 1 +# define BOOST_PP_BOOL_101 1 +# define BOOST_PP_BOOL_102 1 +# define BOOST_PP_BOOL_103 1 +# define BOOST_PP_BOOL_104 1 +# define BOOST_PP_BOOL_105 1 +# define BOOST_PP_BOOL_106 1 +# define BOOST_PP_BOOL_107 1 +# define BOOST_PP_BOOL_108 1 +# define BOOST_PP_BOOL_109 1 +# define BOOST_PP_BOOL_110 1 +# define BOOST_PP_BOOL_111 1 +# define BOOST_PP_BOOL_112 1 +# define BOOST_PP_BOOL_113 1 +# define BOOST_PP_BOOL_114 1 +# define BOOST_PP_BOOL_115 1 +# define BOOST_PP_BOOL_116 1 +# define BOOST_PP_BOOL_117 1 +# define BOOST_PP_BOOL_118 1 +# define BOOST_PP_BOOL_119 1 +# define BOOST_PP_BOOL_120 1 +# define BOOST_PP_BOOL_121 1 +# define BOOST_PP_BOOL_122 1 +# define BOOST_PP_BOOL_123 1 +# define BOOST_PP_BOOL_124 1 +# define BOOST_PP_BOOL_125 1 +# define BOOST_PP_BOOL_126 1 +# define BOOST_PP_BOOL_127 1 +# define BOOST_PP_BOOL_128 1 +# define BOOST_PP_BOOL_129 1 +# define BOOST_PP_BOOL_130 1 +# define BOOST_PP_BOOL_131 1 +# define BOOST_PP_BOOL_132 1 +# define BOOST_PP_BOOL_133 1 +# define BOOST_PP_BOOL_134 1 +# define BOOST_PP_BOOL_135 1 +# define BOOST_PP_BOOL_136 1 +# define BOOST_PP_BOOL_137 1 +# define BOOST_PP_BOOL_138 1 +# define BOOST_PP_BOOL_139 1 +# define BOOST_PP_BOOL_140 1 +# define BOOST_PP_BOOL_141 1 +# define BOOST_PP_BOOL_142 1 +# define BOOST_PP_BOOL_143 1 +# define BOOST_PP_BOOL_144 1 +# define BOOST_PP_BOOL_145 1 +# define BOOST_PP_BOOL_146 1 +# define BOOST_PP_BOOL_147 1 +# define BOOST_PP_BOOL_148 1 +# define BOOST_PP_BOOL_149 1 +# define BOOST_PP_BOOL_150 1 +# define BOOST_PP_BOOL_151 1 +# define BOOST_PP_BOOL_152 1 +# define BOOST_PP_BOOL_153 1 +# define BOOST_PP_BOOL_154 1 +# define BOOST_PP_BOOL_155 1 +# define BOOST_PP_BOOL_156 1 +# define BOOST_PP_BOOL_157 1 +# define BOOST_PP_BOOL_158 1 +# define BOOST_PP_BOOL_159 1 +# define BOOST_PP_BOOL_160 1 +# define BOOST_PP_BOOL_161 1 +# define BOOST_PP_BOOL_162 1 +# define BOOST_PP_BOOL_163 1 +# define BOOST_PP_BOOL_164 1 +# define BOOST_PP_BOOL_165 1 +# define BOOST_PP_BOOL_166 1 +# define BOOST_PP_BOOL_167 1 +# define BOOST_PP_BOOL_168 1 +# define BOOST_PP_BOOL_169 1 +# define BOOST_PP_BOOL_170 1 +# define BOOST_PP_BOOL_171 1 +# define BOOST_PP_BOOL_172 1 +# define BOOST_PP_BOOL_173 1 +# define BOOST_PP_BOOL_174 1 +# define BOOST_PP_BOOL_175 1 +# define BOOST_PP_BOOL_176 1 +# define BOOST_PP_BOOL_177 1 +# define BOOST_PP_BOOL_178 1 +# define BOOST_PP_BOOL_179 1 +# define BOOST_PP_BOOL_180 1 +# define BOOST_PP_BOOL_181 1 +# define BOOST_PP_BOOL_182 1 +# define BOOST_PP_BOOL_183 1 +# define BOOST_PP_BOOL_184 1 +# define BOOST_PP_BOOL_185 1 +# define BOOST_PP_BOOL_186 1 +# define BOOST_PP_BOOL_187 1 +# define BOOST_PP_BOOL_188 1 +# define BOOST_PP_BOOL_189 1 +# define BOOST_PP_BOOL_190 1 +# define BOOST_PP_BOOL_191 1 +# define BOOST_PP_BOOL_192 1 +# define BOOST_PP_BOOL_193 1 +# define BOOST_PP_BOOL_194 1 +# define BOOST_PP_BOOL_195 1 +# define BOOST_PP_BOOL_196 1 +# define BOOST_PP_BOOL_197 1 +# define BOOST_PP_BOOL_198 1 +# define BOOST_PP_BOOL_199 1 +# define BOOST_PP_BOOL_200 1 +# define BOOST_PP_BOOL_201 1 +# define BOOST_PP_BOOL_202 1 +# define BOOST_PP_BOOL_203 1 +# define BOOST_PP_BOOL_204 1 +# define BOOST_PP_BOOL_205 1 +# define BOOST_PP_BOOL_206 1 +# define BOOST_PP_BOOL_207 1 +# define BOOST_PP_BOOL_208 1 +# define BOOST_PP_BOOL_209 1 +# define BOOST_PP_BOOL_210 1 +# define BOOST_PP_BOOL_211 1 +# define BOOST_PP_BOOL_212 1 +# define BOOST_PP_BOOL_213 1 +# define BOOST_PP_BOOL_214 1 +# define BOOST_PP_BOOL_215 1 +# define BOOST_PP_BOOL_216 1 +# define BOOST_PP_BOOL_217 1 +# define BOOST_PP_BOOL_218 1 +# define BOOST_PP_BOOL_219 1 +# define BOOST_PP_BOOL_220 1 +# define BOOST_PP_BOOL_221 1 +# define BOOST_PP_BOOL_222 1 +# define BOOST_PP_BOOL_223 1 +# define BOOST_PP_BOOL_224 1 +# define BOOST_PP_BOOL_225 1 +# define BOOST_PP_BOOL_226 1 +# define BOOST_PP_BOOL_227 1 +# define BOOST_PP_BOOL_228 1 +# define BOOST_PP_BOOL_229 1 +# define BOOST_PP_BOOL_230 1 +# define BOOST_PP_BOOL_231 1 +# define BOOST_PP_BOOL_232 1 +# define BOOST_PP_BOOL_233 1 +# define BOOST_PP_BOOL_234 1 +# define BOOST_PP_BOOL_235 1 +# define BOOST_PP_BOOL_236 1 +# define BOOST_PP_BOOL_237 1 +# define BOOST_PP_BOOL_238 1 +# define BOOST_PP_BOOL_239 1 +# define BOOST_PP_BOOL_240 1 +# define BOOST_PP_BOOL_241 1 +# define BOOST_PP_BOOL_242 1 +# define BOOST_PP_BOOL_243 1 +# define BOOST_PP_BOOL_244 1 +# define BOOST_PP_BOOL_245 1 +# define BOOST_PP_BOOL_246 1 +# define BOOST_PP_BOOL_247 1 +# define BOOST_PP_BOOL_248 1 +# define BOOST_PP_BOOL_249 1 +# define BOOST_PP_BOOL_250 1 +# define BOOST_PP_BOOL_251 1 +# define BOOST_PP_BOOL_252 1 +# define BOOST_PP_BOOL_253 1 +# define BOOST_PP_BOOL_254 1 +# define BOOST_PP_BOOL_255 1 +# define BOOST_PP_BOOL_256 1 +# +# else +# +# include +# +# if BOOST_PP_LIMIT_MAG == 256 +# include +# elif BOOST_PP_LIMIT_MAG == 512 +# include +# include +# elif BOOST_PP_LIMIT_MAG == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_MAG limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/compl.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/compl.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/logical/compl.hpp rename to external/include/boost_1_90_0/boost/preprocessor/logical/compl.hpp index ad4c7a4ca6..751068b4ab 100644 --- a/external/include/boost_1_75/boost/preprocessor/logical/compl.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/compl.hpp @@ -1,36 +1,36 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP -# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP -# -# include -# -# /* BOOST_PP_COMPL */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x) -# else -# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x)) -# define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x -# else -# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x) -# define BOOST_PP_COMPL_ID(id) id -# endif -# -# define BOOST_PP_COMPL_0 1 -# define BOOST_PP_COMPL_1 0 -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP +# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP +# +# include +# +# /* BOOST_PP_COMPL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x) +# else +# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x)) +# define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x +# else +# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x) +# define BOOST_PP_COMPL_ID(id) id +# endif +# +# define BOOST_PP_COMPL_0 1 +# define BOOST_PP_COMPL_1 0 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/limits/bool_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_1024.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/logical/limits/bool_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_1024.hpp index 2458316cb1..42e3e918b2 100644 --- a/external/include/boost_1_75/boost/preprocessor/logical/limits/bool_1024.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_1024.hpp @@ -1,531 +1,531 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_1024_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BOOL_1024_HPP -# -# define BOOST_PP_BOOL_513 1 -# define BOOST_PP_BOOL_514 1 -# define BOOST_PP_BOOL_515 1 -# define BOOST_PP_BOOL_516 1 -# define BOOST_PP_BOOL_517 1 -# define BOOST_PP_BOOL_518 1 -# define BOOST_PP_BOOL_519 1 -# define BOOST_PP_BOOL_520 1 -# define BOOST_PP_BOOL_521 1 -# define BOOST_PP_BOOL_522 1 -# define BOOST_PP_BOOL_523 1 -# define BOOST_PP_BOOL_524 1 -# define BOOST_PP_BOOL_525 1 -# define BOOST_PP_BOOL_526 1 -# define BOOST_PP_BOOL_527 1 -# define BOOST_PP_BOOL_528 1 -# define BOOST_PP_BOOL_529 1 -# define BOOST_PP_BOOL_530 1 -# define BOOST_PP_BOOL_531 1 -# define BOOST_PP_BOOL_532 1 -# define BOOST_PP_BOOL_533 1 -# define BOOST_PP_BOOL_534 1 -# define BOOST_PP_BOOL_535 1 -# define BOOST_PP_BOOL_536 1 -# define BOOST_PP_BOOL_537 1 -# define BOOST_PP_BOOL_538 1 -# define BOOST_PP_BOOL_539 1 -# define BOOST_PP_BOOL_540 1 -# define BOOST_PP_BOOL_541 1 -# define BOOST_PP_BOOL_542 1 -# define BOOST_PP_BOOL_543 1 -# define BOOST_PP_BOOL_544 1 -# define BOOST_PP_BOOL_545 1 -# define BOOST_PP_BOOL_546 1 -# define BOOST_PP_BOOL_547 1 -# define BOOST_PP_BOOL_548 1 -# define BOOST_PP_BOOL_549 1 -# define BOOST_PP_BOOL_550 1 -# define BOOST_PP_BOOL_551 1 -# define BOOST_PP_BOOL_552 1 -# define BOOST_PP_BOOL_553 1 -# define BOOST_PP_BOOL_554 1 -# define BOOST_PP_BOOL_555 1 -# define BOOST_PP_BOOL_556 1 -# define BOOST_PP_BOOL_557 1 -# define BOOST_PP_BOOL_558 1 -# define BOOST_PP_BOOL_559 1 -# define BOOST_PP_BOOL_560 1 -# define BOOST_PP_BOOL_561 1 -# define BOOST_PP_BOOL_562 1 -# define BOOST_PP_BOOL_563 1 -# define BOOST_PP_BOOL_564 1 -# define BOOST_PP_BOOL_565 1 -# define BOOST_PP_BOOL_566 1 -# define BOOST_PP_BOOL_567 1 -# define BOOST_PP_BOOL_568 1 -# define BOOST_PP_BOOL_569 1 -# define BOOST_PP_BOOL_570 1 -# define BOOST_PP_BOOL_571 1 -# define BOOST_PP_BOOL_572 1 -# define BOOST_PP_BOOL_573 1 -# define BOOST_PP_BOOL_574 1 -# define BOOST_PP_BOOL_575 1 -# define BOOST_PP_BOOL_576 1 -# define BOOST_PP_BOOL_577 1 -# define BOOST_PP_BOOL_578 1 -# define BOOST_PP_BOOL_579 1 -# define BOOST_PP_BOOL_580 1 -# define BOOST_PP_BOOL_581 1 -# define BOOST_PP_BOOL_582 1 -# define BOOST_PP_BOOL_583 1 -# define BOOST_PP_BOOL_584 1 -# define BOOST_PP_BOOL_585 1 -# define BOOST_PP_BOOL_586 1 -# define BOOST_PP_BOOL_587 1 -# define BOOST_PP_BOOL_588 1 -# define BOOST_PP_BOOL_589 1 -# define BOOST_PP_BOOL_590 1 -# define BOOST_PP_BOOL_591 1 -# define BOOST_PP_BOOL_592 1 -# define BOOST_PP_BOOL_593 1 -# define BOOST_PP_BOOL_594 1 -# define BOOST_PP_BOOL_595 1 -# define BOOST_PP_BOOL_596 1 -# define BOOST_PP_BOOL_597 1 -# define BOOST_PP_BOOL_598 1 -# define BOOST_PP_BOOL_599 1 -# define BOOST_PP_BOOL_600 1 -# define BOOST_PP_BOOL_601 1 -# define BOOST_PP_BOOL_602 1 -# define BOOST_PP_BOOL_603 1 -# define BOOST_PP_BOOL_604 1 -# define BOOST_PP_BOOL_605 1 -# define BOOST_PP_BOOL_606 1 -# define BOOST_PP_BOOL_607 1 -# define BOOST_PP_BOOL_608 1 -# define BOOST_PP_BOOL_609 1 -# define BOOST_PP_BOOL_610 1 -# define BOOST_PP_BOOL_611 1 -# define BOOST_PP_BOOL_612 1 -# define BOOST_PP_BOOL_613 1 -# define BOOST_PP_BOOL_614 1 -# define BOOST_PP_BOOL_615 1 -# define BOOST_PP_BOOL_616 1 -# define BOOST_PP_BOOL_617 1 -# define BOOST_PP_BOOL_618 1 -# define BOOST_PP_BOOL_619 1 -# define BOOST_PP_BOOL_620 1 -# define BOOST_PP_BOOL_621 1 -# define BOOST_PP_BOOL_622 1 -# define BOOST_PP_BOOL_623 1 -# define BOOST_PP_BOOL_624 1 -# define BOOST_PP_BOOL_625 1 -# define BOOST_PP_BOOL_626 1 -# define BOOST_PP_BOOL_627 1 -# define BOOST_PP_BOOL_628 1 -# define BOOST_PP_BOOL_629 1 -# define BOOST_PP_BOOL_630 1 -# define BOOST_PP_BOOL_631 1 -# define BOOST_PP_BOOL_632 1 -# define BOOST_PP_BOOL_633 1 -# define BOOST_PP_BOOL_634 1 -# define BOOST_PP_BOOL_635 1 -# define BOOST_PP_BOOL_636 1 -# define BOOST_PP_BOOL_637 1 -# define BOOST_PP_BOOL_638 1 -# define BOOST_PP_BOOL_639 1 -# define BOOST_PP_BOOL_640 1 -# define BOOST_PP_BOOL_641 1 -# define BOOST_PP_BOOL_642 1 -# define BOOST_PP_BOOL_643 1 -# define BOOST_PP_BOOL_644 1 -# define BOOST_PP_BOOL_645 1 -# define BOOST_PP_BOOL_646 1 -# define BOOST_PP_BOOL_647 1 -# define BOOST_PP_BOOL_648 1 -# define BOOST_PP_BOOL_649 1 -# define BOOST_PP_BOOL_650 1 -# define BOOST_PP_BOOL_651 1 -# define BOOST_PP_BOOL_652 1 -# define BOOST_PP_BOOL_653 1 -# define BOOST_PP_BOOL_654 1 -# define BOOST_PP_BOOL_655 1 -# define BOOST_PP_BOOL_656 1 -# define BOOST_PP_BOOL_657 1 -# define BOOST_PP_BOOL_658 1 -# define BOOST_PP_BOOL_659 1 -# define BOOST_PP_BOOL_660 1 -# define BOOST_PP_BOOL_661 1 -# define BOOST_PP_BOOL_662 1 -# define BOOST_PP_BOOL_663 1 -# define BOOST_PP_BOOL_664 1 -# define BOOST_PP_BOOL_665 1 -# define BOOST_PP_BOOL_666 1 -# define BOOST_PP_BOOL_667 1 -# define BOOST_PP_BOOL_668 1 -# define BOOST_PP_BOOL_669 1 -# define BOOST_PP_BOOL_670 1 -# define BOOST_PP_BOOL_671 1 -# define BOOST_PP_BOOL_672 1 -# define BOOST_PP_BOOL_673 1 -# define BOOST_PP_BOOL_674 1 -# define BOOST_PP_BOOL_675 1 -# define BOOST_PP_BOOL_676 1 -# define BOOST_PP_BOOL_677 1 -# define BOOST_PP_BOOL_678 1 -# define BOOST_PP_BOOL_679 1 -# define BOOST_PP_BOOL_680 1 -# define BOOST_PP_BOOL_681 1 -# define BOOST_PP_BOOL_682 1 -# define BOOST_PP_BOOL_683 1 -# define BOOST_PP_BOOL_684 1 -# define BOOST_PP_BOOL_685 1 -# define BOOST_PP_BOOL_686 1 -# define BOOST_PP_BOOL_687 1 -# define BOOST_PP_BOOL_688 1 -# define BOOST_PP_BOOL_689 1 -# define BOOST_PP_BOOL_690 1 -# define BOOST_PP_BOOL_691 1 -# define BOOST_PP_BOOL_692 1 -# define BOOST_PP_BOOL_693 1 -# define BOOST_PP_BOOL_694 1 -# define BOOST_PP_BOOL_695 1 -# define BOOST_PP_BOOL_696 1 -# define BOOST_PP_BOOL_697 1 -# define BOOST_PP_BOOL_698 1 -# define BOOST_PP_BOOL_699 1 -# define BOOST_PP_BOOL_700 1 -# define BOOST_PP_BOOL_701 1 -# define BOOST_PP_BOOL_702 1 -# define BOOST_PP_BOOL_703 1 -# define BOOST_PP_BOOL_704 1 -# define BOOST_PP_BOOL_705 1 -# define BOOST_PP_BOOL_706 1 -# define BOOST_PP_BOOL_707 1 -# define BOOST_PP_BOOL_708 1 -# define BOOST_PP_BOOL_709 1 -# define BOOST_PP_BOOL_710 1 -# define BOOST_PP_BOOL_711 1 -# define BOOST_PP_BOOL_712 1 -# define BOOST_PP_BOOL_713 1 -# define BOOST_PP_BOOL_714 1 -# define BOOST_PP_BOOL_715 1 -# define BOOST_PP_BOOL_716 1 -# define BOOST_PP_BOOL_717 1 -# define BOOST_PP_BOOL_718 1 -# define BOOST_PP_BOOL_719 1 -# define BOOST_PP_BOOL_720 1 -# define BOOST_PP_BOOL_721 1 -# define BOOST_PP_BOOL_722 1 -# define BOOST_PP_BOOL_723 1 -# define BOOST_PP_BOOL_724 1 -# define BOOST_PP_BOOL_725 1 -# define BOOST_PP_BOOL_726 1 -# define BOOST_PP_BOOL_727 1 -# define BOOST_PP_BOOL_728 1 -# define BOOST_PP_BOOL_729 1 -# define BOOST_PP_BOOL_730 1 -# define BOOST_PP_BOOL_731 1 -# define BOOST_PP_BOOL_732 1 -# define BOOST_PP_BOOL_733 1 -# define BOOST_PP_BOOL_734 1 -# define BOOST_PP_BOOL_735 1 -# define BOOST_PP_BOOL_736 1 -# define BOOST_PP_BOOL_737 1 -# define BOOST_PP_BOOL_738 1 -# define BOOST_PP_BOOL_739 1 -# define BOOST_PP_BOOL_740 1 -# define BOOST_PP_BOOL_741 1 -# define BOOST_PP_BOOL_742 1 -# define BOOST_PP_BOOL_743 1 -# define BOOST_PP_BOOL_744 1 -# define BOOST_PP_BOOL_745 1 -# define BOOST_PP_BOOL_746 1 -# define BOOST_PP_BOOL_747 1 -# define BOOST_PP_BOOL_748 1 -# define BOOST_PP_BOOL_749 1 -# define BOOST_PP_BOOL_750 1 -# define BOOST_PP_BOOL_751 1 -# define BOOST_PP_BOOL_752 1 -# define BOOST_PP_BOOL_753 1 -# define BOOST_PP_BOOL_754 1 -# define BOOST_PP_BOOL_755 1 -# define BOOST_PP_BOOL_756 1 -# define BOOST_PP_BOOL_757 1 -# define BOOST_PP_BOOL_758 1 -# define BOOST_PP_BOOL_759 1 -# define BOOST_PP_BOOL_760 1 -# define BOOST_PP_BOOL_761 1 -# define BOOST_PP_BOOL_762 1 -# define BOOST_PP_BOOL_763 1 -# define BOOST_PP_BOOL_764 1 -# define BOOST_PP_BOOL_765 1 -# define BOOST_PP_BOOL_766 1 -# define BOOST_PP_BOOL_767 1 -# define BOOST_PP_BOOL_768 1 -# define BOOST_PP_BOOL_769 1 -# define BOOST_PP_BOOL_770 1 -# define BOOST_PP_BOOL_771 1 -# define BOOST_PP_BOOL_772 1 -# define BOOST_PP_BOOL_773 1 -# define BOOST_PP_BOOL_774 1 -# define BOOST_PP_BOOL_775 1 -# define BOOST_PP_BOOL_776 1 -# define BOOST_PP_BOOL_777 1 -# define BOOST_PP_BOOL_778 1 -# define BOOST_PP_BOOL_779 1 -# define BOOST_PP_BOOL_780 1 -# define BOOST_PP_BOOL_781 1 -# define BOOST_PP_BOOL_782 1 -# define BOOST_PP_BOOL_783 1 -# define BOOST_PP_BOOL_784 1 -# define BOOST_PP_BOOL_785 1 -# define BOOST_PP_BOOL_786 1 -# define BOOST_PP_BOOL_787 1 -# define BOOST_PP_BOOL_788 1 -# define BOOST_PP_BOOL_789 1 -# define BOOST_PP_BOOL_790 1 -# define BOOST_PP_BOOL_791 1 -# define BOOST_PP_BOOL_792 1 -# define BOOST_PP_BOOL_793 1 -# define BOOST_PP_BOOL_794 1 -# define BOOST_PP_BOOL_795 1 -# define BOOST_PP_BOOL_796 1 -# define BOOST_PP_BOOL_797 1 -# define BOOST_PP_BOOL_798 1 -# define BOOST_PP_BOOL_799 1 -# define BOOST_PP_BOOL_800 1 -# define BOOST_PP_BOOL_801 1 -# define BOOST_PP_BOOL_802 1 -# define BOOST_PP_BOOL_803 1 -# define BOOST_PP_BOOL_804 1 -# define BOOST_PP_BOOL_805 1 -# define BOOST_PP_BOOL_806 1 -# define BOOST_PP_BOOL_807 1 -# define BOOST_PP_BOOL_808 1 -# define BOOST_PP_BOOL_809 1 -# define BOOST_PP_BOOL_810 1 -# define BOOST_PP_BOOL_811 1 -# define BOOST_PP_BOOL_812 1 -# define BOOST_PP_BOOL_813 1 -# define BOOST_PP_BOOL_814 1 -# define BOOST_PP_BOOL_815 1 -# define BOOST_PP_BOOL_816 1 -# define BOOST_PP_BOOL_817 1 -# define BOOST_PP_BOOL_818 1 -# define BOOST_PP_BOOL_819 1 -# define BOOST_PP_BOOL_820 1 -# define BOOST_PP_BOOL_821 1 -# define BOOST_PP_BOOL_822 1 -# define BOOST_PP_BOOL_823 1 -# define BOOST_PP_BOOL_824 1 -# define BOOST_PP_BOOL_825 1 -# define BOOST_PP_BOOL_826 1 -# define BOOST_PP_BOOL_827 1 -# define BOOST_PP_BOOL_828 1 -# define BOOST_PP_BOOL_829 1 -# define BOOST_PP_BOOL_830 1 -# define BOOST_PP_BOOL_831 1 -# define BOOST_PP_BOOL_832 1 -# define BOOST_PP_BOOL_833 1 -# define BOOST_PP_BOOL_834 1 -# define BOOST_PP_BOOL_835 1 -# define BOOST_PP_BOOL_836 1 -# define BOOST_PP_BOOL_837 1 -# define BOOST_PP_BOOL_838 1 -# define BOOST_PP_BOOL_839 1 -# define BOOST_PP_BOOL_840 1 -# define BOOST_PP_BOOL_841 1 -# define BOOST_PP_BOOL_842 1 -# define BOOST_PP_BOOL_843 1 -# define BOOST_PP_BOOL_844 1 -# define BOOST_PP_BOOL_845 1 -# define BOOST_PP_BOOL_846 1 -# define BOOST_PP_BOOL_847 1 -# define BOOST_PP_BOOL_848 1 -# define BOOST_PP_BOOL_849 1 -# define BOOST_PP_BOOL_850 1 -# define BOOST_PP_BOOL_851 1 -# define BOOST_PP_BOOL_852 1 -# define BOOST_PP_BOOL_853 1 -# define BOOST_PP_BOOL_854 1 -# define BOOST_PP_BOOL_855 1 -# define BOOST_PP_BOOL_856 1 -# define BOOST_PP_BOOL_857 1 -# define BOOST_PP_BOOL_858 1 -# define BOOST_PP_BOOL_859 1 -# define BOOST_PP_BOOL_860 1 -# define BOOST_PP_BOOL_861 1 -# define BOOST_PP_BOOL_862 1 -# define BOOST_PP_BOOL_863 1 -# define BOOST_PP_BOOL_864 1 -# define BOOST_PP_BOOL_865 1 -# define BOOST_PP_BOOL_866 1 -# define BOOST_PP_BOOL_867 1 -# define BOOST_PP_BOOL_868 1 -# define BOOST_PP_BOOL_869 1 -# define BOOST_PP_BOOL_870 1 -# define BOOST_PP_BOOL_871 1 -# define BOOST_PP_BOOL_872 1 -# define BOOST_PP_BOOL_873 1 -# define BOOST_PP_BOOL_874 1 -# define BOOST_PP_BOOL_875 1 -# define BOOST_PP_BOOL_876 1 -# define BOOST_PP_BOOL_877 1 -# define BOOST_PP_BOOL_878 1 -# define BOOST_PP_BOOL_879 1 -# define BOOST_PP_BOOL_880 1 -# define BOOST_PP_BOOL_881 1 -# define BOOST_PP_BOOL_882 1 -# define BOOST_PP_BOOL_883 1 -# define BOOST_PP_BOOL_884 1 -# define BOOST_PP_BOOL_885 1 -# define BOOST_PP_BOOL_886 1 -# define BOOST_PP_BOOL_887 1 -# define BOOST_PP_BOOL_888 1 -# define BOOST_PP_BOOL_889 1 -# define BOOST_PP_BOOL_890 1 -# define BOOST_PP_BOOL_891 1 -# define BOOST_PP_BOOL_892 1 -# define BOOST_PP_BOOL_893 1 -# define BOOST_PP_BOOL_894 1 -# define BOOST_PP_BOOL_895 1 -# define BOOST_PP_BOOL_896 1 -# define BOOST_PP_BOOL_897 1 -# define BOOST_PP_BOOL_898 1 -# define BOOST_PP_BOOL_899 1 -# define BOOST_PP_BOOL_900 1 -# define BOOST_PP_BOOL_901 1 -# define BOOST_PP_BOOL_902 1 -# define BOOST_PP_BOOL_903 1 -# define BOOST_PP_BOOL_904 1 -# define BOOST_PP_BOOL_905 1 -# define BOOST_PP_BOOL_906 1 -# define BOOST_PP_BOOL_907 1 -# define BOOST_PP_BOOL_908 1 -# define BOOST_PP_BOOL_909 1 -# define BOOST_PP_BOOL_910 1 -# define BOOST_PP_BOOL_911 1 -# define BOOST_PP_BOOL_912 1 -# define BOOST_PP_BOOL_913 1 -# define BOOST_PP_BOOL_914 1 -# define BOOST_PP_BOOL_915 1 -# define BOOST_PP_BOOL_916 1 -# define BOOST_PP_BOOL_917 1 -# define BOOST_PP_BOOL_918 1 -# define BOOST_PP_BOOL_919 1 -# define BOOST_PP_BOOL_920 1 -# define BOOST_PP_BOOL_921 1 -# define BOOST_PP_BOOL_922 1 -# define BOOST_PP_BOOL_923 1 -# define BOOST_PP_BOOL_924 1 -# define BOOST_PP_BOOL_925 1 -# define BOOST_PP_BOOL_926 1 -# define BOOST_PP_BOOL_927 1 -# define BOOST_PP_BOOL_928 1 -# define BOOST_PP_BOOL_929 1 -# define BOOST_PP_BOOL_930 1 -# define BOOST_PP_BOOL_931 1 -# define BOOST_PP_BOOL_932 1 -# define BOOST_PP_BOOL_933 1 -# define BOOST_PP_BOOL_934 1 -# define BOOST_PP_BOOL_935 1 -# define BOOST_PP_BOOL_936 1 -# define BOOST_PP_BOOL_937 1 -# define BOOST_PP_BOOL_938 1 -# define BOOST_PP_BOOL_939 1 -# define BOOST_PP_BOOL_940 1 -# define BOOST_PP_BOOL_941 1 -# define BOOST_PP_BOOL_942 1 -# define BOOST_PP_BOOL_943 1 -# define BOOST_PP_BOOL_944 1 -# define BOOST_PP_BOOL_945 1 -# define BOOST_PP_BOOL_946 1 -# define BOOST_PP_BOOL_947 1 -# define BOOST_PP_BOOL_948 1 -# define BOOST_PP_BOOL_949 1 -# define BOOST_PP_BOOL_950 1 -# define BOOST_PP_BOOL_951 1 -# define BOOST_PP_BOOL_952 1 -# define BOOST_PP_BOOL_953 1 -# define BOOST_PP_BOOL_954 1 -# define BOOST_PP_BOOL_955 1 -# define BOOST_PP_BOOL_956 1 -# define BOOST_PP_BOOL_957 1 -# define BOOST_PP_BOOL_958 1 -# define BOOST_PP_BOOL_959 1 -# define BOOST_PP_BOOL_960 1 -# define BOOST_PP_BOOL_961 1 -# define BOOST_PP_BOOL_962 1 -# define BOOST_PP_BOOL_963 1 -# define BOOST_PP_BOOL_964 1 -# define BOOST_PP_BOOL_965 1 -# define BOOST_PP_BOOL_966 1 -# define BOOST_PP_BOOL_967 1 -# define BOOST_PP_BOOL_968 1 -# define BOOST_PP_BOOL_969 1 -# define BOOST_PP_BOOL_970 1 -# define BOOST_PP_BOOL_971 1 -# define BOOST_PP_BOOL_972 1 -# define BOOST_PP_BOOL_973 1 -# define BOOST_PP_BOOL_974 1 -# define BOOST_PP_BOOL_975 1 -# define BOOST_PP_BOOL_976 1 -# define BOOST_PP_BOOL_977 1 -# define BOOST_PP_BOOL_978 1 -# define BOOST_PP_BOOL_979 1 -# define BOOST_PP_BOOL_980 1 -# define BOOST_PP_BOOL_981 1 -# define BOOST_PP_BOOL_982 1 -# define BOOST_PP_BOOL_983 1 -# define BOOST_PP_BOOL_984 1 -# define BOOST_PP_BOOL_985 1 -# define BOOST_PP_BOOL_986 1 -# define BOOST_PP_BOOL_987 1 -# define BOOST_PP_BOOL_988 1 -# define BOOST_PP_BOOL_989 1 -# define BOOST_PP_BOOL_990 1 -# define BOOST_PP_BOOL_991 1 -# define BOOST_PP_BOOL_992 1 -# define BOOST_PP_BOOL_993 1 -# define BOOST_PP_BOOL_994 1 -# define BOOST_PP_BOOL_995 1 -# define BOOST_PP_BOOL_996 1 -# define BOOST_PP_BOOL_997 1 -# define BOOST_PP_BOOL_998 1 -# define BOOST_PP_BOOL_999 1 -# define BOOST_PP_BOOL_1000 1 -# define BOOST_PP_BOOL_1001 1 -# define BOOST_PP_BOOL_1002 1 -# define BOOST_PP_BOOL_1003 1 -# define BOOST_PP_BOOL_1004 1 -# define BOOST_PP_BOOL_1005 1 -# define BOOST_PP_BOOL_1006 1 -# define BOOST_PP_BOOL_1007 1 -# define BOOST_PP_BOOL_1008 1 -# define BOOST_PP_BOOL_1009 1 -# define BOOST_PP_BOOL_1010 1 -# define BOOST_PP_BOOL_1011 1 -# define BOOST_PP_BOOL_1012 1 -# define BOOST_PP_BOOL_1013 1 -# define BOOST_PP_BOOL_1014 1 -# define BOOST_PP_BOOL_1015 1 -# define BOOST_PP_BOOL_1016 1 -# define BOOST_PP_BOOL_1017 1 -# define BOOST_PP_BOOL_1018 1 -# define BOOST_PP_BOOL_1019 1 -# define BOOST_PP_BOOL_1020 1 -# define BOOST_PP_BOOL_1021 1 -# define BOOST_PP_BOOL_1022 1 -# define BOOST_PP_BOOL_1023 1 -# define BOOST_PP_BOOL_1024 1 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_1024_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BOOL_1024_HPP +# +# define BOOST_PP_BOOL_513 1 +# define BOOST_PP_BOOL_514 1 +# define BOOST_PP_BOOL_515 1 +# define BOOST_PP_BOOL_516 1 +# define BOOST_PP_BOOL_517 1 +# define BOOST_PP_BOOL_518 1 +# define BOOST_PP_BOOL_519 1 +# define BOOST_PP_BOOL_520 1 +# define BOOST_PP_BOOL_521 1 +# define BOOST_PP_BOOL_522 1 +# define BOOST_PP_BOOL_523 1 +# define BOOST_PP_BOOL_524 1 +# define BOOST_PP_BOOL_525 1 +# define BOOST_PP_BOOL_526 1 +# define BOOST_PP_BOOL_527 1 +# define BOOST_PP_BOOL_528 1 +# define BOOST_PP_BOOL_529 1 +# define BOOST_PP_BOOL_530 1 +# define BOOST_PP_BOOL_531 1 +# define BOOST_PP_BOOL_532 1 +# define BOOST_PP_BOOL_533 1 +# define BOOST_PP_BOOL_534 1 +# define BOOST_PP_BOOL_535 1 +# define BOOST_PP_BOOL_536 1 +# define BOOST_PP_BOOL_537 1 +# define BOOST_PP_BOOL_538 1 +# define BOOST_PP_BOOL_539 1 +# define BOOST_PP_BOOL_540 1 +# define BOOST_PP_BOOL_541 1 +# define BOOST_PP_BOOL_542 1 +# define BOOST_PP_BOOL_543 1 +# define BOOST_PP_BOOL_544 1 +# define BOOST_PP_BOOL_545 1 +# define BOOST_PP_BOOL_546 1 +# define BOOST_PP_BOOL_547 1 +# define BOOST_PP_BOOL_548 1 +# define BOOST_PP_BOOL_549 1 +# define BOOST_PP_BOOL_550 1 +# define BOOST_PP_BOOL_551 1 +# define BOOST_PP_BOOL_552 1 +# define BOOST_PP_BOOL_553 1 +# define BOOST_PP_BOOL_554 1 +# define BOOST_PP_BOOL_555 1 +# define BOOST_PP_BOOL_556 1 +# define BOOST_PP_BOOL_557 1 +# define BOOST_PP_BOOL_558 1 +# define BOOST_PP_BOOL_559 1 +# define BOOST_PP_BOOL_560 1 +# define BOOST_PP_BOOL_561 1 +# define BOOST_PP_BOOL_562 1 +# define BOOST_PP_BOOL_563 1 +# define BOOST_PP_BOOL_564 1 +# define BOOST_PP_BOOL_565 1 +# define BOOST_PP_BOOL_566 1 +# define BOOST_PP_BOOL_567 1 +# define BOOST_PP_BOOL_568 1 +# define BOOST_PP_BOOL_569 1 +# define BOOST_PP_BOOL_570 1 +# define BOOST_PP_BOOL_571 1 +# define BOOST_PP_BOOL_572 1 +# define BOOST_PP_BOOL_573 1 +# define BOOST_PP_BOOL_574 1 +# define BOOST_PP_BOOL_575 1 +# define BOOST_PP_BOOL_576 1 +# define BOOST_PP_BOOL_577 1 +# define BOOST_PP_BOOL_578 1 +# define BOOST_PP_BOOL_579 1 +# define BOOST_PP_BOOL_580 1 +# define BOOST_PP_BOOL_581 1 +# define BOOST_PP_BOOL_582 1 +# define BOOST_PP_BOOL_583 1 +# define BOOST_PP_BOOL_584 1 +# define BOOST_PP_BOOL_585 1 +# define BOOST_PP_BOOL_586 1 +# define BOOST_PP_BOOL_587 1 +# define BOOST_PP_BOOL_588 1 +# define BOOST_PP_BOOL_589 1 +# define BOOST_PP_BOOL_590 1 +# define BOOST_PP_BOOL_591 1 +# define BOOST_PP_BOOL_592 1 +# define BOOST_PP_BOOL_593 1 +# define BOOST_PP_BOOL_594 1 +# define BOOST_PP_BOOL_595 1 +# define BOOST_PP_BOOL_596 1 +# define BOOST_PP_BOOL_597 1 +# define BOOST_PP_BOOL_598 1 +# define BOOST_PP_BOOL_599 1 +# define BOOST_PP_BOOL_600 1 +# define BOOST_PP_BOOL_601 1 +# define BOOST_PP_BOOL_602 1 +# define BOOST_PP_BOOL_603 1 +# define BOOST_PP_BOOL_604 1 +# define BOOST_PP_BOOL_605 1 +# define BOOST_PP_BOOL_606 1 +# define BOOST_PP_BOOL_607 1 +# define BOOST_PP_BOOL_608 1 +# define BOOST_PP_BOOL_609 1 +# define BOOST_PP_BOOL_610 1 +# define BOOST_PP_BOOL_611 1 +# define BOOST_PP_BOOL_612 1 +# define BOOST_PP_BOOL_613 1 +# define BOOST_PP_BOOL_614 1 +# define BOOST_PP_BOOL_615 1 +# define BOOST_PP_BOOL_616 1 +# define BOOST_PP_BOOL_617 1 +# define BOOST_PP_BOOL_618 1 +# define BOOST_PP_BOOL_619 1 +# define BOOST_PP_BOOL_620 1 +# define BOOST_PP_BOOL_621 1 +# define BOOST_PP_BOOL_622 1 +# define BOOST_PP_BOOL_623 1 +# define BOOST_PP_BOOL_624 1 +# define BOOST_PP_BOOL_625 1 +# define BOOST_PP_BOOL_626 1 +# define BOOST_PP_BOOL_627 1 +# define BOOST_PP_BOOL_628 1 +# define BOOST_PP_BOOL_629 1 +# define BOOST_PP_BOOL_630 1 +# define BOOST_PP_BOOL_631 1 +# define BOOST_PP_BOOL_632 1 +# define BOOST_PP_BOOL_633 1 +# define BOOST_PP_BOOL_634 1 +# define BOOST_PP_BOOL_635 1 +# define BOOST_PP_BOOL_636 1 +# define BOOST_PP_BOOL_637 1 +# define BOOST_PP_BOOL_638 1 +# define BOOST_PP_BOOL_639 1 +# define BOOST_PP_BOOL_640 1 +# define BOOST_PP_BOOL_641 1 +# define BOOST_PP_BOOL_642 1 +# define BOOST_PP_BOOL_643 1 +# define BOOST_PP_BOOL_644 1 +# define BOOST_PP_BOOL_645 1 +# define BOOST_PP_BOOL_646 1 +# define BOOST_PP_BOOL_647 1 +# define BOOST_PP_BOOL_648 1 +# define BOOST_PP_BOOL_649 1 +# define BOOST_PP_BOOL_650 1 +# define BOOST_PP_BOOL_651 1 +# define BOOST_PP_BOOL_652 1 +# define BOOST_PP_BOOL_653 1 +# define BOOST_PP_BOOL_654 1 +# define BOOST_PP_BOOL_655 1 +# define BOOST_PP_BOOL_656 1 +# define BOOST_PP_BOOL_657 1 +# define BOOST_PP_BOOL_658 1 +# define BOOST_PP_BOOL_659 1 +# define BOOST_PP_BOOL_660 1 +# define BOOST_PP_BOOL_661 1 +# define BOOST_PP_BOOL_662 1 +# define BOOST_PP_BOOL_663 1 +# define BOOST_PP_BOOL_664 1 +# define BOOST_PP_BOOL_665 1 +# define BOOST_PP_BOOL_666 1 +# define BOOST_PP_BOOL_667 1 +# define BOOST_PP_BOOL_668 1 +# define BOOST_PP_BOOL_669 1 +# define BOOST_PP_BOOL_670 1 +# define BOOST_PP_BOOL_671 1 +# define BOOST_PP_BOOL_672 1 +# define BOOST_PP_BOOL_673 1 +# define BOOST_PP_BOOL_674 1 +# define BOOST_PP_BOOL_675 1 +# define BOOST_PP_BOOL_676 1 +# define BOOST_PP_BOOL_677 1 +# define BOOST_PP_BOOL_678 1 +# define BOOST_PP_BOOL_679 1 +# define BOOST_PP_BOOL_680 1 +# define BOOST_PP_BOOL_681 1 +# define BOOST_PP_BOOL_682 1 +# define BOOST_PP_BOOL_683 1 +# define BOOST_PP_BOOL_684 1 +# define BOOST_PP_BOOL_685 1 +# define BOOST_PP_BOOL_686 1 +# define BOOST_PP_BOOL_687 1 +# define BOOST_PP_BOOL_688 1 +# define BOOST_PP_BOOL_689 1 +# define BOOST_PP_BOOL_690 1 +# define BOOST_PP_BOOL_691 1 +# define BOOST_PP_BOOL_692 1 +# define BOOST_PP_BOOL_693 1 +# define BOOST_PP_BOOL_694 1 +# define BOOST_PP_BOOL_695 1 +# define BOOST_PP_BOOL_696 1 +# define BOOST_PP_BOOL_697 1 +# define BOOST_PP_BOOL_698 1 +# define BOOST_PP_BOOL_699 1 +# define BOOST_PP_BOOL_700 1 +# define BOOST_PP_BOOL_701 1 +# define BOOST_PP_BOOL_702 1 +# define BOOST_PP_BOOL_703 1 +# define BOOST_PP_BOOL_704 1 +# define BOOST_PP_BOOL_705 1 +# define BOOST_PP_BOOL_706 1 +# define BOOST_PP_BOOL_707 1 +# define BOOST_PP_BOOL_708 1 +# define BOOST_PP_BOOL_709 1 +# define BOOST_PP_BOOL_710 1 +# define BOOST_PP_BOOL_711 1 +# define BOOST_PP_BOOL_712 1 +# define BOOST_PP_BOOL_713 1 +# define BOOST_PP_BOOL_714 1 +# define BOOST_PP_BOOL_715 1 +# define BOOST_PP_BOOL_716 1 +# define BOOST_PP_BOOL_717 1 +# define BOOST_PP_BOOL_718 1 +# define BOOST_PP_BOOL_719 1 +# define BOOST_PP_BOOL_720 1 +# define BOOST_PP_BOOL_721 1 +# define BOOST_PP_BOOL_722 1 +# define BOOST_PP_BOOL_723 1 +# define BOOST_PP_BOOL_724 1 +# define BOOST_PP_BOOL_725 1 +# define BOOST_PP_BOOL_726 1 +# define BOOST_PP_BOOL_727 1 +# define BOOST_PP_BOOL_728 1 +# define BOOST_PP_BOOL_729 1 +# define BOOST_PP_BOOL_730 1 +# define BOOST_PP_BOOL_731 1 +# define BOOST_PP_BOOL_732 1 +# define BOOST_PP_BOOL_733 1 +# define BOOST_PP_BOOL_734 1 +# define BOOST_PP_BOOL_735 1 +# define BOOST_PP_BOOL_736 1 +# define BOOST_PP_BOOL_737 1 +# define BOOST_PP_BOOL_738 1 +# define BOOST_PP_BOOL_739 1 +# define BOOST_PP_BOOL_740 1 +# define BOOST_PP_BOOL_741 1 +# define BOOST_PP_BOOL_742 1 +# define BOOST_PP_BOOL_743 1 +# define BOOST_PP_BOOL_744 1 +# define BOOST_PP_BOOL_745 1 +# define BOOST_PP_BOOL_746 1 +# define BOOST_PP_BOOL_747 1 +# define BOOST_PP_BOOL_748 1 +# define BOOST_PP_BOOL_749 1 +# define BOOST_PP_BOOL_750 1 +# define BOOST_PP_BOOL_751 1 +# define BOOST_PP_BOOL_752 1 +# define BOOST_PP_BOOL_753 1 +# define BOOST_PP_BOOL_754 1 +# define BOOST_PP_BOOL_755 1 +# define BOOST_PP_BOOL_756 1 +# define BOOST_PP_BOOL_757 1 +# define BOOST_PP_BOOL_758 1 +# define BOOST_PP_BOOL_759 1 +# define BOOST_PP_BOOL_760 1 +# define BOOST_PP_BOOL_761 1 +# define BOOST_PP_BOOL_762 1 +# define BOOST_PP_BOOL_763 1 +# define BOOST_PP_BOOL_764 1 +# define BOOST_PP_BOOL_765 1 +# define BOOST_PP_BOOL_766 1 +# define BOOST_PP_BOOL_767 1 +# define BOOST_PP_BOOL_768 1 +# define BOOST_PP_BOOL_769 1 +# define BOOST_PP_BOOL_770 1 +# define BOOST_PP_BOOL_771 1 +# define BOOST_PP_BOOL_772 1 +# define BOOST_PP_BOOL_773 1 +# define BOOST_PP_BOOL_774 1 +# define BOOST_PP_BOOL_775 1 +# define BOOST_PP_BOOL_776 1 +# define BOOST_PP_BOOL_777 1 +# define BOOST_PP_BOOL_778 1 +# define BOOST_PP_BOOL_779 1 +# define BOOST_PP_BOOL_780 1 +# define BOOST_PP_BOOL_781 1 +# define BOOST_PP_BOOL_782 1 +# define BOOST_PP_BOOL_783 1 +# define BOOST_PP_BOOL_784 1 +# define BOOST_PP_BOOL_785 1 +# define BOOST_PP_BOOL_786 1 +# define BOOST_PP_BOOL_787 1 +# define BOOST_PP_BOOL_788 1 +# define BOOST_PP_BOOL_789 1 +# define BOOST_PP_BOOL_790 1 +# define BOOST_PP_BOOL_791 1 +# define BOOST_PP_BOOL_792 1 +# define BOOST_PP_BOOL_793 1 +# define BOOST_PP_BOOL_794 1 +# define BOOST_PP_BOOL_795 1 +# define BOOST_PP_BOOL_796 1 +# define BOOST_PP_BOOL_797 1 +# define BOOST_PP_BOOL_798 1 +# define BOOST_PP_BOOL_799 1 +# define BOOST_PP_BOOL_800 1 +# define BOOST_PP_BOOL_801 1 +# define BOOST_PP_BOOL_802 1 +# define BOOST_PP_BOOL_803 1 +# define BOOST_PP_BOOL_804 1 +# define BOOST_PP_BOOL_805 1 +# define BOOST_PP_BOOL_806 1 +# define BOOST_PP_BOOL_807 1 +# define BOOST_PP_BOOL_808 1 +# define BOOST_PP_BOOL_809 1 +# define BOOST_PP_BOOL_810 1 +# define BOOST_PP_BOOL_811 1 +# define BOOST_PP_BOOL_812 1 +# define BOOST_PP_BOOL_813 1 +# define BOOST_PP_BOOL_814 1 +# define BOOST_PP_BOOL_815 1 +# define BOOST_PP_BOOL_816 1 +# define BOOST_PP_BOOL_817 1 +# define BOOST_PP_BOOL_818 1 +# define BOOST_PP_BOOL_819 1 +# define BOOST_PP_BOOL_820 1 +# define BOOST_PP_BOOL_821 1 +# define BOOST_PP_BOOL_822 1 +# define BOOST_PP_BOOL_823 1 +# define BOOST_PP_BOOL_824 1 +# define BOOST_PP_BOOL_825 1 +# define BOOST_PP_BOOL_826 1 +# define BOOST_PP_BOOL_827 1 +# define BOOST_PP_BOOL_828 1 +# define BOOST_PP_BOOL_829 1 +# define BOOST_PP_BOOL_830 1 +# define BOOST_PP_BOOL_831 1 +# define BOOST_PP_BOOL_832 1 +# define BOOST_PP_BOOL_833 1 +# define BOOST_PP_BOOL_834 1 +# define BOOST_PP_BOOL_835 1 +# define BOOST_PP_BOOL_836 1 +# define BOOST_PP_BOOL_837 1 +# define BOOST_PP_BOOL_838 1 +# define BOOST_PP_BOOL_839 1 +# define BOOST_PP_BOOL_840 1 +# define BOOST_PP_BOOL_841 1 +# define BOOST_PP_BOOL_842 1 +# define BOOST_PP_BOOL_843 1 +# define BOOST_PP_BOOL_844 1 +# define BOOST_PP_BOOL_845 1 +# define BOOST_PP_BOOL_846 1 +# define BOOST_PP_BOOL_847 1 +# define BOOST_PP_BOOL_848 1 +# define BOOST_PP_BOOL_849 1 +# define BOOST_PP_BOOL_850 1 +# define BOOST_PP_BOOL_851 1 +# define BOOST_PP_BOOL_852 1 +# define BOOST_PP_BOOL_853 1 +# define BOOST_PP_BOOL_854 1 +# define BOOST_PP_BOOL_855 1 +# define BOOST_PP_BOOL_856 1 +# define BOOST_PP_BOOL_857 1 +# define BOOST_PP_BOOL_858 1 +# define BOOST_PP_BOOL_859 1 +# define BOOST_PP_BOOL_860 1 +# define BOOST_PP_BOOL_861 1 +# define BOOST_PP_BOOL_862 1 +# define BOOST_PP_BOOL_863 1 +# define BOOST_PP_BOOL_864 1 +# define BOOST_PP_BOOL_865 1 +# define BOOST_PP_BOOL_866 1 +# define BOOST_PP_BOOL_867 1 +# define BOOST_PP_BOOL_868 1 +# define BOOST_PP_BOOL_869 1 +# define BOOST_PP_BOOL_870 1 +# define BOOST_PP_BOOL_871 1 +# define BOOST_PP_BOOL_872 1 +# define BOOST_PP_BOOL_873 1 +# define BOOST_PP_BOOL_874 1 +# define BOOST_PP_BOOL_875 1 +# define BOOST_PP_BOOL_876 1 +# define BOOST_PP_BOOL_877 1 +# define BOOST_PP_BOOL_878 1 +# define BOOST_PP_BOOL_879 1 +# define BOOST_PP_BOOL_880 1 +# define BOOST_PP_BOOL_881 1 +# define BOOST_PP_BOOL_882 1 +# define BOOST_PP_BOOL_883 1 +# define BOOST_PP_BOOL_884 1 +# define BOOST_PP_BOOL_885 1 +# define BOOST_PP_BOOL_886 1 +# define BOOST_PP_BOOL_887 1 +# define BOOST_PP_BOOL_888 1 +# define BOOST_PP_BOOL_889 1 +# define BOOST_PP_BOOL_890 1 +# define BOOST_PP_BOOL_891 1 +# define BOOST_PP_BOOL_892 1 +# define BOOST_PP_BOOL_893 1 +# define BOOST_PP_BOOL_894 1 +# define BOOST_PP_BOOL_895 1 +# define BOOST_PP_BOOL_896 1 +# define BOOST_PP_BOOL_897 1 +# define BOOST_PP_BOOL_898 1 +# define BOOST_PP_BOOL_899 1 +# define BOOST_PP_BOOL_900 1 +# define BOOST_PP_BOOL_901 1 +# define BOOST_PP_BOOL_902 1 +# define BOOST_PP_BOOL_903 1 +# define BOOST_PP_BOOL_904 1 +# define BOOST_PP_BOOL_905 1 +# define BOOST_PP_BOOL_906 1 +# define BOOST_PP_BOOL_907 1 +# define BOOST_PP_BOOL_908 1 +# define BOOST_PP_BOOL_909 1 +# define BOOST_PP_BOOL_910 1 +# define BOOST_PP_BOOL_911 1 +# define BOOST_PP_BOOL_912 1 +# define BOOST_PP_BOOL_913 1 +# define BOOST_PP_BOOL_914 1 +# define BOOST_PP_BOOL_915 1 +# define BOOST_PP_BOOL_916 1 +# define BOOST_PP_BOOL_917 1 +# define BOOST_PP_BOOL_918 1 +# define BOOST_PP_BOOL_919 1 +# define BOOST_PP_BOOL_920 1 +# define BOOST_PP_BOOL_921 1 +# define BOOST_PP_BOOL_922 1 +# define BOOST_PP_BOOL_923 1 +# define BOOST_PP_BOOL_924 1 +# define BOOST_PP_BOOL_925 1 +# define BOOST_PP_BOOL_926 1 +# define BOOST_PP_BOOL_927 1 +# define BOOST_PP_BOOL_928 1 +# define BOOST_PP_BOOL_929 1 +# define BOOST_PP_BOOL_930 1 +# define BOOST_PP_BOOL_931 1 +# define BOOST_PP_BOOL_932 1 +# define BOOST_PP_BOOL_933 1 +# define BOOST_PP_BOOL_934 1 +# define BOOST_PP_BOOL_935 1 +# define BOOST_PP_BOOL_936 1 +# define BOOST_PP_BOOL_937 1 +# define BOOST_PP_BOOL_938 1 +# define BOOST_PP_BOOL_939 1 +# define BOOST_PP_BOOL_940 1 +# define BOOST_PP_BOOL_941 1 +# define BOOST_PP_BOOL_942 1 +# define BOOST_PP_BOOL_943 1 +# define BOOST_PP_BOOL_944 1 +# define BOOST_PP_BOOL_945 1 +# define BOOST_PP_BOOL_946 1 +# define BOOST_PP_BOOL_947 1 +# define BOOST_PP_BOOL_948 1 +# define BOOST_PP_BOOL_949 1 +# define BOOST_PP_BOOL_950 1 +# define BOOST_PP_BOOL_951 1 +# define BOOST_PP_BOOL_952 1 +# define BOOST_PP_BOOL_953 1 +# define BOOST_PP_BOOL_954 1 +# define BOOST_PP_BOOL_955 1 +# define BOOST_PP_BOOL_956 1 +# define BOOST_PP_BOOL_957 1 +# define BOOST_PP_BOOL_958 1 +# define BOOST_PP_BOOL_959 1 +# define BOOST_PP_BOOL_960 1 +# define BOOST_PP_BOOL_961 1 +# define BOOST_PP_BOOL_962 1 +# define BOOST_PP_BOOL_963 1 +# define BOOST_PP_BOOL_964 1 +# define BOOST_PP_BOOL_965 1 +# define BOOST_PP_BOOL_966 1 +# define BOOST_PP_BOOL_967 1 +# define BOOST_PP_BOOL_968 1 +# define BOOST_PP_BOOL_969 1 +# define BOOST_PP_BOOL_970 1 +# define BOOST_PP_BOOL_971 1 +# define BOOST_PP_BOOL_972 1 +# define BOOST_PP_BOOL_973 1 +# define BOOST_PP_BOOL_974 1 +# define BOOST_PP_BOOL_975 1 +# define BOOST_PP_BOOL_976 1 +# define BOOST_PP_BOOL_977 1 +# define BOOST_PP_BOOL_978 1 +# define BOOST_PP_BOOL_979 1 +# define BOOST_PP_BOOL_980 1 +# define BOOST_PP_BOOL_981 1 +# define BOOST_PP_BOOL_982 1 +# define BOOST_PP_BOOL_983 1 +# define BOOST_PP_BOOL_984 1 +# define BOOST_PP_BOOL_985 1 +# define BOOST_PP_BOOL_986 1 +# define BOOST_PP_BOOL_987 1 +# define BOOST_PP_BOOL_988 1 +# define BOOST_PP_BOOL_989 1 +# define BOOST_PP_BOOL_990 1 +# define BOOST_PP_BOOL_991 1 +# define BOOST_PP_BOOL_992 1 +# define BOOST_PP_BOOL_993 1 +# define BOOST_PP_BOOL_994 1 +# define BOOST_PP_BOOL_995 1 +# define BOOST_PP_BOOL_996 1 +# define BOOST_PP_BOOL_997 1 +# define BOOST_PP_BOOL_998 1 +# define BOOST_PP_BOOL_999 1 +# define BOOST_PP_BOOL_1000 1 +# define BOOST_PP_BOOL_1001 1 +# define BOOST_PP_BOOL_1002 1 +# define BOOST_PP_BOOL_1003 1 +# define BOOST_PP_BOOL_1004 1 +# define BOOST_PP_BOOL_1005 1 +# define BOOST_PP_BOOL_1006 1 +# define BOOST_PP_BOOL_1007 1 +# define BOOST_PP_BOOL_1008 1 +# define BOOST_PP_BOOL_1009 1 +# define BOOST_PP_BOOL_1010 1 +# define BOOST_PP_BOOL_1011 1 +# define BOOST_PP_BOOL_1012 1 +# define BOOST_PP_BOOL_1013 1 +# define BOOST_PP_BOOL_1014 1 +# define BOOST_PP_BOOL_1015 1 +# define BOOST_PP_BOOL_1016 1 +# define BOOST_PP_BOOL_1017 1 +# define BOOST_PP_BOOL_1018 1 +# define BOOST_PP_BOOL_1019 1 +# define BOOST_PP_BOOL_1020 1 +# define BOOST_PP_BOOL_1021 1 +# define BOOST_PP_BOOL_1022 1 +# define BOOST_PP_BOOL_1023 1 +# define BOOST_PP_BOOL_1024 1 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/limits/bool_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_256.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/logical/limits/bool_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_256.hpp index 95445d4acf..dd2f30a5a6 100644 --- a/external/include/boost_1_75/boost/preprocessor/logical/limits/bool_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_256.hpp @@ -1,275 +1,275 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_256_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BOOL_256_HPP -# -# define BOOST_PP_BOOL_0 0 -# define BOOST_PP_BOOL_1 1 -# define BOOST_PP_BOOL_2 1 -# define BOOST_PP_BOOL_3 1 -# define BOOST_PP_BOOL_4 1 -# define BOOST_PP_BOOL_5 1 -# define BOOST_PP_BOOL_6 1 -# define BOOST_PP_BOOL_7 1 -# define BOOST_PP_BOOL_8 1 -# define BOOST_PP_BOOL_9 1 -# define BOOST_PP_BOOL_10 1 -# define BOOST_PP_BOOL_11 1 -# define BOOST_PP_BOOL_12 1 -# define BOOST_PP_BOOL_13 1 -# define BOOST_PP_BOOL_14 1 -# define BOOST_PP_BOOL_15 1 -# define BOOST_PP_BOOL_16 1 -# define BOOST_PP_BOOL_17 1 -# define BOOST_PP_BOOL_18 1 -# define BOOST_PP_BOOL_19 1 -# define BOOST_PP_BOOL_20 1 -# define BOOST_PP_BOOL_21 1 -# define BOOST_PP_BOOL_22 1 -# define BOOST_PP_BOOL_23 1 -# define BOOST_PP_BOOL_24 1 -# define BOOST_PP_BOOL_25 1 -# define BOOST_PP_BOOL_26 1 -# define BOOST_PP_BOOL_27 1 -# define BOOST_PP_BOOL_28 1 -# define BOOST_PP_BOOL_29 1 -# define BOOST_PP_BOOL_30 1 -# define BOOST_PP_BOOL_31 1 -# define BOOST_PP_BOOL_32 1 -# define BOOST_PP_BOOL_33 1 -# define BOOST_PP_BOOL_34 1 -# define BOOST_PP_BOOL_35 1 -# define BOOST_PP_BOOL_36 1 -# define BOOST_PP_BOOL_37 1 -# define BOOST_PP_BOOL_38 1 -# define BOOST_PP_BOOL_39 1 -# define BOOST_PP_BOOL_40 1 -# define BOOST_PP_BOOL_41 1 -# define BOOST_PP_BOOL_42 1 -# define BOOST_PP_BOOL_43 1 -# define BOOST_PP_BOOL_44 1 -# define BOOST_PP_BOOL_45 1 -# define BOOST_PP_BOOL_46 1 -# define BOOST_PP_BOOL_47 1 -# define BOOST_PP_BOOL_48 1 -# define BOOST_PP_BOOL_49 1 -# define BOOST_PP_BOOL_50 1 -# define BOOST_PP_BOOL_51 1 -# define BOOST_PP_BOOL_52 1 -# define BOOST_PP_BOOL_53 1 -# define BOOST_PP_BOOL_54 1 -# define BOOST_PP_BOOL_55 1 -# define BOOST_PP_BOOL_56 1 -# define BOOST_PP_BOOL_57 1 -# define BOOST_PP_BOOL_58 1 -# define BOOST_PP_BOOL_59 1 -# define BOOST_PP_BOOL_60 1 -# define BOOST_PP_BOOL_61 1 -# define BOOST_PP_BOOL_62 1 -# define BOOST_PP_BOOL_63 1 -# define BOOST_PP_BOOL_64 1 -# define BOOST_PP_BOOL_65 1 -# define BOOST_PP_BOOL_66 1 -# define BOOST_PP_BOOL_67 1 -# define BOOST_PP_BOOL_68 1 -# define BOOST_PP_BOOL_69 1 -# define BOOST_PP_BOOL_70 1 -# define BOOST_PP_BOOL_71 1 -# define BOOST_PP_BOOL_72 1 -# define BOOST_PP_BOOL_73 1 -# define BOOST_PP_BOOL_74 1 -# define BOOST_PP_BOOL_75 1 -# define BOOST_PP_BOOL_76 1 -# define BOOST_PP_BOOL_77 1 -# define BOOST_PP_BOOL_78 1 -# define BOOST_PP_BOOL_79 1 -# define BOOST_PP_BOOL_80 1 -# define BOOST_PP_BOOL_81 1 -# define BOOST_PP_BOOL_82 1 -# define BOOST_PP_BOOL_83 1 -# define BOOST_PP_BOOL_84 1 -# define BOOST_PP_BOOL_85 1 -# define BOOST_PP_BOOL_86 1 -# define BOOST_PP_BOOL_87 1 -# define BOOST_PP_BOOL_88 1 -# define BOOST_PP_BOOL_89 1 -# define BOOST_PP_BOOL_90 1 -# define BOOST_PP_BOOL_91 1 -# define BOOST_PP_BOOL_92 1 -# define BOOST_PP_BOOL_93 1 -# define BOOST_PP_BOOL_94 1 -# define BOOST_PP_BOOL_95 1 -# define BOOST_PP_BOOL_96 1 -# define BOOST_PP_BOOL_97 1 -# define BOOST_PP_BOOL_98 1 -# define BOOST_PP_BOOL_99 1 -# define BOOST_PP_BOOL_100 1 -# define BOOST_PP_BOOL_101 1 -# define BOOST_PP_BOOL_102 1 -# define BOOST_PP_BOOL_103 1 -# define BOOST_PP_BOOL_104 1 -# define BOOST_PP_BOOL_105 1 -# define BOOST_PP_BOOL_106 1 -# define BOOST_PP_BOOL_107 1 -# define BOOST_PP_BOOL_108 1 -# define BOOST_PP_BOOL_109 1 -# define BOOST_PP_BOOL_110 1 -# define BOOST_PP_BOOL_111 1 -# define BOOST_PP_BOOL_112 1 -# define BOOST_PP_BOOL_113 1 -# define BOOST_PP_BOOL_114 1 -# define BOOST_PP_BOOL_115 1 -# define BOOST_PP_BOOL_116 1 -# define BOOST_PP_BOOL_117 1 -# define BOOST_PP_BOOL_118 1 -# define BOOST_PP_BOOL_119 1 -# define BOOST_PP_BOOL_120 1 -# define BOOST_PP_BOOL_121 1 -# define BOOST_PP_BOOL_122 1 -# define BOOST_PP_BOOL_123 1 -# define BOOST_PP_BOOL_124 1 -# define BOOST_PP_BOOL_125 1 -# define BOOST_PP_BOOL_126 1 -# define BOOST_PP_BOOL_127 1 -# define BOOST_PP_BOOL_128 1 -# define BOOST_PP_BOOL_129 1 -# define BOOST_PP_BOOL_130 1 -# define BOOST_PP_BOOL_131 1 -# define BOOST_PP_BOOL_132 1 -# define BOOST_PP_BOOL_133 1 -# define BOOST_PP_BOOL_134 1 -# define BOOST_PP_BOOL_135 1 -# define BOOST_PP_BOOL_136 1 -# define BOOST_PP_BOOL_137 1 -# define BOOST_PP_BOOL_138 1 -# define BOOST_PP_BOOL_139 1 -# define BOOST_PP_BOOL_140 1 -# define BOOST_PP_BOOL_141 1 -# define BOOST_PP_BOOL_142 1 -# define BOOST_PP_BOOL_143 1 -# define BOOST_PP_BOOL_144 1 -# define BOOST_PP_BOOL_145 1 -# define BOOST_PP_BOOL_146 1 -# define BOOST_PP_BOOL_147 1 -# define BOOST_PP_BOOL_148 1 -# define BOOST_PP_BOOL_149 1 -# define BOOST_PP_BOOL_150 1 -# define BOOST_PP_BOOL_151 1 -# define BOOST_PP_BOOL_152 1 -# define BOOST_PP_BOOL_153 1 -# define BOOST_PP_BOOL_154 1 -# define BOOST_PP_BOOL_155 1 -# define BOOST_PP_BOOL_156 1 -# define BOOST_PP_BOOL_157 1 -# define BOOST_PP_BOOL_158 1 -# define BOOST_PP_BOOL_159 1 -# define BOOST_PP_BOOL_160 1 -# define BOOST_PP_BOOL_161 1 -# define BOOST_PP_BOOL_162 1 -# define BOOST_PP_BOOL_163 1 -# define BOOST_PP_BOOL_164 1 -# define BOOST_PP_BOOL_165 1 -# define BOOST_PP_BOOL_166 1 -# define BOOST_PP_BOOL_167 1 -# define BOOST_PP_BOOL_168 1 -# define BOOST_PP_BOOL_169 1 -# define BOOST_PP_BOOL_170 1 -# define BOOST_PP_BOOL_171 1 -# define BOOST_PP_BOOL_172 1 -# define BOOST_PP_BOOL_173 1 -# define BOOST_PP_BOOL_174 1 -# define BOOST_PP_BOOL_175 1 -# define BOOST_PP_BOOL_176 1 -# define BOOST_PP_BOOL_177 1 -# define BOOST_PP_BOOL_178 1 -# define BOOST_PP_BOOL_179 1 -# define BOOST_PP_BOOL_180 1 -# define BOOST_PP_BOOL_181 1 -# define BOOST_PP_BOOL_182 1 -# define BOOST_PP_BOOL_183 1 -# define BOOST_PP_BOOL_184 1 -# define BOOST_PP_BOOL_185 1 -# define BOOST_PP_BOOL_186 1 -# define BOOST_PP_BOOL_187 1 -# define BOOST_PP_BOOL_188 1 -# define BOOST_PP_BOOL_189 1 -# define BOOST_PP_BOOL_190 1 -# define BOOST_PP_BOOL_191 1 -# define BOOST_PP_BOOL_192 1 -# define BOOST_PP_BOOL_193 1 -# define BOOST_PP_BOOL_194 1 -# define BOOST_PP_BOOL_195 1 -# define BOOST_PP_BOOL_196 1 -# define BOOST_PP_BOOL_197 1 -# define BOOST_PP_BOOL_198 1 -# define BOOST_PP_BOOL_199 1 -# define BOOST_PP_BOOL_200 1 -# define BOOST_PP_BOOL_201 1 -# define BOOST_PP_BOOL_202 1 -# define BOOST_PP_BOOL_203 1 -# define BOOST_PP_BOOL_204 1 -# define BOOST_PP_BOOL_205 1 -# define BOOST_PP_BOOL_206 1 -# define BOOST_PP_BOOL_207 1 -# define BOOST_PP_BOOL_208 1 -# define BOOST_PP_BOOL_209 1 -# define BOOST_PP_BOOL_210 1 -# define BOOST_PP_BOOL_211 1 -# define BOOST_PP_BOOL_212 1 -# define BOOST_PP_BOOL_213 1 -# define BOOST_PP_BOOL_214 1 -# define BOOST_PP_BOOL_215 1 -# define BOOST_PP_BOOL_216 1 -# define BOOST_PP_BOOL_217 1 -# define BOOST_PP_BOOL_218 1 -# define BOOST_PP_BOOL_219 1 -# define BOOST_PP_BOOL_220 1 -# define BOOST_PP_BOOL_221 1 -# define BOOST_PP_BOOL_222 1 -# define BOOST_PP_BOOL_223 1 -# define BOOST_PP_BOOL_224 1 -# define BOOST_PP_BOOL_225 1 -# define BOOST_PP_BOOL_226 1 -# define BOOST_PP_BOOL_227 1 -# define BOOST_PP_BOOL_228 1 -# define BOOST_PP_BOOL_229 1 -# define BOOST_PP_BOOL_230 1 -# define BOOST_PP_BOOL_231 1 -# define BOOST_PP_BOOL_232 1 -# define BOOST_PP_BOOL_233 1 -# define BOOST_PP_BOOL_234 1 -# define BOOST_PP_BOOL_235 1 -# define BOOST_PP_BOOL_236 1 -# define BOOST_PP_BOOL_237 1 -# define BOOST_PP_BOOL_238 1 -# define BOOST_PP_BOOL_239 1 -# define BOOST_PP_BOOL_240 1 -# define BOOST_PP_BOOL_241 1 -# define BOOST_PP_BOOL_242 1 -# define BOOST_PP_BOOL_243 1 -# define BOOST_PP_BOOL_244 1 -# define BOOST_PP_BOOL_245 1 -# define BOOST_PP_BOOL_246 1 -# define BOOST_PP_BOOL_247 1 -# define BOOST_PP_BOOL_248 1 -# define BOOST_PP_BOOL_249 1 -# define BOOST_PP_BOOL_250 1 -# define BOOST_PP_BOOL_251 1 -# define BOOST_PP_BOOL_252 1 -# define BOOST_PP_BOOL_253 1 -# define BOOST_PP_BOOL_254 1 -# define BOOST_PP_BOOL_255 1 -# define BOOST_PP_BOOL_256 1 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_256_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BOOL_256_HPP +# +# define BOOST_PP_BOOL_0 0 +# define BOOST_PP_BOOL_1 1 +# define BOOST_PP_BOOL_2 1 +# define BOOST_PP_BOOL_3 1 +# define BOOST_PP_BOOL_4 1 +# define BOOST_PP_BOOL_5 1 +# define BOOST_PP_BOOL_6 1 +# define BOOST_PP_BOOL_7 1 +# define BOOST_PP_BOOL_8 1 +# define BOOST_PP_BOOL_9 1 +# define BOOST_PP_BOOL_10 1 +# define BOOST_PP_BOOL_11 1 +# define BOOST_PP_BOOL_12 1 +# define BOOST_PP_BOOL_13 1 +# define BOOST_PP_BOOL_14 1 +# define BOOST_PP_BOOL_15 1 +# define BOOST_PP_BOOL_16 1 +# define BOOST_PP_BOOL_17 1 +# define BOOST_PP_BOOL_18 1 +# define BOOST_PP_BOOL_19 1 +# define BOOST_PP_BOOL_20 1 +# define BOOST_PP_BOOL_21 1 +# define BOOST_PP_BOOL_22 1 +# define BOOST_PP_BOOL_23 1 +# define BOOST_PP_BOOL_24 1 +# define BOOST_PP_BOOL_25 1 +# define BOOST_PP_BOOL_26 1 +# define BOOST_PP_BOOL_27 1 +# define BOOST_PP_BOOL_28 1 +# define BOOST_PP_BOOL_29 1 +# define BOOST_PP_BOOL_30 1 +# define BOOST_PP_BOOL_31 1 +# define BOOST_PP_BOOL_32 1 +# define BOOST_PP_BOOL_33 1 +# define BOOST_PP_BOOL_34 1 +# define BOOST_PP_BOOL_35 1 +# define BOOST_PP_BOOL_36 1 +# define BOOST_PP_BOOL_37 1 +# define BOOST_PP_BOOL_38 1 +# define BOOST_PP_BOOL_39 1 +# define BOOST_PP_BOOL_40 1 +# define BOOST_PP_BOOL_41 1 +# define BOOST_PP_BOOL_42 1 +# define BOOST_PP_BOOL_43 1 +# define BOOST_PP_BOOL_44 1 +# define BOOST_PP_BOOL_45 1 +# define BOOST_PP_BOOL_46 1 +# define BOOST_PP_BOOL_47 1 +# define BOOST_PP_BOOL_48 1 +# define BOOST_PP_BOOL_49 1 +# define BOOST_PP_BOOL_50 1 +# define BOOST_PP_BOOL_51 1 +# define BOOST_PP_BOOL_52 1 +# define BOOST_PP_BOOL_53 1 +# define BOOST_PP_BOOL_54 1 +# define BOOST_PP_BOOL_55 1 +# define BOOST_PP_BOOL_56 1 +# define BOOST_PP_BOOL_57 1 +# define BOOST_PP_BOOL_58 1 +# define BOOST_PP_BOOL_59 1 +# define BOOST_PP_BOOL_60 1 +# define BOOST_PP_BOOL_61 1 +# define BOOST_PP_BOOL_62 1 +# define BOOST_PP_BOOL_63 1 +# define BOOST_PP_BOOL_64 1 +# define BOOST_PP_BOOL_65 1 +# define BOOST_PP_BOOL_66 1 +# define BOOST_PP_BOOL_67 1 +# define BOOST_PP_BOOL_68 1 +# define BOOST_PP_BOOL_69 1 +# define BOOST_PP_BOOL_70 1 +# define BOOST_PP_BOOL_71 1 +# define BOOST_PP_BOOL_72 1 +# define BOOST_PP_BOOL_73 1 +# define BOOST_PP_BOOL_74 1 +# define BOOST_PP_BOOL_75 1 +# define BOOST_PP_BOOL_76 1 +# define BOOST_PP_BOOL_77 1 +# define BOOST_PP_BOOL_78 1 +# define BOOST_PP_BOOL_79 1 +# define BOOST_PP_BOOL_80 1 +# define BOOST_PP_BOOL_81 1 +# define BOOST_PP_BOOL_82 1 +# define BOOST_PP_BOOL_83 1 +# define BOOST_PP_BOOL_84 1 +# define BOOST_PP_BOOL_85 1 +# define BOOST_PP_BOOL_86 1 +# define BOOST_PP_BOOL_87 1 +# define BOOST_PP_BOOL_88 1 +# define BOOST_PP_BOOL_89 1 +# define BOOST_PP_BOOL_90 1 +# define BOOST_PP_BOOL_91 1 +# define BOOST_PP_BOOL_92 1 +# define BOOST_PP_BOOL_93 1 +# define BOOST_PP_BOOL_94 1 +# define BOOST_PP_BOOL_95 1 +# define BOOST_PP_BOOL_96 1 +# define BOOST_PP_BOOL_97 1 +# define BOOST_PP_BOOL_98 1 +# define BOOST_PP_BOOL_99 1 +# define BOOST_PP_BOOL_100 1 +# define BOOST_PP_BOOL_101 1 +# define BOOST_PP_BOOL_102 1 +# define BOOST_PP_BOOL_103 1 +# define BOOST_PP_BOOL_104 1 +# define BOOST_PP_BOOL_105 1 +# define BOOST_PP_BOOL_106 1 +# define BOOST_PP_BOOL_107 1 +# define BOOST_PP_BOOL_108 1 +# define BOOST_PP_BOOL_109 1 +# define BOOST_PP_BOOL_110 1 +# define BOOST_PP_BOOL_111 1 +# define BOOST_PP_BOOL_112 1 +# define BOOST_PP_BOOL_113 1 +# define BOOST_PP_BOOL_114 1 +# define BOOST_PP_BOOL_115 1 +# define BOOST_PP_BOOL_116 1 +# define BOOST_PP_BOOL_117 1 +# define BOOST_PP_BOOL_118 1 +# define BOOST_PP_BOOL_119 1 +# define BOOST_PP_BOOL_120 1 +# define BOOST_PP_BOOL_121 1 +# define BOOST_PP_BOOL_122 1 +# define BOOST_PP_BOOL_123 1 +# define BOOST_PP_BOOL_124 1 +# define BOOST_PP_BOOL_125 1 +# define BOOST_PP_BOOL_126 1 +# define BOOST_PP_BOOL_127 1 +# define BOOST_PP_BOOL_128 1 +# define BOOST_PP_BOOL_129 1 +# define BOOST_PP_BOOL_130 1 +# define BOOST_PP_BOOL_131 1 +# define BOOST_PP_BOOL_132 1 +# define BOOST_PP_BOOL_133 1 +# define BOOST_PP_BOOL_134 1 +# define BOOST_PP_BOOL_135 1 +# define BOOST_PP_BOOL_136 1 +# define BOOST_PP_BOOL_137 1 +# define BOOST_PP_BOOL_138 1 +# define BOOST_PP_BOOL_139 1 +# define BOOST_PP_BOOL_140 1 +# define BOOST_PP_BOOL_141 1 +# define BOOST_PP_BOOL_142 1 +# define BOOST_PP_BOOL_143 1 +# define BOOST_PP_BOOL_144 1 +# define BOOST_PP_BOOL_145 1 +# define BOOST_PP_BOOL_146 1 +# define BOOST_PP_BOOL_147 1 +# define BOOST_PP_BOOL_148 1 +# define BOOST_PP_BOOL_149 1 +# define BOOST_PP_BOOL_150 1 +# define BOOST_PP_BOOL_151 1 +# define BOOST_PP_BOOL_152 1 +# define BOOST_PP_BOOL_153 1 +# define BOOST_PP_BOOL_154 1 +# define BOOST_PP_BOOL_155 1 +# define BOOST_PP_BOOL_156 1 +# define BOOST_PP_BOOL_157 1 +# define BOOST_PP_BOOL_158 1 +# define BOOST_PP_BOOL_159 1 +# define BOOST_PP_BOOL_160 1 +# define BOOST_PP_BOOL_161 1 +# define BOOST_PP_BOOL_162 1 +# define BOOST_PP_BOOL_163 1 +# define BOOST_PP_BOOL_164 1 +# define BOOST_PP_BOOL_165 1 +# define BOOST_PP_BOOL_166 1 +# define BOOST_PP_BOOL_167 1 +# define BOOST_PP_BOOL_168 1 +# define BOOST_PP_BOOL_169 1 +# define BOOST_PP_BOOL_170 1 +# define BOOST_PP_BOOL_171 1 +# define BOOST_PP_BOOL_172 1 +# define BOOST_PP_BOOL_173 1 +# define BOOST_PP_BOOL_174 1 +# define BOOST_PP_BOOL_175 1 +# define BOOST_PP_BOOL_176 1 +# define BOOST_PP_BOOL_177 1 +# define BOOST_PP_BOOL_178 1 +# define BOOST_PP_BOOL_179 1 +# define BOOST_PP_BOOL_180 1 +# define BOOST_PP_BOOL_181 1 +# define BOOST_PP_BOOL_182 1 +# define BOOST_PP_BOOL_183 1 +# define BOOST_PP_BOOL_184 1 +# define BOOST_PP_BOOL_185 1 +# define BOOST_PP_BOOL_186 1 +# define BOOST_PP_BOOL_187 1 +# define BOOST_PP_BOOL_188 1 +# define BOOST_PP_BOOL_189 1 +# define BOOST_PP_BOOL_190 1 +# define BOOST_PP_BOOL_191 1 +# define BOOST_PP_BOOL_192 1 +# define BOOST_PP_BOOL_193 1 +# define BOOST_PP_BOOL_194 1 +# define BOOST_PP_BOOL_195 1 +# define BOOST_PP_BOOL_196 1 +# define BOOST_PP_BOOL_197 1 +# define BOOST_PP_BOOL_198 1 +# define BOOST_PP_BOOL_199 1 +# define BOOST_PP_BOOL_200 1 +# define BOOST_PP_BOOL_201 1 +# define BOOST_PP_BOOL_202 1 +# define BOOST_PP_BOOL_203 1 +# define BOOST_PP_BOOL_204 1 +# define BOOST_PP_BOOL_205 1 +# define BOOST_PP_BOOL_206 1 +# define BOOST_PP_BOOL_207 1 +# define BOOST_PP_BOOL_208 1 +# define BOOST_PP_BOOL_209 1 +# define BOOST_PP_BOOL_210 1 +# define BOOST_PP_BOOL_211 1 +# define BOOST_PP_BOOL_212 1 +# define BOOST_PP_BOOL_213 1 +# define BOOST_PP_BOOL_214 1 +# define BOOST_PP_BOOL_215 1 +# define BOOST_PP_BOOL_216 1 +# define BOOST_PP_BOOL_217 1 +# define BOOST_PP_BOOL_218 1 +# define BOOST_PP_BOOL_219 1 +# define BOOST_PP_BOOL_220 1 +# define BOOST_PP_BOOL_221 1 +# define BOOST_PP_BOOL_222 1 +# define BOOST_PP_BOOL_223 1 +# define BOOST_PP_BOOL_224 1 +# define BOOST_PP_BOOL_225 1 +# define BOOST_PP_BOOL_226 1 +# define BOOST_PP_BOOL_227 1 +# define BOOST_PP_BOOL_228 1 +# define BOOST_PP_BOOL_229 1 +# define BOOST_PP_BOOL_230 1 +# define BOOST_PP_BOOL_231 1 +# define BOOST_PP_BOOL_232 1 +# define BOOST_PP_BOOL_233 1 +# define BOOST_PP_BOOL_234 1 +# define BOOST_PP_BOOL_235 1 +# define BOOST_PP_BOOL_236 1 +# define BOOST_PP_BOOL_237 1 +# define BOOST_PP_BOOL_238 1 +# define BOOST_PP_BOOL_239 1 +# define BOOST_PP_BOOL_240 1 +# define BOOST_PP_BOOL_241 1 +# define BOOST_PP_BOOL_242 1 +# define BOOST_PP_BOOL_243 1 +# define BOOST_PP_BOOL_244 1 +# define BOOST_PP_BOOL_245 1 +# define BOOST_PP_BOOL_246 1 +# define BOOST_PP_BOOL_247 1 +# define BOOST_PP_BOOL_248 1 +# define BOOST_PP_BOOL_249 1 +# define BOOST_PP_BOOL_250 1 +# define BOOST_PP_BOOL_251 1 +# define BOOST_PP_BOOL_252 1 +# define BOOST_PP_BOOL_253 1 +# define BOOST_PP_BOOL_254 1 +# define BOOST_PP_BOOL_255 1 +# define BOOST_PP_BOOL_256 1 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/logical/limits/bool_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_512.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/logical/limits/bool_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_512.hpp index 647f2b8201..97f7232efd 100644 --- a/external/include/boost_1_75/boost/preprocessor/logical/limits/bool_512.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/limits/bool_512.hpp @@ -1,275 +1,275 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_512_HPP -# define BOOST_PREPROCESSOR_LOGICAL_BOOL_512_HPP -# -# define BOOST_PP_BOOL_257 1 -# define BOOST_PP_BOOL_258 1 -# define BOOST_PP_BOOL_259 1 -# define BOOST_PP_BOOL_260 1 -# define BOOST_PP_BOOL_261 1 -# define BOOST_PP_BOOL_262 1 -# define BOOST_PP_BOOL_263 1 -# define BOOST_PP_BOOL_264 1 -# define BOOST_PP_BOOL_265 1 -# define BOOST_PP_BOOL_266 1 -# define BOOST_PP_BOOL_267 1 -# define BOOST_PP_BOOL_268 1 -# define BOOST_PP_BOOL_269 1 -# define BOOST_PP_BOOL_270 1 -# define BOOST_PP_BOOL_271 1 -# define BOOST_PP_BOOL_272 1 -# define BOOST_PP_BOOL_273 1 -# define BOOST_PP_BOOL_274 1 -# define BOOST_PP_BOOL_275 1 -# define BOOST_PP_BOOL_276 1 -# define BOOST_PP_BOOL_277 1 -# define BOOST_PP_BOOL_278 1 -# define BOOST_PP_BOOL_279 1 -# define BOOST_PP_BOOL_280 1 -# define BOOST_PP_BOOL_281 1 -# define BOOST_PP_BOOL_282 1 -# define BOOST_PP_BOOL_283 1 -# define BOOST_PP_BOOL_284 1 -# define BOOST_PP_BOOL_285 1 -# define BOOST_PP_BOOL_286 1 -# define BOOST_PP_BOOL_287 1 -# define BOOST_PP_BOOL_288 1 -# define BOOST_PP_BOOL_289 1 -# define BOOST_PP_BOOL_290 1 -# define BOOST_PP_BOOL_291 1 -# define BOOST_PP_BOOL_292 1 -# define BOOST_PP_BOOL_293 1 -# define BOOST_PP_BOOL_294 1 -# define BOOST_PP_BOOL_295 1 -# define BOOST_PP_BOOL_296 1 -# define BOOST_PP_BOOL_297 1 -# define BOOST_PP_BOOL_298 1 -# define BOOST_PP_BOOL_299 1 -# define BOOST_PP_BOOL_300 1 -# define BOOST_PP_BOOL_301 1 -# define BOOST_PP_BOOL_302 1 -# define BOOST_PP_BOOL_303 1 -# define BOOST_PP_BOOL_304 1 -# define BOOST_PP_BOOL_305 1 -# define BOOST_PP_BOOL_306 1 -# define BOOST_PP_BOOL_307 1 -# define BOOST_PP_BOOL_308 1 -# define BOOST_PP_BOOL_309 1 -# define BOOST_PP_BOOL_310 1 -# define BOOST_PP_BOOL_311 1 -# define BOOST_PP_BOOL_312 1 -# define BOOST_PP_BOOL_313 1 -# define BOOST_PP_BOOL_314 1 -# define BOOST_PP_BOOL_315 1 -# define BOOST_PP_BOOL_316 1 -# define BOOST_PP_BOOL_317 1 -# define BOOST_PP_BOOL_318 1 -# define BOOST_PP_BOOL_319 1 -# define BOOST_PP_BOOL_320 1 -# define BOOST_PP_BOOL_321 1 -# define BOOST_PP_BOOL_322 1 -# define BOOST_PP_BOOL_323 1 -# define BOOST_PP_BOOL_324 1 -# define BOOST_PP_BOOL_325 1 -# define BOOST_PP_BOOL_326 1 -# define BOOST_PP_BOOL_327 1 -# define BOOST_PP_BOOL_328 1 -# define BOOST_PP_BOOL_329 1 -# define BOOST_PP_BOOL_330 1 -# define BOOST_PP_BOOL_331 1 -# define BOOST_PP_BOOL_332 1 -# define BOOST_PP_BOOL_333 1 -# define BOOST_PP_BOOL_334 1 -# define BOOST_PP_BOOL_335 1 -# define BOOST_PP_BOOL_336 1 -# define BOOST_PP_BOOL_337 1 -# define BOOST_PP_BOOL_338 1 -# define BOOST_PP_BOOL_339 1 -# define BOOST_PP_BOOL_340 1 -# define BOOST_PP_BOOL_341 1 -# define BOOST_PP_BOOL_342 1 -# define BOOST_PP_BOOL_343 1 -# define BOOST_PP_BOOL_344 1 -# define BOOST_PP_BOOL_345 1 -# define BOOST_PP_BOOL_346 1 -# define BOOST_PP_BOOL_347 1 -# define BOOST_PP_BOOL_348 1 -# define BOOST_PP_BOOL_349 1 -# define BOOST_PP_BOOL_350 1 -# define BOOST_PP_BOOL_351 1 -# define BOOST_PP_BOOL_352 1 -# define BOOST_PP_BOOL_353 1 -# define BOOST_PP_BOOL_354 1 -# define BOOST_PP_BOOL_355 1 -# define BOOST_PP_BOOL_356 1 -# define BOOST_PP_BOOL_357 1 -# define BOOST_PP_BOOL_358 1 -# define BOOST_PP_BOOL_359 1 -# define BOOST_PP_BOOL_360 1 -# define BOOST_PP_BOOL_361 1 -# define BOOST_PP_BOOL_362 1 -# define BOOST_PP_BOOL_363 1 -# define BOOST_PP_BOOL_364 1 -# define BOOST_PP_BOOL_365 1 -# define BOOST_PP_BOOL_366 1 -# define BOOST_PP_BOOL_367 1 -# define BOOST_PP_BOOL_368 1 -# define BOOST_PP_BOOL_369 1 -# define BOOST_PP_BOOL_370 1 -# define BOOST_PP_BOOL_371 1 -# define BOOST_PP_BOOL_372 1 -# define BOOST_PP_BOOL_373 1 -# define BOOST_PP_BOOL_374 1 -# define BOOST_PP_BOOL_375 1 -# define BOOST_PP_BOOL_376 1 -# define BOOST_PP_BOOL_377 1 -# define BOOST_PP_BOOL_378 1 -# define BOOST_PP_BOOL_379 1 -# define BOOST_PP_BOOL_380 1 -# define BOOST_PP_BOOL_381 1 -# define BOOST_PP_BOOL_382 1 -# define BOOST_PP_BOOL_383 1 -# define BOOST_PP_BOOL_384 1 -# define BOOST_PP_BOOL_385 1 -# define BOOST_PP_BOOL_386 1 -# define BOOST_PP_BOOL_387 1 -# define BOOST_PP_BOOL_388 1 -# define BOOST_PP_BOOL_389 1 -# define BOOST_PP_BOOL_390 1 -# define BOOST_PP_BOOL_391 1 -# define BOOST_PP_BOOL_392 1 -# define BOOST_PP_BOOL_393 1 -# define BOOST_PP_BOOL_394 1 -# define BOOST_PP_BOOL_395 1 -# define BOOST_PP_BOOL_396 1 -# define BOOST_PP_BOOL_397 1 -# define BOOST_PP_BOOL_398 1 -# define BOOST_PP_BOOL_399 1 -# define BOOST_PP_BOOL_400 1 -# define BOOST_PP_BOOL_401 1 -# define BOOST_PP_BOOL_402 1 -# define BOOST_PP_BOOL_403 1 -# define BOOST_PP_BOOL_404 1 -# define BOOST_PP_BOOL_405 1 -# define BOOST_PP_BOOL_406 1 -# define BOOST_PP_BOOL_407 1 -# define BOOST_PP_BOOL_408 1 -# define BOOST_PP_BOOL_409 1 -# define BOOST_PP_BOOL_410 1 -# define BOOST_PP_BOOL_411 1 -# define BOOST_PP_BOOL_412 1 -# define BOOST_PP_BOOL_413 1 -# define BOOST_PP_BOOL_414 1 -# define BOOST_PP_BOOL_415 1 -# define BOOST_PP_BOOL_416 1 -# define BOOST_PP_BOOL_417 1 -# define BOOST_PP_BOOL_418 1 -# define BOOST_PP_BOOL_419 1 -# define BOOST_PP_BOOL_420 1 -# define BOOST_PP_BOOL_421 1 -# define BOOST_PP_BOOL_422 1 -# define BOOST_PP_BOOL_423 1 -# define BOOST_PP_BOOL_424 1 -# define BOOST_PP_BOOL_425 1 -# define BOOST_PP_BOOL_426 1 -# define BOOST_PP_BOOL_427 1 -# define BOOST_PP_BOOL_428 1 -# define BOOST_PP_BOOL_429 1 -# define BOOST_PP_BOOL_430 1 -# define BOOST_PP_BOOL_431 1 -# define BOOST_PP_BOOL_432 1 -# define BOOST_PP_BOOL_433 1 -# define BOOST_PP_BOOL_434 1 -# define BOOST_PP_BOOL_435 1 -# define BOOST_PP_BOOL_436 1 -# define BOOST_PP_BOOL_437 1 -# define BOOST_PP_BOOL_438 1 -# define BOOST_PP_BOOL_439 1 -# define BOOST_PP_BOOL_440 1 -# define BOOST_PP_BOOL_441 1 -# define BOOST_PP_BOOL_442 1 -# define BOOST_PP_BOOL_443 1 -# define BOOST_PP_BOOL_444 1 -# define BOOST_PP_BOOL_445 1 -# define BOOST_PP_BOOL_446 1 -# define BOOST_PP_BOOL_447 1 -# define BOOST_PP_BOOL_448 1 -# define BOOST_PP_BOOL_449 1 -# define BOOST_PP_BOOL_450 1 -# define BOOST_PP_BOOL_451 1 -# define BOOST_PP_BOOL_452 1 -# define BOOST_PP_BOOL_453 1 -# define BOOST_PP_BOOL_454 1 -# define BOOST_PP_BOOL_455 1 -# define BOOST_PP_BOOL_456 1 -# define BOOST_PP_BOOL_457 1 -# define BOOST_PP_BOOL_458 1 -# define BOOST_PP_BOOL_459 1 -# define BOOST_PP_BOOL_460 1 -# define BOOST_PP_BOOL_461 1 -# define BOOST_PP_BOOL_462 1 -# define BOOST_PP_BOOL_463 1 -# define BOOST_PP_BOOL_464 1 -# define BOOST_PP_BOOL_465 1 -# define BOOST_PP_BOOL_466 1 -# define BOOST_PP_BOOL_467 1 -# define BOOST_PP_BOOL_468 1 -# define BOOST_PP_BOOL_469 1 -# define BOOST_PP_BOOL_470 1 -# define BOOST_PP_BOOL_471 1 -# define BOOST_PP_BOOL_472 1 -# define BOOST_PP_BOOL_473 1 -# define BOOST_PP_BOOL_474 1 -# define BOOST_PP_BOOL_475 1 -# define BOOST_PP_BOOL_476 1 -# define BOOST_PP_BOOL_477 1 -# define BOOST_PP_BOOL_478 1 -# define BOOST_PP_BOOL_479 1 -# define BOOST_PP_BOOL_480 1 -# define BOOST_PP_BOOL_481 1 -# define BOOST_PP_BOOL_482 1 -# define BOOST_PP_BOOL_483 1 -# define BOOST_PP_BOOL_484 1 -# define BOOST_PP_BOOL_485 1 -# define BOOST_PP_BOOL_486 1 -# define BOOST_PP_BOOL_487 1 -# define BOOST_PP_BOOL_488 1 -# define BOOST_PP_BOOL_489 1 -# define BOOST_PP_BOOL_490 1 -# define BOOST_PP_BOOL_491 1 -# define BOOST_PP_BOOL_492 1 -# define BOOST_PP_BOOL_493 1 -# define BOOST_PP_BOOL_494 1 -# define BOOST_PP_BOOL_495 1 -# define BOOST_PP_BOOL_496 1 -# define BOOST_PP_BOOL_497 1 -# define BOOST_PP_BOOL_498 1 -# define BOOST_PP_BOOL_499 1 -# define BOOST_PP_BOOL_500 1 -# define BOOST_PP_BOOL_501 1 -# define BOOST_PP_BOOL_502 1 -# define BOOST_PP_BOOL_503 1 -# define BOOST_PP_BOOL_504 1 -# define BOOST_PP_BOOL_505 1 -# define BOOST_PP_BOOL_506 1 -# define BOOST_PP_BOOL_507 1 -# define BOOST_PP_BOOL_508 1 -# define BOOST_PP_BOOL_509 1 -# define BOOST_PP_BOOL_510 1 -# define BOOST_PP_BOOL_511 1 -# define BOOST_PP_BOOL_512 1 -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_512_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BOOL_512_HPP +# +# define BOOST_PP_BOOL_257 1 +# define BOOST_PP_BOOL_258 1 +# define BOOST_PP_BOOL_259 1 +# define BOOST_PP_BOOL_260 1 +# define BOOST_PP_BOOL_261 1 +# define BOOST_PP_BOOL_262 1 +# define BOOST_PP_BOOL_263 1 +# define BOOST_PP_BOOL_264 1 +# define BOOST_PP_BOOL_265 1 +# define BOOST_PP_BOOL_266 1 +# define BOOST_PP_BOOL_267 1 +# define BOOST_PP_BOOL_268 1 +# define BOOST_PP_BOOL_269 1 +# define BOOST_PP_BOOL_270 1 +# define BOOST_PP_BOOL_271 1 +# define BOOST_PP_BOOL_272 1 +# define BOOST_PP_BOOL_273 1 +# define BOOST_PP_BOOL_274 1 +# define BOOST_PP_BOOL_275 1 +# define BOOST_PP_BOOL_276 1 +# define BOOST_PP_BOOL_277 1 +# define BOOST_PP_BOOL_278 1 +# define BOOST_PP_BOOL_279 1 +# define BOOST_PP_BOOL_280 1 +# define BOOST_PP_BOOL_281 1 +# define BOOST_PP_BOOL_282 1 +# define BOOST_PP_BOOL_283 1 +# define BOOST_PP_BOOL_284 1 +# define BOOST_PP_BOOL_285 1 +# define BOOST_PP_BOOL_286 1 +# define BOOST_PP_BOOL_287 1 +# define BOOST_PP_BOOL_288 1 +# define BOOST_PP_BOOL_289 1 +# define BOOST_PP_BOOL_290 1 +# define BOOST_PP_BOOL_291 1 +# define BOOST_PP_BOOL_292 1 +# define BOOST_PP_BOOL_293 1 +# define BOOST_PP_BOOL_294 1 +# define BOOST_PP_BOOL_295 1 +# define BOOST_PP_BOOL_296 1 +# define BOOST_PP_BOOL_297 1 +# define BOOST_PP_BOOL_298 1 +# define BOOST_PP_BOOL_299 1 +# define BOOST_PP_BOOL_300 1 +# define BOOST_PP_BOOL_301 1 +# define BOOST_PP_BOOL_302 1 +# define BOOST_PP_BOOL_303 1 +# define BOOST_PP_BOOL_304 1 +# define BOOST_PP_BOOL_305 1 +# define BOOST_PP_BOOL_306 1 +# define BOOST_PP_BOOL_307 1 +# define BOOST_PP_BOOL_308 1 +# define BOOST_PP_BOOL_309 1 +# define BOOST_PP_BOOL_310 1 +# define BOOST_PP_BOOL_311 1 +# define BOOST_PP_BOOL_312 1 +# define BOOST_PP_BOOL_313 1 +# define BOOST_PP_BOOL_314 1 +# define BOOST_PP_BOOL_315 1 +# define BOOST_PP_BOOL_316 1 +# define BOOST_PP_BOOL_317 1 +# define BOOST_PP_BOOL_318 1 +# define BOOST_PP_BOOL_319 1 +# define BOOST_PP_BOOL_320 1 +# define BOOST_PP_BOOL_321 1 +# define BOOST_PP_BOOL_322 1 +# define BOOST_PP_BOOL_323 1 +# define BOOST_PP_BOOL_324 1 +# define BOOST_PP_BOOL_325 1 +# define BOOST_PP_BOOL_326 1 +# define BOOST_PP_BOOL_327 1 +# define BOOST_PP_BOOL_328 1 +# define BOOST_PP_BOOL_329 1 +# define BOOST_PP_BOOL_330 1 +# define BOOST_PP_BOOL_331 1 +# define BOOST_PP_BOOL_332 1 +# define BOOST_PP_BOOL_333 1 +# define BOOST_PP_BOOL_334 1 +# define BOOST_PP_BOOL_335 1 +# define BOOST_PP_BOOL_336 1 +# define BOOST_PP_BOOL_337 1 +# define BOOST_PP_BOOL_338 1 +# define BOOST_PP_BOOL_339 1 +# define BOOST_PP_BOOL_340 1 +# define BOOST_PP_BOOL_341 1 +# define BOOST_PP_BOOL_342 1 +# define BOOST_PP_BOOL_343 1 +# define BOOST_PP_BOOL_344 1 +# define BOOST_PP_BOOL_345 1 +# define BOOST_PP_BOOL_346 1 +# define BOOST_PP_BOOL_347 1 +# define BOOST_PP_BOOL_348 1 +# define BOOST_PP_BOOL_349 1 +# define BOOST_PP_BOOL_350 1 +# define BOOST_PP_BOOL_351 1 +# define BOOST_PP_BOOL_352 1 +# define BOOST_PP_BOOL_353 1 +# define BOOST_PP_BOOL_354 1 +# define BOOST_PP_BOOL_355 1 +# define BOOST_PP_BOOL_356 1 +# define BOOST_PP_BOOL_357 1 +# define BOOST_PP_BOOL_358 1 +# define BOOST_PP_BOOL_359 1 +# define BOOST_PP_BOOL_360 1 +# define BOOST_PP_BOOL_361 1 +# define BOOST_PP_BOOL_362 1 +# define BOOST_PP_BOOL_363 1 +# define BOOST_PP_BOOL_364 1 +# define BOOST_PP_BOOL_365 1 +# define BOOST_PP_BOOL_366 1 +# define BOOST_PP_BOOL_367 1 +# define BOOST_PP_BOOL_368 1 +# define BOOST_PP_BOOL_369 1 +# define BOOST_PP_BOOL_370 1 +# define BOOST_PP_BOOL_371 1 +# define BOOST_PP_BOOL_372 1 +# define BOOST_PP_BOOL_373 1 +# define BOOST_PP_BOOL_374 1 +# define BOOST_PP_BOOL_375 1 +# define BOOST_PP_BOOL_376 1 +# define BOOST_PP_BOOL_377 1 +# define BOOST_PP_BOOL_378 1 +# define BOOST_PP_BOOL_379 1 +# define BOOST_PP_BOOL_380 1 +# define BOOST_PP_BOOL_381 1 +# define BOOST_PP_BOOL_382 1 +# define BOOST_PP_BOOL_383 1 +# define BOOST_PP_BOOL_384 1 +# define BOOST_PP_BOOL_385 1 +# define BOOST_PP_BOOL_386 1 +# define BOOST_PP_BOOL_387 1 +# define BOOST_PP_BOOL_388 1 +# define BOOST_PP_BOOL_389 1 +# define BOOST_PP_BOOL_390 1 +# define BOOST_PP_BOOL_391 1 +# define BOOST_PP_BOOL_392 1 +# define BOOST_PP_BOOL_393 1 +# define BOOST_PP_BOOL_394 1 +# define BOOST_PP_BOOL_395 1 +# define BOOST_PP_BOOL_396 1 +# define BOOST_PP_BOOL_397 1 +# define BOOST_PP_BOOL_398 1 +# define BOOST_PP_BOOL_399 1 +# define BOOST_PP_BOOL_400 1 +# define BOOST_PP_BOOL_401 1 +# define BOOST_PP_BOOL_402 1 +# define BOOST_PP_BOOL_403 1 +# define BOOST_PP_BOOL_404 1 +# define BOOST_PP_BOOL_405 1 +# define BOOST_PP_BOOL_406 1 +# define BOOST_PP_BOOL_407 1 +# define BOOST_PP_BOOL_408 1 +# define BOOST_PP_BOOL_409 1 +# define BOOST_PP_BOOL_410 1 +# define BOOST_PP_BOOL_411 1 +# define BOOST_PP_BOOL_412 1 +# define BOOST_PP_BOOL_413 1 +# define BOOST_PP_BOOL_414 1 +# define BOOST_PP_BOOL_415 1 +# define BOOST_PP_BOOL_416 1 +# define BOOST_PP_BOOL_417 1 +# define BOOST_PP_BOOL_418 1 +# define BOOST_PP_BOOL_419 1 +# define BOOST_PP_BOOL_420 1 +# define BOOST_PP_BOOL_421 1 +# define BOOST_PP_BOOL_422 1 +# define BOOST_PP_BOOL_423 1 +# define BOOST_PP_BOOL_424 1 +# define BOOST_PP_BOOL_425 1 +# define BOOST_PP_BOOL_426 1 +# define BOOST_PP_BOOL_427 1 +# define BOOST_PP_BOOL_428 1 +# define BOOST_PP_BOOL_429 1 +# define BOOST_PP_BOOL_430 1 +# define BOOST_PP_BOOL_431 1 +# define BOOST_PP_BOOL_432 1 +# define BOOST_PP_BOOL_433 1 +# define BOOST_PP_BOOL_434 1 +# define BOOST_PP_BOOL_435 1 +# define BOOST_PP_BOOL_436 1 +# define BOOST_PP_BOOL_437 1 +# define BOOST_PP_BOOL_438 1 +# define BOOST_PP_BOOL_439 1 +# define BOOST_PP_BOOL_440 1 +# define BOOST_PP_BOOL_441 1 +# define BOOST_PP_BOOL_442 1 +# define BOOST_PP_BOOL_443 1 +# define BOOST_PP_BOOL_444 1 +# define BOOST_PP_BOOL_445 1 +# define BOOST_PP_BOOL_446 1 +# define BOOST_PP_BOOL_447 1 +# define BOOST_PP_BOOL_448 1 +# define BOOST_PP_BOOL_449 1 +# define BOOST_PP_BOOL_450 1 +# define BOOST_PP_BOOL_451 1 +# define BOOST_PP_BOOL_452 1 +# define BOOST_PP_BOOL_453 1 +# define BOOST_PP_BOOL_454 1 +# define BOOST_PP_BOOL_455 1 +# define BOOST_PP_BOOL_456 1 +# define BOOST_PP_BOOL_457 1 +# define BOOST_PP_BOOL_458 1 +# define BOOST_PP_BOOL_459 1 +# define BOOST_PP_BOOL_460 1 +# define BOOST_PP_BOOL_461 1 +# define BOOST_PP_BOOL_462 1 +# define BOOST_PP_BOOL_463 1 +# define BOOST_PP_BOOL_464 1 +# define BOOST_PP_BOOL_465 1 +# define BOOST_PP_BOOL_466 1 +# define BOOST_PP_BOOL_467 1 +# define BOOST_PP_BOOL_468 1 +# define BOOST_PP_BOOL_469 1 +# define BOOST_PP_BOOL_470 1 +# define BOOST_PP_BOOL_471 1 +# define BOOST_PP_BOOL_472 1 +# define BOOST_PP_BOOL_473 1 +# define BOOST_PP_BOOL_474 1 +# define BOOST_PP_BOOL_475 1 +# define BOOST_PP_BOOL_476 1 +# define BOOST_PP_BOOL_477 1 +# define BOOST_PP_BOOL_478 1 +# define BOOST_PP_BOOL_479 1 +# define BOOST_PP_BOOL_480 1 +# define BOOST_PP_BOOL_481 1 +# define BOOST_PP_BOOL_482 1 +# define BOOST_PP_BOOL_483 1 +# define BOOST_PP_BOOL_484 1 +# define BOOST_PP_BOOL_485 1 +# define BOOST_PP_BOOL_486 1 +# define BOOST_PP_BOOL_487 1 +# define BOOST_PP_BOOL_488 1 +# define BOOST_PP_BOOL_489 1 +# define BOOST_PP_BOOL_490 1 +# define BOOST_PP_BOOL_491 1 +# define BOOST_PP_BOOL_492 1 +# define BOOST_PP_BOOL_493 1 +# define BOOST_PP_BOOL_494 1 +# define BOOST_PP_BOOL_495 1 +# define BOOST_PP_BOOL_496 1 +# define BOOST_PP_BOOL_497 1 +# define BOOST_PP_BOOL_498 1 +# define BOOST_PP_BOOL_499 1 +# define BOOST_PP_BOOL_500 1 +# define BOOST_PP_BOOL_501 1 +# define BOOST_PP_BOOL_502 1 +# define BOOST_PP_BOOL_503 1 +# define BOOST_PP_BOOL_504 1 +# define BOOST_PP_BOOL_505 1 +# define BOOST_PP_BOOL_506 1 +# define BOOST_PP_BOOL_507 1 +# define BOOST_PP_BOOL_508 1 +# define BOOST_PP_BOOL_509 1 +# define BOOST_PP_BOOL_510 1 +# define BOOST_PP_BOOL_511 1 +# define BOOST_PP_BOOL_512 1 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/logical/not.hpp b/external/include/boost_1_90_0/boost/preprocessor/logical/not.hpp new file mode 100644 index 0000000000..67feb66b83 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/logical/not.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP +# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP +# +# include +# include +# include +# +# /* BOOST_PP_NOT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x)) +# else +# define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x) +# define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x)) +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/punctuation/comma.hpp b/external/include/boost_1_90_0/boost/preprocessor/punctuation/comma.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/punctuation/comma.hpp rename to external/include/boost_1_90_0/boost/preprocessor/punctuation/comma.hpp index 38c2e0e7e7..405effd149 100644 --- a/external/include/boost_1_75/boost/preprocessor/punctuation/comma.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/punctuation/comma.hpp @@ -1,21 +1,21 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP -# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP -# -# /* BOOST_PP_COMMA */ -# -# define BOOST_PP_COMMA() , -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP +# +# /* BOOST_PP_COMMA */ +# +# define BOOST_PP_COMMA() , +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/punctuation/comma_if.hpp b/external/include/boost_1_90_0/boost/preprocessor/punctuation/comma_if.hpp new file mode 100644 index 0000000000..04cc07993e --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/punctuation/comma_if.hpp @@ -0,0 +1,31 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_COMMA_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() +# else +# define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond) +# define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/punctuation/detail/is_begin_parens.hpp b/external/include/boost_1_90_0/boost/preprocessor/punctuation/detail/is_begin_parens.hpp new file mode 100644 index 0000000000..5b492cf259 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/punctuation/detail/is_begin_parens.hpp @@ -0,0 +1,48 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2014. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +#ifndef BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP +#define BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP + +#if BOOST_PP_VARIADICS_MSVC + +#include + +#define BOOST_PP_DETAIL_VD_IBP_CAT(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b) +#define BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_II(a ## b) +#define BOOST_PP_DETAIL_VD_IBP_CAT_II(res) res + +#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \ + BOOST_PP_DETAIL_VD_IBP_CAT(BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__),BOOST_PP_EMPTY()) \ +/**/ + +#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1 1 + +#else + +#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \ + BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__) \ +/**/ + +#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1 + +#endif /* BOOST_PP_VARIADICS_MSVC */ + +#define BOOST_PP_DETAIL_IBP_SPLIT_0(a, ...) a +#define BOOST_PP_DETAIL_IBP_SPLIT_1(a, ...) __VA_ARGS__ + +#define BOOST_PP_DETAIL_IBP_CAT(a, ...) BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a,__VA_ARGS__) +#define BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__ + +#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_1 1, +#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_BOOST_PP_DETAIL_IBP_IS_VARIADIC_C 0, + +#endif /* BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP */ diff --git a/external/include/boost_1_90_0/boost/preprocessor/punctuation/is_begin_parens.hpp b/external/include/boost_1_90_0/boost/preprocessor/punctuation/is_begin_parens.hpp new file mode 100644 index 0000000000..bac13162cd --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/punctuation/is_begin_parens.hpp @@ -0,0 +1,47 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2014. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP +# define BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP + +#include +#include + +#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 + +#define BOOST_PP_IS_BEGIN_PARENS(param) \ + BOOST_PP_DETAIL_IBP_SPLIT \ + ( \ + 0, \ + BOOST_PP_DETAIL_IBP_CAT \ + ( \ + BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \ + BOOST_PP_DETAIL_IBP_IS_VARIADIC_C param \ + ) \ + ) \ +/**/ + +#else + +#define BOOST_PP_IS_BEGIN_PARENS(...) \ + BOOST_PP_DETAIL_IBP_SPLIT \ + ( \ + 0, \ + BOOST_PP_DETAIL_IBP_CAT \ + ( \ + BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \ + BOOST_PP_DETAIL_IBP_IS_VARIADIC_C __VA_ARGS__ \ + ) \ + ) \ +/**/ + +#endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */ +#endif /* BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP */ diff --git a/external/include/boost_1_90_0/boost/preprocessor/punctuation/paren.hpp b/external/include/boost_1_90_0/boost/preprocessor/punctuation/paren.hpp new file mode 100644 index 0000000000..28c18cb8be --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/punctuation/paren.hpp @@ -0,0 +1,23 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP +# +# /* BOOST_PP_LPAREN */ +# +# define BOOST_PP_LPAREN() ( +# +# /* BOOST_PP_RPAREN */ +# +# define BOOST_PP_RPAREN() ) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repeat.hpp b/external/include/boost_1_90_0/boost/preprocessor/repeat.hpp new file mode 100644 index 0000000000..0893c13850 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repeat.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_HPP +# define BOOST_PREPROCESSOR_REPEAT_HPP +# +# include +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/dmc/for.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/dmc/for.hpp new file mode 100644 index 0000000000..ed7dd7de63 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/dmc/for.hpp @@ -0,0 +1,537 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_DMC_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_DMC_FOR_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m) +# +# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) +# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) +# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) +# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) +# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) +# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) +# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) +# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) +# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) +# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) +# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) +# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) +# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) +# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) +# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) +# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) +# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) +# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) +# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) +# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) +# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) +# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) +# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) +# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) +# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) +# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) +# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) +# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) +# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) +# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) +# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) +# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) +# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) +# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) +# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) +# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) +# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) +# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) +# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) +# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) +# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) +# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) +# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) +# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) +# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) +# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) +# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) +# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) +# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) +# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) +# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) +# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) +# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) +# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) +# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) +# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) +# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) +# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) +# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) +# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) +# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) +# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) +# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) +# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) +# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) +# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) +# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) +# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) +# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) +# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) +# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) +# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) +# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) +# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) +# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) +# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) +# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) +# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) +# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) +# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) +# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) +# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) +# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) +# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) +# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) +# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) +# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) +# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) +# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) +# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) +# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) +# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) +# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) +# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) +# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) +# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) +# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) +# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) +# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) +# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) +# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) +# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) +# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) +# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) +# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) +# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) +# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) +# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) +# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) +# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) +# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) +# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) +# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) +# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) +# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) +# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) +# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) +# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) +# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) +# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) +# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) +# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) +# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) +# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) +# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) +# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) +# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) +# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) +# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) +# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) +# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) +# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) +# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) +# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) +# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) +# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) +# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) +# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) +# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) +# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) +# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) +# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) +# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) +# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) +# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) +# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) +# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) +# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) +# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) +# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) +# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) +# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) +# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) +# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) +# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) +# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) +# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) +# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) +# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) +# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) +# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) +# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) +# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) +# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) +# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) +# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) +# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) +# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) +# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) +# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) +# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) +# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) +# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) +# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) +# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) +# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) +# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) +# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) +# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) +# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) +# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) +# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) +# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) +# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) +# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) +# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) +# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) +# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) +# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) +# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) +# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) +# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) +# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) +# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) +# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) +# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) +# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) +# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) +# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) +# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) +# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) +# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) +# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) +# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) +# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) +# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) +# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) +# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) +# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) +# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) +# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) +# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) +# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) +# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) +# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) +# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) +# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) +# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) +# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) +# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) +# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) +# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) +# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) +# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) +# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) +# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) +# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) +# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) +# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) +# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) +# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) +# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) +# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) +# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) +# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) +# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) +# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) +# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) +# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) +# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) +# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) +# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) +# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) +# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) +# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) +# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) +# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) +# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) +# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) +# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) +# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) +# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) +# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) +# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) +# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) +# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/for.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/for.hpp new file mode 100644 index 0000000000..e402bbd652 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/for.hpp @@ -0,0 +1,560 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m) +# +# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) +# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) +# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) +# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) +# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) +# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) +# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) +# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) +# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) +# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) +# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) +# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) +# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) +# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) +# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) +# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) +# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) +# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) +# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) +# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) +# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) +# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) +# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) +# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) +# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) +# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) +# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) +# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) +# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) +# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) +# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) +# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) +# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) +# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) +# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) +# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) +# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) +# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) +# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) +# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) +# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) +# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) +# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) +# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) +# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) +# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) +# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) +# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) +# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) +# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) +# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) +# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) +# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) +# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) +# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) +# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) +# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) +# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) +# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) +# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) +# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) +# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) +# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) +# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) +# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) +# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) +# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) +# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) +# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) +# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) +# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) +# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) +# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) +# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) +# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) +# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) +# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) +# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) +# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) +# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) +# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) +# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) +# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) +# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) +# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) +# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) +# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) +# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) +# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) +# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) +# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) +# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) +# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) +# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) +# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) +# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) +# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) +# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) +# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) +# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) +# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) +# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) +# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) +# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) +# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) +# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) +# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) +# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) +# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) +# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) +# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) +# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) +# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) +# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) +# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) +# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) +# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) +# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) +# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) +# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) +# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) +# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) +# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) +# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) +# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) +# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) +# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) +# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) +# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) +# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) +# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) +# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) +# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) +# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) +# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) +# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) +# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) +# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) +# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) +# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) +# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) +# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) +# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) +# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) +# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) +# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) +# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) +# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) +# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) +# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) +# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) +# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) +# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) +# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) +# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) +# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) +# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) +# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) +# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) +# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) +# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) +# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) +# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) +# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) +# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) +# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) +# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) +# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) +# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) +# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) +# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) +# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) +# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) +# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) +# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) +# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) +# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) +# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) +# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) +# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) +# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) +# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) +# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) +# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) +# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) +# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) +# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) +# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) +# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) +# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) +# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) +# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) +# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) +# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) +# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) +# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) +# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) +# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) +# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) +# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) +# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) +# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) +# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) +# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) +# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) +# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) +# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) +# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) +# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) +# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) +# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) +# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) +# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) +# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) +# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) +# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) +# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) +# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) +# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) +# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) +# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) +# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) +# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) +# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) +# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) +# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) +# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) +# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) +# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) +# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) +# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) +# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) +# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) +# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) +# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) +# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) +# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) +# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) +# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) +# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) +# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) +# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) +# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) +# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) +# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) +# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) +# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) +# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) +# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) +# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) +# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) +# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) +# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) +# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) +# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) +# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) +# +# else +# +# include +# include +# include +# +# if BOOST_PP_LIMIT_FOR == 256 +# include +# elif BOOST_PP_LIMIT_FOR == 512 +# include +# include +# elif BOOST_PP_LIMIT_FOR == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_FOR limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp new file mode 100644 index 0000000000..9c6cd94b0b --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp @@ -0,0 +1,1044 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_1024_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_1024_HPP +# +# define BOOST_PP_FOR_513(s, p, o, m) BOOST_PP_FOR_513_I(s, p, o, m) +# define BOOST_PP_FOR_514(s, p, o, m) BOOST_PP_FOR_514_I(s, p, o, m) +# define BOOST_PP_FOR_515(s, p, o, m) BOOST_PP_FOR_515_I(s, p, o, m) +# define BOOST_PP_FOR_516(s, p, o, m) BOOST_PP_FOR_516_I(s, p, o, m) +# define BOOST_PP_FOR_517(s, p, o, m) BOOST_PP_FOR_517_I(s, p, o, m) +# define BOOST_PP_FOR_518(s, p, o, m) BOOST_PP_FOR_518_I(s, p, o, m) +# define BOOST_PP_FOR_519(s, p, o, m) BOOST_PP_FOR_519_I(s, p, o, m) +# define BOOST_PP_FOR_520(s, p, o, m) BOOST_PP_FOR_520_I(s, p, o, m) +# define BOOST_PP_FOR_521(s, p, o, m) BOOST_PP_FOR_521_I(s, p, o, m) +# define BOOST_PP_FOR_522(s, p, o, m) BOOST_PP_FOR_522_I(s, p, o, m) +# define BOOST_PP_FOR_523(s, p, o, m) BOOST_PP_FOR_523_I(s, p, o, m) +# define BOOST_PP_FOR_524(s, p, o, m) BOOST_PP_FOR_524_I(s, p, o, m) +# define BOOST_PP_FOR_525(s, p, o, m) BOOST_PP_FOR_525_I(s, p, o, m) +# define BOOST_PP_FOR_526(s, p, o, m) BOOST_PP_FOR_526_I(s, p, o, m) +# define BOOST_PP_FOR_527(s, p, o, m) BOOST_PP_FOR_527_I(s, p, o, m) +# define BOOST_PP_FOR_528(s, p, o, m) BOOST_PP_FOR_528_I(s, p, o, m) +# define BOOST_PP_FOR_529(s, p, o, m) BOOST_PP_FOR_529_I(s, p, o, m) +# define BOOST_PP_FOR_530(s, p, o, m) BOOST_PP_FOR_530_I(s, p, o, m) +# define BOOST_PP_FOR_531(s, p, o, m) BOOST_PP_FOR_531_I(s, p, o, m) +# define BOOST_PP_FOR_532(s, p, o, m) BOOST_PP_FOR_532_I(s, p, o, m) +# define BOOST_PP_FOR_533(s, p, o, m) BOOST_PP_FOR_533_I(s, p, o, m) +# define BOOST_PP_FOR_534(s, p, o, m) BOOST_PP_FOR_534_I(s, p, o, m) +# define BOOST_PP_FOR_535(s, p, o, m) BOOST_PP_FOR_535_I(s, p, o, m) +# define BOOST_PP_FOR_536(s, p, o, m) BOOST_PP_FOR_536_I(s, p, o, m) +# define BOOST_PP_FOR_537(s, p, o, m) BOOST_PP_FOR_537_I(s, p, o, m) +# define BOOST_PP_FOR_538(s, p, o, m) BOOST_PP_FOR_538_I(s, p, o, m) +# define BOOST_PP_FOR_539(s, p, o, m) BOOST_PP_FOR_539_I(s, p, o, m) +# define BOOST_PP_FOR_540(s, p, o, m) BOOST_PP_FOR_540_I(s, p, o, m) +# define BOOST_PP_FOR_541(s, p, o, m) BOOST_PP_FOR_541_I(s, p, o, m) +# define BOOST_PP_FOR_542(s, p, o, m) BOOST_PP_FOR_542_I(s, p, o, m) +# define BOOST_PP_FOR_543(s, p, o, m) BOOST_PP_FOR_543_I(s, p, o, m) +# define BOOST_PP_FOR_544(s, p, o, m) BOOST_PP_FOR_544_I(s, p, o, m) +# define BOOST_PP_FOR_545(s, p, o, m) BOOST_PP_FOR_545_I(s, p, o, m) +# define BOOST_PP_FOR_546(s, p, o, m) BOOST_PP_FOR_546_I(s, p, o, m) +# define BOOST_PP_FOR_547(s, p, o, m) BOOST_PP_FOR_547_I(s, p, o, m) +# define BOOST_PP_FOR_548(s, p, o, m) BOOST_PP_FOR_548_I(s, p, o, m) +# define BOOST_PP_FOR_549(s, p, o, m) BOOST_PP_FOR_549_I(s, p, o, m) +# define BOOST_PP_FOR_550(s, p, o, m) BOOST_PP_FOR_550_I(s, p, o, m) +# define BOOST_PP_FOR_551(s, p, o, m) BOOST_PP_FOR_551_I(s, p, o, m) +# define BOOST_PP_FOR_552(s, p, o, m) BOOST_PP_FOR_552_I(s, p, o, m) +# define BOOST_PP_FOR_553(s, p, o, m) BOOST_PP_FOR_553_I(s, p, o, m) +# define BOOST_PP_FOR_554(s, p, o, m) BOOST_PP_FOR_554_I(s, p, o, m) +# define BOOST_PP_FOR_555(s, p, o, m) BOOST_PP_FOR_555_I(s, p, o, m) +# define BOOST_PP_FOR_556(s, p, o, m) BOOST_PP_FOR_556_I(s, p, o, m) +# define BOOST_PP_FOR_557(s, p, o, m) BOOST_PP_FOR_557_I(s, p, o, m) +# define BOOST_PP_FOR_558(s, p, o, m) BOOST_PP_FOR_558_I(s, p, o, m) +# define BOOST_PP_FOR_559(s, p, o, m) BOOST_PP_FOR_559_I(s, p, o, m) +# define BOOST_PP_FOR_560(s, p, o, m) BOOST_PP_FOR_560_I(s, p, o, m) +# define BOOST_PP_FOR_561(s, p, o, m) BOOST_PP_FOR_561_I(s, p, o, m) +# define BOOST_PP_FOR_562(s, p, o, m) BOOST_PP_FOR_562_I(s, p, o, m) +# define BOOST_PP_FOR_563(s, p, o, m) BOOST_PP_FOR_563_I(s, p, o, m) +# define BOOST_PP_FOR_564(s, p, o, m) BOOST_PP_FOR_564_I(s, p, o, m) +# define BOOST_PP_FOR_565(s, p, o, m) BOOST_PP_FOR_565_I(s, p, o, m) +# define BOOST_PP_FOR_566(s, p, o, m) BOOST_PP_FOR_566_I(s, p, o, m) +# define BOOST_PP_FOR_567(s, p, o, m) BOOST_PP_FOR_567_I(s, p, o, m) +# define BOOST_PP_FOR_568(s, p, o, m) BOOST_PP_FOR_568_I(s, p, o, m) +# define BOOST_PP_FOR_569(s, p, o, m) BOOST_PP_FOR_569_I(s, p, o, m) +# define BOOST_PP_FOR_570(s, p, o, m) BOOST_PP_FOR_570_I(s, p, o, m) +# define BOOST_PP_FOR_571(s, p, o, m) BOOST_PP_FOR_571_I(s, p, o, m) +# define BOOST_PP_FOR_572(s, p, o, m) BOOST_PP_FOR_572_I(s, p, o, m) +# define BOOST_PP_FOR_573(s, p, o, m) BOOST_PP_FOR_573_I(s, p, o, m) +# define BOOST_PP_FOR_574(s, p, o, m) BOOST_PP_FOR_574_I(s, p, o, m) +# define BOOST_PP_FOR_575(s, p, o, m) BOOST_PP_FOR_575_I(s, p, o, m) +# define BOOST_PP_FOR_576(s, p, o, m) BOOST_PP_FOR_576_I(s, p, o, m) +# define BOOST_PP_FOR_577(s, p, o, m) BOOST_PP_FOR_577_I(s, p, o, m) +# define BOOST_PP_FOR_578(s, p, o, m) BOOST_PP_FOR_578_I(s, p, o, m) +# define BOOST_PP_FOR_579(s, p, o, m) BOOST_PP_FOR_579_I(s, p, o, m) +# define BOOST_PP_FOR_580(s, p, o, m) BOOST_PP_FOR_580_I(s, p, o, m) +# define BOOST_PP_FOR_581(s, p, o, m) BOOST_PP_FOR_581_I(s, p, o, m) +# define BOOST_PP_FOR_582(s, p, o, m) BOOST_PP_FOR_582_I(s, p, o, m) +# define BOOST_PP_FOR_583(s, p, o, m) BOOST_PP_FOR_583_I(s, p, o, m) +# define BOOST_PP_FOR_584(s, p, o, m) BOOST_PP_FOR_584_I(s, p, o, m) +# define BOOST_PP_FOR_585(s, p, o, m) BOOST_PP_FOR_585_I(s, p, o, m) +# define BOOST_PP_FOR_586(s, p, o, m) BOOST_PP_FOR_586_I(s, p, o, m) +# define BOOST_PP_FOR_587(s, p, o, m) BOOST_PP_FOR_587_I(s, p, o, m) +# define BOOST_PP_FOR_588(s, p, o, m) BOOST_PP_FOR_588_I(s, p, o, m) +# define BOOST_PP_FOR_589(s, p, o, m) BOOST_PP_FOR_589_I(s, p, o, m) +# define BOOST_PP_FOR_590(s, p, o, m) BOOST_PP_FOR_590_I(s, p, o, m) +# define BOOST_PP_FOR_591(s, p, o, m) BOOST_PP_FOR_591_I(s, p, o, m) +# define BOOST_PP_FOR_592(s, p, o, m) BOOST_PP_FOR_592_I(s, p, o, m) +# define BOOST_PP_FOR_593(s, p, o, m) BOOST_PP_FOR_593_I(s, p, o, m) +# define BOOST_PP_FOR_594(s, p, o, m) BOOST_PP_FOR_594_I(s, p, o, m) +# define BOOST_PP_FOR_595(s, p, o, m) BOOST_PP_FOR_595_I(s, p, o, m) +# define BOOST_PP_FOR_596(s, p, o, m) BOOST_PP_FOR_596_I(s, p, o, m) +# define BOOST_PP_FOR_597(s, p, o, m) BOOST_PP_FOR_597_I(s, p, o, m) +# define BOOST_PP_FOR_598(s, p, o, m) BOOST_PP_FOR_598_I(s, p, o, m) +# define BOOST_PP_FOR_599(s, p, o, m) BOOST_PP_FOR_599_I(s, p, o, m) +# define BOOST_PP_FOR_600(s, p, o, m) BOOST_PP_FOR_600_I(s, p, o, m) +# define BOOST_PP_FOR_601(s, p, o, m) BOOST_PP_FOR_601_I(s, p, o, m) +# define BOOST_PP_FOR_602(s, p, o, m) BOOST_PP_FOR_602_I(s, p, o, m) +# define BOOST_PP_FOR_603(s, p, o, m) BOOST_PP_FOR_603_I(s, p, o, m) +# define BOOST_PP_FOR_604(s, p, o, m) BOOST_PP_FOR_604_I(s, p, o, m) +# define BOOST_PP_FOR_605(s, p, o, m) BOOST_PP_FOR_605_I(s, p, o, m) +# define BOOST_PP_FOR_606(s, p, o, m) BOOST_PP_FOR_606_I(s, p, o, m) +# define BOOST_PP_FOR_607(s, p, o, m) BOOST_PP_FOR_607_I(s, p, o, m) +# define BOOST_PP_FOR_608(s, p, o, m) BOOST_PP_FOR_608_I(s, p, o, m) +# define BOOST_PP_FOR_609(s, p, o, m) BOOST_PP_FOR_609_I(s, p, o, m) +# define BOOST_PP_FOR_610(s, p, o, m) BOOST_PP_FOR_610_I(s, p, o, m) +# define BOOST_PP_FOR_611(s, p, o, m) BOOST_PP_FOR_611_I(s, p, o, m) +# define BOOST_PP_FOR_612(s, p, o, m) BOOST_PP_FOR_612_I(s, p, o, m) +# define BOOST_PP_FOR_613(s, p, o, m) BOOST_PP_FOR_613_I(s, p, o, m) +# define BOOST_PP_FOR_614(s, p, o, m) BOOST_PP_FOR_614_I(s, p, o, m) +# define BOOST_PP_FOR_615(s, p, o, m) BOOST_PP_FOR_615_I(s, p, o, m) +# define BOOST_PP_FOR_616(s, p, o, m) BOOST_PP_FOR_616_I(s, p, o, m) +# define BOOST_PP_FOR_617(s, p, o, m) BOOST_PP_FOR_617_I(s, p, o, m) +# define BOOST_PP_FOR_618(s, p, o, m) BOOST_PP_FOR_618_I(s, p, o, m) +# define BOOST_PP_FOR_619(s, p, o, m) BOOST_PP_FOR_619_I(s, p, o, m) +# define BOOST_PP_FOR_620(s, p, o, m) BOOST_PP_FOR_620_I(s, p, o, m) +# define BOOST_PP_FOR_621(s, p, o, m) BOOST_PP_FOR_621_I(s, p, o, m) +# define BOOST_PP_FOR_622(s, p, o, m) BOOST_PP_FOR_622_I(s, p, o, m) +# define BOOST_PP_FOR_623(s, p, o, m) BOOST_PP_FOR_623_I(s, p, o, m) +# define BOOST_PP_FOR_624(s, p, o, m) BOOST_PP_FOR_624_I(s, p, o, m) +# define BOOST_PP_FOR_625(s, p, o, m) BOOST_PP_FOR_625_I(s, p, o, m) +# define BOOST_PP_FOR_626(s, p, o, m) BOOST_PP_FOR_626_I(s, p, o, m) +# define BOOST_PP_FOR_627(s, p, o, m) BOOST_PP_FOR_627_I(s, p, o, m) +# define BOOST_PP_FOR_628(s, p, o, m) BOOST_PP_FOR_628_I(s, p, o, m) +# define BOOST_PP_FOR_629(s, p, o, m) BOOST_PP_FOR_629_I(s, p, o, m) +# define BOOST_PP_FOR_630(s, p, o, m) BOOST_PP_FOR_630_I(s, p, o, m) +# define BOOST_PP_FOR_631(s, p, o, m) BOOST_PP_FOR_631_I(s, p, o, m) +# define BOOST_PP_FOR_632(s, p, o, m) BOOST_PP_FOR_632_I(s, p, o, m) +# define BOOST_PP_FOR_633(s, p, o, m) BOOST_PP_FOR_633_I(s, p, o, m) +# define BOOST_PP_FOR_634(s, p, o, m) BOOST_PP_FOR_634_I(s, p, o, m) +# define BOOST_PP_FOR_635(s, p, o, m) BOOST_PP_FOR_635_I(s, p, o, m) +# define BOOST_PP_FOR_636(s, p, o, m) BOOST_PP_FOR_636_I(s, p, o, m) +# define BOOST_PP_FOR_637(s, p, o, m) BOOST_PP_FOR_637_I(s, p, o, m) +# define BOOST_PP_FOR_638(s, p, o, m) BOOST_PP_FOR_638_I(s, p, o, m) +# define BOOST_PP_FOR_639(s, p, o, m) BOOST_PP_FOR_639_I(s, p, o, m) +# define BOOST_PP_FOR_640(s, p, o, m) BOOST_PP_FOR_640_I(s, p, o, m) +# define BOOST_PP_FOR_641(s, p, o, m) BOOST_PP_FOR_641_I(s, p, o, m) +# define BOOST_PP_FOR_642(s, p, o, m) BOOST_PP_FOR_642_I(s, p, o, m) +# define BOOST_PP_FOR_643(s, p, o, m) BOOST_PP_FOR_643_I(s, p, o, m) +# define BOOST_PP_FOR_644(s, p, o, m) BOOST_PP_FOR_644_I(s, p, o, m) +# define BOOST_PP_FOR_645(s, p, o, m) BOOST_PP_FOR_645_I(s, p, o, m) +# define BOOST_PP_FOR_646(s, p, o, m) BOOST_PP_FOR_646_I(s, p, o, m) +# define BOOST_PP_FOR_647(s, p, o, m) BOOST_PP_FOR_647_I(s, p, o, m) +# define BOOST_PP_FOR_648(s, p, o, m) BOOST_PP_FOR_648_I(s, p, o, m) +# define BOOST_PP_FOR_649(s, p, o, m) BOOST_PP_FOR_649_I(s, p, o, m) +# define BOOST_PP_FOR_650(s, p, o, m) BOOST_PP_FOR_650_I(s, p, o, m) +# define BOOST_PP_FOR_651(s, p, o, m) BOOST_PP_FOR_651_I(s, p, o, m) +# define BOOST_PP_FOR_652(s, p, o, m) BOOST_PP_FOR_652_I(s, p, o, m) +# define BOOST_PP_FOR_653(s, p, o, m) BOOST_PP_FOR_653_I(s, p, o, m) +# define BOOST_PP_FOR_654(s, p, o, m) BOOST_PP_FOR_654_I(s, p, o, m) +# define BOOST_PP_FOR_655(s, p, o, m) BOOST_PP_FOR_655_I(s, p, o, m) +# define BOOST_PP_FOR_656(s, p, o, m) BOOST_PP_FOR_656_I(s, p, o, m) +# define BOOST_PP_FOR_657(s, p, o, m) BOOST_PP_FOR_657_I(s, p, o, m) +# define BOOST_PP_FOR_658(s, p, o, m) BOOST_PP_FOR_658_I(s, p, o, m) +# define BOOST_PP_FOR_659(s, p, o, m) BOOST_PP_FOR_659_I(s, p, o, m) +# define BOOST_PP_FOR_660(s, p, o, m) BOOST_PP_FOR_660_I(s, p, o, m) +# define BOOST_PP_FOR_661(s, p, o, m) BOOST_PP_FOR_661_I(s, p, o, m) +# define BOOST_PP_FOR_662(s, p, o, m) BOOST_PP_FOR_662_I(s, p, o, m) +# define BOOST_PP_FOR_663(s, p, o, m) BOOST_PP_FOR_663_I(s, p, o, m) +# define BOOST_PP_FOR_664(s, p, o, m) BOOST_PP_FOR_664_I(s, p, o, m) +# define BOOST_PP_FOR_665(s, p, o, m) BOOST_PP_FOR_665_I(s, p, o, m) +# define BOOST_PP_FOR_666(s, p, o, m) BOOST_PP_FOR_666_I(s, p, o, m) +# define BOOST_PP_FOR_667(s, p, o, m) BOOST_PP_FOR_667_I(s, p, o, m) +# define BOOST_PP_FOR_668(s, p, o, m) BOOST_PP_FOR_668_I(s, p, o, m) +# define BOOST_PP_FOR_669(s, p, o, m) BOOST_PP_FOR_669_I(s, p, o, m) +# define BOOST_PP_FOR_670(s, p, o, m) BOOST_PP_FOR_670_I(s, p, o, m) +# define BOOST_PP_FOR_671(s, p, o, m) BOOST_PP_FOR_671_I(s, p, o, m) +# define BOOST_PP_FOR_672(s, p, o, m) BOOST_PP_FOR_672_I(s, p, o, m) +# define BOOST_PP_FOR_673(s, p, o, m) BOOST_PP_FOR_673_I(s, p, o, m) +# define BOOST_PP_FOR_674(s, p, o, m) BOOST_PP_FOR_674_I(s, p, o, m) +# define BOOST_PP_FOR_675(s, p, o, m) BOOST_PP_FOR_675_I(s, p, o, m) +# define BOOST_PP_FOR_676(s, p, o, m) BOOST_PP_FOR_676_I(s, p, o, m) +# define BOOST_PP_FOR_677(s, p, o, m) BOOST_PP_FOR_677_I(s, p, o, m) +# define BOOST_PP_FOR_678(s, p, o, m) BOOST_PP_FOR_678_I(s, p, o, m) +# define BOOST_PP_FOR_679(s, p, o, m) BOOST_PP_FOR_679_I(s, p, o, m) +# define BOOST_PP_FOR_680(s, p, o, m) BOOST_PP_FOR_680_I(s, p, o, m) +# define BOOST_PP_FOR_681(s, p, o, m) BOOST_PP_FOR_681_I(s, p, o, m) +# define BOOST_PP_FOR_682(s, p, o, m) BOOST_PP_FOR_682_I(s, p, o, m) +# define BOOST_PP_FOR_683(s, p, o, m) BOOST_PP_FOR_683_I(s, p, o, m) +# define BOOST_PP_FOR_684(s, p, o, m) BOOST_PP_FOR_684_I(s, p, o, m) +# define BOOST_PP_FOR_685(s, p, o, m) BOOST_PP_FOR_685_I(s, p, o, m) +# define BOOST_PP_FOR_686(s, p, o, m) BOOST_PP_FOR_686_I(s, p, o, m) +# define BOOST_PP_FOR_687(s, p, o, m) BOOST_PP_FOR_687_I(s, p, o, m) +# define BOOST_PP_FOR_688(s, p, o, m) BOOST_PP_FOR_688_I(s, p, o, m) +# define BOOST_PP_FOR_689(s, p, o, m) BOOST_PP_FOR_689_I(s, p, o, m) +# define BOOST_PP_FOR_690(s, p, o, m) BOOST_PP_FOR_690_I(s, p, o, m) +# define BOOST_PP_FOR_691(s, p, o, m) BOOST_PP_FOR_691_I(s, p, o, m) +# define BOOST_PP_FOR_692(s, p, o, m) BOOST_PP_FOR_692_I(s, p, o, m) +# define BOOST_PP_FOR_693(s, p, o, m) BOOST_PP_FOR_693_I(s, p, o, m) +# define BOOST_PP_FOR_694(s, p, o, m) BOOST_PP_FOR_694_I(s, p, o, m) +# define BOOST_PP_FOR_695(s, p, o, m) BOOST_PP_FOR_695_I(s, p, o, m) +# define BOOST_PP_FOR_696(s, p, o, m) BOOST_PP_FOR_696_I(s, p, o, m) +# define BOOST_PP_FOR_697(s, p, o, m) BOOST_PP_FOR_697_I(s, p, o, m) +# define BOOST_PP_FOR_698(s, p, o, m) BOOST_PP_FOR_698_I(s, p, o, m) +# define BOOST_PP_FOR_699(s, p, o, m) BOOST_PP_FOR_699_I(s, p, o, m) +# define BOOST_PP_FOR_700(s, p, o, m) BOOST_PP_FOR_700_I(s, p, o, m) +# define BOOST_PP_FOR_701(s, p, o, m) BOOST_PP_FOR_701_I(s, p, o, m) +# define BOOST_PP_FOR_702(s, p, o, m) BOOST_PP_FOR_702_I(s, p, o, m) +# define BOOST_PP_FOR_703(s, p, o, m) BOOST_PP_FOR_703_I(s, p, o, m) +# define BOOST_PP_FOR_704(s, p, o, m) BOOST_PP_FOR_704_I(s, p, o, m) +# define BOOST_PP_FOR_705(s, p, o, m) BOOST_PP_FOR_705_I(s, p, o, m) +# define BOOST_PP_FOR_706(s, p, o, m) BOOST_PP_FOR_706_I(s, p, o, m) +# define BOOST_PP_FOR_707(s, p, o, m) BOOST_PP_FOR_707_I(s, p, o, m) +# define BOOST_PP_FOR_708(s, p, o, m) BOOST_PP_FOR_708_I(s, p, o, m) +# define BOOST_PP_FOR_709(s, p, o, m) BOOST_PP_FOR_709_I(s, p, o, m) +# define BOOST_PP_FOR_710(s, p, o, m) BOOST_PP_FOR_710_I(s, p, o, m) +# define BOOST_PP_FOR_711(s, p, o, m) BOOST_PP_FOR_711_I(s, p, o, m) +# define BOOST_PP_FOR_712(s, p, o, m) BOOST_PP_FOR_712_I(s, p, o, m) +# define BOOST_PP_FOR_713(s, p, o, m) BOOST_PP_FOR_713_I(s, p, o, m) +# define BOOST_PP_FOR_714(s, p, o, m) BOOST_PP_FOR_714_I(s, p, o, m) +# define BOOST_PP_FOR_715(s, p, o, m) BOOST_PP_FOR_715_I(s, p, o, m) +# define BOOST_PP_FOR_716(s, p, o, m) BOOST_PP_FOR_716_I(s, p, o, m) +# define BOOST_PP_FOR_717(s, p, o, m) BOOST_PP_FOR_717_I(s, p, o, m) +# define BOOST_PP_FOR_718(s, p, o, m) BOOST_PP_FOR_718_I(s, p, o, m) +# define BOOST_PP_FOR_719(s, p, o, m) BOOST_PP_FOR_719_I(s, p, o, m) +# define BOOST_PP_FOR_720(s, p, o, m) BOOST_PP_FOR_720_I(s, p, o, m) +# define BOOST_PP_FOR_721(s, p, o, m) BOOST_PP_FOR_721_I(s, p, o, m) +# define BOOST_PP_FOR_722(s, p, o, m) BOOST_PP_FOR_722_I(s, p, o, m) +# define BOOST_PP_FOR_723(s, p, o, m) BOOST_PP_FOR_723_I(s, p, o, m) +# define BOOST_PP_FOR_724(s, p, o, m) BOOST_PP_FOR_724_I(s, p, o, m) +# define BOOST_PP_FOR_725(s, p, o, m) BOOST_PP_FOR_725_I(s, p, o, m) +# define BOOST_PP_FOR_726(s, p, o, m) BOOST_PP_FOR_726_I(s, p, o, m) +# define BOOST_PP_FOR_727(s, p, o, m) BOOST_PP_FOR_727_I(s, p, o, m) +# define BOOST_PP_FOR_728(s, p, o, m) BOOST_PP_FOR_728_I(s, p, o, m) +# define BOOST_PP_FOR_729(s, p, o, m) BOOST_PP_FOR_729_I(s, p, o, m) +# define BOOST_PP_FOR_730(s, p, o, m) BOOST_PP_FOR_730_I(s, p, o, m) +# define BOOST_PP_FOR_731(s, p, o, m) BOOST_PP_FOR_731_I(s, p, o, m) +# define BOOST_PP_FOR_732(s, p, o, m) BOOST_PP_FOR_732_I(s, p, o, m) +# define BOOST_PP_FOR_733(s, p, o, m) BOOST_PP_FOR_733_I(s, p, o, m) +# define BOOST_PP_FOR_734(s, p, o, m) BOOST_PP_FOR_734_I(s, p, o, m) +# define BOOST_PP_FOR_735(s, p, o, m) BOOST_PP_FOR_735_I(s, p, o, m) +# define BOOST_PP_FOR_736(s, p, o, m) BOOST_PP_FOR_736_I(s, p, o, m) +# define BOOST_PP_FOR_737(s, p, o, m) BOOST_PP_FOR_737_I(s, p, o, m) +# define BOOST_PP_FOR_738(s, p, o, m) BOOST_PP_FOR_738_I(s, p, o, m) +# define BOOST_PP_FOR_739(s, p, o, m) BOOST_PP_FOR_739_I(s, p, o, m) +# define BOOST_PP_FOR_740(s, p, o, m) BOOST_PP_FOR_740_I(s, p, o, m) +# define BOOST_PP_FOR_741(s, p, o, m) BOOST_PP_FOR_741_I(s, p, o, m) +# define BOOST_PP_FOR_742(s, p, o, m) BOOST_PP_FOR_742_I(s, p, o, m) +# define BOOST_PP_FOR_743(s, p, o, m) BOOST_PP_FOR_743_I(s, p, o, m) +# define BOOST_PP_FOR_744(s, p, o, m) BOOST_PP_FOR_744_I(s, p, o, m) +# define BOOST_PP_FOR_745(s, p, o, m) BOOST_PP_FOR_745_I(s, p, o, m) +# define BOOST_PP_FOR_746(s, p, o, m) BOOST_PP_FOR_746_I(s, p, o, m) +# define BOOST_PP_FOR_747(s, p, o, m) BOOST_PP_FOR_747_I(s, p, o, m) +# define BOOST_PP_FOR_748(s, p, o, m) BOOST_PP_FOR_748_I(s, p, o, m) +# define BOOST_PP_FOR_749(s, p, o, m) BOOST_PP_FOR_749_I(s, p, o, m) +# define BOOST_PP_FOR_750(s, p, o, m) BOOST_PP_FOR_750_I(s, p, o, m) +# define BOOST_PP_FOR_751(s, p, o, m) BOOST_PP_FOR_751_I(s, p, o, m) +# define BOOST_PP_FOR_752(s, p, o, m) BOOST_PP_FOR_752_I(s, p, o, m) +# define BOOST_PP_FOR_753(s, p, o, m) BOOST_PP_FOR_753_I(s, p, o, m) +# define BOOST_PP_FOR_754(s, p, o, m) BOOST_PP_FOR_754_I(s, p, o, m) +# define BOOST_PP_FOR_755(s, p, o, m) BOOST_PP_FOR_755_I(s, p, o, m) +# define BOOST_PP_FOR_756(s, p, o, m) BOOST_PP_FOR_756_I(s, p, o, m) +# define BOOST_PP_FOR_757(s, p, o, m) BOOST_PP_FOR_757_I(s, p, o, m) +# define BOOST_PP_FOR_758(s, p, o, m) BOOST_PP_FOR_758_I(s, p, o, m) +# define BOOST_PP_FOR_759(s, p, o, m) BOOST_PP_FOR_759_I(s, p, o, m) +# define BOOST_PP_FOR_760(s, p, o, m) BOOST_PP_FOR_760_I(s, p, o, m) +# define BOOST_PP_FOR_761(s, p, o, m) BOOST_PP_FOR_761_I(s, p, o, m) +# define BOOST_PP_FOR_762(s, p, o, m) BOOST_PP_FOR_762_I(s, p, o, m) +# define BOOST_PP_FOR_763(s, p, o, m) BOOST_PP_FOR_763_I(s, p, o, m) +# define BOOST_PP_FOR_764(s, p, o, m) BOOST_PP_FOR_764_I(s, p, o, m) +# define BOOST_PP_FOR_765(s, p, o, m) BOOST_PP_FOR_765_I(s, p, o, m) +# define BOOST_PP_FOR_766(s, p, o, m) BOOST_PP_FOR_766_I(s, p, o, m) +# define BOOST_PP_FOR_767(s, p, o, m) BOOST_PP_FOR_767_I(s, p, o, m) +# define BOOST_PP_FOR_768(s, p, o, m) BOOST_PP_FOR_768_I(s, p, o, m) +# define BOOST_PP_FOR_769(s, p, o, m) BOOST_PP_FOR_769_I(s, p, o, m) +# define BOOST_PP_FOR_770(s, p, o, m) BOOST_PP_FOR_770_I(s, p, o, m) +# define BOOST_PP_FOR_771(s, p, o, m) BOOST_PP_FOR_771_I(s, p, o, m) +# define BOOST_PP_FOR_772(s, p, o, m) BOOST_PP_FOR_772_I(s, p, o, m) +# define BOOST_PP_FOR_773(s, p, o, m) BOOST_PP_FOR_773_I(s, p, o, m) +# define BOOST_PP_FOR_774(s, p, o, m) BOOST_PP_FOR_774_I(s, p, o, m) +# define BOOST_PP_FOR_775(s, p, o, m) BOOST_PP_FOR_775_I(s, p, o, m) +# define BOOST_PP_FOR_776(s, p, o, m) BOOST_PP_FOR_776_I(s, p, o, m) +# define BOOST_PP_FOR_777(s, p, o, m) BOOST_PP_FOR_777_I(s, p, o, m) +# define BOOST_PP_FOR_778(s, p, o, m) BOOST_PP_FOR_778_I(s, p, o, m) +# define BOOST_PP_FOR_779(s, p, o, m) BOOST_PP_FOR_779_I(s, p, o, m) +# define BOOST_PP_FOR_780(s, p, o, m) BOOST_PP_FOR_780_I(s, p, o, m) +# define BOOST_PP_FOR_781(s, p, o, m) BOOST_PP_FOR_781_I(s, p, o, m) +# define BOOST_PP_FOR_782(s, p, o, m) BOOST_PP_FOR_782_I(s, p, o, m) +# define BOOST_PP_FOR_783(s, p, o, m) BOOST_PP_FOR_783_I(s, p, o, m) +# define BOOST_PP_FOR_784(s, p, o, m) BOOST_PP_FOR_784_I(s, p, o, m) +# define BOOST_PP_FOR_785(s, p, o, m) BOOST_PP_FOR_785_I(s, p, o, m) +# define BOOST_PP_FOR_786(s, p, o, m) BOOST_PP_FOR_786_I(s, p, o, m) +# define BOOST_PP_FOR_787(s, p, o, m) BOOST_PP_FOR_787_I(s, p, o, m) +# define BOOST_PP_FOR_788(s, p, o, m) BOOST_PP_FOR_788_I(s, p, o, m) +# define BOOST_PP_FOR_789(s, p, o, m) BOOST_PP_FOR_789_I(s, p, o, m) +# define BOOST_PP_FOR_790(s, p, o, m) BOOST_PP_FOR_790_I(s, p, o, m) +# define BOOST_PP_FOR_791(s, p, o, m) BOOST_PP_FOR_791_I(s, p, o, m) +# define BOOST_PP_FOR_792(s, p, o, m) BOOST_PP_FOR_792_I(s, p, o, m) +# define BOOST_PP_FOR_793(s, p, o, m) BOOST_PP_FOR_793_I(s, p, o, m) +# define BOOST_PP_FOR_794(s, p, o, m) BOOST_PP_FOR_794_I(s, p, o, m) +# define BOOST_PP_FOR_795(s, p, o, m) BOOST_PP_FOR_795_I(s, p, o, m) +# define BOOST_PP_FOR_796(s, p, o, m) BOOST_PP_FOR_796_I(s, p, o, m) +# define BOOST_PP_FOR_797(s, p, o, m) BOOST_PP_FOR_797_I(s, p, o, m) +# define BOOST_PP_FOR_798(s, p, o, m) BOOST_PP_FOR_798_I(s, p, o, m) +# define BOOST_PP_FOR_799(s, p, o, m) BOOST_PP_FOR_799_I(s, p, o, m) +# define BOOST_PP_FOR_800(s, p, o, m) BOOST_PP_FOR_800_I(s, p, o, m) +# define BOOST_PP_FOR_801(s, p, o, m) BOOST_PP_FOR_801_I(s, p, o, m) +# define BOOST_PP_FOR_802(s, p, o, m) BOOST_PP_FOR_802_I(s, p, o, m) +# define BOOST_PP_FOR_803(s, p, o, m) BOOST_PP_FOR_803_I(s, p, o, m) +# define BOOST_PP_FOR_804(s, p, o, m) BOOST_PP_FOR_804_I(s, p, o, m) +# define BOOST_PP_FOR_805(s, p, o, m) BOOST_PP_FOR_805_I(s, p, o, m) +# define BOOST_PP_FOR_806(s, p, o, m) BOOST_PP_FOR_806_I(s, p, o, m) +# define BOOST_PP_FOR_807(s, p, o, m) BOOST_PP_FOR_807_I(s, p, o, m) +# define BOOST_PP_FOR_808(s, p, o, m) BOOST_PP_FOR_808_I(s, p, o, m) +# define BOOST_PP_FOR_809(s, p, o, m) BOOST_PP_FOR_809_I(s, p, o, m) +# define BOOST_PP_FOR_810(s, p, o, m) BOOST_PP_FOR_810_I(s, p, o, m) +# define BOOST_PP_FOR_811(s, p, o, m) BOOST_PP_FOR_811_I(s, p, o, m) +# define BOOST_PP_FOR_812(s, p, o, m) BOOST_PP_FOR_812_I(s, p, o, m) +# define BOOST_PP_FOR_813(s, p, o, m) BOOST_PP_FOR_813_I(s, p, o, m) +# define BOOST_PP_FOR_814(s, p, o, m) BOOST_PP_FOR_814_I(s, p, o, m) +# define BOOST_PP_FOR_815(s, p, o, m) BOOST_PP_FOR_815_I(s, p, o, m) +# define BOOST_PP_FOR_816(s, p, o, m) BOOST_PP_FOR_816_I(s, p, o, m) +# define BOOST_PP_FOR_817(s, p, o, m) BOOST_PP_FOR_817_I(s, p, o, m) +# define BOOST_PP_FOR_818(s, p, o, m) BOOST_PP_FOR_818_I(s, p, o, m) +# define BOOST_PP_FOR_819(s, p, o, m) BOOST_PP_FOR_819_I(s, p, o, m) +# define BOOST_PP_FOR_820(s, p, o, m) BOOST_PP_FOR_820_I(s, p, o, m) +# define BOOST_PP_FOR_821(s, p, o, m) BOOST_PP_FOR_821_I(s, p, o, m) +# define BOOST_PP_FOR_822(s, p, o, m) BOOST_PP_FOR_822_I(s, p, o, m) +# define BOOST_PP_FOR_823(s, p, o, m) BOOST_PP_FOR_823_I(s, p, o, m) +# define BOOST_PP_FOR_824(s, p, o, m) BOOST_PP_FOR_824_I(s, p, o, m) +# define BOOST_PP_FOR_825(s, p, o, m) BOOST_PP_FOR_825_I(s, p, o, m) +# define BOOST_PP_FOR_826(s, p, o, m) BOOST_PP_FOR_826_I(s, p, o, m) +# define BOOST_PP_FOR_827(s, p, o, m) BOOST_PP_FOR_827_I(s, p, o, m) +# define BOOST_PP_FOR_828(s, p, o, m) BOOST_PP_FOR_828_I(s, p, o, m) +# define BOOST_PP_FOR_829(s, p, o, m) BOOST_PP_FOR_829_I(s, p, o, m) +# define BOOST_PP_FOR_830(s, p, o, m) BOOST_PP_FOR_830_I(s, p, o, m) +# define BOOST_PP_FOR_831(s, p, o, m) BOOST_PP_FOR_831_I(s, p, o, m) +# define BOOST_PP_FOR_832(s, p, o, m) BOOST_PP_FOR_832_I(s, p, o, m) +# define BOOST_PP_FOR_833(s, p, o, m) BOOST_PP_FOR_833_I(s, p, o, m) +# define BOOST_PP_FOR_834(s, p, o, m) BOOST_PP_FOR_834_I(s, p, o, m) +# define BOOST_PP_FOR_835(s, p, o, m) BOOST_PP_FOR_835_I(s, p, o, m) +# define BOOST_PP_FOR_836(s, p, o, m) BOOST_PP_FOR_836_I(s, p, o, m) +# define BOOST_PP_FOR_837(s, p, o, m) BOOST_PP_FOR_837_I(s, p, o, m) +# define BOOST_PP_FOR_838(s, p, o, m) BOOST_PP_FOR_838_I(s, p, o, m) +# define BOOST_PP_FOR_839(s, p, o, m) BOOST_PP_FOR_839_I(s, p, o, m) +# define BOOST_PP_FOR_840(s, p, o, m) BOOST_PP_FOR_840_I(s, p, o, m) +# define BOOST_PP_FOR_841(s, p, o, m) BOOST_PP_FOR_841_I(s, p, o, m) +# define BOOST_PP_FOR_842(s, p, o, m) BOOST_PP_FOR_842_I(s, p, o, m) +# define BOOST_PP_FOR_843(s, p, o, m) BOOST_PP_FOR_843_I(s, p, o, m) +# define BOOST_PP_FOR_844(s, p, o, m) BOOST_PP_FOR_844_I(s, p, o, m) +# define BOOST_PP_FOR_845(s, p, o, m) BOOST_PP_FOR_845_I(s, p, o, m) +# define BOOST_PP_FOR_846(s, p, o, m) BOOST_PP_FOR_846_I(s, p, o, m) +# define BOOST_PP_FOR_847(s, p, o, m) BOOST_PP_FOR_847_I(s, p, o, m) +# define BOOST_PP_FOR_848(s, p, o, m) BOOST_PP_FOR_848_I(s, p, o, m) +# define BOOST_PP_FOR_849(s, p, o, m) BOOST_PP_FOR_849_I(s, p, o, m) +# define BOOST_PP_FOR_850(s, p, o, m) BOOST_PP_FOR_850_I(s, p, o, m) +# define BOOST_PP_FOR_851(s, p, o, m) BOOST_PP_FOR_851_I(s, p, o, m) +# define BOOST_PP_FOR_852(s, p, o, m) BOOST_PP_FOR_852_I(s, p, o, m) +# define BOOST_PP_FOR_853(s, p, o, m) BOOST_PP_FOR_853_I(s, p, o, m) +# define BOOST_PP_FOR_854(s, p, o, m) BOOST_PP_FOR_854_I(s, p, o, m) +# define BOOST_PP_FOR_855(s, p, o, m) BOOST_PP_FOR_855_I(s, p, o, m) +# define BOOST_PP_FOR_856(s, p, o, m) BOOST_PP_FOR_856_I(s, p, o, m) +# define BOOST_PP_FOR_857(s, p, o, m) BOOST_PP_FOR_857_I(s, p, o, m) +# define BOOST_PP_FOR_858(s, p, o, m) BOOST_PP_FOR_858_I(s, p, o, m) +# define BOOST_PP_FOR_859(s, p, o, m) BOOST_PP_FOR_859_I(s, p, o, m) +# define BOOST_PP_FOR_860(s, p, o, m) BOOST_PP_FOR_860_I(s, p, o, m) +# define BOOST_PP_FOR_861(s, p, o, m) BOOST_PP_FOR_861_I(s, p, o, m) +# define BOOST_PP_FOR_862(s, p, o, m) BOOST_PP_FOR_862_I(s, p, o, m) +# define BOOST_PP_FOR_863(s, p, o, m) BOOST_PP_FOR_863_I(s, p, o, m) +# define BOOST_PP_FOR_864(s, p, o, m) BOOST_PP_FOR_864_I(s, p, o, m) +# define BOOST_PP_FOR_865(s, p, o, m) BOOST_PP_FOR_865_I(s, p, o, m) +# define BOOST_PP_FOR_866(s, p, o, m) BOOST_PP_FOR_866_I(s, p, o, m) +# define BOOST_PP_FOR_867(s, p, o, m) BOOST_PP_FOR_867_I(s, p, o, m) +# define BOOST_PP_FOR_868(s, p, o, m) BOOST_PP_FOR_868_I(s, p, o, m) +# define BOOST_PP_FOR_869(s, p, o, m) BOOST_PP_FOR_869_I(s, p, o, m) +# define BOOST_PP_FOR_870(s, p, o, m) BOOST_PP_FOR_870_I(s, p, o, m) +# define BOOST_PP_FOR_871(s, p, o, m) BOOST_PP_FOR_871_I(s, p, o, m) +# define BOOST_PP_FOR_872(s, p, o, m) BOOST_PP_FOR_872_I(s, p, o, m) +# define BOOST_PP_FOR_873(s, p, o, m) BOOST_PP_FOR_873_I(s, p, o, m) +# define BOOST_PP_FOR_874(s, p, o, m) BOOST_PP_FOR_874_I(s, p, o, m) +# define BOOST_PP_FOR_875(s, p, o, m) BOOST_PP_FOR_875_I(s, p, o, m) +# define BOOST_PP_FOR_876(s, p, o, m) BOOST_PP_FOR_876_I(s, p, o, m) +# define BOOST_PP_FOR_877(s, p, o, m) BOOST_PP_FOR_877_I(s, p, o, m) +# define BOOST_PP_FOR_878(s, p, o, m) BOOST_PP_FOR_878_I(s, p, o, m) +# define BOOST_PP_FOR_879(s, p, o, m) BOOST_PP_FOR_879_I(s, p, o, m) +# define BOOST_PP_FOR_880(s, p, o, m) BOOST_PP_FOR_880_I(s, p, o, m) +# define BOOST_PP_FOR_881(s, p, o, m) BOOST_PP_FOR_881_I(s, p, o, m) +# define BOOST_PP_FOR_882(s, p, o, m) BOOST_PP_FOR_882_I(s, p, o, m) +# define BOOST_PP_FOR_883(s, p, o, m) BOOST_PP_FOR_883_I(s, p, o, m) +# define BOOST_PP_FOR_884(s, p, o, m) BOOST_PP_FOR_884_I(s, p, o, m) +# define BOOST_PP_FOR_885(s, p, o, m) BOOST_PP_FOR_885_I(s, p, o, m) +# define BOOST_PP_FOR_886(s, p, o, m) BOOST_PP_FOR_886_I(s, p, o, m) +# define BOOST_PP_FOR_887(s, p, o, m) BOOST_PP_FOR_887_I(s, p, o, m) +# define BOOST_PP_FOR_888(s, p, o, m) BOOST_PP_FOR_888_I(s, p, o, m) +# define BOOST_PP_FOR_889(s, p, o, m) BOOST_PP_FOR_889_I(s, p, o, m) +# define BOOST_PP_FOR_890(s, p, o, m) BOOST_PP_FOR_890_I(s, p, o, m) +# define BOOST_PP_FOR_891(s, p, o, m) BOOST_PP_FOR_891_I(s, p, o, m) +# define BOOST_PP_FOR_892(s, p, o, m) BOOST_PP_FOR_892_I(s, p, o, m) +# define BOOST_PP_FOR_893(s, p, o, m) BOOST_PP_FOR_893_I(s, p, o, m) +# define BOOST_PP_FOR_894(s, p, o, m) BOOST_PP_FOR_894_I(s, p, o, m) +# define BOOST_PP_FOR_895(s, p, o, m) BOOST_PP_FOR_895_I(s, p, o, m) +# define BOOST_PP_FOR_896(s, p, o, m) BOOST_PP_FOR_896_I(s, p, o, m) +# define BOOST_PP_FOR_897(s, p, o, m) BOOST_PP_FOR_897_I(s, p, o, m) +# define BOOST_PP_FOR_898(s, p, o, m) BOOST_PP_FOR_898_I(s, p, o, m) +# define BOOST_PP_FOR_899(s, p, o, m) BOOST_PP_FOR_899_I(s, p, o, m) +# define BOOST_PP_FOR_900(s, p, o, m) BOOST_PP_FOR_900_I(s, p, o, m) +# define BOOST_PP_FOR_901(s, p, o, m) BOOST_PP_FOR_901_I(s, p, o, m) +# define BOOST_PP_FOR_902(s, p, o, m) BOOST_PP_FOR_902_I(s, p, o, m) +# define BOOST_PP_FOR_903(s, p, o, m) BOOST_PP_FOR_903_I(s, p, o, m) +# define BOOST_PP_FOR_904(s, p, o, m) BOOST_PP_FOR_904_I(s, p, o, m) +# define BOOST_PP_FOR_905(s, p, o, m) BOOST_PP_FOR_905_I(s, p, o, m) +# define BOOST_PP_FOR_906(s, p, o, m) BOOST_PP_FOR_906_I(s, p, o, m) +# define BOOST_PP_FOR_907(s, p, o, m) BOOST_PP_FOR_907_I(s, p, o, m) +# define BOOST_PP_FOR_908(s, p, o, m) BOOST_PP_FOR_908_I(s, p, o, m) +# define BOOST_PP_FOR_909(s, p, o, m) BOOST_PP_FOR_909_I(s, p, o, m) +# define BOOST_PP_FOR_910(s, p, o, m) BOOST_PP_FOR_910_I(s, p, o, m) +# define BOOST_PP_FOR_911(s, p, o, m) BOOST_PP_FOR_911_I(s, p, o, m) +# define BOOST_PP_FOR_912(s, p, o, m) BOOST_PP_FOR_912_I(s, p, o, m) +# define BOOST_PP_FOR_913(s, p, o, m) BOOST_PP_FOR_913_I(s, p, o, m) +# define BOOST_PP_FOR_914(s, p, o, m) BOOST_PP_FOR_914_I(s, p, o, m) +# define BOOST_PP_FOR_915(s, p, o, m) BOOST_PP_FOR_915_I(s, p, o, m) +# define BOOST_PP_FOR_916(s, p, o, m) BOOST_PP_FOR_916_I(s, p, o, m) +# define BOOST_PP_FOR_917(s, p, o, m) BOOST_PP_FOR_917_I(s, p, o, m) +# define BOOST_PP_FOR_918(s, p, o, m) BOOST_PP_FOR_918_I(s, p, o, m) +# define BOOST_PP_FOR_919(s, p, o, m) BOOST_PP_FOR_919_I(s, p, o, m) +# define BOOST_PP_FOR_920(s, p, o, m) BOOST_PP_FOR_920_I(s, p, o, m) +# define BOOST_PP_FOR_921(s, p, o, m) BOOST_PP_FOR_921_I(s, p, o, m) +# define BOOST_PP_FOR_922(s, p, o, m) BOOST_PP_FOR_922_I(s, p, o, m) +# define BOOST_PP_FOR_923(s, p, o, m) BOOST_PP_FOR_923_I(s, p, o, m) +# define BOOST_PP_FOR_924(s, p, o, m) BOOST_PP_FOR_924_I(s, p, o, m) +# define BOOST_PP_FOR_925(s, p, o, m) BOOST_PP_FOR_925_I(s, p, o, m) +# define BOOST_PP_FOR_926(s, p, o, m) BOOST_PP_FOR_926_I(s, p, o, m) +# define BOOST_PP_FOR_927(s, p, o, m) BOOST_PP_FOR_927_I(s, p, o, m) +# define BOOST_PP_FOR_928(s, p, o, m) BOOST_PP_FOR_928_I(s, p, o, m) +# define BOOST_PP_FOR_929(s, p, o, m) BOOST_PP_FOR_929_I(s, p, o, m) +# define BOOST_PP_FOR_930(s, p, o, m) BOOST_PP_FOR_930_I(s, p, o, m) +# define BOOST_PP_FOR_931(s, p, o, m) BOOST_PP_FOR_931_I(s, p, o, m) +# define BOOST_PP_FOR_932(s, p, o, m) BOOST_PP_FOR_932_I(s, p, o, m) +# define BOOST_PP_FOR_933(s, p, o, m) BOOST_PP_FOR_933_I(s, p, o, m) +# define BOOST_PP_FOR_934(s, p, o, m) BOOST_PP_FOR_934_I(s, p, o, m) +# define BOOST_PP_FOR_935(s, p, o, m) BOOST_PP_FOR_935_I(s, p, o, m) +# define BOOST_PP_FOR_936(s, p, o, m) BOOST_PP_FOR_936_I(s, p, o, m) +# define BOOST_PP_FOR_937(s, p, o, m) BOOST_PP_FOR_937_I(s, p, o, m) +# define BOOST_PP_FOR_938(s, p, o, m) BOOST_PP_FOR_938_I(s, p, o, m) +# define BOOST_PP_FOR_939(s, p, o, m) BOOST_PP_FOR_939_I(s, p, o, m) +# define BOOST_PP_FOR_940(s, p, o, m) BOOST_PP_FOR_940_I(s, p, o, m) +# define BOOST_PP_FOR_941(s, p, o, m) BOOST_PP_FOR_941_I(s, p, o, m) +# define BOOST_PP_FOR_942(s, p, o, m) BOOST_PP_FOR_942_I(s, p, o, m) +# define BOOST_PP_FOR_943(s, p, o, m) BOOST_PP_FOR_943_I(s, p, o, m) +# define BOOST_PP_FOR_944(s, p, o, m) BOOST_PP_FOR_944_I(s, p, o, m) +# define BOOST_PP_FOR_945(s, p, o, m) BOOST_PP_FOR_945_I(s, p, o, m) +# define BOOST_PP_FOR_946(s, p, o, m) BOOST_PP_FOR_946_I(s, p, o, m) +# define BOOST_PP_FOR_947(s, p, o, m) BOOST_PP_FOR_947_I(s, p, o, m) +# define BOOST_PP_FOR_948(s, p, o, m) BOOST_PP_FOR_948_I(s, p, o, m) +# define BOOST_PP_FOR_949(s, p, o, m) BOOST_PP_FOR_949_I(s, p, o, m) +# define BOOST_PP_FOR_950(s, p, o, m) BOOST_PP_FOR_950_I(s, p, o, m) +# define BOOST_PP_FOR_951(s, p, o, m) BOOST_PP_FOR_951_I(s, p, o, m) +# define BOOST_PP_FOR_952(s, p, o, m) BOOST_PP_FOR_952_I(s, p, o, m) +# define BOOST_PP_FOR_953(s, p, o, m) BOOST_PP_FOR_953_I(s, p, o, m) +# define BOOST_PP_FOR_954(s, p, o, m) BOOST_PP_FOR_954_I(s, p, o, m) +# define BOOST_PP_FOR_955(s, p, o, m) BOOST_PP_FOR_955_I(s, p, o, m) +# define BOOST_PP_FOR_956(s, p, o, m) BOOST_PP_FOR_956_I(s, p, o, m) +# define BOOST_PP_FOR_957(s, p, o, m) BOOST_PP_FOR_957_I(s, p, o, m) +# define BOOST_PP_FOR_958(s, p, o, m) BOOST_PP_FOR_958_I(s, p, o, m) +# define BOOST_PP_FOR_959(s, p, o, m) BOOST_PP_FOR_959_I(s, p, o, m) +# define BOOST_PP_FOR_960(s, p, o, m) BOOST_PP_FOR_960_I(s, p, o, m) +# define BOOST_PP_FOR_961(s, p, o, m) BOOST_PP_FOR_961_I(s, p, o, m) +# define BOOST_PP_FOR_962(s, p, o, m) BOOST_PP_FOR_962_I(s, p, o, m) +# define BOOST_PP_FOR_963(s, p, o, m) BOOST_PP_FOR_963_I(s, p, o, m) +# define BOOST_PP_FOR_964(s, p, o, m) BOOST_PP_FOR_964_I(s, p, o, m) +# define BOOST_PP_FOR_965(s, p, o, m) BOOST_PP_FOR_965_I(s, p, o, m) +# define BOOST_PP_FOR_966(s, p, o, m) BOOST_PP_FOR_966_I(s, p, o, m) +# define BOOST_PP_FOR_967(s, p, o, m) BOOST_PP_FOR_967_I(s, p, o, m) +# define BOOST_PP_FOR_968(s, p, o, m) BOOST_PP_FOR_968_I(s, p, o, m) +# define BOOST_PP_FOR_969(s, p, o, m) BOOST_PP_FOR_969_I(s, p, o, m) +# define BOOST_PP_FOR_970(s, p, o, m) BOOST_PP_FOR_970_I(s, p, o, m) +# define BOOST_PP_FOR_971(s, p, o, m) BOOST_PP_FOR_971_I(s, p, o, m) +# define BOOST_PP_FOR_972(s, p, o, m) BOOST_PP_FOR_972_I(s, p, o, m) +# define BOOST_PP_FOR_973(s, p, o, m) BOOST_PP_FOR_973_I(s, p, o, m) +# define BOOST_PP_FOR_974(s, p, o, m) BOOST_PP_FOR_974_I(s, p, o, m) +# define BOOST_PP_FOR_975(s, p, o, m) BOOST_PP_FOR_975_I(s, p, o, m) +# define BOOST_PP_FOR_976(s, p, o, m) BOOST_PP_FOR_976_I(s, p, o, m) +# define BOOST_PP_FOR_977(s, p, o, m) BOOST_PP_FOR_977_I(s, p, o, m) +# define BOOST_PP_FOR_978(s, p, o, m) BOOST_PP_FOR_978_I(s, p, o, m) +# define BOOST_PP_FOR_979(s, p, o, m) BOOST_PP_FOR_979_I(s, p, o, m) +# define BOOST_PP_FOR_980(s, p, o, m) BOOST_PP_FOR_980_I(s, p, o, m) +# define BOOST_PP_FOR_981(s, p, o, m) BOOST_PP_FOR_981_I(s, p, o, m) +# define BOOST_PP_FOR_982(s, p, o, m) BOOST_PP_FOR_982_I(s, p, o, m) +# define BOOST_PP_FOR_983(s, p, o, m) BOOST_PP_FOR_983_I(s, p, o, m) +# define BOOST_PP_FOR_984(s, p, o, m) BOOST_PP_FOR_984_I(s, p, o, m) +# define BOOST_PP_FOR_985(s, p, o, m) BOOST_PP_FOR_985_I(s, p, o, m) +# define BOOST_PP_FOR_986(s, p, o, m) BOOST_PP_FOR_986_I(s, p, o, m) +# define BOOST_PP_FOR_987(s, p, o, m) BOOST_PP_FOR_987_I(s, p, o, m) +# define BOOST_PP_FOR_988(s, p, o, m) BOOST_PP_FOR_988_I(s, p, o, m) +# define BOOST_PP_FOR_989(s, p, o, m) BOOST_PP_FOR_989_I(s, p, o, m) +# define BOOST_PP_FOR_990(s, p, o, m) BOOST_PP_FOR_990_I(s, p, o, m) +# define BOOST_PP_FOR_991(s, p, o, m) BOOST_PP_FOR_991_I(s, p, o, m) +# define BOOST_PP_FOR_992(s, p, o, m) BOOST_PP_FOR_992_I(s, p, o, m) +# define BOOST_PP_FOR_993(s, p, o, m) BOOST_PP_FOR_993_I(s, p, o, m) +# define BOOST_PP_FOR_994(s, p, o, m) BOOST_PP_FOR_994_I(s, p, o, m) +# define BOOST_PP_FOR_995(s, p, o, m) BOOST_PP_FOR_995_I(s, p, o, m) +# define BOOST_PP_FOR_996(s, p, o, m) BOOST_PP_FOR_996_I(s, p, o, m) +# define BOOST_PP_FOR_997(s, p, o, m) BOOST_PP_FOR_997_I(s, p, o, m) +# define BOOST_PP_FOR_998(s, p, o, m) BOOST_PP_FOR_998_I(s, p, o, m) +# define BOOST_PP_FOR_999(s, p, o, m) BOOST_PP_FOR_999_I(s, p, o, m) +# define BOOST_PP_FOR_1000(s, p, o, m) BOOST_PP_FOR_1000_I(s, p, o, m) +# define BOOST_PP_FOR_1001(s, p, o, m) BOOST_PP_FOR_1001_I(s, p, o, m) +# define BOOST_PP_FOR_1002(s, p, o, m) BOOST_PP_FOR_1002_I(s, p, o, m) +# define BOOST_PP_FOR_1003(s, p, o, m) BOOST_PP_FOR_1003_I(s, p, o, m) +# define BOOST_PP_FOR_1004(s, p, o, m) BOOST_PP_FOR_1004_I(s, p, o, m) +# define BOOST_PP_FOR_1005(s, p, o, m) BOOST_PP_FOR_1005_I(s, p, o, m) +# define BOOST_PP_FOR_1006(s, p, o, m) BOOST_PP_FOR_1006_I(s, p, o, m) +# define BOOST_PP_FOR_1007(s, p, o, m) BOOST_PP_FOR_1007_I(s, p, o, m) +# define BOOST_PP_FOR_1008(s, p, o, m) BOOST_PP_FOR_1008_I(s, p, o, m) +# define BOOST_PP_FOR_1009(s, p, o, m) BOOST_PP_FOR_1009_I(s, p, o, m) +# define BOOST_PP_FOR_1010(s, p, o, m) BOOST_PP_FOR_1010_I(s, p, o, m) +# define BOOST_PP_FOR_1011(s, p, o, m) BOOST_PP_FOR_1011_I(s, p, o, m) +# define BOOST_PP_FOR_1012(s, p, o, m) BOOST_PP_FOR_1012_I(s, p, o, m) +# define BOOST_PP_FOR_1013(s, p, o, m) BOOST_PP_FOR_1013_I(s, p, o, m) +# define BOOST_PP_FOR_1014(s, p, o, m) BOOST_PP_FOR_1014_I(s, p, o, m) +# define BOOST_PP_FOR_1015(s, p, o, m) BOOST_PP_FOR_1015_I(s, p, o, m) +# define BOOST_PP_FOR_1016(s, p, o, m) BOOST_PP_FOR_1016_I(s, p, o, m) +# define BOOST_PP_FOR_1017(s, p, o, m) BOOST_PP_FOR_1017_I(s, p, o, m) +# define BOOST_PP_FOR_1018(s, p, o, m) BOOST_PP_FOR_1018_I(s, p, o, m) +# define BOOST_PP_FOR_1019(s, p, o, m) BOOST_PP_FOR_1019_I(s, p, o, m) +# define BOOST_PP_FOR_1020(s, p, o, m) BOOST_PP_FOR_1020_I(s, p, o, m) +# define BOOST_PP_FOR_1021(s, p, o, m) BOOST_PP_FOR_1021_I(s, p, o, m) +# define BOOST_PP_FOR_1022(s, p, o, m) BOOST_PP_FOR_1022_I(s, p, o, m) +# define BOOST_PP_FOR_1023(s, p, o, m) BOOST_PP_FOR_1023_I(s, p, o, m) +# define BOOST_PP_FOR_1024(s, p, o, m) BOOST_PP_FOR_1024_I(s, p, o, m) +# +# define BOOST_PP_FOR_513_I(s, p, o, m) BOOST_PP_IF(p(514, s), m, BOOST_PP_TUPLE_EAT_2)(514, s) BOOST_PP_IF(p(514, s), BOOST_PP_FOR_514, BOOST_PP_TUPLE_EAT_4)(o(514, s), p, o, m) +# define BOOST_PP_FOR_514_I(s, p, o, m) BOOST_PP_IF(p(515, s), m, BOOST_PP_TUPLE_EAT_2)(515, s) BOOST_PP_IF(p(515, s), BOOST_PP_FOR_515, BOOST_PP_TUPLE_EAT_4)(o(515, s), p, o, m) +# define BOOST_PP_FOR_515_I(s, p, o, m) BOOST_PP_IF(p(516, s), m, BOOST_PP_TUPLE_EAT_2)(516, s) BOOST_PP_IF(p(516, s), BOOST_PP_FOR_516, BOOST_PP_TUPLE_EAT_4)(o(516, s), p, o, m) +# define BOOST_PP_FOR_516_I(s, p, o, m) BOOST_PP_IF(p(517, s), m, BOOST_PP_TUPLE_EAT_2)(517, s) BOOST_PP_IF(p(517, s), BOOST_PP_FOR_517, BOOST_PP_TUPLE_EAT_4)(o(517, s), p, o, m) +# define BOOST_PP_FOR_517_I(s, p, o, m) BOOST_PP_IF(p(518, s), m, BOOST_PP_TUPLE_EAT_2)(518, s) BOOST_PP_IF(p(518, s), BOOST_PP_FOR_518, BOOST_PP_TUPLE_EAT_4)(o(518, s), p, o, m) +# define BOOST_PP_FOR_518_I(s, p, o, m) BOOST_PP_IF(p(519, s), m, BOOST_PP_TUPLE_EAT_2)(519, s) BOOST_PP_IF(p(519, s), BOOST_PP_FOR_519, BOOST_PP_TUPLE_EAT_4)(o(519, s), p, o, m) +# define BOOST_PP_FOR_519_I(s, p, o, m) BOOST_PP_IF(p(520, s), m, BOOST_PP_TUPLE_EAT_2)(520, s) BOOST_PP_IF(p(520, s), BOOST_PP_FOR_520, BOOST_PP_TUPLE_EAT_4)(o(520, s), p, o, m) +# define BOOST_PP_FOR_520_I(s, p, o, m) BOOST_PP_IF(p(521, s), m, BOOST_PP_TUPLE_EAT_2)(521, s) BOOST_PP_IF(p(521, s), BOOST_PP_FOR_521, BOOST_PP_TUPLE_EAT_4)(o(521, s), p, o, m) +# define BOOST_PP_FOR_521_I(s, p, o, m) BOOST_PP_IF(p(522, s), m, BOOST_PP_TUPLE_EAT_2)(522, s) BOOST_PP_IF(p(522, s), BOOST_PP_FOR_522, BOOST_PP_TUPLE_EAT_4)(o(522, s), p, o, m) +# define BOOST_PP_FOR_522_I(s, p, o, m) BOOST_PP_IF(p(523, s), m, BOOST_PP_TUPLE_EAT_2)(523, s) BOOST_PP_IF(p(523, s), BOOST_PP_FOR_523, BOOST_PP_TUPLE_EAT_4)(o(523, s), p, o, m) +# define BOOST_PP_FOR_523_I(s, p, o, m) BOOST_PP_IF(p(524, s), m, BOOST_PP_TUPLE_EAT_2)(524, s) BOOST_PP_IF(p(524, s), BOOST_PP_FOR_524, BOOST_PP_TUPLE_EAT_4)(o(524, s), p, o, m) +# define BOOST_PP_FOR_524_I(s, p, o, m) BOOST_PP_IF(p(525, s), m, BOOST_PP_TUPLE_EAT_2)(525, s) BOOST_PP_IF(p(525, s), BOOST_PP_FOR_525, BOOST_PP_TUPLE_EAT_4)(o(525, s), p, o, m) +# define BOOST_PP_FOR_525_I(s, p, o, m) BOOST_PP_IF(p(526, s), m, BOOST_PP_TUPLE_EAT_2)(526, s) BOOST_PP_IF(p(526, s), BOOST_PP_FOR_526, BOOST_PP_TUPLE_EAT_4)(o(526, s), p, o, m) +# define BOOST_PP_FOR_526_I(s, p, o, m) BOOST_PP_IF(p(527, s), m, BOOST_PP_TUPLE_EAT_2)(527, s) BOOST_PP_IF(p(527, s), BOOST_PP_FOR_527, BOOST_PP_TUPLE_EAT_4)(o(527, s), p, o, m) +# define BOOST_PP_FOR_527_I(s, p, o, m) BOOST_PP_IF(p(528, s), m, BOOST_PP_TUPLE_EAT_2)(528, s) BOOST_PP_IF(p(528, s), BOOST_PP_FOR_528, BOOST_PP_TUPLE_EAT_4)(o(528, s), p, o, m) +# define BOOST_PP_FOR_528_I(s, p, o, m) BOOST_PP_IF(p(529, s), m, BOOST_PP_TUPLE_EAT_2)(529, s) BOOST_PP_IF(p(529, s), BOOST_PP_FOR_529, BOOST_PP_TUPLE_EAT_4)(o(529, s), p, o, m) +# define BOOST_PP_FOR_529_I(s, p, o, m) BOOST_PP_IF(p(530, s), m, BOOST_PP_TUPLE_EAT_2)(530, s) BOOST_PP_IF(p(530, s), BOOST_PP_FOR_530, BOOST_PP_TUPLE_EAT_4)(o(530, s), p, o, m) +# define BOOST_PP_FOR_530_I(s, p, o, m) BOOST_PP_IF(p(531, s), m, BOOST_PP_TUPLE_EAT_2)(531, s) BOOST_PP_IF(p(531, s), BOOST_PP_FOR_531, BOOST_PP_TUPLE_EAT_4)(o(531, s), p, o, m) +# define BOOST_PP_FOR_531_I(s, p, o, m) BOOST_PP_IF(p(532, s), m, BOOST_PP_TUPLE_EAT_2)(532, s) BOOST_PP_IF(p(532, s), BOOST_PP_FOR_532, BOOST_PP_TUPLE_EAT_4)(o(532, s), p, o, m) +# define BOOST_PP_FOR_532_I(s, p, o, m) BOOST_PP_IF(p(533, s), m, BOOST_PP_TUPLE_EAT_2)(533, s) BOOST_PP_IF(p(533, s), BOOST_PP_FOR_533, BOOST_PP_TUPLE_EAT_4)(o(533, s), p, o, m) +# define BOOST_PP_FOR_533_I(s, p, o, m) BOOST_PP_IF(p(534, s), m, BOOST_PP_TUPLE_EAT_2)(534, s) BOOST_PP_IF(p(534, s), BOOST_PP_FOR_534, BOOST_PP_TUPLE_EAT_4)(o(534, s), p, o, m) +# define BOOST_PP_FOR_534_I(s, p, o, m) BOOST_PP_IF(p(535, s), m, BOOST_PP_TUPLE_EAT_2)(535, s) BOOST_PP_IF(p(535, s), BOOST_PP_FOR_535, BOOST_PP_TUPLE_EAT_4)(o(535, s), p, o, m) +# define BOOST_PP_FOR_535_I(s, p, o, m) BOOST_PP_IF(p(536, s), m, BOOST_PP_TUPLE_EAT_2)(536, s) BOOST_PP_IF(p(536, s), BOOST_PP_FOR_536, BOOST_PP_TUPLE_EAT_4)(o(536, s), p, o, m) +# define BOOST_PP_FOR_536_I(s, p, o, m) BOOST_PP_IF(p(537, s), m, BOOST_PP_TUPLE_EAT_2)(537, s) BOOST_PP_IF(p(537, s), BOOST_PP_FOR_537, BOOST_PP_TUPLE_EAT_4)(o(537, s), p, o, m) +# define BOOST_PP_FOR_537_I(s, p, o, m) BOOST_PP_IF(p(538, s), m, BOOST_PP_TUPLE_EAT_2)(538, s) BOOST_PP_IF(p(538, s), BOOST_PP_FOR_538, BOOST_PP_TUPLE_EAT_4)(o(538, s), p, o, m) +# define BOOST_PP_FOR_538_I(s, p, o, m) BOOST_PP_IF(p(539, s), m, BOOST_PP_TUPLE_EAT_2)(539, s) BOOST_PP_IF(p(539, s), BOOST_PP_FOR_539, BOOST_PP_TUPLE_EAT_4)(o(539, s), p, o, m) +# define BOOST_PP_FOR_539_I(s, p, o, m) BOOST_PP_IF(p(540, s), m, BOOST_PP_TUPLE_EAT_2)(540, s) BOOST_PP_IF(p(540, s), BOOST_PP_FOR_540, BOOST_PP_TUPLE_EAT_4)(o(540, s), p, o, m) +# define BOOST_PP_FOR_540_I(s, p, o, m) BOOST_PP_IF(p(541, s), m, BOOST_PP_TUPLE_EAT_2)(541, s) BOOST_PP_IF(p(541, s), BOOST_PP_FOR_541, BOOST_PP_TUPLE_EAT_4)(o(541, s), p, o, m) +# define BOOST_PP_FOR_541_I(s, p, o, m) BOOST_PP_IF(p(542, s), m, BOOST_PP_TUPLE_EAT_2)(542, s) BOOST_PP_IF(p(542, s), BOOST_PP_FOR_542, BOOST_PP_TUPLE_EAT_4)(o(542, s), p, o, m) +# define BOOST_PP_FOR_542_I(s, p, o, m) BOOST_PP_IF(p(543, s), m, BOOST_PP_TUPLE_EAT_2)(543, s) BOOST_PP_IF(p(543, s), BOOST_PP_FOR_543, BOOST_PP_TUPLE_EAT_4)(o(543, s), p, o, m) +# define BOOST_PP_FOR_543_I(s, p, o, m) BOOST_PP_IF(p(544, s), m, BOOST_PP_TUPLE_EAT_2)(544, s) BOOST_PP_IF(p(544, s), BOOST_PP_FOR_544, BOOST_PP_TUPLE_EAT_4)(o(544, s), p, o, m) +# define BOOST_PP_FOR_544_I(s, p, o, m) BOOST_PP_IF(p(545, s), m, BOOST_PP_TUPLE_EAT_2)(545, s) BOOST_PP_IF(p(545, s), BOOST_PP_FOR_545, BOOST_PP_TUPLE_EAT_4)(o(545, s), p, o, m) +# define BOOST_PP_FOR_545_I(s, p, o, m) BOOST_PP_IF(p(546, s), m, BOOST_PP_TUPLE_EAT_2)(546, s) BOOST_PP_IF(p(546, s), BOOST_PP_FOR_546, BOOST_PP_TUPLE_EAT_4)(o(546, s), p, o, m) +# define BOOST_PP_FOR_546_I(s, p, o, m) BOOST_PP_IF(p(547, s), m, BOOST_PP_TUPLE_EAT_2)(547, s) BOOST_PP_IF(p(547, s), BOOST_PP_FOR_547, BOOST_PP_TUPLE_EAT_4)(o(547, s), p, o, m) +# define BOOST_PP_FOR_547_I(s, p, o, m) BOOST_PP_IF(p(548, s), m, BOOST_PP_TUPLE_EAT_2)(548, s) BOOST_PP_IF(p(548, s), BOOST_PP_FOR_548, BOOST_PP_TUPLE_EAT_4)(o(548, s), p, o, m) +# define BOOST_PP_FOR_548_I(s, p, o, m) BOOST_PP_IF(p(549, s), m, BOOST_PP_TUPLE_EAT_2)(549, s) BOOST_PP_IF(p(549, s), BOOST_PP_FOR_549, BOOST_PP_TUPLE_EAT_4)(o(549, s), p, o, m) +# define BOOST_PP_FOR_549_I(s, p, o, m) BOOST_PP_IF(p(550, s), m, BOOST_PP_TUPLE_EAT_2)(550, s) BOOST_PP_IF(p(550, s), BOOST_PP_FOR_550, BOOST_PP_TUPLE_EAT_4)(o(550, s), p, o, m) +# define BOOST_PP_FOR_550_I(s, p, o, m) BOOST_PP_IF(p(551, s), m, BOOST_PP_TUPLE_EAT_2)(551, s) BOOST_PP_IF(p(551, s), BOOST_PP_FOR_551, BOOST_PP_TUPLE_EAT_4)(o(551, s), p, o, m) +# define BOOST_PP_FOR_551_I(s, p, o, m) BOOST_PP_IF(p(552, s), m, BOOST_PP_TUPLE_EAT_2)(552, s) BOOST_PP_IF(p(552, s), BOOST_PP_FOR_552, BOOST_PP_TUPLE_EAT_4)(o(552, s), p, o, m) +# define BOOST_PP_FOR_552_I(s, p, o, m) BOOST_PP_IF(p(553, s), m, BOOST_PP_TUPLE_EAT_2)(553, s) BOOST_PP_IF(p(553, s), BOOST_PP_FOR_553, BOOST_PP_TUPLE_EAT_4)(o(553, s), p, o, m) +# define BOOST_PP_FOR_553_I(s, p, o, m) BOOST_PP_IF(p(554, s), m, BOOST_PP_TUPLE_EAT_2)(554, s) BOOST_PP_IF(p(554, s), BOOST_PP_FOR_554, BOOST_PP_TUPLE_EAT_4)(o(554, s), p, o, m) +# define BOOST_PP_FOR_554_I(s, p, o, m) BOOST_PP_IF(p(555, s), m, BOOST_PP_TUPLE_EAT_2)(555, s) BOOST_PP_IF(p(555, s), BOOST_PP_FOR_555, BOOST_PP_TUPLE_EAT_4)(o(555, s), p, o, m) +# define BOOST_PP_FOR_555_I(s, p, o, m) BOOST_PP_IF(p(556, s), m, BOOST_PP_TUPLE_EAT_2)(556, s) BOOST_PP_IF(p(556, s), BOOST_PP_FOR_556, BOOST_PP_TUPLE_EAT_4)(o(556, s), p, o, m) +# define BOOST_PP_FOR_556_I(s, p, o, m) BOOST_PP_IF(p(557, s), m, BOOST_PP_TUPLE_EAT_2)(557, s) BOOST_PP_IF(p(557, s), BOOST_PP_FOR_557, BOOST_PP_TUPLE_EAT_4)(o(557, s), p, o, m) +# define BOOST_PP_FOR_557_I(s, p, o, m) BOOST_PP_IF(p(558, s), m, BOOST_PP_TUPLE_EAT_2)(558, s) BOOST_PP_IF(p(558, s), BOOST_PP_FOR_558, BOOST_PP_TUPLE_EAT_4)(o(558, s), p, o, m) +# define BOOST_PP_FOR_558_I(s, p, o, m) BOOST_PP_IF(p(559, s), m, BOOST_PP_TUPLE_EAT_2)(559, s) BOOST_PP_IF(p(559, s), BOOST_PP_FOR_559, BOOST_PP_TUPLE_EAT_4)(o(559, s), p, o, m) +# define BOOST_PP_FOR_559_I(s, p, o, m) BOOST_PP_IF(p(560, s), m, BOOST_PP_TUPLE_EAT_2)(560, s) BOOST_PP_IF(p(560, s), BOOST_PP_FOR_560, BOOST_PP_TUPLE_EAT_4)(o(560, s), p, o, m) +# define BOOST_PP_FOR_560_I(s, p, o, m) BOOST_PP_IF(p(561, s), m, BOOST_PP_TUPLE_EAT_2)(561, s) BOOST_PP_IF(p(561, s), BOOST_PP_FOR_561, BOOST_PP_TUPLE_EAT_4)(o(561, s), p, o, m) +# define BOOST_PP_FOR_561_I(s, p, o, m) BOOST_PP_IF(p(562, s), m, BOOST_PP_TUPLE_EAT_2)(562, s) BOOST_PP_IF(p(562, s), BOOST_PP_FOR_562, BOOST_PP_TUPLE_EAT_4)(o(562, s), p, o, m) +# define BOOST_PP_FOR_562_I(s, p, o, m) BOOST_PP_IF(p(563, s), m, BOOST_PP_TUPLE_EAT_2)(563, s) BOOST_PP_IF(p(563, s), BOOST_PP_FOR_563, BOOST_PP_TUPLE_EAT_4)(o(563, s), p, o, m) +# define BOOST_PP_FOR_563_I(s, p, o, m) BOOST_PP_IF(p(564, s), m, BOOST_PP_TUPLE_EAT_2)(564, s) BOOST_PP_IF(p(564, s), BOOST_PP_FOR_564, BOOST_PP_TUPLE_EAT_4)(o(564, s), p, o, m) +# define BOOST_PP_FOR_564_I(s, p, o, m) BOOST_PP_IF(p(565, s), m, BOOST_PP_TUPLE_EAT_2)(565, s) BOOST_PP_IF(p(565, s), BOOST_PP_FOR_565, BOOST_PP_TUPLE_EAT_4)(o(565, s), p, o, m) +# define BOOST_PP_FOR_565_I(s, p, o, m) BOOST_PP_IF(p(566, s), m, BOOST_PP_TUPLE_EAT_2)(566, s) BOOST_PP_IF(p(566, s), BOOST_PP_FOR_566, BOOST_PP_TUPLE_EAT_4)(o(566, s), p, o, m) +# define BOOST_PP_FOR_566_I(s, p, o, m) BOOST_PP_IF(p(567, s), m, BOOST_PP_TUPLE_EAT_2)(567, s) BOOST_PP_IF(p(567, s), BOOST_PP_FOR_567, BOOST_PP_TUPLE_EAT_4)(o(567, s), p, o, m) +# define BOOST_PP_FOR_567_I(s, p, o, m) BOOST_PP_IF(p(568, s), m, BOOST_PP_TUPLE_EAT_2)(568, s) BOOST_PP_IF(p(568, s), BOOST_PP_FOR_568, BOOST_PP_TUPLE_EAT_4)(o(568, s), p, o, m) +# define BOOST_PP_FOR_568_I(s, p, o, m) BOOST_PP_IF(p(569, s), m, BOOST_PP_TUPLE_EAT_2)(569, s) BOOST_PP_IF(p(569, s), BOOST_PP_FOR_569, BOOST_PP_TUPLE_EAT_4)(o(569, s), p, o, m) +# define BOOST_PP_FOR_569_I(s, p, o, m) BOOST_PP_IF(p(570, s), m, BOOST_PP_TUPLE_EAT_2)(570, s) BOOST_PP_IF(p(570, s), BOOST_PP_FOR_570, BOOST_PP_TUPLE_EAT_4)(o(570, s), p, o, m) +# define BOOST_PP_FOR_570_I(s, p, o, m) BOOST_PP_IF(p(571, s), m, BOOST_PP_TUPLE_EAT_2)(571, s) BOOST_PP_IF(p(571, s), BOOST_PP_FOR_571, BOOST_PP_TUPLE_EAT_4)(o(571, s), p, o, m) +# define BOOST_PP_FOR_571_I(s, p, o, m) BOOST_PP_IF(p(572, s), m, BOOST_PP_TUPLE_EAT_2)(572, s) BOOST_PP_IF(p(572, s), BOOST_PP_FOR_572, BOOST_PP_TUPLE_EAT_4)(o(572, s), p, o, m) +# define BOOST_PP_FOR_572_I(s, p, o, m) BOOST_PP_IF(p(573, s), m, BOOST_PP_TUPLE_EAT_2)(573, s) BOOST_PP_IF(p(573, s), BOOST_PP_FOR_573, BOOST_PP_TUPLE_EAT_4)(o(573, s), p, o, m) +# define BOOST_PP_FOR_573_I(s, p, o, m) BOOST_PP_IF(p(574, s), m, BOOST_PP_TUPLE_EAT_2)(574, s) BOOST_PP_IF(p(574, s), BOOST_PP_FOR_574, BOOST_PP_TUPLE_EAT_4)(o(574, s), p, o, m) +# define BOOST_PP_FOR_574_I(s, p, o, m) BOOST_PP_IF(p(575, s), m, BOOST_PP_TUPLE_EAT_2)(575, s) BOOST_PP_IF(p(575, s), BOOST_PP_FOR_575, BOOST_PP_TUPLE_EAT_4)(o(575, s), p, o, m) +# define BOOST_PP_FOR_575_I(s, p, o, m) BOOST_PP_IF(p(576, s), m, BOOST_PP_TUPLE_EAT_2)(576, s) BOOST_PP_IF(p(576, s), BOOST_PP_FOR_576, BOOST_PP_TUPLE_EAT_4)(o(576, s), p, o, m) +# define BOOST_PP_FOR_576_I(s, p, o, m) BOOST_PP_IF(p(577, s), m, BOOST_PP_TUPLE_EAT_2)(577, s) BOOST_PP_IF(p(577, s), BOOST_PP_FOR_577, BOOST_PP_TUPLE_EAT_4)(o(577, s), p, o, m) +# define BOOST_PP_FOR_577_I(s, p, o, m) BOOST_PP_IF(p(578, s), m, BOOST_PP_TUPLE_EAT_2)(578, s) BOOST_PP_IF(p(578, s), BOOST_PP_FOR_578, BOOST_PP_TUPLE_EAT_4)(o(578, s), p, o, m) +# define BOOST_PP_FOR_578_I(s, p, o, m) BOOST_PP_IF(p(579, s), m, BOOST_PP_TUPLE_EAT_2)(579, s) BOOST_PP_IF(p(579, s), BOOST_PP_FOR_579, BOOST_PP_TUPLE_EAT_4)(o(579, s), p, o, m) +# define BOOST_PP_FOR_579_I(s, p, o, m) BOOST_PP_IF(p(580, s), m, BOOST_PP_TUPLE_EAT_2)(580, s) BOOST_PP_IF(p(580, s), BOOST_PP_FOR_580, BOOST_PP_TUPLE_EAT_4)(o(580, s), p, o, m) +# define BOOST_PP_FOR_580_I(s, p, o, m) BOOST_PP_IF(p(581, s), m, BOOST_PP_TUPLE_EAT_2)(581, s) BOOST_PP_IF(p(581, s), BOOST_PP_FOR_581, BOOST_PP_TUPLE_EAT_4)(o(581, s), p, o, m) +# define BOOST_PP_FOR_581_I(s, p, o, m) BOOST_PP_IF(p(582, s), m, BOOST_PP_TUPLE_EAT_2)(582, s) BOOST_PP_IF(p(582, s), BOOST_PP_FOR_582, BOOST_PP_TUPLE_EAT_4)(o(582, s), p, o, m) +# define BOOST_PP_FOR_582_I(s, p, o, m) BOOST_PP_IF(p(583, s), m, BOOST_PP_TUPLE_EAT_2)(583, s) BOOST_PP_IF(p(583, s), BOOST_PP_FOR_583, BOOST_PP_TUPLE_EAT_4)(o(583, s), p, o, m) +# define BOOST_PP_FOR_583_I(s, p, o, m) BOOST_PP_IF(p(584, s), m, BOOST_PP_TUPLE_EAT_2)(584, s) BOOST_PP_IF(p(584, s), BOOST_PP_FOR_584, BOOST_PP_TUPLE_EAT_4)(o(584, s), p, o, m) +# define BOOST_PP_FOR_584_I(s, p, o, m) BOOST_PP_IF(p(585, s), m, BOOST_PP_TUPLE_EAT_2)(585, s) BOOST_PP_IF(p(585, s), BOOST_PP_FOR_585, BOOST_PP_TUPLE_EAT_4)(o(585, s), p, o, m) +# define BOOST_PP_FOR_585_I(s, p, o, m) BOOST_PP_IF(p(586, s), m, BOOST_PP_TUPLE_EAT_2)(586, s) BOOST_PP_IF(p(586, s), BOOST_PP_FOR_586, BOOST_PP_TUPLE_EAT_4)(o(586, s), p, o, m) +# define BOOST_PP_FOR_586_I(s, p, o, m) BOOST_PP_IF(p(587, s), m, BOOST_PP_TUPLE_EAT_2)(587, s) BOOST_PP_IF(p(587, s), BOOST_PP_FOR_587, BOOST_PP_TUPLE_EAT_4)(o(587, s), p, o, m) +# define BOOST_PP_FOR_587_I(s, p, o, m) BOOST_PP_IF(p(588, s), m, BOOST_PP_TUPLE_EAT_2)(588, s) BOOST_PP_IF(p(588, s), BOOST_PP_FOR_588, BOOST_PP_TUPLE_EAT_4)(o(588, s), p, o, m) +# define BOOST_PP_FOR_588_I(s, p, o, m) BOOST_PP_IF(p(589, s), m, BOOST_PP_TUPLE_EAT_2)(589, s) BOOST_PP_IF(p(589, s), BOOST_PP_FOR_589, BOOST_PP_TUPLE_EAT_4)(o(589, s), p, o, m) +# define BOOST_PP_FOR_589_I(s, p, o, m) BOOST_PP_IF(p(590, s), m, BOOST_PP_TUPLE_EAT_2)(590, s) BOOST_PP_IF(p(590, s), BOOST_PP_FOR_590, BOOST_PP_TUPLE_EAT_4)(o(590, s), p, o, m) +# define BOOST_PP_FOR_590_I(s, p, o, m) BOOST_PP_IF(p(591, s), m, BOOST_PP_TUPLE_EAT_2)(591, s) BOOST_PP_IF(p(591, s), BOOST_PP_FOR_591, BOOST_PP_TUPLE_EAT_4)(o(591, s), p, o, m) +# define BOOST_PP_FOR_591_I(s, p, o, m) BOOST_PP_IF(p(592, s), m, BOOST_PP_TUPLE_EAT_2)(592, s) BOOST_PP_IF(p(592, s), BOOST_PP_FOR_592, BOOST_PP_TUPLE_EAT_4)(o(592, s), p, o, m) +# define BOOST_PP_FOR_592_I(s, p, o, m) BOOST_PP_IF(p(593, s), m, BOOST_PP_TUPLE_EAT_2)(593, s) BOOST_PP_IF(p(593, s), BOOST_PP_FOR_593, BOOST_PP_TUPLE_EAT_4)(o(593, s), p, o, m) +# define BOOST_PP_FOR_593_I(s, p, o, m) BOOST_PP_IF(p(594, s), m, BOOST_PP_TUPLE_EAT_2)(594, s) BOOST_PP_IF(p(594, s), BOOST_PP_FOR_594, BOOST_PP_TUPLE_EAT_4)(o(594, s), p, o, m) +# define BOOST_PP_FOR_594_I(s, p, o, m) BOOST_PP_IF(p(595, s), m, BOOST_PP_TUPLE_EAT_2)(595, s) BOOST_PP_IF(p(595, s), BOOST_PP_FOR_595, BOOST_PP_TUPLE_EAT_4)(o(595, s), p, o, m) +# define BOOST_PP_FOR_595_I(s, p, o, m) BOOST_PP_IF(p(596, s), m, BOOST_PP_TUPLE_EAT_2)(596, s) BOOST_PP_IF(p(596, s), BOOST_PP_FOR_596, BOOST_PP_TUPLE_EAT_4)(o(596, s), p, o, m) +# define BOOST_PP_FOR_596_I(s, p, o, m) BOOST_PP_IF(p(597, s), m, BOOST_PP_TUPLE_EAT_2)(597, s) BOOST_PP_IF(p(597, s), BOOST_PP_FOR_597, BOOST_PP_TUPLE_EAT_4)(o(597, s), p, o, m) +# define BOOST_PP_FOR_597_I(s, p, o, m) BOOST_PP_IF(p(598, s), m, BOOST_PP_TUPLE_EAT_2)(598, s) BOOST_PP_IF(p(598, s), BOOST_PP_FOR_598, BOOST_PP_TUPLE_EAT_4)(o(598, s), p, o, m) +# define BOOST_PP_FOR_598_I(s, p, o, m) BOOST_PP_IF(p(599, s), m, BOOST_PP_TUPLE_EAT_2)(599, s) BOOST_PP_IF(p(599, s), BOOST_PP_FOR_599, BOOST_PP_TUPLE_EAT_4)(o(599, s), p, o, m) +# define BOOST_PP_FOR_599_I(s, p, o, m) BOOST_PP_IF(p(600, s), m, BOOST_PP_TUPLE_EAT_2)(600, s) BOOST_PP_IF(p(600, s), BOOST_PP_FOR_600, BOOST_PP_TUPLE_EAT_4)(o(600, s), p, o, m) +# define BOOST_PP_FOR_600_I(s, p, o, m) BOOST_PP_IF(p(601, s), m, BOOST_PP_TUPLE_EAT_2)(601, s) BOOST_PP_IF(p(601, s), BOOST_PP_FOR_601, BOOST_PP_TUPLE_EAT_4)(o(601, s), p, o, m) +# define BOOST_PP_FOR_601_I(s, p, o, m) BOOST_PP_IF(p(602, s), m, BOOST_PP_TUPLE_EAT_2)(602, s) BOOST_PP_IF(p(602, s), BOOST_PP_FOR_602, BOOST_PP_TUPLE_EAT_4)(o(602, s), p, o, m) +# define BOOST_PP_FOR_602_I(s, p, o, m) BOOST_PP_IF(p(603, s), m, BOOST_PP_TUPLE_EAT_2)(603, s) BOOST_PP_IF(p(603, s), BOOST_PP_FOR_603, BOOST_PP_TUPLE_EAT_4)(o(603, s), p, o, m) +# define BOOST_PP_FOR_603_I(s, p, o, m) BOOST_PP_IF(p(604, s), m, BOOST_PP_TUPLE_EAT_2)(604, s) BOOST_PP_IF(p(604, s), BOOST_PP_FOR_604, BOOST_PP_TUPLE_EAT_4)(o(604, s), p, o, m) +# define BOOST_PP_FOR_604_I(s, p, o, m) BOOST_PP_IF(p(605, s), m, BOOST_PP_TUPLE_EAT_2)(605, s) BOOST_PP_IF(p(605, s), BOOST_PP_FOR_605, BOOST_PP_TUPLE_EAT_4)(o(605, s), p, o, m) +# define BOOST_PP_FOR_605_I(s, p, o, m) BOOST_PP_IF(p(606, s), m, BOOST_PP_TUPLE_EAT_2)(606, s) BOOST_PP_IF(p(606, s), BOOST_PP_FOR_606, BOOST_PP_TUPLE_EAT_4)(o(606, s), p, o, m) +# define BOOST_PP_FOR_606_I(s, p, o, m) BOOST_PP_IF(p(607, s), m, BOOST_PP_TUPLE_EAT_2)(607, s) BOOST_PP_IF(p(607, s), BOOST_PP_FOR_607, BOOST_PP_TUPLE_EAT_4)(o(607, s), p, o, m) +# define BOOST_PP_FOR_607_I(s, p, o, m) BOOST_PP_IF(p(608, s), m, BOOST_PP_TUPLE_EAT_2)(608, s) BOOST_PP_IF(p(608, s), BOOST_PP_FOR_608, BOOST_PP_TUPLE_EAT_4)(o(608, s), p, o, m) +# define BOOST_PP_FOR_608_I(s, p, o, m) BOOST_PP_IF(p(609, s), m, BOOST_PP_TUPLE_EAT_2)(609, s) BOOST_PP_IF(p(609, s), BOOST_PP_FOR_609, BOOST_PP_TUPLE_EAT_4)(o(609, s), p, o, m) +# define BOOST_PP_FOR_609_I(s, p, o, m) BOOST_PP_IF(p(610, s), m, BOOST_PP_TUPLE_EAT_2)(610, s) BOOST_PP_IF(p(610, s), BOOST_PP_FOR_610, BOOST_PP_TUPLE_EAT_4)(o(610, s), p, o, m) +# define BOOST_PP_FOR_610_I(s, p, o, m) BOOST_PP_IF(p(611, s), m, BOOST_PP_TUPLE_EAT_2)(611, s) BOOST_PP_IF(p(611, s), BOOST_PP_FOR_611, BOOST_PP_TUPLE_EAT_4)(o(611, s), p, o, m) +# define BOOST_PP_FOR_611_I(s, p, o, m) BOOST_PP_IF(p(612, s), m, BOOST_PP_TUPLE_EAT_2)(612, s) BOOST_PP_IF(p(612, s), BOOST_PP_FOR_612, BOOST_PP_TUPLE_EAT_4)(o(612, s), p, o, m) +# define BOOST_PP_FOR_612_I(s, p, o, m) BOOST_PP_IF(p(613, s), m, BOOST_PP_TUPLE_EAT_2)(613, s) BOOST_PP_IF(p(613, s), BOOST_PP_FOR_613, BOOST_PP_TUPLE_EAT_4)(o(613, s), p, o, m) +# define BOOST_PP_FOR_613_I(s, p, o, m) BOOST_PP_IF(p(614, s), m, BOOST_PP_TUPLE_EAT_2)(614, s) BOOST_PP_IF(p(614, s), BOOST_PP_FOR_614, BOOST_PP_TUPLE_EAT_4)(o(614, s), p, o, m) +# define BOOST_PP_FOR_614_I(s, p, o, m) BOOST_PP_IF(p(615, s), m, BOOST_PP_TUPLE_EAT_2)(615, s) BOOST_PP_IF(p(615, s), BOOST_PP_FOR_615, BOOST_PP_TUPLE_EAT_4)(o(615, s), p, o, m) +# define BOOST_PP_FOR_615_I(s, p, o, m) BOOST_PP_IF(p(616, s), m, BOOST_PP_TUPLE_EAT_2)(616, s) BOOST_PP_IF(p(616, s), BOOST_PP_FOR_616, BOOST_PP_TUPLE_EAT_4)(o(616, s), p, o, m) +# define BOOST_PP_FOR_616_I(s, p, o, m) BOOST_PP_IF(p(617, s), m, BOOST_PP_TUPLE_EAT_2)(617, s) BOOST_PP_IF(p(617, s), BOOST_PP_FOR_617, BOOST_PP_TUPLE_EAT_4)(o(617, s), p, o, m) +# define BOOST_PP_FOR_617_I(s, p, o, m) BOOST_PP_IF(p(618, s), m, BOOST_PP_TUPLE_EAT_2)(618, s) BOOST_PP_IF(p(618, s), BOOST_PP_FOR_618, BOOST_PP_TUPLE_EAT_4)(o(618, s), p, o, m) +# define BOOST_PP_FOR_618_I(s, p, o, m) BOOST_PP_IF(p(619, s), m, BOOST_PP_TUPLE_EAT_2)(619, s) BOOST_PP_IF(p(619, s), BOOST_PP_FOR_619, BOOST_PP_TUPLE_EAT_4)(o(619, s), p, o, m) +# define BOOST_PP_FOR_619_I(s, p, o, m) BOOST_PP_IF(p(620, s), m, BOOST_PP_TUPLE_EAT_2)(620, s) BOOST_PP_IF(p(620, s), BOOST_PP_FOR_620, BOOST_PP_TUPLE_EAT_4)(o(620, s), p, o, m) +# define BOOST_PP_FOR_620_I(s, p, o, m) BOOST_PP_IF(p(621, s), m, BOOST_PP_TUPLE_EAT_2)(621, s) BOOST_PP_IF(p(621, s), BOOST_PP_FOR_621, BOOST_PP_TUPLE_EAT_4)(o(621, s), p, o, m) +# define BOOST_PP_FOR_621_I(s, p, o, m) BOOST_PP_IF(p(622, s), m, BOOST_PP_TUPLE_EAT_2)(622, s) BOOST_PP_IF(p(622, s), BOOST_PP_FOR_622, BOOST_PP_TUPLE_EAT_4)(o(622, s), p, o, m) +# define BOOST_PP_FOR_622_I(s, p, o, m) BOOST_PP_IF(p(623, s), m, BOOST_PP_TUPLE_EAT_2)(623, s) BOOST_PP_IF(p(623, s), BOOST_PP_FOR_623, BOOST_PP_TUPLE_EAT_4)(o(623, s), p, o, m) +# define BOOST_PP_FOR_623_I(s, p, o, m) BOOST_PP_IF(p(624, s), m, BOOST_PP_TUPLE_EAT_2)(624, s) BOOST_PP_IF(p(624, s), BOOST_PP_FOR_624, BOOST_PP_TUPLE_EAT_4)(o(624, s), p, o, m) +# define BOOST_PP_FOR_624_I(s, p, o, m) BOOST_PP_IF(p(625, s), m, BOOST_PP_TUPLE_EAT_2)(625, s) BOOST_PP_IF(p(625, s), BOOST_PP_FOR_625, BOOST_PP_TUPLE_EAT_4)(o(625, s), p, o, m) +# define BOOST_PP_FOR_625_I(s, p, o, m) BOOST_PP_IF(p(626, s), m, BOOST_PP_TUPLE_EAT_2)(626, s) BOOST_PP_IF(p(626, s), BOOST_PP_FOR_626, BOOST_PP_TUPLE_EAT_4)(o(626, s), p, o, m) +# define BOOST_PP_FOR_626_I(s, p, o, m) BOOST_PP_IF(p(627, s), m, BOOST_PP_TUPLE_EAT_2)(627, s) BOOST_PP_IF(p(627, s), BOOST_PP_FOR_627, BOOST_PP_TUPLE_EAT_4)(o(627, s), p, o, m) +# define BOOST_PP_FOR_627_I(s, p, o, m) BOOST_PP_IF(p(628, s), m, BOOST_PP_TUPLE_EAT_2)(628, s) BOOST_PP_IF(p(628, s), BOOST_PP_FOR_628, BOOST_PP_TUPLE_EAT_4)(o(628, s), p, o, m) +# define BOOST_PP_FOR_628_I(s, p, o, m) BOOST_PP_IF(p(629, s), m, BOOST_PP_TUPLE_EAT_2)(629, s) BOOST_PP_IF(p(629, s), BOOST_PP_FOR_629, BOOST_PP_TUPLE_EAT_4)(o(629, s), p, o, m) +# define BOOST_PP_FOR_629_I(s, p, o, m) BOOST_PP_IF(p(630, s), m, BOOST_PP_TUPLE_EAT_2)(630, s) BOOST_PP_IF(p(630, s), BOOST_PP_FOR_630, BOOST_PP_TUPLE_EAT_4)(o(630, s), p, o, m) +# define BOOST_PP_FOR_630_I(s, p, o, m) BOOST_PP_IF(p(631, s), m, BOOST_PP_TUPLE_EAT_2)(631, s) BOOST_PP_IF(p(631, s), BOOST_PP_FOR_631, BOOST_PP_TUPLE_EAT_4)(o(631, s), p, o, m) +# define BOOST_PP_FOR_631_I(s, p, o, m) BOOST_PP_IF(p(632, s), m, BOOST_PP_TUPLE_EAT_2)(632, s) BOOST_PP_IF(p(632, s), BOOST_PP_FOR_632, BOOST_PP_TUPLE_EAT_4)(o(632, s), p, o, m) +# define BOOST_PP_FOR_632_I(s, p, o, m) BOOST_PP_IF(p(633, s), m, BOOST_PP_TUPLE_EAT_2)(633, s) BOOST_PP_IF(p(633, s), BOOST_PP_FOR_633, BOOST_PP_TUPLE_EAT_4)(o(633, s), p, o, m) +# define BOOST_PP_FOR_633_I(s, p, o, m) BOOST_PP_IF(p(634, s), m, BOOST_PP_TUPLE_EAT_2)(634, s) BOOST_PP_IF(p(634, s), BOOST_PP_FOR_634, BOOST_PP_TUPLE_EAT_4)(o(634, s), p, o, m) +# define BOOST_PP_FOR_634_I(s, p, o, m) BOOST_PP_IF(p(635, s), m, BOOST_PP_TUPLE_EAT_2)(635, s) BOOST_PP_IF(p(635, s), BOOST_PP_FOR_635, BOOST_PP_TUPLE_EAT_4)(o(635, s), p, o, m) +# define BOOST_PP_FOR_635_I(s, p, o, m) BOOST_PP_IF(p(636, s), m, BOOST_PP_TUPLE_EAT_2)(636, s) BOOST_PP_IF(p(636, s), BOOST_PP_FOR_636, BOOST_PP_TUPLE_EAT_4)(o(636, s), p, o, m) +# define BOOST_PP_FOR_636_I(s, p, o, m) BOOST_PP_IF(p(637, s), m, BOOST_PP_TUPLE_EAT_2)(637, s) BOOST_PP_IF(p(637, s), BOOST_PP_FOR_637, BOOST_PP_TUPLE_EAT_4)(o(637, s), p, o, m) +# define BOOST_PP_FOR_637_I(s, p, o, m) BOOST_PP_IF(p(638, s), m, BOOST_PP_TUPLE_EAT_2)(638, s) BOOST_PP_IF(p(638, s), BOOST_PP_FOR_638, BOOST_PP_TUPLE_EAT_4)(o(638, s), p, o, m) +# define BOOST_PP_FOR_638_I(s, p, o, m) BOOST_PP_IF(p(639, s), m, BOOST_PP_TUPLE_EAT_2)(639, s) BOOST_PP_IF(p(639, s), BOOST_PP_FOR_639, BOOST_PP_TUPLE_EAT_4)(o(639, s), p, o, m) +# define BOOST_PP_FOR_639_I(s, p, o, m) BOOST_PP_IF(p(640, s), m, BOOST_PP_TUPLE_EAT_2)(640, s) BOOST_PP_IF(p(640, s), BOOST_PP_FOR_640, BOOST_PP_TUPLE_EAT_4)(o(640, s), p, o, m) +# define BOOST_PP_FOR_640_I(s, p, o, m) BOOST_PP_IF(p(641, s), m, BOOST_PP_TUPLE_EAT_2)(641, s) BOOST_PP_IF(p(641, s), BOOST_PP_FOR_641, BOOST_PP_TUPLE_EAT_4)(o(641, s), p, o, m) +# define BOOST_PP_FOR_641_I(s, p, o, m) BOOST_PP_IF(p(642, s), m, BOOST_PP_TUPLE_EAT_2)(642, s) BOOST_PP_IF(p(642, s), BOOST_PP_FOR_642, BOOST_PP_TUPLE_EAT_4)(o(642, s), p, o, m) +# define BOOST_PP_FOR_642_I(s, p, o, m) BOOST_PP_IF(p(643, s), m, BOOST_PP_TUPLE_EAT_2)(643, s) BOOST_PP_IF(p(643, s), BOOST_PP_FOR_643, BOOST_PP_TUPLE_EAT_4)(o(643, s), p, o, m) +# define BOOST_PP_FOR_643_I(s, p, o, m) BOOST_PP_IF(p(644, s), m, BOOST_PP_TUPLE_EAT_2)(644, s) BOOST_PP_IF(p(644, s), BOOST_PP_FOR_644, BOOST_PP_TUPLE_EAT_4)(o(644, s), p, o, m) +# define BOOST_PP_FOR_644_I(s, p, o, m) BOOST_PP_IF(p(645, s), m, BOOST_PP_TUPLE_EAT_2)(645, s) BOOST_PP_IF(p(645, s), BOOST_PP_FOR_645, BOOST_PP_TUPLE_EAT_4)(o(645, s), p, o, m) +# define BOOST_PP_FOR_645_I(s, p, o, m) BOOST_PP_IF(p(646, s), m, BOOST_PP_TUPLE_EAT_2)(646, s) BOOST_PP_IF(p(646, s), BOOST_PP_FOR_646, BOOST_PP_TUPLE_EAT_4)(o(646, s), p, o, m) +# define BOOST_PP_FOR_646_I(s, p, o, m) BOOST_PP_IF(p(647, s), m, BOOST_PP_TUPLE_EAT_2)(647, s) BOOST_PP_IF(p(647, s), BOOST_PP_FOR_647, BOOST_PP_TUPLE_EAT_4)(o(647, s), p, o, m) +# define BOOST_PP_FOR_647_I(s, p, o, m) BOOST_PP_IF(p(648, s), m, BOOST_PP_TUPLE_EAT_2)(648, s) BOOST_PP_IF(p(648, s), BOOST_PP_FOR_648, BOOST_PP_TUPLE_EAT_4)(o(648, s), p, o, m) +# define BOOST_PP_FOR_648_I(s, p, o, m) BOOST_PP_IF(p(649, s), m, BOOST_PP_TUPLE_EAT_2)(649, s) BOOST_PP_IF(p(649, s), BOOST_PP_FOR_649, BOOST_PP_TUPLE_EAT_4)(o(649, s), p, o, m) +# define BOOST_PP_FOR_649_I(s, p, o, m) BOOST_PP_IF(p(650, s), m, BOOST_PP_TUPLE_EAT_2)(650, s) BOOST_PP_IF(p(650, s), BOOST_PP_FOR_650, BOOST_PP_TUPLE_EAT_4)(o(650, s), p, o, m) +# define BOOST_PP_FOR_650_I(s, p, o, m) BOOST_PP_IF(p(651, s), m, BOOST_PP_TUPLE_EAT_2)(651, s) BOOST_PP_IF(p(651, s), BOOST_PP_FOR_651, BOOST_PP_TUPLE_EAT_4)(o(651, s), p, o, m) +# define BOOST_PP_FOR_651_I(s, p, o, m) BOOST_PP_IF(p(652, s), m, BOOST_PP_TUPLE_EAT_2)(652, s) BOOST_PP_IF(p(652, s), BOOST_PP_FOR_652, BOOST_PP_TUPLE_EAT_4)(o(652, s), p, o, m) +# define BOOST_PP_FOR_652_I(s, p, o, m) BOOST_PP_IF(p(653, s), m, BOOST_PP_TUPLE_EAT_2)(653, s) BOOST_PP_IF(p(653, s), BOOST_PP_FOR_653, BOOST_PP_TUPLE_EAT_4)(o(653, s), p, o, m) +# define BOOST_PP_FOR_653_I(s, p, o, m) BOOST_PP_IF(p(654, s), m, BOOST_PP_TUPLE_EAT_2)(654, s) BOOST_PP_IF(p(654, s), BOOST_PP_FOR_654, BOOST_PP_TUPLE_EAT_4)(o(654, s), p, o, m) +# define BOOST_PP_FOR_654_I(s, p, o, m) BOOST_PP_IF(p(655, s), m, BOOST_PP_TUPLE_EAT_2)(655, s) BOOST_PP_IF(p(655, s), BOOST_PP_FOR_655, BOOST_PP_TUPLE_EAT_4)(o(655, s), p, o, m) +# define BOOST_PP_FOR_655_I(s, p, o, m) BOOST_PP_IF(p(656, s), m, BOOST_PP_TUPLE_EAT_2)(656, s) BOOST_PP_IF(p(656, s), BOOST_PP_FOR_656, BOOST_PP_TUPLE_EAT_4)(o(656, s), p, o, m) +# define BOOST_PP_FOR_656_I(s, p, o, m) BOOST_PP_IF(p(657, s), m, BOOST_PP_TUPLE_EAT_2)(657, s) BOOST_PP_IF(p(657, s), BOOST_PP_FOR_657, BOOST_PP_TUPLE_EAT_4)(o(657, s), p, o, m) +# define BOOST_PP_FOR_657_I(s, p, o, m) BOOST_PP_IF(p(658, s), m, BOOST_PP_TUPLE_EAT_2)(658, s) BOOST_PP_IF(p(658, s), BOOST_PP_FOR_658, BOOST_PP_TUPLE_EAT_4)(o(658, s), p, o, m) +# define BOOST_PP_FOR_658_I(s, p, o, m) BOOST_PP_IF(p(659, s), m, BOOST_PP_TUPLE_EAT_2)(659, s) BOOST_PP_IF(p(659, s), BOOST_PP_FOR_659, BOOST_PP_TUPLE_EAT_4)(o(659, s), p, o, m) +# define BOOST_PP_FOR_659_I(s, p, o, m) BOOST_PP_IF(p(660, s), m, BOOST_PP_TUPLE_EAT_2)(660, s) BOOST_PP_IF(p(660, s), BOOST_PP_FOR_660, BOOST_PP_TUPLE_EAT_4)(o(660, s), p, o, m) +# define BOOST_PP_FOR_660_I(s, p, o, m) BOOST_PP_IF(p(661, s), m, BOOST_PP_TUPLE_EAT_2)(661, s) BOOST_PP_IF(p(661, s), BOOST_PP_FOR_661, BOOST_PP_TUPLE_EAT_4)(o(661, s), p, o, m) +# define BOOST_PP_FOR_661_I(s, p, o, m) BOOST_PP_IF(p(662, s), m, BOOST_PP_TUPLE_EAT_2)(662, s) BOOST_PP_IF(p(662, s), BOOST_PP_FOR_662, BOOST_PP_TUPLE_EAT_4)(o(662, s), p, o, m) +# define BOOST_PP_FOR_662_I(s, p, o, m) BOOST_PP_IF(p(663, s), m, BOOST_PP_TUPLE_EAT_2)(663, s) BOOST_PP_IF(p(663, s), BOOST_PP_FOR_663, BOOST_PP_TUPLE_EAT_4)(o(663, s), p, o, m) +# define BOOST_PP_FOR_663_I(s, p, o, m) BOOST_PP_IF(p(664, s), m, BOOST_PP_TUPLE_EAT_2)(664, s) BOOST_PP_IF(p(664, s), BOOST_PP_FOR_664, BOOST_PP_TUPLE_EAT_4)(o(664, s), p, o, m) +# define BOOST_PP_FOR_664_I(s, p, o, m) BOOST_PP_IF(p(665, s), m, BOOST_PP_TUPLE_EAT_2)(665, s) BOOST_PP_IF(p(665, s), BOOST_PP_FOR_665, BOOST_PP_TUPLE_EAT_4)(o(665, s), p, o, m) +# define BOOST_PP_FOR_665_I(s, p, o, m) BOOST_PP_IF(p(666, s), m, BOOST_PP_TUPLE_EAT_2)(666, s) BOOST_PP_IF(p(666, s), BOOST_PP_FOR_666, BOOST_PP_TUPLE_EAT_4)(o(666, s), p, o, m) +# define BOOST_PP_FOR_666_I(s, p, o, m) BOOST_PP_IF(p(667, s), m, BOOST_PP_TUPLE_EAT_2)(667, s) BOOST_PP_IF(p(667, s), BOOST_PP_FOR_667, BOOST_PP_TUPLE_EAT_4)(o(667, s), p, o, m) +# define BOOST_PP_FOR_667_I(s, p, o, m) BOOST_PP_IF(p(668, s), m, BOOST_PP_TUPLE_EAT_2)(668, s) BOOST_PP_IF(p(668, s), BOOST_PP_FOR_668, BOOST_PP_TUPLE_EAT_4)(o(668, s), p, o, m) +# define BOOST_PP_FOR_668_I(s, p, o, m) BOOST_PP_IF(p(669, s), m, BOOST_PP_TUPLE_EAT_2)(669, s) BOOST_PP_IF(p(669, s), BOOST_PP_FOR_669, BOOST_PP_TUPLE_EAT_4)(o(669, s), p, o, m) +# define BOOST_PP_FOR_669_I(s, p, o, m) BOOST_PP_IF(p(670, s), m, BOOST_PP_TUPLE_EAT_2)(670, s) BOOST_PP_IF(p(670, s), BOOST_PP_FOR_670, BOOST_PP_TUPLE_EAT_4)(o(670, s), p, o, m) +# define BOOST_PP_FOR_670_I(s, p, o, m) BOOST_PP_IF(p(671, s), m, BOOST_PP_TUPLE_EAT_2)(671, s) BOOST_PP_IF(p(671, s), BOOST_PP_FOR_671, BOOST_PP_TUPLE_EAT_4)(o(671, s), p, o, m) +# define BOOST_PP_FOR_671_I(s, p, o, m) BOOST_PP_IF(p(672, s), m, BOOST_PP_TUPLE_EAT_2)(672, s) BOOST_PP_IF(p(672, s), BOOST_PP_FOR_672, BOOST_PP_TUPLE_EAT_4)(o(672, s), p, o, m) +# define BOOST_PP_FOR_672_I(s, p, o, m) BOOST_PP_IF(p(673, s), m, BOOST_PP_TUPLE_EAT_2)(673, s) BOOST_PP_IF(p(673, s), BOOST_PP_FOR_673, BOOST_PP_TUPLE_EAT_4)(o(673, s), p, o, m) +# define BOOST_PP_FOR_673_I(s, p, o, m) BOOST_PP_IF(p(674, s), m, BOOST_PP_TUPLE_EAT_2)(674, s) BOOST_PP_IF(p(674, s), BOOST_PP_FOR_674, BOOST_PP_TUPLE_EAT_4)(o(674, s), p, o, m) +# define BOOST_PP_FOR_674_I(s, p, o, m) BOOST_PP_IF(p(675, s), m, BOOST_PP_TUPLE_EAT_2)(675, s) BOOST_PP_IF(p(675, s), BOOST_PP_FOR_675, BOOST_PP_TUPLE_EAT_4)(o(675, s), p, o, m) +# define BOOST_PP_FOR_675_I(s, p, o, m) BOOST_PP_IF(p(676, s), m, BOOST_PP_TUPLE_EAT_2)(676, s) BOOST_PP_IF(p(676, s), BOOST_PP_FOR_676, BOOST_PP_TUPLE_EAT_4)(o(676, s), p, o, m) +# define BOOST_PP_FOR_676_I(s, p, o, m) BOOST_PP_IF(p(677, s), m, BOOST_PP_TUPLE_EAT_2)(677, s) BOOST_PP_IF(p(677, s), BOOST_PP_FOR_677, BOOST_PP_TUPLE_EAT_4)(o(677, s), p, o, m) +# define BOOST_PP_FOR_677_I(s, p, o, m) BOOST_PP_IF(p(678, s), m, BOOST_PP_TUPLE_EAT_2)(678, s) BOOST_PP_IF(p(678, s), BOOST_PP_FOR_678, BOOST_PP_TUPLE_EAT_4)(o(678, s), p, o, m) +# define BOOST_PP_FOR_678_I(s, p, o, m) BOOST_PP_IF(p(679, s), m, BOOST_PP_TUPLE_EAT_2)(679, s) BOOST_PP_IF(p(679, s), BOOST_PP_FOR_679, BOOST_PP_TUPLE_EAT_4)(o(679, s), p, o, m) +# define BOOST_PP_FOR_679_I(s, p, o, m) BOOST_PP_IF(p(680, s), m, BOOST_PP_TUPLE_EAT_2)(680, s) BOOST_PP_IF(p(680, s), BOOST_PP_FOR_680, BOOST_PP_TUPLE_EAT_4)(o(680, s), p, o, m) +# define BOOST_PP_FOR_680_I(s, p, o, m) BOOST_PP_IF(p(681, s), m, BOOST_PP_TUPLE_EAT_2)(681, s) BOOST_PP_IF(p(681, s), BOOST_PP_FOR_681, BOOST_PP_TUPLE_EAT_4)(o(681, s), p, o, m) +# define BOOST_PP_FOR_681_I(s, p, o, m) BOOST_PP_IF(p(682, s), m, BOOST_PP_TUPLE_EAT_2)(682, s) BOOST_PP_IF(p(682, s), BOOST_PP_FOR_682, BOOST_PP_TUPLE_EAT_4)(o(682, s), p, o, m) +# define BOOST_PP_FOR_682_I(s, p, o, m) BOOST_PP_IF(p(683, s), m, BOOST_PP_TUPLE_EAT_2)(683, s) BOOST_PP_IF(p(683, s), BOOST_PP_FOR_683, BOOST_PP_TUPLE_EAT_4)(o(683, s), p, o, m) +# define BOOST_PP_FOR_683_I(s, p, o, m) BOOST_PP_IF(p(684, s), m, BOOST_PP_TUPLE_EAT_2)(684, s) BOOST_PP_IF(p(684, s), BOOST_PP_FOR_684, BOOST_PP_TUPLE_EAT_4)(o(684, s), p, o, m) +# define BOOST_PP_FOR_684_I(s, p, o, m) BOOST_PP_IF(p(685, s), m, BOOST_PP_TUPLE_EAT_2)(685, s) BOOST_PP_IF(p(685, s), BOOST_PP_FOR_685, BOOST_PP_TUPLE_EAT_4)(o(685, s), p, o, m) +# define BOOST_PP_FOR_685_I(s, p, o, m) BOOST_PP_IF(p(686, s), m, BOOST_PP_TUPLE_EAT_2)(686, s) BOOST_PP_IF(p(686, s), BOOST_PP_FOR_686, BOOST_PP_TUPLE_EAT_4)(o(686, s), p, o, m) +# define BOOST_PP_FOR_686_I(s, p, o, m) BOOST_PP_IF(p(687, s), m, BOOST_PP_TUPLE_EAT_2)(687, s) BOOST_PP_IF(p(687, s), BOOST_PP_FOR_687, BOOST_PP_TUPLE_EAT_4)(o(687, s), p, o, m) +# define BOOST_PP_FOR_687_I(s, p, o, m) BOOST_PP_IF(p(688, s), m, BOOST_PP_TUPLE_EAT_2)(688, s) BOOST_PP_IF(p(688, s), BOOST_PP_FOR_688, BOOST_PP_TUPLE_EAT_4)(o(688, s), p, o, m) +# define BOOST_PP_FOR_688_I(s, p, o, m) BOOST_PP_IF(p(689, s), m, BOOST_PP_TUPLE_EAT_2)(689, s) BOOST_PP_IF(p(689, s), BOOST_PP_FOR_689, BOOST_PP_TUPLE_EAT_4)(o(689, s), p, o, m) +# define BOOST_PP_FOR_689_I(s, p, o, m) BOOST_PP_IF(p(690, s), m, BOOST_PP_TUPLE_EAT_2)(690, s) BOOST_PP_IF(p(690, s), BOOST_PP_FOR_690, BOOST_PP_TUPLE_EAT_4)(o(690, s), p, o, m) +# define BOOST_PP_FOR_690_I(s, p, o, m) BOOST_PP_IF(p(691, s), m, BOOST_PP_TUPLE_EAT_2)(691, s) BOOST_PP_IF(p(691, s), BOOST_PP_FOR_691, BOOST_PP_TUPLE_EAT_4)(o(691, s), p, o, m) +# define BOOST_PP_FOR_691_I(s, p, o, m) BOOST_PP_IF(p(692, s), m, BOOST_PP_TUPLE_EAT_2)(692, s) BOOST_PP_IF(p(692, s), BOOST_PP_FOR_692, BOOST_PP_TUPLE_EAT_4)(o(692, s), p, o, m) +# define BOOST_PP_FOR_692_I(s, p, o, m) BOOST_PP_IF(p(693, s), m, BOOST_PP_TUPLE_EAT_2)(693, s) BOOST_PP_IF(p(693, s), BOOST_PP_FOR_693, BOOST_PP_TUPLE_EAT_4)(o(693, s), p, o, m) +# define BOOST_PP_FOR_693_I(s, p, o, m) BOOST_PP_IF(p(694, s), m, BOOST_PP_TUPLE_EAT_2)(694, s) BOOST_PP_IF(p(694, s), BOOST_PP_FOR_694, BOOST_PP_TUPLE_EAT_4)(o(694, s), p, o, m) +# define BOOST_PP_FOR_694_I(s, p, o, m) BOOST_PP_IF(p(695, s), m, BOOST_PP_TUPLE_EAT_2)(695, s) BOOST_PP_IF(p(695, s), BOOST_PP_FOR_695, BOOST_PP_TUPLE_EAT_4)(o(695, s), p, o, m) +# define BOOST_PP_FOR_695_I(s, p, o, m) BOOST_PP_IF(p(696, s), m, BOOST_PP_TUPLE_EAT_2)(696, s) BOOST_PP_IF(p(696, s), BOOST_PP_FOR_696, BOOST_PP_TUPLE_EAT_4)(o(696, s), p, o, m) +# define BOOST_PP_FOR_696_I(s, p, o, m) BOOST_PP_IF(p(697, s), m, BOOST_PP_TUPLE_EAT_2)(697, s) BOOST_PP_IF(p(697, s), BOOST_PP_FOR_697, BOOST_PP_TUPLE_EAT_4)(o(697, s), p, o, m) +# define BOOST_PP_FOR_697_I(s, p, o, m) BOOST_PP_IF(p(698, s), m, BOOST_PP_TUPLE_EAT_2)(698, s) BOOST_PP_IF(p(698, s), BOOST_PP_FOR_698, BOOST_PP_TUPLE_EAT_4)(o(698, s), p, o, m) +# define BOOST_PP_FOR_698_I(s, p, o, m) BOOST_PP_IF(p(699, s), m, BOOST_PP_TUPLE_EAT_2)(699, s) BOOST_PP_IF(p(699, s), BOOST_PP_FOR_699, BOOST_PP_TUPLE_EAT_4)(o(699, s), p, o, m) +# define BOOST_PP_FOR_699_I(s, p, o, m) BOOST_PP_IF(p(700, s), m, BOOST_PP_TUPLE_EAT_2)(700, s) BOOST_PP_IF(p(700, s), BOOST_PP_FOR_700, BOOST_PP_TUPLE_EAT_4)(o(700, s), p, o, m) +# define BOOST_PP_FOR_700_I(s, p, o, m) BOOST_PP_IF(p(701, s), m, BOOST_PP_TUPLE_EAT_2)(701, s) BOOST_PP_IF(p(701, s), BOOST_PP_FOR_701, BOOST_PP_TUPLE_EAT_4)(o(701, s), p, o, m) +# define BOOST_PP_FOR_701_I(s, p, o, m) BOOST_PP_IF(p(702, s), m, BOOST_PP_TUPLE_EAT_2)(702, s) BOOST_PP_IF(p(702, s), BOOST_PP_FOR_702, BOOST_PP_TUPLE_EAT_4)(o(702, s), p, o, m) +# define BOOST_PP_FOR_702_I(s, p, o, m) BOOST_PP_IF(p(703, s), m, BOOST_PP_TUPLE_EAT_2)(703, s) BOOST_PP_IF(p(703, s), BOOST_PP_FOR_703, BOOST_PP_TUPLE_EAT_4)(o(703, s), p, o, m) +# define BOOST_PP_FOR_703_I(s, p, o, m) BOOST_PP_IF(p(704, s), m, BOOST_PP_TUPLE_EAT_2)(704, s) BOOST_PP_IF(p(704, s), BOOST_PP_FOR_704, BOOST_PP_TUPLE_EAT_4)(o(704, s), p, o, m) +# define BOOST_PP_FOR_704_I(s, p, o, m) BOOST_PP_IF(p(705, s), m, BOOST_PP_TUPLE_EAT_2)(705, s) BOOST_PP_IF(p(705, s), BOOST_PP_FOR_705, BOOST_PP_TUPLE_EAT_4)(o(705, s), p, o, m) +# define BOOST_PP_FOR_705_I(s, p, o, m) BOOST_PP_IF(p(706, s), m, BOOST_PP_TUPLE_EAT_2)(706, s) BOOST_PP_IF(p(706, s), BOOST_PP_FOR_706, BOOST_PP_TUPLE_EAT_4)(o(706, s), p, o, m) +# define BOOST_PP_FOR_706_I(s, p, o, m) BOOST_PP_IF(p(707, s), m, BOOST_PP_TUPLE_EAT_2)(707, s) BOOST_PP_IF(p(707, s), BOOST_PP_FOR_707, BOOST_PP_TUPLE_EAT_4)(o(707, s), p, o, m) +# define BOOST_PP_FOR_707_I(s, p, o, m) BOOST_PP_IF(p(708, s), m, BOOST_PP_TUPLE_EAT_2)(708, s) BOOST_PP_IF(p(708, s), BOOST_PP_FOR_708, BOOST_PP_TUPLE_EAT_4)(o(708, s), p, o, m) +# define BOOST_PP_FOR_708_I(s, p, o, m) BOOST_PP_IF(p(709, s), m, BOOST_PP_TUPLE_EAT_2)(709, s) BOOST_PP_IF(p(709, s), BOOST_PP_FOR_709, BOOST_PP_TUPLE_EAT_4)(o(709, s), p, o, m) +# define BOOST_PP_FOR_709_I(s, p, o, m) BOOST_PP_IF(p(710, s), m, BOOST_PP_TUPLE_EAT_2)(710, s) BOOST_PP_IF(p(710, s), BOOST_PP_FOR_710, BOOST_PP_TUPLE_EAT_4)(o(710, s), p, o, m) +# define BOOST_PP_FOR_710_I(s, p, o, m) BOOST_PP_IF(p(711, s), m, BOOST_PP_TUPLE_EAT_2)(711, s) BOOST_PP_IF(p(711, s), BOOST_PP_FOR_711, BOOST_PP_TUPLE_EAT_4)(o(711, s), p, o, m) +# define BOOST_PP_FOR_711_I(s, p, o, m) BOOST_PP_IF(p(712, s), m, BOOST_PP_TUPLE_EAT_2)(712, s) BOOST_PP_IF(p(712, s), BOOST_PP_FOR_712, BOOST_PP_TUPLE_EAT_4)(o(712, s), p, o, m) +# define BOOST_PP_FOR_712_I(s, p, o, m) BOOST_PP_IF(p(713, s), m, BOOST_PP_TUPLE_EAT_2)(713, s) BOOST_PP_IF(p(713, s), BOOST_PP_FOR_713, BOOST_PP_TUPLE_EAT_4)(o(713, s), p, o, m) +# define BOOST_PP_FOR_713_I(s, p, o, m) BOOST_PP_IF(p(714, s), m, BOOST_PP_TUPLE_EAT_2)(714, s) BOOST_PP_IF(p(714, s), BOOST_PP_FOR_714, BOOST_PP_TUPLE_EAT_4)(o(714, s), p, o, m) +# define BOOST_PP_FOR_714_I(s, p, o, m) BOOST_PP_IF(p(715, s), m, BOOST_PP_TUPLE_EAT_2)(715, s) BOOST_PP_IF(p(715, s), BOOST_PP_FOR_715, BOOST_PP_TUPLE_EAT_4)(o(715, s), p, o, m) +# define BOOST_PP_FOR_715_I(s, p, o, m) BOOST_PP_IF(p(716, s), m, BOOST_PP_TUPLE_EAT_2)(716, s) BOOST_PP_IF(p(716, s), BOOST_PP_FOR_716, BOOST_PP_TUPLE_EAT_4)(o(716, s), p, o, m) +# define BOOST_PP_FOR_716_I(s, p, o, m) BOOST_PP_IF(p(717, s), m, BOOST_PP_TUPLE_EAT_2)(717, s) BOOST_PP_IF(p(717, s), BOOST_PP_FOR_717, BOOST_PP_TUPLE_EAT_4)(o(717, s), p, o, m) +# define BOOST_PP_FOR_717_I(s, p, o, m) BOOST_PP_IF(p(718, s), m, BOOST_PP_TUPLE_EAT_2)(718, s) BOOST_PP_IF(p(718, s), BOOST_PP_FOR_718, BOOST_PP_TUPLE_EAT_4)(o(718, s), p, o, m) +# define BOOST_PP_FOR_718_I(s, p, o, m) BOOST_PP_IF(p(719, s), m, BOOST_PP_TUPLE_EAT_2)(719, s) BOOST_PP_IF(p(719, s), BOOST_PP_FOR_719, BOOST_PP_TUPLE_EAT_4)(o(719, s), p, o, m) +# define BOOST_PP_FOR_719_I(s, p, o, m) BOOST_PP_IF(p(720, s), m, BOOST_PP_TUPLE_EAT_2)(720, s) BOOST_PP_IF(p(720, s), BOOST_PP_FOR_720, BOOST_PP_TUPLE_EAT_4)(o(720, s), p, o, m) +# define BOOST_PP_FOR_720_I(s, p, o, m) BOOST_PP_IF(p(721, s), m, BOOST_PP_TUPLE_EAT_2)(721, s) BOOST_PP_IF(p(721, s), BOOST_PP_FOR_721, BOOST_PP_TUPLE_EAT_4)(o(721, s), p, o, m) +# define BOOST_PP_FOR_721_I(s, p, o, m) BOOST_PP_IF(p(722, s), m, BOOST_PP_TUPLE_EAT_2)(722, s) BOOST_PP_IF(p(722, s), BOOST_PP_FOR_722, BOOST_PP_TUPLE_EAT_4)(o(722, s), p, o, m) +# define BOOST_PP_FOR_722_I(s, p, o, m) BOOST_PP_IF(p(723, s), m, BOOST_PP_TUPLE_EAT_2)(723, s) BOOST_PP_IF(p(723, s), BOOST_PP_FOR_723, BOOST_PP_TUPLE_EAT_4)(o(723, s), p, o, m) +# define BOOST_PP_FOR_723_I(s, p, o, m) BOOST_PP_IF(p(724, s), m, BOOST_PP_TUPLE_EAT_2)(724, s) BOOST_PP_IF(p(724, s), BOOST_PP_FOR_724, BOOST_PP_TUPLE_EAT_4)(o(724, s), p, o, m) +# define BOOST_PP_FOR_724_I(s, p, o, m) BOOST_PP_IF(p(725, s), m, BOOST_PP_TUPLE_EAT_2)(725, s) BOOST_PP_IF(p(725, s), BOOST_PP_FOR_725, BOOST_PP_TUPLE_EAT_4)(o(725, s), p, o, m) +# define BOOST_PP_FOR_725_I(s, p, o, m) BOOST_PP_IF(p(726, s), m, BOOST_PP_TUPLE_EAT_2)(726, s) BOOST_PP_IF(p(726, s), BOOST_PP_FOR_726, BOOST_PP_TUPLE_EAT_4)(o(726, s), p, o, m) +# define BOOST_PP_FOR_726_I(s, p, o, m) BOOST_PP_IF(p(727, s), m, BOOST_PP_TUPLE_EAT_2)(727, s) BOOST_PP_IF(p(727, s), BOOST_PP_FOR_727, BOOST_PP_TUPLE_EAT_4)(o(727, s), p, o, m) +# define BOOST_PP_FOR_727_I(s, p, o, m) BOOST_PP_IF(p(728, s), m, BOOST_PP_TUPLE_EAT_2)(728, s) BOOST_PP_IF(p(728, s), BOOST_PP_FOR_728, BOOST_PP_TUPLE_EAT_4)(o(728, s), p, o, m) +# define BOOST_PP_FOR_728_I(s, p, o, m) BOOST_PP_IF(p(729, s), m, BOOST_PP_TUPLE_EAT_2)(729, s) BOOST_PP_IF(p(729, s), BOOST_PP_FOR_729, BOOST_PP_TUPLE_EAT_4)(o(729, s), p, o, m) +# define BOOST_PP_FOR_729_I(s, p, o, m) BOOST_PP_IF(p(730, s), m, BOOST_PP_TUPLE_EAT_2)(730, s) BOOST_PP_IF(p(730, s), BOOST_PP_FOR_730, BOOST_PP_TUPLE_EAT_4)(o(730, s), p, o, m) +# define BOOST_PP_FOR_730_I(s, p, o, m) BOOST_PP_IF(p(731, s), m, BOOST_PP_TUPLE_EAT_2)(731, s) BOOST_PP_IF(p(731, s), BOOST_PP_FOR_731, BOOST_PP_TUPLE_EAT_4)(o(731, s), p, o, m) +# define BOOST_PP_FOR_731_I(s, p, o, m) BOOST_PP_IF(p(732, s), m, BOOST_PP_TUPLE_EAT_2)(732, s) BOOST_PP_IF(p(732, s), BOOST_PP_FOR_732, BOOST_PP_TUPLE_EAT_4)(o(732, s), p, o, m) +# define BOOST_PP_FOR_732_I(s, p, o, m) BOOST_PP_IF(p(733, s), m, BOOST_PP_TUPLE_EAT_2)(733, s) BOOST_PP_IF(p(733, s), BOOST_PP_FOR_733, BOOST_PP_TUPLE_EAT_4)(o(733, s), p, o, m) +# define BOOST_PP_FOR_733_I(s, p, o, m) BOOST_PP_IF(p(734, s), m, BOOST_PP_TUPLE_EAT_2)(734, s) BOOST_PP_IF(p(734, s), BOOST_PP_FOR_734, BOOST_PP_TUPLE_EAT_4)(o(734, s), p, o, m) +# define BOOST_PP_FOR_734_I(s, p, o, m) BOOST_PP_IF(p(735, s), m, BOOST_PP_TUPLE_EAT_2)(735, s) BOOST_PP_IF(p(735, s), BOOST_PP_FOR_735, BOOST_PP_TUPLE_EAT_4)(o(735, s), p, o, m) +# define BOOST_PP_FOR_735_I(s, p, o, m) BOOST_PP_IF(p(736, s), m, BOOST_PP_TUPLE_EAT_2)(736, s) BOOST_PP_IF(p(736, s), BOOST_PP_FOR_736, BOOST_PP_TUPLE_EAT_4)(o(736, s), p, o, m) +# define BOOST_PP_FOR_736_I(s, p, o, m) BOOST_PP_IF(p(737, s), m, BOOST_PP_TUPLE_EAT_2)(737, s) BOOST_PP_IF(p(737, s), BOOST_PP_FOR_737, BOOST_PP_TUPLE_EAT_4)(o(737, s), p, o, m) +# define BOOST_PP_FOR_737_I(s, p, o, m) BOOST_PP_IF(p(738, s), m, BOOST_PP_TUPLE_EAT_2)(738, s) BOOST_PP_IF(p(738, s), BOOST_PP_FOR_738, BOOST_PP_TUPLE_EAT_4)(o(738, s), p, o, m) +# define BOOST_PP_FOR_738_I(s, p, o, m) BOOST_PP_IF(p(739, s), m, BOOST_PP_TUPLE_EAT_2)(739, s) BOOST_PP_IF(p(739, s), BOOST_PP_FOR_739, BOOST_PP_TUPLE_EAT_4)(o(739, s), p, o, m) +# define BOOST_PP_FOR_739_I(s, p, o, m) BOOST_PP_IF(p(740, s), m, BOOST_PP_TUPLE_EAT_2)(740, s) BOOST_PP_IF(p(740, s), BOOST_PP_FOR_740, BOOST_PP_TUPLE_EAT_4)(o(740, s), p, o, m) +# define BOOST_PP_FOR_740_I(s, p, o, m) BOOST_PP_IF(p(741, s), m, BOOST_PP_TUPLE_EAT_2)(741, s) BOOST_PP_IF(p(741, s), BOOST_PP_FOR_741, BOOST_PP_TUPLE_EAT_4)(o(741, s), p, o, m) +# define BOOST_PP_FOR_741_I(s, p, o, m) BOOST_PP_IF(p(742, s), m, BOOST_PP_TUPLE_EAT_2)(742, s) BOOST_PP_IF(p(742, s), BOOST_PP_FOR_742, BOOST_PP_TUPLE_EAT_4)(o(742, s), p, o, m) +# define BOOST_PP_FOR_742_I(s, p, o, m) BOOST_PP_IF(p(743, s), m, BOOST_PP_TUPLE_EAT_2)(743, s) BOOST_PP_IF(p(743, s), BOOST_PP_FOR_743, BOOST_PP_TUPLE_EAT_4)(o(743, s), p, o, m) +# define BOOST_PP_FOR_743_I(s, p, o, m) BOOST_PP_IF(p(744, s), m, BOOST_PP_TUPLE_EAT_2)(744, s) BOOST_PP_IF(p(744, s), BOOST_PP_FOR_744, BOOST_PP_TUPLE_EAT_4)(o(744, s), p, o, m) +# define BOOST_PP_FOR_744_I(s, p, o, m) BOOST_PP_IF(p(745, s), m, BOOST_PP_TUPLE_EAT_2)(745, s) BOOST_PP_IF(p(745, s), BOOST_PP_FOR_745, BOOST_PP_TUPLE_EAT_4)(o(745, s), p, o, m) +# define BOOST_PP_FOR_745_I(s, p, o, m) BOOST_PP_IF(p(746, s), m, BOOST_PP_TUPLE_EAT_2)(746, s) BOOST_PP_IF(p(746, s), BOOST_PP_FOR_746, BOOST_PP_TUPLE_EAT_4)(o(746, s), p, o, m) +# define BOOST_PP_FOR_746_I(s, p, o, m) BOOST_PP_IF(p(747, s), m, BOOST_PP_TUPLE_EAT_2)(747, s) BOOST_PP_IF(p(747, s), BOOST_PP_FOR_747, BOOST_PP_TUPLE_EAT_4)(o(747, s), p, o, m) +# define BOOST_PP_FOR_747_I(s, p, o, m) BOOST_PP_IF(p(748, s), m, BOOST_PP_TUPLE_EAT_2)(748, s) BOOST_PP_IF(p(748, s), BOOST_PP_FOR_748, BOOST_PP_TUPLE_EAT_4)(o(748, s), p, o, m) +# define BOOST_PP_FOR_748_I(s, p, o, m) BOOST_PP_IF(p(749, s), m, BOOST_PP_TUPLE_EAT_2)(749, s) BOOST_PP_IF(p(749, s), BOOST_PP_FOR_749, BOOST_PP_TUPLE_EAT_4)(o(749, s), p, o, m) +# define BOOST_PP_FOR_749_I(s, p, o, m) BOOST_PP_IF(p(750, s), m, BOOST_PP_TUPLE_EAT_2)(750, s) BOOST_PP_IF(p(750, s), BOOST_PP_FOR_750, BOOST_PP_TUPLE_EAT_4)(o(750, s), p, o, m) +# define BOOST_PP_FOR_750_I(s, p, o, m) BOOST_PP_IF(p(751, s), m, BOOST_PP_TUPLE_EAT_2)(751, s) BOOST_PP_IF(p(751, s), BOOST_PP_FOR_751, BOOST_PP_TUPLE_EAT_4)(o(751, s), p, o, m) +# define BOOST_PP_FOR_751_I(s, p, o, m) BOOST_PP_IF(p(752, s), m, BOOST_PP_TUPLE_EAT_2)(752, s) BOOST_PP_IF(p(752, s), BOOST_PP_FOR_752, BOOST_PP_TUPLE_EAT_4)(o(752, s), p, o, m) +# define BOOST_PP_FOR_752_I(s, p, o, m) BOOST_PP_IF(p(753, s), m, BOOST_PP_TUPLE_EAT_2)(753, s) BOOST_PP_IF(p(753, s), BOOST_PP_FOR_753, BOOST_PP_TUPLE_EAT_4)(o(753, s), p, o, m) +# define BOOST_PP_FOR_753_I(s, p, o, m) BOOST_PP_IF(p(754, s), m, BOOST_PP_TUPLE_EAT_2)(754, s) BOOST_PP_IF(p(754, s), BOOST_PP_FOR_754, BOOST_PP_TUPLE_EAT_4)(o(754, s), p, o, m) +# define BOOST_PP_FOR_754_I(s, p, o, m) BOOST_PP_IF(p(755, s), m, BOOST_PP_TUPLE_EAT_2)(755, s) BOOST_PP_IF(p(755, s), BOOST_PP_FOR_755, BOOST_PP_TUPLE_EAT_4)(o(755, s), p, o, m) +# define BOOST_PP_FOR_755_I(s, p, o, m) BOOST_PP_IF(p(756, s), m, BOOST_PP_TUPLE_EAT_2)(756, s) BOOST_PP_IF(p(756, s), BOOST_PP_FOR_756, BOOST_PP_TUPLE_EAT_4)(o(756, s), p, o, m) +# define BOOST_PP_FOR_756_I(s, p, o, m) BOOST_PP_IF(p(757, s), m, BOOST_PP_TUPLE_EAT_2)(757, s) BOOST_PP_IF(p(757, s), BOOST_PP_FOR_757, BOOST_PP_TUPLE_EAT_4)(o(757, s), p, o, m) +# define BOOST_PP_FOR_757_I(s, p, o, m) BOOST_PP_IF(p(758, s), m, BOOST_PP_TUPLE_EAT_2)(758, s) BOOST_PP_IF(p(758, s), BOOST_PP_FOR_758, BOOST_PP_TUPLE_EAT_4)(o(758, s), p, o, m) +# define BOOST_PP_FOR_758_I(s, p, o, m) BOOST_PP_IF(p(759, s), m, BOOST_PP_TUPLE_EAT_2)(759, s) BOOST_PP_IF(p(759, s), BOOST_PP_FOR_759, BOOST_PP_TUPLE_EAT_4)(o(759, s), p, o, m) +# define BOOST_PP_FOR_759_I(s, p, o, m) BOOST_PP_IF(p(760, s), m, BOOST_PP_TUPLE_EAT_2)(760, s) BOOST_PP_IF(p(760, s), BOOST_PP_FOR_760, BOOST_PP_TUPLE_EAT_4)(o(760, s), p, o, m) +# define BOOST_PP_FOR_760_I(s, p, o, m) BOOST_PP_IF(p(761, s), m, BOOST_PP_TUPLE_EAT_2)(761, s) BOOST_PP_IF(p(761, s), BOOST_PP_FOR_761, BOOST_PP_TUPLE_EAT_4)(o(761, s), p, o, m) +# define BOOST_PP_FOR_761_I(s, p, o, m) BOOST_PP_IF(p(762, s), m, BOOST_PP_TUPLE_EAT_2)(762, s) BOOST_PP_IF(p(762, s), BOOST_PP_FOR_762, BOOST_PP_TUPLE_EAT_4)(o(762, s), p, o, m) +# define BOOST_PP_FOR_762_I(s, p, o, m) BOOST_PP_IF(p(763, s), m, BOOST_PP_TUPLE_EAT_2)(763, s) BOOST_PP_IF(p(763, s), BOOST_PP_FOR_763, BOOST_PP_TUPLE_EAT_4)(o(763, s), p, o, m) +# define BOOST_PP_FOR_763_I(s, p, o, m) BOOST_PP_IF(p(764, s), m, BOOST_PP_TUPLE_EAT_2)(764, s) BOOST_PP_IF(p(764, s), BOOST_PP_FOR_764, BOOST_PP_TUPLE_EAT_4)(o(764, s), p, o, m) +# define BOOST_PP_FOR_764_I(s, p, o, m) BOOST_PP_IF(p(765, s), m, BOOST_PP_TUPLE_EAT_2)(765, s) BOOST_PP_IF(p(765, s), BOOST_PP_FOR_765, BOOST_PP_TUPLE_EAT_4)(o(765, s), p, o, m) +# define BOOST_PP_FOR_765_I(s, p, o, m) BOOST_PP_IF(p(766, s), m, BOOST_PP_TUPLE_EAT_2)(766, s) BOOST_PP_IF(p(766, s), BOOST_PP_FOR_766, BOOST_PP_TUPLE_EAT_4)(o(766, s), p, o, m) +# define BOOST_PP_FOR_766_I(s, p, o, m) BOOST_PP_IF(p(767, s), m, BOOST_PP_TUPLE_EAT_2)(767, s) BOOST_PP_IF(p(767, s), BOOST_PP_FOR_767, BOOST_PP_TUPLE_EAT_4)(o(767, s), p, o, m) +# define BOOST_PP_FOR_767_I(s, p, o, m) BOOST_PP_IF(p(768, s), m, BOOST_PP_TUPLE_EAT_2)(768, s) BOOST_PP_IF(p(768, s), BOOST_PP_FOR_768, BOOST_PP_TUPLE_EAT_4)(o(768, s), p, o, m) +# define BOOST_PP_FOR_768_I(s, p, o, m) BOOST_PP_IF(p(769, s), m, BOOST_PP_TUPLE_EAT_2)(769, s) BOOST_PP_IF(p(769, s), BOOST_PP_FOR_769, BOOST_PP_TUPLE_EAT_4)(o(769, s), p, o, m) +# define BOOST_PP_FOR_769_I(s, p, o, m) BOOST_PP_IF(p(770, s), m, BOOST_PP_TUPLE_EAT_2)(770, s) BOOST_PP_IF(p(770, s), BOOST_PP_FOR_770, BOOST_PP_TUPLE_EAT_4)(o(770, s), p, o, m) +# define BOOST_PP_FOR_770_I(s, p, o, m) BOOST_PP_IF(p(771, s), m, BOOST_PP_TUPLE_EAT_2)(771, s) BOOST_PP_IF(p(771, s), BOOST_PP_FOR_771, BOOST_PP_TUPLE_EAT_4)(o(771, s), p, o, m) +# define BOOST_PP_FOR_771_I(s, p, o, m) BOOST_PP_IF(p(772, s), m, BOOST_PP_TUPLE_EAT_2)(772, s) BOOST_PP_IF(p(772, s), BOOST_PP_FOR_772, BOOST_PP_TUPLE_EAT_4)(o(772, s), p, o, m) +# define BOOST_PP_FOR_772_I(s, p, o, m) BOOST_PP_IF(p(773, s), m, BOOST_PP_TUPLE_EAT_2)(773, s) BOOST_PP_IF(p(773, s), BOOST_PP_FOR_773, BOOST_PP_TUPLE_EAT_4)(o(773, s), p, o, m) +# define BOOST_PP_FOR_773_I(s, p, o, m) BOOST_PP_IF(p(774, s), m, BOOST_PP_TUPLE_EAT_2)(774, s) BOOST_PP_IF(p(774, s), BOOST_PP_FOR_774, BOOST_PP_TUPLE_EAT_4)(o(774, s), p, o, m) +# define BOOST_PP_FOR_774_I(s, p, o, m) BOOST_PP_IF(p(775, s), m, BOOST_PP_TUPLE_EAT_2)(775, s) BOOST_PP_IF(p(775, s), BOOST_PP_FOR_775, BOOST_PP_TUPLE_EAT_4)(o(775, s), p, o, m) +# define BOOST_PP_FOR_775_I(s, p, o, m) BOOST_PP_IF(p(776, s), m, BOOST_PP_TUPLE_EAT_2)(776, s) BOOST_PP_IF(p(776, s), BOOST_PP_FOR_776, BOOST_PP_TUPLE_EAT_4)(o(776, s), p, o, m) +# define BOOST_PP_FOR_776_I(s, p, o, m) BOOST_PP_IF(p(777, s), m, BOOST_PP_TUPLE_EAT_2)(777, s) BOOST_PP_IF(p(777, s), BOOST_PP_FOR_777, BOOST_PP_TUPLE_EAT_4)(o(777, s), p, o, m) +# define BOOST_PP_FOR_777_I(s, p, o, m) BOOST_PP_IF(p(778, s), m, BOOST_PP_TUPLE_EAT_2)(778, s) BOOST_PP_IF(p(778, s), BOOST_PP_FOR_778, BOOST_PP_TUPLE_EAT_4)(o(778, s), p, o, m) +# define BOOST_PP_FOR_778_I(s, p, o, m) BOOST_PP_IF(p(779, s), m, BOOST_PP_TUPLE_EAT_2)(779, s) BOOST_PP_IF(p(779, s), BOOST_PP_FOR_779, BOOST_PP_TUPLE_EAT_4)(o(779, s), p, o, m) +# define BOOST_PP_FOR_779_I(s, p, o, m) BOOST_PP_IF(p(780, s), m, BOOST_PP_TUPLE_EAT_2)(780, s) BOOST_PP_IF(p(780, s), BOOST_PP_FOR_780, BOOST_PP_TUPLE_EAT_4)(o(780, s), p, o, m) +# define BOOST_PP_FOR_780_I(s, p, o, m) BOOST_PP_IF(p(781, s), m, BOOST_PP_TUPLE_EAT_2)(781, s) BOOST_PP_IF(p(781, s), BOOST_PP_FOR_781, BOOST_PP_TUPLE_EAT_4)(o(781, s), p, o, m) +# define BOOST_PP_FOR_781_I(s, p, o, m) BOOST_PP_IF(p(782, s), m, BOOST_PP_TUPLE_EAT_2)(782, s) BOOST_PP_IF(p(782, s), BOOST_PP_FOR_782, BOOST_PP_TUPLE_EAT_4)(o(782, s), p, o, m) +# define BOOST_PP_FOR_782_I(s, p, o, m) BOOST_PP_IF(p(783, s), m, BOOST_PP_TUPLE_EAT_2)(783, s) BOOST_PP_IF(p(783, s), BOOST_PP_FOR_783, BOOST_PP_TUPLE_EAT_4)(o(783, s), p, o, m) +# define BOOST_PP_FOR_783_I(s, p, o, m) BOOST_PP_IF(p(784, s), m, BOOST_PP_TUPLE_EAT_2)(784, s) BOOST_PP_IF(p(784, s), BOOST_PP_FOR_784, BOOST_PP_TUPLE_EAT_4)(o(784, s), p, o, m) +# define BOOST_PP_FOR_784_I(s, p, o, m) BOOST_PP_IF(p(785, s), m, BOOST_PP_TUPLE_EAT_2)(785, s) BOOST_PP_IF(p(785, s), BOOST_PP_FOR_785, BOOST_PP_TUPLE_EAT_4)(o(785, s), p, o, m) +# define BOOST_PP_FOR_785_I(s, p, o, m) BOOST_PP_IF(p(786, s), m, BOOST_PP_TUPLE_EAT_2)(786, s) BOOST_PP_IF(p(786, s), BOOST_PP_FOR_786, BOOST_PP_TUPLE_EAT_4)(o(786, s), p, o, m) +# define BOOST_PP_FOR_786_I(s, p, o, m) BOOST_PP_IF(p(787, s), m, BOOST_PP_TUPLE_EAT_2)(787, s) BOOST_PP_IF(p(787, s), BOOST_PP_FOR_787, BOOST_PP_TUPLE_EAT_4)(o(787, s), p, o, m) +# define BOOST_PP_FOR_787_I(s, p, o, m) BOOST_PP_IF(p(788, s), m, BOOST_PP_TUPLE_EAT_2)(788, s) BOOST_PP_IF(p(788, s), BOOST_PP_FOR_788, BOOST_PP_TUPLE_EAT_4)(o(788, s), p, o, m) +# define BOOST_PP_FOR_788_I(s, p, o, m) BOOST_PP_IF(p(789, s), m, BOOST_PP_TUPLE_EAT_2)(789, s) BOOST_PP_IF(p(789, s), BOOST_PP_FOR_789, BOOST_PP_TUPLE_EAT_4)(o(789, s), p, o, m) +# define BOOST_PP_FOR_789_I(s, p, o, m) BOOST_PP_IF(p(790, s), m, BOOST_PP_TUPLE_EAT_2)(790, s) BOOST_PP_IF(p(790, s), BOOST_PP_FOR_790, BOOST_PP_TUPLE_EAT_4)(o(790, s), p, o, m) +# define BOOST_PP_FOR_790_I(s, p, o, m) BOOST_PP_IF(p(791, s), m, BOOST_PP_TUPLE_EAT_2)(791, s) BOOST_PP_IF(p(791, s), BOOST_PP_FOR_791, BOOST_PP_TUPLE_EAT_4)(o(791, s), p, o, m) +# define BOOST_PP_FOR_791_I(s, p, o, m) BOOST_PP_IF(p(792, s), m, BOOST_PP_TUPLE_EAT_2)(792, s) BOOST_PP_IF(p(792, s), BOOST_PP_FOR_792, BOOST_PP_TUPLE_EAT_4)(o(792, s), p, o, m) +# define BOOST_PP_FOR_792_I(s, p, o, m) BOOST_PP_IF(p(793, s), m, BOOST_PP_TUPLE_EAT_2)(793, s) BOOST_PP_IF(p(793, s), BOOST_PP_FOR_793, BOOST_PP_TUPLE_EAT_4)(o(793, s), p, o, m) +# define BOOST_PP_FOR_793_I(s, p, o, m) BOOST_PP_IF(p(794, s), m, BOOST_PP_TUPLE_EAT_2)(794, s) BOOST_PP_IF(p(794, s), BOOST_PP_FOR_794, BOOST_PP_TUPLE_EAT_4)(o(794, s), p, o, m) +# define BOOST_PP_FOR_794_I(s, p, o, m) BOOST_PP_IF(p(795, s), m, BOOST_PP_TUPLE_EAT_2)(795, s) BOOST_PP_IF(p(795, s), BOOST_PP_FOR_795, BOOST_PP_TUPLE_EAT_4)(o(795, s), p, o, m) +# define BOOST_PP_FOR_795_I(s, p, o, m) BOOST_PP_IF(p(796, s), m, BOOST_PP_TUPLE_EAT_2)(796, s) BOOST_PP_IF(p(796, s), BOOST_PP_FOR_796, BOOST_PP_TUPLE_EAT_4)(o(796, s), p, o, m) +# define BOOST_PP_FOR_796_I(s, p, o, m) BOOST_PP_IF(p(797, s), m, BOOST_PP_TUPLE_EAT_2)(797, s) BOOST_PP_IF(p(797, s), BOOST_PP_FOR_797, BOOST_PP_TUPLE_EAT_4)(o(797, s), p, o, m) +# define BOOST_PP_FOR_797_I(s, p, o, m) BOOST_PP_IF(p(798, s), m, BOOST_PP_TUPLE_EAT_2)(798, s) BOOST_PP_IF(p(798, s), BOOST_PP_FOR_798, BOOST_PP_TUPLE_EAT_4)(o(798, s), p, o, m) +# define BOOST_PP_FOR_798_I(s, p, o, m) BOOST_PP_IF(p(799, s), m, BOOST_PP_TUPLE_EAT_2)(799, s) BOOST_PP_IF(p(799, s), BOOST_PP_FOR_799, BOOST_PP_TUPLE_EAT_4)(o(799, s), p, o, m) +# define BOOST_PP_FOR_799_I(s, p, o, m) BOOST_PP_IF(p(800, s), m, BOOST_PP_TUPLE_EAT_2)(800, s) BOOST_PP_IF(p(800, s), BOOST_PP_FOR_800, BOOST_PP_TUPLE_EAT_4)(o(800, s), p, o, m) +# define BOOST_PP_FOR_800_I(s, p, o, m) BOOST_PP_IF(p(801, s), m, BOOST_PP_TUPLE_EAT_2)(801, s) BOOST_PP_IF(p(801, s), BOOST_PP_FOR_801, BOOST_PP_TUPLE_EAT_4)(o(801, s), p, o, m) +# define BOOST_PP_FOR_801_I(s, p, o, m) BOOST_PP_IF(p(802, s), m, BOOST_PP_TUPLE_EAT_2)(802, s) BOOST_PP_IF(p(802, s), BOOST_PP_FOR_802, BOOST_PP_TUPLE_EAT_4)(o(802, s), p, o, m) +# define BOOST_PP_FOR_802_I(s, p, o, m) BOOST_PP_IF(p(803, s), m, BOOST_PP_TUPLE_EAT_2)(803, s) BOOST_PP_IF(p(803, s), BOOST_PP_FOR_803, BOOST_PP_TUPLE_EAT_4)(o(803, s), p, o, m) +# define BOOST_PP_FOR_803_I(s, p, o, m) BOOST_PP_IF(p(804, s), m, BOOST_PP_TUPLE_EAT_2)(804, s) BOOST_PP_IF(p(804, s), BOOST_PP_FOR_804, BOOST_PP_TUPLE_EAT_4)(o(804, s), p, o, m) +# define BOOST_PP_FOR_804_I(s, p, o, m) BOOST_PP_IF(p(805, s), m, BOOST_PP_TUPLE_EAT_2)(805, s) BOOST_PP_IF(p(805, s), BOOST_PP_FOR_805, BOOST_PP_TUPLE_EAT_4)(o(805, s), p, o, m) +# define BOOST_PP_FOR_805_I(s, p, o, m) BOOST_PP_IF(p(806, s), m, BOOST_PP_TUPLE_EAT_2)(806, s) BOOST_PP_IF(p(806, s), BOOST_PP_FOR_806, BOOST_PP_TUPLE_EAT_4)(o(806, s), p, o, m) +# define BOOST_PP_FOR_806_I(s, p, o, m) BOOST_PP_IF(p(807, s), m, BOOST_PP_TUPLE_EAT_2)(807, s) BOOST_PP_IF(p(807, s), BOOST_PP_FOR_807, BOOST_PP_TUPLE_EAT_4)(o(807, s), p, o, m) +# define BOOST_PP_FOR_807_I(s, p, o, m) BOOST_PP_IF(p(808, s), m, BOOST_PP_TUPLE_EAT_2)(808, s) BOOST_PP_IF(p(808, s), BOOST_PP_FOR_808, BOOST_PP_TUPLE_EAT_4)(o(808, s), p, o, m) +# define BOOST_PP_FOR_808_I(s, p, o, m) BOOST_PP_IF(p(809, s), m, BOOST_PP_TUPLE_EAT_2)(809, s) BOOST_PP_IF(p(809, s), BOOST_PP_FOR_809, BOOST_PP_TUPLE_EAT_4)(o(809, s), p, o, m) +# define BOOST_PP_FOR_809_I(s, p, o, m) BOOST_PP_IF(p(810, s), m, BOOST_PP_TUPLE_EAT_2)(810, s) BOOST_PP_IF(p(810, s), BOOST_PP_FOR_810, BOOST_PP_TUPLE_EAT_4)(o(810, s), p, o, m) +# define BOOST_PP_FOR_810_I(s, p, o, m) BOOST_PP_IF(p(811, s), m, BOOST_PP_TUPLE_EAT_2)(811, s) BOOST_PP_IF(p(811, s), BOOST_PP_FOR_811, BOOST_PP_TUPLE_EAT_4)(o(811, s), p, o, m) +# define BOOST_PP_FOR_811_I(s, p, o, m) BOOST_PP_IF(p(812, s), m, BOOST_PP_TUPLE_EAT_2)(812, s) BOOST_PP_IF(p(812, s), BOOST_PP_FOR_812, BOOST_PP_TUPLE_EAT_4)(o(812, s), p, o, m) +# define BOOST_PP_FOR_812_I(s, p, o, m) BOOST_PP_IF(p(813, s), m, BOOST_PP_TUPLE_EAT_2)(813, s) BOOST_PP_IF(p(813, s), BOOST_PP_FOR_813, BOOST_PP_TUPLE_EAT_4)(o(813, s), p, o, m) +# define BOOST_PP_FOR_813_I(s, p, o, m) BOOST_PP_IF(p(814, s), m, BOOST_PP_TUPLE_EAT_2)(814, s) BOOST_PP_IF(p(814, s), BOOST_PP_FOR_814, BOOST_PP_TUPLE_EAT_4)(o(814, s), p, o, m) +# define BOOST_PP_FOR_814_I(s, p, o, m) BOOST_PP_IF(p(815, s), m, BOOST_PP_TUPLE_EAT_2)(815, s) BOOST_PP_IF(p(815, s), BOOST_PP_FOR_815, BOOST_PP_TUPLE_EAT_4)(o(815, s), p, o, m) +# define BOOST_PP_FOR_815_I(s, p, o, m) BOOST_PP_IF(p(816, s), m, BOOST_PP_TUPLE_EAT_2)(816, s) BOOST_PP_IF(p(816, s), BOOST_PP_FOR_816, BOOST_PP_TUPLE_EAT_4)(o(816, s), p, o, m) +# define BOOST_PP_FOR_816_I(s, p, o, m) BOOST_PP_IF(p(817, s), m, BOOST_PP_TUPLE_EAT_2)(817, s) BOOST_PP_IF(p(817, s), BOOST_PP_FOR_817, BOOST_PP_TUPLE_EAT_4)(o(817, s), p, o, m) +# define BOOST_PP_FOR_817_I(s, p, o, m) BOOST_PP_IF(p(818, s), m, BOOST_PP_TUPLE_EAT_2)(818, s) BOOST_PP_IF(p(818, s), BOOST_PP_FOR_818, BOOST_PP_TUPLE_EAT_4)(o(818, s), p, o, m) +# define BOOST_PP_FOR_818_I(s, p, o, m) BOOST_PP_IF(p(819, s), m, BOOST_PP_TUPLE_EAT_2)(819, s) BOOST_PP_IF(p(819, s), BOOST_PP_FOR_819, BOOST_PP_TUPLE_EAT_4)(o(819, s), p, o, m) +# define BOOST_PP_FOR_819_I(s, p, o, m) BOOST_PP_IF(p(820, s), m, BOOST_PP_TUPLE_EAT_2)(820, s) BOOST_PP_IF(p(820, s), BOOST_PP_FOR_820, BOOST_PP_TUPLE_EAT_4)(o(820, s), p, o, m) +# define BOOST_PP_FOR_820_I(s, p, o, m) BOOST_PP_IF(p(821, s), m, BOOST_PP_TUPLE_EAT_2)(821, s) BOOST_PP_IF(p(821, s), BOOST_PP_FOR_821, BOOST_PP_TUPLE_EAT_4)(o(821, s), p, o, m) +# define BOOST_PP_FOR_821_I(s, p, o, m) BOOST_PP_IF(p(822, s), m, BOOST_PP_TUPLE_EAT_2)(822, s) BOOST_PP_IF(p(822, s), BOOST_PP_FOR_822, BOOST_PP_TUPLE_EAT_4)(o(822, s), p, o, m) +# define BOOST_PP_FOR_822_I(s, p, o, m) BOOST_PP_IF(p(823, s), m, BOOST_PP_TUPLE_EAT_2)(823, s) BOOST_PP_IF(p(823, s), BOOST_PP_FOR_823, BOOST_PP_TUPLE_EAT_4)(o(823, s), p, o, m) +# define BOOST_PP_FOR_823_I(s, p, o, m) BOOST_PP_IF(p(824, s), m, BOOST_PP_TUPLE_EAT_2)(824, s) BOOST_PP_IF(p(824, s), BOOST_PP_FOR_824, BOOST_PP_TUPLE_EAT_4)(o(824, s), p, o, m) +# define BOOST_PP_FOR_824_I(s, p, o, m) BOOST_PP_IF(p(825, s), m, BOOST_PP_TUPLE_EAT_2)(825, s) BOOST_PP_IF(p(825, s), BOOST_PP_FOR_825, BOOST_PP_TUPLE_EAT_4)(o(825, s), p, o, m) +# define BOOST_PP_FOR_825_I(s, p, o, m) BOOST_PP_IF(p(826, s), m, BOOST_PP_TUPLE_EAT_2)(826, s) BOOST_PP_IF(p(826, s), BOOST_PP_FOR_826, BOOST_PP_TUPLE_EAT_4)(o(826, s), p, o, m) +# define BOOST_PP_FOR_826_I(s, p, o, m) BOOST_PP_IF(p(827, s), m, BOOST_PP_TUPLE_EAT_2)(827, s) BOOST_PP_IF(p(827, s), BOOST_PP_FOR_827, BOOST_PP_TUPLE_EAT_4)(o(827, s), p, o, m) +# define BOOST_PP_FOR_827_I(s, p, o, m) BOOST_PP_IF(p(828, s), m, BOOST_PP_TUPLE_EAT_2)(828, s) BOOST_PP_IF(p(828, s), BOOST_PP_FOR_828, BOOST_PP_TUPLE_EAT_4)(o(828, s), p, o, m) +# define BOOST_PP_FOR_828_I(s, p, o, m) BOOST_PP_IF(p(829, s), m, BOOST_PP_TUPLE_EAT_2)(829, s) BOOST_PP_IF(p(829, s), BOOST_PP_FOR_829, BOOST_PP_TUPLE_EAT_4)(o(829, s), p, o, m) +# define BOOST_PP_FOR_829_I(s, p, o, m) BOOST_PP_IF(p(830, s), m, BOOST_PP_TUPLE_EAT_2)(830, s) BOOST_PP_IF(p(830, s), BOOST_PP_FOR_830, BOOST_PP_TUPLE_EAT_4)(o(830, s), p, o, m) +# define BOOST_PP_FOR_830_I(s, p, o, m) BOOST_PP_IF(p(831, s), m, BOOST_PP_TUPLE_EAT_2)(831, s) BOOST_PP_IF(p(831, s), BOOST_PP_FOR_831, BOOST_PP_TUPLE_EAT_4)(o(831, s), p, o, m) +# define BOOST_PP_FOR_831_I(s, p, o, m) BOOST_PP_IF(p(832, s), m, BOOST_PP_TUPLE_EAT_2)(832, s) BOOST_PP_IF(p(832, s), BOOST_PP_FOR_832, BOOST_PP_TUPLE_EAT_4)(o(832, s), p, o, m) +# define BOOST_PP_FOR_832_I(s, p, o, m) BOOST_PP_IF(p(833, s), m, BOOST_PP_TUPLE_EAT_2)(833, s) BOOST_PP_IF(p(833, s), BOOST_PP_FOR_833, BOOST_PP_TUPLE_EAT_4)(o(833, s), p, o, m) +# define BOOST_PP_FOR_833_I(s, p, o, m) BOOST_PP_IF(p(834, s), m, BOOST_PP_TUPLE_EAT_2)(834, s) BOOST_PP_IF(p(834, s), BOOST_PP_FOR_834, BOOST_PP_TUPLE_EAT_4)(o(834, s), p, o, m) +# define BOOST_PP_FOR_834_I(s, p, o, m) BOOST_PP_IF(p(835, s), m, BOOST_PP_TUPLE_EAT_2)(835, s) BOOST_PP_IF(p(835, s), BOOST_PP_FOR_835, BOOST_PP_TUPLE_EAT_4)(o(835, s), p, o, m) +# define BOOST_PP_FOR_835_I(s, p, o, m) BOOST_PP_IF(p(836, s), m, BOOST_PP_TUPLE_EAT_2)(836, s) BOOST_PP_IF(p(836, s), BOOST_PP_FOR_836, BOOST_PP_TUPLE_EAT_4)(o(836, s), p, o, m) +# define BOOST_PP_FOR_836_I(s, p, o, m) BOOST_PP_IF(p(837, s), m, BOOST_PP_TUPLE_EAT_2)(837, s) BOOST_PP_IF(p(837, s), BOOST_PP_FOR_837, BOOST_PP_TUPLE_EAT_4)(o(837, s), p, o, m) +# define BOOST_PP_FOR_837_I(s, p, o, m) BOOST_PP_IF(p(838, s), m, BOOST_PP_TUPLE_EAT_2)(838, s) BOOST_PP_IF(p(838, s), BOOST_PP_FOR_838, BOOST_PP_TUPLE_EAT_4)(o(838, s), p, o, m) +# define BOOST_PP_FOR_838_I(s, p, o, m) BOOST_PP_IF(p(839, s), m, BOOST_PP_TUPLE_EAT_2)(839, s) BOOST_PP_IF(p(839, s), BOOST_PP_FOR_839, BOOST_PP_TUPLE_EAT_4)(o(839, s), p, o, m) +# define BOOST_PP_FOR_839_I(s, p, o, m) BOOST_PP_IF(p(840, s), m, BOOST_PP_TUPLE_EAT_2)(840, s) BOOST_PP_IF(p(840, s), BOOST_PP_FOR_840, BOOST_PP_TUPLE_EAT_4)(o(840, s), p, o, m) +# define BOOST_PP_FOR_840_I(s, p, o, m) BOOST_PP_IF(p(841, s), m, BOOST_PP_TUPLE_EAT_2)(841, s) BOOST_PP_IF(p(841, s), BOOST_PP_FOR_841, BOOST_PP_TUPLE_EAT_4)(o(841, s), p, o, m) +# define BOOST_PP_FOR_841_I(s, p, o, m) BOOST_PP_IF(p(842, s), m, BOOST_PP_TUPLE_EAT_2)(842, s) BOOST_PP_IF(p(842, s), BOOST_PP_FOR_842, BOOST_PP_TUPLE_EAT_4)(o(842, s), p, o, m) +# define BOOST_PP_FOR_842_I(s, p, o, m) BOOST_PP_IF(p(843, s), m, BOOST_PP_TUPLE_EAT_2)(843, s) BOOST_PP_IF(p(843, s), BOOST_PP_FOR_843, BOOST_PP_TUPLE_EAT_4)(o(843, s), p, o, m) +# define BOOST_PP_FOR_843_I(s, p, o, m) BOOST_PP_IF(p(844, s), m, BOOST_PP_TUPLE_EAT_2)(844, s) BOOST_PP_IF(p(844, s), BOOST_PP_FOR_844, BOOST_PP_TUPLE_EAT_4)(o(844, s), p, o, m) +# define BOOST_PP_FOR_844_I(s, p, o, m) BOOST_PP_IF(p(845, s), m, BOOST_PP_TUPLE_EAT_2)(845, s) BOOST_PP_IF(p(845, s), BOOST_PP_FOR_845, BOOST_PP_TUPLE_EAT_4)(o(845, s), p, o, m) +# define BOOST_PP_FOR_845_I(s, p, o, m) BOOST_PP_IF(p(846, s), m, BOOST_PP_TUPLE_EAT_2)(846, s) BOOST_PP_IF(p(846, s), BOOST_PP_FOR_846, BOOST_PP_TUPLE_EAT_4)(o(846, s), p, o, m) +# define BOOST_PP_FOR_846_I(s, p, o, m) BOOST_PP_IF(p(847, s), m, BOOST_PP_TUPLE_EAT_2)(847, s) BOOST_PP_IF(p(847, s), BOOST_PP_FOR_847, BOOST_PP_TUPLE_EAT_4)(o(847, s), p, o, m) +# define BOOST_PP_FOR_847_I(s, p, o, m) BOOST_PP_IF(p(848, s), m, BOOST_PP_TUPLE_EAT_2)(848, s) BOOST_PP_IF(p(848, s), BOOST_PP_FOR_848, BOOST_PP_TUPLE_EAT_4)(o(848, s), p, o, m) +# define BOOST_PP_FOR_848_I(s, p, o, m) BOOST_PP_IF(p(849, s), m, BOOST_PP_TUPLE_EAT_2)(849, s) BOOST_PP_IF(p(849, s), BOOST_PP_FOR_849, BOOST_PP_TUPLE_EAT_4)(o(849, s), p, o, m) +# define BOOST_PP_FOR_849_I(s, p, o, m) BOOST_PP_IF(p(850, s), m, BOOST_PP_TUPLE_EAT_2)(850, s) BOOST_PP_IF(p(850, s), BOOST_PP_FOR_850, BOOST_PP_TUPLE_EAT_4)(o(850, s), p, o, m) +# define BOOST_PP_FOR_850_I(s, p, o, m) BOOST_PP_IF(p(851, s), m, BOOST_PP_TUPLE_EAT_2)(851, s) BOOST_PP_IF(p(851, s), BOOST_PP_FOR_851, BOOST_PP_TUPLE_EAT_4)(o(851, s), p, o, m) +# define BOOST_PP_FOR_851_I(s, p, o, m) BOOST_PP_IF(p(852, s), m, BOOST_PP_TUPLE_EAT_2)(852, s) BOOST_PP_IF(p(852, s), BOOST_PP_FOR_852, BOOST_PP_TUPLE_EAT_4)(o(852, s), p, o, m) +# define BOOST_PP_FOR_852_I(s, p, o, m) BOOST_PP_IF(p(853, s), m, BOOST_PP_TUPLE_EAT_2)(853, s) BOOST_PP_IF(p(853, s), BOOST_PP_FOR_853, BOOST_PP_TUPLE_EAT_4)(o(853, s), p, o, m) +# define BOOST_PP_FOR_853_I(s, p, o, m) BOOST_PP_IF(p(854, s), m, BOOST_PP_TUPLE_EAT_2)(854, s) BOOST_PP_IF(p(854, s), BOOST_PP_FOR_854, BOOST_PP_TUPLE_EAT_4)(o(854, s), p, o, m) +# define BOOST_PP_FOR_854_I(s, p, o, m) BOOST_PP_IF(p(855, s), m, BOOST_PP_TUPLE_EAT_2)(855, s) BOOST_PP_IF(p(855, s), BOOST_PP_FOR_855, BOOST_PP_TUPLE_EAT_4)(o(855, s), p, o, m) +# define BOOST_PP_FOR_855_I(s, p, o, m) BOOST_PP_IF(p(856, s), m, BOOST_PP_TUPLE_EAT_2)(856, s) BOOST_PP_IF(p(856, s), BOOST_PP_FOR_856, BOOST_PP_TUPLE_EAT_4)(o(856, s), p, o, m) +# define BOOST_PP_FOR_856_I(s, p, o, m) BOOST_PP_IF(p(857, s), m, BOOST_PP_TUPLE_EAT_2)(857, s) BOOST_PP_IF(p(857, s), BOOST_PP_FOR_857, BOOST_PP_TUPLE_EAT_4)(o(857, s), p, o, m) +# define BOOST_PP_FOR_857_I(s, p, o, m) BOOST_PP_IF(p(858, s), m, BOOST_PP_TUPLE_EAT_2)(858, s) BOOST_PP_IF(p(858, s), BOOST_PP_FOR_858, BOOST_PP_TUPLE_EAT_4)(o(858, s), p, o, m) +# define BOOST_PP_FOR_858_I(s, p, o, m) BOOST_PP_IF(p(859, s), m, BOOST_PP_TUPLE_EAT_2)(859, s) BOOST_PP_IF(p(859, s), BOOST_PP_FOR_859, BOOST_PP_TUPLE_EAT_4)(o(859, s), p, o, m) +# define BOOST_PP_FOR_859_I(s, p, o, m) BOOST_PP_IF(p(860, s), m, BOOST_PP_TUPLE_EAT_2)(860, s) BOOST_PP_IF(p(860, s), BOOST_PP_FOR_860, BOOST_PP_TUPLE_EAT_4)(o(860, s), p, o, m) +# define BOOST_PP_FOR_860_I(s, p, o, m) BOOST_PP_IF(p(861, s), m, BOOST_PP_TUPLE_EAT_2)(861, s) BOOST_PP_IF(p(861, s), BOOST_PP_FOR_861, BOOST_PP_TUPLE_EAT_4)(o(861, s), p, o, m) +# define BOOST_PP_FOR_861_I(s, p, o, m) BOOST_PP_IF(p(862, s), m, BOOST_PP_TUPLE_EAT_2)(862, s) BOOST_PP_IF(p(862, s), BOOST_PP_FOR_862, BOOST_PP_TUPLE_EAT_4)(o(862, s), p, o, m) +# define BOOST_PP_FOR_862_I(s, p, o, m) BOOST_PP_IF(p(863, s), m, BOOST_PP_TUPLE_EAT_2)(863, s) BOOST_PP_IF(p(863, s), BOOST_PP_FOR_863, BOOST_PP_TUPLE_EAT_4)(o(863, s), p, o, m) +# define BOOST_PP_FOR_863_I(s, p, o, m) BOOST_PP_IF(p(864, s), m, BOOST_PP_TUPLE_EAT_2)(864, s) BOOST_PP_IF(p(864, s), BOOST_PP_FOR_864, BOOST_PP_TUPLE_EAT_4)(o(864, s), p, o, m) +# define BOOST_PP_FOR_864_I(s, p, o, m) BOOST_PP_IF(p(865, s), m, BOOST_PP_TUPLE_EAT_2)(865, s) BOOST_PP_IF(p(865, s), BOOST_PP_FOR_865, BOOST_PP_TUPLE_EAT_4)(o(865, s), p, o, m) +# define BOOST_PP_FOR_865_I(s, p, o, m) BOOST_PP_IF(p(866, s), m, BOOST_PP_TUPLE_EAT_2)(866, s) BOOST_PP_IF(p(866, s), BOOST_PP_FOR_866, BOOST_PP_TUPLE_EAT_4)(o(866, s), p, o, m) +# define BOOST_PP_FOR_866_I(s, p, o, m) BOOST_PP_IF(p(867, s), m, BOOST_PP_TUPLE_EAT_2)(867, s) BOOST_PP_IF(p(867, s), BOOST_PP_FOR_867, BOOST_PP_TUPLE_EAT_4)(o(867, s), p, o, m) +# define BOOST_PP_FOR_867_I(s, p, o, m) BOOST_PP_IF(p(868, s), m, BOOST_PP_TUPLE_EAT_2)(868, s) BOOST_PP_IF(p(868, s), BOOST_PP_FOR_868, BOOST_PP_TUPLE_EAT_4)(o(868, s), p, o, m) +# define BOOST_PP_FOR_868_I(s, p, o, m) BOOST_PP_IF(p(869, s), m, BOOST_PP_TUPLE_EAT_2)(869, s) BOOST_PP_IF(p(869, s), BOOST_PP_FOR_869, BOOST_PP_TUPLE_EAT_4)(o(869, s), p, o, m) +# define BOOST_PP_FOR_869_I(s, p, o, m) BOOST_PP_IF(p(870, s), m, BOOST_PP_TUPLE_EAT_2)(870, s) BOOST_PP_IF(p(870, s), BOOST_PP_FOR_870, BOOST_PP_TUPLE_EAT_4)(o(870, s), p, o, m) +# define BOOST_PP_FOR_870_I(s, p, o, m) BOOST_PP_IF(p(871, s), m, BOOST_PP_TUPLE_EAT_2)(871, s) BOOST_PP_IF(p(871, s), BOOST_PP_FOR_871, BOOST_PP_TUPLE_EAT_4)(o(871, s), p, o, m) +# define BOOST_PP_FOR_871_I(s, p, o, m) BOOST_PP_IF(p(872, s), m, BOOST_PP_TUPLE_EAT_2)(872, s) BOOST_PP_IF(p(872, s), BOOST_PP_FOR_872, BOOST_PP_TUPLE_EAT_4)(o(872, s), p, o, m) +# define BOOST_PP_FOR_872_I(s, p, o, m) BOOST_PP_IF(p(873, s), m, BOOST_PP_TUPLE_EAT_2)(873, s) BOOST_PP_IF(p(873, s), BOOST_PP_FOR_873, BOOST_PP_TUPLE_EAT_4)(o(873, s), p, o, m) +# define BOOST_PP_FOR_873_I(s, p, o, m) BOOST_PP_IF(p(874, s), m, BOOST_PP_TUPLE_EAT_2)(874, s) BOOST_PP_IF(p(874, s), BOOST_PP_FOR_874, BOOST_PP_TUPLE_EAT_4)(o(874, s), p, o, m) +# define BOOST_PP_FOR_874_I(s, p, o, m) BOOST_PP_IF(p(875, s), m, BOOST_PP_TUPLE_EAT_2)(875, s) BOOST_PP_IF(p(875, s), BOOST_PP_FOR_875, BOOST_PP_TUPLE_EAT_4)(o(875, s), p, o, m) +# define BOOST_PP_FOR_875_I(s, p, o, m) BOOST_PP_IF(p(876, s), m, BOOST_PP_TUPLE_EAT_2)(876, s) BOOST_PP_IF(p(876, s), BOOST_PP_FOR_876, BOOST_PP_TUPLE_EAT_4)(o(876, s), p, o, m) +# define BOOST_PP_FOR_876_I(s, p, o, m) BOOST_PP_IF(p(877, s), m, BOOST_PP_TUPLE_EAT_2)(877, s) BOOST_PP_IF(p(877, s), BOOST_PP_FOR_877, BOOST_PP_TUPLE_EAT_4)(o(877, s), p, o, m) +# define BOOST_PP_FOR_877_I(s, p, o, m) BOOST_PP_IF(p(878, s), m, BOOST_PP_TUPLE_EAT_2)(878, s) BOOST_PP_IF(p(878, s), BOOST_PP_FOR_878, BOOST_PP_TUPLE_EAT_4)(o(878, s), p, o, m) +# define BOOST_PP_FOR_878_I(s, p, o, m) BOOST_PP_IF(p(879, s), m, BOOST_PP_TUPLE_EAT_2)(879, s) BOOST_PP_IF(p(879, s), BOOST_PP_FOR_879, BOOST_PP_TUPLE_EAT_4)(o(879, s), p, o, m) +# define BOOST_PP_FOR_879_I(s, p, o, m) BOOST_PP_IF(p(880, s), m, BOOST_PP_TUPLE_EAT_2)(880, s) BOOST_PP_IF(p(880, s), BOOST_PP_FOR_880, BOOST_PP_TUPLE_EAT_4)(o(880, s), p, o, m) +# define BOOST_PP_FOR_880_I(s, p, o, m) BOOST_PP_IF(p(881, s), m, BOOST_PP_TUPLE_EAT_2)(881, s) BOOST_PP_IF(p(881, s), BOOST_PP_FOR_881, BOOST_PP_TUPLE_EAT_4)(o(881, s), p, o, m) +# define BOOST_PP_FOR_881_I(s, p, o, m) BOOST_PP_IF(p(882, s), m, BOOST_PP_TUPLE_EAT_2)(882, s) BOOST_PP_IF(p(882, s), BOOST_PP_FOR_882, BOOST_PP_TUPLE_EAT_4)(o(882, s), p, o, m) +# define BOOST_PP_FOR_882_I(s, p, o, m) BOOST_PP_IF(p(883, s), m, BOOST_PP_TUPLE_EAT_2)(883, s) BOOST_PP_IF(p(883, s), BOOST_PP_FOR_883, BOOST_PP_TUPLE_EAT_4)(o(883, s), p, o, m) +# define BOOST_PP_FOR_883_I(s, p, o, m) BOOST_PP_IF(p(884, s), m, BOOST_PP_TUPLE_EAT_2)(884, s) BOOST_PP_IF(p(884, s), BOOST_PP_FOR_884, BOOST_PP_TUPLE_EAT_4)(o(884, s), p, o, m) +# define BOOST_PP_FOR_884_I(s, p, o, m) BOOST_PP_IF(p(885, s), m, BOOST_PP_TUPLE_EAT_2)(885, s) BOOST_PP_IF(p(885, s), BOOST_PP_FOR_885, BOOST_PP_TUPLE_EAT_4)(o(885, s), p, o, m) +# define BOOST_PP_FOR_885_I(s, p, o, m) BOOST_PP_IF(p(886, s), m, BOOST_PP_TUPLE_EAT_2)(886, s) BOOST_PP_IF(p(886, s), BOOST_PP_FOR_886, BOOST_PP_TUPLE_EAT_4)(o(886, s), p, o, m) +# define BOOST_PP_FOR_886_I(s, p, o, m) BOOST_PP_IF(p(887, s), m, BOOST_PP_TUPLE_EAT_2)(887, s) BOOST_PP_IF(p(887, s), BOOST_PP_FOR_887, BOOST_PP_TUPLE_EAT_4)(o(887, s), p, o, m) +# define BOOST_PP_FOR_887_I(s, p, o, m) BOOST_PP_IF(p(888, s), m, BOOST_PP_TUPLE_EAT_2)(888, s) BOOST_PP_IF(p(888, s), BOOST_PP_FOR_888, BOOST_PP_TUPLE_EAT_4)(o(888, s), p, o, m) +# define BOOST_PP_FOR_888_I(s, p, o, m) BOOST_PP_IF(p(889, s), m, BOOST_PP_TUPLE_EAT_2)(889, s) BOOST_PP_IF(p(889, s), BOOST_PP_FOR_889, BOOST_PP_TUPLE_EAT_4)(o(889, s), p, o, m) +# define BOOST_PP_FOR_889_I(s, p, o, m) BOOST_PP_IF(p(890, s), m, BOOST_PP_TUPLE_EAT_2)(890, s) BOOST_PP_IF(p(890, s), BOOST_PP_FOR_890, BOOST_PP_TUPLE_EAT_4)(o(890, s), p, o, m) +# define BOOST_PP_FOR_890_I(s, p, o, m) BOOST_PP_IF(p(891, s), m, BOOST_PP_TUPLE_EAT_2)(891, s) BOOST_PP_IF(p(891, s), BOOST_PP_FOR_891, BOOST_PP_TUPLE_EAT_4)(o(891, s), p, o, m) +# define BOOST_PP_FOR_891_I(s, p, o, m) BOOST_PP_IF(p(892, s), m, BOOST_PP_TUPLE_EAT_2)(892, s) BOOST_PP_IF(p(892, s), BOOST_PP_FOR_892, BOOST_PP_TUPLE_EAT_4)(o(892, s), p, o, m) +# define BOOST_PP_FOR_892_I(s, p, o, m) BOOST_PP_IF(p(893, s), m, BOOST_PP_TUPLE_EAT_2)(893, s) BOOST_PP_IF(p(893, s), BOOST_PP_FOR_893, BOOST_PP_TUPLE_EAT_4)(o(893, s), p, o, m) +# define BOOST_PP_FOR_893_I(s, p, o, m) BOOST_PP_IF(p(894, s), m, BOOST_PP_TUPLE_EAT_2)(894, s) BOOST_PP_IF(p(894, s), BOOST_PP_FOR_894, BOOST_PP_TUPLE_EAT_4)(o(894, s), p, o, m) +# define BOOST_PP_FOR_894_I(s, p, o, m) BOOST_PP_IF(p(895, s), m, BOOST_PP_TUPLE_EAT_2)(895, s) BOOST_PP_IF(p(895, s), BOOST_PP_FOR_895, BOOST_PP_TUPLE_EAT_4)(o(895, s), p, o, m) +# define BOOST_PP_FOR_895_I(s, p, o, m) BOOST_PP_IF(p(896, s), m, BOOST_PP_TUPLE_EAT_2)(896, s) BOOST_PP_IF(p(896, s), BOOST_PP_FOR_896, BOOST_PP_TUPLE_EAT_4)(o(896, s), p, o, m) +# define BOOST_PP_FOR_896_I(s, p, o, m) BOOST_PP_IF(p(897, s), m, BOOST_PP_TUPLE_EAT_2)(897, s) BOOST_PP_IF(p(897, s), BOOST_PP_FOR_897, BOOST_PP_TUPLE_EAT_4)(o(897, s), p, o, m) +# define BOOST_PP_FOR_897_I(s, p, o, m) BOOST_PP_IF(p(898, s), m, BOOST_PP_TUPLE_EAT_2)(898, s) BOOST_PP_IF(p(898, s), BOOST_PP_FOR_898, BOOST_PP_TUPLE_EAT_4)(o(898, s), p, o, m) +# define BOOST_PP_FOR_898_I(s, p, o, m) BOOST_PP_IF(p(899, s), m, BOOST_PP_TUPLE_EAT_2)(899, s) BOOST_PP_IF(p(899, s), BOOST_PP_FOR_899, BOOST_PP_TUPLE_EAT_4)(o(899, s), p, o, m) +# define BOOST_PP_FOR_899_I(s, p, o, m) BOOST_PP_IF(p(900, s), m, BOOST_PP_TUPLE_EAT_2)(900, s) BOOST_PP_IF(p(900, s), BOOST_PP_FOR_900, BOOST_PP_TUPLE_EAT_4)(o(900, s), p, o, m) +# define BOOST_PP_FOR_900_I(s, p, o, m) BOOST_PP_IF(p(901, s), m, BOOST_PP_TUPLE_EAT_2)(901, s) BOOST_PP_IF(p(901, s), BOOST_PP_FOR_901, BOOST_PP_TUPLE_EAT_4)(o(901, s), p, o, m) +# define BOOST_PP_FOR_901_I(s, p, o, m) BOOST_PP_IF(p(902, s), m, BOOST_PP_TUPLE_EAT_2)(902, s) BOOST_PP_IF(p(902, s), BOOST_PP_FOR_902, BOOST_PP_TUPLE_EAT_4)(o(902, s), p, o, m) +# define BOOST_PP_FOR_902_I(s, p, o, m) BOOST_PP_IF(p(903, s), m, BOOST_PP_TUPLE_EAT_2)(903, s) BOOST_PP_IF(p(903, s), BOOST_PP_FOR_903, BOOST_PP_TUPLE_EAT_4)(o(903, s), p, o, m) +# define BOOST_PP_FOR_903_I(s, p, o, m) BOOST_PP_IF(p(904, s), m, BOOST_PP_TUPLE_EAT_2)(904, s) BOOST_PP_IF(p(904, s), BOOST_PP_FOR_904, BOOST_PP_TUPLE_EAT_4)(o(904, s), p, o, m) +# define BOOST_PP_FOR_904_I(s, p, o, m) BOOST_PP_IF(p(905, s), m, BOOST_PP_TUPLE_EAT_2)(905, s) BOOST_PP_IF(p(905, s), BOOST_PP_FOR_905, BOOST_PP_TUPLE_EAT_4)(o(905, s), p, o, m) +# define BOOST_PP_FOR_905_I(s, p, o, m) BOOST_PP_IF(p(906, s), m, BOOST_PP_TUPLE_EAT_2)(906, s) BOOST_PP_IF(p(906, s), BOOST_PP_FOR_906, BOOST_PP_TUPLE_EAT_4)(o(906, s), p, o, m) +# define BOOST_PP_FOR_906_I(s, p, o, m) BOOST_PP_IF(p(907, s), m, BOOST_PP_TUPLE_EAT_2)(907, s) BOOST_PP_IF(p(907, s), BOOST_PP_FOR_907, BOOST_PP_TUPLE_EAT_4)(o(907, s), p, o, m) +# define BOOST_PP_FOR_907_I(s, p, o, m) BOOST_PP_IF(p(908, s), m, BOOST_PP_TUPLE_EAT_2)(908, s) BOOST_PP_IF(p(908, s), BOOST_PP_FOR_908, BOOST_PP_TUPLE_EAT_4)(o(908, s), p, o, m) +# define BOOST_PP_FOR_908_I(s, p, o, m) BOOST_PP_IF(p(909, s), m, BOOST_PP_TUPLE_EAT_2)(909, s) BOOST_PP_IF(p(909, s), BOOST_PP_FOR_909, BOOST_PP_TUPLE_EAT_4)(o(909, s), p, o, m) +# define BOOST_PP_FOR_909_I(s, p, o, m) BOOST_PP_IF(p(910, s), m, BOOST_PP_TUPLE_EAT_2)(910, s) BOOST_PP_IF(p(910, s), BOOST_PP_FOR_910, BOOST_PP_TUPLE_EAT_4)(o(910, s), p, o, m) +# define BOOST_PP_FOR_910_I(s, p, o, m) BOOST_PP_IF(p(911, s), m, BOOST_PP_TUPLE_EAT_2)(911, s) BOOST_PP_IF(p(911, s), BOOST_PP_FOR_911, BOOST_PP_TUPLE_EAT_4)(o(911, s), p, o, m) +# define BOOST_PP_FOR_911_I(s, p, o, m) BOOST_PP_IF(p(912, s), m, BOOST_PP_TUPLE_EAT_2)(912, s) BOOST_PP_IF(p(912, s), BOOST_PP_FOR_912, BOOST_PP_TUPLE_EAT_4)(o(912, s), p, o, m) +# define BOOST_PP_FOR_912_I(s, p, o, m) BOOST_PP_IF(p(913, s), m, BOOST_PP_TUPLE_EAT_2)(913, s) BOOST_PP_IF(p(913, s), BOOST_PP_FOR_913, BOOST_PP_TUPLE_EAT_4)(o(913, s), p, o, m) +# define BOOST_PP_FOR_913_I(s, p, o, m) BOOST_PP_IF(p(914, s), m, BOOST_PP_TUPLE_EAT_2)(914, s) BOOST_PP_IF(p(914, s), BOOST_PP_FOR_914, BOOST_PP_TUPLE_EAT_4)(o(914, s), p, o, m) +# define BOOST_PP_FOR_914_I(s, p, o, m) BOOST_PP_IF(p(915, s), m, BOOST_PP_TUPLE_EAT_2)(915, s) BOOST_PP_IF(p(915, s), BOOST_PP_FOR_915, BOOST_PP_TUPLE_EAT_4)(o(915, s), p, o, m) +# define BOOST_PP_FOR_915_I(s, p, o, m) BOOST_PP_IF(p(916, s), m, BOOST_PP_TUPLE_EAT_2)(916, s) BOOST_PP_IF(p(916, s), BOOST_PP_FOR_916, BOOST_PP_TUPLE_EAT_4)(o(916, s), p, o, m) +# define BOOST_PP_FOR_916_I(s, p, o, m) BOOST_PP_IF(p(917, s), m, BOOST_PP_TUPLE_EAT_2)(917, s) BOOST_PP_IF(p(917, s), BOOST_PP_FOR_917, BOOST_PP_TUPLE_EAT_4)(o(917, s), p, o, m) +# define BOOST_PP_FOR_917_I(s, p, o, m) BOOST_PP_IF(p(918, s), m, BOOST_PP_TUPLE_EAT_2)(918, s) BOOST_PP_IF(p(918, s), BOOST_PP_FOR_918, BOOST_PP_TUPLE_EAT_4)(o(918, s), p, o, m) +# define BOOST_PP_FOR_918_I(s, p, o, m) BOOST_PP_IF(p(919, s), m, BOOST_PP_TUPLE_EAT_2)(919, s) BOOST_PP_IF(p(919, s), BOOST_PP_FOR_919, BOOST_PP_TUPLE_EAT_4)(o(919, s), p, o, m) +# define BOOST_PP_FOR_919_I(s, p, o, m) BOOST_PP_IF(p(920, s), m, BOOST_PP_TUPLE_EAT_2)(920, s) BOOST_PP_IF(p(920, s), BOOST_PP_FOR_920, BOOST_PP_TUPLE_EAT_4)(o(920, s), p, o, m) +# define BOOST_PP_FOR_920_I(s, p, o, m) BOOST_PP_IF(p(921, s), m, BOOST_PP_TUPLE_EAT_2)(921, s) BOOST_PP_IF(p(921, s), BOOST_PP_FOR_921, BOOST_PP_TUPLE_EAT_4)(o(921, s), p, o, m) +# define BOOST_PP_FOR_921_I(s, p, o, m) BOOST_PP_IF(p(922, s), m, BOOST_PP_TUPLE_EAT_2)(922, s) BOOST_PP_IF(p(922, s), BOOST_PP_FOR_922, BOOST_PP_TUPLE_EAT_4)(o(922, s), p, o, m) +# define BOOST_PP_FOR_922_I(s, p, o, m) BOOST_PP_IF(p(923, s), m, BOOST_PP_TUPLE_EAT_2)(923, s) BOOST_PP_IF(p(923, s), BOOST_PP_FOR_923, BOOST_PP_TUPLE_EAT_4)(o(923, s), p, o, m) +# define BOOST_PP_FOR_923_I(s, p, o, m) BOOST_PP_IF(p(924, s), m, BOOST_PP_TUPLE_EAT_2)(924, s) BOOST_PP_IF(p(924, s), BOOST_PP_FOR_924, BOOST_PP_TUPLE_EAT_4)(o(924, s), p, o, m) +# define BOOST_PP_FOR_924_I(s, p, o, m) BOOST_PP_IF(p(925, s), m, BOOST_PP_TUPLE_EAT_2)(925, s) BOOST_PP_IF(p(925, s), BOOST_PP_FOR_925, BOOST_PP_TUPLE_EAT_4)(o(925, s), p, o, m) +# define BOOST_PP_FOR_925_I(s, p, o, m) BOOST_PP_IF(p(926, s), m, BOOST_PP_TUPLE_EAT_2)(926, s) BOOST_PP_IF(p(926, s), BOOST_PP_FOR_926, BOOST_PP_TUPLE_EAT_4)(o(926, s), p, o, m) +# define BOOST_PP_FOR_926_I(s, p, o, m) BOOST_PP_IF(p(927, s), m, BOOST_PP_TUPLE_EAT_2)(927, s) BOOST_PP_IF(p(927, s), BOOST_PP_FOR_927, BOOST_PP_TUPLE_EAT_4)(o(927, s), p, o, m) +# define BOOST_PP_FOR_927_I(s, p, o, m) BOOST_PP_IF(p(928, s), m, BOOST_PP_TUPLE_EAT_2)(928, s) BOOST_PP_IF(p(928, s), BOOST_PP_FOR_928, BOOST_PP_TUPLE_EAT_4)(o(928, s), p, o, m) +# define BOOST_PP_FOR_928_I(s, p, o, m) BOOST_PP_IF(p(929, s), m, BOOST_PP_TUPLE_EAT_2)(929, s) BOOST_PP_IF(p(929, s), BOOST_PP_FOR_929, BOOST_PP_TUPLE_EAT_4)(o(929, s), p, o, m) +# define BOOST_PP_FOR_929_I(s, p, o, m) BOOST_PP_IF(p(930, s), m, BOOST_PP_TUPLE_EAT_2)(930, s) BOOST_PP_IF(p(930, s), BOOST_PP_FOR_930, BOOST_PP_TUPLE_EAT_4)(o(930, s), p, o, m) +# define BOOST_PP_FOR_930_I(s, p, o, m) BOOST_PP_IF(p(931, s), m, BOOST_PP_TUPLE_EAT_2)(931, s) BOOST_PP_IF(p(931, s), BOOST_PP_FOR_931, BOOST_PP_TUPLE_EAT_4)(o(931, s), p, o, m) +# define BOOST_PP_FOR_931_I(s, p, o, m) BOOST_PP_IF(p(932, s), m, BOOST_PP_TUPLE_EAT_2)(932, s) BOOST_PP_IF(p(932, s), BOOST_PP_FOR_932, BOOST_PP_TUPLE_EAT_4)(o(932, s), p, o, m) +# define BOOST_PP_FOR_932_I(s, p, o, m) BOOST_PP_IF(p(933, s), m, BOOST_PP_TUPLE_EAT_2)(933, s) BOOST_PP_IF(p(933, s), BOOST_PP_FOR_933, BOOST_PP_TUPLE_EAT_4)(o(933, s), p, o, m) +# define BOOST_PP_FOR_933_I(s, p, o, m) BOOST_PP_IF(p(934, s), m, BOOST_PP_TUPLE_EAT_2)(934, s) BOOST_PP_IF(p(934, s), BOOST_PP_FOR_934, BOOST_PP_TUPLE_EAT_4)(o(934, s), p, o, m) +# define BOOST_PP_FOR_934_I(s, p, o, m) BOOST_PP_IF(p(935, s), m, BOOST_PP_TUPLE_EAT_2)(935, s) BOOST_PP_IF(p(935, s), BOOST_PP_FOR_935, BOOST_PP_TUPLE_EAT_4)(o(935, s), p, o, m) +# define BOOST_PP_FOR_935_I(s, p, o, m) BOOST_PP_IF(p(936, s), m, BOOST_PP_TUPLE_EAT_2)(936, s) BOOST_PP_IF(p(936, s), BOOST_PP_FOR_936, BOOST_PP_TUPLE_EAT_4)(o(936, s), p, o, m) +# define BOOST_PP_FOR_936_I(s, p, o, m) BOOST_PP_IF(p(937, s), m, BOOST_PP_TUPLE_EAT_2)(937, s) BOOST_PP_IF(p(937, s), BOOST_PP_FOR_937, BOOST_PP_TUPLE_EAT_4)(o(937, s), p, o, m) +# define BOOST_PP_FOR_937_I(s, p, o, m) BOOST_PP_IF(p(938, s), m, BOOST_PP_TUPLE_EAT_2)(938, s) BOOST_PP_IF(p(938, s), BOOST_PP_FOR_938, BOOST_PP_TUPLE_EAT_4)(o(938, s), p, o, m) +# define BOOST_PP_FOR_938_I(s, p, o, m) BOOST_PP_IF(p(939, s), m, BOOST_PP_TUPLE_EAT_2)(939, s) BOOST_PP_IF(p(939, s), BOOST_PP_FOR_939, BOOST_PP_TUPLE_EAT_4)(o(939, s), p, o, m) +# define BOOST_PP_FOR_939_I(s, p, o, m) BOOST_PP_IF(p(940, s), m, BOOST_PP_TUPLE_EAT_2)(940, s) BOOST_PP_IF(p(940, s), BOOST_PP_FOR_940, BOOST_PP_TUPLE_EAT_4)(o(940, s), p, o, m) +# define BOOST_PP_FOR_940_I(s, p, o, m) BOOST_PP_IF(p(941, s), m, BOOST_PP_TUPLE_EAT_2)(941, s) BOOST_PP_IF(p(941, s), BOOST_PP_FOR_941, BOOST_PP_TUPLE_EAT_4)(o(941, s), p, o, m) +# define BOOST_PP_FOR_941_I(s, p, o, m) BOOST_PP_IF(p(942, s), m, BOOST_PP_TUPLE_EAT_2)(942, s) BOOST_PP_IF(p(942, s), BOOST_PP_FOR_942, BOOST_PP_TUPLE_EAT_4)(o(942, s), p, o, m) +# define BOOST_PP_FOR_942_I(s, p, o, m) BOOST_PP_IF(p(943, s), m, BOOST_PP_TUPLE_EAT_2)(943, s) BOOST_PP_IF(p(943, s), BOOST_PP_FOR_943, BOOST_PP_TUPLE_EAT_4)(o(943, s), p, o, m) +# define BOOST_PP_FOR_943_I(s, p, o, m) BOOST_PP_IF(p(944, s), m, BOOST_PP_TUPLE_EAT_2)(944, s) BOOST_PP_IF(p(944, s), BOOST_PP_FOR_944, BOOST_PP_TUPLE_EAT_4)(o(944, s), p, o, m) +# define BOOST_PP_FOR_944_I(s, p, o, m) BOOST_PP_IF(p(945, s), m, BOOST_PP_TUPLE_EAT_2)(945, s) BOOST_PP_IF(p(945, s), BOOST_PP_FOR_945, BOOST_PP_TUPLE_EAT_4)(o(945, s), p, o, m) +# define BOOST_PP_FOR_945_I(s, p, o, m) BOOST_PP_IF(p(946, s), m, BOOST_PP_TUPLE_EAT_2)(946, s) BOOST_PP_IF(p(946, s), BOOST_PP_FOR_946, BOOST_PP_TUPLE_EAT_4)(o(946, s), p, o, m) +# define BOOST_PP_FOR_946_I(s, p, o, m) BOOST_PP_IF(p(947, s), m, BOOST_PP_TUPLE_EAT_2)(947, s) BOOST_PP_IF(p(947, s), BOOST_PP_FOR_947, BOOST_PP_TUPLE_EAT_4)(o(947, s), p, o, m) +# define BOOST_PP_FOR_947_I(s, p, o, m) BOOST_PP_IF(p(948, s), m, BOOST_PP_TUPLE_EAT_2)(948, s) BOOST_PP_IF(p(948, s), BOOST_PP_FOR_948, BOOST_PP_TUPLE_EAT_4)(o(948, s), p, o, m) +# define BOOST_PP_FOR_948_I(s, p, o, m) BOOST_PP_IF(p(949, s), m, BOOST_PP_TUPLE_EAT_2)(949, s) BOOST_PP_IF(p(949, s), BOOST_PP_FOR_949, BOOST_PP_TUPLE_EAT_4)(o(949, s), p, o, m) +# define BOOST_PP_FOR_949_I(s, p, o, m) BOOST_PP_IF(p(950, s), m, BOOST_PP_TUPLE_EAT_2)(950, s) BOOST_PP_IF(p(950, s), BOOST_PP_FOR_950, BOOST_PP_TUPLE_EAT_4)(o(950, s), p, o, m) +# define BOOST_PP_FOR_950_I(s, p, o, m) BOOST_PP_IF(p(951, s), m, BOOST_PP_TUPLE_EAT_2)(951, s) BOOST_PP_IF(p(951, s), BOOST_PP_FOR_951, BOOST_PP_TUPLE_EAT_4)(o(951, s), p, o, m) +# define BOOST_PP_FOR_951_I(s, p, o, m) BOOST_PP_IF(p(952, s), m, BOOST_PP_TUPLE_EAT_2)(952, s) BOOST_PP_IF(p(952, s), BOOST_PP_FOR_952, BOOST_PP_TUPLE_EAT_4)(o(952, s), p, o, m) +# define BOOST_PP_FOR_952_I(s, p, o, m) BOOST_PP_IF(p(953, s), m, BOOST_PP_TUPLE_EAT_2)(953, s) BOOST_PP_IF(p(953, s), BOOST_PP_FOR_953, BOOST_PP_TUPLE_EAT_4)(o(953, s), p, o, m) +# define BOOST_PP_FOR_953_I(s, p, o, m) BOOST_PP_IF(p(954, s), m, BOOST_PP_TUPLE_EAT_2)(954, s) BOOST_PP_IF(p(954, s), BOOST_PP_FOR_954, BOOST_PP_TUPLE_EAT_4)(o(954, s), p, o, m) +# define BOOST_PP_FOR_954_I(s, p, o, m) BOOST_PP_IF(p(955, s), m, BOOST_PP_TUPLE_EAT_2)(955, s) BOOST_PP_IF(p(955, s), BOOST_PP_FOR_955, BOOST_PP_TUPLE_EAT_4)(o(955, s), p, o, m) +# define BOOST_PP_FOR_955_I(s, p, o, m) BOOST_PP_IF(p(956, s), m, BOOST_PP_TUPLE_EAT_2)(956, s) BOOST_PP_IF(p(956, s), BOOST_PP_FOR_956, BOOST_PP_TUPLE_EAT_4)(o(956, s), p, o, m) +# define BOOST_PP_FOR_956_I(s, p, o, m) BOOST_PP_IF(p(957, s), m, BOOST_PP_TUPLE_EAT_2)(957, s) BOOST_PP_IF(p(957, s), BOOST_PP_FOR_957, BOOST_PP_TUPLE_EAT_4)(o(957, s), p, o, m) +# define BOOST_PP_FOR_957_I(s, p, o, m) BOOST_PP_IF(p(958, s), m, BOOST_PP_TUPLE_EAT_2)(958, s) BOOST_PP_IF(p(958, s), BOOST_PP_FOR_958, BOOST_PP_TUPLE_EAT_4)(o(958, s), p, o, m) +# define BOOST_PP_FOR_958_I(s, p, o, m) BOOST_PP_IF(p(959, s), m, BOOST_PP_TUPLE_EAT_2)(959, s) BOOST_PP_IF(p(959, s), BOOST_PP_FOR_959, BOOST_PP_TUPLE_EAT_4)(o(959, s), p, o, m) +# define BOOST_PP_FOR_959_I(s, p, o, m) BOOST_PP_IF(p(960, s), m, BOOST_PP_TUPLE_EAT_2)(960, s) BOOST_PP_IF(p(960, s), BOOST_PP_FOR_960, BOOST_PP_TUPLE_EAT_4)(o(960, s), p, o, m) +# define BOOST_PP_FOR_960_I(s, p, o, m) BOOST_PP_IF(p(961, s), m, BOOST_PP_TUPLE_EAT_2)(961, s) BOOST_PP_IF(p(961, s), BOOST_PP_FOR_961, BOOST_PP_TUPLE_EAT_4)(o(961, s), p, o, m) +# define BOOST_PP_FOR_961_I(s, p, o, m) BOOST_PP_IF(p(962, s), m, BOOST_PP_TUPLE_EAT_2)(962, s) BOOST_PP_IF(p(962, s), BOOST_PP_FOR_962, BOOST_PP_TUPLE_EAT_4)(o(962, s), p, o, m) +# define BOOST_PP_FOR_962_I(s, p, o, m) BOOST_PP_IF(p(963, s), m, BOOST_PP_TUPLE_EAT_2)(963, s) BOOST_PP_IF(p(963, s), BOOST_PP_FOR_963, BOOST_PP_TUPLE_EAT_4)(o(963, s), p, o, m) +# define BOOST_PP_FOR_963_I(s, p, o, m) BOOST_PP_IF(p(964, s), m, BOOST_PP_TUPLE_EAT_2)(964, s) BOOST_PP_IF(p(964, s), BOOST_PP_FOR_964, BOOST_PP_TUPLE_EAT_4)(o(964, s), p, o, m) +# define BOOST_PP_FOR_964_I(s, p, o, m) BOOST_PP_IF(p(965, s), m, BOOST_PP_TUPLE_EAT_2)(965, s) BOOST_PP_IF(p(965, s), BOOST_PP_FOR_965, BOOST_PP_TUPLE_EAT_4)(o(965, s), p, o, m) +# define BOOST_PP_FOR_965_I(s, p, o, m) BOOST_PP_IF(p(966, s), m, BOOST_PP_TUPLE_EAT_2)(966, s) BOOST_PP_IF(p(966, s), BOOST_PP_FOR_966, BOOST_PP_TUPLE_EAT_4)(o(966, s), p, o, m) +# define BOOST_PP_FOR_966_I(s, p, o, m) BOOST_PP_IF(p(967, s), m, BOOST_PP_TUPLE_EAT_2)(967, s) BOOST_PP_IF(p(967, s), BOOST_PP_FOR_967, BOOST_PP_TUPLE_EAT_4)(o(967, s), p, o, m) +# define BOOST_PP_FOR_967_I(s, p, o, m) BOOST_PP_IF(p(968, s), m, BOOST_PP_TUPLE_EAT_2)(968, s) BOOST_PP_IF(p(968, s), BOOST_PP_FOR_968, BOOST_PP_TUPLE_EAT_4)(o(968, s), p, o, m) +# define BOOST_PP_FOR_968_I(s, p, o, m) BOOST_PP_IF(p(969, s), m, BOOST_PP_TUPLE_EAT_2)(969, s) BOOST_PP_IF(p(969, s), BOOST_PP_FOR_969, BOOST_PP_TUPLE_EAT_4)(o(969, s), p, o, m) +# define BOOST_PP_FOR_969_I(s, p, o, m) BOOST_PP_IF(p(970, s), m, BOOST_PP_TUPLE_EAT_2)(970, s) BOOST_PP_IF(p(970, s), BOOST_PP_FOR_970, BOOST_PP_TUPLE_EAT_4)(o(970, s), p, o, m) +# define BOOST_PP_FOR_970_I(s, p, o, m) BOOST_PP_IF(p(971, s), m, BOOST_PP_TUPLE_EAT_2)(971, s) BOOST_PP_IF(p(971, s), BOOST_PP_FOR_971, BOOST_PP_TUPLE_EAT_4)(o(971, s), p, o, m) +# define BOOST_PP_FOR_971_I(s, p, o, m) BOOST_PP_IF(p(972, s), m, BOOST_PP_TUPLE_EAT_2)(972, s) BOOST_PP_IF(p(972, s), BOOST_PP_FOR_972, BOOST_PP_TUPLE_EAT_4)(o(972, s), p, o, m) +# define BOOST_PP_FOR_972_I(s, p, o, m) BOOST_PP_IF(p(973, s), m, BOOST_PP_TUPLE_EAT_2)(973, s) BOOST_PP_IF(p(973, s), BOOST_PP_FOR_973, BOOST_PP_TUPLE_EAT_4)(o(973, s), p, o, m) +# define BOOST_PP_FOR_973_I(s, p, o, m) BOOST_PP_IF(p(974, s), m, BOOST_PP_TUPLE_EAT_2)(974, s) BOOST_PP_IF(p(974, s), BOOST_PP_FOR_974, BOOST_PP_TUPLE_EAT_4)(o(974, s), p, o, m) +# define BOOST_PP_FOR_974_I(s, p, o, m) BOOST_PP_IF(p(975, s), m, BOOST_PP_TUPLE_EAT_2)(975, s) BOOST_PP_IF(p(975, s), BOOST_PP_FOR_975, BOOST_PP_TUPLE_EAT_4)(o(975, s), p, o, m) +# define BOOST_PP_FOR_975_I(s, p, o, m) BOOST_PP_IF(p(976, s), m, BOOST_PP_TUPLE_EAT_2)(976, s) BOOST_PP_IF(p(976, s), BOOST_PP_FOR_976, BOOST_PP_TUPLE_EAT_4)(o(976, s), p, o, m) +# define BOOST_PP_FOR_976_I(s, p, o, m) BOOST_PP_IF(p(977, s), m, BOOST_PP_TUPLE_EAT_2)(977, s) BOOST_PP_IF(p(977, s), BOOST_PP_FOR_977, BOOST_PP_TUPLE_EAT_4)(o(977, s), p, o, m) +# define BOOST_PP_FOR_977_I(s, p, o, m) BOOST_PP_IF(p(978, s), m, BOOST_PP_TUPLE_EAT_2)(978, s) BOOST_PP_IF(p(978, s), BOOST_PP_FOR_978, BOOST_PP_TUPLE_EAT_4)(o(978, s), p, o, m) +# define BOOST_PP_FOR_978_I(s, p, o, m) BOOST_PP_IF(p(979, s), m, BOOST_PP_TUPLE_EAT_2)(979, s) BOOST_PP_IF(p(979, s), BOOST_PP_FOR_979, BOOST_PP_TUPLE_EAT_4)(o(979, s), p, o, m) +# define BOOST_PP_FOR_979_I(s, p, o, m) BOOST_PP_IF(p(980, s), m, BOOST_PP_TUPLE_EAT_2)(980, s) BOOST_PP_IF(p(980, s), BOOST_PP_FOR_980, BOOST_PP_TUPLE_EAT_4)(o(980, s), p, o, m) +# define BOOST_PP_FOR_980_I(s, p, o, m) BOOST_PP_IF(p(981, s), m, BOOST_PP_TUPLE_EAT_2)(981, s) BOOST_PP_IF(p(981, s), BOOST_PP_FOR_981, BOOST_PP_TUPLE_EAT_4)(o(981, s), p, o, m) +# define BOOST_PP_FOR_981_I(s, p, o, m) BOOST_PP_IF(p(982, s), m, BOOST_PP_TUPLE_EAT_2)(982, s) BOOST_PP_IF(p(982, s), BOOST_PP_FOR_982, BOOST_PP_TUPLE_EAT_4)(o(982, s), p, o, m) +# define BOOST_PP_FOR_982_I(s, p, o, m) BOOST_PP_IF(p(983, s), m, BOOST_PP_TUPLE_EAT_2)(983, s) BOOST_PP_IF(p(983, s), BOOST_PP_FOR_983, BOOST_PP_TUPLE_EAT_4)(o(983, s), p, o, m) +# define BOOST_PP_FOR_983_I(s, p, o, m) BOOST_PP_IF(p(984, s), m, BOOST_PP_TUPLE_EAT_2)(984, s) BOOST_PP_IF(p(984, s), BOOST_PP_FOR_984, BOOST_PP_TUPLE_EAT_4)(o(984, s), p, o, m) +# define BOOST_PP_FOR_984_I(s, p, o, m) BOOST_PP_IF(p(985, s), m, BOOST_PP_TUPLE_EAT_2)(985, s) BOOST_PP_IF(p(985, s), BOOST_PP_FOR_985, BOOST_PP_TUPLE_EAT_4)(o(985, s), p, o, m) +# define BOOST_PP_FOR_985_I(s, p, o, m) BOOST_PP_IF(p(986, s), m, BOOST_PP_TUPLE_EAT_2)(986, s) BOOST_PP_IF(p(986, s), BOOST_PP_FOR_986, BOOST_PP_TUPLE_EAT_4)(o(986, s), p, o, m) +# define BOOST_PP_FOR_986_I(s, p, o, m) BOOST_PP_IF(p(987, s), m, BOOST_PP_TUPLE_EAT_2)(987, s) BOOST_PP_IF(p(987, s), BOOST_PP_FOR_987, BOOST_PP_TUPLE_EAT_4)(o(987, s), p, o, m) +# define BOOST_PP_FOR_987_I(s, p, o, m) BOOST_PP_IF(p(988, s), m, BOOST_PP_TUPLE_EAT_2)(988, s) BOOST_PP_IF(p(988, s), BOOST_PP_FOR_988, BOOST_PP_TUPLE_EAT_4)(o(988, s), p, o, m) +# define BOOST_PP_FOR_988_I(s, p, o, m) BOOST_PP_IF(p(989, s), m, BOOST_PP_TUPLE_EAT_2)(989, s) BOOST_PP_IF(p(989, s), BOOST_PP_FOR_989, BOOST_PP_TUPLE_EAT_4)(o(989, s), p, o, m) +# define BOOST_PP_FOR_989_I(s, p, o, m) BOOST_PP_IF(p(990, s), m, BOOST_PP_TUPLE_EAT_2)(990, s) BOOST_PP_IF(p(990, s), BOOST_PP_FOR_990, BOOST_PP_TUPLE_EAT_4)(o(990, s), p, o, m) +# define BOOST_PP_FOR_990_I(s, p, o, m) BOOST_PP_IF(p(991, s), m, BOOST_PP_TUPLE_EAT_2)(991, s) BOOST_PP_IF(p(991, s), BOOST_PP_FOR_991, BOOST_PP_TUPLE_EAT_4)(o(991, s), p, o, m) +# define BOOST_PP_FOR_991_I(s, p, o, m) BOOST_PP_IF(p(992, s), m, BOOST_PP_TUPLE_EAT_2)(992, s) BOOST_PP_IF(p(992, s), BOOST_PP_FOR_992, BOOST_PP_TUPLE_EAT_4)(o(992, s), p, o, m) +# define BOOST_PP_FOR_992_I(s, p, o, m) BOOST_PP_IF(p(993, s), m, BOOST_PP_TUPLE_EAT_2)(993, s) BOOST_PP_IF(p(993, s), BOOST_PP_FOR_993, BOOST_PP_TUPLE_EAT_4)(o(993, s), p, o, m) +# define BOOST_PP_FOR_993_I(s, p, o, m) BOOST_PP_IF(p(994, s), m, BOOST_PP_TUPLE_EAT_2)(994, s) BOOST_PP_IF(p(994, s), BOOST_PP_FOR_994, BOOST_PP_TUPLE_EAT_4)(o(994, s), p, o, m) +# define BOOST_PP_FOR_994_I(s, p, o, m) BOOST_PP_IF(p(995, s), m, BOOST_PP_TUPLE_EAT_2)(995, s) BOOST_PP_IF(p(995, s), BOOST_PP_FOR_995, BOOST_PP_TUPLE_EAT_4)(o(995, s), p, o, m) +# define BOOST_PP_FOR_995_I(s, p, o, m) BOOST_PP_IF(p(996, s), m, BOOST_PP_TUPLE_EAT_2)(996, s) BOOST_PP_IF(p(996, s), BOOST_PP_FOR_996, BOOST_PP_TUPLE_EAT_4)(o(996, s), p, o, m) +# define BOOST_PP_FOR_996_I(s, p, o, m) BOOST_PP_IF(p(997, s), m, BOOST_PP_TUPLE_EAT_2)(997, s) BOOST_PP_IF(p(997, s), BOOST_PP_FOR_997, BOOST_PP_TUPLE_EAT_4)(o(997, s), p, o, m) +# define BOOST_PP_FOR_997_I(s, p, o, m) BOOST_PP_IF(p(998, s), m, BOOST_PP_TUPLE_EAT_2)(998, s) BOOST_PP_IF(p(998, s), BOOST_PP_FOR_998, BOOST_PP_TUPLE_EAT_4)(o(998, s), p, o, m) +# define BOOST_PP_FOR_998_I(s, p, o, m) BOOST_PP_IF(p(999, s), m, BOOST_PP_TUPLE_EAT_2)(999, s) BOOST_PP_IF(p(999, s), BOOST_PP_FOR_999, BOOST_PP_TUPLE_EAT_4)(o(999, s), p, o, m) +# define BOOST_PP_FOR_999_I(s, p, o, m) BOOST_PP_IF(p(1000, s), m, BOOST_PP_TUPLE_EAT_2)(1000, s) BOOST_PP_IF(p(1000, s), BOOST_PP_FOR_1000, BOOST_PP_TUPLE_EAT_4)(o(1000, s), p, o, m) +# define BOOST_PP_FOR_1000_I(s, p, o, m) BOOST_PP_IF(p(1001, s), m, BOOST_PP_TUPLE_EAT_2)(1001, s) BOOST_PP_IF(p(1001, s), BOOST_PP_FOR_1001, BOOST_PP_TUPLE_EAT_4)(o(1001, s), p, o, m) +# define BOOST_PP_FOR_1001_I(s, p, o, m) BOOST_PP_IF(p(1002, s), m, BOOST_PP_TUPLE_EAT_2)(1002, s) BOOST_PP_IF(p(1002, s), BOOST_PP_FOR_1002, BOOST_PP_TUPLE_EAT_4)(o(1002, s), p, o, m) +# define BOOST_PP_FOR_1002_I(s, p, o, m) BOOST_PP_IF(p(1003, s), m, BOOST_PP_TUPLE_EAT_2)(1003, s) BOOST_PP_IF(p(1003, s), BOOST_PP_FOR_1003, BOOST_PP_TUPLE_EAT_4)(o(1003, s), p, o, m) +# define BOOST_PP_FOR_1003_I(s, p, o, m) BOOST_PP_IF(p(1004, s), m, BOOST_PP_TUPLE_EAT_2)(1004, s) BOOST_PP_IF(p(1004, s), BOOST_PP_FOR_1004, BOOST_PP_TUPLE_EAT_4)(o(1004, s), p, o, m) +# define BOOST_PP_FOR_1004_I(s, p, o, m) BOOST_PP_IF(p(1005, s), m, BOOST_PP_TUPLE_EAT_2)(1005, s) BOOST_PP_IF(p(1005, s), BOOST_PP_FOR_1005, BOOST_PP_TUPLE_EAT_4)(o(1005, s), p, o, m) +# define BOOST_PP_FOR_1005_I(s, p, o, m) BOOST_PP_IF(p(1006, s), m, BOOST_PP_TUPLE_EAT_2)(1006, s) BOOST_PP_IF(p(1006, s), BOOST_PP_FOR_1006, BOOST_PP_TUPLE_EAT_4)(o(1006, s), p, o, m) +# define BOOST_PP_FOR_1006_I(s, p, o, m) BOOST_PP_IF(p(1007, s), m, BOOST_PP_TUPLE_EAT_2)(1007, s) BOOST_PP_IF(p(1007, s), BOOST_PP_FOR_1007, BOOST_PP_TUPLE_EAT_4)(o(1007, s), p, o, m) +# define BOOST_PP_FOR_1007_I(s, p, o, m) BOOST_PP_IF(p(1008, s), m, BOOST_PP_TUPLE_EAT_2)(1008, s) BOOST_PP_IF(p(1008, s), BOOST_PP_FOR_1008, BOOST_PP_TUPLE_EAT_4)(o(1008, s), p, o, m) +# define BOOST_PP_FOR_1008_I(s, p, o, m) BOOST_PP_IF(p(1009, s), m, BOOST_PP_TUPLE_EAT_2)(1009, s) BOOST_PP_IF(p(1009, s), BOOST_PP_FOR_1009, BOOST_PP_TUPLE_EAT_4)(o(1009, s), p, o, m) +# define BOOST_PP_FOR_1009_I(s, p, o, m) BOOST_PP_IF(p(1010, s), m, BOOST_PP_TUPLE_EAT_2)(1010, s) BOOST_PP_IF(p(1010, s), BOOST_PP_FOR_1010, BOOST_PP_TUPLE_EAT_4)(o(1010, s), p, o, m) +# define BOOST_PP_FOR_1010_I(s, p, o, m) BOOST_PP_IF(p(1011, s), m, BOOST_PP_TUPLE_EAT_2)(1011, s) BOOST_PP_IF(p(1011, s), BOOST_PP_FOR_1011, BOOST_PP_TUPLE_EAT_4)(o(1011, s), p, o, m) +# define BOOST_PP_FOR_1011_I(s, p, o, m) BOOST_PP_IF(p(1012, s), m, BOOST_PP_TUPLE_EAT_2)(1012, s) BOOST_PP_IF(p(1012, s), BOOST_PP_FOR_1012, BOOST_PP_TUPLE_EAT_4)(o(1012, s), p, o, m) +# define BOOST_PP_FOR_1012_I(s, p, o, m) BOOST_PP_IF(p(1013, s), m, BOOST_PP_TUPLE_EAT_2)(1013, s) BOOST_PP_IF(p(1013, s), BOOST_PP_FOR_1013, BOOST_PP_TUPLE_EAT_4)(o(1013, s), p, o, m) +# define BOOST_PP_FOR_1013_I(s, p, o, m) BOOST_PP_IF(p(1014, s), m, BOOST_PP_TUPLE_EAT_2)(1014, s) BOOST_PP_IF(p(1014, s), BOOST_PP_FOR_1014, BOOST_PP_TUPLE_EAT_4)(o(1014, s), p, o, m) +# define BOOST_PP_FOR_1014_I(s, p, o, m) BOOST_PP_IF(p(1015, s), m, BOOST_PP_TUPLE_EAT_2)(1015, s) BOOST_PP_IF(p(1015, s), BOOST_PP_FOR_1015, BOOST_PP_TUPLE_EAT_4)(o(1015, s), p, o, m) +# define BOOST_PP_FOR_1015_I(s, p, o, m) BOOST_PP_IF(p(1016, s), m, BOOST_PP_TUPLE_EAT_2)(1016, s) BOOST_PP_IF(p(1016, s), BOOST_PP_FOR_1016, BOOST_PP_TUPLE_EAT_4)(o(1016, s), p, o, m) +# define BOOST_PP_FOR_1016_I(s, p, o, m) BOOST_PP_IF(p(1017, s), m, BOOST_PP_TUPLE_EAT_2)(1017, s) BOOST_PP_IF(p(1017, s), BOOST_PP_FOR_1017, BOOST_PP_TUPLE_EAT_4)(o(1017, s), p, o, m) +# define BOOST_PP_FOR_1017_I(s, p, o, m) BOOST_PP_IF(p(1018, s), m, BOOST_PP_TUPLE_EAT_2)(1018, s) BOOST_PP_IF(p(1018, s), BOOST_PP_FOR_1018, BOOST_PP_TUPLE_EAT_4)(o(1018, s), p, o, m) +# define BOOST_PP_FOR_1018_I(s, p, o, m) BOOST_PP_IF(p(1019, s), m, BOOST_PP_TUPLE_EAT_2)(1019, s) BOOST_PP_IF(p(1019, s), BOOST_PP_FOR_1019, BOOST_PP_TUPLE_EAT_4)(o(1019, s), p, o, m) +# define BOOST_PP_FOR_1019_I(s, p, o, m) BOOST_PP_IF(p(1020, s), m, BOOST_PP_TUPLE_EAT_2)(1020, s) BOOST_PP_IF(p(1020, s), BOOST_PP_FOR_1020, BOOST_PP_TUPLE_EAT_4)(o(1020, s), p, o, m) +# define BOOST_PP_FOR_1020_I(s, p, o, m) BOOST_PP_IF(p(1021, s), m, BOOST_PP_TUPLE_EAT_2)(1021, s) BOOST_PP_IF(p(1021, s), BOOST_PP_FOR_1021, BOOST_PP_TUPLE_EAT_4)(o(1021, s), p, o, m) +# define BOOST_PP_FOR_1021_I(s, p, o, m) BOOST_PP_IF(p(1022, s), m, BOOST_PP_TUPLE_EAT_2)(1022, s) BOOST_PP_IF(p(1022, s), BOOST_PP_FOR_1022, BOOST_PP_TUPLE_EAT_4)(o(1022, s), p, o, m) +# define BOOST_PP_FOR_1022_I(s, p, o, m) BOOST_PP_IF(p(1023, s), m, BOOST_PP_TUPLE_EAT_2)(1023, s) BOOST_PP_IF(p(1023, s), BOOST_PP_FOR_1023, BOOST_PP_TUPLE_EAT_4)(o(1023, s), p, o, m) +# define BOOST_PP_FOR_1023_I(s, p, o, m) BOOST_PP_IF(p(1024, s), m, BOOST_PP_TUPLE_EAT_2)(1024, s) BOOST_PP_IF(p(1024, s), BOOST_PP_FOR_1024, BOOST_PP_TUPLE_EAT_4)(o(1024, s), p, o, m) +# define BOOST_PP_FOR_1024_I(s, p, o, m) BOOST_PP_IF(p(1025, s), m, BOOST_PP_TUPLE_EAT_2)(1025, s) BOOST_PP_IF(p(1025, s), BOOST_PP_FOR_1025, BOOST_PP_TUPLE_EAT_4)(o(1025, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp new file mode 100644 index 0000000000..441237b022 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp @@ -0,0 +1,533 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_256_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_256_HPP +# +# define BOOST_PP_FOR_0(s, p, o, m) BOOST_PP_FOR_0_I(s, p, o, m) +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m) +# +# define BOOST_PP_FOR_0_I(s, p, o, m) BOOST_PP_IF(p(1, s), m, BOOST_PP_TUPLE_EAT_2)(1, s) BOOST_PP_IF(p(1, s), BOOST_PP_FOR_1, BOOST_PP_TUPLE_EAT_4)(o(1, s), p, o, m) +# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) +# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) +# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) +# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) +# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) +# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) +# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) +# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) +# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) +# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) +# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) +# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) +# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) +# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) +# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) +# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) +# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) +# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) +# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) +# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) +# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) +# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) +# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) +# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) +# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) +# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) +# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) +# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) +# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) +# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) +# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) +# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) +# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) +# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) +# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) +# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) +# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) +# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) +# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) +# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) +# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) +# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) +# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) +# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) +# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) +# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) +# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) +# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) +# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) +# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) +# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) +# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) +# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) +# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) +# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) +# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) +# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) +# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) +# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) +# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) +# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) +# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) +# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) +# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) +# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) +# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) +# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) +# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) +# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) +# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) +# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) +# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) +# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) +# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) +# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) +# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) +# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) +# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) +# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) +# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) +# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) +# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) +# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) +# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) +# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) +# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) +# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) +# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) +# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) +# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) +# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) +# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) +# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) +# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) +# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) +# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) +# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) +# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) +# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) +# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) +# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) +# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) +# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) +# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) +# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) +# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) +# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) +# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) +# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) +# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) +# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) +# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) +# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) +# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) +# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) +# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) +# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) +# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) +# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) +# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) +# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) +# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) +# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) +# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) +# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) +# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) +# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) +# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) +# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) +# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) +# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) +# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) +# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) +# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) +# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) +# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) +# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) +# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) +# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) +# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) +# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) +# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) +# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) +# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) +# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) +# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) +# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) +# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) +# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) +# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) +# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) +# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) +# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) +# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) +# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) +# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) +# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) +# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) +# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) +# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) +# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) +# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) +# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) +# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) +# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) +# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) +# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) +# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) +# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) +# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) +# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) +# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) +# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) +# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) +# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) +# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) +# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) +# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) +# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) +# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) +# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) +# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) +# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) +# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) +# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) +# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) +# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) +# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) +# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) +# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) +# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) +# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) +# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) +# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) +# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) +# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) +# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) +# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) +# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) +# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) +# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) +# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) +# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) +# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) +# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) +# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) +# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) +# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) +# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) +# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) +# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) +# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) +# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) +# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) +# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) +# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) +# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) +# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) +# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) +# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) +# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) +# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) +# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) +# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) +# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) +# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) +# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) +# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) +# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) +# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) +# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) +# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) +# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) +# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) +# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) +# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) +# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) +# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) +# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) +# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) +# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) +# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) +# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) +# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) +# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) +# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) +# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) +# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) +# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) +# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) +# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) +# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) +# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) +# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) +# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) +# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp new file mode 100644 index 0000000000..b72c9890e6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_512_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_512_HPP +# +# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_FOR_257_I(s, p, o, m) +# define BOOST_PP_FOR_258(s, p, o, m) BOOST_PP_FOR_258_I(s, p, o, m) +# define BOOST_PP_FOR_259(s, p, o, m) BOOST_PP_FOR_259_I(s, p, o, m) +# define BOOST_PP_FOR_260(s, p, o, m) BOOST_PP_FOR_260_I(s, p, o, m) +# define BOOST_PP_FOR_261(s, p, o, m) BOOST_PP_FOR_261_I(s, p, o, m) +# define BOOST_PP_FOR_262(s, p, o, m) BOOST_PP_FOR_262_I(s, p, o, m) +# define BOOST_PP_FOR_263(s, p, o, m) BOOST_PP_FOR_263_I(s, p, o, m) +# define BOOST_PP_FOR_264(s, p, o, m) BOOST_PP_FOR_264_I(s, p, o, m) +# define BOOST_PP_FOR_265(s, p, o, m) BOOST_PP_FOR_265_I(s, p, o, m) +# define BOOST_PP_FOR_266(s, p, o, m) BOOST_PP_FOR_266_I(s, p, o, m) +# define BOOST_PP_FOR_267(s, p, o, m) BOOST_PP_FOR_267_I(s, p, o, m) +# define BOOST_PP_FOR_268(s, p, o, m) BOOST_PP_FOR_268_I(s, p, o, m) +# define BOOST_PP_FOR_269(s, p, o, m) BOOST_PP_FOR_269_I(s, p, o, m) +# define BOOST_PP_FOR_270(s, p, o, m) BOOST_PP_FOR_270_I(s, p, o, m) +# define BOOST_PP_FOR_271(s, p, o, m) BOOST_PP_FOR_271_I(s, p, o, m) +# define BOOST_PP_FOR_272(s, p, o, m) BOOST_PP_FOR_272_I(s, p, o, m) +# define BOOST_PP_FOR_273(s, p, o, m) BOOST_PP_FOR_273_I(s, p, o, m) +# define BOOST_PP_FOR_274(s, p, o, m) BOOST_PP_FOR_274_I(s, p, o, m) +# define BOOST_PP_FOR_275(s, p, o, m) BOOST_PP_FOR_275_I(s, p, o, m) +# define BOOST_PP_FOR_276(s, p, o, m) BOOST_PP_FOR_276_I(s, p, o, m) +# define BOOST_PP_FOR_277(s, p, o, m) BOOST_PP_FOR_277_I(s, p, o, m) +# define BOOST_PP_FOR_278(s, p, o, m) BOOST_PP_FOR_278_I(s, p, o, m) +# define BOOST_PP_FOR_279(s, p, o, m) BOOST_PP_FOR_279_I(s, p, o, m) +# define BOOST_PP_FOR_280(s, p, o, m) BOOST_PP_FOR_280_I(s, p, o, m) +# define BOOST_PP_FOR_281(s, p, o, m) BOOST_PP_FOR_281_I(s, p, o, m) +# define BOOST_PP_FOR_282(s, p, o, m) BOOST_PP_FOR_282_I(s, p, o, m) +# define BOOST_PP_FOR_283(s, p, o, m) BOOST_PP_FOR_283_I(s, p, o, m) +# define BOOST_PP_FOR_284(s, p, o, m) BOOST_PP_FOR_284_I(s, p, o, m) +# define BOOST_PP_FOR_285(s, p, o, m) BOOST_PP_FOR_285_I(s, p, o, m) +# define BOOST_PP_FOR_286(s, p, o, m) BOOST_PP_FOR_286_I(s, p, o, m) +# define BOOST_PP_FOR_287(s, p, o, m) BOOST_PP_FOR_287_I(s, p, o, m) +# define BOOST_PP_FOR_288(s, p, o, m) BOOST_PP_FOR_288_I(s, p, o, m) +# define BOOST_PP_FOR_289(s, p, o, m) BOOST_PP_FOR_289_I(s, p, o, m) +# define BOOST_PP_FOR_290(s, p, o, m) BOOST_PP_FOR_290_I(s, p, o, m) +# define BOOST_PP_FOR_291(s, p, o, m) BOOST_PP_FOR_291_I(s, p, o, m) +# define BOOST_PP_FOR_292(s, p, o, m) BOOST_PP_FOR_292_I(s, p, o, m) +# define BOOST_PP_FOR_293(s, p, o, m) BOOST_PP_FOR_293_I(s, p, o, m) +# define BOOST_PP_FOR_294(s, p, o, m) BOOST_PP_FOR_294_I(s, p, o, m) +# define BOOST_PP_FOR_295(s, p, o, m) BOOST_PP_FOR_295_I(s, p, o, m) +# define BOOST_PP_FOR_296(s, p, o, m) BOOST_PP_FOR_296_I(s, p, o, m) +# define BOOST_PP_FOR_297(s, p, o, m) BOOST_PP_FOR_297_I(s, p, o, m) +# define BOOST_PP_FOR_298(s, p, o, m) BOOST_PP_FOR_298_I(s, p, o, m) +# define BOOST_PP_FOR_299(s, p, o, m) BOOST_PP_FOR_299_I(s, p, o, m) +# define BOOST_PP_FOR_300(s, p, o, m) BOOST_PP_FOR_300_I(s, p, o, m) +# define BOOST_PP_FOR_301(s, p, o, m) BOOST_PP_FOR_301_I(s, p, o, m) +# define BOOST_PP_FOR_302(s, p, o, m) BOOST_PP_FOR_302_I(s, p, o, m) +# define BOOST_PP_FOR_303(s, p, o, m) BOOST_PP_FOR_303_I(s, p, o, m) +# define BOOST_PP_FOR_304(s, p, o, m) BOOST_PP_FOR_304_I(s, p, o, m) +# define BOOST_PP_FOR_305(s, p, o, m) BOOST_PP_FOR_305_I(s, p, o, m) +# define BOOST_PP_FOR_306(s, p, o, m) BOOST_PP_FOR_306_I(s, p, o, m) +# define BOOST_PP_FOR_307(s, p, o, m) BOOST_PP_FOR_307_I(s, p, o, m) +# define BOOST_PP_FOR_308(s, p, o, m) BOOST_PP_FOR_308_I(s, p, o, m) +# define BOOST_PP_FOR_309(s, p, o, m) BOOST_PP_FOR_309_I(s, p, o, m) +# define BOOST_PP_FOR_310(s, p, o, m) BOOST_PP_FOR_310_I(s, p, o, m) +# define BOOST_PP_FOR_311(s, p, o, m) BOOST_PP_FOR_311_I(s, p, o, m) +# define BOOST_PP_FOR_312(s, p, o, m) BOOST_PP_FOR_312_I(s, p, o, m) +# define BOOST_PP_FOR_313(s, p, o, m) BOOST_PP_FOR_313_I(s, p, o, m) +# define BOOST_PP_FOR_314(s, p, o, m) BOOST_PP_FOR_314_I(s, p, o, m) +# define BOOST_PP_FOR_315(s, p, o, m) BOOST_PP_FOR_315_I(s, p, o, m) +# define BOOST_PP_FOR_316(s, p, o, m) BOOST_PP_FOR_316_I(s, p, o, m) +# define BOOST_PP_FOR_317(s, p, o, m) BOOST_PP_FOR_317_I(s, p, o, m) +# define BOOST_PP_FOR_318(s, p, o, m) BOOST_PP_FOR_318_I(s, p, o, m) +# define BOOST_PP_FOR_319(s, p, o, m) BOOST_PP_FOR_319_I(s, p, o, m) +# define BOOST_PP_FOR_320(s, p, o, m) BOOST_PP_FOR_320_I(s, p, o, m) +# define BOOST_PP_FOR_321(s, p, o, m) BOOST_PP_FOR_321_I(s, p, o, m) +# define BOOST_PP_FOR_322(s, p, o, m) BOOST_PP_FOR_322_I(s, p, o, m) +# define BOOST_PP_FOR_323(s, p, o, m) BOOST_PP_FOR_323_I(s, p, o, m) +# define BOOST_PP_FOR_324(s, p, o, m) BOOST_PP_FOR_324_I(s, p, o, m) +# define BOOST_PP_FOR_325(s, p, o, m) BOOST_PP_FOR_325_I(s, p, o, m) +# define BOOST_PP_FOR_326(s, p, o, m) BOOST_PP_FOR_326_I(s, p, o, m) +# define BOOST_PP_FOR_327(s, p, o, m) BOOST_PP_FOR_327_I(s, p, o, m) +# define BOOST_PP_FOR_328(s, p, o, m) BOOST_PP_FOR_328_I(s, p, o, m) +# define BOOST_PP_FOR_329(s, p, o, m) BOOST_PP_FOR_329_I(s, p, o, m) +# define BOOST_PP_FOR_330(s, p, o, m) BOOST_PP_FOR_330_I(s, p, o, m) +# define BOOST_PP_FOR_331(s, p, o, m) BOOST_PP_FOR_331_I(s, p, o, m) +# define BOOST_PP_FOR_332(s, p, o, m) BOOST_PP_FOR_332_I(s, p, o, m) +# define BOOST_PP_FOR_333(s, p, o, m) BOOST_PP_FOR_333_I(s, p, o, m) +# define BOOST_PP_FOR_334(s, p, o, m) BOOST_PP_FOR_334_I(s, p, o, m) +# define BOOST_PP_FOR_335(s, p, o, m) BOOST_PP_FOR_335_I(s, p, o, m) +# define BOOST_PP_FOR_336(s, p, o, m) BOOST_PP_FOR_336_I(s, p, o, m) +# define BOOST_PP_FOR_337(s, p, o, m) BOOST_PP_FOR_337_I(s, p, o, m) +# define BOOST_PP_FOR_338(s, p, o, m) BOOST_PP_FOR_338_I(s, p, o, m) +# define BOOST_PP_FOR_339(s, p, o, m) BOOST_PP_FOR_339_I(s, p, o, m) +# define BOOST_PP_FOR_340(s, p, o, m) BOOST_PP_FOR_340_I(s, p, o, m) +# define BOOST_PP_FOR_341(s, p, o, m) BOOST_PP_FOR_341_I(s, p, o, m) +# define BOOST_PP_FOR_342(s, p, o, m) BOOST_PP_FOR_342_I(s, p, o, m) +# define BOOST_PP_FOR_343(s, p, o, m) BOOST_PP_FOR_343_I(s, p, o, m) +# define BOOST_PP_FOR_344(s, p, o, m) BOOST_PP_FOR_344_I(s, p, o, m) +# define BOOST_PP_FOR_345(s, p, o, m) BOOST_PP_FOR_345_I(s, p, o, m) +# define BOOST_PP_FOR_346(s, p, o, m) BOOST_PP_FOR_346_I(s, p, o, m) +# define BOOST_PP_FOR_347(s, p, o, m) BOOST_PP_FOR_347_I(s, p, o, m) +# define BOOST_PP_FOR_348(s, p, o, m) BOOST_PP_FOR_348_I(s, p, o, m) +# define BOOST_PP_FOR_349(s, p, o, m) BOOST_PP_FOR_349_I(s, p, o, m) +# define BOOST_PP_FOR_350(s, p, o, m) BOOST_PP_FOR_350_I(s, p, o, m) +# define BOOST_PP_FOR_351(s, p, o, m) BOOST_PP_FOR_351_I(s, p, o, m) +# define BOOST_PP_FOR_352(s, p, o, m) BOOST_PP_FOR_352_I(s, p, o, m) +# define BOOST_PP_FOR_353(s, p, o, m) BOOST_PP_FOR_353_I(s, p, o, m) +# define BOOST_PP_FOR_354(s, p, o, m) BOOST_PP_FOR_354_I(s, p, o, m) +# define BOOST_PP_FOR_355(s, p, o, m) BOOST_PP_FOR_355_I(s, p, o, m) +# define BOOST_PP_FOR_356(s, p, o, m) BOOST_PP_FOR_356_I(s, p, o, m) +# define BOOST_PP_FOR_357(s, p, o, m) BOOST_PP_FOR_357_I(s, p, o, m) +# define BOOST_PP_FOR_358(s, p, o, m) BOOST_PP_FOR_358_I(s, p, o, m) +# define BOOST_PP_FOR_359(s, p, o, m) BOOST_PP_FOR_359_I(s, p, o, m) +# define BOOST_PP_FOR_360(s, p, o, m) BOOST_PP_FOR_360_I(s, p, o, m) +# define BOOST_PP_FOR_361(s, p, o, m) BOOST_PP_FOR_361_I(s, p, o, m) +# define BOOST_PP_FOR_362(s, p, o, m) BOOST_PP_FOR_362_I(s, p, o, m) +# define BOOST_PP_FOR_363(s, p, o, m) BOOST_PP_FOR_363_I(s, p, o, m) +# define BOOST_PP_FOR_364(s, p, o, m) BOOST_PP_FOR_364_I(s, p, o, m) +# define BOOST_PP_FOR_365(s, p, o, m) BOOST_PP_FOR_365_I(s, p, o, m) +# define BOOST_PP_FOR_366(s, p, o, m) BOOST_PP_FOR_366_I(s, p, o, m) +# define BOOST_PP_FOR_367(s, p, o, m) BOOST_PP_FOR_367_I(s, p, o, m) +# define BOOST_PP_FOR_368(s, p, o, m) BOOST_PP_FOR_368_I(s, p, o, m) +# define BOOST_PP_FOR_369(s, p, o, m) BOOST_PP_FOR_369_I(s, p, o, m) +# define BOOST_PP_FOR_370(s, p, o, m) BOOST_PP_FOR_370_I(s, p, o, m) +# define BOOST_PP_FOR_371(s, p, o, m) BOOST_PP_FOR_371_I(s, p, o, m) +# define BOOST_PP_FOR_372(s, p, o, m) BOOST_PP_FOR_372_I(s, p, o, m) +# define BOOST_PP_FOR_373(s, p, o, m) BOOST_PP_FOR_373_I(s, p, o, m) +# define BOOST_PP_FOR_374(s, p, o, m) BOOST_PP_FOR_374_I(s, p, o, m) +# define BOOST_PP_FOR_375(s, p, o, m) BOOST_PP_FOR_375_I(s, p, o, m) +# define BOOST_PP_FOR_376(s, p, o, m) BOOST_PP_FOR_376_I(s, p, o, m) +# define BOOST_PP_FOR_377(s, p, o, m) BOOST_PP_FOR_377_I(s, p, o, m) +# define BOOST_PP_FOR_378(s, p, o, m) BOOST_PP_FOR_378_I(s, p, o, m) +# define BOOST_PP_FOR_379(s, p, o, m) BOOST_PP_FOR_379_I(s, p, o, m) +# define BOOST_PP_FOR_380(s, p, o, m) BOOST_PP_FOR_380_I(s, p, o, m) +# define BOOST_PP_FOR_381(s, p, o, m) BOOST_PP_FOR_381_I(s, p, o, m) +# define BOOST_PP_FOR_382(s, p, o, m) BOOST_PP_FOR_382_I(s, p, o, m) +# define BOOST_PP_FOR_383(s, p, o, m) BOOST_PP_FOR_383_I(s, p, o, m) +# define BOOST_PP_FOR_384(s, p, o, m) BOOST_PP_FOR_384_I(s, p, o, m) +# define BOOST_PP_FOR_385(s, p, o, m) BOOST_PP_FOR_385_I(s, p, o, m) +# define BOOST_PP_FOR_386(s, p, o, m) BOOST_PP_FOR_386_I(s, p, o, m) +# define BOOST_PP_FOR_387(s, p, o, m) BOOST_PP_FOR_387_I(s, p, o, m) +# define BOOST_PP_FOR_388(s, p, o, m) BOOST_PP_FOR_388_I(s, p, o, m) +# define BOOST_PP_FOR_389(s, p, o, m) BOOST_PP_FOR_389_I(s, p, o, m) +# define BOOST_PP_FOR_390(s, p, o, m) BOOST_PP_FOR_390_I(s, p, o, m) +# define BOOST_PP_FOR_391(s, p, o, m) BOOST_PP_FOR_391_I(s, p, o, m) +# define BOOST_PP_FOR_392(s, p, o, m) BOOST_PP_FOR_392_I(s, p, o, m) +# define BOOST_PP_FOR_393(s, p, o, m) BOOST_PP_FOR_393_I(s, p, o, m) +# define BOOST_PP_FOR_394(s, p, o, m) BOOST_PP_FOR_394_I(s, p, o, m) +# define BOOST_PP_FOR_395(s, p, o, m) BOOST_PP_FOR_395_I(s, p, o, m) +# define BOOST_PP_FOR_396(s, p, o, m) BOOST_PP_FOR_396_I(s, p, o, m) +# define BOOST_PP_FOR_397(s, p, o, m) BOOST_PP_FOR_397_I(s, p, o, m) +# define BOOST_PP_FOR_398(s, p, o, m) BOOST_PP_FOR_398_I(s, p, o, m) +# define BOOST_PP_FOR_399(s, p, o, m) BOOST_PP_FOR_399_I(s, p, o, m) +# define BOOST_PP_FOR_400(s, p, o, m) BOOST_PP_FOR_400_I(s, p, o, m) +# define BOOST_PP_FOR_401(s, p, o, m) BOOST_PP_FOR_401_I(s, p, o, m) +# define BOOST_PP_FOR_402(s, p, o, m) BOOST_PP_FOR_402_I(s, p, o, m) +# define BOOST_PP_FOR_403(s, p, o, m) BOOST_PP_FOR_403_I(s, p, o, m) +# define BOOST_PP_FOR_404(s, p, o, m) BOOST_PP_FOR_404_I(s, p, o, m) +# define BOOST_PP_FOR_405(s, p, o, m) BOOST_PP_FOR_405_I(s, p, o, m) +# define BOOST_PP_FOR_406(s, p, o, m) BOOST_PP_FOR_406_I(s, p, o, m) +# define BOOST_PP_FOR_407(s, p, o, m) BOOST_PP_FOR_407_I(s, p, o, m) +# define BOOST_PP_FOR_408(s, p, o, m) BOOST_PP_FOR_408_I(s, p, o, m) +# define BOOST_PP_FOR_409(s, p, o, m) BOOST_PP_FOR_409_I(s, p, o, m) +# define BOOST_PP_FOR_410(s, p, o, m) BOOST_PP_FOR_410_I(s, p, o, m) +# define BOOST_PP_FOR_411(s, p, o, m) BOOST_PP_FOR_411_I(s, p, o, m) +# define BOOST_PP_FOR_412(s, p, o, m) BOOST_PP_FOR_412_I(s, p, o, m) +# define BOOST_PP_FOR_413(s, p, o, m) BOOST_PP_FOR_413_I(s, p, o, m) +# define BOOST_PP_FOR_414(s, p, o, m) BOOST_PP_FOR_414_I(s, p, o, m) +# define BOOST_PP_FOR_415(s, p, o, m) BOOST_PP_FOR_415_I(s, p, o, m) +# define BOOST_PP_FOR_416(s, p, o, m) BOOST_PP_FOR_416_I(s, p, o, m) +# define BOOST_PP_FOR_417(s, p, o, m) BOOST_PP_FOR_417_I(s, p, o, m) +# define BOOST_PP_FOR_418(s, p, o, m) BOOST_PP_FOR_418_I(s, p, o, m) +# define BOOST_PP_FOR_419(s, p, o, m) BOOST_PP_FOR_419_I(s, p, o, m) +# define BOOST_PP_FOR_420(s, p, o, m) BOOST_PP_FOR_420_I(s, p, o, m) +# define BOOST_PP_FOR_421(s, p, o, m) BOOST_PP_FOR_421_I(s, p, o, m) +# define BOOST_PP_FOR_422(s, p, o, m) BOOST_PP_FOR_422_I(s, p, o, m) +# define BOOST_PP_FOR_423(s, p, o, m) BOOST_PP_FOR_423_I(s, p, o, m) +# define BOOST_PP_FOR_424(s, p, o, m) BOOST_PP_FOR_424_I(s, p, o, m) +# define BOOST_PP_FOR_425(s, p, o, m) BOOST_PP_FOR_425_I(s, p, o, m) +# define BOOST_PP_FOR_426(s, p, o, m) BOOST_PP_FOR_426_I(s, p, o, m) +# define BOOST_PP_FOR_427(s, p, o, m) BOOST_PP_FOR_427_I(s, p, o, m) +# define BOOST_PP_FOR_428(s, p, o, m) BOOST_PP_FOR_428_I(s, p, o, m) +# define BOOST_PP_FOR_429(s, p, o, m) BOOST_PP_FOR_429_I(s, p, o, m) +# define BOOST_PP_FOR_430(s, p, o, m) BOOST_PP_FOR_430_I(s, p, o, m) +# define BOOST_PP_FOR_431(s, p, o, m) BOOST_PP_FOR_431_I(s, p, o, m) +# define BOOST_PP_FOR_432(s, p, o, m) BOOST_PP_FOR_432_I(s, p, o, m) +# define BOOST_PP_FOR_433(s, p, o, m) BOOST_PP_FOR_433_I(s, p, o, m) +# define BOOST_PP_FOR_434(s, p, o, m) BOOST_PP_FOR_434_I(s, p, o, m) +# define BOOST_PP_FOR_435(s, p, o, m) BOOST_PP_FOR_435_I(s, p, o, m) +# define BOOST_PP_FOR_436(s, p, o, m) BOOST_PP_FOR_436_I(s, p, o, m) +# define BOOST_PP_FOR_437(s, p, o, m) BOOST_PP_FOR_437_I(s, p, o, m) +# define BOOST_PP_FOR_438(s, p, o, m) BOOST_PP_FOR_438_I(s, p, o, m) +# define BOOST_PP_FOR_439(s, p, o, m) BOOST_PP_FOR_439_I(s, p, o, m) +# define BOOST_PP_FOR_440(s, p, o, m) BOOST_PP_FOR_440_I(s, p, o, m) +# define BOOST_PP_FOR_441(s, p, o, m) BOOST_PP_FOR_441_I(s, p, o, m) +# define BOOST_PP_FOR_442(s, p, o, m) BOOST_PP_FOR_442_I(s, p, o, m) +# define BOOST_PP_FOR_443(s, p, o, m) BOOST_PP_FOR_443_I(s, p, o, m) +# define BOOST_PP_FOR_444(s, p, o, m) BOOST_PP_FOR_444_I(s, p, o, m) +# define BOOST_PP_FOR_445(s, p, o, m) BOOST_PP_FOR_445_I(s, p, o, m) +# define BOOST_PP_FOR_446(s, p, o, m) BOOST_PP_FOR_446_I(s, p, o, m) +# define BOOST_PP_FOR_447(s, p, o, m) BOOST_PP_FOR_447_I(s, p, o, m) +# define BOOST_PP_FOR_448(s, p, o, m) BOOST_PP_FOR_448_I(s, p, o, m) +# define BOOST_PP_FOR_449(s, p, o, m) BOOST_PP_FOR_449_I(s, p, o, m) +# define BOOST_PP_FOR_450(s, p, o, m) BOOST_PP_FOR_450_I(s, p, o, m) +# define BOOST_PP_FOR_451(s, p, o, m) BOOST_PP_FOR_451_I(s, p, o, m) +# define BOOST_PP_FOR_452(s, p, o, m) BOOST_PP_FOR_452_I(s, p, o, m) +# define BOOST_PP_FOR_453(s, p, o, m) BOOST_PP_FOR_453_I(s, p, o, m) +# define BOOST_PP_FOR_454(s, p, o, m) BOOST_PP_FOR_454_I(s, p, o, m) +# define BOOST_PP_FOR_455(s, p, o, m) BOOST_PP_FOR_455_I(s, p, o, m) +# define BOOST_PP_FOR_456(s, p, o, m) BOOST_PP_FOR_456_I(s, p, o, m) +# define BOOST_PP_FOR_457(s, p, o, m) BOOST_PP_FOR_457_I(s, p, o, m) +# define BOOST_PP_FOR_458(s, p, o, m) BOOST_PP_FOR_458_I(s, p, o, m) +# define BOOST_PP_FOR_459(s, p, o, m) BOOST_PP_FOR_459_I(s, p, o, m) +# define BOOST_PP_FOR_460(s, p, o, m) BOOST_PP_FOR_460_I(s, p, o, m) +# define BOOST_PP_FOR_461(s, p, o, m) BOOST_PP_FOR_461_I(s, p, o, m) +# define BOOST_PP_FOR_462(s, p, o, m) BOOST_PP_FOR_462_I(s, p, o, m) +# define BOOST_PP_FOR_463(s, p, o, m) BOOST_PP_FOR_463_I(s, p, o, m) +# define BOOST_PP_FOR_464(s, p, o, m) BOOST_PP_FOR_464_I(s, p, o, m) +# define BOOST_PP_FOR_465(s, p, o, m) BOOST_PP_FOR_465_I(s, p, o, m) +# define BOOST_PP_FOR_466(s, p, o, m) BOOST_PP_FOR_466_I(s, p, o, m) +# define BOOST_PP_FOR_467(s, p, o, m) BOOST_PP_FOR_467_I(s, p, o, m) +# define BOOST_PP_FOR_468(s, p, o, m) BOOST_PP_FOR_468_I(s, p, o, m) +# define BOOST_PP_FOR_469(s, p, o, m) BOOST_PP_FOR_469_I(s, p, o, m) +# define BOOST_PP_FOR_470(s, p, o, m) BOOST_PP_FOR_470_I(s, p, o, m) +# define BOOST_PP_FOR_471(s, p, o, m) BOOST_PP_FOR_471_I(s, p, o, m) +# define BOOST_PP_FOR_472(s, p, o, m) BOOST_PP_FOR_472_I(s, p, o, m) +# define BOOST_PP_FOR_473(s, p, o, m) BOOST_PP_FOR_473_I(s, p, o, m) +# define BOOST_PP_FOR_474(s, p, o, m) BOOST_PP_FOR_474_I(s, p, o, m) +# define BOOST_PP_FOR_475(s, p, o, m) BOOST_PP_FOR_475_I(s, p, o, m) +# define BOOST_PP_FOR_476(s, p, o, m) BOOST_PP_FOR_476_I(s, p, o, m) +# define BOOST_PP_FOR_477(s, p, o, m) BOOST_PP_FOR_477_I(s, p, o, m) +# define BOOST_PP_FOR_478(s, p, o, m) BOOST_PP_FOR_478_I(s, p, o, m) +# define BOOST_PP_FOR_479(s, p, o, m) BOOST_PP_FOR_479_I(s, p, o, m) +# define BOOST_PP_FOR_480(s, p, o, m) BOOST_PP_FOR_480_I(s, p, o, m) +# define BOOST_PP_FOR_481(s, p, o, m) BOOST_PP_FOR_481_I(s, p, o, m) +# define BOOST_PP_FOR_482(s, p, o, m) BOOST_PP_FOR_482_I(s, p, o, m) +# define BOOST_PP_FOR_483(s, p, o, m) BOOST_PP_FOR_483_I(s, p, o, m) +# define BOOST_PP_FOR_484(s, p, o, m) BOOST_PP_FOR_484_I(s, p, o, m) +# define BOOST_PP_FOR_485(s, p, o, m) BOOST_PP_FOR_485_I(s, p, o, m) +# define BOOST_PP_FOR_486(s, p, o, m) BOOST_PP_FOR_486_I(s, p, o, m) +# define BOOST_PP_FOR_487(s, p, o, m) BOOST_PP_FOR_487_I(s, p, o, m) +# define BOOST_PP_FOR_488(s, p, o, m) BOOST_PP_FOR_488_I(s, p, o, m) +# define BOOST_PP_FOR_489(s, p, o, m) BOOST_PP_FOR_489_I(s, p, o, m) +# define BOOST_PP_FOR_490(s, p, o, m) BOOST_PP_FOR_490_I(s, p, o, m) +# define BOOST_PP_FOR_491(s, p, o, m) BOOST_PP_FOR_491_I(s, p, o, m) +# define BOOST_PP_FOR_492(s, p, o, m) BOOST_PP_FOR_492_I(s, p, o, m) +# define BOOST_PP_FOR_493(s, p, o, m) BOOST_PP_FOR_493_I(s, p, o, m) +# define BOOST_PP_FOR_494(s, p, o, m) BOOST_PP_FOR_494_I(s, p, o, m) +# define BOOST_PP_FOR_495(s, p, o, m) BOOST_PP_FOR_495_I(s, p, o, m) +# define BOOST_PP_FOR_496(s, p, o, m) BOOST_PP_FOR_496_I(s, p, o, m) +# define BOOST_PP_FOR_497(s, p, o, m) BOOST_PP_FOR_497_I(s, p, o, m) +# define BOOST_PP_FOR_498(s, p, o, m) BOOST_PP_FOR_498_I(s, p, o, m) +# define BOOST_PP_FOR_499(s, p, o, m) BOOST_PP_FOR_499_I(s, p, o, m) +# define BOOST_PP_FOR_500(s, p, o, m) BOOST_PP_FOR_500_I(s, p, o, m) +# define BOOST_PP_FOR_501(s, p, o, m) BOOST_PP_FOR_501_I(s, p, o, m) +# define BOOST_PP_FOR_502(s, p, o, m) BOOST_PP_FOR_502_I(s, p, o, m) +# define BOOST_PP_FOR_503(s, p, o, m) BOOST_PP_FOR_503_I(s, p, o, m) +# define BOOST_PP_FOR_504(s, p, o, m) BOOST_PP_FOR_504_I(s, p, o, m) +# define BOOST_PP_FOR_505(s, p, o, m) BOOST_PP_FOR_505_I(s, p, o, m) +# define BOOST_PP_FOR_506(s, p, o, m) BOOST_PP_FOR_506_I(s, p, o, m) +# define BOOST_PP_FOR_507(s, p, o, m) BOOST_PP_FOR_507_I(s, p, o, m) +# define BOOST_PP_FOR_508(s, p, o, m) BOOST_PP_FOR_508_I(s, p, o, m) +# define BOOST_PP_FOR_509(s, p, o, m) BOOST_PP_FOR_509_I(s, p, o, m) +# define BOOST_PP_FOR_510(s, p, o, m) BOOST_PP_FOR_510_I(s, p, o, m) +# define BOOST_PP_FOR_511(s, p, o, m) BOOST_PP_FOR_511_I(s, p, o, m) +# define BOOST_PP_FOR_512(s, p, o, m) BOOST_PP_FOR_512_I(s, p, o, m) +# +# define BOOST_PP_FOR_257_I(s, p, o, m) BOOST_PP_IF(p(258, s), m, BOOST_PP_TUPLE_EAT_2)(258, s) BOOST_PP_IF(p(258, s), BOOST_PP_FOR_258, BOOST_PP_TUPLE_EAT_4)(o(258, s), p, o, m) +# define BOOST_PP_FOR_258_I(s, p, o, m) BOOST_PP_IF(p(259, s), m, BOOST_PP_TUPLE_EAT_2)(259, s) BOOST_PP_IF(p(259, s), BOOST_PP_FOR_259, BOOST_PP_TUPLE_EAT_4)(o(259, s), p, o, m) +# define BOOST_PP_FOR_259_I(s, p, o, m) BOOST_PP_IF(p(260, s), m, BOOST_PP_TUPLE_EAT_2)(260, s) BOOST_PP_IF(p(260, s), BOOST_PP_FOR_260, BOOST_PP_TUPLE_EAT_4)(o(260, s), p, o, m) +# define BOOST_PP_FOR_260_I(s, p, o, m) BOOST_PP_IF(p(261, s), m, BOOST_PP_TUPLE_EAT_2)(261, s) BOOST_PP_IF(p(261, s), BOOST_PP_FOR_261, BOOST_PP_TUPLE_EAT_4)(o(261, s), p, o, m) +# define BOOST_PP_FOR_261_I(s, p, o, m) BOOST_PP_IF(p(262, s), m, BOOST_PP_TUPLE_EAT_2)(262, s) BOOST_PP_IF(p(262, s), BOOST_PP_FOR_262, BOOST_PP_TUPLE_EAT_4)(o(262, s), p, o, m) +# define BOOST_PP_FOR_262_I(s, p, o, m) BOOST_PP_IF(p(263, s), m, BOOST_PP_TUPLE_EAT_2)(263, s) BOOST_PP_IF(p(263, s), BOOST_PP_FOR_263, BOOST_PP_TUPLE_EAT_4)(o(263, s), p, o, m) +# define BOOST_PP_FOR_263_I(s, p, o, m) BOOST_PP_IF(p(264, s), m, BOOST_PP_TUPLE_EAT_2)(264, s) BOOST_PP_IF(p(264, s), BOOST_PP_FOR_264, BOOST_PP_TUPLE_EAT_4)(o(264, s), p, o, m) +# define BOOST_PP_FOR_264_I(s, p, o, m) BOOST_PP_IF(p(265, s), m, BOOST_PP_TUPLE_EAT_2)(265, s) BOOST_PP_IF(p(265, s), BOOST_PP_FOR_265, BOOST_PP_TUPLE_EAT_4)(o(265, s), p, o, m) +# define BOOST_PP_FOR_265_I(s, p, o, m) BOOST_PP_IF(p(266, s), m, BOOST_PP_TUPLE_EAT_2)(266, s) BOOST_PP_IF(p(266, s), BOOST_PP_FOR_266, BOOST_PP_TUPLE_EAT_4)(o(266, s), p, o, m) +# define BOOST_PP_FOR_266_I(s, p, o, m) BOOST_PP_IF(p(267, s), m, BOOST_PP_TUPLE_EAT_2)(267, s) BOOST_PP_IF(p(267, s), BOOST_PP_FOR_267, BOOST_PP_TUPLE_EAT_4)(o(267, s), p, o, m) +# define BOOST_PP_FOR_267_I(s, p, o, m) BOOST_PP_IF(p(268, s), m, BOOST_PP_TUPLE_EAT_2)(268, s) BOOST_PP_IF(p(268, s), BOOST_PP_FOR_268, BOOST_PP_TUPLE_EAT_4)(o(268, s), p, o, m) +# define BOOST_PP_FOR_268_I(s, p, o, m) BOOST_PP_IF(p(269, s), m, BOOST_PP_TUPLE_EAT_2)(269, s) BOOST_PP_IF(p(269, s), BOOST_PP_FOR_269, BOOST_PP_TUPLE_EAT_4)(o(269, s), p, o, m) +# define BOOST_PP_FOR_269_I(s, p, o, m) BOOST_PP_IF(p(270, s), m, BOOST_PP_TUPLE_EAT_2)(270, s) BOOST_PP_IF(p(270, s), BOOST_PP_FOR_270, BOOST_PP_TUPLE_EAT_4)(o(270, s), p, o, m) +# define BOOST_PP_FOR_270_I(s, p, o, m) BOOST_PP_IF(p(271, s), m, BOOST_PP_TUPLE_EAT_2)(271, s) BOOST_PP_IF(p(271, s), BOOST_PP_FOR_271, BOOST_PP_TUPLE_EAT_4)(o(271, s), p, o, m) +# define BOOST_PP_FOR_271_I(s, p, o, m) BOOST_PP_IF(p(272, s), m, BOOST_PP_TUPLE_EAT_2)(272, s) BOOST_PP_IF(p(272, s), BOOST_PP_FOR_272, BOOST_PP_TUPLE_EAT_4)(o(272, s), p, o, m) +# define BOOST_PP_FOR_272_I(s, p, o, m) BOOST_PP_IF(p(273, s), m, BOOST_PP_TUPLE_EAT_2)(273, s) BOOST_PP_IF(p(273, s), BOOST_PP_FOR_273, BOOST_PP_TUPLE_EAT_4)(o(273, s), p, o, m) +# define BOOST_PP_FOR_273_I(s, p, o, m) BOOST_PP_IF(p(274, s), m, BOOST_PP_TUPLE_EAT_2)(274, s) BOOST_PP_IF(p(274, s), BOOST_PP_FOR_274, BOOST_PP_TUPLE_EAT_4)(o(274, s), p, o, m) +# define BOOST_PP_FOR_274_I(s, p, o, m) BOOST_PP_IF(p(275, s), m, BOOST_PP_TUPLE_EAT_2)(275, s) BOOST_PP_IF(p(275, s), BOOST_PP_FOR_275, BOOST_PP_TUPLE_EAT_4)(o(275, s), p, o, m) +# define BOOST_PP_FOR_275_I(s, p, o, m) BOOST_PP_IF(p(276, s), m, BOOST_PP_TUPLE_EAT_2)(276, s) BOOST_PP_IF(p(276, s), BOOST_PP_FOR_276, BOOST_PP_TUPLE_EAT_4)(o(276, s), p, o, m) +# define BOOST_PP_FOR_276_I(s, p, o, m) BOOST_PP_IF(p(277, s), m, BOOST_PP_TUPLE_EAT_2)(277, s) BOOST_PP_IF(p(277, s), BOOST_PP_FOR_277, BOOST_PP_TUPLE_EAT_4)(o(277, s), p, o, m) +# define BOOST_PP_FOR_277_I(s, p, o, m) BOOST_PP_IF(p(278, s), m, BOOST_PP_TUPLE_EAT_2)(278, s) BOOST_PP_IF(p(278, s), BOOST_PP_FOR_278, BOOST_PP_TUPLE_EAT_4)(o(278, s), p, o, m) +# define BOOST_PP_FOR_278_I(s, p, o, m) BOOST_PP_IF(p(279, s), m, BOOST_PP_TUPLE_EAT_2)(279, s) BOOST_PP_IF(p(279, s), BOOST_PP_FOR_279, BOOST_PP_TUPLE_EAT_4)(o(279, s), p, o, m) +# define BOOST_PP_FOR_279_I(s, p, o, m) BOOST_PP_IF(p(280, s), m, BOOST_PP_TUPLE_EAT_2)(280, s) BOOST_PP_IF(p(280, s), BOOST_PP_FOR_280, BOOST_PP_TUPLE_EAT_4)(o(280, s), p, o, m) +# define BOOST_PP_FOR_280_I(s, p, o, m) BOOST_PP_IF(p(281, s), m, BOOST_PP_TUPLE_EAT_2)(281, s) BOOST_PP_IF(p(281, s), BOOST_PP_FOR_281, BOOST_PP_TUPLE_EAT_4)(o(281, s), p, o, m) +# define BOOST_PP_FOR_281_I(s, p, o, m) BOOST_PP_IF(p(282, s), m, BOOST_PP_TUPLE_EAT_2)(282, s) BOOST_PP_IF(p(282, s), BOOST_PP_FOR_282, BOOST_PP_TUPLE_EAT_4)(o(282, s), p, o, m) +# define BOOST_PP_FOR_282_I(s, p, o, m) BOOST_PP_IF(p(283, s), m, BOOST_PP_TUPLE_EAT_2)(283, s) BOOST_PP_IF(p(283, s), BOOST_PP_FOR_283, BOOST_PP_TUPLE_EAT_4)(o(283, s), p, o, m) +# define BOOST_PP_FOR_283_I(s, p, o, m) BOOST_PP_IF(p(284, s), m, BOOST_PP_TUPLE_EAT_2)(284, s) BOOST_PP_IF(p(284, s), BOOST_PP_FOR_284, BOOST_PP_TUPLE_EAT_4)(o(284, s), p, o, m) +# define BOOST_PP_FOR_284_I(s, p, o, m) BOOST_PP_IF(p(285, s), m, BOOST_PP_TUPLE_EAT_2)(285, s) BOOST_PP_IF(p(285, s), BOOST_PP_FOR_285, BOOST_PP_TUPLE_EAT_4)(o(285, s), p, o, m) +# define BOOST_PP_FOR_285_I(s, p, o, m) BOOST_PP_IF(p(286, s), m, BOOST_PP_TUPLE_EAT_2)(286, s) BOOST_PP_IF(p(286, s), BOOST_PP_FOR_286, BOOST_PP_TUPLE_EAT_4)(o(286, s), p, o, m) +# define BOOST_PP_FOR_286_I(s, p, o, m) BOOST_PP_IF(p(287, s), m, BOOST_PP_TUPLE_EAT_2)(287, s) BOOST_PP_IF(p(287, s), BOOST_PP_FOR_287, BOOST_PP_TUPLE_EAT_4)(o(287, s), p, o, m) +# define BOOST_PP_FOR_287_I(s, p, o, m) BOOST_PP_IF(p(288, s), m, BOOST_PP_TUPLE_EAT_2)(288, s) BOOST_PP_IF(p(288, s), BOOST_PP_FOR_288, BOOST_PP_TUPLE_EAT_4)(o(288, s), p, o, m) +# define BOOST_PP_FOR_288_I(s, p, o, m) BOOST_PP_IF(p(289, s), m, BOOST_PP_TUPLE_EAT_2)(289, s) BOOST_PP_IF(p(289, s), BOOST_PP_FOR_289, BOOST_PP_TUPLE_EAT_4)(o(289, s), p, o, m) +# define BOOST_PP_FOR_289_I(s, p, o, m) BOOST_PP_IF(p(290, s), m, BOOST_PP_TUPLE_EAT_2)(290, s) BOOST_PP_IF(p(290, s), BOOST_PP_FOR_290, BOOST_PP_TUPLE_EAT_4)(o(290, s), p, o, m) +# define BOOST_PP_FOR_290_I(s, p, o, m) BOOST_PP_IF(p(291, s), m, BOOST_PP_TUPLE_EAT_2)(291, s) BOOST_PP_IF(p(291, s), BOOST_PP_FOR_291, BOOST_PP_TUPLE_EAT_4)(o(291, s), p, o, m) +# define BOOST_PP_FOR_291_I(s, p, o, m) BOOST_PP_IF(p(292, s), m, BOOST_PP_TUPLE_EAT_2)(292, s) BOOST_PP_IF(p(292, s), BOOST_PP_FOR_292, BOOST_PP_TUPLE_EAT_4)(o(292, s), p, o, m) +# define BOOST_PP_FOR_292_I(s, p, o, m) BOOST_PP_IF(p(293, s), m, BOOST_PP_TUPLE_EAT_2)(293, s) BOOST_PP_IF(p(293, s), BOOST_PP_FOR_293, BOOST_PP_TUPLE_EAT_4)(o(293, s), p, o, m) +# define BOOST_PP_FOR_293_I(s, p, o, m) BOOST_PP_IF(p(294, s), m, BOOST_PP_TUPLE_EAT_2)(294, s) BOOST_PP_IF(p(294, s), BOOST_PP_FOR_294, BOOST_PP_TUPLE_EAT_4)(o(294, s), p, o, m) +# define BOOST_PP_FOR_294_I(s, p, o, m) BOOST_PP_IF(p(295, s), m, BOOST_PP_TUPLE_EAT_2)(295, s) BOOST_PP_IF(p(295, s), BOOST_PP_FOR_295, BOOST_PP_TUPLE_EAT_4)(o(295, s), p, o, m) +# define BOOST_PP_FOR_295_I(s, p, o, m) BOOST_PP_IF(p(296, s), m, BOOST_PP_TUPLE_EAT_2)(296, s) BOOST_PP_IF(p(296, s), BOOST_PP_FOR_296, BOOST_PP_TUPLE_EAT_4)(o(296, s), p, o, m) +# define BOOST_PP_FOR_296_I(s, p, o, m) BOOST_PP_IF(p(297, s), m, BOOST_PP_TUPLE_EAT_2)(297, s) BOOST_PP_IF(p(297, s), BOOST_PP_FOR_297, BOOST_PP_TUPLE_EAT_4)(o(297, s), p, o, m) +# define BOOST_PP_FOR_297_I(s, p, o, m) BOOST_PP_IF(p(298, s), m, BOOST_PP_TUPLE_EAT_2)(298, s) BOOST_PP_IF(p(298, s), BOOST_PP_FOR_298, BOOST_PP_TUPLE_EAT_4)(o(298, s), p, o, m) +# define BOOST_PP_FOR_298_I(s, p, o, m) BOOST_PP_IF(p(299, s), m, BOOST_PP_TUPLE_EAT_2)(299, s) BOOST_PP_IF(p(299, s), BOOST_PP_FOR_299, BOOST_PP_TUPLE_EAT_4)(o(299, s), p, o, m) +# define BOOST_PP_FOR_299_I(s, p, o, m) BOOST_PP_IF(p(300, s), m, BOOST_PP_TUPLE_EAT_2)(300, s) BOOST_PP_IF(p(300, s), BOOST_PP_FOR_300, BOOST_PP_TUPLE_EAT_4)(o(300, s), p, o, m) +# define BOOST_PP_FOR_300_I(s, p, o, m) BOOST_PP_IF(p(301, s), m, BOOST_PP_TUPLE_EAT_2)(301, s) BOOST_PP_IF(p(301, s), BOOST_PP_FOR_301, BOOST_PP_TUPLE_EAT_4)(o(301, s), p, o, m) +# define BOOST_PP_FOR_301_I(s, p, o, m) BOOST_PP_IF(p(302, s), m, BOOST_PP_TUPLE_EAT_2)(302, s) BOOST_PP_IF(p(302, s), BOOST_PP_FOR_302, BOOST_PP_TUPLE_EAT_4)(o(302, s), p, o, m) +# define BOOST_PP_FOR_302_I(s, p, o, m) BOOST_PP_IF(p(303, s), m, BOOST_PP_TUPLE_EAT_2)(303, s) BOOST_PP_IF(p(303, s), BOOST_PP_FOR_303, BOOST_PP_TUPLE_EAT_4)(o(303, s), p, o, m) +# define BOOST_PP_FOR_303_I(s, p, o, m) BOOST_PP_IF(p(304, s), m, BOOST_PP_TUPLE_EAT_2)(304, s) BOOST_PP_IF(p(304, s), BOOST_PP_FOR_304, BOOST_PP_TUPLE_EAT_4)(o(304, s), p, o, m) +# define BOOST_PP_FOR_304_I(s, p, o, m) BOOST_PP_IF(p(305, s), m, BOOST_PP_TUPLE_EAT_2)(305, s) BOOST_PP_IF(p(305, s), BOOST_PP_FOR_305, BOOST_PP_TUPLE_EAT_4)(o(305, s), p, o, m) +# define BOOST_PP_FOR_305_I(s, p, o, m) BOOST_PP_IF(p(306, s), m, BOOST_PP_TUPLE_EAT_2)(306, s) BOOST_PP_IF(p(306, s), BOOST_PP_FOR_306, BOOST_PP_TUPLE_EAT_4)(o(306, s), p, o, m) +# define BOOST_PP_FOR_306_I(s, p, o, m) BOOST_PP_IF(p(307, s), m, BOOST_PP_TUPLE_EAT_2)(307, s) BOOST_PP_IF(p(307, s), BOOST_PP_FOR_307, BOOST_PP_TUPLE_EAT_4)(o(307, s), p, o, m) +# define BOOST_PP_FOR_307_I(s, p, o, m) BOOST_PP_IF(p(308, s), m, BOOST_PP_TUPLE_EAT_2)(308, s) BOOST_PP_IF(p(308, s), BOOST_PP_FOR_308, BOOST_PP_TUPLE_EAT_4)(o(308, s), p, o, m) +# define BOOST_PP_FOR_308_I(s, p, o, m) BOOST_PP_IF(p(309, s), m, BOOST_PP_TUPLE_EAT_2)(309, s) BOOST_PP_IF(p(309, s), BOOST_PP_FOR_309, BOOST_PP_TUPLE_EAT_4)(o(309, s), p, o, m) +# define BOOST_PP_FOR_309_I(s, p, o, m) BOOST_PP_IF(p(310, s), m, BOOST_PP_TUPLE_EAT_2)(310, s) BOOST_PP_IF(p(310, s), BOOST_PP_FOR_310, BOOST_PP_TUPLE_EAT_4)(o(310, s), p, o, m) +# define BOOST_PP_FOR_310_I(s, p, o, m) BOOST_PP_IF(p(311, s), m, BOOST_PP_TUPLE_EAT_2)(311, s) BOOST_PP_IF(p(311, s), BOOST_PP_FOR_311, BOOST_PP_TUPLE_EAT_4)(o(311, s), p, o, m) +# define BOOST_PP_FOR_311_I(s, p, o, m) BOOST_PP_IF(p(312, s), m, BOOST_PP_TUPLE_EAT_2)(312, s) BOOST_PP_IF(p(312, s), BOOST_PP_FOR_312, BOOST_PP_TUPLE_EAT_4)(o(312, s), p, o, m) +# define BOOST_PP_FOR_312_I(s, p, o, m) BOOST_PP_IF(p(313, s), m, BOOST_PP_TUPLE_EAT_2)(313, s) BOOST_PP_IF(p(313, s), BOOST_PP_FOR_313, BOOST_PP_TUPLE_EAT_4)(o(313, s), p, o, m) +# define BOOST_PP_FOR_313_I(s, p, o, m) BOOST_PP_IF(p(314, s), m, BOOST_PP_TUPLE_EAT_2)(314, s) BOOST_PP_IF(p(314, s), BOOST_PP_FOR_314, BOOST_PP_TUPLE_EAT_4)(o(314, s), p, o, m) +# define BOOST_PP_FOR_314_I(s, p, o, m) BOOST_PP_IF(p(315, s), m, BOOST_PP_TUPLE_EAT_2)(315, s) BOOST_PP_IF(p(315, s), BOOST_PP_FOR_315, BOOST_PP_TUPLE_EAT_4)(o(315, s), p, o, m) +# define BOOST_PP_FOR_315_I(s, p, o, m) BOOST_PP_IF(p(316, s), m, BOOST_PP_TUPLE_EAT_2)(316, s) BOOST_PP_IF(p(316, s), BOOST_PP_FOR_316, BOOST_PP_TUPLE_EAT_4)(o(316, s), p, o, m) +# define BOOST_PP_FOR_316_I(s, p, o, m) BOOST_PP_IF(p(317, s), m, BOOST_PP_TUPLE_EAT_2)(317, s) BOOST_PP_IF(p(317, s), BOOST_PP_FOR_317, BOOST_PP_TUPLE_EAT_4)(o(317, s), p, o, m) +# define BOOST_PP_FOR_317_I(s, p, o, m) BOOST_PP_IF(p(318, s), m, BOOST_PP_TUPLE_EAT_2)(318, s) BOOST_PP_IF(p(318, s), BOOST_PP_FOR_318, BOOST_PP_TUPLE_EAT_4)(o(318, s), p, o, m) +# define BOOST_PP_FOR_318_I(s, p, o, m) BOOST_PP_IF(p(319, s), m, BOOST_PP_TUPLE_EAT_2)(319, s) BOOST_PP_IF(p(319, s), BOOST_PP_FOR_319, BOOST_PP_TUPLE_EAT_4)(o(319, s), p, o, m) +# define BOOST_PP_FOR_319_I(s, p, o, m) BOOST_PP_IF(p(320, s), m, BOOST_PP_TUPLE_EAT_2)(320, s) BOOST_PP_IF(p(320, s), BOOST_PP_FOR_320, BOOST_PP_TUPLE_EAT_4)(o(320, s), p, o, m) +# define BOOST_PP_FOR_320_I(s, p, o, m) BOOST_PP_IF(p(321, s), m, BOOST_PP_TUPLE_EAT_2)(321, s) BOOST_PP_IF(p(321, s), BOOST_PP_FOR_321, BOOST_PP_TUPLE_EAT_4)(o(321, s), p, o, m) +# define BOOST_PP_FOR_321_I(s, p, o, m) BOOST_PP_IF(p(322, s), m, BOOST_PP_TUPLE_EAT_2)(322, s) BOOST_PP_IF(p(322, s), BOOST_PP_FOR_322, BOOST_PP_TUPLE_EAT_4)(o(322, s), p, o, m) +# define BOOST_PP_FOR_322_I(s, p, o, m) BOOST_PP_IF(p(323, s), m, BOOST_PP_TUPLE_EAT_2)(323, s) BOOST_PP_IF(p(323, s), BOOST_PP_FOR_323, BOOST_PP_TUPLE_EAT_4)(o(323, s), p, o, m) +# define BOOST_PP_FOR_323_I(s, p, o, m) BOOST_PP_IF(p(324, s), m, BOOST_PP_TUPLE_EAT_2)(324, s) BOOST_PP_IF(p(324, s), BOOST_PP_FOR_324, BOOST_PP_TUPLE_EAT_4)(o(324, s), p, o, m) +# define BOOST_PP_FOR_324_I(s, p, o, m) BOOST_PP_IF(p(325, s), m, BOOST_PP_TUPLE_EAT_2)(325, s) BOOST_PP_IF(p(325, s), BOOST_PP_FOR_325, BOOST_PP_TUPLE_EAT_4)(o(325, s), p, o, m) +# define BOOST_PP_FOR_325_I(s, p, o, m) BOOST_PP_IF(p(326, s), m, BOOST_PP_TUPLE_EAT_2)(326, s) BOOST_PP_IF(p(326, s), BOOST_PP_FOR_326, BOOST_PP_TUPLE_EAT_4)(o(326, s), p, o, m) +# define BOOST_PP_FOR_326_I(s, p, o, m) BOOST_PP_IF(p(327, s), m, BOOST_PP_TUPLE_EAT_2)(327, s) BOOST_PP_IF(p(327, s), BOOST_PP_FOR_327, BOOST_PP_TUPLE_EAT_4)(o(327, s), p, o, m) +# define BOOST_PP_FOR_327_I(s, p, o, m) BOOST_PP_IF(p(328, s), m, BOOST_PP_TUPLE_EAT_2)(328, s) BOOST_PP_IF(p(328, s), BOOST_PP_FOR_328, BOOST_PP_TUPLE_EAT_4)(o(328, s), p, o, m) +# define BOOST_PP_FOR_328_I(s, p, o, m) BOOST_PP_IF(p(329, s), m, BOOST_PP_TUPLE_EAT_2)(329, s) BOOST_PP_IF(p(329, s), BOOST_PP_FOR_329, BOOST_PP_TUPLE_EAT_4)(o(329, s), p, o, m) +# define BOOST_PP_FOR_329_I(s, p, o, m) BOOST_PP_IF(p(330, s), m, BOOST_PP_TUPLE_EAT_2)(330, s) BOOST_PP_IF(p(330, s), BOOST_PP_FOR_330, BOOST_PP_TUPLE_EAT_4)(o(330, s), p, o, m) +# define BOOST_PP_FOR_330_I(s, p, o, m) BOOST_PP_IF(p(331, s), m, BOOST_PP_TUPLE_EAT_2)(331, s) BOOST_PP_IF(p(331, s), BOOST_PP_FOR_331, BOOST_PP_TUPLE_EAT_4)(o(331, s), p, o, m) +# define BOOST_PP_FOR_331_I(s, p, o, m) BOOST_PP_IF(p(332, s), m, BOOST_PP_TUPLE_EAT_2)(332, s) BOOST_PP_IF(p(332, s), BOOST_PP_FOR_332, BOOST_PP_TUPLE_EAT_4)(o(332, s), p, o, m) +# define BOOST_PP_FOR_332_I(s, p, o, m) BOOST_PP_IF(p(333, s), m, BOOST_PP_TUPLE_EAT_2)(333, s) BOOST_PP_IF(p(333, s), BOOST_PP_FOR_333, BOOST_PP_TUPLE_EAT_4)(o(333, s), p, o, m) +# define BOOST_PP_FOR_333_I(s, p, o, m) BOOST_PP_IF(p(334, s), m, BOOST_PP_TUPLE_EAT_2)(334, s) BOOST_PP_IF(p(334, s), BOOST_PP_FOR_334, BOOST_PP_TUPLE_EAT_4)(o(334, s), p, o, m) +# define BOOST_PP_FOR_334_I(s, p, o, m) BOOST_PP_IF(p(335, s), m, BOOST_PP_TUPLE_EAT_2)(335, s) BOOST_PP_IF(p(335, s), BOOST_PP_FOR_335, BOOST_PP_TUPLE_EAT_4)(o(335, s), p, o, m) +# define BOOST_PP_FOR_335_I(s, p, o, m) BOOST_PP_IF(p(336, s), m, BOOST_PP_TUPLE_EAT_2)(336, s) BOOST_PP_IF(p(336, s), BOOST_PP_FOR_336, BOOST_PP_TUPLE_EAT_4)(o(336, s), p, o, m) +# define BOOST_PP_FOR_336_I(s, p, o, m) BOOST_PP_IF(p(337, s), m, BOOST_PP_TUPLE_EAT_2)(337, s) BOOST_PP_IF(p(337, s), BOOST_PP_FOR_337, BOOST_PP_TUPLE_EAT_4)(o(337, s), p, o, m) +# define BOOST_PP_FOR_337_I(s, p, o, m) BOOST_PP_IF(p(338, s), m, BOOST_PP_TUPLE_EAT_2)(338, s) BOOST_PP_IF(p(338, s), BOOST_PP_FOR_338, BOOST_PP_TUPLE_EAT_4)(o(338, s), p, o, m) +# define BOOST_PP_FOR_338_I(s, p, o, m) BOOST_PP_IF(p(339, s), m, BOOST_PP_TUPLE_EAT_2)(339, s) BOOST_PP_IF(p(339, s), BOOST_PP_FOR_339, BOOST_PP_TUPLE_EAT_4)(o(339, s), p, o, m) +# define BOOST_PP_FOR_339_I(s, p, o, m) BOOST_PP_IF(p(340, s), m, BOOST_PP_TUPLE_EAT_2)(340, s) BOOST_PP_IF(p(340, s), BOOST_PP_FOR_340, BOOST_PP_TUPLE_EAT_4)(o(340, s), p, o, m) +# define BOOST_PP_FOR_340_I(s, p, o, m) BOOST_PP_IF(p(341, s), m, BOOST_PP_TUPLE_EAT_2)(341, s) BOOST_PP_IF(p(341, s), BOOST_PP_FOR_341, BOOST_PP_TUPLE_EAT_4)(o(341, s), p, o, m) +# define BOOST_PP_FOR_341_I(s, p, o, m) BOOST_PP_IF(p(342, s), m, BOOST_PP_TUPLE_EAT_2)(342, s) BOOST_PP_IF(p(342, s), BOOST_PP_FOR_342, BOOST_PP_TUPLE_EAT_4)(o(342, s), p, o, m) +# define BOOST_PP_FOR_342_I(s, p, o, m) BOOST_PP_IF(p(343, s), m, BOOST_PP_TUPLE_EAT_2)(343, s) BOOST_PP_IF(p(343, s), BOOST_PP_FOR_343, BOOST_PP_TUPLE_EAT_4)(o(343, s), p, o, m) +# define BOOST_PP_FOR_343_I(s, p, o, m) BOOST_PP_IF(p(344, s), m, BOOST_PP_TUPLE_EAT_2)(344, s) BOOST_PP_IF(p(344, s), BOOST_PP_FOR_344, BOOST_PP_TUPLE_EAT_4)(o(344, s), p, o, m) +# define BOOST_PP_FOR_344_I(s, p, o, m) BOOST_PP_IF(p(345, s), m, BOOST_PP_TUPLE_EAT_2)(345, s) BOOST_PP_IF(p(345, s), BOOST_PP_FOR_345, BOOST_PP_TUPLE_EAT_4)(o(345, s), p, o, m) +# define BOOST_PP_FOR_345_I(s, p, o, m) BOOST_PP_IF(p(346, s), m, BOOST_PP_TUPLE_EAT_2)(346, s) BOOST_PP_IF(p(346, s), BOOST_PP_FOR_346, BOOST_PP_TUPLE_EAT_4)(o(346, s), p, o, m) +# define BOOST_PP_FOR_346_I(s, p, o, m) BOOST_PP_IF(p(347, s), m, BOOST_PP_TUPLE_EAT_2)(347, s) BOOST_PP_IF(p(347, s), BOOST_PP_FOR_347, BOOST_PP_TUPLE_EAT_4)(o(347, s), p, o, m) +# define BOOST_PP_FOR_347_I(s, p, o, m) BOOST_PP_IF(p(348, s), m, BOOST_PP_TUPLE_EAT_2)(348, s) BOOST_PP_IF(p(348, s), BOOST_PP_FOR_348, BOOST_PP_TUPLE_EAT_4)(o(348, s), p, o, m) +# define BOOST_PP_FOR_348_I(s, p, o, m) BOOST_PP_IF(p(349, s), m, BOOST_PP_TUPLE_EAT_2)(349, s) BOOST_PP_IF(p(349, s), BOOST_PP_FOR_349, BOOST_PP_TUPLE_EAT_4)(o(349, s), p, o, m) +# define BOOST_PP_FOR_349_I(s, p, o, m) BOOST_PP_IF(p(350, s), m, BOOST_PP_TUPLE_EAT_2)(350, s) BOOST_PP_IF(p(350, s), BOOST_PP_FOR_350, BOOST_PP_TUPLE_EAT_4)(o(350, s), p, o, m) +# define BOOST_PP_FOR_350_I(s, p, o, m) BOOST_PP_IF(p(351, s), m, BOOST_PP_TUPLE_EAT_2)(351, s) BOOST_PP_IF(p(351, s), BOOST_PP_FOR_351, BOOST_PP_TUPLE_EAT_4)(o(351, s), p, o, m) +# define BOOST_PP_FOR_351_I(s, p, o, m) BOOST_PP_IF(p(352, s), m, BOOST_PP_TUPLE_EAT_2)(352, s) BOOST_PP_IF(p(352, s), BOOST_PP_FOR_352, BOOST_PP_TUPLE_EAT_4)(o(352, s), p, o, m) +# define BOOST_PP_FOR_352_I(s, p, o, m) BOOST_PP_IF(p(353, s), m, BOOST_PP_TUPLE_EAT_2)(353, s) BOOST_PP_IF(p(353, s), BOOST_PP_FOR_353, BOOST_PP_TUPLE_EAT_4)(o(353, s), p, o, m) +# define BOOST_PP_FOR_353_I(s, p, o, m) BOOST_PP_IF(p(354, s), m, BOOST_PP_TUPLE_EAT_2)(354, s) BOOST_PP_IF(p(354, s), BOOST_PP_FOR_354, BOOST_PP_TUPLE_EAT_4)(o(354, s), p, o, m) +# define BOOST_PP_FOR_354_I(s, p, o, m) BOOST_PP_IF(p(355, s), m, BOOST_PP_TUPLE_EAT_2)(355, s) BOOST_PP_IF(p(355, s), BOOST_PP_FOR_355, BOOST_PP_TUPLE_EAT_4)(o(355, s), p, o, m) +# define BOOST_PP_FOR_355_I(s, p, o, m) BOOST_PP_IF(p(356, s), m, BOOST_PP_TUPLE_EAT_2)(356, s) BOOST_PP_IF(p(356, s), BOOST_PP_FOR_356, BOOST_PP_TUPLE_EAT_4)(o(356, s), p, o, m) +# define BOOST_PP_FOR_356_I(s, p, o, m) BOOST_PP_IF(p(357, s), m, BOOST_PP_TUPLE_EAT_2)(357, s) BOOST_PP_IF(p(357, s), BOOST_PP_FOR_357, BOOST_PP_TUPLE_EAT_4)(o(357, s), p, o, m) +# define BOOST_PP_FOR_357_I(s, p, o, m) BOOST_PP_IF(p(358, s), m, BOOST_PP_TUPLE_EAT_2)(358, s) BOOST_PP_IF(p(358, s), BOOST_PP_FOR_358, BOOST_PP_TUPLE_EAT_4)(o(358, s), p, o, m) +# define BOOST_PP_FOR_358_I(s, p, o, m) BOOST_PP_IF(p(359, s), m, BOOST_PP_TUPLE_EAT_2)(359, s) BOOST_PP_IF(p(359, s), BOOST_PP_FOR_359, BOOST_PP_TUPLE_EAT_4)(o(359, s), p, o, m) +# define BOOST_PP_FOR_359_I(s, p, o, m) BOOST_PP_IF(p(360, s), m, BOOST_PP_TUPLE_EAT_2)(360, s) BOOST_PP_IF(p(360, s), BOOST_PP_FOR_360, BOOST_PP_TUPLE_EAT_4)(o(360, s), p, o, m) +# define BOOST_PP_FOR_360_I(s, p, o, m) BOOST_PP_IF(p(361, s), m, BOOST_PP_TUPLE_EAT_2)(361, s) BOOST_PP_IF(p(361, s), BOOST_PP_FOR_361, BOOST_PP_TUPLE_EAT_4)(o(361, s), p, o, m) +# define BOOST_PP_FOR_361_I(s, p, o, m) BOOST_PP_IF(p(362, s), m, BOOST_PP_TUPLE_EAT_2)(362, s) BOOST_PP_IF(p(362, s), BOOST_PP_FOR_362, BOOST_PP_TUPLE_EAT_4)(o(362, s), p, o, m) +# define BOOST_PP_FOR_362_I(s, p, o, m) BOOST_PP_IF(p(363, s), m, BOOST_PP_TUPLE_EAT_2)(363, s) BOOST_PP_IF(p(363, s), BOOST_PP_FOR_363, BOOST_PP_TUPLE_EAT_4)(o(363, s), p, o, m) +# define BOOST_PP_FOR_363_I(s, p, o, m) BOOST_PP_IF(p(364, s), m, BOOST_PP_TUPLE_EAT_2)(364, s) BOOST_PP_IF(p(364, s), BOOST_PP_FOR_364, BOOST_PP_TUPLE_EAT_4)(o(364, s), p, o, m) +# define BOOST_PP_FOR_364_I(s, p, o, m) BOOST_PP_IF(p(365, s), m, BOOST_PP_TUPLE_EAT_2)(365, s) BOOST_PP_IF(p(365, s), BOOST_PP_FOR_365, BOOST_PP_TUPLE_EAT_4)(o(365, s), p, o, m) +# define BOOST_PP_FOR_365_I(s, p, o, m) BOOST_PP_IF(p(366, s), m, BOOST_PP_TUPLE_EAT_2)(366, s) BOOST_PP_IF(p(366, s), BOOST_PP_FOR_366, BOOST_PP_TUPLE_EAT_4)(o(366, s), p, o, m) +# define BOOST_PP_FOR_366_I(s, p, o, m) BOOST_PP_IF(p(367, s), m, BOOST_PP_TUPLE_EAT_2)(367, s) BOOST_PP_IF(p(367, s), BOOST_PP_FOR_367, BOOST_PP_TUPLE_EAT_4)(o(367, s), p, o, m) +# define BOOST_PP_FOR_367_I(s, p, o, m) BOOST_PP_IF(p(368, s), m, BOOST_PP_TUPLE_EAT_2)(368, s) BOOST_PP_IF(p(368, s), BOOST_PP_FOR_368, BOOST_PP_TUPLE_EAT_4)(o(368, s), p, o, m) +# define BOOST_PP_FOR_368_I(s, p, o, m) BOOST_PP_IF(p(369, s), m, BOOST_PP_TUPLE_EAT_2)(369, s) BOOST_PP_IF(p(369, s), BOOST_PP_FOR_369, BOOST_PP_TUPLE_EAT_4)(o(369, s), p, o, m) +# define BOOST_PP_FOR_369_I(s, p, o, m) BOOST_PP_IF(p(370, s), m, BOOST_PP_TUPLE_EAT_2)(370, s) BOOST_PP_IF(p(370, s), BOOST_PP_FOR_370, BOOST_PP_TUPLE_EAT_4)(o(370, s), p, o, m) +# define BOOST_PP_FOR_370_I(s, p, o, m) BOOST_PP_IF(p(371, s), m, BOOST_PP_TUPLE_EAT_2)(371, s) BOOST_PP_IF(p(371, s), BOOST_PP_FOR_371, BOOST_PP_TUPLE_EAT_4)(o(371, s), p, o, m) +# define BOOST_PP_FOR_371_I(s, p, o, m) BOOST_PP_IF(p(372, s), m, BOOST_PP_TUPLE_EAT_2)(372, s) BOOST_PP_IF(p(372, s), BOOST_PP_FOR_372, BOOST_PP_TUPLE_EAT_4)(o(372, s), p, o, m) +# define BOOST_PP_FOR_372_I(s, p, o, m) BOOST_PP_IF(p(373, s), m, BOOST_PP_TUPLE_EAT_2)(373, s) BOOST_PP_IF(p(373, s), BOOST_PP_FOR_373, BOOST_PP_TUPLE_EAT_4)(o(373, s), p, o, m) +# define BOOST_PP_FOR_373_I(s, p, o, m) BOOST_PP_IF(p(374, s), m, BOOST_PP_TUPLE_EAT_2)(374, s) BOOST_PP_IF(p(374, s), BOOST_PP_FOR_374, BOOST_PP_TUPLE_EAT_4)(o(374, s), p, o, m) +# define BOOST_PP_FOR_374_I(s, p, o, m) BOOST_PP_IF(p(375, s), m, BOOST_PP_TUPLE_EAT_2)(375, s) BOOST_PP_IF(p(375, s), BOOST_PP_FOR_375, BOOST_PP_TUPLE_EAT_4)(o(375, s), p, o, m) +# define BOOST_PP_FOR_375_I(s, p, o, m) BOOST_PP_IF(p(376, s), m, BOOST_PP_TUPLE_EAT_2)(376, s) BOOST_PP_IF(p(376, s), BOOST_PP_FOR_376, BOOST_PP_TUPLE_EAT_4)(o(376, s), p, o, m) +# define BOOST_PP_FOR_376_I(s, p, o, m) BOOST_PP_IF(p(377, s), m, BOOST_PP_TUPLE_EAT_2)(377, s) BOOST_PP_IF(p(377, s), BOOST_PP_FOR_377, BOOST_PP_TUPLE_EAT_4)(o(377, s), p, o, m) +# define BOOST_PP_FOR_377_I(s, p, o, m) BOOST_PP_IF(p(378, s), m, BOOST_PP_TUPLE_EAT_2)(378, s) BOOST_PP_IF(p(378, s), BOOST_PP_FOR_378, BOOST_PP_TUPLE_EAT_4)(o(378, s), p, o, m) +# define BOOST_PP_FOR_378_I(s, p, o, m) BOOST_PP_IF(p(379, s), m, BOOST_PP_TUPLE_EAT_2)(379, s) BOOST_PP_IF(p(379, s), BOOST_PP_FOR_379, BOOST_PP_TUPLE_EAT_4)(o(379, s), p, o, m) +# define BOOST_PP_FOR_379_I(s, p, o, m) BOOST_PP_IF(p(380, s), m, BOOST_PP_TUPLE_EAT_2)(380, s) BOOST_PP_IF(p(380, s), BOOST_PP_FOR_380, BOOST_PP_TUPLE_EAT_4)(o(380, s), p, o, m) +# define BOOST_PP_FOR_380_I(s, p, o, m) BOOST_PP_IF(p(381, s), m, BOOST_PP_TUPLE_EAT_2)(381, s) BOOST_PP_IF(p(381, s), BOOST_PP_FOR_381, BOOST_PP_TUPLE_EAT_4)(o(381, s), p, o, m) +# define BOOST_PP_FOR_381_I(s, p, o, m) BOOST_PP_IF(p(382, s), m, BOOST_PP_TUPLE_EAT_2)(382, s) BOOST_PP_IF(p(382, s), BOOST_PP_FOR_382, BOOST_PP_TUPLE_EAT_4)(o(382, s), p, o, m) +# define BOOST_PP_FOR_382_I(s, p, o, m) BOOST_PP_IF(p(383, s), m, BOOST_PP_TUPLE_EAT_2)(383, s) BOOST_PP_IF(p(383, s), BOOST_PP_FOR_383, BOOST_PP_TUPLE_EAT_4)(o(383, s), p, o, m) +# define BOOST_PP_FOR_383_I(s, p, o, m) BOOST_PP_IF(p(384, s), m, BOOST_PP_TUPLE_EAT_2)(384, s) BOOST_PP_IF(p(384, s), BOOST_PP_FOR_384, BOOST_PP_TUPLE_EAT_4)(o(384, s), p, o, m) +# define BOOST_PP_FOR_384_I(s, p, o, m) BOOST_PP_IF(p(385, s), m, BOOST_PP_TUPLE_EAT_2)(385, s) BOOST_PP_IF(p(385, s), BOOST_PP_FOR_385, BOOST_PP_TUPLE_EAT_4)(o(385, s), p, o, m) +# define BOOST_PP_FOR_385_I(s, p, o, m) BOOST_PP_IF(p(386, s), m, BOOST_PP_TUPLE_EAT_2)(386, s) BOOST_PP_IF(p(386, s), BOOST_PP_FOR_386, BOOST_PP_TUPLE_EAT_4)(o(386, s), p, o, m) +# define BOOST_PP_FOR_386_I(s, p, o, m) BOOST_PP_IF(p(387, s), m, BOOST_PP_TUPLE_EAT_2)(387, s) BOOST_PP_IF(p(387, s), BOOST_PP_FOR_387, BOOST_PP_TUPLE_EAT_4)(o(387, s), p, o, m) +# define BOOST_PP_FOR_387_I(s, p, o, m) BOOST_PP_IF(p(388, s), m, BOOST_PP_TUPLE_EAT_2)(388, s) BOOST_PP_IF(p(388, s), BOOST_PP_FOR_388, BOOST_PP_TUPLE_EAT_4)(o(388, s), p, o, m) +# define BOOST_PP_FOR_388_I(s, p, o, m) BOOST_PP_IF(p(389, s), m, BOOST_PP_TUPLE_EAT_2)(389, s) BOOST_PP_IF(p(389, s), BOOST_PP_FOR_389, BOOST_PP_TUPLE_EAT_4)(o(389, s), p, o, m) +# define BOOST_PP_FOR_389_I(s, p, o, m) BOOST_PP_IF(p(390, s), m, BOOST_PP_TUPLE_EAT_2)(390, s) BOOST_PP_IF(p(390, s), BOOST_PP_FOR_390, BOOST_PP_TUPLE_EAT_4)(o(390, s), p, o, m) +# define BOOST_PP_FOR_390_I(s, p, o, m) BOOST_PP_IF(p(391, s), m, BOOST_PP_TUPLE_EAT_2)(391, s) BOOST_PP_IF(p(391, s), BOOST_PP_FOR_391, BOOST_PP_TUPLE_EAT_4)(o(391, s), p, o, m) +# define BOOST_PP_FOR_391_I(s, p, o, m) BOOST_PP_IF(p(392, s), m, BOOST_PP_TUPLE_EAT_2)(392, s) BOOST_PP_IF(p(392, s), BOOST_PP_FOR_392, BOOST_PP_TUPLE_EAT_4)(o(392, s), p, o, m) +# define BOOST_PP_FOR_392_I(s, p, o, m) BOOST_PP_IF(p(393, s), m, BOOST_PP_TUPLE_EAT_2)(393, s) BOOST_PP_IF(p(393, s), BOOST_PP_FOR_393, BOOST_PP_TUPLE_EAT_4)(o(393, s), p, o, m) +# define BOOST_PP_FOR_393_I(s, p, o, m) BOOST_PP_IF(p(394, s), m, BOOST_PP_TUPLE_EAT_2)(394, s) BOOST_PP_IF(p(394, s), BOOST_PP_FOR_394, BOOST_PP_TUPLE_EAT_4)(o(394, s), p, o, m) +# define BOOST_PP_FOR_394_I(s, p, o, m) BOOST_PP_IF(p(395, s), m, BOOST_PP_TUPLE_EAT_2)(395, s) BOOST_PP_IF(p(395, s), BOOST_PP_FOR_395, BOOST_PP_TUPLE_EAT_4)(o(395, s), p, o, m) +# define BOOST_PP_FOR_395_I(s, p, o, m) BOOST_PP_IF(p(396, s), m, BOOST_PP_TUPLE_EAT_2)(396, s) BOOST_PP_IF(p(396, s), BOOST_PP_FOR_396, BOOST_PP_TUPLE_EAT_4)(o(396, s), p, o, m) +# define BOOST_PP_FOR_396_I(s, p, o, m) BOOST_PP_IF(p(397, s), m, BOOST_PP_TUPLE_EAT_2)(397, s) BOOST_PP_IF(p(397, s), BOOST_PP_FOR_397, BOOST_PP_TUPLE_EAT_4)(o(397, s), p, o, m) +# define BOOST_PP_FOR_397_I(s, p, o, m) BOOST_PP_IF(p(398, s), m, BOOST_PP_TUPLE_EAT_2)(398, s) BOOST_PP_IF(p(398, s), BOOST_PP_FOR_398, BOOST_PP_TUPLE_EAT_4)(o(398, s), p, o, m) +# define BOOST_PP_FOR_398_I(s, p, o, m) BOOST_PP_IF(p(399, s), m, BOOST_PP_TUPLE_EAT_2)(399, s) BOOST_PP_IF(p(399, s), BOOST_PP_FOR_399, BOOST_PP_TUPLE_EAT_4)(o(399, s), p, o, m) +# define BOOST_PP_FOR_399_I(s, p, o, m) BOOST_PP_IF(p(400, s), m, BOOST_PP_TUPLE_EAT_2)(400, s) BOOST_PP_IF(p(400, s), BOOST_PP_FOR_400, BOOST_PP_TUPLE_EAT_4)(o(400, s), p, o, m) +# define BOOST_PP_FOR_400_I(s, p, o, m) BOOST_PP_IF(p(401, s), m, BOOST_PP_TUPLE_EAT_2)(401, s) BOOST_PP_IF(p(401, s), BOOST_PP_FOR_401, BOOST_PP_TUPLE_EAT_4)(o(401, s), p, o, m) +# define BOOST_PP_FOR_401_I(s, p, o, m) BOOST_PP_IF(p(402, s), m, BOOST_PP_TUPLE_EAT_2)(402, s) BOOST_PP_IF(p(402, s), BOOST_PP_FOR_402, BOOST_PP_TUPLE_EAT_4)(o(402, s), p, o, m) +# define BOOST_PP_FOR_402_I(s, p, o, m) BOOST_PP_IF(p(403, s), m, BOOST_PP_TUPLE_EAT_2)(403, s) BOOST_PP_IF(p(403, s), BOOST_PP_FOR_403, BOOST_PP_TUPLE_EAT_4)(o(403, s), p, o, m) +# define BOOST_PP_FOR_403_I(s, p, o, m) BOOST_PP_IF(p(404, s), m, BOOST_PP_TUPLE_EAT_2)(404, s) BOOST_PP_IF(p(404, s), BOOST_PP_FOR_404, BOOST_PP_TUPLE_EAT_4)(o(404, s), p, o, m) +# define BOOST_PP_FOR_404_I(s, p, o, m) BOOST_PP_IF(p(405, s), m, BOOST_PP_TUPLE_EAT_2)(405, s) BOOST_PP_IF(p(405, s), BOOST_PP_FOR_405, BOOST_PP_TUPLE_EAT_4)(o(405, s), p, o, m) +# define BOOST_PP_FOR_405_I(s, p, o, m) BOOST_PP_IF(p(406, s), m, BOOST_PP_TUPLE_EAT_2)(406, s) BOOST_PP_IF(p(406, s), BOOST_PP_FOR_406, BOOST_PP_TUPLE_EAT_4)(o(406, s), p, o, m) +# define BOOST_PP_FOR_406_I(s, p, o, m) BOOST_PP_IF(p(407, s), m, BOOST_PP_TUPLE_EAT_2)(407, s) BOOST_PP_IF(p(407, s), BOOST_PP_FOR_407, BOOST_PP_TUPLE_EAT_4)(o(407, s), p, o, m) +# define BOOST_PP_FOR_407_I(s, p, o, m) BOOST_PP_IF(p(408, s), m, BOOST_PP_TUPLE_EAT_2)(408, s) BOOST_PP_IF(p(408, s), BOOST_PP_FOR_408, BOOST_PP_TUPLE_EAT_4)(o(408, s), p, o, m) +# define BOOST_PP_FOR_408_I(s, p, o, m) BOOST_PP_IF(p(409, s), m, BOOST_PP_TUPLE_EAT_2)(409, s) BOOST_PP_IF(p(409, s), BOOST_PP_FOR_409, BOOST_PP_TUPLE_EAT_4)(o(409, s), p, o, m) +# define BOOST_PP_FOR_409_I(s, p, o, m) BOOST_PP_IF(p(410, s), m, BOOST_PP_TUPLE_EAT_2)(410, s) BOOST_PP_IF(p(410, s), BOOST_PP_FOR_410, BOOST_PP_TUPLE_EAT_4)(o(410, s), p, o, m) +# define BOOST_PP_FOR_410_I(s, p, o, m) BOOST_PP_IF(p(411, s), m, BOOST_PP_TUPLE_EAT_2)(411, s) BOOST_PP_IF(p(411, s), BOOST_PP_FOR_411, BOOST_PP_TUPLE_EAT_4)(o(411, s), p, o, m) +# define BOOST_PP_FOR_411_I(s, p, o, m) BOOST_PP_IF(p(412, s), m, BOOST_PP_TUPLE_EAT_2)(412, s) BOOST_PP_IF(p(412, s), BOOST_PP_FOR_412, BOOST_PP_TUPLE_EAT_4)(o(412, s), p, o, m) +# define BOOST_PP_FOR_412_I(s, p, o, m) BOOST_PP_IF(p(413, s), m, BOOST_PP_TUPLE_EAT_2)(413, s) BOOST_PP_IF(p(413, s), BOOST_PP_FOR_413, BOOST_PP_TUPLE_EAT_4)(o(413, s), p, o, m) +# define BOOST_PP_FOR_413_I(s, p, o, m) BOOST_PP_IF(p(414, s), m, BOOST_PP_TUPLE_EAT_2)(414, s) BOOST_PP_IF(p(414, s), BOOST_PP_FOR_414, BOOST_PP_TUPLE_EAT_4)(o(414, s), p, o, m) +# define BOOST_PP_FOR_414_I(s, p, o, m) BOOST_PP_IF(p(415, s), m, BOOST_PP_TUPLE_EAT_2)(415, s) BOOST_PP_IF(p(415, s), BOOST_PP_FOR_415, BOOST_PP_TUPLE_EAT_4)(o(415, s), p, o, m) +# define BOOST_PP_FOR_415_I(s, p, o, m) BOOST_PP_IF(p(416, s), m, BOOST_PP_TUPLE_EAT_2)(416, s) BOOST_PP_IF(p(416, s), BOOST_PP_FOR_416, BOOST_PP_TUPLE_EAT_4)(o(416, s), p, o, m) +# define BOOST_PP_FOR_416_I(s, p, o, m) BOOST_PP_IF(p(417, s), m, BOOST_PP_TUPLE_EAT_2)(417, s) BOOST_PP_IF(p(417, s), BOOST_PP_FOR_417, BOOST_PP_TUPLE_EAT_4)(o(417, s), p, o, m) +# define BOOST_PP_FOR_417_I(s, p, o, m) BOOST_PP_IF(p(418, s), m, BOOST_PP_TUPLE_EAT_2)(418, s) BOOST_PP_IF(p(418, s), BOOST_PP_FOR_418, BOOST_PP_TUPLE_EAT_4)(o(418, s), p, o, m) +# define BOOST_PP_FOR_418_I(s, p, o, m) BOOST_PP_IF(p(419, s), m, BOOST_PP_TUPLE_EAT_2)(419, s) BOOST_PP_IF(p(419, s), BOOST_PP_FOR_419, BOOST_PP_TUPLE_EAT_4)(o(419, s), p, o, m) +# define BOOST_PP_FOR_419_I(s, p, o, m) BOOST_PP_IF(p(420, s), m, BOOST_PP_TUPLE_EAT_2)(420, s) BOOST_PP_IF(p(420, s), BOOST_PP_FOR_420, BOOST_PP_TUPLE_EAT_4)(o(420, s), p, o, m) +# define BOOST_PP_FOR_420_I(s, p, o, m) BOOST_PP_IF(p(421, s), m, BOOST_PP_TUPLE_EAT_2)(421, s) BOOST_PP_IF(p(421, s), BOOST_PP_FOR_421, BOOST_PP_TUPLE_EAT_4)(o(421, s), p, o, m) +# define BOOST_PP_FOR_421_I(s, p, o, m) BOOST_PP_IF(p(422, s), m, BOOST_PP_TUPLE_EAT_2)(422, s) BOOST_PP_IF(p(422, s), BOOST_PP_FOR_422, BOOST_PP_TUPLE_EAT_4)(o(422, s), p, o, m) +# define BOOST_PP_FOR_422_I(s, p, o, m) BOOST_PP_IF(p(423, s), m, BOOST_PP_TUPLE_EAT_2)(423, s) BOOST_PP_IF(p(423, s), BOOST_PP_FOR_423, BOOST_PP_TUPLE_EAT_4)(o(423, s), p, o, m) +# define BOOST_PP_FOR_423_I(s, p, o, m) BOOST_PP_IF(p(424, s), m, BOOST_PP_TUPLE_EAT_2)(424, s) BOOST_PP_IF(p(424, s), BOOST_PP_FOR_424, BOOST_PP_TUPLE_EAT_4)(o(424, s), p, o, m) +# define BOOST_PP_FOR_424_I(s, p, o, m) BOOST_PP_IF(p(425, s), m, BOOST_PP_TUPLE_EAT_2)(425, s) BOOST_PP_IF(p(425, s), BOOST_PP_FOR_425, BOOST_PP_TUPLE_EAT_4)(o(425, s), p, o, m) +# define BOOST_PP_FOR_425_I(s, p, o, m) BOOST_PP_IF(p(426, s), m, BOOST_PP_TUPLE_EAT_2)(426, s) BOOST_PP_IF(p(426, s), BOOST_PP_FOR_426, BOOST_PP_TUPLE_EAT_4)(o(426, s), p, o, m) +# define BOOST_PP_FOR_426_I(s, p, o, m) BOOST_PP_IF(p(427, s), m, BOOST_PP_TUPLE_EAT_2)(427, s) BOOST_PP_IF(p(427, s), BOOST_PP_FOR_427, BOOST_PP_TUPLE_EAT_4)(o(427, s), p, o, m) +# define BOOST_PP_FOR_427_I(s, p, o, m) BOOST_PP_IF(p(428, s), m, BOOST_PP_TUPLE_EAT_2)(428, s) BOOST_PP_IF(p(428, s), BOOST_PP_FOR_428, BOOST_PP_TUPLE_EAT_4)(o(428, s), p, o, m) +# define BOOST_PP_FOR_428_I(s, p, o, m) BOOST_PP_IF(p(429, s), m, BOOST_PP_TUPLE_EAT_2)(429, s) BOOST_PP_IF(p(429, s), BOOST_PP_FOR_429, BOOST_PP_TUPLE_EAT_4)(o(429, s), p, o, m) +# define BOOST_PP_FOR_429_I(s, p, o, m) BOOST_PP_IF(p(430, s), m, BOOST_PP_TUPLE_EAT_2)(430, s) BOOST_PP_IF(p(430, s), BOOST_PP_FOR_430, BOOST_PP_TUPLE_EAT_4)(o(430, s), p, o, m) +# define BOOST_PP_FOR_430_I(s, p, o, m) BOOST_PP_IF(p(431, s), m, BOOST_PP_TUPLE_EAT_2)(431, s) BOOST_PP_IF(p(431, s), BOOST_PP_FOR_431, BOOST_PP_TUPLE_EAT_4)(o(431, s), p, o, m) +# define BOOST_PP_FOR_431_I(s, p, o, m) BOOST_PP_IF(p(432, s), m, BOOST_PP_TUPLE_EAT_2)(432, s) BOOST_PP_IF(p(432, s), BOOST_PP_FOR_432, BOOST_PP_TUPLE_EAT_4)(o(432, s), p, o, m) +# define BOOST_PP_FOR_432_I(s, p, o, m) BOOST_PP_IF(p(433, s), m, BOOST_PP_TUPLE_EAT_2)(433, s) BOOST_PP_IF(p(433, s), BOOST_PP_FOR_433, BOOST_PP_TUPLE_EAT_4)(o(433, s), p, o, m) +# define BOOST_PP_FOR_433_I(s, p, o, m) BOOST_PP_IF(p(434, s), m, BOOST_PP_TUPLE_EAT_2)(434, s) BOOST_PP_IF(p(434, s), BOOST_PP_FOR_434, BOOST_PP_TUPLE_EAT_4)(o(434, s), p, o, m) +# define BOOST_PP_FOR_434_I(s, p, o, m) BOOST_PP_IF(p(435, s), m, BOOST_PP_TUPLE_EAT_2)(435, s) BOOST_PP_IF(p(435, s), BOOST_PP_FOR_435, BOOST_PP_TUPLE_EAT_4)(o(435, s), p, o, m) +# define BOOST_PP_FOR_435_I(s, p, o, m) BOOST_PP_IF(p(436, s), m, BOOST_PP_TUPLE_EAT_2)(436, s) BOOST_PP_IF(p(436, s), BOOST_PP_FOR_436, BOOST_PP_TUPLE_EAT_4)(o(436, s), p, o, m) +# define BOOST_PP_FOR_436_I(s, p, o, m) BOOST_PP_IF(p(437, s), m, BOOST_PP_TUPLE_EAT_2)(437, s) BOOST_PP_IF(p(437, s), BOOST_PP_FOR_437, BOOST_PP_TUPLE_EAT_4)(o(437, s), p, o, m) +# define BOOST_PP_FOR_437_I(s, p, o, m) BOOST_PP_IF(p(438, s), m, BOOST_PP_TUPLE_EAT_2)(438, s) BOOST_PP_IF(p(438, s), BOOST_PP_FOR_438, BOOST_PP_TUPLE_EAT_4)(o(438, s), p, o, m) +# define BOOST_PP_FOR_438_I(s, p, o, m) BOOST_PP_IF(p(439, s), m, BOOST_PP_TUPLE_EAT_2)(439, s) BOOST_PP_IF(p(439, s), BOOST_PP_FOR_439, BOOST_PP_TUPLE_EAT_4)(o(439, s), p, o, m) +# define BOOST_PP_FOR_439_I(s, p, o, m) BOOST_PP_IF(p(440, s), m, BOOST_PP_TUPLE_EAT_2)(440, s) BOOST_PP_IF(p(440, s), BOOST_PP_FOR_440, BOOST_PP_TUPLE_EAT_4)(o(440, s), p, o, m) +# define BOOST_PP_FOR_440_I(s, p, o, m) BOOST_PP_IF(p(441, s), m, BOOST_PP_TUPLE_EAT_2)(441, s) BOOST_PP_IF(p(441, s), BOOST_PP_FOR_441, BOOST_PP_TUPLE_EAT_4)(o(441, s), p, o, m) +# define BOOST_PP_FOR_441_I(s, p, o, m) BOOST_PP_IF(p(442, s), m, BOOST_PP_TUPLE_EAT_2)(442, s) BOOST_PP_IF(p(442, s), BOOST_PP_FOR_442, BOOST_PP_TUPLE_EAT_4)(o(442, s), p, o, m) +# define BOOST_PP_FOR_442_I(s, p, o, m) BOOST_PP_IF(p(443, s), m, BOOST_PP_TUPLE_EAT_2)(443, s) BOOST_PP_IF(p(443, s), BOOST_PP_FOR_443, BOOST_PP_TUPLE_EAT_4)(o(443, s), p, o, m) +# define BOOST_PP_FOR_443_I(s, p, o, m) BOOST_PP_IF(p(444, s), m, BOOST_PP_TUPLE_EAT_2)(444, s) BOOST_PP_IF(p(444, s), BOOST_PP_FOR_444, BOOST_PP_TUPLE_EAT_4)(o(444, s), p, o, m) +# define BOOST_PP_FOR_444_I(s, p, o, m) BOOST_PP_IF(p(445, s), m, BOOST_PP_TUPLE_EAT_2)(445, s) BOOST_PP_IF(p(445, s), BOOST_PP_FOR_445, BOOST_PP_TUPLE_EAT_4)(o(445, s), p, o, m) +# define BOOST_PP_FOR_445_I(s, p, o, m) BOOST_PP_IF(p(446, s), m, BOOST_PP_TUPLE_EAT_2)(446, s) BOOST_PP_IF(p(446, s), BOOST_PP_FOR_446, BOOST_PP_TUPLE_EAT_4)(o(446, s), p, o, m) +# define BOOST_PP_FOR_446_I(s, p, o, m) BOOST_PP_IF(p(447, s), m, BOOST_PP_TUPLE_EAT_2)(447, s) BOOST_PP_IF(p(447, s), BOOST_PP_FOR_447, BOOST_PP_TUPLE_EAT_4)(o(447, s), p, o, m) +# define BOOST_PP_FOR_447_I(s, p, o, m) BOOST_PP_IF(p(448, s), m, BOOST_PP_TUPLE_EAT_2)(448, s) BOOST_PP_IF(p(448, s), BOOST_PP_FOR_448, BOOST_PP_TUPLE_EAT_4)(o(448, s), p, o, m) +# define BOOST_PP_FOR_448_I(s, p, o, m) BOOST_PP_IF(p(449, s), m, BOOST_PP_TUPLE_EAT_2)(449, s) BOOST_PP_IF(p(449, s), BOOST_PP_FOR_449, BOOST_PP_TUPLE_EAT_4)(o(449, s), p, o, m) +# define BOOST_PP_FOR_449_I(s, p, o, m) BOOST_PP_IF(p(450, s), m, BOOST_PP_TUPLE_EAT_2)(450, s) BOOST_PP_IF(p(450, s), BOOST_PP_FOR_450, BOOST_PP_TUPLE_EAT_4)(o(450, s), p, o, m) +# define BOOST_PP_FOR_450_I(s, p, o, m) BOOST_PP_IF(p(451, s), m, BOOST_PP_TUPLE_EAT_2)(451, s) BOOST_PP_IF(p(451, s), BOOST_PP_FOR_451, BOOST_PP_TUPLE_EAT_4)(o(451, s), p, o, m) +# define BOOST_PP_FOR_451_I(s, p, o, m) BOOST_PP_IF(p(452, s), m, BOOST_PP_TUPLE_EAT_2)(452, s) BOOST_PP_IF(p(452, s), BOOST_PP_FOR_452, BOOST_PP_TUPLE_EAT_4)(o(452, s), p, o, m) +# define BOOST_PP_FOR_452_I(s, p, o, m) BOOST_PP_IF(p(453, s), m, BOOST_PP_TUPLE_EAT_2)(453, s) BOOST_PP_IF(p(453, s), BOOST_PP_FOR_453, BOOST_PP_TUPLE_EAT_4)(o(453, s), p, o, m) +# define BOOST_PP_FOR_453_I(s, p, o, m) BOOST_PP_IF(p(454, s), m, BOOST_PP_TUPLE_EAT_2)(454, s) BOOST_PP_IF(p(454, s), BOOST_PP_FOR_454, BOOST_PP_TUPLE_EAT_4)(o(454, s), p, o, m) +# define BOOST_PP_FOR_454_I(s, p, o, m) BOOST_PP_IF(p(455, s), m, BOOST_PP_TUPLE_EAT_2)(455, s) BOOST_PP_IF(p(455, s), BOOST_PP_FOR_455, BOOST_PP_TUPLE_EAT_4)(o(455, s), p, o, m) +# define BOOST_PP_FOR_455_I(s, p, o, m) BOOST_PP_IF(p(456, s), m, BOOST_PP_TUPLE_EAT_2)(456, s) BOOST_PP_IF(p(456, s), BOOST_PP_FOR_456, BOOST_PP_TUPLE_EAT_4)(o(456, s), p, o, m) +# define BOOST_PP_FOR_456_I(s, p, o, m) BOOST_PP_IF(p(457, s), m, BOOST_PP_TUPLE_EAT_2)(457, s) BOOST_PP_IF(p(457, s), BOOST_PP_FOR_457, BOOST_PP_TUPLE_EAT_4)(o(457, s), p, o, m) +# define BOOST_PP_FOR_457_I(s, p, o, m) BOOST_PP_IF(p(458, s), m, BOOST_PP_TUPLE_EAT_2)(458, s) BOOST_PP_IF(p(458, s), BOOST_PP_FOR_458, BOOST_PP_TUPLE_EAT_4)(o(458, s), p, o, m) +# define BOOST_PP_FOR_458_I(s, p, o, m) BOOST_PP_IF(p(459, s), m, BOOST_PP_TUPLE_EAT_2)(459, s) BOOST_PP_IF(p(459, s), BOOST_PP_FOR_459, BOOST_PP_TUPLE_EAT_4)(o(459, s), p, o, m) +# define BOOST_PP_FOR_459_I(s, p, o, m) BOOST_PP_IF(p(460, s), m, BOOST_PP_TUPLE_EAT_2)(460, s) BOOST_PP_IF(p(460, s), BOOST_PP_FOR_460, BOOST_PP_TUPLE_EAT_4)(o(460, s), p, o, m) +# define BOOST_PP_FOR_460_I(s, p, o, m) BOOST_PP_IF(p(461, s), m, BOOST_PP_TUPLE_EAT_2)(461, s) BOOST_PP_IF(p(461, s), BOOST_PP_FOR_461, BOOST_PP_TUPLE_EAT_4)(o(461, s), p, o, m) +# define BOOST_PP_FOR_461_I(s, p, o, m) BOOST_PP_IF(p(462, s), m, BOOST_PP_TUPLE_EAT_2)(462, s) BOOST_PP_IF(p(462, s), BOOST_PP_FOR_462, BOOST_PP_TUPLE_EAT_4)(o(462, s), p, o, m) +# define BOOST_PP_FOR_462_I(s, p, o, m) BOOST_PP_IF(p(463, s), m, BOOST_PP_TUPLE_EAT_2)(463, s) BOOST_PP_IF(p(463, s), BOOST_PP_FOR_463, BOOST_PP_TUPLE_EAT_4)(o(463, s), p, o, m) +# define BOOST_PP_FOR_463_I(s, p, o, m) BOOST_PP_IF(p(464, s), m, BOOST_PP_TUPLE_EAT_2)(464, s) BOOST_PP_IF(p(464, s), BOOST_PP_FOR_464, BOOST_PP_TUPLE_EAT_4)(o(464, s), p, o, m) +# define BOOST_PP_FOR_464_I(s, p, o, m) BOOST_PP_IF(p(465, s), m, BOOST_PP_TUPLE_EAT_2)(465, s) BOOST_PP_IF(p(465, s), BOOST_PP_FOR_465, BOOST_PP_TUPLE_EAT_4)(o(465, s), p, o, m) +# define BOOST_PP_FOR_465_I(s, p, o, m) BOOST_PP_IF(p(466, s), m, BOOST_PP_TUPLE_EAT_2)(466, s) BOOST_PP_IF(p(466, s), BOOST_PP_FOR_466, BOOST_PP_TUPLE_EAT_4)(o(466, s), p, o, m) +# define BOOST_PP_FOR_466_I(s, p, o, m) BOOST_PP_IF(p(467, s), m, BOOST_PP_TUPLE_EAT_2)(467, s) BOOST_PP_IF(p(467, s), BOOST_PP_FOR_467, BOOST_PP_TUPLE_EAT_4)(o(467, s), p, o, m) +# define BOOST_PP_FOR_467_I(s, p, o, m) BOOST_PP_IF(p(468, s), m, BOOST_PP_TUPLE_EAT_2)(468, s) BOOST_PP_IF(p(468, s), BOOST_PP_FOR_468, BOOST_PP_TUPLE_EAT_4)(o(468, s), p, o, m) +# define BOOST_PP_FOR_468_I(s, p, o, m) BOOST_PP_IF(p(469, s), m, BOOST_PP_TUPLE_EAT_2)(469, s) BOOST_PP_IF(p(469, s), BOOST_PP_FOR_469, BOOST_PP_TUPLE_EAT_4)(o(469, s), p, o, m) +# define BOOST_PP_FOR_469_I(s, p, o, m) BOOST_PP_IF(p(470, s), m, BOOST_PP_TUPLE_EAT_2)(470, s) BOOST_PP_IF(p(470, s), BOOST_PP_FOR_470, BOOST_PP_TUPLE_EAT_4)(o(470, s), p, o, m) +# define BOOST_PP_FOR_470_I(s, p, o, m) BOOST_PP_IF(p(471, s), m, BOOST_PP_TUPLE_EAT_2)(471, s) BOOST_PP_IF(p(471, s), BOOST_PP_FOR_471, BOOST_PP_TUPLE_EAT_4)(o(471, s), p, o, m) +# define BOOST_PP_FOR_471_I(s, p, o, m) BOOST_PP_IF(p(472, s), m, BOOST_PP_TUPLE_EAT_2)(472, s) BOOST_PP_IF(p(472, s), BOOST_PP_FOR_472, BOOST_PP_TUPLE_EAT_4)(o(472, s), p, o, m) +# define BOOST_PP_FOR_472_I(s, p, o, m) BOOST_PP_IF(p(473, s), m, BOOST_PP_TUPLE_EAT_2)(473, s) BOOST_PP_IF(p(473, s), BOOST_PP_FOR_473, BOOST_PP_TUPLE_EAT_4)(o(473, s), p, o, m) +# define BOOST_PP_FOR_473_I(s, p, o, m) BOOST_PP_IF(p(474, s), m, BOOST_PP_TUPLE_EAT_2)(474, s) BOOST_PP_IF(p(474, s), BOOST_PP_FOR_474, BOOST_PP_TUPLE_EAT_4)(o(474, s), p, o, m) +# define BOOST_PP_FOR_474_I(s, p, o, m) BOOST_PP_IF(p(475, s), m, BOOST_PP_TUPLE_EAT_2)(475, s) BOOST_PP_IF(p(475, s), BOOST_PP_FOR_475, BOOST_PP_TUPLE_EAT_4)(o(475, s), p, o, m) +# define BOOST_PP_FOR_475_I(s, p, o, m) BOOST_PP_IF(p(476, s), m, BOOST_PP_TUPLE_EAT_2)(476, s) BOOST_PP_IF(p(476, s), BOOST_PP_FOR_476, BOOST_PP_TUPLE_EAT_4)(o(476, s), p, o, m) +# define BOOST_PP_FOR_476_I(s, p, o, m) BOOST_PP_IF(p(477, s), m, BOOST_PP_TUPLE_EAT_2)(477, s) BOOST_PP_IF(p(477, s), BOOST_PP_FOR_477, BOOST_PP_TUPLE_EAT_4)(o(477, s), p, o, m) +# define BOOST_PP_FOR_477_I(s, p, o, m) BOOST_PP_IF(p(478, s), m, BOOST_PP_TUPLE_EAT_2)(478, s) BOOST_PP_IF(p(478, s), BOOST_PP_FOR_478, BOOST_PP_TUPLE_EAT_4)(o(478, s), p, o, m) +# define BOOST_PP_FOR_478_I(s, p, o, m) BOOST_PP_IF(p(479, s), m, BOOST_PP_TUPLE_EAT_2)(479, s) BOOST_PP_IF(p(479, s), BOOST_PP_FOR_479, BOOST_PP_TUPLE_EAT_4)(o(479, s), p, o, m) +# define BOOST_PP_FOR_479_I(s, p, o, m) BOOST_PP_IF(p(480, s), m, BOOST_PP_TUPLE_EAT_2)(480, s) BOOST_PP_IF(p(480, s), BOOST_PP_FOR_480, BOOST_PP_TUPLE_EAT_4)(o(480, s), p, o, m) +# define BOOST_PP_FOR_480_I(s, p, o, m) BOOST_PP_IF(p(481, s), m, BOOST_PP_TUPLE_EAT_2)(481, s) BOOST_PP_IF(p(481, s), BOOST_PP_FOR_481, BOOST_PP_TUPLE_EAT_4)(o(481, s), p, o, m) +# define BOOST_PP_FOR_481_I(s, p, o, m) BOOST_PP_IF(p(482, s), m, BOOST_PP_TUPLE_EAT_2)(482, s) BOOST_PP_IF(p(482, s), BOOST_PP_FOR_482, BOOST_PP_TUPLE_EAT_4)(o(482, s), p, o, m) +# define BOOST_PP_FOR_482_I(s, p, o, m) BOOST_PP_IF(p(483, s), m, BOOST_PP_TUPLE_EAT_2)(483, s) BOOST_PP_IF(p(483, s), BOOST_PP_FOR_483, BOOST_PP_TUPLE_EAT_4)(o(483, s), p, o, m) +# define BOOST_PP_FOR_483_I(s, p, o, m) BOOST_PP_IF(p(484, s), m, BOOST_PP_TUPLE_EAT_2)(484, s) BOOST_PP_IF(p(484, s), BOOST_PP_FOR_484, BOOST_PP_TUPLE_EAT_4)(o(484, s), p, o, m) +# define BOOST_PP_FOR_484_I(s, p, o, m) BOOST_PP_IF(p(485, s), m, BOOST_PP_TUPLE_EAT_2)(485, s) BOOST_PP_IF(p(485, s), BOOST_PP_FOR_485, BOOST_PP_TUPLE_EAT_4)(o(485, s), p, o, m) +# define BOOST_PP_FOR_485_I(s, p, o, m) BOOST_PP_IF(p(486, s), m, BOOST_PP_TUPLE_EAT_2)(486, s) BOOST_PP_IF(p(486, s), BOOST_PP_FOR_486, BOOST_PP_TUPLE_EAT_4)(o(486, s), p, o, m) +# define BOOST_PP_FOR_486_I(s, p, o, m) BOOST_PP_IF(p(487, s), m, BOOST_PP_TUPLE_EAT_2)(487, s) BOOST_PP_IF(p(487, s), BOOST_PP_FOR_487, BOOST_PP_TUPLE_EAT_4)(o(487, s), p, o, m) +# define BOOST_PP_FOR_487_I(s, p, o, m) BOOST_PP_IF(p(488, s), m, BOOST_PP_TUPLE_EAT_2)(488, s) BOOST_PP_IF(p(488, s), BOOST_PP_FOR_488, BOOST_PP_TUPLE_EAT_4)(o(488, s), p, o, m) +# define BOOST_PP_FOR_488_I(s, p, o, m) BOOST_PP_IF(p(489, s), m, BOOST_PP_TUPLE_EAT_2)(489, s) BOOST_PP_IF(p(489, s), BOOST_PP_FOR_489, BOOST_PP_TUPLE_EAT_4)(o(489, s), p, o, m) +# define BOOST_PP_FOR_489_I(s, p, o, m) BOOST_PP_IF(p(490, s), m, BOOST_PP_TUPLE_EAT_2)(490, s) BOOST_PP_IF(p(490, s), BOOST_PP_FOR_490, BOOST_PP_TUPLE_EAT_4)(o(490, s), p, o, m) +# define BOOST_PP_FOR_490_I(s, p, o, m) BOOST_PP_IF(p(491, s), m, BOOST_PP_TUPLE_EAT_2)(491, s) BOOST_PP_IF(p(491, s), BOOST_PP_FOR_491, BOOST_PP_TUPLE_EAT_4)(o(491, s), p, o, m) +# define BOOST_PP_FOR_491_I(s, p, o, m) BOOST_PP_IF(p(492, s), m, BOOST_PP_TUPLE_EAT_2)(492, s) BOOST_PP_IF(p(492, s), BOOST_PP_FOR_492, BOOST_PP_TUPLE_EAT_4)(o(492, s), p, o, m) +# define BOOST_PP_FOR_492_I(s, p, o, m) BOOST_PP_IF(p(493, s), m, BOOST_PP_TUPLE_EAT_2)(493, s) BOOST_PP_IF(p(493, s), BOOST_PP_FOR_493, BOOST_PP_TUPLE_EAT_4)(o(493, s), p, o, m) +# define BOOST_PP_FOR_493_I(s, p, o, m) BOOST_PP_IF(p(494, s), m, BOOST_PP_TUPLE_EAT_2)(494, s) BOOST_PP_IF(p(494, s), BOOST_PP_FOR_494, BOOST_PP_TUPLE_EAT_4)(o(494, s), p, o, m) +# define BOOST_PP_FOR_494_I(s, p, o, m) BOOST_PP_IF(p(495, s), m, BOOST_PP_TUPLE_EAT_2)(495, s) BOOST_PP_IF(p(495, s), BOOST_PP_FOR_495, BOOST_PP_TUPLE_EAT_4)(o(495, s), p, o, m) +# define BOOST_PP_FOR_495_I(s, p, o, m) BOOST_PP_IF(p(496, s), m, BOOST_PP_TUPLE_EAT_2)(496, s) BOOST_PP_IF(p(496, s), BOOST_PP_FOR_496, BOOST_PP_TUPLE_EAT_4)(o(496, s), p, o, m) +# define BOOST_PP_FOR_496_I(s, p, o, m) BOOST_PP_IF(p(497, s), m, BOOST_PP_TUPLE_EAT_2)(497, s) BOOST_PP_IF(p(497, s), BOOST_PP_FOR_497, BOOST_PP_TUPLE_EAT_4)(o(497, s), p, o, m) +# define BOOST_PP_FOR_497_I(s, p, o, m) BOOST_PP_IF(p(498, s), m, BOOST_PP_TUPLE_EAT_2)(498, s) BOOST_PP_IF(p(498, s), BOOST_PP_FOR_498, BOOST_PP_TUPLE_EAT_4)(o(498, s), p, o, m) +# define BOOST_PP_FOR_498_I(s, p, o, m) BOOST_PP_IF(p(499, s), m, BOOST_PP_TUPLE_EAT_2)(499, s) BOOST_PP_IF(p(499, s), BOOST_PP_FOR_499, BOOST_PP_TUPLE_EAT_4)(o(499, s), p, o, m) +# define BOOST_PP_FOR_499_I(s, p, o, m) BOOST_PP_IF(p(500, s), m, BOOST_PP_TUPLE_EAT_2)(500, s) BOOST_PP_IF(p(500, s), BOOST_PP_FOR_500, BOOST_PP_TUPLE_EAT_4)(o(500, s), p, o, m) +# define BOOST_PP_FOR_500_I(s, p, o, m) BOOST_PP_IF(p(501, s), m, BOOST_PP_TUPLE_EAT_2)(501, s) BOOST_PP_IF(p(501, s), BOOST_PP_FOR_501, BOOST_PP_TUPLE_EAT_4)(o(501, s), p, o, m) +# define BOOST_PP_FOR_501_I(s, p, o, m) BOOST_PP_IF(p(502, s), m, BOOST_PP_TUPLE_EAT_2)(502, s) BOOST_PP_IF(p(502, s), BOOST_PP_FOR_502, BOOST_PP_TUPLE_EAT_4)(o(502, s), p, o, m) +# define BOOST_PP_FOR_502_I(s, p, o, m) BOOST_PP_IF(p(503, s), m, BOOST_PP_TUPLE_EAT_2)(503, s) BOOST_PP_IF(p(503, s), BOOST_PP_FOR_503, BOOST_PP_TUPLE_EAT_4)(o(503, s), p, o, m) +# define BOOST_PP_FOR_503_I(s, p, o, m) BOOST_PP_IF(p(504, s), m, BOOST_PP_TUPLE_EAT_2)(504, s) BOOST_PP_IF(p(504, s), BOOST_PP_FOR_504, BOOST_PP_TUPLE_EAT_4)(o(504, s), p, o, m) +# define BOOST_PP_FOR_504_I(s, p, o, m) BOOST_PP_IF(p(505, s), m, BOOST_PP_TUPLE_EAT_2)(505, s) BOOST_PP_IF(p(505, s), BOOST_PP_FOR_505, BOOST_PP_TUPLE_EAT_4)(o(505, s), p, o, m) +# define BOOST_PP_FOR_505_I(s, p, o, m) BOOST_PP_IF(p(506, s), m, BOOST_PP_TUPLE_EAT_2)(506, s) BOOST_PP_IF(p(506, s), BOOST_PP_FOR_506, BOOST_PP_TUPLE_EAT_4)(o(506, s), p, o, m) +# define BOOST_PP_FOR_506_I(s, p, o, m) BOOST_PP_IF(p(507, s), m, BOOST_PP_TUPLE_EAT_2)(507, s) BOOST_PP_IF(p(507, s), BOOST_PP_FOR_507, BOOST_PP_TUPLE_EAT_4)(o(507, s), p, o, m) +# define BOOST_PP_FOR_507_I(s, p, o, m) BOOST_PP_IF(p(508, s), m, BOOST_PP_TUPLE_EAT_2)(508, s) BOOST_PP_IF(p(508, s), BOOST_PP_FOR_508, BOOST_PP_TUPLE_EAT_4)(o(508, s), p, o, m) +# define BOOST_PP_FOR_508_I(s, p, o, m) BOOST_PP_IF(p(509, s), m, BOOST_PP_TUPLE_EAT_2)(509, s) BOOST_PP_IF(p(509, s), BOOST_PP_FOR_509, BOOST_PP_TUPLE_EAT_4)(o(509, s), p, o, m) +# define BOOST_PP_FOR_509_I(s, p, o, m) BOOST_PP_IF(p(510, s), m, BOOST_PP_TUPLE_EAT_2)(510, s) BOOST_PP_IF(p(510, s), BOOST_PP_FOR_510, BOOST_PP_TUPLE_EAT_4)(o(510, s), p, o, m) +# define BOOST_PP_FOR_510_I(s, p, o, m) BOOST_PP_IF(p(511, s), m, BOOST_PP_TUPLE_EAT_2)(511, s) BOOST_PP_IF(p(511, s), BOOST_PP_FOR_511, BOOST_PP_TUPLE_EAT_4)(o(511, s), p, o, m) +# define BOOST_PP_FOR_511_I(s, p, o, m) BOOST_PP_IF(p(512, s), m, BOOST_PP_TUPLE_EAT_2)(512, s) BOOST_PP_IF(p(512, s), BOOST_PP_FOR_512, BOOST_PP_TUPLE_EAT_4)(o(512, s), p, o, m) +# define BOOST_PP_FOR_512_I(s, p, o, m) BOOST_PP_IF(p(513, s), m, BOOST_PP_TUPLE_EAT_2)(513, s) BOOST_PP_IF(p(513, s), BOOST_PP_FOR_513, BOOST_PP_TUPLE_EAT_4)(o(513, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/for.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/for.hpp new file mode 100644 index 0000000000..e02274a6c3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/for.hpp @@ -0,0 +1,564 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m) +# +# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) +# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) +# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) +# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) +# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) +# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) +# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) +# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) +# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) +# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) +# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) +# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) +# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) +# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) +# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) +# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) +# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) +# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) +# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) +# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) +# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) +# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) +# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) +# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) +# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) +# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) +# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) +# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) +# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) +# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) +# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) +# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) +# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) +# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) +# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) +# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) +# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) +# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) +# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) +# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) +# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) +# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) +# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) +# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) +# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) +# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) +# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) +# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) +# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) +# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) +# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) +# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) +# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) +# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) +# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) +# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) +# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) +# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) +# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) +# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) +# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) +# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) +# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) +# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) +# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) +# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) +# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) +# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) +# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) +# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) +# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) +# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) +# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) +# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) +# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) +# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) +# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) +# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) +# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) +# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) +# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) +# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) +# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) +# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) +# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) +# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) +# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) +# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) +# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) +# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) +# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) +# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) +# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) +# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) +# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) +# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) +# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) +# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) +# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) +# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) +# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) +# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) +# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) +# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) +# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) +# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) +# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) +# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) +# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) +# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) +# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) +# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) +# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) +# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) +# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) +# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) +# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) +# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) +# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) +# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) +# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) +# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) +# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) +# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) +# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) +# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) +# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) +# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) +# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) +# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) +# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) +# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) +# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) +# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) +# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) +# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) +# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) +# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) +# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) +# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) +# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) +# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) +# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) +# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) +# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) +# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) +# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) +# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) +# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) +# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) +# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) +# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) +# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) +# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) +# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) +# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) +# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) +# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) +# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) +# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) +# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) +# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) +# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) +# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) +# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) +# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) +# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) +# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) +# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) +# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) +# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) +# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) +# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) +# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) +# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) +# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) +# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) +# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) +# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) +# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) +# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) +# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) +# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) +# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) +# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) +# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) +# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) +# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) +# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) +# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) +# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) +# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) +# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) +# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) +# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) +# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) +# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) +# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) +# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) +# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) +# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) +# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) +# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) +# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) +# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) +# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) +# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) +# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) +# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) +# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) +# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) +# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) +# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) +# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) +# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) +# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) +# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) +# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) +# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) +# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) +# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) +# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) +# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) +# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) +# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) +# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) +# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) +# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) +# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) +# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) +# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) +# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) +# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) +# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) +# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) +# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) +# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) +# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) +# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) +# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) +# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) +# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) +# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) +# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) +# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) +# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) +# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) +# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) +# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) +# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) +# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) +# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) +# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) +# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) +# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) +# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) +# +# else +# +# include +# include +# include +# include +# include +# +# if BOOST_PP_LIMIT_FOR == 256 +# include +# elif BOOST_PP_LIMIT_FOR == 512 +# include +# include +# elif BOOST_PP_LIMIT_FOR == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_FOR limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_1024.hpp new file mode 100644 index 0000000000..794647a888 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_1024.hpp @@ -0,0 +1,1044 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_1024_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_1024_HPP +# +# define BOOST_PP_FOR_513(s, p, o, m) BOOST_PP_FOR_513_C(BOOST_PP_BOOL(p(514, s)), s, p, o, m) +# define BOOST_PP_FOR_514(s, p, o, m) BOOST_PP_FOR_514_C(BOOST_PP_BOOL(p(515, s)), s, p, o, m) +# define BOOST_PP_FOR_515(s, p, o, m) BOOST_PP_FOR_515_C(BOOST_PP_BOOL(p(516, s)), s, p, o, m) +# define BOOST_PP_FOR_516(s, p, o, m) BOOST_PP_FOR_516_C(BOOST_PP_BOOL(p(517, s)), s, p, o, m) +# define BOOST_PP_FOR_517(s, p, o, m) BOOST_PP_FOR_517_C(BOOST_PP_BOOL(p(518, s)), s, p, o, m) +# define BOOST_PP_FOR_518(s, p, o, m) BOOST_PP_FOR_518_C(BOOST_PP_BOOL(p(519, s)), s, p, o, m) +# define BOOST_PP_FOR_519(s, p, o, m) BOOST_PP_FOR_519_C(BOOST_PP_BOOL(p(520, s)), s, p, o, m) +# define BOOST_PP_FOR_520(s, p, o, m) BOOST_PP_FOR_520_C(BOOST_PP_BOOL(p(521, s)), s, p, o, m) +# define BOOST_PP_FOR_521(s, p, o, m) BOOST_PP_FOR_521_C(BOOST_PP_BOOL(p(522, s)), s, p, o, m) +# define BOOST_PP_FOR_522(s, p, o, m) BOOST_PP_FOR_522_C(BOOST_PP_BOOL(p(523, s)), s, p, o, m) +# define BOOST_PP_FOR_523(s, p, o, m) BOOST_PP_FOR_523_C(BOOST_PP_BOOL(p(524, s)), s, p, o, m) +# define BOOST_PP_FOR_524(s, p, o, m) BOOST_PP_FOR_524_C(BOOST_PP_BOOL(p(525, s)), s, p, o, m) +# define BOOST_PP_FOR_525(s, p, o, m) BOOST_PP_FOR_525_C(BOOST_PP_BOOL(p(526, s)), s, p, o, m) +# define BOOST_PP_FOR_526(s, p, o, m) BOOST_PP_FOR_526_C(BOOST_PP_BOOL(p(527, s)), s, p, o, m) +# define BOOST_PP_FOR_527(s, p, o, m) BOOST_PP_FOR_527_C(BOOST_PP_BOOL(p(528, s)), s, p, o, m) +# define BOOST_PP_FOR_528(s, p, o, m) BOOST_PP_FOR_528_C(BOOST_PP_BOOL(p(529, s)), s, p, o, m) +# define BOOST_PP_FOR_529(s, p, o, m) BOOST_PP_FOR_529_C(BOOST_PP_BOOL(p(530, s)), s, p, o, m) +# define BOOST_PP_FOR_530(s, p, o, m) BOOST_PP_FOR_530_C(BOOST_PP_BOOL(p(531, s)), s, p, o, m) +# define BOOST_PP_FOR_531(s, p, o, m) BOOST_PP_FOR_531_C(BOOST_PP_BOOL(p(532, s)), s, p, o, m) +# define BOOST_PP_FOR_532(s, p, o, m) BOOST_PP_FOR_532_C(BOOST_PP_BOOL(p(533, s)), s, p, o, m) +# define BOOST_PP_FOR_533(s, p, o, m) BOOST_PP_FOR_533_C(BOOST_PP_BOOL(p(534, s)), s, p, o, m) +# define BOOST_PP_FOR_534(s, p, o, m) BOOST_PP_FOR_534_C(BOOST_PP_BOOL(p(535, s)), s, p, o, m) +# define BOOST_PP_FOR_535(s, p, o, m) BOOST_PP_FOR_535_C(BOOST_PP_BOOL(p(536, s)), s, p, o, m) +# define BOOST_PP_FOR_536(s, p, o, m) BOOST_PP_FOR_536_C(BOOST_PP_BOOL(p(537, s)), s, p, o, m) +# define BOOST_PP_FOR_537(s, p, o, m) BOOST_PP_FOR_537_C(BOOST_PP_BOOL(p(538, s)), s, p, o, m) +# define BOOST_PP_FOR_538(s, p, o, m) BOOST_PP_FOR_538_C(BOOST_PP_BOOL(p(539, s)), s, p, o, m) +# define BOOST_PP_FOR_539(s, p, o, m) BOOST_PP_FOR_539_C(BOOST_PP_BOOL(p(540, s)), s, p, o, m) +# define BOOST_PP_FOR_540(s, p, o, m) BOOST_PP_FOR_540_C(BOOST_PP_BOOL(p(541, s)), s, p, o, m) +# define BOOST_PP_FOR_541(s, p, o, m) BOOST_PP_FOR_541_C(BOOST_PP_BOOL(p(542, s)), s, p, o, m) +# define BOOST_PP_FOR_542(s, p, o, m) BOOST_PP_FOR_542_C(BOOST_PP_BOOL(p(543, s)), s, p, o, m) +# define BOOST_PP_FOR_543(s, p, o, m) BOOST_PP_FOR_543_C(BOOST_PP_BOOL(p(544, s)), s, p, o, m) +# define BOOST_PP_FOR_544(s, p, o, m) BOOST_PP_FOR_544_C(BOOST_PP_BOOL(p(545, s)), s, p, o, m) +# define BOOST_PP_FOR_545(s, p, o, m) BOOST_PP_FOR_545_C(BOOST_PP_BOOL(p(546, s)), s, p, o, m) +# define BOOST_PP_FOR_546(s, p, o, m) BOOST_PP_FOR_546_C(BOOST_PP_BOOL(p(547, s)), s, p, o, m) +# define BOOST_PP_FOR_547(s, p, o, m) BOOST_PP_FOR_547_C(BOOST_PP_BOOL(p(548, s)), s, p, o, m) +# define BOOST_PP_FOR_548(s, p, o, m) BOOST_PP_FOR_548_C(BOOST_PP_BOOL(p(549, s)), s, p, o, m) +# define BOOST_PP_FOR_549(s, p, o, m) BOOST_PP_FOR_549_C(BOOST_PP_BOOL(p(550, s)), s, p, o, m) +# define BOOST_PP_FOR_550(s, p, o, m) BOOST_PP_FOR_550_C(BOOST_PP_BOOL(p(551, s)), s, p, o, m) +# define BOOST_PP_FOR_551(s, p, o, m) BOOST_PP_FOR_551_C(BOOST_PP_BOOL(p(552, s)), s, p, o, m) +# define BOOST_PP_FOR_552(s, p, o, m) BOOST_PP_FOR_552_C(BOOST_PP_BOOL(p(553, s)), s, p, o, m) +# define BOOST_PP_FOR_553(s, p, o, m) BOOST_PP_FOR_553_C(BOOST_PP_BOOL(p(554, s)), s, p, o, m) +# define BOOST_PP_FOR_554(s, p, o, m) BOOST_PP_FOR_554_C(BOOST_PP_BOOL(p(555, s)), s, p, o, m) +# define BOOST_PP_FOR_555(s, p, o, m) BOOST_PP_FOR_555_C(BOOST_PP_BOOL(p(556, s)), s, p, o, m) +# define BOOST_PP_FOR_556(s, p, o, m) BOOST_PP_FOR_556_C(BOOST_PP_BOOL(p(557, s)), s, p, o, m) +# define BOOST_PP_FOR_557(s, p, o, m) BOOST_PP_FOR_557_C(BOOST_PP_BOOL(p(558, s)), s, p, o, m) +# define BOOST_PP_FOR_558(s, p, o, m) BOOST_PP_FOR_558_C(BOOST_PP_BOOL(p(559, s)), s, p, o, m) +# define BOOST_PP_FOR_559(s, p, o, m) BOOST_PP_FOR_559_C(BOOST_PP_BOOL(p(560, s)), s, p, o, m) +# define BOOST_PP_FOR_560(s, p, o, m) BOOST_PP_FOR_560_C(BOOST_PP_BOOL(p(561, s)), s, p, o, m) +# define BOOST_PP_FOR_561(s, p, o, m) BOOST_PP_FOR_561_C(BOOST_PP_BOOL(p(562, s)), s, p, o, m) +# define BOOST_PP_FOR_562(s, p, o, m) BOOST_PP_FOR_562_C(BOOST_PP_BOOL(p(563, s)), s, p, o, m) +# define BOOST_PP_FOR_563(s, p, o, m) BOOST_PP_FOR_563_C(BOOST_PP_BOOL(p(564, s)), s, p, o, m) +# define BOOST_PP_FOR_564(s, p, o, m) BOOST_PP_FOR_564_C(BOOST_PP_BOOL(p(565, s)), s, p, o, m) +# define BOOST_PP_FOR_565(s, p, o, m) BOOST_PP_FOR_565_C(BOOST_PP_BOOL(p(566, s)), s, p, o, m) +# define BOOST_PP_FOR_566(s, p, o, m) BOOST_PP_FOR_566_C(BOOST_PP_BOOL(p(567, s)), s, p, o, m) +# define BOOST_PP_FOR_567(s, p, o, m) BOOST_PP_FOR_567_C(BOOST_PP_BOOL(p(568, s)), s, p, o, m) +# define BOOST_PP_FOR_568(s, p, o, m) BOOST_PP_FOR_568_C(BOOST_PP_BOOL(p(569, s)), s, p, o, m) +# define BOOST_PP_FOR_569(s, p, o, m) BOOST_PP_FOR_569_C(BOOST_PP_BOOL(p(570, s)), s, p, o, m) +# define BOOST_PP_FOR_570(s, p, o, m) BOOST_PP_FOR_570_C(BOOST_PP_BOOL(p(571, s)), s, p, o, m) +# define BOOST_PP_FOR_571(s, p, o, m) BOOST_PP_FOR_571_C(BOOST_PP_BOOL(p(572, s)), s, p, o, m) +# define BOOST_PP_FOR_572(s, p, o, m) BOOST_PP_FOR_572_C(BOOST_PP_BOOL(p(573, s)), s, p, o, m) +# define BOOST_PP_FOR_573(s, p, o, m) BOOST_PP_FOR_573_C(BOOST_PP_BOOL(p(574, s)), s, p, o, m) +# define BOOST_PP_FOR_574(s, p, o, m) BOOST_PP_FOR_574_C(BOOST_PP_BOOL(p(575, s)), s, p, o, m) +# define BOOST_PP_FOR_575(s, p, o, m) BOOST_PP_FOR_575_C(BOOST_PP_BOOL(p(576, s)), s, p, o, m) +# define BOOST_PP_FOR_576(s, p, o, m) BOOST_PP_FOR_576_C(BOOST_PP_BOOL(p(577, s)), s, p, o, m) +# define BOOST_PP_FOR_577(s, p, o, m) BOOST_PP_FOR_577_C(BOOST_PP_BOOL(p(578, s)), s, p, o, m) +# define BOOST_PP_FOR_578(s, p, o, m) BOOST_PP_FOR_578_C(BOOST_PP_BOOL(p(579, s)), s, p, o, m) +# define BOOST_PP_FOR_579(s, p, o, m) BOOST_PP_FOR_579_C(BOOST_PP_BOOL(p(580, s)), s, p, o, m) +# define BOOST_PP_FOR_580(s, p, o, m) BOOST_PP_FOR_580_C(BOOST_PP_BOOL(p(581, s)), s, p, o, m) +# define BOOST_PP_FOR_581(s, p, o, m) BOOST_PP_FOR_581_C(BOOST_PP_BOOL(p(582, s)), s, p, o, m) +# define BOOST_PP_FOR_582(s, p, o, m) BOOST_PP_FOR_582_C(BOOST_PP_BOOL(p(583, s)), s, p, o, m) +# define BOOST_PP_FOR_583(s, p, o, m) BOOST_PP_FOR_583_C(BOOST_PP_BOOL(p(584, s)), s, p, o, m) +# define BOOST_PP_FOR_584(s, p, o, m) BOOST_PP_FOR_584_C(BOOST_PP_BOOL(p(585, s)), s, p, o, m) +# define BOOST_PP_FOR_585(s, p, o, m) BOOST_PP_FOR_585_C(BOOST_PP_BOOL(p(586, s)), s, p, o, m) +# define BOOST_PP_FOR_586(s, p, o, m) BOOST_PP_FOR_586_C(BOOST_PP_BOOL(p(587, s)), s, p, o, m) +# define BOOST_PP_FOR_587(s, p, o, m) BOOST_PP_FOR_587_C(BOOST_PP_BOOL(p(588, s)), s, p, o, m) +# define BOOST_PP_FOR_588(s, p, o, m) BOOST_PP_FOR_588_C(BOOST_PP_BOOL(p(589, s)), s, p, o, m) +# define BOOST_PP_FOR_589(s, p, o, m) BOOST_PP_FOR_589_C(BOOST_PP_BOOL(p(590, s)), s, p, o, m) +# define BOOST_PP_FOR_590(s, p, o, m) BOOST_PP_FOR_590_C(BOOST_PP_BOOL(p(591, s)), s, p, o, m) +# define BOOST_PP_FOR_591(s, p, o, m) BOOST_PP_FOR_591_C(BOOST_PP_BOOL(p(592, s)), s, p, o, m) +# define BOOST_PP_FOR_592(s, p, o, m) BOOST_PP_FOR_592_C(BOOST_PP_BOOL(p(593, s)), s, p, o, m) +# define BOOST_PP_FOR_593(s, p, o, m) BOOST_PP_FOR_593_C(BOOST_PP_BOOL(p(594, s)), s, p, o, m) +# define BOOST_PP_FOR_594(s, p, o, m) BOOST_PP_FOR_594_C(BOOST_PP_BOOL(p(595, s)), s, p, o, m) +# define BOOST_PP_FOR_595(s, p, o, m) BOOST_PP_FOR_595_C(BOOST_PP_BOOL(p(596, s)), s, p, o, m) +# define BOOST_PP_FOR_596(s, p, o, m) BOOST_PP_FOR_596_C(BOOST_PP_BOOL(p(597, s)), s, p, o, m) +# define BOOST_PP_FOR_597(s, p, o, m) BOOST_PP_FOR_597_C(BOOST_PP_BOOL(p(598, s)), s, p, o, m) +# define BOOST_PP_FOR_598(s, p, o, m) BOOST_PP_FOR_598_C(BOOST_PP_BOOL(p(599, s)), s, p, o, m) +# define BOOST_PP_FOR_599(s, p, o, m) BOOST_PP_FOR_599_C(BOOST_PP_BOOL(p(600, s)), s, p, o, m) +# define BOOST_PP_FOR_600(s, p, o, m) BOOST_PP_FOR_600_C(BOOST_PP_BOOL(p(601, s)), s, p, o, m) +# define BOOST_PP_FOR_601(s, p, o, m) BOOST_PP_FOR_601_C(BOOST_PP_BOOL(p(602, s)), s, p, o, m) +# define BOOST_PP_FOR_602(s, p, o, m) BOOST_PP_FOR_602_C(BOOST_PP_BOOL(p(603, s)), s, p, o, m) +# define BOOST_PP_FOR_603(s, p, o, m) BOOST_PP_FOR_603_C(BOOST_PP_BOOL(p(604, s)), s, p, o, m) +# define BOOST_PP_FOR_604(s, p, o, m) BOOST_PP_FOR_604_C(BOOST_PP_BOOL(p(605, s)), s, p, o, m) +# define BOOST_PP_FOR_605(s, p, o, m) BOOST_PP_FOR_605_C(BOOST_PP_BOOL(p(606, s)), s, p, o, m) +# define BOOST_PP_FOR_606(s, p, o, m) BOOST_PP_FOR_606_C(BOOST_PP_BOOL(p(607, s)), s, p, o, m) +# define BOOST_PP_FOR_607(s, p, o, m) BOOST_PP_FOR_607_C(BOOST_PP_BOOL(p(608, s)), s, p, o, m) +# define BOOST_PP_FOR_608(s, p, o, m) BOOST_PP_FOR_608_C(BOOST_PP_BOOL(p(609, s)), s, p, o, m) +# define BOOST_PP_FOR_609(s, p, o, m) BOOST_PP_FOR_609_C(BOOST_PP_BOOL(p(610, s)), s, p, o, m) +# define BOOST_PP_FOR_610(s, p, o, m) BOOST_PP_FOR_610_C(BOOST_PP_BOOL(p(611, s)), s, p, o, m) +# define BOOST_PP_FOR_611(s, p, o, m) BOOST_PP_FOR_611_C(BOOST_PP_BOOL(p(612, s)), s, p, o, m) +# define BOOST_PP_FOR_612(s, p, o, m) BOOST_PP_FOR_612_C(BOOST_PP_BOOL(p(613, s)), s, p, o, m) +# define BOOST_PP_FOR_613(s, p, o, m) BOOST_PP_FOR_613_C(BOOST_PP_BOOL(p(614, s)), s, p, o, m) +# define BOOST_PP_FOR_614(s, p, o, m) BOOST_PP_FOR_614_C(BOOST_PP_BOOL(p(615, s)), s, p, o, m) +# define BOOST_PP_FOR_615(s, p, o, m) BOOST_PP_FOR_615_C(BOOST_PP_BOOL(p(616, s)), s, p, o, m) +# define BOOST_PP_FOR_616(s, p, o, m) BOOST_PP_FOR_616_C(BOOST_PP_BOOL(p(617, s)), s, p, o, m) +# define BOOST_PP_FOR_617(s, p, o, m) BOOST_PP_FOR_617_C(BOOST_PP_BOOL(p(618, s)), s, p, o, m) +# define BOOST_PP_FOR_618(s, p, o, m) BOOST_PP_FOR_618_C(BOOST_PP_BOOL(p(619, s)), s, p, o, m) +# define BOOST_PP_FOR_619(s, p, o, m) BOOST_PP_FOR_619_C(BOOST_PP_BOOL(p(620, s)), s, p, o, m) +# define BOOST_PP_FOR_620(s, p, o, m) BOOST_PP_FOR_620_C(BOOST_PP_BOOL(p(621, s)), s, p, o, m) +# define BOOST_PP_FOR_621(s, p, o, m) BOOST_PP_FOR_621_C(BOOST_PP_BOOL(p(622, s)), s, p, o, m) +# define BOOST_PP_FOR_622(s, p, o, m) BOOST_PP_FOR_622_C(BOOST_PP_BOOL(p(623, s)), s, p, o, m) +# define BOOST_PP_FOR_623(s, p, o, m) BOOST_PP_FOR_623_C(BOOST_PP_BOOL(p(624, s)), s, p, o, m) +# define BOOST_PP_FOR_624(s, p, o, m) BOOST_PP_FOR_624_C(BOOST_PP_BOOL(p(625, s)), s, p, o, m) +# define BOOST_PP_FOR_625(s, p, o, m) BOOST_PP_FOR_625_C(BOOST_PP_BOOL(p(626, s)), s, p, o, m) +# define BOOST_PP_FOR_626(s, p, o, m) BOOST_PP_FOR_626_C(BOOST_PP_BOOL(p(627, s)), s, p, o, m) +# define BOOST_PP_FOR_627(s, p, o, m) BOOST_PP_FOR_627_C(BOOST_PP_BOOL(p(628, s)), s, p, o, m) +# define BOOST_PP_FOR_628(s, p, o, m) BOOST_PP_FOR_628_C(BOOST_PP_BOOL(p(629, s)), s, p, o, m) +# define BOOST_PP_FOR_629(s, p, o, m) BOOST_PP_FOR_629_C(BOOST_PP_BOOL(p(630, s)), s, p, o, m) +# define BOOST_PP_FOR_630(s, p, o, m) BOOST_PP_FOR_630_C(BOOST_PP_BOOL(p(631, s)), s, p, o, m) +# define BOOST_PP_FOR_631(s, p, o, m) BOOST_PP_FOR_631_C(BOOST_PP_BOOL(p(632, s)), s, p, o, m) +# define BOOST_PP_FOR_632(s, p, o, m) BOOST_PP_FOR_632_C(BOOST_PP_BOOL(p(633, s)), s, p, o, m) +# define BOOST_PP_FOR_633(s, p, o, m) BOOST_PP_FOR_633_C(BOOST_PP_BOOL(p(634, s)), s, p, o, m) +# define BOOST_PP_FOR_634(s, p, o, m) BOOST_PP_FOR_634_C(BOOST_PP_BOOL(p(635, s)), s, p, o, m) +# define BOOST_PP_FOR_635(s, p, o, m) BOOST_PP_FOR_635_C(BOOST_PP_BOOL(p(636, s)), s, p, o, m) +# define BOOST_PP_FOR_636(s, p, o, m) BOOST_PP_FOR_636_C(BOOST_PP_BOOL(p(637, s)), s, p, o, m) +# define BOOST_PP_FOR_637(s, p, o, m) BOOST_PP_FOR_637_C(BOOST_PP_BOOL(p(638, s)), s, p, o, m) +# define BOOST_PP_FOR_638(s, p, o, m) BOOST_PP_FOR_638_C(BOOST_PP_BOOL(p(639, s)), s, p, o, m) +# define BOOST_PP_FOR_639(s, p, o, m) BOOST_PP_FOR_639_C(BOOST_PP_BOOL(p(640, s)), s, p, o, m) +# define BOOST_PP_FOR_640(s, p, o, m) BOOST_PP_FOR_640_C(BOOST_PP_BOOL(p(641, s)), s, p, o, m) +# define BOOST_PP_FOR_641(s, p, o, m) BOOST_PP_FOR_641_C(BOOST_PP_BOOL(p(642, s)), s, p, o, m) +# define BOOST_PP_FOR_642(s, p, o, m) BOOST_PP_FOR_642_C(BOOST_PP_BOOL(p(643, s)), s, p, o, m) +# define BOOST_PP_FOR_643(s, p, o, m) BOOST_PP_FOR_643_C(BOOST_PP_BOOL(p(644, s)), s, p, o, m) +# define BOOST_PP_FOR_644(s, p, o, m) BOOST_PP_FOR_644_C(BOOST_PP_BOOL(p(645, s)), s, p, o, m) +# define BOOST_PP_FOR_645(s, p, o, m) BOOST_PP_FOR_645_C(BOOST_PP_BOOL(p(646, s)), s, p, o, m) +# define BOOST_PP_FOR_646(s, p, o, m) BOOST_PP_FOR_646_C(BOOST_PP_BOOL(p(647, s)), s, p, o, m) +# define BOOST_PP_FOR_647(s, p, o, m) BOOST_PP_FOR_647_C(BOOST_PP_BOOL(p(648, s)), s, p, o, m) +# define BOOST_PP_FOR_648(s, p, o, m) BOOST_PP_FOR_648_C(BOOST_PP_BOOL(p(649, s)), s, p, o, m) +# define BOOST_PP_FOR_649(s, p, o, m) BOOST_PP_FOR_649_C(BOOST_PP_BOOL(p(650, s)), s, p, o, m) +# define BOOST_PP_FOR_650(s, p, o, m) BOOST_PP_FOR_650_C(BOOST_PP_BOOL(p(651, s)), s, p, o, m) +# define BOOST_PP_FOR_651(s, p, o, m) BOOST_PP_FOR_651_C(BOOST_PP_BOOL(p(652, s)), s, p, o, m) +# define BOOST_PP_FOR_652(s, p, o, m) BOOST_PP_FOR_652_C(BOOST_PP_BOOL(p(653, s)), s, p, o, m) +# define BOOST_PP_FOR_653(s, p, o, m) BOOST_PP_FOR_653_C(BOOST_PP_BOOL(p(654, s)), s, p, o, m) +# define BOOST_PP_FOR_654(s, p, o, m) BOOST_PP_FOR_654_C(BOOST_PP_BOOL(p(655, s)), s, p, o, m) +# define BOOST_PP_FOR_655(s, p, o, m) BOOST_PP_FOR_655_C(BOOST_PP_BOOL(p(656, s)), s, p, o, m) +# define BOOST_PP_FOR_656(s, p, o, m) BOOST_PP_FOR_656_C(BOOST_PP_BOOL(p(657, s)), s, p, o, m) +# define BOOST_PP_FOR_657(s, p, o, m) BOOST_PP_FOR_657_C(BOOST_PP_BOOL(p(658, s)), s, p, o, m) +# define BOOST_PP_FOR_658(s, p, o, m) BOOST_PP_FOR_658_C(BOOST_PP_BOOL(p(659, s)), s, p, o, m) +# define BOOST_PP_FOR_659(s, p, o, m) BOOST_PP_FOR_659_C(BOOST_PP_BOOL(p(660, s)), s, p, o, m) +# define BOOST_PP_FOR_660(s, p, o, m) BOOST_PP_FOR_660_C(BOOST_PP_BOOL(p(661, s)), s, p, o, m) +# define BOOST_PP_FOR_661(s, p, o, m) BOOST_PP_FOR_661_C(BOOST_PP_BOOL(p(662, s)), s, p, o, m) +# define BOOST_PP_FOR_662(s, p, o, m) BOOST_PP_FOR_662_C(BOOST_PP_BOOL(p(663, s)), s, p, o, m) +# define BOOST_PP_FOR_663(s, p, o, m) BOOST_PP_FOR_663_C(BOOST_PP_BOOL(p(664, s)), s, p, o, m) +# define BOOST_PP_FOR_664(s, p, o, m) BOOST_PP_FOR_664_C(BOOST_PP_BOOL(p(665, s)), s, p, o, m) +# define BOOST_PP_FOR_665(s, p, o, m) BOOST_PP_FOR_665_C(BOOST_PP_BOOL(p(666, s)), s, p, o, m) +# define BOOST_PP_FOR_666(s, p, o, m) BOOST_PP_FOR_666_C(BOOST_PP_BOOL(p(667, s)), s, p, o, m) +# define BOOST_PP_FOR_667(s, p, o, m) BOOST_PP_FOR_667_C(BOOST_PP_BOOL(p(668, s)), s, p, o, m) +# define BOOST_PP_FOR_668(s, p, o, m) BOOST_PP_FOR_668_C(BOOST_PP_BOOL(p(669, s)), s, p, o, m) +# define BOOST_PP_FOR_669(s, p, o, m) BOOST_PP_FOR_669_C(BOOST_PP_BOOL(p(670, s)), s, p, o, m) +# define BOOST_PP_FOR_670(s, p, o, m) BOOST_PP_FOR_670_C(BOOST_PP_BOOL(p(671, s)), s, p, o, m) +# define BOOST_PP_FOR_671(s, p, o, m) BOOST_PP_FOR_671_C(BOOST_PP_BOOL(p(672, s)), s, p, o, m) +# define BOOST_PP_FOR_672(s, p, o, m) BOOST_PP_FOR_672_C(BOOST_PP_BOOL(p(673, s)), s, p, o, m) +# define BOOST_PP_FOR_673(s, p, o, m) BOOST_PP_FOR_673_C(BOOST_PP_BOOL(p(674, s)), s, p, o, m) +# define BOOST_PP_FOR_674(s, p, o, m) BOOST_PP_FOR_674_C(BOOST_PP_BOOL(p(675, s)), s, p, o, m) +# define BOOST_PP_FOR_675(s, p, o, m) BOOST_PP_FOR_675_C(BOOST_PP_BOOL(p(676, s)), s, p, o, m) +# define BOOST_PP_FOR_676(s, p, o, m) BOOST_PP_FOR_676_C(BOOST_PP_BOOL(p(677, s)), s, p, o, m) +# define BOOST_PP_FOR_677(s, p, o, m) BOOST_PP_FOR_677_C(BOOST_PP_BOOL(p(678, s)), s, p, o, m) +# define BOOST_PP_FOR_678(s, p, o, m) BOOST_PP_FOR_678_C(BOOST_PP_BOOL(p(679, s)), s, p, o, m) +# define BOOST_PP_FOR_679(s, p, o, m) BOOST_PP_FOR_679_C(BOOST_PP_BOOL(p(680, s)), s, p, o, m) +# define BOOST_PP_FOR_680(s, p, o, m) BOOST_PP_FOR_680_C(BOOST_PP_BOOL(p(681, s)), s, p, o, m) +# define BOOST_PP_FOR_681(s, p, o, m) BOOST_PP_FOR_681_C(BOOST_PP_BOOL(p(682, s)), s, p, o, m) +# define BOOST_PP_FOR_682(s, p, o, m) BOOST_PP_FOR_682_C(BOOST_PP_BOOL(p(683, s)), s, p, o, m) +# define BOOST_PP_FOR_683(s, p, o, m) BOOST_PP_FOR_683_C(BOOST_PP_BOOL(p(684, s)), s, p, o, m) +# define BOOST_PP_FOR_684(s, p, o, m) BOOST_PP_FOR_684_C(BOOST_PP_BOOL(p(685, s)), s, p, o, m) +# define BOOST_PP_FOR_685(s, p, o, m) BOOST_PP_FOR_685_C(BOOST_PP_BOOL(p(686, s)), s, p, o, m) +# define BOOST_PP_FOR_686(s, p, o, m) BOOST_PP_FOR_686_C(BOOST_PP_BOOL(p(687, s)), s, p, o, m) +# define BOOST_PP_FOR_687(s, p, o, m) BOOST_PP_FOR_687_C(BOOST_PP_BOOL(p(688, s)), s, p, o, m) +# define BOOST_PP_FOR_688(s, p, o, m) BOOST_PP_FOR_688_C(BOOST_PP_BOOL(p(689, s)), s, p, o, m) +# define BOOST_PP_FOR_689(s, p, o, m) BOOST_PP_FOR_689_C(BOOST_PP_BOOL(p(690, s)), s, p, o, m) +# define BOOST_PP_FOR_690(s, p, o, m) BOOST_PP_FOR_690_C(BOOST_PP_BOOL(p(691, s)), s, p, o, m) +# define BOOST_PP_FOR_691(s, p, o, m) BOOST_PP_FOR_691_C(BOOST_PP_BOOL(p(692, s)), s, p, o, m) +# define BOOST_PP_FOR_692(s, p, o, m) BOOST_PP_FOR_692_C(BOOST_PP_BOOL(p(693, s)), s, p, o, m) +# define BOOST_PP_FOR_693(s, p, o, m) BOOST_PP_FOR_693_C(BOOST_PP_BOOL(p(694, s)), s, p, o, m) +# define BOOST_PP_FOR_694(s, p, o, m) BOOST_PP_FOR_694_C(BOOST_PP_BOOL(p(695, s)), s, p, o, m) +# define BOOST_PP_FOR_695(s, p, o, m) BOOST_PP_FOR_695_C(BOOST_PP_BOOL(p(696, s)), s, p, o, m) +# define BOOST_PP_FOR_696(s, p, o, m) BOOST_PP_FOR_696_C(BOOST_PP_BOOL(p(697, s)), s, p, o, m) +# define BOOST_PP_FOR_697(s, p, o, m) BOOST_PP_FOR_697_C(BOOST_PP_BOOL(p(698, s)), s, p, o, m) +# define BOOST_PP_FOR_698(s, p, o, m) BOOST_PP_FOR_698_C(BOOST_PP_BOOL(p(699, s)), s, p, o, m) +# define BOOST_PP_FOR_699(s, p, o, m) BOOST_PP_FOR_699_C(BOOST_PP_BOOL(p(700, s)), s, p, o, m) +# define BOOST_PP_FOR_700(s, p, o, m) BOOST_PP_FOR_700_C(BOOST_PP_BOOL(p(701, s)), s, p, o, m) +# define BOOST_PP_FOR_701(s, p, o, m) BOOST_PP_FOR_701_C(BOOST_PP_BOOL(p(702, s)), s, p, o, m) +# define BOOST_PP_FOR_702(s, p, o, m) BOOST_PP_FOR_702_C(BOOST_PP_BOOL(p(703, s)), s, p, o, m) +# define BOOST_PP_FOR_703(s, p, o, m) BOOST_PP_FOR_703_C(BOOST_PP_BOOL(p(704, s)), s, p, o, m) +# define BOOST_PP_FOR_704(s, p, o, m) BOOST_PP_FOR_704_C(BOOST_PP_BOOL(p(705, s)), s, p, o, m) +# define BOOST_PP_FOR_705(s, p, o, m) BOOST_PP_FOR_705_C(BOOST_PP_BOOL(p(706, s)), s, p, o, m) +# define BOOST_PP_FOR_706(s, p, o, m) BOOST_PP_FOR_706_C(BOOST_PP_BOOL(p(707, s)), s, p, o, m) +# define BOOST_PP_FOR_707(s, p, o, m) BOOST_PP_FOR_707_C(BOOST_PP_BOOL(p(708, s)), s, p, o, m) +# define BOOST_PP_FOR_708(s, p, o, m) BOOST_PP_FOR_708_C(BOOST_PP_BOOL(p(709, s)), s, p, o, m) +# define BOOST_PP_FOR_709(s, p, o, m) BOOST_PP_FOR_709_C(BOOST_PP_BOOL(p(710, s)), s, p, o, m) +# define BOOST_PP_FOR_710(s, p, o, m) BOOST_PP_FOR_710_C(BOOST_PP_BOOL(p(711, s)), s, p, o, m) +# define BOOST_PP_FOR_711(s, p, o, m) BOOST_PP_FOR_711_C(BOOST_PP_BOOL(p(712, s)), s, p, o, m) +# define BOOST_PP_FOR_712(s, p, o, m) BOOST_PP_FOR_712_C(BOOST_PP_BOOL(p(713, s)), s, p, o, m) +# define BOOST_PP_FOR_713(s, p, o, m) BOOST_PP_FOR_713_C(BOOST_PP_BOOL(p(714, s)), s, p, o, m) +# define BOOST_PP_FOR_714(s, p, o, m) BOOST_PP_FOR_714_C(BOOST_PP_BOOL(p(715, s)), s, p, o, m) +# define BOOST_PP_FOR_715(s, p, o, m) BOOST_PP_FOR_715_C(BOOST_PP_BOOL(p(716, s)), s, p, o, m) +# define BOOST_PP_FOR_716(s, p, o, m) BOOST_PP_FOR_716_C(BOOST_PP_BOOL(p(717, s)), s, p, o, m) +# define BOOST_PP_FOR_717(s, p, o, m) BOOST_PP_FOR_717_C(BOOST_PP_BOOL(p(718, s)), s, p, o, m) +# define BOOST_PP_FOR_718(s, p, o, m) BOOST_PP_FOR_718_C(BOOST_PP_BOOL(p(719, s)), s, p, o, m) +# define BOOST_PP_FOR_719(s, p, o, m) BOOST_PP_FOR_719_C(BOOST_PP_BOOL(p(720, s)), s, p, o, m) +# define BOOST_PP_FOR_720(s, p, o, m) BOOST_PP_FOR_720_C(BOOST_PP_BOOL(p(721, s)), s, p, o, m) +# define BOOST_PP_FOR_721(s, p, o, m) BOOST_PP_FOR_721_C(BOOST_PP_BOOL(p(722, s)), s, p, o, m) +# define BOOST_PP_FOR_722(s, p, o, m) BOOST_PP_FOR_722_C(BOOST_PP_BOOL(p(723, s)), s, p, o, m) +# define BOOST_PP_FOR_723(s, p, o, m) BOOST_PP_FOR_723_C(BOOST_PP_BOOL(p(724, s)), s, p, o, m) +# define BOOST_PP_FOR_724(s, p, o, m) BOOST_PP_FOR_724_C(BOOST_PP_BOOL(p(725, s)), s, p, o, m) +# define BOOST_PP_FOR_725(s, p, o, m) BOOST_PP_FOR_725_C(BOOST_PP_BOOL(p(726, s)), s, p, o, m) +# define BOOST_PP_FOR_726(s, p, o, m) BOOST_PP_FOR_726_C(BOOST_PP_BOOL(p(727, s)), s, p, o, m) +# define BOOST_PP_FOR_727(s, p, o, m) BOOST_PP_FOR_727_C(BOOST_PP_BOOL(p(728, s)), s, p, o, m) +# define BOOST_PP_FOR_728(s, p, o, m) BOOST_PP_FOR_728_C(BOOST_PP_BOOL(p(729, s)), s, p, o, m) +# define BOOST_PP_FOR_729(s, p, o, m) BOOST_PP_FOR_729_C(BOOST_PP_BOOL(p(730, s)), s, p, o, m) +# define BOOST_PP_FOR_730(s, p, o, m) BOOST_PP_FOR_730_C(BOOST_PP_BOOL(p(731, s)), s, p, o, m) +# define BOOST_PP_FOR_731(s, p, o, m) BOOST_PP_FOR_731_C(BOOST_PP_BOOL(p(732, s)), s, p, o, m) +# define BOOST_PP_FOR_732(s, p, o, m) BOOST_PP_FOR_732_C(BOOST_PP_BOOL(p(733, s)), s, p, o, m) +# define BOOST_PP_FOR_733(s, p, o, m) BOOST_PP_FOR_733_C(BOOST_PP_BOOL(p(734, s)), s, p, o, m) +# define BOOST_PP_FOR_734(s, p, o, m) BOOST_PP_FOR_734_C(BOOST_PP_BOOL(p(735, s)), s, p, o, m) +# define BOOST_PP_FOR_735(s, p, o, m) BOOST_PP_FOR_735_C(BOOST_PP_BOOL(p(736, s)), s, p, o, m) +# define BOOST_PP_FOR_736(s, p, o, m) BOOST_PP_FOR_736_C(BOOST_PP_BOOL(p(737, s)), s, p, o, m) +# define BOOST_PP_FOR_737(s, p, o, m) BOOST_PP_FOR_737_C(BOOST_PP_BOOL(p(738, s)), s, p, o, m) +# define BOOST_PP_FOR_738(s, p, o, m) BOOST_PP_FOR_738_C(BOOST_PP_BOOL(p(739, s)), s, p, o, m) +# define BOOST_PP_FOR_739(s, p, o, m) BOOST_PP_FOR_739_C(BOOST_PP_BOOL(p(740, s)), s, p, o, m) +# define BOOST_PP_FOR_740(s, p, o, m) BOOST_PP_FOR_740_C(BOOST_PP_BOOL(p(741, s)), s, p, o, m) +# define BOOST_PP_FOR_741(s, p, o, m) BOOST_PP_FOR_741_C(BOOST_PP_BOOL(p(742, s)), s, p, o, m) +# define BOOST_PP_FOR_742(s, p, o, m) BOOST_PP_FOR_742_C(BOOST_PP_BOOL(p(743, s)), s, p, o, m) +# define BOOST_PP_FOR_743(s, p, o, m) BOOST_PP_FOR_743_C(BOOST_PP_BOOL(p(744, s)), s, p, o, m) +# define BOOST_PP_FOR_744(s, p, o, m) BOOST_PP_FOR_744_C(BOOST_PP_BOOL(p(745, s)), s, p, o, m) +# define BOOST_PP_FOR_745(s, p, o, m) BOOST_PP_FOR_745_C(BOOST_PP_BOOL(p(746, s)), s, p, o, m) +# define BOOST_PP_FOR_746(s, p, o, m) BOOST_PP_FOR_746_C(BOOST_PP_BOOL(p(747, s)), s, p, o, m) +# define BOOST_PP_FOR_747(s, p, o, m) BOOST_PP_FOR_747_C(BOOST_PP_BOOL(p(748, s)), s, p, o, m) +# define BOOST_PP_FOR_748(s, p, o, m) BOOST_PP_FOR_748_C(BOOST_PP_BOOL(p(749, s)), s, p, o, m) +# define BOOST_PP_FOR_749(s, p, o, m) BOOST_PP_FOR_749_C(BOOST_PP_BOOL(p(750, s)), s, p, o, m) +# define BOOST_PP_FOR_750(s, p, o, m) BOOST_PP_FOR_750_C(BOOST_PP_BOOL(p(751, s)), s, p, o, m) +# define BOOST_PP_FOR_751(s, p, o, m) BOOST_PP_FOR_751_C(BOOST_PP_BOOL(p(752, s)), s, p, o, m) +# define BOOST_PP_FOR_752(s, p, o, m) BOOST_PP_FOR_752_C(BOOST_PP_BOOL(p(753, s)), s, p, o, m) +# define BOOST_PP_FOR_753(s, p, o, m) BOOST_PP_FOR_753_C(BOOST_PP_BOOL(p(754, s)), s, p, o, m) +# define BOOST_PP_FOR_754(s, p, o, m) BOOST_PP_FOR_754_C(BOOST_PP_BOOL(p(755, s)), s, p, o, m) +# define BOOST_PP_FOR_755(s, p, o, m) BOOST_PP_FOR_755_C(BOOST_PP_BOOL(p(756, s)), s, p, o, m) +# define BOOST_PP_FOR_756(s, p, o, m) BOOST_PP_FOR_756_C(BOOST_PP_BOOL(p(757, s)), s, p, o, m) +# define BOOST_PP_FOR_757(s, p, o, m) BOOST_PP_FOR_757_C(BOOST_PP_BOOL(p(758, s)), s, p, o, m) +# define BOOST_PP_FOR_758(s, p, o, m) BOOST_PP_FOR_758_C(BOOST_PP_BOOL(p(759, s)), s, p, o, m) +# define BOOST_PP_FOR_759(s, p, o, m) BOOST_PP_FOR_759_C(BOOST_PP_BOOL(p(760, s)), s, p, o, m) +# define BOOST_PP_FOR_760(s, p, o, m) BOOST_PP_FOR_760_C(BOOST_PP_BOOL(p(761, s)), s, p, o, m) +# define BOOST_PP_FOR_761(s, p, o, m) BOOST_PP_FOR_761_C(BOOST_PP_BOOL(p(762, s)), s, p, o, m) +# define BOOST_PP_FOR_762(s, p, o, m) BOOST_PP_FOR_762_C(BOOST_PP_BOOL(p(763, s)), s, p, o, m) +# define BOOST_PP_FOR_763(s, p, o, m) BOOST_PP_FOR_763_C(BOOST_PP_BOOL(p(764, s)), s, p, o, m) +# define BOOST_PP_FOR_764(s, p, o, m) BOOST_PP_FOR_764_C(BOOST_PP_BOOL(p(765, s)), s, p, o, m) +# define BOOST_PP_FOR_765(s, p, o, m) BOOST_PP_FOR_765_C(BOOST_PP_BOOL(p(766, s)), s, p, o, m) +# define BOOST_PP_FOR_766(s, p, o, m) BOOST_PP_FOR_766_C(BOOST_PP_BOOL(p(767, s)), s, p, o, m) +# define BOOST_PP_FOR_767(s, p, o, m) BOOST_PP_FOR_767_C(BOOST_PP_BOOL(p(768, s)), s, p, o, m) +# define BOOST_PP_FOR_768(s, p, o, m) BOOST_PP_FOR_768_C(BOOST_PP_BOOL(p(769, s)), s, p, o, m) +# define BOOST_PP_FOR_769(s, p, o, m) BOOST_PP_FOR_769_C(BOOST_PP_BOOL(p(770, s)), s, p, o, m) +# define BOOST_PP_FOR_770(s, p, o, m) BOOST_PP_FOR_770_C(BOOST_PP_BOOL(p(771, s)), s, p, o, m) +# define BOOST_PP_FOR_771(s, p, o, m) BOOST_PP_FOR_771_C(BOOST_PP_BOOL(p(772, s)), s, p, o, m) +# define BOOST_PP_FOR_772(s, p, o, m) BOOST_PP_FOR_772_C(BOOST_PP_BOOL(p(773, s)), s, p, o, m) +# define BOOST_PP_FOR_773(s, p, o, m) BOOST_PP_FOR_773_C(BOOST_PP_BOOL(p(774, s)), s, p, o, m) +# define BOOST_PP_FOR_774(s, p, o, m) BOOST_PP_FOR_774_C(BOOST_PP_BOOL(p(775, s)), s, p, o, m) +# define BOOST_PP_FOR_775(s, p, o, m) BOOST_PP_FOR_775_C(BOOST_PP_BOOL(p(776, s)), s, p, o, m) +# define BOOST_PP_FOR_776(s, p, o, m) BOOST_PP_FOR_776_C(BOOST_PP_BOOL(p(777, s)), s, p, o, m) +# define BOOST_PP_FOR_777(s, p, o, m) BOOST_PP_FOR_777_C(BOOST_PP_BOOL(p(778, s)), s, p, o, m) +# define BOOST_PP_FOR_778(s, p, o, m) BOOST_PP_FOR_778_C(BOOST_PP_BOOL(p(779, s)), s, p, o, m) +# define BOOST_PP_FOR_779(s, p, o, m) BOOST_PP_FOR_779_C(BOOST_PP_BOOL(p(780, s)), s, p, o, m) +# define BOOST_PP_FOR_780(s, p, o, m) BOOST_PP_FOR_780_C(BOOST_PP_BOOL(p(781, s)), s, p, o, m) +# define BOOST_PP_FOR_781(s, p, o, m) BOOST_PP_FOR_781_C(BOOST_PP_BOOL(p(782, s)), s, p, o, m) +# define BOOST_PP_FOR_782(s, p, o, m) BOOST_PP_FOR_782_C(BOOST_PP_BOOL(p(783, s)), s, p, o, m) +# define BOOST_PP_FOR_783(s, p, o, m) BOOST_PP_FOR_783_C(BOOST_PP_BOOL(p(784, s)), s, p, o, m) +# define BOOST_PP_FOR_784(s, p, o, m) BOOST_PP_FOR_784_C(BOOST_PP_BOOL(p(785, s)), s, p, o, m) +# define BOOST_PP_FOR_785(s, p, o, m) BOOST_PP_FOR_785_C(BOOST_PP_BOOL(p(786, s)), s, p, o, m) +# define BOOST_PP_FOR_786(s, p, o, m) BOOST_PP_FOR_786_C(BOOST_PP_BOOL(p(787, s)), s, p, o, m) +# define BOOST_PP_FOR_787(s, p, o, m) BOOST_PP_FOR_787_C(BOOST_PP_BOOL(p(788, s)), s, p, o, m) +# define BOOST_PP_FOR_788(s, p, o, m) BOOST_PP_FOR_788_C(BOOST_PP_BOOL(p(789, s)), s, p, o, m) +# define BOOST_PP_FOR_789(s, p, o, m) BOOST_PP_FOR_789_C(BOOST_PP_BOOL(p(790, s)), s, p, o, m) +# define BOOST_PP_FOR_790(s, p, o, m) BOOST_PP_FOR_790_C(BOOST_PP_BOOL(p(791, s)), s, p, o, m) +# define BOOST_PP_FOR_791(s, p, o, m) BOOST_PP_FOR_791_C(BOOST_PP_BOOL(p(792, s)), s, p, o, m) +# define BOOST_PP_FOR_792(s, p, o, m) BOOST_PP_FOR_792_C(BOOST_PP_BOOL(p(793, s)), s, p, o, m) +# define BOOST_PP_FOR_793(s, p, o, m) BOOST_PP_FOR_793_C(BOOST_PP_BOOL(p(794, s)), s, p, o, m) +# define BOOST_PP_FOR_794(s, p, o, m) BOOST_PP_FOR_794_C(BOOST_PP_BOOL(p(795, s)), s, p, o, m) +# define BOOST_PP_FOR_795(s, p, o, m) BOOST_PP_FOR_795_C(BOOST_PP_BOOL(p(796, s)), s, p, o, m) +# define BOOST_PP_FOR_796(s, p, o, m) BOOST_PP_FOR_796_C(BOOST_PP_BOOL(p(797, s)), s, p, o, m) +# define BOOST_PP_FOR_797(s, p, o, m) BOOST_PP_FOR_797_C(BOOST_PP_BOOL(p(798, s)), s, p, o, m) +# define BOOST_PP_FOR_798(s, p, o, m) BOOST_PP_FOR_798_C(BOOST_PP_BOOL(p(799, s)), s, p, o, m) +# define BOOST_PP_FOR_799(s, p, o, m) BOOST_PP_FOR_799_C(BOOST_PP_BOOL(p(800, s)), s, p, o, m) +# define BOOST_PP_FOR_800(s, p, o, m) BOOST_PP_FOR_800_C(BOOST_PP_BOOL(p(801, s)), s, p, o, m) +# define BOOST_PP_FOR_801(s, p, o, m) BOOST_PP_FOR_801_C(BOOST_PP_BOOL(p(802, s)), s, p, o, m) +# define BOOST_PP_FOR_802(s, p, o, m) BOOST_PP_FOR_802_C(BOOST_PP_BOOL(p(803, s)), s, p, o, m) +# define BOOST_PP_FOR_803(s, p, o, m) BOOST_PP_FOR_803_C(BOOST_PP_BOOL(p(804, s)), s, p, o, m) +# define BOOST_PP_FOR_804(s, p, o, m) BOOST_PP_FOR_804_C(BOOST_PP_BOOL(p(805, s)), s, p, o, m) +# define BOOST_PP_FOR_805(s, p, o, m) BOOST_PP_FOR_805_C(BOOST_PP_BOOL(p(806, s)), s, p, o, m) +# define BOOST_PP_FOR_806(s, p, o, m) BOOST_PP_FOR_806_C(BOOST_PP_BOOL(p(807, s)), s, p, o, m) +# define BOOST_PP_FOR_807(s, p, o, m) BOOST_PP_FOR_807_C(BOOST_PP_BOOL(p(808, s)), s, p, o, m) +# define BOOST_PP_FOR_808(s, p, o, m) BOOST_PP_FOR_808_C(BOOST_PP_BOOL(p(809, s)), s, p, o, m) +# define BOOST_PP_FOR_809(s, p, o, m) BOOST_PP_FOR_809_C(BOOST_PP_BOOL(p(810, s)), s, p, o, m) +# define BOOST_PP_FOR_810(s, p, o, m) BOOST_PP_FOR_810_C(BOOST_PP_BOOL(p(811, s)), s, p, o, m) +# define BOOST_PP_FOR_811(s, p, o, m) BOOST_PP_FOR_811_C(BOOST_PP_BOOL(p(812, s)), s, p, o, m) +# define BOOST_PP_FOR_812(s, p, o, m) BOOST_PP_FOR_812_C(BOOST_PP_BOOL(p(813, s)), s, p, o, m) +# define BOOST_PP_FOR_813(s, p, o, m) BOOST_PP_FOR_813_C(BOOST_PP_BOOL(p(814, s)), s, p, o, m) +# define BOOST_PP_FOR_814(s, p, o, m) BOOST_PP_FOR_814_C(BOOST_PP_BOOL(p(815, s)), s, p, o, m) +# define BOOST_PP_FOR_815(s, p, o, m) BOOST_PP_FOR_815_C(BOOST_PP_BOOL(p(816, s)), s, p, o, m) +# define BOOST_PP_FOR_816(s, p, o, m) BOOST_PP_FOR_816_C(BOOST_PP_BOOL(p(817, s)), s, p, o, m) +# define BOOST_PP_FOR_817(s, p, o, m) BOOST_PP_FOR_817_C(BOOST_PP_BOOL(p(818, s)), s, p, o, m) +# define BOOST_PP_FOR_818(s, p, o, m) BOOST_PP_FOR_818_C(BOOST_PP_BOOL(p(819, s)), s, p, o, m) +# define BOOST_PP_FOR_819(s, p, o, m) BOOST_PP_FOR_819_C(BOOST_PP_BOOL(p(820, s)), s, p, o, m) +# define BOOST_PP_FOR_820(s, p, o, m) BOOST_PP_FOR_820_C(BOOST_PP_BOOL(p(821, s)), s, p, o, m) +# define BOOST_PP_FOR_821(s, p, o, m) BOOST_PP_FOR_821_C(BOOST_PP_BOOL(p(822, s)), s, p, o, m) +# define BOOST_PP_FOR_822(s, p, o, m) BOOST_PP_FOR_822_C(BOOST_PP_BOOL(p(823, s)), s, p, o, m) +# define BOOST_PP_FOR_823(s, p, o, m) BOOST_PP_FOR_823_C(BOOST_PP_BOOL(p(824, s)), s, p, o, m) +# define BOOST_PP_FOR_824(s, p, o, m) BOOST_PP_FOR_824_C(BOOST_PP_BOOL(p(825, s)), s, p, o, m) +# define BOOST_PP_FOR_825(s, p, o, m) BOOST_PP_FOR_825_C(BOOST_PP_BOOL(p(826, s)), s, p, o, m) +# define BOOST_PP_FOR_826(s, p, o, m) BOOST_PP_FOR_826_C(BOOST_PP_BOOL(p(827, s)), s, p, o, m) +# define BOOST_PP_FOR_827(s, p, o, m) BOOST_PP_FOR_827_C(BOOST_PP_BOOL(p(828, s)), s, p, o, m) +# define BOOST_PP_FOR_828(s, p, o, m) BOOST_PP_FOR_828_C(BOOST_PP_BOOL(p(829, s)), s, p, o, m) +# define BOOST_PP_FOR_829(s, p, o, m) BOOST_PP_FOR_829_C(BOOST_PP_BOOL(p(830, s)), s, p, o, m) +# define BOOST_PP_FOR_830(s, p, o, m) BOOST_PP_FOR_830_C(BOOST_PP_BOOL(p(831, s)), s, p, o, m) +# define BOOST_PP_FOR_831(s, p, o, m) BOOST_PP_FOR_831_C(BOOST_PP_BOOL(p(832, s)), s, p, o, m) +# define BOOST_PP_FOR_832(s, p, o, m) BOOST_PP_FOR_832_C(BOOST_PP_BOOL(p(833, s)), s, p, o, m) +# define BOOST_PP_FOR_833(s, p, o, m) BOOST_PP_FOR_833_C(BOOST_PP_BOOL(p(834, s)), s, p, o, m) +# define BOOST_PP_FOR_834(s, p, o, m) BOOST_PP_FOR_834_C(BOOST_PP_BOOL(p(835, s)), s, p, o, m) +# define BOOST_PP_FOR_835(s, p, o, m) BOOST_PP_FOR_835_C(BOOST_PP_BOOL(p(836, s)), s, p, o, m) +# define BOOST_PP_FOR_836(s, p, o, m) BOOST_PP_FOR_836_C(BOOST_PP_BOOL(p(837, s)), s, p, o, m) +# define BOOST_PP_FOR_837(s, p, o, m) BOOST_PP_FOR_837_C(BOOST_PP_BOOL(p(838, s)), s, p, o, m) +# define BOOST_PP_FOR_838(s, p, o, m) BOOST_PP_FOR_838_C(BOOST_PP_BOOL(p(839, s)), s, p, o, m) +# define BOOST_PP_FOR_839(s, p, o, m) BOOST_PP_FOR_839_C(BOOST_PP_BOOL(p(840, s)), s, p, o, m) +# define BOOST_PP_FOR_840(s, p, o, m) BOOST_PP_FOR_840_C(BOOST_PP_BOOL(p(841, s)), s, p, o, m) +# define BOOST_PP_FOR_841(s, p, o, m) BOOST_PP_FOR_841_C(BOOST_PP_BOOL(p(842, s)), s, p, o, m) +# define BOOST_PP_FOR_842(s, p, o, m) BOOST_PP_FOR_842_C(BOOST_PP_BOOL(p(843, s)), s, p, o, m) +# define BOOST_PP_FOR_843(s, p, o, m) BOOST_PP_FOR_843_C(BOOST_PP_BOOL(p(844, s)), s, p, o, m) +# define BOOST_PP_FOR_844(s, p, o, m) BOOST_PP_FOR_844_C(BOOST_PP_BOOL(p(845, s)), s, p, o, m) +# define BOOST_PP_FOR_845(s, p, o, m) BOOST_PP_FOR_845_C(BOOST_PP_BOOL(p(846, s)), s, p, o, m) +# define BOOST_PP_FOR_846(s, p, o, m) BOOST_PP_FOR_846_C(BOOST_PP_BOOL(p(847, s)), s, p, o, m) +# define BOOST_PP_FOR_847(s, p, o, m) BOOST_PP_FOR_847_C(BOOST_PP_BOOL(p(848, s)), s, p, o, m) +# define BOOST_PP_FOR_848(s, p, o, m) BOOST_PP_FOR_848_C(BOOST_PP_BOOL(p(849, s)), s, p, o, m) +# define BOOST_PP_FOR_849(s, p, o, m) BOOST_PP_FOR_849_C(BOOST_PP_BOOL(p(850, s)), s, p, o, m) +# define BOOST_PP_FOR_850(s, p, o, m) BOOST_PP_FOR_850_C(BOOST_PP_BOOL(p(851, s)), s, p, o, m) +# define BOOST_PP_FOR_851(s, p, o, m) BOOST_PP_FOR_851_C(BOOST_PP_BOOL(p(852, s)), s, p, o, m) +# define BOOST_PP_FOR_852(s, p, o, m) BOOST_PP_FOR_852_C(BOOST_PP_BOOL(p(853, s)), s, p, o, m) +# define BOOST_PP_FOR_853(s, p, o, m) BOOST_PP_FOR_853_C(BOOST_PP_BOOL(p(854, s)), s, p, o, m) +# define BOOST_PP_FOR_854(s, p, o, m) BOOST_PP_FOR_854_C(BOOST_PP_BOOL(p(855, s)), s, p, o, m) +# define BOOST_PP_FOR_855(s, p, o, m) BOOST_PP_FOR_855_C(BOOST_PP_BOOL(p(856, s)), s, p, o, m) +# define BOOST_PP_FOR_856(s, p, o, m) BOOST_PP_FOR_856_C(BOOST_PP_BOOL(p(857, s)), s, p, o, m) +# define BOOST_PP_FOR_857(s, p, o, m) BOOST_PP_FOR_857_C(BOOST_PP_BOOL(p(858, s)), s, p, o, m) +# define BOOST_PP_FOR_858(s, p, o, m) BOOST_PP_FOR_858_C(BOOST_PP_BOOL(p(859, s)), s, p, o, m) +# define BOOST_PP_FOR_859(s, p, o, m) BOOST_PP_FOR_859_C(BOOST_PP_BOOL(p(860, s)), s, p, o, m) +# define BOOST_PP_FOR_860(s, p, o, m) BOOST_PP_FOR_860_C(BOOST_PP_BOOL(p(861, s)), s, p, o, m) +# define BOOST_PP_FOR_861(s, p, o, m) BOOST_PP_FOR_861_C(BOOST_PP_BOOL(p(862, s)), s, p, o, m) +# define BOOST_PP_FOR_862(s, p, o, m) BOOST_PP_FOR_862_C(BOOST_PP_BOOL(p(863, s)), s, p, o, m) +# define BOOST_PP_FOR_863(s, p, o, m) BOOST_PP_FOR_863_C(BOOST_PP_BOOL(p(864, s)), s, p, o, m) +# define BOOST_PP_FOR_864(s, p, o, m) BOOST_PP_FOR_864_C(BOOST_PP_BOOL(p(865, s)), s, p, o, m) +# define BOOST_PP_FOR_865(s, p, o, m) BOOST_PP_FOR_865_C(BOOST_PP_BOOL(p(866, s)), s, p, o, m) +# define BOOST_PP_FOR_866(s, p, o, m) BOOST_PP_FOR_866_C(BOOST_PP_BOOL(p(867, s)), s, p, o, m) +# define BOOST_PP_FOR_867(s, p, o, m) BOOST_PP_FOR_867_C(BOOST_PP_BOOL(p(868, s)), s, p, o, m) +# define BOOST_PP_FOR_868(s, p, o, m) BOOST_PP_FOR_868_C(BOOST_PP_BOOL(p(869, s)), s, p, o, m) +# define BOOST_PP_FOR_869(s, p, o, m) BOOST_PP_FOR_869_C(BOOST_PP_BOOL(p(870, s)), s, p, o, m) +# define BOOST_PP_FOR_870(s, p, o, m) BOOST_PP_FOR_870_C(BOOST_PP_BOOL(p(871, s)), s, p, o, m) +# define BOOST_PP_FOR_871(s, p, o, m) BOOST_PP_FOR_871_C(BOOST_PP_BOOL(p(872, s)), s, p, o, m) +# define BOOST_PP_FOR_872(s, p, o, m) BOOST_PP_FOR_872_C(BOOST_PP_BOOL(p(873, s)), s, p, o, m) +# define BOOST_PP_FOR_873(s, p, o, m) BOOST_PP_FOR_873_C(BOOST_PP_BOOL(p(874, s)), s, p, o, m) +# define BOOST_PP_FOR_874(s, p, o, m) BOOST_PP_FOR_874_C(BOOST_PP_BOOL(p(875, s)), s, p, o, m) +# define BOOST_PP_FOR_875(s, p, o, m) BOOST_PP_FOR_875_C(BOOST_PP_BOOL(p(876, s)), s, p, o, m) +# define BOOST_PP_FOR_876(s, p, o, m) BOOST_PP_FOR_876_C(BOOST_PP_BOOL(p(877, s)), s, p, o, m) +# define BOOST_PP_FOR_877(s, p, o, m) BOOST_PP_FOR_877_C(BOOST_PP_BOOL(p(878, s)), s, p, o, m) +# define BOOST_PP_FOR_878(s, p, o, m) BOOST_PP_FOR_878_C(BOOST_PP_BOOL(p(879, s)), s, p, o, m) +# define BOOST_PP_FOR_879(s, p, o, m) BOOST_PP_FOR_879_C(BOOST_PP_BOOL(p(880, s)), s, p, o, m) +# define BOOST_PP_FOR_880(s, p, o, m) BOOST_PP_FOR_880_C(BOOST_PP_BOOL(p(881, s)), s, p, o, m) +# define BOOST_PP_FOR_881(s, p, o, m) BOOST_PP_FOR_881_C(BOOST_PP_BOOL(p(882, s)), s, p, o, m) +# define BOOST_PP_FOR_882(s, p, o, m) BOOST_PP_FOR_882_C(BOOST_PP_BOOL(p(883, s)), s, p, o, m) +# define BOOST_PP_FOR_883(s, p, o, m) BOOST_PP_FOR_883_C(BOOST_PP_BOOL(p(884, s)), s, p, o, m) +# define BOOST_PP_FOR_884(s, p, o, m) BOOST_PP_FOR_884_C(BOOST_PP_BOOL(p(885, s)), s, p, o, m) +# define BOOST_PP_FOR_885(s, p, o, m) BOOST_PP_FOR_885_C(BOOST_PP_BOOL(p(886, s)), s, p, o, m) +# define BOOST_PP_FOR_886(s, p, o, m) BOOST_PP_FOR_886_C(BOOST_PP_BOOL(p(887, s)), s, p, o, m) +# define BOOST_PP_FOR_887(s, p, o, m) BOOST_PP_FOR_887_C(BOOST_PP_BOOL(p(888, s)), s, p, o, m) +# define BOOST_PP_FOR_888(s, p, o, m) BOOST_PP_FOR_888_C(BOOST_PP_BOOL(p(889, s)), s, p, o, m) +# define BOOST_PP_FOR_889(s, p, o, m) BOOST_PP_FOR_889_C(BOOST_PP_BOOL(p(890, s)), s, p, o, m) +# define BOOST_PP_FOR_890(s, p, o, m) BOOST_PP_FOR_890_C(BOOST_PP_BOOL(p(891, s)), s, p, o, m) +# define BOOST_PP_FOR_891(s, p, o, m) BOOST_PP_FOR_891_C(BOOST_PP_BOOL(p(892, s)), s, p, o, m) +# define BOOST_PP_FOR_892(s, p, o, m) BOOST_PP_FOR_892_C(BOOST_PP_BOOL(p(893, s)), s, p, o, m) +# define BOOST_PP_FOR_893(s, p, o, m) BOOST_PP_FOR_893_C(BOOST_PP_BOOL(p(894, s)), s, p, o, m) +# define BOOST_PP_FOR_894(s, p, o, m) BOOST_PP_FOR_894_C(BOOST_PP_BOOL(p(895, s)), s, p, o, m) +# define BOOST_PP_FOR_895(s, p, o, m) BOOST_PP_FOR_895_C(BOOST_PP_BOOL(p(896, s)), s, p, o, m) +# define BOOST_PP_FOR_896(s, p, o, m) BOOST_PP_FOR_896_C(BOOST_PP_BOOL(p(897, s)), s, p, o, m) +# define BOOST_PP_FOR_897(s, p, o, m) BOOST_PP_FOR_897_C(BOOST_PP_BOOL(p(898, s)), s, p, o, m) +# define BOOST_PP_FOR_898(s, p, o, m) BOOST_PP_FOR_898_C(BOOST_PP_BOOL(p(899, s)), s, p, o, m) +# define BOOST_PP_FOR_899(s, p, o, m) BOOST_PP_FOR_899_C(BOOST_PP_BOOL(p(900, s)), s, p, o, m) +# define BOOST_PP_FOR_900(s, p, o, m) BOOST_PP_FOR_900_C(BOOST_PP_BOOL(p(901, s)), s, p, o, m) +# define BOOST_PP_FOR_901(s, p, o, m) BOOST_PP_FOR_901_C(BOOST_PP_BOOL(p(902, s)), s, p, o, m) +# define BOOST_PP_FOR_902(s, p, o, m) BOOST_PP_FOR_902_C(BOOST_PP_BOOL(p(903, s)), s, p, o, m) +# define BOOST_PP_FOR_903(s, p, o, m) BOOST_PP_FOR_903_C(BOOST_PP_BOOL(p(904, s)), s, p, o, m) +# define BOOST_PP_FOR_904(s, p, o, m) BOOST_PP_FOR_904_C(BOOST_PP_BOOL(p(905, s)), s, p, o, m) +# define BOOST_PP_FOR_905(s, p, o, m) BOOST_PP_FOR_905_C(BOOST_PP_BOOL(p(906, s)), s, p, o, m) +# define BOOST_PP_FOR_906(s, p, o, m) BOOST_PP_FOR_906_C(BOOST_PP_BOOL(p(907, s)), s, p, o, m) +# define BOOST_PP_FOR_907(s, p, o, m) BOOST_PP_FOR_907_C(BOOST_PP_BOOL(p(908, s)), s, p, o, m) +# define BOOST_PP_FOR_908(s, p, o, m) BOOST_PP_FOR_908_C(BOOST_PP_BOOL(p(909, s)), s, p, o, m) +# define BOOST_PP_FOR_909(s, p, o, m) BOOST_PP_FOR_909_C(BOOST_PP_BOOL(p(910, s)), s, p, o, m) +# define BOOST_PP_FOR_910(s, p, o, m) BOOST_PP_FOR_910_C(BOOST_PP_BOOL(p(911, s)), s, p, o, m) +# define BOOST_PP_FOR_911(s, p, o, m) BOOST_PP_FOR_911_C(BOOST_PP_BOOL(p(912, s)), s, p, o, m) +# define BOOST_PP_FOR_912(s, p, o, m) BOOST_PP_FOR_912_C(BOOST_PP_BOOL(p(913, s)), s, p, o, m) +# define BOOST_PP_FOR_913(s, p, o, m) BOOST_PP_FOR_913_C(BOOST_PP_BOOL(p(914, s)), s, p, o, m) +# define BOOST_PP_FOR_914(s, p, o, m) BOOST_PP_FOR_914_C(BOOST_PP_BOOL(p(915, s)), s, p, o, m) +# define BOOST_PP_FOR_915(s, p, o, m) BOOST_PP_FOR_915_C(BOOST_PP_BOOL(p(916, s)), s, p, o, m) +# define BOOST_PP_FOR_916(s, p, o, m) BOOST_PP_FOR_916_C(BOOST_PP_BOOL(p(917, s)), s, p, o, m) +# define BOOST_PP_FOR_917(s, p, o, m) BOOST_PP_FOR_917_C(BOOST_PP_BOOL(p(918, s)), s, p, o, m) +# define BOOST_PP_FOR_918(s, p, o, m) BOOST_PP_FOR_918_C(BOOST_PP_BOOL(p(919, s)), s, p, o, m) +# define BOOST_PP_FOR_919(s, p, o, m) BOOST_PP_FOR_919_C(BOOST_PP_BOOL(p(920, s)), s, p, o, m) +# define BOOST_PP_FOR_920(s, p, o, m) BOOST_PP_FOR_920_C(BOOST_PP_BOOL(p(921, s)), s, p, o, m) +# define BOOST_PP_FOR_921(s, p, o, m) BOOST_PP_FOR_921_C(BOOST_PP_BOOL(p(922, s)), s, p, o, m) +# define BOOST_PP_FOR_922(s, p, o, m) BOOST_PP_FOR_922_C(BOOST_PP_BOOL(p(923, s)), s, p, o, m) +# define BOOST_PP_FOR_923(s, p, o, m) BOOST_PP_FOR_923_C(BOOST_PP_BOOL(p(924, s)), s, p, o, m) +# define BOOST_PP_FOR_924(s, p, o, m) BOOST_PP_FOR_924_C(BOOST_PP_BOOL(p(925, s)), s, p, o, m) +# define BOOST_PP_FOR_925(s, p, o, m) BOOST_PP_FOR_925_C(BOOST_PP_BOOL(p(926, s)), s, p, o, m) +# define BOOST_PP_FOR_926(s, p, o, m) BOOST_PP_FOR_926_C(BOOST_PP_BOOL(p(927, s)), s, p, o, m) +# define BOOST_PP_FOR_927(s, p, o, m) BOOST_PP_FOR_927_C(BOOST_PP_BOOL(p(928, s)), s, p, o, m) +# define BOOST_PP_FOR_928(s, p, o, m) BOOST_PP_FOR_928_C(BOOST_PP_BOOL(p(929, s)), s, p, o, m) +# define BOOST_PP_FOR_929(s, p, o, m) BOOST_PP_FOR_929_C(BOOST_PP_BOOL(p(930, s)), s, p, o, m) +# define BOOST_PP_FOR_930(s, p, o, m) BOOST_PP_FOR_930_C(BOOST_PP_BOOL(p(931, s)), s, p, o, m) +# define BOOST_PP_FOR_931(s, p, o, m) BOOST_PP_FOR_931_C(BOOST_PP_BOOL(p(932, s)), s, p, o, m) +# define BOOST_PP_FOR_932(s, p, o, m) BOOST_PP_FOR_932_C(BOOST_PP_BOOL(p(933, s)), s, p, o, m) +# define BOOST_PP_FOR_933(s, p, o, m) BOOST_PP_FOR_933_C(BOOST_PP_BOOL(p(934, s)), s, p, o, m) +# define BOOST_PP_FOR_934(s, p, o, m) BOOST_PP_FOR_934_C(BOOST_PP_BOOL(p(935, s)), s, p, o, m) +# define BOOST_PP_FOR_935(s, p, o, m) BOOST_PP_FOR_935_C(BOOST_PP_BOOL(p(936, s)), s, p, o, m) +# define BOOST_PP_FOR_936(s, p, o, m) BOOST_PP_FOR_936_C(BOOST_PP_BOOL(p(937, s)), s, p, o, m) +# define BOOST_PP_FOR_937(s, p, o, m) BOOST_PP_FOR_937_C(BOOST_PP_BOOL(p(938, s)), s, p, o, m) +# define BOOST_PP_FOR_938(s, p, o, m) BOOST_PP_FOR_938_C(BOOST_PP_BOOL(p(939, s)), s, p, o, m) +# define BOOST_PP_FOR_939(s, p, o, m) BOOST_PP_FOR_939_C(BOOST_PP_BOOL(p(940, s)), s, p, o, m) +# define BOOST_PP_FOR_940(s, p, o, m) BOOST_PP_FOR_940_C(BOOST_PP_BOOL(p(941, s)), s, p, o, m) +# define BOOST_PP_FOR_941(s, p, o, m) BOOST_PP_FOR_941_C(BOOST_PP_BOOL(p(942, s)), s, p, o, m) +# define BOOST_PP_FOR_942(s, p, o, m) BOOST_PP_FOR_942_C(BOOST_PP_BOOL(p(943, s)), s, p, o, m) +# define BOOST_PP_FOR_943(s, p, o, m) BOOST_PP_FOR_943_C(BOOST_PP_BOOL(p(944, s)), s, p, o, m) +# define BOOST_PP_FOR_944(s, p, o, m) BOOST_PP_FOR_944_C(BOOST_PP_BOOL(p(945, s)), s, p, o, m) +# define BOOST_PP_FOR_945(s, p, o, m) BOOST_PP_FOR_945_C(BOOST_PP_BOOL(p(946, s)), s, p, o, m) +# define BOOST_PP_FOR_946(s, p, o, m) BOOST_PP_FOR_946_C(BOOST_PP_BOOL(p(947, s)), s, p, o, m) +# define BOOST_PP_FOR_947(s, p, o, m) BOOST_PP_FOR_947_C(BOOST_PP_BOOL(p(948, s)), s, p, o, m) +# define BOOST_PP_FOR_948(s, p, o, m) BOOST_PP_FOR_948_C(BOOST_PP_BOOL(p(949, s)), s, p, o, m) +# define BOOST_PP_FOR_949(s, p, o, m) BOOST_PP_FOR_949_C(BOOST_PP_BOOL(p(950, s)), s, p, o, m) +# define BOOST_PP_FOR_950(s, p, o, m) BOOST_PP_FOR_950_C(BOOST_PP_BOOL(p(951, s)), s, p, o, m) +# define BOOST_PP_FOR_951(s, p, o, m) BOOST_PP_FOR_951_C(BOOST_PP_BOOL(p(952, s)), s, p, o, m) +# define BOOST_PP_FOR_952(s, p, o, m) BOOST_PP_FOR_952_C(BOOST_PP_BOOL(p(953, s)), s, p, o, m) +# define BOOST_PP_FOR_953(s, p, o, m) BOOST_PP_FOR_953_C(BOOST_PP_BOOL(p(954, s)), s, p, o, m) +# define BOOST_PP_FOR_954(s, p, o, m) BOOST_PP_FOR_954_C(BOOST_PP_BOOL(p(955, s)), s, p, o, m) +# define BOOST_PP_FOR_955(s, p, o, m) BOOST_PP_FOR_955_C(BOOST_PP_BOOL(p(956, s)), s, p, o, m) +# define BOOST_PP_FOR_956(s, p, o, m) BOOST_PP_FOR_956_C(BOOST_PP_BOOL(p(957, s)), s, p, o, m) +# define BOOST_PP_FOR_957(s, p, o, m) BOOST_PP_FOR_957_C(BOOST_PP_BOOL(p(958, s)), s, p, o, m) +# define BOOST_PP_FOR_958(s, p, o, m) BOOST_PP_FOR_958_C(BOOST_PP_BOOL(p(959, s)), s, p, o, m) +# define BOOST_PP_FOR_959(s, p, o, m) BOOST_PP_FOR_959_C(BOOST_PP_BOOL(p(960, s)), s, p, o, m) +# define BOOST_PP_FOR_960(s, p, o, m) BOOST_PP_FOR_960_C(BOOST_PP_BOOL(p(961, s)), s, p, o, m) +# define BOOST_PP_FOR_961(s, p, o, m) BOOST_PP_FOR_961_C(BOOST_PP_BOOL(p(962, s)), s, p, o, m) +# define BOOST_PP_FOR_962(s, p, o, m) BOOST_PP_FOR_962_C(BOOST_PP_BOOL(p(963, s)), s, p, o, m) +# define BOOST_PP_FOR_963(s, p, o, m) BOOST_PP_FOR_963_C(BOOST_PP_BOOL(p(964, s)), s, p, o, m) +# define BOOST_PP_FOR_964(s, p, o, m) BOOST_PP_FOR_964_C(BOOST_PP_BOOL(p(965, s)), s, p, o, m) +# define BOOST_PP_FOR_965(s, p, o, m) BOOST_PP_FOR_965_C(BOOST_PP_BOOL(p(966, s)), s, p, o, m) +# define BOOST_PP_FOR_966(s, p, o, m) BOOST_PP_FOR_966_C(BOOST_PP_BOOL(p(967, s)), s, p, o, m) +# define BOOST_PP_FOR_967(s, p, o, m) BOOST_PP_FOR_967_C(BOOST_PP_BOOL(p(968, s)), s, p, o, m) +# define BOOST_PP_FOR_968(s, p, o, m) BOOST_PP_FOR_968_C(BOOST_PP_BOOL(p(969, s)), s, p, o, m) +# define BOOST_PP_FOR_969(s, p, o, m) BOOST_PP_FOR_969_C(BOOST_PP_BOOL(p(970, s)), s, p, o, m) +# define BOOST_PP_FOR_970(s, p, o, m) BOOST_PP_FOR_970_C(BOOST_PP_BOOL(p(971, s)), s, p, o, m) +# define BOOST_PP_FOR_971(s, p, o, m) BOOST_PP_FOR_971_C(BOOST_PP_BOOL(p(972, s)), s, p, o, m) +# define BOOST_PP_FOR_972(s, p, o, m) BOOST_PP_FOR_972_C(BOOST_PP_BOOL(p(973, s)), s, p, o, m) +# define BOOST_PP_FOR_973(s, p, o, m) BOOST_PP_FOR_973_C(BOOST_PP_BOOL(p(974, s)), s, p, o, m) +# define BOOST_PP_FOR_974(s, p, o, m) BOOST_PP_FOR_974_C(BOOST_PP_BOOL(p(975, s)), s, p, o, m) +# define BOOST_PP_FOR_975(s, p, o, m) BOOST_PP_FOR_975_C(BOOST_PP_BOOL(p(976, s)), s, p, o, m) +# define BOOST_PP_FOR_976(s, p, o, m) BOOST_PP_FOR_976_C(BOOST_PP_BOOL(p(977, s)), s, p, o, m) +# define BOOST_PP_FOR_977(s, p, o, m) BOOST_PP_FOR_977_C(BOOST_PP_BOOL(p(978, s)), s, p, o, m) +# define BOOST_PP_FOR_978(s, p, o, m) BOOST_PP_FOR_978_C(BOOST_PP_BOOL(p(979, s)), s, p, o, m) +# define BOOST_PP_FOR_979(s, p, o, m) BOOST_PP_FOR_979_C(BOOST_PP_BOOL(p(980, s)), s, p, o, m) +# define BOOST_PP_FOR_980(s, p, o, m) BOOST_PP_FOR_980_C(BOOST_PP_BOOL(p(981, s)), s, p, o, m) +# define BOOST_PP_FOR_981(s, p, o, m) BOOST_PP_FOR_981_C(BOOST_PP_BOOL(p(982, s)), s, p, o, m) +# define BOOST_PP_FOR_982(s, p, o, m) BOOST_PP_FOR_982_C(BOOST_PP_BOOL(p(983, s)), s, p, o, m) +# define BOOST_PP_FOR_983(s, p, o, m) BOOST_PP_FOR_983_C(BOOST_PP_BOOL(p(984, s)), s, p, o, m) +# define BOOST_PP_FOR_984(s, p, o, m) BOOST_PP_FOR_984_C(BOOST_PP_BOOL(p(985, s)), s, p, o, m) +# define BOOST_PP_FOR_985(s, p, o, m) BOOST_PP_FOR_985_C(BOOST_PP_BOOL(p(986, s)), s, p, o, m) +# define BOOST_PP_FOR_986(s, p, o, m) BOOST_PP_FOR_986_C(BOOST_PP_BOOL(p(987, s)), s, p, o, m) +# define BOOST_PP_FOR_987(s, p, o, m) BOOST_PP_FOR_987_C(BOOST_PP_BOOL(p(988, s)), s, p, o, m) +# define BOOST_PP_FOR_988(s, p, o, m) BOOST_PP_FOR_988_C(BOOST_PP_BOOL(p(989, s)), s, p, o, m) +# define BOOST_PP_FOR_989(s, p, o, m) BOOST_PP_FOR_989_C(BOOST_PP_BOOL(p(990, s)), s, p, o, m) +# define BOOST_PP_FOR_990(s, p, o, m) BOOST_PP_FOR_990_C(BOOST_PP_BOOL(p(991, s)), s, p, o, m) +# define BOOST_PP_FOR_991(s, p, o, m) BOOST_PP_FOR_991_C(BOOST_PP_BOOL(p(992, s)), s, p, o, m) +# define BOOST_PP_FOR_992(s, p, o, m) BOOST_PP_FOR_992_C(BOOST_PP_BOOL(p(993, s)), s, p, o, m) +# define BOOST_PP_FOR_993(s, p, o, m) BOOST_PP_FOR_993_C(BOOST_PP_BOOL(p(994, s)), s, p, o, m) +# define BOOST_PP_FOR_994(s, p, o, m) BOOST_PP_FOR_994_C(BOOST_PP_BOOL(p(995, s)), s, p, o, m) +# define BOOST_PP_FOR_995(s, p, o, m) BOOST_PP_FOR_995_C(BOOST_PP_BOOL(p(996, s)), s, p, o, m) +# define BOOST_PP_FOR_996(s, p, o, m) BOOST_PP_FOR_996_C(BOOST_PP_BOOL(p(997, s)), s, p, o, m) +# define BOOST_PP_FOR_997(s, p, o, m) BOOST_PP_FOR_997_C(BOOST_PP_BOOL(p(998, s)), s, p, o, m) +# define BOOST_PP_FOR_998(s, p, o, m) BOOST_PP_FOR_998_C(BOOST_PP_BOOL(p(999, s)), s, p, o, m) +# define BOOST_PP_FOR_999(s, p, o, m) BOOST_PP_FOR_999_C(BOOST_PP_BOOL(p(1000, s)), s, p, o, m) +# define BOOST_PP_FOR_1000(s, p, o, m) BOOST_PP_FOR_1000_C(BOOST_PP_BOOL(p(1001, s)), s, p, o, m) +# define BOOST_PP_FOR_1001(s, p, o, m) BOOST_PP_FOR_1001_C(BOOST_PP_BOOL(p(1002, s)), s, p, o, m) +# define BOOST_PP_FOR_1002(s, p, o, m) BOOST_PP_FOR_1002_C(BOOST_PP_BOOL(p(1003, s)), s, p, o, m) +# define BOOST_PP_FOR_1003(s, p, o, m) BOOST_PP_FOR_1003_C(BOOST_PP_BOOL(p(1004, s)), s, p, o, m) +# define BOOST_PP_FOR_1004(s, p, o, m) BOOST_PP_FOR_1004_C(BOOST_PP_BOOL(p(1005, s)), s, p, o, m) +# define BOOST_PP_FOR_1005(s, p, o, m) BOOST_PP_FOR_1005_C(BOOST_PP_BOOL(p(1006, s)), s, p, o, m) +# define BOOST_PP_FOR_1006(s, p, o, m) BOOST_PP_FOR_1006_C(BOOST_PP_BOOL(p(1007, s)), s, p, o, m) +# define BOOST_PP_FOR_1007(s, p, o, m) BOOST_PP_FOR_1007_C(BOOST_PP_BOOL(p(1008, s)), s, p, o, m) +# define BOOST_PP_FOR_1008(s, p, o, m) BOOST_PP_FOR_1008_C(BOOST_PP_BOOL(p(1009, s)), s, p, o, m) +# define BOOST_PP_FOR_1009(s, p, o, m) BOOST_PP_FOR_1009_C(BOOST_PP_BOOL(p(1010, s)), s, p, o, m) +# define BOOST_PP_FOR_1010(s, p, o, m) BOOST_PP_FOR_1010_C(BOOST_PP_BOOL(p(1011, s)), s, p, o, m) +# define BOOST_PP_FOR_1011(s, p, o, m) BOOST_PP_FOR_1011_C(BOOST_PP_BOOL(p(1012, s)), s, p, o, m) +# define BOOST_PP_FOR_1012(s, p, o, m) BOOST_PP_FOR_1012_C(BOOST_PP_BOOL(p(1013, s)), s, p, o, m) +# define BOOST_PP_FOR_1013(s, p, o, m) BOOST_PP_FOR_1013_C(BOOST_PP_BOOL(p(1014, s)), s, p, o, m) +# define BOOST_PP_FOR_1014(s, p, o, m) BOOST_PP_FOR_1014_C(BOOST_PP_BOOL(p(1015, s)), s, p, o, m) +# define BOOST_PP_FOR_1015(s, p, o, m) BOOST_PP_FOR_1015_C(BOOST_PP_BOOL(p(1016, s)), s, p, o, m) +# define BOOST_PP_FOR_1016(s, p, o, m) BOOST_PP_FOR_1016_C(BOOST_PP_BOOL(p(1017, s)), s, p, o, m) +# define BOOST_PP_FOR_1017(s, p, o, m) BOOST_PP_FOR_1017_C(BOOST_PP_BOOL(p(1018, s)), s, p, o, m) +# define BOOST_PP_FOR_1018(s, p, o, m) BOOST_PP_FOR_1018_C(BOOST_PP_BOOL(p(1019, s)), s, p, o, m) +# define BOOST_PP_FOR_1019(s, p, o, m) BOOST_PP_FOR_1019_C(BOOST_PP_BOOL(p(1020, s)), s, p, o, m) +# define BOOST_PP_FOR_1020(s, p, o, m) BOOST_PP_FOR_1020_C(BOOST_PP_BOOL(p(1021, s)), s, p, o, m) +# define BOOST_PP_FOR_1021(s, p, o, m) BOOST_PP_FOR_1021_C(BOOST_PP_BOOL(p(1022, s)), s, p, o, m) +# define BOOST_PP_FOR_1022(s, p, o, m) BOOST_PP_FOR_1022_C(BOOST_PP_BOOL(p(1023, s)), s, p, o, m) +# define BOOST_PP_FOR_1023(s, p, o, m) BOOST_PP_FOR_1023_C(BOOST_PP_BOOL(p(1024, s)), s, p, o, m) +# define BOOST_PP_FOR_1024(s, p, o, m) BOOST_PP_FOR_1024_C(BOOST_PP_BOOL(p(1025, s)), s, p, o, m) +# +# define BOOST_PP_FOR_513_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(514, s) BOOST_PP_IIF(c, BOOST_PP_FOR_514, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(514, s), p, o, m) +# define BOOST_PP_FOR_514_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(515, s) BOOST_PP_IIF(c, BOOST_PP_FOR_515, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(515, s), p, o, m) +# define BOOST_PP_FOR_515_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(516, s) BOOST_PP_IIF(c, BOOST_PP_FOR_516, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(516, s), p, o, m) +# define BOOST_PP_FOR_516_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(517, s) BOOST_PP_IIF(c, BOOST_PP_FOR_517, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(517, s), p, o, m) +# define BOOST_PP_FOR_517_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(518, s) BOOST_PP_IIF(c, BOOST_PP_FOR_518, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(518, s), p, o, m) +# define BOOST_PP_FOR_518_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(519, s) BOOST_PP_IIF(c, BOOST_PP_FOR_519, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(519, s), p, o, m) +# define BOOST_PP_FOR_519_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(520, s) BOOST_PP_IIF(c, BOOST_PP_FOR_520, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(520, s), p, o, m) +# define BOOST_PP_FOR_520_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(521, s) BOOST_PP_IIF(c, BOOST_PP_FOR_521, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(521, s), p, o, m) +# define BOOST_PP_FOR_521_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(522, s) BOOST_PP_IIF(c, BOOST_PP_FOR_522, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(522, s), p, o, m) +# define BOOST_PP_FOR_522_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(523, s) BOOST_PP_IIF(c, BOOST_PP_FOR_523, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(523, s), p, o, m) +# define BOOST_PP_FOR_523_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(524, s) BOOST_PP_IIF(c, BOOST_PP_FOR_524, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(524, s), p, o, m) +# define BOOST_PP_FOR_524_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(525, s) BOOST_PP_IIF(c, BOOST_PP_FOR_525, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(525, s), p, o, m) +# define BOOST_PP_FOR_525_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(526, s) BOOST_PP_IIF(c, BOOST_PP_FOR_526, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(526, s), p, o, m) +# define BOOST_PP_FOR_526_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(527, s) BOOST_PP_IIF(c, BOOST_PP_FOR_527, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(527, s), p, o, m) +# define BOOST_PP_FOR_527_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(528, s) BOOST_PP_IIF(c, BOOST_PP_FOR_528, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(528, s), p, o, m) +# define BOOST_PP_FOR_528_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(529, s) BOOST_PP_IIF(c, BOOST_PP_FOR_529, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(529, s), p, o, m) +# define BOOST_PP_FOR_529_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(530, s) BOOST_PP_IIF(c, BOOST_PP_FOR_530, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(530, s), p, o, m) +# define BOOST_PP_FOR_530_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(531, s) BOOST_PP_IIF(c, BOOST_PP_FOR_531, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(531, s), p, o, m) +# define BOOST_PP_FOR_531_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(532, s) BOOST_PP_IIF(c, BOOST_PP_FOR_532, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(532, s), p, o, m) +# define BOOST_PP_FOR_532_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(533, s) BOOST_PP_IIF(c, BOOST_PP_FOR_533, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(533, s), p, o, m) +# define BOOST_PP_FOR_533_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(534, s) BOOST_PP_IIF(c, BOOST_PP_FOR_534, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(534, s), p, o, m) +# define BOOST_PP_FOR_534_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(535, s) BOOST_PP_IIF(c, BOOST_PP_FOR_535, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(535, s), p, o, m) +# define BOOST_PP_FOR_535_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(536, s) BOOST_PP_IIF(c, BOOST_PP_FOR_536, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(536, s), p, o, m) +# define BOOST_PP_FOR_536_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(537, s) BOOST_PP_IIF(c, BOOST_PP_FOR_537, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(537, s), p, o, m) +# define BOOST_PP_FOR_537_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(538, s) BOOST_PP_IIF(c, BOOST_PP_FOR_538, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(538, s), p, o, m) +# define BOOST_PP_FOR_538_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(539, s) BOOST_PP_IIF(c, BOOST_PP_FOR_539, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(539, s), p, o, m) +# define BOOST_PP_FOR_539_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(540, s) BOOST_PP_IIF(c, BOOST_PP_FOR_540, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(540, s), p, o, m) +# define BOOST_PP_FOR_540_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(541, s) BOOST_PP_IIF(c, BOOST_PP_FOR_541, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(541, s), p, o, m) +# define BOOST_PP_FOR_541_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(542, s) BOOST_PP_IIF(c, BOOST_PP_FOR_542, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(542, s), p, o, m) +# define BOOST_PP_FOR_542_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(543, s) BOOST_PP_IIF(c, BOOST_PP_FOR_543, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(543, s), p, o, m) +# define BOOST_PP_FOR_543_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(544, s) BOOST_PP_IIF(c, BOOST_PP_FOR_544, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(544, s), p, o, m) +# define BOOST_PP_FOR_544_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(545, s) BOOST_PP_IIF(c, BOOST_PP_FOR_545, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(545, s), p, o, m) +# define BOOST_PP_FOR_545_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(546, s) BOOST_PP_IIF(c, BOOST_PP_FOR_546, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(546, s), p, o, m) +# define BOOST_PP_FOR_546_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(547, s) BOOST_PP_IIF(c, BOOST_PP_FOR_547, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(547, s), p, o, m) +# define BOOST_PP_FOR_547_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(548, s) BOOST_PP_IIF(c, BOOST_PP_FOR_548, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(548, s), p, o, m) +# define BOOST_PP_FOR_548_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(549, s) BOOST_PP_IIF(c, BOOST_PP_FOR_549, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(549, s), p, o, m) +# define BOOST_PP_FOR_549_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(550, s) BOOST_PP_IIF(c, BOOST_PP_FOR_550, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(550, s), p, o, m) +# define BOOST_PP_FOR_550_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(551, s) BOOST_PP_IIF(c, BOOST_PP_FOR_551, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(551, s), p, o, m) +# define BOOST_PP_FOR_551_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(552, s) BOOST_PP_IIF(c, BOOST_PP_FOR_552, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(552, s), p, o, m) +# define BOOST_PP_FOR_552_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(553, s) BOOST_PP_IIF(c, BOOST_PP_FOR_553, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(553, s), p, o, m) +# define BOOST_PP_FOR_553_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(554, s) BOOST_PP_IIF(c, BOOST_PP_FOR_554, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(554, s), p, o, m) +# define BOOST_PP_FOR_554_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(555, s) BOOST_PP_IIF(c, BOOST_PP_FOR_555, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(555, s), p, o, m) +# define BOOST_PP_FOR_555_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(556, s) BOOST_PP_IIF(c, BOOST_PP_FOR_556, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(556, s), p, o, m) +# define BOOST_PP_FOR_556_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(557, s) BOOST_PP_IIF(c, BOOST_PP_FOR_557, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(557, s), p, o, m) +# define BOOST_PP_FOR_557_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(558, s) BOOST_PP_IIF(c, BOOST_PP_FOR_558, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(558, s), p, o, m) +# define BOOST_PP_FOR_558_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(559, s) BOOST_PP_IIF(c, BOOST_PP_FOR_559, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(559, s), p, o, m) +# define BOOST_PP_FOR_559_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(560, s) BOOST_PP_IIF(c, BOOST_PP_FOR_560, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(560, s), p, o, m) +# define BOOST_PP_FOR_560_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(561, s) BOOST_PP_IIF(c, BOOST_PP_FOR_561, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(561, s), p, o, m) +# define BOOST_PP_FOR_561_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(562, s) BOOST_PP_IIF(c, BOOST_PP_FOR_562, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(562, s), p, o, m) +# define BOOST_PP_FOR_562_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(563, s) BOOST_PP_IIF(c, BOOST_PP_FOR_563, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(563, s), p, o, m) +# define BOOST_PP_FOR_563_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(564, s) BOOST_PP_IIF(c, BOOST_PP_FOR_564, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(564, s), p, o, m) +# define BOOST_PP_FOR_564_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(565, s) BOOST_PP_IIF(c, BOOST_PP_FOR_565, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(565, s), p, o, m) +# define BOOST_PP_FOR_565_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(566, s) BOOST_PP_IIF(c, BOOST_PP_FOR_566, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(566, s), p, o, m) +# define BOOST_PP_FOR_566_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(567, s) BOOST_PP_IIF(c, BOOST_PP_FOR_567, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(567, s), p, o, m) +# define BOOST_PP_FOR_567_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(568, s) BOOST_PP_IIF(c, BOOST_PP_FOR_568, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(568, s), p, o, m) +# define BOOST_PP_FOR_568_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(569, s) BOOST_PP_IIF(c, BOOST_PP_FOR_569, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(569, s), p, o, m) +# define BOOST_PP_FOR_569_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(570, s) BOOST_PP_IIF(c, BOOST_PP_FOR_570, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(570, s), p, o, m) +# define BOOST_PP_FOR_570_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(571, s) BOOST_PP_IIF(c, BOOST_PP_FOR_571, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(571, s), p, o, m) +# define BOOST_PP_FOR_571_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(572, s) BOOST_PP_IIF(c, BOOST_PP_FOR_572, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(572, s), p, o, m) +# define BOOST_PP_FOR_572_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(573, s) BOOST_PP_IIF(c, BOOST_PP_FOR_573, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(573, s), p, o, m) +# define BOOST_PP_FOR_573_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(574, s) BOOST_PP_IIF(c, BOOST_PP_FOR_574, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(574, s), p, o, m) +# define BOOST_PP_FOR_574_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(575, s) BOOST_PP_IIF(c, BOOST_PP_FOR_575, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(575, s), p, o, m) +# define BOOST_PP_FOR_575_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(576, s) BOOST_PP_IIF(c, BOOST_PP_FOR_576, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(576, s), p, o, m) +# define BOOST_PP_FOR_576_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(577, s) BOOST_PP_IIF(c, BOOST_PP_FOR_577, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(577, s), p, o, m) +# define BOOST_PP_FOR_577_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(578, s) BOOST_PP_IIF(c, BOOST_PP_FOR_578, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(578, s), p, o, m) +# define BOOST_PP_FOR_578_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(579, s) BOOST_PP_IIF(c, BOOST_PP_FOR_579, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(579, s), p, o, m) +# define BOOST_PP_FOR_579_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(580, s) BOOST_PP_IIF(c, BOOST_PP_FOR_580, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(580, s), p, o, m) +# define BOOST_PP_FOR_580_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(581, s) BOOST_PP_IIF(c, BOOST_PP_FOR_581, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(581, s), p, o, m) +# define BOOST_PP_FOR_581_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(582, s) BOOST_PP_IIF(c, BOOST_PP_FOR_582, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(582, s), p, o, m) +# define BOOST_PP_FOR_582_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(583, s) BOOST_PP_IIF(c, BOOST_PP_FOR_583, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(583, s), p, o, m) +# define BOOST_PP_FOR_583_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(584, s) BOOST_PP_IIF(c, BOOST_PP_FOR_584, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(584, s), p, o, m) +# define BOOST_PP_FOR_584_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(585, s) BOOST_PP_IIF(c, BOOST_PP_FOR_585, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(585, s), p, o, m) +# define BOOST_PP_FOR_585_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(586, s) BOOST_PP_IIF(c, BOOST_PP_FOR_586, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(586, s), p, o, m) +# define BOOST_PP_FOR_586_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(587, s) BOOST_PP_IIF(c, BOOST_PP_FOR_587, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(587, s), p, o, m) +# define BOOST_PP_FOR_587_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(588, s) BOOST_PP_IIF(c, BOOST_PP_FOR_588, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(588, s), p, o, m) +# define BOOST_PP_FOR_588_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(589, s) BOOST_PP_IIF(c, BOOST_PP_FOR_589, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(589, s), p, o, m) +# define BOOST_PP_FOR_589_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(590, s) BOOST_PP_IIF(c, BOOST_PP_FOR_590, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(590, s), p, o, m) +# define BOOST_PP_FOR_590_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(591, s) BOOST_PP_IIF(c, BOOST_PP_FOR_591, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(591, s), p, o, m) +# define BOOST_PP_FOR_591_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(592, s) BOOST_PP_IIF(c, BOOST_PP_FOR_592, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(592, s), p, o, m) +# define BOOST_PP_FOR_592_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(593, s) BOOST_PP_IIF(c, BOOST_PP_FOR_593, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(593, s), p, o, m) +# define BOOST_PP_FOR_593_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(594, s) BOOST_PP_IIF(c, BOOST_PP_FOR_594, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(594, s), p, o, m) +# define BOOST_PP_FOR_594_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(595, s) BOOST_PP_IIF(c, BOOST_PP_FOR_595, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(595, s), p, o, m) +# define BOOST_PP_FOR_595_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(596, s) BOOST_PP_IIF(c, BOOST_PP_FOR_596, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(596, s), p, o, m) +# define BOOST_PP_FOR_596_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(597, s) BOOST_PP_IIF(c, BOOST_PP_FOR_597, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(597, s), p, o, m) +# define BOOST_PP_FOR_597_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(598, s) BOOST_PP_IIF(c, BOOST_PP_FOR_598, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(598, s), p, o, m) +# define BOOST_PP_FOR_598_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(599, s) BOOST_PP_IIF(c, BOOST_PP_FOR_599, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(599, s), p, o, m) +# define BOOST_PP_FOR_599_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(600, s) BOOST_PP_IIF(c, BOOST_PP_FOR_600, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(600, s), p, o, m) +# define BOOST_PP_FOR_600_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(601, s) BOOST_PP_IIF(c, BOOST_PP_FOR_601, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(601, s), p, o, m) +# define BOOST_PP_FOR_601_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(602, s) BOOST_PP_IIF(c, BOOST_PP_FOR_602, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(602, s), p, o, m) +# define BOOST_PP_FOR_602_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(603, s) BOOST_PP_IIF(c, BOOST_PP_FOR_603, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(603, s), p, o, m) +# define BOOST_PP_FOR_603_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(604, s) BOOST_PP_IIF(c, BOOST_PP_FOR_604, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(604, s), p, o, m) +# define BOOST_PP_FOR_604_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(605, s) BOOST_PP_IIF(c, BOOST_PP_FOR_605, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(605, s), p, o, m) +# define BOOST_PP_FOR_605_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(606, s) BOOST_PP_IIF(c, BOOST_PP_FOR_606, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(606, s), p, o, m) +# define BOOST_PP_FOR_606_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(607, s) BOOST_PP_IIF(c, BOOST_PP_FOR_607, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(607, s), p, o, m) +# define BOOST_PP_FOR_607_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(608, s) BOOST_PP_IIF(c, BOOST_PP_FOR_608, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(608, s), p, o, m) +# define BOOST_PP_FOR_608_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(609, s) BOOST_PP_IIF(c, BOOST_PP_FOR_609, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(609, s), p, o, m) +# define BOOST_PP_FOR_609_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(610, s) BOOST_PP_IIF(c, BOOST_PP_FOR_610, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(610, s), p, o, m) +# define BOOST_PP_FOR_610_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(611, s) BOOST_PP_IIF(c, BOOST_PP_FOR_611, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(611, s), p, o, m) +# define BOOST_PP_FOR_611_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(612, s) BOOST_PP_IIF(c, BOOST_PP_FOR_612, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(612, s), p, o, m) +# define BOOST_PP_FOR_612_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(613, s) BOOST_PP_IIF(c, BOOST_PP_FOR_613, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(613, s), p, o, m) +# define BOOST_PP_FOR_613_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(614, s) BOOST_PP_IIF(c, BOOST_PP_FOR_614, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(614, s), p, o, m) +# define BOOST_PP_FOR_614_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(615, s) BOOST_PP_IIF(c, BOOST_PP_FOR_615, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(615, s), p, o, m) +# define BOOST_PP_FOR_615_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(616, s) BOOST_PP_IIF(c, BOOST_PP_FOR_616, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(616, s), p, o, m) +# define BOOST_PP_FOR_616_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(617, s) BOOST_PP_IIF(c, BOOST_PP_FOR_617, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(617, s), p, o, m) +# define BOOST_PP_FOR_617_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(618, s) BOOST_PP_IIF(c, BOOST_PP_FOR_618, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(618, s), p, o, m) +# define BOOST_PP_FOR_618_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(619, s) BOOST_PP_IIF(c, BOOST_PP_FOR_619, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(619, s), p, o, m) +# define BOOST_PP_FOR_619_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(620, s) BOOST_PP_IIF(c, BOOST_PP_FOR_620, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(620, s), p, o, m) +# define BOOST_PP_FOR_620_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(621, s) BOOST_PP_IIF(c, BOOST_PP_FOR_621, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(621, s), p, o, m) +# define BOOST_PP_FOR_621_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(622, s) BOOST_PP_IIF(c, BOOST_PP_FOR_622, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(622, s), p, o, m) +# define BOOST_PP_FOR_622_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(623, s) BOOST_PP_IIF(c, BOOST_PP_FOR_623, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(623, s), p, o, m) +# define BOOST_PP_FOR_623_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(624, s) BOOST_PP_IIF(c, BOOST_PP_FOR_624, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(624, s), p, o, m) +# define BOOST_PP_FOR_624_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(625, s) BOOST_PP_IIF(c, BOOST_PP_FOR_625, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(625, s), p, o, m) +# define BOOST_PP_FOR_625_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(626, s) BOOST_PP_IIF(c, BOOST_PP_FOR_626, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(626, s), p, o, m) +# define BOOST_PP_FOR_626_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(627, s) BOOST_PP_IIF(c, BOOST_PP_FOR_627, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(627, s), p, o, m) +# define BOOST_PP_FOR_627_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(628, s) BOOST_PP_IIF(c, BOOST_PP_FOR_628, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(628, s), p, o, m) +# define BOOST_PP_FOR_628_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(629, s) BOOST_PP_IIF(c, BOOST_PP_FOR_629, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(629, s), p, o, m) +# define BOOST_PP_FOR_629_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(630, s) BOOST_PP_IIF(c, BOOST_PP_FOR_630, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(630, s), p, o, m) +# define BOOST_PP_FOR_630_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(631, s) BOOST_PP_IIF(c, BOOST_PP_FOR_631, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(631, s), p, o, m) +# define BOOST_PP_FOR_631_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(632, s) BOOST_PP_IIF(c, BOOST_PP_FOR_632, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(632, s), p, o, m) +# define BOOST_PP_FOR_632_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(633, s) BOOST_PP_IIF(c, BOOST_PP_FOR_633, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(633, s), p, o, m) +# define BOOST_PP_FOR_633_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(634, s) BOOST_PP_IIF(c, BOOST_PP_FOR_634, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(634, s), p, o, m) +# define BOOST_PP_FOR_634_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(635, s) BOOST_PP_IIF(c, BOOST_PP_FOR_635, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(635, s), p, o, m) +# define BOOST_PP_FOR_635_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(636, s) BOOST_PP_IIF(c, BOOST_PP_FOR_636, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(636, s), p, o, m) +# define BOOST_PP_FOR_636_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(637, s) BOOST_PP_IIF(c, BOOST_PP_FOR_637, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(637, s), p, o, m) +# define BOOST_PP_FOR_637_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(638, s) BOOST_PP_IIF(c, BOOST_PP_FOR_638, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(638, s), p, o, m) +# define BOOST_PP_FOR_638_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(639, s) BOOST_PP_IIF(c, BOOST_PP_FOR_639, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(639, s), p, o, m) +# define BOOST_PP_FOR_639_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(640, s) BOOST_PP_IIF(c, BOOST_PP_FOR_640, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(640, s), p, o, m) +# define BOOST_PP_FOR_640_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(641, s) BOOST_PP_IIF(c, BOOST_PP_FOR_641, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(641, s), p, o, m) +# define BOOST_PP_FOR_641_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(642, s) BOOST_PP_IIF(c, BOOST_PP_FOR_642, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(642, s), p, o, m) +# define BOOST_PP_FOR_642_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(643, s) BOOST_PP_IIF(c, BOOST_PP_FOR_643, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(643, s), p, o, m) +# define BOOST_PP_FOR_643_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(644, s) BOOST_PP_IIF(c, BOOST_PP_FOR_644, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(644, s), p, o, m) +# define BOOST_PP_FOR_644_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(645, s) BOOST_PP_IIF(c, BOOST_PP_FOR_645, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(645, s), p, o, m) +# define BOOST_PP_FOR_645_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(646, s) BOOST_PP_IIF(c, BOOST_PP_FOR_646, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(646, s), p, o, m) +# define BOOST_PP_FOR_646_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(647, s) BOOST_PP_IIF(c, BOOST_PP_FOR_647, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(647, s), p, o, m) +# define BOOST_PP_FOR_647_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(648, s) BOOST_PP_IIF(c, BOOST_PP_FOR_648, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(648, s), p, o, m) +# define BOOST_PP_FOR_648_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(649, s) BOOST_PP_IIF(c, BOOST_PP_FOR_649, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(649, s), p, o, m) +# define BOOST_PP_FOR_649_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(650, s) BOOST_PP_IIF(c, BOOST_PP_FOR_650, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(650, s), p, o, m) +# define BOOST_PP_FOR_650_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(651, s) BOOST_PP_IIF(c, BOOST_PP_FOR_651, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(651, s), p, o, m) +# define BOOST_PP_FOR_651_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(652, s) BOOST_PP_IIF(c, BOOST_PP_FOR_652, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(652, s), p, o, m) +# define BOOST_PP_FOR_652_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(653, s) BOOST_PP_IIF(c, BOOST_PP_FOR_653, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(653, s), p, o, m) +# define BOOST_PP_FOR_653_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(654, s) BOOST_PP_IIF(c, BOOST_PP_FOR_654, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(654, s), p, o, m) +# define BOOST_PP_FOR_654_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(655, s) BOOST_PP_IIF(c, BOOST_PP_FOR_655, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(655, s), p, o, m) +# define BOOST_PP_FOR_655_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(656, s) BOOST_PP_IIF(c, BOOST_PP_FOR_656, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(656, s), p, o, m) +# define BOOST_PP_FOR_656_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(657, s) BOOST_PP_IIF(c, BOOST_PP_FOR_657, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(657, s), p, o, m) +# define BOOST_PP_FOR_657_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(658, s) BOOST_PP_IIF(c, BOOST_PP_FOR_658, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(658, s), p, o, m) +# define BOOST_PP_FOR_658_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(659, s) BOOST_PP_IIF(c, BOOST_PP_FOR_659, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(659, s), p, o, m) +# define BOOST_PP_FOR_659_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(660, s) BOOST_PP_IIF(c, BOOST_PP_FOR_660, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(660, s), p, o, m) +# define BOOST_PP_FOR_660_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(661, s) BOOST_PP_IIF(c, BOOST_PP_FOR_661, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(661, s), p, o, m) +# define BOOST_PP_FOR_661_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(662, s) BOOST_PP_IIF(c, BOOST_PP_FOR_662, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(662, s), p, o, m) +# define BOOST_PP_FOR_662_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(663, s) BOOST_PP_IIF(c, BOOST_PP_FOR_663, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(663, s), p, o, m) +# define BOOST_PP_FOR_663_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(664, s) BOOST_PP_IIF(c, BOOST_PP_FOR_664, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(664, s), p, o, m) +# define BOOST_PP_FOR_664_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(665, s) BOOST_PP_IIF(c, BOOST_PP_FOR_665, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(665, s), p, o, m) +# define BOOST_PP_FOR_665_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(666, s) BOOST_PP_IIF(c, BOOST_PP_FOR_666, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(666, s), p, o, m) +# define BOOST_PP_FOR_666_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(667, s) BOOST_PP_IIF(c, BOOST_PP_FOR_667, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(667, s), p, o, m) +# define BOOST_PP_FOR_667_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(668, s) BOOST_PP_IIF(c, BOOST_PP_FOR_668, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(668, s), p, o, m) +# define BOOST_PP_FOR_668_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(669, s) BOOST_PP_IIF(c, BOOST_PP_FOR_669, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(669, s), p, o, m) +# define BOOST_PP_FOR_669_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(670, s) BOOST_PP_IIF(c, BOOST_PP_FOR_670, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(670, s), p, o, m) +# define BOOST_PP_FOR_670_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(671, s) BOOST_PP_IIF(c, BOOST_PP_FOR_671, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(671, s), p, o, m) +# define BOOST_PP_FOR_671_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(672, s) BOOST_PP_IIF(c, BOOST_PP_FOR_672, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(672, s), p, o, m) +# define BOOST_PP_FOR_672_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(673, s) BOOST_PP_IIF(c, BOOST_PP_FOR_673, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(673, s), p, o, m) +# define BOOST_PP_FOR_673_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(674, s) BOOST_PP_IIF(c, BOOST_PP_FOR_674, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(674, s), p, o, m) +# define BOOST_PP_FOR_674_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(675, s) BOOST_PP_IIF(c, BOOST_PP_FOR_675, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(675, s), p, o, m) +# define BOOST_PP_FOR_675_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(676, s) BOOST_PP_IIF(c, BOOST_PP_FOR_676, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(676, s), p, o, m) +# define BOOST_PP_FOR_676_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(677, s) BOOST_PP_IIF(c, BOOST_PP_FOR_677, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(677, s), p, o, m) +# define BOOST_PP_FOR_677_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(678, s) BOOST_PP_IIF(c, BOOST_PP_FOR_678, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(678, s), p, o, m) +# define BOOST_PP_FOR_678_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(679, s) BOOST_PP_IIF(c, BOOST_PP_FOR_679, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(679, s), p, o, m) +# define BOOST_PP_FOR_679_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(680, s) BOOST_PP_IIF(c, BOOST_PP_FOR_680, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(680, s), p, o, m) +# define BOOST_PP_FOR_680_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(681, s) BOOST_PP_IIF(c, BOOST_PP_FOR_681, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(681, s), p, o, m) +# define BOOST_PP_FOR_681_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(682, s) BOOST_PP_IIF(c, BOOST_PP_FOR_682, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(682, s), p, o, m) +# define BOOST_PP_FOR_682_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(683, s) BOOST_PP_IIF(c, BOOST_PP_FOR_683, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(683, s), p, o, m) +# define BOOST_PP_FOR_683_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(684, s) BOOST_PP_IIF(c, BOOST_PP_FOR_684, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(684, s), p, o, m) +# define BOOST_PP_FOR_684_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(685, s) BOOST_PP_IIF(c, BOOST_PP_FOR_685, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(685, s), p, o, m) +# define BOOST_PP_FOR_685_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(686, s) BOOST_PP_IIF(c, BOOST_PP_FOR_686, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(686, s), p, o, m) +# define BOOST_PP_FOR_686_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(687, s) BOOST_PP_IIF(c, BOOST_PP_FOR_687, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(687, s), p, o, m) +# define BOOST_PP_FOR_687_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(688, s) BOOST_PP_IIF(c, BOOST_PP_FOR_688, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(688, s), p, o, m) +# define BOOST_PP_FOR_688_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(689, s) BOOST_PP_IIF(c, BOOST_PP_FOR_689, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(689, s), p, o, m) +# define BOOST_PP_FOR_689_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(690, s) BOOST_PP_IIF(c, BOOST_PP_FOR_690, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(690, s), p, o, m) +# define BOOST_PP_FOR_690_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(691, s) BOOST_PP_IIF(c, BOOST_PP_FOR_691, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(691, s), p, o, m) +# define BOOST_PP_FOR_691_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(692, s) BOOST_PP_IIF(c, BOOST_PP_FOR_692, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(692, s), p, o, m) +# define BOOST_PP_FOR_692_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(693, s) BOOST_PP_IIF(c, BOOST_PP_FOR_693, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(693, s), p, o, m) +# define BOOST_PP_FOR_693_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(694, s) BOOST_PP_IIF(c, BOOST_PP_FOR_694, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(694, s), p, o, m) +# define BOOST_PP_FOR_694_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(695, s) BOOST_PP_IIF(c, BOOST_PP_FOR_695, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(695, s), p, o, m) +# define BOOST_PP_FOR_695_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(696, s) BOOST_PP_IIF(c, BOOST_PP_FOR_696, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(696, s), p, o, m) +# define BOOST_PP_FOR_696_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(697, s) BOOST_PP_IIF(c, BOOST_PP_FOR_697, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(697, s), p, o, m) +# define BOOST_PP_FOR_697_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(698, s) BOOST_PP_IIF(c, BOOST_PP_FOR_698, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(698, s), p, o, m) +# define BOOST_PP_FOR_698_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(699, s) BOOST_PP_IIF(c, BOOST_PP_FOR_699, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(699, s), p, o, m) +# define BOOST_PP_FOR_699_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(700, s) BOOST_PP_IIF(c, BOOST_PP_FOR_700, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(700, s), p, o, m) +# define BOOST_PP_FOR_700_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(701, s) BOOST_PP_IIF(c, BOOST_PP_FOR_701, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(701, s), p, o, m) +# define BOOST_PP_FOR_701_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(702, s) BOOST_PP_IIF(c, BOOST_PP_FOR_702, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(702, s), p, o, m) +# define BOOST_PP_FOR_702_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(703, s) BOOST_PP_IIF(c, BOOST_PP_FOR_703, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(703, s), p, o, m) +# define BOOST_PP_FOR_703_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(704, s) BOOST_PP_IIF(c, BOOST_PP_FOR_704, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(704, s), p, o, m) +# define BOOST_PP_FOR_704_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(705, s) BOOST_PP_IIF(c, BOOST_PP_FOR_705, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(705, s), p, o, m) +# define BOOST_PP_FOR_705_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(706, s) BOOST_PP_IIF(c, BOOST_PP_FOR_706, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(706, s), p, o, m) +# define BOOST_PP_FOR_706_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(707, s) BOOST_PP_IIF(c, BOOST_PP_FOR_707, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(707, s), p, o, m) +# define BOOST_PP_FOR_707_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(708, s) BOOST_PP_IIF(c, BOOST_PP_FOR_708, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(708, s), p, o, m) +# define BOOST_PP_FOR_708_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(709, s) BOOST_PP_IIF(c, BOOST_PP_FOR_709, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(709, s), p, o, m) +# define BOOST_PP_FOR_709_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(710, s) BOOST_PP_IIF(c, BOOST_PP_FOR_710, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(710, s), p, o, m) +# define BOOST_PP_FOR_710_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(711, s) BOOST_PP_IIF(c, BOOST_PP_FOR_711, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(711, s), p, o, m) +# define BOOST_PP_FOR_711_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(712, s) BOOST_PP_IIF(c, BOOST_PP_FOR_712, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(712, s), p, o, m) +# define BOOST_PP_FOR_712_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(713, s) BOOST_PP_IIF(c, BOOST_PP_FOR_713, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(713, s), p, o, m) +# define BOOST_PP_FOR_713_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(714, s) BOOST_PP_IIF(c, BOOST_PP_FOR_714, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(714, s), p, o, m) +# define BOOST_PP_FOR_714_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(715, s) BOOST_PP_IIF(c, BOOST_PP_FOR_715, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(715, s), p, o, m) +# define BOOST_PP_FOR_715_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(716, s) BOOST_PP_IIF(c, BOOST_PP_FOR_716, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(716, s), p, o, m) +# define BOOST_PP_FOR_716_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(717, s) BOOST_PP_IIF(c, BOOST_PP_FOR_717, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(717, s), p, o, m) +# define BOOST_PP_FOR_717_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(718, s) BOOST_PP_IIF(c, BOOST_PP_FOR_718, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(718, s), p, o, m) +# define BOOST_PP_FOR_718_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(719, s) BOOST_PP_IIF(c, BOOST_PP_FOR_719, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(719, s), p, o, m) +# define BOOST_PP_FOR_719_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(720, s) BOOST_PP_IIF(c, BOOST_PP_FOR_720, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(720, s), p, o, m) +# define BOOST_PP_FOR_720_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(721, s) BOOST_PP_IIF(c, BOOST_PP_FOR_721, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(721, s), p, o, m) +# define BOOST_PP_FOR_721_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(722, s) BOOST_PP_IIF(c, BOOST_PP_FOR_722, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(722, s), p, o, m) +# define BOOST_PP_FOR_722_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(723, s) BOOST_PP_IIF(c, BOOST_PP_FOR_723, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(723, s), p, o, m) +# define BOOST_PP_FOR_723_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(724, s) BOOST_PP_IIF(c, BOOST_PP_FOR_724, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(724, s), p, o, m) +# define BOOST_PP_FOR_724_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(725, s) BOOST_PP_IIF(c, BOOST_PP_FOR_725, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(725, s), p, o, m) +# define BOOST_PP_FOR_725_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(726, s) BOOST_PP_IIF(c, BOOST_PP_FOR_726, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(726, s), p, o, m) +# define BOOST_PP_FOR_726_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(727, s) BOOST_PP_IIF(c, BOOST_PP_FOR_727, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(727, s), p, o, m) +# define BOOST_PP_FOR_727_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(728, s) BOOST_PP_IIF(c, BOOST_PP_FOR_728, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(728, s), p, o, m) +# define BOOST_PP_FOR_728_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(729, s) BOOST_PP_IIF(c, BOOST_PP_FOR_729, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(729, s), p, o, m) +# define BOOST_PP_FOR_729_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(730, s) BOOST_PP_IIF(c, BOOST_PP_FOR_730, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(730, s), p, o, m) +# define BOOST_PP_FOR_730_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(731, s) BOOST_PP_IIF(c, BOOST_PP_FOR_731, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(731, s), p, o, m) +# define BOOST_PP_FOR_731_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(732, s) BOOST_PP_IIF(c, BOOST_PP_FOR_732, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(732, s), p, o, m) +# define BOOST_PP_FOR_732_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(733, s) BOOST_PP_IIF(c, BOOST_PP_FOR_733, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(733, s), p, o, m) +# define BOOST_PP_FOR_733_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(734, s) BOOST_PP_IIF(c, BOOST_PP_FOR_734, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(734, s), p, o, m) +# define BOOST_PP_FOR_734_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(735, s) BOOST_PP_IIF(c, BOOST_PP_FOR_735, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(735, s), p, o, m) +# define BOOST_PP_FOR_735_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(736, s) BOOST_PP_IIF(c, BOOST_PP_FOR_736, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(736, s), p, o, m) +# define BOOST_PP_FOR_736_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(737, s) BOOST_PP_IIF(c, BOOST_PP_FOR_737, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(737, s), p, o, m) +# define BOOST_PP_FOR_737_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(738, s) BOOST_PP_IIF(c, BOOST_PP_FOR_738, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(738, s), p, o, m) +# define BOOST_PP_FOR_738_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(739, s) BOOST_PP_IIF(c, BOOST_PP_FOR_739, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(739, s), p, o, m) +# define BOOST_PP_FOR_739_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(740, s) BOOST_PP_IIF(c, BOOST_PP_FOR_740, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(740, s), p, o, m) +# define BOOST_PP_FOR_740_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(741, s) BOOST_PP_IIF(c, BOOST_PP_FOR_741, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(741, s), p, o, m) +# define BOOST_PP_FOR_741_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(742, s) BOOST_PP_IIF(c, BOOST_PP_FOR_742, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(742, s), p, o, m) +# define BOOST_PP_FOR_742_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(743, s) BOOST_PP_IIF(c, BOOST_PP_FOR_743, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(743, s), p, o, m) +# define BOOST_PP_FOR_743_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(744, s) BOOST_PP_IIF(c, BOOST_PP_FOR_744, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(744, s), p, o, m) +# define BOOST_PP_FOR_744_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(745, s) BOOST_PP_IIF(c, BOOST_PP_FOR_745, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(745, s), p, o, m) +# define BOOST_PP_FOR_745_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(746, s) BOOST_PP_IIF(c, BOOST_PP_FOR_746, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(746, s), p, o, m) +# define BOOST_PP_FOR_746_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(747, s) BOOST_PP_IIF(c, BOOST_PP_FOR_747, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(747, s), p, o, m) +# define BOOST_PP_FOR_747_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(748, s) BOOST_PP_IIF(c, BOOST_PP_FOR_748, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(748, s), p, o, m) +# define BOOST_PP_FOR_748_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(749, s) BOOST_PP_IIF(c, BOOST_PP_FOR_749, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(749, s), p, o, m) +# define BOOST_PP_FOR_749_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(750, s) BOOST_PP_IIF(c, BOOST_PP_FOR_750, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(750, s), p, o, m) +# define BOOST_PP_FOR_750_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(751, s) BOOST_PP_IIF(c, BOOST_PP_FOR_751, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(751, s), p, o, m) +# define BOOST_PP_FOR_751_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(752, s) BOOST_PP_IIF(c, BOOST_PP_FOR_752, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(752, s), p, o, m) +# define BOOST_PP_FOR_752_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(753, s) BOOST_PP_IIF(c, BOOST_PP_FOR_753, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(753, s), p, o, m) +# define BOOST_PP_FOR_753_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(754, s) BOOST_PP_IIF(c, BOOST_PP_FOR_754, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(754, s), p, o, m) +# define BOOST_PP_FOR_754_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(755, s) BOOST_PP_IIF(c, BOOST_PP_FOR_755, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(755, s), p, o, m) +# define BOOST_PP_FOR_755_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(756, s) BOOST_PP_IIF(c, BOOST_PP_FOR_756, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(756, s), p, o, m) +# define BOOST_PP_FOR_756_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(757, s) BOOST_PP_IIF(c, BOOST_PP_FOR_757, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(757, s), p, o, m) +# define BOOST_PP_FOR_757_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(758, s) BOOST_PP_IIF(c, BOOST_PP_FOR_758, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(758, s), p, o, m) +# define BOOST_PP_FOR_758_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(759, s) BOOST_PP_IIF(c, BOOST_PP_FOR_759, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(759, s), p, o, m) +# define BOOST_PP_FOR_759_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(760, s) BOOST_PP_IIF(c, BOOST_PP_FOR_760, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(760, s), p, o, m) +# define BOOST_PP_FOR_760_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(761, s) BOOST_PP_IIF(c, BOOST_PP_FOR_761, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(761, s), p, o, m) +# define BOOST_PP_FOR_761_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(762, s) BOOST_PP_IIF(c, BOOST_PP_FOR_762, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(762, s), p, o, m) +# define BOOST_PP_FOR_762_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(763, s) BOOST_PP_IIF(c, BOOST_PP_FOR_763, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(763, s), p, o, m) +# define BOOST_PP_FOR_763_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(764, s) BOOST_PP_IIF(c, BOOST_PP_FOR_764, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(764, s), p, o, m) +# define BOOST_PP_FOR_764_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(765, s) BOOST_PP_IIF(c, BOOST_PP_FOR_765, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(765, s), p, o, m) +# define BOOST_PP_FOR_765_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(766, s) BOOST_PP_IIF(c, BOOST_PP_FOR_766, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(766, s), p, o, m) +# define BOOST_PP_FOR_766_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(767, s) BOOST_PP_IIF(c, BOOST_PP_FOR_767, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(767, s), p, o, m) +# define BOOST_PP_FOR_767_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(768, s) BOOST_PP_IIF(c, BOOST_PP_FOR_768, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(768, s), p, o, m) +# define BOOST_PP_FOR_768_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(769, s) BOOST_PP_IIF(c, BOOST_PP_FOR_769, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(769, s), p, o, m) +# define BOOST_PP_FOR_769_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(770, s) BOOST_PP_IIF(c, BOOST_PP_FOR_770, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(770, s), p, o, m) +# define BOOST_PP_FOR_770_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(771, s) BOOST_PP_IIF(c, BOOST_PP_FOR_771, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(771, s), p, o, m) +# define BOOST_PP_FOR_771_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(772, s) BOOST_PP_IIF(c, BOOST_PP_FOR_772, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(772, s), p, o, m) +# define BOOST_PP_FOR_772_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(773, s) BOOST_PP_IIF(c, BOOST_PP_FOR_773, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(773, s), p, o, m) +# define BOOST_PP_FOR_773_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(774, s) BOOST_PP_IIF(c, BOOST_PP_FOR_774, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(774, s), p, o, m) +# define BOOST_PP_FOR_774_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(775, s) BOOST_PP_IIF(c, BOOST_PP_FOR_775, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(775, s), p, o, m) +# define BOOST_PP_FOR_775_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(776, s) BOOST_PP_IIF(c, BOOST_PP_FOR_776, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(776, s), p, o, m) +# define BOOST_PP_FOR_776_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(777, s) BOOST_PP_IIF(c, BOOST_PP_FOR_777, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(777, s), p, o, m) +# define BOOST_PP_FOR_777_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(778, s) BOOST_PP_IIF(c, BOOST_PP_FOR_778, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(778, s), p, o, m) +# define BOOST_PP_FOR_778_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(779, s) BOOST_PP_IIF(c, BOOST_PP_FOR_779, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(779, s), p, o, m) +# define BOOST_PP_FOR_779_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(780, s) BOOST_PP_IIF(c, BOOST_PP_FOR_780, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(780, s), p, o, m) +# define BOOST_PP_FOR_780_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(781, s) BOOST_PP_IIF(c, BOOST_PP_FOR_781, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(781, s), p, o, m) +# define BOOST_PP_FOR_781_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(782, s) BOOST_PP_IIF(c, BOOST_PP_FOR_782, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(782, s), p, o, m) +# define BOOST_PP_FOR_782_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(783, s) BOOST_PP_IIF(c, BOOST_PP_FOR_783, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(783, s), p, o, m) +# define BOOST_PP_FOR_783_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(784, s) BOOST_PP_IIF(c, BOOST_PP_FOR_784, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(784, s), p, o, m) +# define BOOST_PP_FOR_784_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(785, s) BOOST_PP_IIF(c, BOOST_PP_FOR_785, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(785, s), p, o, m) +# define BOOST_PP_FOR_785_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(786, s) BOOST_PP_IIF(c, BOOST_PP_FOR_786, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(786, s), p, o, m) +# define BOOST_PP_FOR_786_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(787, s) BOOST_PP_IIF(c, BOOST_PP_FOR_787, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(787, s), p, o, m) +# define BOOST_PP_FOR_787_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(788, s) BOOST_PP_IIF(c, BOOST_PP_FOR_788, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(788, s), p, o, m) +# define BOOST_PP_FOR_788_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(789, s) BOOST_PP_IIF(c, BOOST_PP_FOR_789, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(789, s), p, o, m) +# define BOOST_PP_FOR_789_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(790, s) BOOST_PP_IIF(c, BOOST_PP_FOR_790, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(790, s), p, o, m) +# define BOOST_PP_FOR_790_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(791, s) BOOST_PP_IIF(c, BOOST_PP_FOR_791, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(791, s), p, o, m) +# define BOOST_PP_FOR_791_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(792, s) BOOST_PP_IIF(c, BOOST_PP_FOR_792, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(792, s), p, o, m) +# define BOOST_PP_FOR_792_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(793, s) BOOST_PP_IIF(c, BOOST_PP_FOR_793, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(793, s), p, o, m) +# define BOOST_PP_FOR_793_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(794, s) BOOST_PP_IIF(c, BOOST_PP_FOR_794, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(794, s), p, o, m) +# define BOOST_PP_FOR_794_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(795, s) BOOST_PP_IIF(c, BOOST_PP_FOR_795, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(795, s), p, o, m) +# define BOOST_PP_FOR_795_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(796, s) BOOST_PP_IIF(c, BOOST_PP_FOR_796, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(796, s), p, o, m) +# define BOOST_PP_FOR_796_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(797, s) BOOST_PP_IIF(c, BOOST_PP_FOR_797, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(797, s), p, o, m) +# define BOOST_PP_FOR_797_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(798, s) BOOST_PP_IIF(c, BOOST_PP_FOR_798, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(798, s), p, o, m) +# define BOOST_PP_FOR_798_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(799, s) BOOST_PP_IIF(c, BOOST_PP_FOR_799, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(799, s), p, o, m) +# define BOOST_PP_FOR_799_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(800, s) BOOST_PP_IIF(c, BOOST_PP_FOR_800, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(800, s), p, o, m) +# define BOOST_PP_FOR_800_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(801, s) BOOST_PP_IIF(c, BOOST_PP_FOR_801, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(801, s), p, o, m) +# define BOOST_PP_FOR_801_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(802, s) BOOST_PP_IIF(c, BOOST_PP_FOR_802, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(802, s), p, o, m) +# define BOOST_PP_FOR_802_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(803, s) BOOST_PP_IIF(c, BOOST_PP_FOR_803, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(803, s), p, o, m) +# define BOOST_PP_FOR_803_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(804, s) BOOST_PP_IIF(c, BOOST_PP_FOR_804, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(804, s), p, o, m) +# define BOOST_PP_FOR_804_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(805, s) BOOST_PP_IIF(c, BOOST_PP_FOR_805, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(805, s), p, o, m) +# define BOOST_PP_FOR_805_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(806, s) BOOST_PP_IIF(c, BOOST_PP_FOR_806, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(806, s), p, o, m) +# define BOOST_PP_FOR_806_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(807, s) BOOST_PP_IIF(c, BOOST_PP_FOR_807, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(807, s), p, o, m) +# define BOOST_PP_FOR_807_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(808, s) BOOST_PP_IIF(c, BOOST_PP_FOR_808, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(808, s), p, o, m) +# define BOOST_PP_FOR_808_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(809, s) BOOST_PP_IIF(c, BOOST_PP_FOR_809, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(809, s), p, o, m) +# define BOOST_PP_FOR_809_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(810, s) BOOST_PP_IIF(c, BOOST_PP_FOR_810, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(810, s), p, o, m) +# define BOOST_PP_FOR_810_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(811, s) BOOST_PP_IIF(c, BOOST_PP_FOR_811, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(811, s), p, o, m) +# define BOOST_PP_FOR_811_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(812, s) BOOST_PP_IIF(c, BOOST_PP_FOR_812, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(812, s), p, o, m) +# define BOOST_PP_FOR_812_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(813, s) BOOST_PP_IIF(c, BOOST_PP_FOR_813, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(813, s), p, o, m) +# define BOOST_PP_FOR_813_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(814, s) BOOST_PP_IIF(c, BOOST_PP_FOR_814, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(814, s), p, o, m) +# define BOOST_PP_FOR_814_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(815, s) BOOST_PP_IIF(c, BOOST_PP_FOR_815, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(815, s), p, o, m) +# define BOOST_PP_FOR_815_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(816, s) BOOST_PP_IIF(c, BOOST_PP_FOR_816, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(816, s), p, o, m) +# define BOOST_PP_FOR_816_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(817, s) BOOST_PP_IIF(c, BOOST_PP_FOR_817, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(817, s), p, o, m) +# define BOOST_PP_FOR_817_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(818, s) BOOST_PP_IIF(c, BOOST_PP_FOR_818, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(818, s), p, o, m) +# define BOOST_PP_FOR_818_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(819, s) BOOST_PP_IIF(c, BOOST_PP_FOR_819, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(819, s), p, o, m) +# define BOOST_PP_FOR_819_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(820, s) BOOST_PP_IIF(c, BOOST_PP_FOR_820, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(820, s), p, o, m) +# define BOOST_PP_FOR_820_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(821, s) BOOST_PP_IIF(c, BOOST_PP_FOR_821, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(821, s), p, o, m) +# define BOOST_PP_FOR_821_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(822, s) BOOST_PP_IIF(c, BOOST_PP_FOR_822, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(822, s), p, o, m) +# define BOOST_PP_FOR_822_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(823, s) BOOST_PP_IIF(c, BOOST_PP_FOR_823, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(823, s), p, o, m) +# define BOOST_PP_FOR_823_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(824, s) BOOST_PP_IIF(c, BOOST_PP_FOR_824, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(824, s), p, o, m) +# define BOOST_PP_FOR_824_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(825, s) BOOST_PP_IIF(c, BOOST_PP_FOR_825, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(825, s), p, o, m) +# define BOOST_PP_FOR_825_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(826, s) BOOST_PP_IIF(c, BOOST_PP_FOR_826, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(826, s), p, o, m) +# define BOOST_PP_FOR_826_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(827, s) BOOST_PP_IIF(c, BOOST_PP_FOR_827, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(827, s), p, o, m) +# define BOOST_PP_FOR_827_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(828, s) BOOST_PP_IIF(c, BOOST_PP_FOR_828, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(828, s), p, o, m) +# define BOOST_PP_FOR_828_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(829, s) BOOST_PP_IIF(c, BOOST_PP_FOR_829, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(829, s), p, o, m) +# define BOOST_PP_FOR_829_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(830, s) BOOST_PP_IIF(c, BOOST_PP_FOR_830, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(830, s), p, o, m) +# define BOOST_PP_FOR_830_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(831, s) BOOST_PP_IIF(c, BOOST_PP_FOR_831, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(831, s), p, o, m) +# define BOOST_PP_FOR_831_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(832, s) BOOST_PP_IIF(c, BOOST_PP_FOR_832, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(832, s), p, o, m) +# define BOOST_PP_FOR_832_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(833, s) BOOST_PP_IIF(c, BOOST_PP_FOR_833, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(833, s), p, o, m) +# define BOOST_PP_FOR_833_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(834, s) BOOST_PP_IIF(c, BOOST_PP_FOR_834, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(834, s), p, o, m) +# define BOOST_PP_FOR_834_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(835, s) BOOST_PP_IIF(c, BOOST_PP_FOR_835, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(835, s), p, o, m) +# define BOOST_PP_FOR_835_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(836, s) BOOST_PP_IIF(c, BOOST_PP_FOR_836, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(836, s), p, o, m) +# define BOOST_PP_FOR_836_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(837, s) BOOST_PP_IIF(c, BOOST_PP_FOR_837, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(837, s), p, o, m) +# define BOOST_PP_FOR_837_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(838, s) BOOST_PP_IIF(c, BOOST_PP_FOR_838, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(838, s), p, o, m) +# define BOOST_PP_FOR_838_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(839, s) BOOST_PP_IIF(c, BOOST_PP_FOR_839, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(839, s), p, o, m) +# define BOOST_PP_FOR_839_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(840, s) BOOST_PP_IIF(c, BOOST_PP_FOR_840, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(840, s), p, o, m) +# define BOOST_PP_FOR_840_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(841, s) BOOST_PP_IIF(c, BOOST_PP_FOR_841, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(841, s), p, o, m) +# define BOOST_PP_FOR_841_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(842, s) BOOST_PP_IIF(c, BOOST_PP_FOR_842, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(842, s), p, o, m) +# define BOOST_PP_FOR_842_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(843, s) BOOST_PP_IIF(c, BOOST_PP_FOR_843, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(843, s), p, o, m) +# define BOOST_PP_FOR_843_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(844, s) BOOST_PP_IIF(c, BOOST_PP_FOR_844, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(844, s), p, o, m) +# define BOOST_PP_FOR_844_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(845, s) BOOST_PP_IIF(c, BOOST_PP_FOR_845, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(845, s), p, o, m) +# define BOOST_PP_FOR_845_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(846, s) BOOST_PP_IIF(c, BOOST_PP_FOR_846, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(846, s), p, o, m) +# define BOOST_PP_FOR_846_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(847, s) BOOST_PP_IIF(c, BOOST_PP_FOR_847, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(847, s), p, o, m) +# define BOOST_PP_FOR_847_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(848, s) BOOST_PP_IIF(c, BOOST_PP_FOR_848, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(848, s), p, o, m) +# define BOOST_PP_FOR_848_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(849, s) BOOST_PP_IIF(c, BOOST_PP_FOR_849, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(849, s), p, o, m) +# define BOOST_PP_FOR_849_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(850, s) BOOST_PP_IIF(c, BOOST_PP_FOR_850, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(850, s), p, o, m) +# define BOOST_PP_FOR_850_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(851, s) BOOST_PP_IIF(c, BOOST_PP_FOR_851, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(851, s), p, o, m) +# define BOOST_PP_FOR_851_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(852, s) BOOST_PP_IIF(c, BOOST_PP_FOR_852, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(852, s), p, o, m) +# define BOOST_PP_FOR_852_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(853, s) BOOST_PP_IIF(c, BOOST_PP_FOR_853, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(853, s), p, o, m) +# define BOOST_PP_FOR_853_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(854, s) BOOST_PP_IIF(c, BOOST_PP_FOR_854, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(854, s), p, o, m) +# define BOOST_PP_FOR_854_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(855, s) BOOST_PP_IIF(c, BOOST_PP_FOR_855, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(855, s), p, o, m) +# define BOOST_PP_FOR_855_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(856, s) BOOST_PP_IIF(c, BOOST_PP_FOR_856, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(856, s), p, o, m) +# define BOOST_PP_FOR_856_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(857, s) BOOST_PP_IIF(c, BOOST_PP_FOR_857, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(857, s), p, o, m) +# define BOOST_PP_FOR_857_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(858, s) BOOST_PP_IIF(c, BOOST_PP_FOR_858, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(858, s), p, o, m) +# define BOOST_PP_FOR_858_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(859, s) BOOST_PP_IIF(c, BOOST_PP_FOR_859, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(859, s), p, o, m) +# define BOOST_PP_FOR_859_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(860, s) BOOST_PP_IIF(c, BOOST_PP_FOR_860, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(860, s), p, o, m) +# define BOOST_PP_FOR_860_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(861, s) BOOST_PP_IIF(c, BOOST_PP_FOR_861, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(861, s), p, o, m) +# define BOOST_PP_FOR_861_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(862, s) BOOST_PP_IIF(c, BOOST_PP_FOR_862, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(862, s), p, o, m) +# define BOOST_PP_FOR_862_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(863, s) BOOST_PP_IIF(c, BOOST_PP_FOR_863, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(863, s), p, o, m) +# define BOOST_PP_FOR_863_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(864, s) BOOST_PP_IIF(c, BOOST_PP_FOR_864, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(864, s), p, o, m) +# define BOOST_PP_FOR_864_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(865, s) BOOST_PP_IIF(c, BOOST_PP_FOR_865, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(865, s), p, o, m) +# define BOOST_PP_FOR_865_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(866, s) BOOST_PP_IIF(c, BOOST_PP_FOR_866, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(866, s), p, o, m) +# define BOOST_PP_FOR_866_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(867, s) BOOST_PP_IIF(c, BOOST_PP_FOR_867, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(867, s), p, o, m) +# define BOOST_PP_FOR_867_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(868, s) BOOST_PP_IIF(c, BOOST_PP_FOR_868, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(868, s), p, o, m) +# define BOOST_PP_FOR_868_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(869, s) BOOST_PP_IIF(c, BOOST_PP_FOR_869, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(869, s), p, o, m) +# define BOOST_PP_FOR_869_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(870, s) BOOST_PP_IIF(c, BOOST_PP_FOR_870, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(870, s), p, o, m) +# define BOOST_PP_FOR_870_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(871, s) BOOST_PP_IIF(c, BOOST_PP_FOR_871, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(871, s), p, o, m) +# define BOOST_PP_FOR_871_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(872, s) BOOST_PP_IIF(c, BOOST_PP_FOR_872, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(872, s), p, o, m) +# define BOOST_PP_FOR_872_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(873, s) BOOST_PP_IIF(c, BOOST_PP_FOR_873, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(873, s), p, o, m) +# define BOOST_PP_FOR_873_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(874, s) BOOST_PP_IIF(c, BOOST_PP_FOR_874, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(874, s), p, o, m) +# define BOOST_PP_FOR_874_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(875, s) BOOST_PP_IIF(c, BOOST_PP_FOR_875, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(875, s), p, o, m) +# define BOOST_PP_FOR_875_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(876, s) BOOST_PP_IIF(c, BOOST_PP_FOR_876, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(876, s), p, o, m) +# define BOOST_PP_FOR_876_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(877, s) BOOST_PP_IIF(c, BOOST_PP_FOR_877, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(877, s), p, o, m) +# define BOOST_PP_FOR_877_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(878, s) BOOST_PP_IIF(c, BOOST_PP_FOR_878, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(878, s), p, o, m) +# define BOOST_PP_FOR_878_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(879, s) BOOST_PP_IIF(c, BOOST_PP_FOR_879, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(879, s), p, o, m) +# define BOOST_PP_FOR_879_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(880, s) BOOST_PP_IIF(c, BOOST_PP_FOR_880, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(880, s), p, o, m) +# define BOOST_PP_FOR_880_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(881, s) BOOST_PP_IIF(c, BOOST_PP_FOR_881, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(881, s), p, o, m) +# define BOOST_PP_FOR_881_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(882, s) BOOST_PP_IIF(c, BOOST_PP_FOR_882, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(882, s), p, o, m) +# define BOOST_PP_FOR_882_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(883, s) BOOST_PP_IIF(c, BOOST_PP_FOR_883, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(883, s), p, o, m) +# define BOOST_PP_FOR_883_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(884, s) BOOST_PP_IIF(c, BOOST_PP_FOR_884, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(884, s), p, o, m) +# define BOOST_PP_FOR_884_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(885, s) BOOST_PP_IIF(c, BOOST_PP_FOR_885, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(885, s), p, o, m) +# define BOOST_PP_FOR_885_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(886, s) BOOST_PP_IIF(c, BOOST_PP_FOR_886, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(886, s), p, o, m) +# define BOOST_PP_FOR_886_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(887, s) BOOST_PP_IIF(c, BOOST_PP_FOR_887, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(887, s), p, o, m) +# define BOOST_PP_FOR_887_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(888, s) BOOST_PP_IIF(c, BOOST_PP_FOR_888, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(888, s), p, o, m) +# define BOOST_PP_FOR_888_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(889, s) BOOST_PP_IIF(c, BOOST_PP_FOR_889, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(889, s), p, o, m) +# define BOOST_PP_FOR_889_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(890, s) BOOST_PP_IIF(c, BOOST_PP_FOR_890, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(890, s), p, o, m) +# define BOOST_PP_FOR_890_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(891, s) BOOST_PP_IIF(c, BOOST_PP_FOR_891, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(891, s), p, o, m) +# define BOOST_PP_FOR_891_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(892, s) BOOST_PP_IIF(c, BOOST_PP_FOR_892, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(892, s), p, o, m) +# define BOOST_PP_FOR_892_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(893, s) BOOST_PP_IIF(c, BOOST_PP_FOR_893, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(893, s), p, o, m) +# define BOOST_PP_FOR_893_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(894, s) BOOST_PP_IIF(c, BOOST_PP_FOR_894, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(894, s), p, o, m) +# define BOOST_PP_FOR_894_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(895, s) BOOST_PP_IIF(c, BOOST_PP_FOR_895, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(895, s), p, o, m) +# define BOOST_PP_FOR_895_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(896, s) BOOST_PP_IIF(c, BOOST_PP_FOR_896, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(896, s), p, o, m) +# define BOOST_PP_FOR_896_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(897, s) BOOST_PP_IIF(c, BOOST_PP_FOR_897, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(897, s), p, o, m) +# define BOOST_PP_FOR_897_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(898, s) BOOST_PP_IIF(c, BOOST_PP_FOR_898, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(898, s), p, o, m) +# define BOOST_PP_FOR_898_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(899, s) BOOST_PP_IIF(c, BOOST_PP_FOR_899, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(899, s), p, o, m) +# define BOOST_PP_FOR_899_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(900, s) BOOST_PP_IIF(c, BOOST_PP_FOR_900, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(900, s), p, o, m) +# define BOOST_PP_FOR_900_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(901, s) BOOST_PP_IIF(c, BOOST_PP_FOR_901, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(901, s), p, o, m) +# define BOOST_PP_FOR_901_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(902, s) BOOST_PP_IIF(c, BOOST_PP_FOR_902, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(902, s), p, o, m) +# define BOOST_PP_FOR_902_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(903, s) BOOST_PP_IIF(c, BOOST_PP_FOR_903, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(903, s), p, o, m) +# define BOOST_PP_FOR_903_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(904, s) BOOST_PP_IIF(c, BOOST_PP_FOR_904, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(904, s), p, o, m) +# define BOOST_PP_FOR_904_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(905, s) BOOST_PP_IIF(c, BOOST_PP_FOR_905, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(905, s), p, o, m) +# define BOOST_PP_FOR_905_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(906, s) BOOST_PP_IIF(c, BOOST_PP_FOR_906, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(906, s), p, o, m) +# define BOOST_PP_FOR_906_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(907, s) BOOST_PP_IIF(c, BOOST_PP_FOR_907, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(907, s), p, o, m) +# define BOOST_PP_FOR_907_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(908, s) BOOST_PP_IIF(c, BOOST_PP_FOR_908, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(908, s), p, o, m) +# define BOOST_PP_FOR_908_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(909, s) BOOST_PP_IIF(c, BOOST_PP_FOR_909, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(909, s), p, o, m) +# define BOOST_PP_FOR_909_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(910, s) BOOST_PP_IIF(c, BOOST_PP_FOR_910, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(910, s), p, o, m) +# define BOOST_PP_FOR_910_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(911, s) BOOST_PP_IIF(c, BOOST_PP_FOR_911, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(911, s), p, o, m) +# define BOOST_PP_FOR_911_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(912, s) BOOST_PP_IIF(c, BOOST_PP_FOR_912, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(912, s), p, o, m) +# define BOOST_PP_FOR_912_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(913, s) BOOST_PP_IIF(c, BOOST_PP_FOR_913, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(913, s), p, o, m) +# define BOOST_PP_FOR_913_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(914, s) BOOST_PP_IIF(c, BOOST_PP_FOR_914, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(914, s), p, o, m) +# define BOOST_PP_FOR_914_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(915, s) BOOST_PP_IIF(c, BOOST_PP_FOR_915, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(915, s), p, o, m) +# define BOOST_PP_FOR_915_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(916, s) BOOST_PP_IIF(c, BOOST_PP_FOR_916, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(916, s), p, o, m) +# define BOOST_PP_FOR_916_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(917, s) BOOST_PP_IIF(c, BOOST_PP_FOR_917, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(917, s), p, o, m) +# define BOOST_PP_FOR_917_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(918, s) BOOST_PP_IIF(c, BOOST_PP_FOR_918, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(918, s), p, o, m) +# define BOOST_PP_FOR_918_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(919, s) BOOST_PP_IIF(c, BOOST_PP_FOR_919, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(919, s), p, o, m) +# define BOOST_PP_FOR_919_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(920, s) BOOST_PP_IIF(c, BOOST_PP_FOR_920, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(920, s), p, o, m) +# define BOOST_PP_FOR_920_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(921, s) BOOST_PP_IIF(c, BOOST_PP_FOR_921, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(921, s), p, o, m) +# define BOOST_PP_FOR_921_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(922, s) BOOST_PP_IIF(c, BOOST_PP_FOR_922, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(922, s), p, o, m) +# define BOOST_PP_FOR_922_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(923, s) BOOST_PP_IIF(c, BOOST_PP_FOR_923, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(923, s), p, o, m) +# define BOOST_PP_FOR_923_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(924, s) BOOST_PP_IIF(c, BOOST_PP_FOR_924, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(924, s), p, o, m) +# define BOOST_PP_FOR_924_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(925, s) BOOST_PP_IIF(c, BOOST_PP_FOR_925, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(925, s), p, o, m) +# define BOOST_PP_FOR_925_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(926, s) BOOST_PP_IIF(c, BOOST_PP_FOR_926, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(926, s), p, o, m) +# define BOOST_PP_FOR_926_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(927, s) BOOST_PP_IIF(c, BOOST_PP_FOR_927, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(927, s), p, o, m) +# define BOOST_PP_FOR_927_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(928, s) BOOST_PP_IIF(c, BOOST_PP_FOR_928, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(928, s), p, o, m) +# define BOOST_PP_FOR_928_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(929, s) BOOST_PP_IIF(c, BOOST_PP_FOR_929, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(929, s), p, o, m) +# define BOOST_PP_FOR_929_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(930, s) BOOST_PP_IIF(c, BOOST_PP_FOR_930, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(930, s), p, o, m) +# define BOOST_PP_FOR_930_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(931, s) BOOST_PP_IIF(c, BOOST_PP_FOR_931, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(931, s), p, o, m) +# define BOOST_PP_FOR_931_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(932, s) BOOST_PP_IIF(c, BOOST_PP_FOR_932, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(932, s), p, o, m) +# define BOOST_PP_FOR_932_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(933, s) BOOST_PP_IIF(c, BOOST_PP_FOR_933, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(933, s), p, o, m) +# define BOOST_PP_FOR_933_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(934, s) BOOST_PP_IIF(c, BOOST_PP_FOR_934, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(934, s), p, o, m) +# define BOOST_PP_FOR_934_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(935, s) BOOST_PP_IIF(c, BOOST_PP_FOR_935, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(935, s), p, o, m) +# define BOOST_PP_FOR_935_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(936, s) BOOST_PP_IIF(c, BOOST_PP_FOR_936, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(936, s), p, o, m) +# define BOOST_PP_FOR_936_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(937, s) BOOST_PP_IIF(c, BOOST_PP_FOR_937, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(937, s), p, o, m) +# define BOOST_PP_FOR_937_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(938, s) BOOST_PP_IIF(c, BOOST_PP_FOR_938, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(938, s), p, o, m) +# define BOOST_PP_FOR_938_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(939, s) BOOST_PP_IIF(c, BOOST_PP_FOR_939, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(939, s), p, o, m) +# define BOOST_PP_FOR_939_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(940, s) BOOST_PP_IIF(c, BOOST_PP_FOR_940, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(940, s), p, o, m) +# define BOOST_PP_FOR_940_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(941, s) BOOST_PP_IIF(c, BOOST_PP_FOR_941, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(941, s), p, o, m) +# define BOOST_PP_FOR_941_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(942, s) BOOST_PP_IIF(c, BOOST_PP_FOR_942, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(942, s), p, o, m) +# define BOOST_PP_FOR_942_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(943, s) BOOST_PP_IIF(c, BOOST_PP_FOR_943, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(943, s), p, o, m) +# define BOOST_PP_FOR_943_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(944, s) BOOST_PP_IIF(c, BOOST_PP_FOR_944, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(944, s), p, o, m) +# define BOOST_PP_FOR_944_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(945, s) BOOST_PP_IIF(c, BOOST_PP_FOR_945, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(945, s), p, o, m) +# define BOOST_PP_FOR_945_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(946, s) BOOST_PP_IIF(c, BOOST_PP_FOR_946, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(946, s), p, o, m) +# define BOOST_PP_FOR_946_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(947, s) BOOST_PP_IIF(c, BOOST_PP_FOR_947, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(947, s), p, o, m) +# define BOOST_PP_FOR_947_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(948, s) BOOST_PP_IIF(c, BOOST_PP_FOR_948, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(948, s), p, o, m) +# define BOOST_PP_FOR_948_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(949, s) BOOST_PP_IIF(c, BOOST_PP_FOR_949, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(949, s), p, o, m) +# define BOOST_PP_FOR_949_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(950, s) BOOST_PP_IIF(c, BOOST_PP_FOR_950, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(950, s), p, o, m) +# define BOOST_PP_FOR_950_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(951, s) BOOST_PP_IIF(c, BOOST_PP_FOR_951, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(951, s), p, o, m) +# define BOOST_PP_FOR_951_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(952, s) BOOST_PP_IIF(c, BOOST_PP_FOR_952, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(952, s), p, o, m) +# define BOOST_PP_FOR_952_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(953, s) BOOST_PP_IIF(c, BOOST_PP_FOR_953, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(953, s), p, o, m) +# define BOOST_PP_FOR_953_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(954, s) BOOST_PP_IIF(c, BOOST_PP_FOR_954, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(954, s), p, o, m) +# define BOOST_PP_FOR_954_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(955, s) BOOST_PP_IIF(c, BOOST_PP_FOR_955, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(955, s), p, o, m) +# define BOOST_PP_FOR_955_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(956, s) BOOST_PP_IIF(c, BOOST_PP_FOR_956, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(956, s), p, o, m) +# define BOOST_PP_FOR_956_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(957, s) BOOST_PP_IIF(c, BOOST_PP_FOR_957, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(957, s), p, o, m) +# define BOOST_PP_FOR_957_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(958, s) BOOST_PP_IIF(c, BOOST_PP_FOR_958, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(958, s), p, o, m) +# define BOOST_PP_FOR_958_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(959, s) BOOST_PP_IIF(c, BOOST_PP_FOR_959, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(959, s), p, o, m) +# define BOOST_PP_FOR_959_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(960, s) BOOST_PP_IIF(c, BOOST_PP_FOR_960, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(960, s), p, o, m) +# define BOOST_PP_FOR_960_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(961, s) BOOST_PP_IIF(c, BOOST_PP_FOR_961, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(961, s), p, o, m) +# define BOOST_PP_FOR_961_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(962, s) BOOST_PP_IIF(c, BOOST_PP_FOR_962, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(962, s), p, o, m) +# define BOOST_PP_FOR_962_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(963, s) BOOST_PP_IIF(c, BOOST_PP_FOR_963, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(963, s), p, o, m) +# define BOOST_PP_FOR_963_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(964, s) BOOST_PP_IIF(c, BOOST_PP_FOR_964, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(964, s), p, o, m) +# define BOOST_PP_FOR_964_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(965, s) BOOST_PP_IIF(c, BOOST_PP_FOR_965, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(965, s), p, o, m) +# define BOOST_PP_FOR_965_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(966, s) BOOST_PP_IIF(c, BOOST_PP_FOR_966, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(966, s), p, o, m) +# define BOOST_PP_FOR_966_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(967, s) BOOST_PP_IIF(c, BOOST_PP_FOR_967, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(967, s), p, o, m) +# define BOOST_PP_FOR_967_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(968, s) BOOST_PP_IIF(c, BOOST_PP_FOR_968, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(968, s), p, o, m) +# define BOOST_PP_FOR_968_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(969, s) BOOST_PP_IIF(c, BOOST_PP_FOR_969, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(969, s), p, o, m) +# define BOOST_PP_FOR_969_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(970, s) BOOST_PP_IIF(c, BOOST_PP_FOR_970, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(970, s), p, o, m) +# define BOOST_PP_FOR_970_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(971, s) BOOST_PP_IIF(c, BOOST_PP_FOR_971, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(971, s), p, o, m) +# define BOOST_PP_FOR_971_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(972, s) BOOST_PP_IIF(c, BOOST_PP_FOR_972, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(972, s), p, o, m) +# define BOOST_PP_FOR_972_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(973, s) BOOST_PP_IIF(c, BOOST_PP_FOR_973, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(973, s), p, o, m) +# define BOOST_PP_FOR_973_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(974, s) BOOST_PP_IIF(c, BOOST_PP_FOR_974, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(974, s), p, o, m) +# define BOOST_PP_FOR_974_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(975, s) BOOST_PP_IIF(c, BOOST_PP_FOR_975, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(975, s), p, o, m) +# define BOOST_PP_FOR_975_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(976, s) BOOST_PP_IIF(c, BOOST_PP_FOR_976, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(976, s), p, o, m) +# define BOOST_PP_FOR_976_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(977, s) BOOST_PP_IIF(c, BOOST_PP_FOR_977, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(977, s), p, o, m) +# define BOOST_PP_FOR_977_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(978, s) BOOST_PP_IIF(c, BOOST_PP_FOR_978, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(978, s), p, o, m) +# define BOOST_PP_FOR_978_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(979, s) BOOST_PP_IIF(c, BOOST_PP_FOR_979, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(979, s), p, o, m) +# define BOOST_PP_FOR_979_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(980, s) BOOST_PP_IIF(c, BOOST_PP_FOR_980, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(980, s), p, o, m) +# define BOOST_PP_FOR_980_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(981, s) BOOST_PP_IIF(c, BOOST_PP_FOR_981, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(981, s), p, o, m) +# define BOOST_PP_FOR_981_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(982, s) BOOST_PP_IIF(c, BOOST_PP_FOR_982, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(982, s), p, o, m) +# define BOOST_PP_FOR_982_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(983, s) BOOST_PP_IIF(c, BOOST_PP_FOR_983, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(983, s), p, o, m) +# define BOOST_PP_FOR_983_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(984, s) BOOST_PP_IIF(c, BOOST_PP_FOR_984, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(984, s), p, o, m) +# define BOOST_PP_FOR_984_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(985, s) BOOST_PP_IIF(c, BOOST_PP_FOR_985, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(985, s), p, o, m) +# define BOOST_PP_FOR_985_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(986, s) BOOST_PP_IIF(c, BOOST_PP_FOR_986, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(986, s), p, o, m) +# define BOOST_PP_FOR_986_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(987, s) BOOST_PP_IIF(c, BOOST_PP_FOR_987, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(987, s), p, o, m) +# define BOOST_PP_FOR_987_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(988, s) BOOST_PP_IIF(c, BOOST_PP_FOR_988, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(988, s), p, o, m) +# define BOOST_PP_FOR_988_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(989, s) BOOST_PP_IIF(c, BOOST_PP_FOR_989, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(989, s), p, o, m) +# define BOOST_PP_FOR_989_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(990, s) BOOST_PP_IIF(c, BOOST_PP_FOR_990, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(990, s), p, o, m) +# define BOOST_PP_FOR_990_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(991, s) BOOST_PP_IIF(c, BOOST_PP_FOR_991, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(991, s), p, o, m) +# define BOOST_PP_FOR_991_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(992, s) BOOST_PP_IIF(c, BOOST_PP_FOR_992, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(992, s), p, o, m) +# define BOOST_PP_FOR_992_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(993, s) BOOST_PP_IIF(c, BOOST_PP_FOR_993, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(993, s), p, o, m) +# define BOOST_PP_FOR_993_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(994, s) BOOST_PP_IIF(c, BOOST_PP_FOR_994, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(994, s), p, o, m) +# define BOOST_PP_FOR_994_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(995, s) BOOST_PP_IIF(c, BOOST_PP_FOR_995, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(995, s), p, o, m) +# define BOOST_PP_FOR_995_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(996, s) BOOST_PP_IIF(c, BOOST_PP_FOR_996, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(996, s), p, o, m) +# define BOOST_PP_FOR_996_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(997, s) BOOST_PP_IIF(c, BOOST_PP_FOR_997, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(997, s), p, o, m) +# define BOOST_PP_FOR_997_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(998, s) BOOST_PP_IIF(c, BOOST_PP_FOR_998, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(998, s), p, o, m) +# define BOOST_PP_FOR_998_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(999, s) BOOST_PP_IIF(c, BOOST_PP_FOR_999, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(999, s), p, o, m) +# define BOOST_PP_FOR_999_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1000, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1000, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1000, s), p, o, m) +# define BOOST_PP_FOR_1000_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1001, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1001, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1001, s), p, o, m) +# define BOOST_PP_FOR_1001_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1002, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1002, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1002, s), p, o, m) +# define BOOST_PP_FOR_1002_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1003, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1003, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1003, s), p, o, m) +# define BOOST_PP_FOR_1003_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1004, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1004, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1004, s), p, o, m) +# define BOOST_PP_FOR_1004_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1005, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1005, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1005, s), p, o, m) +# define BOOST_PP_FOR_1005_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1006, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1006, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1006, s), p, o, m) +# define BOOST_PP_FOR_1006_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1007, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1007, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1007, s), p, o, m) +# define BOOST_PP_FOR_1007_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1008, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1008, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1008, s), p, o, m) +# define BOOST_PP_FOR_1008_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1009, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1009, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1009, s), p, o, m) +# define BOOST_PP_FOR_1009_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1010, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1010, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1010, s), p, o, m) +# define BOOST_PP_FOR_1010_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1011, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1011, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1011, s), p, o, m) +# define BOOST_PP_FOR_1011_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1012, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1012, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1012, s), p, o, m) +# define BOOST_PP_FOR_1012_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1013, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1013, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1013, s), p, o, m) +# define BOOST_PP_FOR_1013_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1014, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1014, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1014, s), p, o, m) +# define BOOST_PP_FOR_1014_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1015, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1015, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1015, s), p, o, m) +# define BOOST_PP_FOR_1015_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1016, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1016, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1016, s), p, o, m) +# define BOOST_PP_FOR_1016_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1017, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1017, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1017, s), p, o, m) +# define BOOST_PP_FOR_1017_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1018, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1018, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1018, s), p, o, m) +# define BOOST_PP_FOR_1018_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1019, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1019, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1019, s), p, o, m) +# define BOOST_PP_FOR_1019_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1020, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1020, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1020, s), p, o, m) +# define BOOST_PP_FOR_1020_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1021, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1021, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1021, s), p, o, m) +# define BOOST_PP_FOR_1021_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1022, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1022, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1022, s), p, o, m) +# define BOOST_PP_FOR_1022_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1023, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1023, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1023, s), p, o, m) +# define BOOST_PP_FOR_1023_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1024, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1024, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1024, s), p, o, m) +# define BOOST_PP_FOR_1024_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1025, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1025, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1025, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_256.hpp new file mode 100644 index 0000000000..f1fb63f447 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_256.hpp @@ -0,0 +1,533 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_256_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_256_HPP +# +# define BOOST_PP_FOR_0(s, p, o, m) BOOST_PP_FOR_0_C(BOOST_PP_BOOL(p(1, s)), s, p, o, m) +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m) +# +# define BOOST_PP_FOR_0_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(1, s) BOOST_PP_IIF(c, BOOST_PP_FOR_1, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(1, s), p, o, m) +# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) +# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) +# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) +# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) +# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) +# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) +# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) +# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) +# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) +# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) +# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) +# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) +# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) +# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) +# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) +# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) +# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) +# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) +# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) +# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) +# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) +# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) +# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) +# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) +# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) +# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) +# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) +# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) +# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) +# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) +# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) +# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) +# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) +# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) +# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) +# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) +# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) +# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) +# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) +# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) +# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) +# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) +# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) +# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) +# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) +# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) +# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) +# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) +# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) +# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) +# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) +# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) +# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) +# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) +# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) +# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) +# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) +# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) +# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) +# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) +# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) +# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) +# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) +# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) +# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) +# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) +# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) +# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) +# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) +# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) +# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) +# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) +# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) +# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) +# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) +# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) +# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) +# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) +# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) +# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) +# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) +# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) +# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) +# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) +# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) +# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) +# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) +# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) +# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) +# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) +# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) +# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) +# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) +# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) +# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) +# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) +# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) +# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) +# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) +# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) +# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) +# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) +# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) +# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) +# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) +# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) +# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) +# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) +# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) +# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) +# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) +# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) +# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) +# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) +# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) +# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) +# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) +# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) +# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) +# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) +# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) +# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) +# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) +# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) +# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) +# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) +# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) +# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) +# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) +# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) +# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) +# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) +# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) +# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) +# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) +# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) +# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) +# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) +# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) +# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) +# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) +# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) +# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) +# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) +# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) +# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) +# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) +# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) +# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) +# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) +# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) +# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) +# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) +# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) +# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) +# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) +# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) +# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) +# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) +# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) +# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) +# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) +# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) +# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) +# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) +# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) +# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) +# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) +# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) +# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) +# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) +# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) +# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) +# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) +# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) +# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) +# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) +# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) +# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) +# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) +# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) +# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) +# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) +# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) +# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) +# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) +# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) +# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) +# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) +# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) +# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) +# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) +# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) +# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) +# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) +# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) +# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) +# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) +# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) +# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) +# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) +# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) +# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) +# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) +# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) +# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) +# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) +# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) +# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) +# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) +# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) +# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) +# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) +# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) +# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) +# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) +# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) +# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) +# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) +# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) +# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) +# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) +# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) +# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) +# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) +# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) +# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) +# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) +# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) +# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) +# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) +# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) +# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) +# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) +# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) +# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) +# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) +# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) +# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) +# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) +# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) +# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) +# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) +# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) +# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) +# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) +# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) +# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) +# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) +# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) +# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) +# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) +# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) +# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) +# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) +# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_512.hpp new file mode 100644 index 0000000000..eaa904a4d6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/limits/for_512.hpp @@ -0,0 +1,532 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_512_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_512_HPP +# +# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_FOR_257_C(BOOST_PP_BOOL(p(258, s)), s, p, o, m) +# define BOOST_PP_FOR_258(s, p, o, m) BOOST_PP_FOR_258_C(BOOST_PP_BOOL(p(259, s)), s, p, o, m) +# define BOOST_PP_FOR_259(s, p, o, m) BOOST_PP_FOR_259_C(BOOST_PP_BOOL(p(260, s)), s, p, o, m) +# define BOOST_PP_FOR_260(s, p, o, m) BOOST_PP_FOR_260_C(BOOST_PP_BOOL(p(261, s)), s, p, o, m) +# define BOOST_PP_FOR_261(s, p, o, m) BOOST_PP_FOR_261_C(BOOST_PP_BOOL(p(262, s)), s, p, o, m) +# define BOOST_PP_FOR_262(s, p, o, m) BOOST_PP_FOR_262_C(BOOST_PP_BOOL(p(263, s)), s, p, o, m) +# define BOOST_PP_FOR_263(s, p, o, m) BOOST_PP_FOR_263_C(BOOST_PP_BOOL(p(264, s)), s, p, o, m) +# define BOOST_PP_FOR_264(s, p, o, m) BOOST_PP_FOR_264_C(BOOST_PP_BOOL(p(265, s)), s, p, o, m) +# define BOOST_PP_FOR_265(s, p, o, m) BOOST_PP_FOR_265_C(BOOST_PP_BOOL(p(266, s)), s, p, o, m) +# define BOOST_PP_FOR_266(s, p, o, m) BOOST_PP_FOR_266_C(BOOST_PP_BOOL(p(267, s)), s, p, o, m) +# define BOOST_PP_FOR_267(s, p, o, m) BOOST_PP_FOR_267_C(BOOST_PP_BOOL(p(268, s)), s, p, o, m) +# define BOOST_PP_FOR_268(s, p, o, m) BOOST_PP_FOR_268_C(BOOST_PP_BOOL(p(269, s)), s, p, o, m) +# define BOOST_PP_FOR_269(s, p, o, m) BOOST_PP_FOR_269_C(BOOST_PP_BOOL(p(270, s)), s, p, o, m) +# define BOOST_PP_FOR_270(s, p, o, m) BOOST_PP_FOR_270_C(BOOST_PP_BOOL(p(271, s)), s, p, o, m) +# define BOOST_PP_FOR_271(s, p, o, m) BOOST_PP_FOR_271_C(BOOST_PP_BOOL(p(272, s)), s, p, o, m) +# define BOOST_PP_FOR_272(s, p, o, m) BOOST_PP_FOR_272_C(BOOST_PP_BOOL(p(273, s)), s, p, o, m) +# define BOOST_PP_FOR_273(s, p, o, m) BOOST_PP_FOR_273_C(BOOST_PP_BOOL(p(274, s)), s, p, o, m) +# define BOOST_PP_FOR_274(s, p, o, m) BOOST_PP_FOR_274_C(BOOST_PP_BOOL(p(275, s)), s, p, o, m) +# define BOOST_PP_FOR_275(s, p, o, m) BOOST_PP_FOR_275_C(BOOST_PP_BOOL(p(276, s)), s, p, o, m) +# define BOOST_PP_FOR_276(s, p, o, m) BOOST_PP_FOR_276_C(BOOST_PP_BOOL(p(277, s)), s, p, o, m) +# define BOOST_PP_FOR_277(s, p, o, m) BOOST_PP_FOR_277_C(BOOST_PP_BOOL(p(278, s)), s, p, o, m) +# define BOOST_PP_FOR_278(s, p, o, m) BOOST_PP_FOR_278_C(BOOST_PP_BOOL(p(279, s)), s, p, o, m) +# define BOOST_PP_FOR_279(s, p, o, m) BOOST_PP_FOR_279_C(BOOST_PP_BOOL(p(280, s)), s, p, o, m) +# define BOOST_PP_FOR_280(s, p, o, m) BOOST_PP_FOR_280_C(BOOST_PP_BOOL(p(281, s)), s, p, o, m) +# define BOOST_PP_FOR_281(s, p, o, m) BOOST_PP_FOR_281_C(BOOST_PP_BOOL(p(282, s)), s, p, o, m) +# define BOOST_PP_FOR_282(s, p, o, m) BOOST_PP_FOR_282_C(BOOST_PP_BOOL(p(283, s)), s, p, o, m) +# define BOOST_PP_FOR_283(s, p, o, m) BOOST_PP_FOR_283_C(BOOST_PP_BOOL(p(284, s)), s, p, o, m) +# define BOOST_PP_FOR_284(s, p, o, m) BOOST_PP_FOR_284_C(BOOST_PP_BOOL(p(285, s)), s, p, o, m) +# define BOOST_PP_FOR_285(s, p, o, m) BOOST_PP_FOR_285_C(BOOST_PP_BOOL(p(286, s)), s, p, o, m) +# define BOOST_PP_FOR_286(s, p, o, m) BOOST_PP_FOR_286_C(BOOST_PP_BOOL(p(287, s)), s, p, o, m) +# define BOOST_PP_FOR_287(s, p, o, m) BOOST_PP_FOR_287_C(BOOST_PP_BOOL(p(288, s)), s, p, o, m) +# define BOOST_PP_FOR_288(s, p, o, m) BOOST_PP_FOR_288_C(BOOST_PP_BOOL(p(289, s)), s, p, o, m) +# define BOOST_PP_FOR_289(s, p, o, m) BOOST_PP_FOR_289_C(BOOST_PP_BOOL(p(290, s)), s, p, o, m) +# define BOOST_PP_FOR_290(s, p, o, m) BOOST_PP_FOR_290_C(BOOST_PP_BOOL(p(291, s)), s, p, o, m) +# define BOOST_PP_FOR_291(s, p, o, m) BOOST_PP_FOR_291_C(BOOST_PP_BOOL(p(292, s)), s, p, o, m) +# define BOOST_PP_FOR_292(s, p, o, m) BOOST_PP_FOR_292_C(BOOST_PP_BOOL(p(293, s)), s, p, o, m) +# define BOOST_PP_FOR_293(s, p, o, m) BOOST_PP_FOR_293_C(BOOST_PP_BOOL(p(294, s)), s, p, o, m) +# define BOOST_PP_FOR_294(s, p, o, m) BOOST_PP_FOR_294_C(BOOST_PP_BOOL(p(295, s)), s, p, o, m) +# define BOOST_PP_FOR_295(s, p, o, m) BOOST_PP_FOR_295_C(BOOST_PP_BOOL(p(296, s)), s, p, o, m) +# define BOOST_PP_FOR_296(s, p, o, m) BOOST_PP_FOR_296_C(BOOST_PP_BOOL(p(297, s)), s, p, o, m) +# define BOOST_PP_FOR_297(s, p, o, m) BOOST_PP_FOR_297_C(BOOST_PP_BOOL(p(298, s)), s, p, o, m) +# define BOOST_PP_FOR_298(s, p, o, m) BOOST_PP_FOR_298_C(BOOST_PP_BOOL(p(299, s)), s, p, o, m) +# define BOOST_PP_FOR_299(s, p, o, m) BOOST_PP_FOR_299_C(BOOST_PP_BOOL(p(300, s)), s, p, o, m) +# define BOOST_PP_FOR_300(s, p, o, m) BOOST_PP_FOR_300_C(BOOST_PP_BOOL(p(301, s)), s, p, o, m) +# define BOOST_PP_FOR_301(s, p, o, m) BOOST_PP_FOR_301_C(BOOST_PP_BOOL(p(302, s)), s, p, o, m) +# define BOOST_PP_FOR_302(s, p, o, m) BOOST_PP_FOR_302_C(BOOST_PP_BOOL(p(303, s)), s, p, o, m) +# define BOOST_PP_FOR_303(s, p, o, m) BOOST_PP_FOR_303_C(BOOST_PP_BOOL(p(304, s)), s, p, o, m) +# define BOOST_PP_FOR_304(s, p, o, m) BOOST_PP_FOR_304_C(BOOST_PP_BOOL(p(305, s)), s, p, o, m) +# define BOOST_PP_FOR_305(s, p, o, m) BOOST_PP_FOR_305_C(BOOST_PP_BOOL(p(306, s)), s, p, o, m) +# define BOOST_PP_FOR_306(s, p, o, m) BOOST_PP_FOR_306_C(BOOST_PP_BOOL(p(307, s)), s, p, o, m) +# define BOOST_PP_FOR_307(s, p, o, m) BOOST_PP_FOR_307_C(BOOST_PP_BOOL(p(308, s)), s, p, o, m) +# define BOOST_PP_FOR_308(s, p, o, m) BOOST_PP_FOR_308_C(BOOST_PP_BOOL(p(309, s)), s, p, o, m) +# define BOOST_PP_FOR_309(s, p, o, m) BOOST_PP_FOR_309_C(BOOST_PP_BOOL(p(310, s)), s, p, o, m) +# define BOOST_PP_FOR_310(s, p, o, m) BOOST_PP_FOR_310_C(BOOST_PP_BOOL(p(311, s)), s, p, o, m) +# define BOOST_PP_FOR_311(s, p, o, m) BOOST_PP_FOR_311_C(BOOST_PP_BOOL(p(312, s)), s, p, o, m) +# define BOOST_PP_FOR_312(s, p, o, m) BOOST_PP_FOR_312_C(BOOST_PP_BOOL(p(313, s)), s, p, o, m) +# define BOOST_PP_FOR_313(s, p, o, m) BOOST_PP_FOR_313_C(BOOST_PP_BOOL(p(314, s)), s, p, o, m) +# define BOOST_PP_FOR_314(s, p, o, m) BOOST_PP_FOR_314_C(BOOST_PP_BOOL(p(315, s)), s, p, o, m) +# define BOOST_PP_FOR_315(s, p, o, m) BOOST_PP_FOR_315_C(BOOST_PP_BOOL(p(316, s)), s, p, o, m) +# define BOOST_PP_FOR_316(s, p, o, m) BOOST_PP_FOR_316_C(BOOST_PP_BOOL(p(317, s)), s, p, o, m) +# define BOOST_PP_FOR_317(s, p, o, m) BOOST_PP_FOR_317_C(BOOST_PP_BOOL(p(318, s)), s, p, o, m) +# define BOOST_PP_FOR_318(s, p, o, m) BOOST_PP_FOR_318_C(BOOST_PP_BOOL(p(319, s)), s, p, o, m) +# define BOOST_PP_FOR_319(s, p, o, m) BOOST_PP_FOR_319_C(BOOST_PP_BOOL(p(320, s)), s, p, o, m) +# define BOOST_PP_FOR_320(s, p, o, m) BOOST_PP_FOR_320_C(BOOST_PP_BOOL(p(321, s)), s, p, o, m) +# define BOOST_PP_FOR_321(s, p, o, m) BOOST_PP_FOR_321_C(BOOST_PP_BOOL(p(322, s)), s, p, o, m) +# define BOOST_PP_FOR_322(s, p, o, m) BOOST_PP_FOR_322_C(BOOST_PP_BOOL(p(323, s)), s, p, o, m) +# define BOOST_PP_FOR_323(s, p, o, m) BOOST_PP_FOR_323_C(BOOST_PP_BOOL(p(324, s)), s, p, o, m) +# define BOOST_PP_FOR_324(s, p, o, m) BOOST_PP_FOR_324_C(BOOST_PP_BOOL(p(325, s)), s, p, o, m) +# define BOOST_PP_FOR_325(s, p, o, m) BOOST_PP_FOR_325_C(BOOST_PP_BOOL(p(326, s)), s, p, o, m) +# define BOOST_PP_FOR_326(s, p, o, m) BOOST_PP_FOR_326_C(BOOST_PP_BOOL(p(327, s)), s, p, o, m) +# define BOOST_PP_FOR_327(s, p, o, m) BOOST_PP_FOR_327_C(BOOST_PP_BOOL(p(328, s)), s, p, o, m) +# define BOOST_PP_FOR_328(s, p, o, m) BOOST_PP_FOR_328_C(BOOST_PP_BOOL(p(329, s)), s, p, o, m) +# define BOOST_PP_FOR_329(s, p, o, m) BOOST_PP_FOR_329_C(BOOST_PP_BOOL(p(330, s)), s, p, o, m) +# define BOOST_PP_FOR_330(s, p, o, m) BOOST_PP_FOR_330_C(BOOST_PP_BOOL(p(331, s)), s, p, o, m) +# define BOOST_PP_FOR_331(s, p, o, m) BOOST_PP_FOR_331_C(BOOST_PP_BOOL(p(332, s)), s, p, o, m) +# define BOOST_PP_FOR_332(s, p, o, m) BOOST_PP_FOR_332_C(BOOST_PP_BOOL(p(333, s)), s, p, o, m) +# define BOOST_PP_FOR_333(s, p, o, m) BOOST_PP_FOR_333_C(BOOST_PP_BOOL(p(334, s)), s, p, o, m) +# define BOOST_PP_FOR_334(s, p, o, m) BOOST_PP_FOR_334_C(BOOST_PP_BOOL(p(335, s)), s, p, o, m) +# define BOOST_PP_FOR_335(s, p, o, m) BOOST_PP_FOR_335_C(BOOST_PP_BOOL(p(336, s)), s, p, o, m) +# define BOOST_PP_FOR_336(s, p, o, m) BOOST_PP_FOR_336_C(BOOST_PP_BOOL(p(337, s)), s, p, o, m) +# define BOOST_PP_FOR_337(s, p, o, m) BOOST_PP_FOR_337_C(BOOST_PP_BOOL(p(338, s)), s, p, o, m) +# define BOOST_PP_FOR_338(s, p, o, m) BOOST_PP_FOR_338_C(BOOST_PP_BOOL(p(339, s)), s, p, o, m) +# define BOOST_PP_FOR_339(s, p, o, m) BOOST_PP_FOR_339_C(BOOST_PP_BOOL(p(340, s)), s, p, o, m) +# define BOOST_PP_FOR_340(s, p, o, m) BOOST_PP_FOR_340_C(BOOST_PP_BOOL(p(341, s)), s, p, o, m) +# define BOOST_PP_FOR_341(s, p, o, m) BOOST_PP_FOR_341_C(BOOST_PP_BOOL(p(342, s)), s, p, o, m) +# define BOOST_PP_FOR_342(s, p, o, m) BOOST_PP_FOR_342_C(BOOST_PP_BOOL(p(343, s)), s, p, o, m) +# define BOOST_PP_FOR_343(s, p, o, m) BOOST_PP_FOR_343_C(BOOST_PP_BOOL(p(344, s)), s, p, o, m) +# define BOOST_PP_FOR_344(s, p, o, m) BOOST_PP_FOR_344_C(BOOST_PP_BOOL(p(345, s)), s, p, o, m) +# define BOOST_PP_FOR_345(s, p, o, m) BOOST_PP_FOR_345_C(BOOST_PP_BOOL(p(346, s)), s, p, o, m) +# define BOOST_PP_FOR_346(s, p, o, m) BOOST_PP_FOR_346_C(BOOST_PP_BOOL(p(347, s)), s, p, o, m) +# define BOOST_PP_FOR_347(s, p, o, m) BOOST_PP_FOR_347_C(BOOST_PP_BOOL(p(348, s)), s, p, o, m) +# define BOOST_PP_FOR_348(s, p, o, m) BOOST_PP_FOR_348_C(BOOST_PP_BOOL(p(349, s)), s, p, o, m) +# define BOOST_PP_FOR_349(s, p, o, m) BOOST_PP_FOR_349_C(BOOST_PP_BOOL(p(350, s)), s, p, o, m) +# define BOOST_PP_FOR_350(s, p, o, m) BOOST_PP_FOR_350_C(BOOST_PP_BOOL(p(351, s)), s, p, o, m) +# define BOOST_PP_FOR_351(s, p, o, m) BOOST_PP_FOR_351_C(BOOST_PP_BOOL(p(352, s)), s, p, o, m) +# define BOOST_PP_FOR_352(s, p, o, m) BOOST_PP_FOR_352_C(BOOST_PP_BOOL(p(353, s)), s, p, o, m) +# define BOOST_PP_FOR_353(s, p, o, m) BOOST_PP_FOR_353_C(BOOST_PP_BOOL(p(354, s)), s, p, o, m) +# define BOOST_PP_FOR_354(s, p, o, m) BOOST_PP_FOR_354_C(BOOST_PP_BOOL(p(355, s)), s, p, o, m) +# define BOOST_PP_FOR_355(s, p, o, m) BOOST_PP_FOR_355_C(BOOST_PP_BOOL(p(356, s)), s, p, o, m) +# define BOOST_PP_FOR_356(s, p, o, m) BOOST_PP_FOR_356_C(BOOST_PP_BOOL(p(357, s)), s, p, o, m) +# define BOOST_PP_FOR_357(s, p, o, m) BOOST_PP_FOR_357_C(BOOST_PP_BOOL(p(358, s)), s, p, o, m) +# define BOOST_PP_FOR_358(s, p, o, m) BOOST_PP_FOR_358_C(BOOST_PP_BOOL(p(359, s)), s, p, o, m) +# define BOOST_PP_FOR_359(s, p, o, m) BOOST_PP_FOR_359_C(BOOST_PP_BOOL(p(360, s)), s, p, o, m) +# define BOOST_PP_FOR_360(s, p, o, m) BOOST_PP_FOR_360_C(BOOST_PP_BOOL(p(361, s)), s, p, o, m) +# define BOOST_PP_FOR_361(s, p, o, m) BOOST_PP_FOR_361_C(BOOST_PP_BOOL(p(362, s)), s, p, o, m) +# define BOOST_PP_FOR_362(s, p, o, m) BOOST_PP_FOR_362_C(BOOST_PP_BOOL(p(363, s)), s, p, o, m) +# define BOOST_PP_FOR_363(s, p, o, m) BOOST_PP_FOR_363_C(BOOST_PP_BOOL(p(364, s)), s, p, o, m) +# define BOOST_PP_FOR_364(s, p, o, m) BOOST_PP_FOR_364_C(BOOST_PP_BOOL(p(365, s)), s, p, o, m) +# define BOOST_PP_FOR_365(s, p, o, m) BOOST_PP_FOR_365_C(BOOST_PP_BOOL(p(366, s)), s, p, o, m) +# define BOOST_PP_FOR_366(s, p, o, m) BOOST_PP_FOR_366_C(BOOST_PP_BOOL(p(367, s)), s, p, o, m) +# define BOOST_PP_FOR_367(s, p, o, m) BOOST_PP_FOR_367_C(BOOST_PP_BOOL(p(368, s)), s, p, o, m) +# define BOOST_PP_FOR_368(s, p, o, m) BOOST_PP_FOR_368_C(BOOST_PP_BOOL(p(369, s)), s, p, o, m) +# define BOOST_PP_FOR_369(s, p, o, m) BOOST_PP_FOR_369_C(BOOST_PP_BOOL(p(370, s)), s, p, o, m) +# define BOOST_PP_FOR_370(s, p, o, m) BOOST_PP_FOR_370_C(BOOST_PP_BOOL(p(371, s)), s, p, o, m) +# define BOOST_PP_FOR_371(s, p, o, m) BOOST_PP_FOR_371_C(BOOST_PP_BOOL(p(372, s)), s, p, o, m) +# define BOOST_PP_FOR_372(s, p, o, m) BOOST_PP_FOR_372_C(BOOST_PP_BOOL(p(373, s)), s, p, o, m) +# define BOOST_PP_FOR_373(s, p, o, m) BOOST_PP_FOR_373_C(BOOST_PP_BOOL(p(374, s)), s, p, o, m) +# define BOOST_PP_FOR_374(s, p, o, m) BOOST_PP_FOR_374_C(BOOST_PP_BOOL(p(375, s)), s, p, o, m) +# define BOOST_PP_FOR_375(s, p, o, m) BOOST_PP_FOR_375_C(BOOST_PP_BOOL(p(376, s)), s, p, o, m) +# define BOOST_PP_FOR_376(s, p, o, m) BOOST_PP_FOR_376_C(BOOST_PP_BOOL(p(377, s)), s, p, o, m) +# define BOOST_PP_FOR_377(s, p, o, m) BOOST_PP_FOR_377_C(BOOST_PP_BOOL(p(378, s)), s, p, o, m) +# define BOOST_PP_FOR_378(s, p, o, m) BOOST_PP_FOR_378_C(BOOST_PP_BOOL(p(379, s)), s, p, o, m) +# define BOOST_PP_FOR_379(s, p, o, m) BOOST_PP_FOR_379_C(BOOST_PP_BOOL(p(380, s)), s, p, o, m) +# define BOOST_PP_FOR_380(s, p, o, m) BOOST_PP_FOR_380_C(BOOST_PP_BOOL(p(381, s)), s, p, o, m) +# define BOOST_PP_FOR_381(s, p, o, m) BOOST_PP_FOR_381_C(BOOST_PP_BOOL(p(382, s)), s, p, o, m) +# define BOOST_PP_FOR_382(s, p, o, m) BOOST_PP_FOR_382_C(BOOST_PP_BOOL(p(383, s)), s, p, o, m) +# define BOOST_PP_FOR_383(s, p, o, m) BOOST_PP_FOR_383_C(BOOST_PP_BOOL(p(384, s)), s, p, o, m) +# define BOOST_PP_FOR_384(s, p, o, m) BOOST_PP_FOR_384_C(BOOST_PP_BOOL(p(385, s)), s, p, o, m) +# define BOOST_PP_FOR_385(s, p, o, m) BOOST_PP_FOR_385_C(BOOST_PP_BOOL(p(386, s)), s, p, o, m) +# define BOOST_PP_FOR_386(s, p, o, m) BOOST_PP_FOR_386_C(BOOST_PP_BOOL(p(387, s)), s, p, o, m) +# define BOOST_PP_FOR_387(s, p, o, m) BOOST_PP_FOR_387_C(BOOST_PP_BOOL(p(388, s)), s, p, o, m) +# define BOOST_PP_FOR_388(s, p, o, m) BOOST_PP_FOR_388_C(BOOST_PP_BOOL(p(389, s)), s, p, o, m) +# define BOOST_PP_FOR_389(s, p, o, m) BOOST_PP_FOR_389_C(BOOST_PP_BOOL(p(390, s)), s, p, o, m) +# define BOOST_PP_FOR_390(s, p, o, m) BOOST_PP_FOR_390_C(BOOST_PP_BOOL(p(391, s)), s, p, o, m) +# define BOOST_PP_FOR_391(s, p, o, m) BOOST_PP_FOR_391_C(BOOST_PP_BOOL(p(392, s)), s, p, o, m) +# define BOOST_PP_FOR_392(s, p, o, m) BOOST_PP_FOR_392_C(BOOST_PP_BOOL(p(393, s)), s, p, o, m) +# define BOOST_PP_FOR_393(s, p, o, m) BOOST_PP_FOR_393_C(BOOST_PP_BOOL(p(394, s)), s, p, o, m) +# define BOOST_PP_FOR_394(s, p, o, m) BOOST_PP_FOR_394_C(BOOST_PP_BOOL(p(395, s)), s, p, o, m) +# define BOOST_PP_FOR_395(s, p, o, m) BOOST_PP_FOR_395_C(BOOST_PP_BOOL(p(396, s)), s, p, o, m) +# define BOOST_PP_FOR_396(s, p, o, m) BOOST_PP_FOR_396_C(BOOST_PP_BOOL(p(397, s)), s, p, o, m) +# define BOOST_PP_FOR_397(s, p, o, m) BOOST_PP_FOR_397_C(BOOST_PP_BOOL(p(398, s)), s, p, o, m) +# define BOOST_PP_FOR_398(s, p, o, m) BOOST_PP_FOR_398_C(BOOST_PP_BOOL(p(399, s)), s, p, o, m) +# define BOOST_PP_FOR_399(s, p, o, m) BOOST_PP_FOR_399_C(BOOST_PP_BOOL(p(400, s)), s, p, o, m) +# define BOOST_PP_FOR_400(s, p, o, m) BOOST_PP_FOR_400_C(BOOST_PP_BOOL(p(401, s)), s, p, o, m) +# define BOOST_PP_FOR_401(s, p, o, m) BOOST_PP_FOR_401_C(BOOST_PP_BOOL(p(402, s)), s, p, o, m) +# define BOOST_PP_FOR_402(s, p, o, m) BOOST_PP_FOR_402_C(BOOST_PP_BOOL(p(403, s)), s, p, o, m) +# define BOOST_PP_FOR_403(s, p, o, m) BOOST_PP_FOR_403_C(BOOST_PP_BOOL(p(404, s)), s, p, o, m) +# define BOOST_PP_FOR_404(s, p, o, m) BOOST_PP_FOR_404_C(BOOST_PP_BOOL(p(405, s)), s, p, o, m) +# define BOOST_PP_FOR_405(s, p, o, m) BOOST_PP_FOR_405_C(BOOST_PP_BOOL(p(406, s)), s, p, o, m) +# define BOOST_PP_FOR_406(s, p, o, m) BOOST_PP_FOR_406_C(BOOST_PP_BOOL(p(407, s)), s, p, o, m) +# define BOOST_PP_FOR_407(s, p, o, m) BOOST_PP_FOR_407_C(BOOST_PP_BOOL(p(408, s)), s, p, o, m) +# define BOOST_PP_FOR_408(s, p, o, m) BOOST_PP_FOR_408_C(BOOST_PP_BOOL(p(409, s)), s, p, o, m) +# define BOOST_PP_FOR_409(s, p, o, m) BOOST_PP_FOR_409_C(BOOST_PP_BOOL(p(410, s)), s, p, o, m) +# define BOOST_PP_FOR_410(s, p, o, m) BOOST_PP_FOR_410_C(BOOST_PP_BOOL(p(411, s)), s, p, o, m) +# define BOOST_PP_FOR_411(s, p, o, m) BOOST_PP_FOR_411_C(BOOST_PP_BOOL(p(412, s)), s, p, o, m) +# define BOOST_PP_FOR_412(s, p, o, m) BOOST_PP_FOR_412_C(BOOST_PP_BOOL(p(413, s)), s, p, o, m) +# define BOOST_PP_FOR_413(s, p, o, m) BOOST_PP_FOR_413_C(BOOST_PP_BOOL(p(414, s)), s, p, o, m) +# define BOOST_PP_FOR_414(s, p, o, m) BOOST_PP_FOR_414_C(BOOST_PP_BOOL(p(415, s)), s, p, o, m) +# define BOOST_PP_FOR_415(s, p, o, m) BOOST_PP_FOR_415_C(BOOST_PP_BOOL(p(416, s)), s, p, o, m) +# define BOOST_PP_FOR_416(s, p, o, m) BOOST_PP_FOR_416_C(BOOST_PP_BOOL(p(417, s)), s, p, o, m) +# define BOOST_PP_FOR_417(s, p, o, m) BOOST_PP_FOR_417_C(BOOST_PP_BOOL(p(418, s)), s, p, o, m) +# define BOOST_PP_FOR_418(s, p, o, m) BOOST_PP_FOR_418_C(BOOST_PP_BOOL(p(419, s)), s, p, o, m) +# define BOOST_PP_FOR_419(s, p, o, m) BOOST_PP_FOR_419_C(BOOST_PP_BOOL(p(420, s)), s, p, o, m) +# define BOOST_PP_FOR_420(s, p, o, m) BOOST_PP_FOR_420_C(BOOST_PP_BOOL(p(421, s)), s, p, o, m) +# define BOOST_PP_FOR_421(s, p, o, m) BOOST_PP_FOR_421_C(BOOST_PP_BOOL(p(422, s)), s, p, o, m) +# define BOOST_PP_FOR_422(s, p, o, m) BOOST_PP_FOR_422_C(BOOST_PP_BOOL(p(423, s)), s, p, o, m) +# define BOOST_PP_FOR_423(s, p, o, m) BOOST_PP_FOR_423_C(BOOST_PP_BOOL(p(424, s)), s, p, o, m) +# define BOOST_PP_FOR_424(s, p, o, m) BOOST_PP_FOR_424_C(BOOST_PP_BOOL(p(425, s)), s, p, o, m) +# define BOOST_PP_FOR_425(s, p, o, m) BOOST_PP_FOR_425_C(BOOST_PP_BOOL(p(426, s)), s, p, o, m) +# define BOOST_PP_FOR_426(s, p, o, m) BOOST_PP_FOR_426_C(BOOST_PP_BOOL(p(427, s)), s, p, o, m) +# define BOOST_PP_FOR_427(s, p, o, m) BOOST_PP_FOR_427_C(BOOST_PP_BOOL(p(428, s)), s, p, o, m) +# define BOOST_PP_FOR_428(s, p, o, m) BOOST_PP_FOR_428_C(BOOST_PP_BOOL(p(429, s)), s, p, o, m) +# define BOOST_PP_FOR_429(s, p, o, m) BOOST_PP_FOR_429_C(BOOST_PP_BOOL(p(430, s)), s, p, o, m) +# define BOOST_PP_FOR_430(s, p, o, m) BOOST_PP_FOR_430_C(BOOST_PP_BOOL(p(431, s)), s, p, o, m) +# define BOOST_PP_FOR_431(s, p, o, m) BOOST_PP_FOR_431_C(BOOST_PP_BOOL(p(432, s)), s, p, o, m) +# define BOOST_PP_FOR_432(s, p, o, m) BOOST_PP_FOR_432_C(BOOST_PP_BOOL(p(433, s)), s, p, o, m) +# define BOOST_PP_FOR_433(s, p, o, m) BOOST_PP_FOR_433_C(BOOST_PP_BOOL(p(434, s)), s, p, o, m) +# define BOOST_PP_FOR_434(s, p, o, m) BOOST_PP_FOR_434_C(BOOST_PP_BOOL(p(435, s)), s, p, o, m) +# define BOOST_PP_FOR_435(s, p, o, m) BOOST_PP_FOR_435_C(BOOST_PP_BOOL(p(436, s)), s, p, o, m) +# define BOOST_PP_FOR_436(s, p, o, m) BOOST_PP_FOR_436_C(BOOST_PP_BOOL(p(437, s)), s, p, o, m) +# define BOOST_PP_FOR_437(s, p, o, m) BOOST_PP_FOR_437_C(BOOST_PP_BOOL(p(438, s)), s, p, o, m) +# define BOOST_PP_FOR_438(s, p, o, m) BOOST_PP_FOR_438_C(BOOST_PP_BOOL(p(439, s)), s, p, o, m) +# define BOOST_PP_FOR_439(s, p, o, m) BOOST_PP_FOR_439_C(BOOST_PP_BOOL(p(440, s)), s, p, o, m) +# define BOOST_PP_FOR_440(s, p, o, m) BOOST_PP_FOR_440_C(BOOST_PP_BOOL(p(441, s)), s, p, o, m) +# define BOOST_PP_FOR_441(s, p, o, m) BOOST_PP_FOR_441_C(BOOST_PP_BOOL(p(442, s)), s, p, o, m) +# define BOOST_PP_FOR_442(s, p, o, m) BOOST_PP_FOR_442_C(BOOST_PP_BOOL(p(443, s)), s, p, o, m) +# define BOOST_PP_FOR_443(s, p, o, m) BOOST_PP_FOR_443_C(BOOST_PP_BOOL(p(444, s)), s, p, o, m) +# define BOOST_PP_FOR_444(s, p, o, m) BOOST_PP_FOR_444_C(BOOST_PP_BOOL(p(445, s)), s, p, o, m) +# define BOOST_PP_FOR_445(s, p, o, m) BOOST_PP_FOR_445_C(BOOST_PP_BOOL(p(446, s)), s, p, o, m) +# define BOOST_PP_FOR_446(s, p, o, m) BOOST_PP_FOR_446_C(BOOST_PP_BOOL(p(447, s)), s, p, o, m) +# define BOOST_PP_FOR_447(s, p, o, m) BOOST_PP_FOR_447_C(BOOST_PP_BOOL(p(448, s)), s, p, o, m) +# define BOOST_PP_FOR_448(s, p, o, m) BOOST_PP_FOR_448_C(BOOST_PP_BOOL(p(449, s)), s, p, o, m) +# define BOOST_PP_FOR_449(s, p, o, m) BOOST_PP_FOR_449_C(BOOST_PP_BOOL(p(450, s)), s, p, o, m) +# define BOOST_PP_FOR_450(s, p, o, m) BOOST_PP_FOR_450_C(BOOST_PP_BOOL(p(451, s)), s, p, o, m) +# define BOOST_PP_FOR_451(s, p, o, m) BOOST_PP_FOR_451_C(BOOST_PP_BOOL(p(452, s)), s, p, o, m) +# define BOOST_PP_FOR_452(s, p, o, m) BOOST_PP_FOR_452_C(BOOST_PP_BOOL(p(453, s)), s, p, o, m) +# define BOOST_PP_FOR_453(s, p, o, m) BOOST_PP_FOR_453_C(BOOST_PP_BOOL(p(454, s)), s, p, o, m) +# define BOOST_PP_FOR_454(s, p, o, m) BOOST_PP_FOR_454_C(BOOST_PP_BOOL(p(455, s)), s, p, o, m) +# define BOOST_PP_FOR_455(s, p, o, m) BOOST_PP_FOR_455_C(BOOST_PP_BOOL(p(456, s)), s, p, o, m) +# define BOOST_PP_FOR_456(s, p, o, m) BOOST_PP_FOR_456_C(BOOST_PP_BOOL(p(457, s)), s, p, o, m) +# define BOOST_PP_FOR_457(s, p, o, m) BOOST_PP_FOR_457_C(BOOST_PP_BOOL(p(458, s)), s, p, o, m) +# define BOOST_PP_FOR_458(s, p, o, m) BOOST_PP_FOR_458_C(BOOST_PP_BOOL(p(459, s)), s, p, o, m) +# define BOOST_PP_FOR_459(s, p, o, m) BOOST_PP_FOR_459_C(BOOST_PP_BOOL(p(460, s)), s, p, o, m) +# define BOOST_PP_FOR_460(s, p, o, m) BOOST_PP_FOR_460_C(BOOST_PP_BOOL(p(461, s)), s, p, o, m) +# define BOOST_PP_FOR_461(s, p, o, m) BOOST_PP_FOR_461_C(BOOST_PP_BOOL(p(462, s)), s, p, o, m) +# define BOOST_PP_FOR_462(s, p, o, m) BOOST_PP_FOR_462_C(BOOST_PP_BOOL(p(463, s)), s, p, o, m) +# define BOOST_PP_FOR_463(s, p, o, m) BOOST_PP_FOR_463_C(BOOST_PP_BOOL(p(464, s)), s, p, o, m) +# define BOOST_PP_FOR_464(s, p, o, m) BOOST_PP_FOR_464_C(BOOST_PP_BOOL(p(465, s)), s, p, o, m) +# define BOOST_PP_FOR_465(s, p, o, m) BOOST_PP_FOR_465_C(BOOST_PP_BOOL(p(466, s)), s, p, o, m) +# define BOOST_PP_FOR_466(s, p, o, m) BOOST_PP_FOR_466_C(BOOST_PP_BOOL(p(467, s)), s, p, o, m) +# define BOOST_PP_FOR_467(s, p, o, m) BOOST_PP_FOR_467_C(BOOST_PP_BOOL(p(468, s)), s, p, o, m) +# define BOOST_PP_FOR_468(s, p, o, m) BOOST_PP_FOR_468_C(BOOST_PP_BOOL(p(469, s)), s, p, o, m) +# define BOOST_PP_FOR_469(s, p, o, m) BOOST_PP_FOR_469_C(BOOST_PP_BOOL(p(470, s)), s, p, o, m) +# define BOOST_PP_FOR_470(s, p, o, m) BOOST_PP_FOR_470_C(BOOST_PP_BOOL(p(471, s)), s, p, o, m) +# define BOOST_PP_FOR_471(s, p, o, m) BOOST_PP_FOR_471_C(BOOST_PP_BOOL(p(472, s)), s, p, o, m) +# define BOOST_PP_FOR_472(s, p, o, m) BOOST_PP_FOR_472_C(BOOST_PP_BOOL(p(473, s)), s, p, o, m) +# define BOOST_PP_FOR_473(s, p, o, m) BOOST_PP_FOR_473_C(BOOST_PP_BOOL(p(474, s)), s, p, o, m) +# define BOOST_PP_FOR_474(s, p, o, m) BOOST_PP_FOR_474_C(BOOST_PP_BOOL(p(475, s)), s, p, o, m) +# define BOOST_PP_FOR_475(s, p, o, m) BOOST_PP_FOR_475_C(BOOST_PP_BOOL(p(476, s)), s, p, o, m) +# define BOOST_PP_FOR_476(s, p, o, m) BOOST_PP_FOR_476_C(BOOST_PP_BOOL(p(477, s)), s, p, o, m) +# define BOOST_PP_FOR_477(s, p, o, m) BOOST_PP_FOR_477_C(BOOST_PP_BOOL(p(478, s)), s, p, o, m) +# define BOOST_PP_FOR_478(s, p, o, m) BOOST_PP_FOR_478_C(BOOST_PP_BOOL(p(479, s)), s, p, o, m) +# define BOOST_PP_FOR_479(s, p, o, m) BOOST_PP_FOR_479_C(BOOST_PP_BOOL(p(480, s)), s, p, o, m) +# define BOOST_PP_FOR_480(s, p, o, m) BOOST_PP_FOR_480_C(BOOST_PP_BOOL(p(481, s)), s, p, o, m) +# define BOOST_PP_FOR_481(s, p, o, m) BOOST_PP_FOR_481_C(BOOST_PP_BOOL(p(482, s)), s, p, o, m) +# define BOOST_PP_FOR_482(s, p, o, m) BOOST_PP_FOR_482_C(BOOST_PP_BOOL(p(483, s)), s, p, o, m) +# define BOOST_PP_FOR_483(s, p, o, m) BOOST_PP_FOR_483_C(BOOST_PP_BOOL(p(484, s)), s, p, o, m) +# define BOOST_PP_FOR_484(s, p, o, m) BOOST_PP_FOR_484_C(BOOST_PP_BOOL(p(485, s)), s, p, o, m) +# define BOOST_PP_FOR_485(s, p, o, m) BOOST_PP_FOR_485_C(BOOST_PP_BOOL(p(486, s)), s, p, o, m) +# define BOOST_PP_FOR_486(s, p, o, m) BOOST_PP_FOR_486_C(BOOST_PP_BOOL(p(487, s)), s, p, o, m) +# define BOOST_PP_FOR_487(s, p, o, m) BOOST_PP_FOR_487_C(BOOST_PP_BOOL(p(488, s)), s, p, o, m) +# define BOOST_PP_FOR_488(s, p, o, m) BOOST_PP_FOR_488_C(BOOST_PP_BOOL(p(489, s)), s, p, o, m) +# define BOOST_PP_FOR_489(s, p, o, m) BOOST_PP_FOR_489_C(BOOST_PP_BOOL(p(490, s)), s, p, o, m) +# define BOOST_PP_FOR_490(s, p, o, m) BOOST_PP_FOR_490_C(BOOST_PP_BOOL(p(491, s)), s, p, o, m) +# define BOOST_PP_FOR_491(s, p, o, m) BOOST_PP_FOR_491_C(BOOST_PP_BOOL(p(492, s)), s, p, o, m) +# define BOOST_PP_FOR_492(s, p, o, m) BOOST_PP_FOR_492_C(BOOST_PP_BOOL(p(493, s)), s, p, o, m) +# define BOOST_PP_FOR_493(s, p, o, m) BOOST_PP_FOR_493_C(BOOST_PP_BOOL(p(494, s)), s, p, o, m) +# define BOOST_PP_FOR_494(s, p, o, m) BOOST_PP_FOR_494_C(BOOST_PP_BOOL(p(495, s)), s, p, o, m) +# define BOOST_PP_FOR_495(s, p, o, m) BOOST_PP_FOR_495_C(BOOST_PP_BOOL(p(496, s)), s, p, o, m) +# define BOOST_PP_FOR_496(s, p, o, m) BOOST_PP_FOR_496_C(BOOST_PP_BOOL(p(497, s)), s, p, o, m) +# define BOOST_PP_FOR_497(s, p, o, m) BOOST_PP_FOR_497_C(BOOST_PP_BOOL(p(498, s)), s, p, o, m) +# define BOOST_PP_FOR_498(s, p, o, m) BOOST_PP_FOR_498_C(BOOST_PP_BOOL(p(499, s)), s, p, o, m) +# define BOOST_PP_FOR_499(s, p, o, m) BOOST_PP_FOR_499_C(BOOST_PP_BOOL(p(500, s)), s, p, o, m) +# define BOOST_PP_FOR_500(s, p, o, m) BOOST_PP_FOR_500_C(BOOST_PP_BOOL(p(501, s)), s, p, o, m) +# define BOOST_PP_FOR_501(s, p, o, m) BOOST_PP_FOR_501_C(BOOST_PP_BOOL(p(502, s)), s, p, o, m) +# define BOOST_PP_FOR_502(s, p, o, m) BOOST_PP_FOR_502_C(BOOST_PP_BOOL(p(503, s)), s, p, o, m) +# define BOOST_PP_FOR_503(s, p, o, m) BOOST_PP_FOR_503_C(BOOST_PP_BOOL(p(504, s)), s, p, o, m) +# define BOOST_PP_FOR_504(s, p, o, m) BOOST_PP_FOR_504_C(BOOST_PP_BOOL(p(505, s)), s, p, o, m) +# define BOOST_PP_FOR_505(s, p, o, m) BOOST_PP_FOR_505_C(BOOST_PP_BOOL(p(506, s)), s, p, o, m) +# define BOOST_PP_FOR_506(s, p, o, m) BOOST_PP_FOR_506_C(BOOST_PP_BOOL(p(507, s)), s, p, o, m) +# define BOOST_PP_FOR_507(s, p, o, m) BOOST_PP_FOR_507_C(BOOST_PP_BOOL(p(508, s)), s, p, o, m) +# define BOOST_PP_FOR_508(s, p, o, m) BOOST_PP_FOR_508_C(BOOST_PP_BOOL(p(509, s)), s, p, o, m) +# define BOOST_PP_FOR_509(s, p, o, m) BOOST_PP_FOR_509_C(BOOST_PP_BOOL(p(510, s)), s, p, o, m) +# define BOOST_PP_FOR_510(s, p, o, m) BOOST_PP_FOR_510_C(BOOST_PP_BOOL(p(511, s)), s, p, o, m) +# define BOOST_PP_FOR_511(s, p, o, m) BOOST_PP_FOR_511_C(BOOST_PP_BOOL(p(512, s)), s, p, o, m) +# define BOOST_PP_FOR_512(s, p, o, m) BOOST_PP_FOR_512_C(BOOST_PP_BOOL(p(513, s)), s, p, o, m) +# +# define BOOST_PP_FOR_257_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(258, s) BOOST_PP_IIF(c, BOOST_PP_FOR_258, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(258, s), p, o, m) +# define BOOST_PP_FOR_258_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(259, s) BOOST_PP_IIF(c, BOOST_PP_FOR_259, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(259, s), p, o, m) +# define BOOST_PP_FOR_259_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(260, s) BOOST_PP_IIF(c, BOOST_PP_FOR_260, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(260, s), p, o, m) +# define BOOST_PP_FOR_260_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(261, s) BOOST_PP_IIF(c, BOOST_PP_FOR_261, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(261, s), p, o, m) +# define BOOST_PP_FOR_261_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(262, s) BOOST_PP_IIF(c, BOOST_PP_FOR_262, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(262, s), p, o, m) +# define BOOST_PP_FOR_262_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(263, s) BOOST_PP_IIF(c, BOOST_PP_FOR_263, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(263, s), p, o, m) +# define BOOST_PP_FOR_263_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(264, s) BOOST_PP_IIF(c, BOOST_PP_FOR_264, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(264, s), p, o, m) +# define BOOST_PP_FOR_264_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(265, s) BOOST_PP_IIF(c, BOOST_PP_FOR_265, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(265, s), p, o, m) +# define BOOST_PP_FOR_265_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(266, s) BOOST_PP_IIF(c, BOOST_PP_FOR_266, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(266, s), p, o, m) +# define BOOST_PP_FOR_266_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(267, s) BOOST_PP_IIF(c, BOOST_PP_FOR_267, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(267, s), p, o, m) +# define BOOST_PP_FOR_267_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(268, s) BOOST_PP_IIF(c, BOOST_PP_FOR_268, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(268, s), p, o, m) +# define BOOST_PP_FOR_268_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(269, s) BOOST_PP_IIF(c, BOOST_PP_FOR_269, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(269, s), p, o, m) +# define BOOST_PP_FOR_269_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(270, s) BOOST_PP_IIF(c, BOOST_PP_FOR_270, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(270, s), p, o, m) +# define BOOST_PP_FOR_270_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(271, s) BOOST_PP_IIF(c, BOOST_PP_FOR_271, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(271, s), p, o, m) +# define BOOST_PP_FOR_271_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(272, s) BOOST_PP_IIF(c, BOOST_PP_FOR_272, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(272, s), p, o, m) +# define BOOST_PP_FOR_272_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(273, s) BOOST_PP_IIF(c, BOOST_PP_FOR_273, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(273, s), p, o, m) +# define BOOST_PP_FOR_273_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(274, s) BOOST_PP_IIF(c, BOOST_PP_FOR_274, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(274, s), p, o, m) +# define BOOST_PP_FOR_274_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(275, s) BOOST_PP_IIF(c, BOOST_PP_FOR_275, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(275, s), p, o, m) +# define BOOST_PP_FOR_275_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(276, s) BOOST_PP_IIF(c, BOOST_PP_FOR_276, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(276, s), p, o, m) +# define BOOST_PP_FOR_276_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(277, s) BOOST_PP_IIF(c, BOOST_PP_FOR_277, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(277, s), p, o, m) +# define BOOST_PP_FOR_277_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(278, s) BOOST_PP_IIF(c, BOOST_PP_FOR_278, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(278, s), p, o, m) +# define BOOST_PP_FOR_278_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(279, s) BOOST_PP_IIF(c, BOOST_PP_FOR_279, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(279, s), p, o, m) +# define BOOST_PP_FOR_279_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(280, s) BOOST_PP_IIF(c, BOOST_PP_FOR_280, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(280, s), p, o, m) +# define BOOST_PP_FOR_280_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(281, s) BOOST_PP_IIF(c, BOOST_PP_FOR_281, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(281, s), p, o, m) +# define BOOST_PP_FOR_281_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(282, s) BOOST_PP_IIF(c, BOOST_PP_FOR_282, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(282, s), p, o, m) +# define BOOST_PP_FOR_282_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(283, s) BOOST_PP_IIF(c, BOOST_PP_FOR_283, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(283, s), p, o, m) +# define BOOST_PP_FOR_283_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(284, s) BOOST_PP_IIF(c, BOOST_PP_FOR_284, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(284, s), p, o, m) +# define BOOST_PP_FOR_284_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(285, s) BOOST_PP_IIF(c, BOOST_PP_FOR_285, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(285, s), p, o, m) +# define BOOST_PP_FOR_285_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(286, s) BOOST_PP_IIF(c, BOOST_PP_FOR_286, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(286, s), p, o, m) +# define BOOST_PP_FOR_286_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(287, s) BOOST_PP_IIF(c, BOOST_PP_FOR_287, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(287, s), p, o, m) +# define BOOST_PP_FOR_287_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(288, s) BOOST_PP_IIF(c, BOOST_PP_FOR_288, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(288, s), p, o, m) +# define BOOST_PP_FOR_288_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(289, s) BOOST_PP_IIF(c, BOOST_PP_FOR_289, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(289, s), p, o, m) +# define BOOST_PP_FOR_289_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(290, s) BOOST_PP_IIF(c, BOOST_PP_FOR_290, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(290, s), p, o, m) +# define BOOST_PP_FOR_290_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(291, s) BOOST_PP_IIF(c, BOOST_PP_FOR_291, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(291, s), p, o, m) +# define BOOST_PP_FOR_291_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(292, s) BOOST_PP_IIF(c, BOOST_PP_FOR_292, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(292, s), p, o, m) +# define BOOST_PP_FOR_292_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(293, s) BOOST_PP_IIF(c, BOOST_PP_FOR_293, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(293, s), p, o, m) +# define BOOST_PP_FOR_293_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(294, s) BOOST_PP_IIF(c, BOOST_PP_FOR_294, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(294, s), p, o, m) +# define BOOST_PP_FOR_294_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(295, s) BOOST_PP_IIF(c, BOOST_PP_FOR_295, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(295, s), p, o, m) +# define BOOST_PP_FOR_295_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(296, s) BOOST_PP_IIF(c, BOOST_PP_FOR_296, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(296, s), p, o, m) +# define BOOST_PP_FOR_296_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(297, s) BOOST_PP_IIF(c, BOOST_PP_FOR_297, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(297, s), p, o, m) +# define BOOST_PP_FOR_297_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(298, s) BOOST_PP_IIF(c, BOOST_PP_FOR_298, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(298, s), p, o, m) +# define BOOST_PP_FOR_298_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(299, s) BOOST_PP_IIF(c, BOOST_PP_FOR_299, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(299, s), p, o, m) +# define BOOST_PP_FOR_299_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(300, s) BOOST_PP_IIF(c, BOOST_PP_FOR_300, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(300, s), p, o, m) +# define BOOST_PP_FOR_300_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(301, s) BOOST_PP_IIF(c, BOOST_PP_FOR_301, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(301, s), p, o, m) +# define BOOST_PP_FOR_301_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(302, s) BOOST_PP_IIF(c, BOOST_PP_FOR_302, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(302, s), p, o, m) +# define BOOST_PP_FOR_302_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(303, s) BOOST_PP_IIF(c, BOOST_PP_FOR_303, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(303, s), p, o, m) +# define BOOST_PP_FOR_303_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(304, s) BOOST_PP_IIF(c, BOOST_PP_FOR_304, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(304, s), p, o, m) +# define BOOST_PP_FOR_304_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(305, s) BOOST_PP_IIF(c, BOOST_PP_FOR_305, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(305, s), p, o, m) +# define BOOST_PP_FOR_305_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(306, s) BOOST_PP_IIF(c, BOOST_PP_FOR_306, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(306, s), p, o, m) +# define BOOST_PP_FOR_306_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(307, s) BOOST_PP_IIF(c, BOOST_PP_FOR_307, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(307, s), p, o, m) +# define BOOST_PP_FOR_307_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(308, s) BOOST_PP_IIF(c, BOOST_PP_FOR_308, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(308, s), p, o, m) +# define BOOST_PP_FOR_308_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(309, s) BOOST_PP_IIF(c, BOOST_PP_FOR_309, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(309, s), p, o, m) +# define BOOST_PP_FOR_309_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(310, s) BOOST_PP_IIF(c, BOOST_PP_FOR_310, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(310, s), p, o, m) +# define BOOST_PP_FOR_310_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(311, s) BOOST_PP_IIF(c, BOOST_PP_FOR_311, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(311, s), p, o, m) +# define BOOST_PP_FOR_311_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(312, s) BOOST_PP_IIF(c, BOOST_PP_FOR_312, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(312, s), p, o, m) +# define BOOST_PP_FOR_312_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(313, s) BOOST_PP_IIF(c, BOOST_PP_FOR_313, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(313, s), p, o, m) +# define BOOST_PP_FOR_313_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(314, s) BOOST_PP_IIF(c, BOOST_PP_FOR_314, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(314, s), p, o, m) +# define BOOST_PP_FOR_314_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(315, s) BOOST_PP_IIF(c, BOOST_PP_FOR_315, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(315, s), p, o, m) +# define BOOST_PP_FOR_315_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(316, s) BOOST_PP_IIF(c, BOOST_PP_FOR_316, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(316, s), p, o, m) +# define BOOST_PP_FOR_316_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(317, s) BOOST_PP_IIF(c, BOOST_PP_FOR_317, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(317, s), p, o, m) +# define BOOST_PP_FOR_317_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(318, s) BOOST_PP_IIF(c, BOOST_PP_FOR_318, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(318, s), p, o, m) +# define BOOST_PP_FOR_318_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(319, s) BOOST_PP_IIF(c, BOOST_PP_FOR_319, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(319, s), p, o, m) +# define BOOST_PP_FOR_319_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(320, s) BOOST_PP_IIF(c, BOOST_PP_FOR_320, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(320, s), p, o, m) +# define BOOST_PP_FOR_320_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(321, s) BOOST_PP_IIF(c, BOOST_PP_FOR_321, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(321, s), p, o, m) +# define BOOST_PP_FOR_321_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(322, s) BOOST_PP_IIF(c, BOOST_PP_FOR_322, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(322, s), p, o, m) +# define BOOST_PP_FOR_322_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(323, s) BOOST_PP_IIF(c, BOOST_PP_FOR_323, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(323, s), p, o, m) +# define BOOST_PP_FOR_323_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(324, s) BOOST_PP_IIF(c, BOOST_PP_FOR_324, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(324, s), p, o, m) +# define BOOST_PP_FOR_324_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(325, s) BOOST_PP_IIF(c, BOOST_PP_FOR_325, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(325, s), p, o, m) +# define BOOST_PP_FOR_325_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(326, s) BOOST_PP_IIF(c, BOOST_PP_FOR_326, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(326, s), p, o, m) +# define BOOST_PP_FOR_326_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(327, s) BOOST_PP_IIF(c, BOOST_PP_FOR_327, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(327, s), p, o, m) +# define BOOST_PP_FOR_327_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(328, s) BOOST_PP_IIF(c, BOOST_PP_FOR_328, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(328, s), p, o, m) +# define BOOST_PP_FOR_328_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(329, s) BOOST_PP_IIF(c, BOOST_PP_FOR_329, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(329, s), p, o, m) +# define BOOST_PP_FOR_329_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(330, s) BOOST_PP_IIF(c, BOOST_PP_FOR_330, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(330, s), p, o, m) +# define BOOST_PP_FOR_330_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(331, s) BOOST_PP_IIF(c, BOOST_PP_FOR_331, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(331, s), p, o, m) +# define BOOST_PP_FOR_331_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(332, s) BOOST_PP_IIF(c, BOOST_PP_FOR_332, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(332, s), p, o, m) +# define BOOST_PP_FOR_332_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(333, s) BOOST_PP_IIF(c, BOOST_PP_FOR_333, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(333, s), p, o, m) +# define BOOST_PP_FOR_333_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(334, s) BOOST_PP_IIF(c, BOOST_PP_FOR_334, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(334, s), p, o, m) +# define BOOST_PP_FOR_334_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(335, s) BOOST_PP_IIF(c, BOOST_PP_FOR_335, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(335, s), p, o, m) +# define BOOST_PP_FOR_335_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(336, s) BOOST_PP_IIF(c, BOOST_PP_FOR_336, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(336, s), p, o, m) +# define BOOST_PP_FOR_336_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(337, s) BOOST_PP_IIF(c, BOOST_PP_FOR_337, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(337, s), p, o, m) +# define BOOST_PP_FOR_337_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(338, s) BOOST_PP_IIF(c, BOOST_PP_FOR_338, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(338, s), p, o, m) +# define BOOST_PP_FOR_338_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(339, s) BOOST_PP_IIF(c, BOOST_PP_FOR_339, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(339, s), p, o, m) +# define BOOST_PP_FOR_339_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(340, s) BOOST_PP_IIF(c, BOOST_PP_FOR_340, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(340, s), p, o, m) +# define BOOST_PP_FOR_340_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(341, s) BOOST_PP_IIF(c, BOOST_PP_FOR_341, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(341, s), p, o, m) +# define BOOST_PP_FOR_341_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(342, s) BOOST_PP_IIF(c, BOOST_PP_FOR_342, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(342, s), p, o, m) +# define BOOST_PP_FOR_342_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(343, s) BOOST_PP_IIF(c, BOOST_PP_FOR_343, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(343, s), p, o, m) +# define BOOST_PP_FOR_343_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(344, s) BOOST_PP_IIF(c, BOOST_PP_FOR_344, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(344, s), p, o, m) +# define BOOST_PP_FOR_344_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(345, s) BOOST_PP_IIF(c, BOOST_PP_FOR_345, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(345, s), p, o, m) +# define BOOST_PP_FOR_345_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(346, s) BOOST_PP_IIF(c, BOOST_PP_FOR_346, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(346, s), p, o, m) +# define BOOST_PP_FOR_346_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(347, s) BOOST_PP_IIF(c, BOOST_PP_FOR_347, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(347, s), p, o, m) +# define BOOST_PP_FOR_347_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(348, s) BOOST_PP_IIF(c, BOOST_PP_FOR_348, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(348, s), p, o, m) +# define BOOST_PP_FOR_348_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(349, s) BOOST_PP_IIF(c, BOOST_PP_FOR_349, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(349, s), p, o, m) +# define BOOST_PP_FOR_349_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(350, s) BOOST_PP_IIF(c, BOOST_PP_FOR_350, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(350, s), p, o, m) +# define BOOST_PP_FOR_350_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(351, s) BOOST_PP_IIF(c, BOOST_PP_FOR_351, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(351, s), p, o, m) +# define BOOST_PP_FOR_351_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(352, s) BOOST_PP_IIF(c, BOOST_PP_FOR_352, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(352, s), p, o, m) +# define BOOST_PP_FOR_352_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(353, s) BOOST_PP_IIF(c, BOOST_PP_FOR_353, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(353, s), p, o, m) +# define BOOST_PP_FOR_353_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(354, s) BOOST_PP_IIF(c, BOOST_PP_FOR_354, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(354, s), p, o, m) +# define BOOST_PP_FOR_354_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(355, s) BOOST_PP_IIF(c, BOOST_PP_FOR_355, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(355, s), p, o, m) +# define BOOST_PP_FOR_355_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(356, s) BOOST_PP_IIF(c, BOOST_PP_FOR_356, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(356, s), p, o, m) +# define BOOST_PP_FOR_356_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(357, s) BOOST_PP_IIF(c, BOOST_PP_FOR_357, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(357, s), p, o, m) +# define BOOST_PP_FOR_357_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(358, s) BOOST_PP_IIF(c, BOOST_PP_FOR_358, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(358, s), p, o, m) +# define BOOST_PP_FOR_358_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(359, s) BOOST_PP_IIF(c, BOOST_PP_FOR_359, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(359, s), p, o, m) +# define BOOST_PP_FOR_359_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(360, s) BOOST_PP_IIF(c, BOOST_PP_FOR_360, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(360, s), p, o, m) +# define BOOST_PP_FOR_360_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(361, s) BOOST_PP_IIF(c, BOOST_PP_FOR_361, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(361, s), p, o, m) +# define BOOST_PP_FOR_361_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(362, s) BOOST_PP_IIF(c, BOOST_PP_FOR_362, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(362, s), p, o, m) +# define BOOST_PP_FOR_362_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(363, s) BOOST_PP_IIF(c, BOOST_PP_FOR_363, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(363, s), p, o, m) +# define BOOST_PP_FOR_363_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(364, s) BOOST_PP_IIF(c, BOOST_PP_FOR_364, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(364, s), p, o, m) +# define BOOST_PP_FOR_364_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(365, s) BOOST_PP_IIF(c, BOOST_PP_FOR_365, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(365, s), p, o, m) +# define BOOST_PP_FOR_365_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(366, s) BOOST_PP_IIF(c, BOOST_PP_FOR_366, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(366, s), p, o, m) +# define BOOST_PP_FOR_366_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(367, s) BOOST_PP_IIF(c, BOOST_PP_FOR_367, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(367, s), p, o, m) +# define BOOST_PP_FOR_367_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(368, s) BOOST_PP_IIF(c, BOOST_PP_FOR_368, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(368, s), p, o, m) +# define BOOST_PP_FOR_368_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(369, s) BOOST_PP_IIF(c, BOOST_PP_FOR_369, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(369, s), p, o, m) +# define BOOST_PP_FOR_369_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(370, s) BOOST_PP_IIF(c, BOOST_PP_FOR_370, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(370, s), p, o, m) +# define BOOST_PP_FOR_370_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(371, s) BOOST_PP_IIF(c, BOOST_PP_FOR_371, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(371, s), p, o, m) +# define BOOST_PP_FOR_371_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(372, s) BOOST_PP_IIF(c, BOOST_PP_FOR_372, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(372, s), p, o, m) +# define BOOST_PP_FOR_372_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(373, s) BOOST_PP_IIF(c, BOOST_PP_FOR_373, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(373, s), p, o, m) +# define BOOST_PP_FOR_373_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(374, s) BOOST_PP_IIF(c, BOOST_PP_FOR_374, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(374, s), p, o, m) +# define BOOST_PP_FOR_374_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(375, s) BOOST_PP_IIF(c, BOOST_PP_FOR_375, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(375, s), p, o, m) +# define BOOST_PP_FOR_375_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(376, s) BOOST_PP_IIF(c, BOOST_PP_FOR_376, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(376, s), p, o, m) +# define BOOST_PP_FOR_376_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(377, s) BOOST_PP_IIF(c, BOOST_PP_FOR_377, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(377, s), p, o, m) +# define BOOST_PP_FOR_377_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(378, s) BOOST_PP_IIF(c, BOOST_PP_FOR_378, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(378, s), p, o, m) +# define BOOST_PP_FOR_378_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(379, s) BOOST_PP_IIF(c, BOOST_PP_FOR_379, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(379, s), p, o, m) +# define BOOST_PP_FOR_379_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(380, s) BOOST_PP_IIF(c, BOOST_PP_FOR_380, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(380, s), p, o, m) +# define BOOST_PP_FOR_380_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(381, s) BOOST_PP_IIF(c, BOOST_PP_FOR_381, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(381, s), p, o, m) +# define BOOST_PP_FOR_381_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(382, s) BOOST_PP_IIF(c, BOOST_PP_FOR_382, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(382, s), p, o, m) +# define BOOST_PP_FOR_382_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(383, s) BOOST_PP_IIF(c, BOOST_PP_FOR_383, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(383, s), p, o, m) +# define BOOST_PP_FOR_383_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(384, s) BOOST_PP_IIF(c, BOOST_PP_FOR_384, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(384, s), p, o, m) +# define BOOST_PP_FOR_384_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(385, s) BOOST_PP_IIF(c, BOOST_PP_FOR_385, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(385, s), p, o, m) +# define BOOST_PP_FOR_385_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(386, s) BOOST_PP_IIF(c, BOOST_PP_FOR_386, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(386, s), p, o, m) +# define BOOST_PP_FOR_386_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(387, s) BOOST_PP_IIF(c, BOOST_PP_FOR_387, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(387, s), p, o, m) +# define BOOST_PP_FOR_387_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(388, s) BOOST_PP_IIF(c, BOOST_PP_FOR_388, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(388, s), p, o, m) +# define BOOST_PP_FOR_388_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(389, s) BOOST_PP_IIF(c, BOOST_PP_FOR_389, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(389, s), p, o, m) +# define BOOST_PP_FOR_389_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(390, s) BOOST_PP_IIF(c, BOOST_PP_FOR_390, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(390, s), p, o, m) +# define BOOST_PP_FOR_390_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(391, s) BOOST_PP_IIF(c, BOOST_PP_FOR_391, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(391, s), p, o, m) +# define BOOST_PP_FOR_391_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(392, s) BOOST_PP_IIF(c, BOOST_PP_FOR_392, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(392, s), p, o, m) +# define BOOST_PP_FOR_392_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(393, s) BOOST_PP_IIF(c, BOOST_PP_FOR_393, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(393, s), p, o, m) +# define BOOST_PP_FOR_393_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(394, s) BOOST_PP_IIF(c, BOOST_PP_FOR_394, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(394, s), p, o, m) +# define BOOST_PP_FOR_394_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(395, s) BOOST_PP_IIF(c, BOOST_PP_FOR_395, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(395, s), p, o, m) +# define BOOST_PP_FOR_395_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(396, s) BOOST_PP_IIF(c, BOOST_PP_FOR_396, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(396, s), p, o, m) +# define BOOST_PP_FOR_396_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(397, s) BOOST_PP_IIF(c, BOOST_PP_FOR_397, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(397, s), p, o, m) +# define BOOST_PP_FOR_397_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(398, s) BOOST_PP_IIF(c, BOOST_PP_FOR_398, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(398, s), p, o, m) +# define BOOST_PP_FOR_398_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(399, s) BOOST_PP_IIF(c, BOOST_PP_FOR_399, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(399, s), p, o, m) +# define BOOST_PP_FOR_399_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(400, s) BOOST_PP_IIF(c, BOOST_PP_FOR_400, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(400, s), p, o, m) +# define BOOST_PP_FOR_400_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(401, s) BOOST_PP_IIF(c, BOOST_PP_FOR_401, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(401, s), p, o, m) +# define BOOST_PP_FOR_401_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(402, s) BOOST_PP_IIF(c, BOOST_PP_FOR_402, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(402, s), p, o, m) +# define BOOST_PP_FOR_402_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(403, s) BOOST_PP_IIF(c, BOOST_PP_FOR_403, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(403, s), p, o, m) +# define BOOST_PP_FOR_403_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(404, s) BOOST_PP_IIF(c, BOOST_PP_FOR_404, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(404, s), p, o, m) +# define BOOST_PP_FOR_404_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(405, s) BOOST_PP_IIF(c, BOOST_PP_FOR_405, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(405, s), p, o, m) +# define BOOST_PP_FOR_405_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(406, s) BOOST_PP_IIF(c, BOOST_PP_FOR_406, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(406, s), p, o, m) +# define BOOST_PP_FOR_406_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(407, s) BOOST_PP_IIF(c, BOOST_PP_FOR_407, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(407, s), p, o, m) +# define BOOST_PP_FOR_407_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(408, s) BOOST_PP_IIF(c, BOOST_PP_FOR_408, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(408, s), p, o, m) +# define BOOST_PP_FOR_408_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(409, s) BOOST_PP_IIF(c, BOOST_PP_FOR_409, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(409, s), p, o, m) +# define BOOST_PP_FOR_409_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(410, s) BOOST_PP_IIF(c, BOOST_PP_FOR_410, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(410, s), p, o, m) +# define BOOST_PP_FOR_410_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(411, s) BOOST_PP_IIF(c, BOOST_PP_FOR_411, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(411, s), p, o, m) +# define BOOST_PP_FOR_411_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(412, s) BOOST_PP_IIF(c, BOOST_PP_FOR_412, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(412, s), p, o, m) +# define BOOST_PP_FOR_412_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(413, s) BOOST_PP_IIF(c, BOOST_PP_FOR_413, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(413, s), p, o, m) +# define BOOST_PP_FOR_413_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(414, s) BOOST_PP_IIF(c, BOOST_PP_FOR_414, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(414, s), p, o, m) +# define BOOST_PP_FOR_414_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(415, s) BOOST_PP_IIF(c, BOOST_PP_FOR_415, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(415, s), p, o, m) +# define BOOST_PP_FOR_415_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(416, s) BOOST_PP_IIF(c, BOOST_PP_FOR_416, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(416, s), p, o, m) +# define BOOST_PP_FOR_416_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(417, s) BOOST_PP_IIF(c, BOOST_PP_FOR_417, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(417, s), p, o, m) +# define BOOST_PP_FOR_417_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(418, s) BOOST_PP_IIF(c, BOOST_PP_FOR_418, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(418, s), p, o, m) +# define BOOST_PP_FOR_418_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(419, s) BOOST_PP_IIF(c, BOOST_PP_FOR_419, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(419, s), p, o, m) +# define BOOST_PP_FOR_419_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(420, s) BOOST_PP_IIF(c, BOOST_PP_FOR_420, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(420, s), p, o, m) +# define BOOST_PP_FOR_420_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(421, s) BOOST_PP_IIF(c, BOOST_PP_FOR_421, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(421, s), p, o, m) +# define BOOST_PP_FOR_421_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(422, s) BOOST_PP_IIF(c, BOOST_PP_FOR_422, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(422, s), p, o, m) +# define BOOST_PP_FOR_422_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(423, s) BOOST_PP_IIF(c, BOOST_PP_FOR_423, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(423, s), p, o, m) +# define BOOST_PP_FOR_423_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(424, s) BOOST_PP_IIF(c, BOOST_PP_FOR_424, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(424, s), p, o, m) +# define BOOST_PP_FOR_424_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(425, s) BOOST_PP_IIF(c, BOOST_PP_FOR_425, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(425, s), p, o, m) +# define BOOST_PP_FOR_425_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(426, s) BOOST_PP_IIF(c, BOOST_PP_FOR_426, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(426, s), p, o, m) +# define BOOST_PP_FOR_426_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(427, s) BOOST_PP_IIF(c, BOOST_PP_FOR_427, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(427, s), p, o, m) +# define BOOST_PP_FOR_427_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(428, s) BOOST_PP_IIF(c, BOOST_PP_FOR_428, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(428, s), p, o, m) +# define BOOST_PP_FOR_428_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(429, s) BOOST_PP_IIF(c, BOOST_PP_FOR_429, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(429, s), p, o, m) +# define BOOST_PP_FOR_429_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(430, s) BOOST_PP_IIF(c, BOOST_PP_FOR_430, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(430, s), p, o, m) +# define BOOST_PP_FOR_430_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(431, s) BOOST_PP_IIF(c, BOOST_PP_FOR_431, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(431, s), p, o, m) +# define BOOST_PP_FOR_431_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(432, s) BOOST_PP_IIF(c, BOOST_PP_FOR_432, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(432, s), p, o, m) +# define BOOST_PP_FOR_432_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(433, s) BOOST_PP_IIF(c, BOOST_PP_FOR_433, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(433, s), p, o, m) +# define BOOST_PP_FOR_433_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(434, s) BOOST_PP_IIF(c, BOOST_PP_FOR_434, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(434, s), p, o, m) +# define BOOST_PP_FOR_434_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(435, s) BOOST_PP_IIF(c, BOOST_PP_FOR_435, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(435, s), p, o, m) +# define BOOST_PP_FOR_435_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(436, s) BOOST_PP_IIF(c, BOOST_PP_FOR_436, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(436, s), p, o, m) +# define BOOST_PP_FOR_436_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(437, s) BOOST_PP_IIF(c, BOOST_PP_FOR_437, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(437, s), p, o, m) +# define BOOST_PP_FOR_437_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(438, s) BOOST_PP_IIF(c, BOOST_PP_FOR_438, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(438, s), p, o, m) +# define BOOST_PP_FOR_438_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(439, s) BOOST_PP_IIF(c, BOOST_PP_FOR_439, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(439, s), p, o, m) +# define BOOST_PP_FOR_439_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(440, s) BOOST_PP_IIF(c, BOOST_PP_FOR_440, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(440, s), p, o, m) +# define BOOST_PP_FOR_440_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(441, s) BOOST_PP_IIF(c, BOOST_PP_FOR_441, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(441, s), p, o, m) +# define BOOST_PP_FOR_441_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(442, s) BOOST_PP_IIF(c, BOOST_PP_FOR_442, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(442, s), p, o, m) +# define BOOST_PP_FOR_442_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(443, s) BOOST_PP_IIF(c, BOOST_PP_FOR_443, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(443, s), p, o, m) +# define BOOST_PP_FOR_443_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(444, s) BOOST_PP_IIF(c, BOOST_PP_FOR_444, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(444, s), p, o, m) +# define BOOST_PP_FOR_444_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(445, s) BOOST_PP_IIF(c, BOOST_PP_FOR_445, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(445, s), p, o, m) +# define BOOST_PP_FOR_445_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(446, s) BOOST_PP_IIF(c, BOOST_PP_FOR_446, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(446, s), p, o, m) +# define BOOST_PP_FOR_446_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(447, s) BOOST_PP_IIF(c, BOOST_PP_FOR_447, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(447, s), p, o, m) +# define BOOST_PP_FOR_447_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(448, s) BOOST_PP_IIF(c, BOOST_PP_FOR_448, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(448, s), p, o, m) +# define BOOST_PP_FOR_448_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(449, s) BOOST_PP_IIF(c, BOOST_PP_FOR_449, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(449, s), p, o, m) +# define BOOST_PP_FOR_449_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(450, s) BOOST_PP_IIF(c, BOOST_PP_FOR_450, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(450, s), p, o, m) +# define BOOST_PP_FOR_450_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(451, s) BOOST_PP_IIF(c, BOOST_PP_FOR_451, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(451, s), p, o, m) +# define BOOST_PP_FOR_451_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(452, s) BOOST_PP_IIF(c, BOOST_PP_FOR_452, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(452, s), p, o, m) +# define BOOST_PP_FOR_452_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(453, s) BOOST_PP_IIF(c, BOOST_PP_FOR_453, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(453, s), p, o, m) +# define BOOST_PP_FOR_453_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(454, s) BOOST_PP_IIF(c, BOOST_PP_FOR_454, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(454, s), p, o, m) +# define BOOST_PP_FOR_454_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(455, s) BOOST_PP_IIF(c, BOOST_PP_FOR_455, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(455, s), p, o, m) +# define BOOST_PP_FOR_455_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(456, s) BOOST_PP_IIF(c, BOOST_PP_FOR_456, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(456, s), p, o, m) +# define BOOST_PP_FOR_456_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(457, s) BOOST_PP_IIF(c, BOOST_PP_FOR_457, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(457, s), p, o, m) +# define BOOST_PP_FOR_457_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(458, s) BOOST_PP_IIF(c, BOOST_PP_FOR_458, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(458, s), p, o, m) +# define BOOST_PP_FOR_458_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(459, s) BOOST_PP_IIF(c, BOOST_PP_FOR_459, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(459, s), p, o, m) +# define BOOST_PP_FOR_459_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(460, s) BOOST_PP_IIF(c, BOOST_PP_FOR_460, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(460, s), p, o, m) +# define BOOST_PP_FOR_460_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(461, s) BOOST_PP_IIF(c, BOOST_PP_FOR_461, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(461, s), p, o, m) +# define BOOST_PP_FOR_461_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(462, s) BOOST_PP_IIF(c, BOOST_PP_FOR_462, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(462, s), p, o, m) +# define BOOST_PP_FOR_462_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(463, s) BOOST_PP_IIF(c, BOOST_PP_FOR_463, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(463, s), p, o, m) +# define BOOST_PP_FOR_463_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(464, s) BOOST_PP_IIF(c, BOOST_PP_FOR_464, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(464, s), p, o, m) +# define BOOST_PP_FOR_464_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(465, s) BOOST_PP_IIF(c, BOOST_PP_FOR_465, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(465, s), p, o, m) +# define BOOST_PP_FOR_465_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(466, s) BOOST_PP_IIF(c, BOOST_PP_FOR_466, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(466, s), p, o, m) +# define BOOST_PP_FOR_466_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(467, s) BOOST_PP_IIF(c, BOOST_PP_FOR_467, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(467, s), p, o, m) +# define BOOST_PP_FOR_467_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(468, s) BOOST_PP_IIF(c, BOOST_PP_FOR_468, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(468, s), p, o, m) +# define BOOST_PP_FOR_468_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(469, s) BOOST_PP_IIF(c, BOOST_PP_FOR_469, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(469, s), p, o, m) +# define BOOST_PP_FOR_469_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(470, s) BOOST_PP_IIF(c, BOOST_PP_FOR_470, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(470, s), p, o, m) +# define BOOST_PP_FOR_470_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(471, s) BOOST_PP_IIF(c, BOOST_PP_FOR_471, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(471, s), p, o, m) +# define BOOST_PP_FOR_471_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(472, s) BOOST_PP_IIF(c, BOOST_PP_FOR_472, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(472, s), p, o, m) +# define BOOST_PP_FOR_472_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(473, s) BOOST_PP_IIF(c, BOOST_PP_FOR_473, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(473, s), p, o, m) +# define BOOST_PP_FOR_473_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(474, s) BOOST_PP_IIF(c, BOOST_PP_FOR_474, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(474, s), p, o, m) +# define BOOST_PP_FOR_474_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(475, s) BOOST_PP_IIF(c, BOOST_PP_FOR_475, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(475, s), p, o, m) +# define BOOST_PP_FOR_475_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(476, s) BOOST_PP_IIF(c, BOOST_PP_FOR_476, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(476, s), p, o, m) +# define BOOST_PP_FOR_476_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(477, s) BOOST_PP_IIF(c, BOOST_PP_FOR_477, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(477, s), p, o, m) +# define BOOST_PP_FOR_477_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(478, s) BOOST_PP_IIF(c, BOOST_PP_FOR_478, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(478, s), p, o, m) +# define BOOST_PP_FOR_478_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(479, s) BOOST_PP_IIF(c, BOOST_PP_FOR_479, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(479, s), p, o, m) +# define BOOST_PP_FOR_479_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(480, s) BOOST_PP_IIF(c, BOOST_PP_FOR_480, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(480, s), p, o, m) +# define BOOST_PP_FOR_480_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(481, s) BOOST_PP_IIF(c, BOOST_PP_FOR_481, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(481, s), p, o, m) +# define BOOST_PP_FOR_481_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(482, s) BOOST_PP_IIF(c, BOOST_PP_FOR_482, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(482, s), p, o, m) +# define BOOST_PP_FOR_482_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(483, s) BOOST_PP_IIF(c, BOOST_PP_FOR_483, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(483, s), p, o, m) +# define BOOST_PP_FOR_483_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(484, s) BOOST_PP_IIF(c, BOOST_PP_FOR_484, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(484, s), p, o, m) +# define BOOST_PP_FOR_484_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(485, s) BOOST_PP_IIF(c, BOOST_PP_FOR_485, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(485, s), p, o, m) +# define BOOST_PP_FOR_485_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(486, s) BOOST_PP_IIF(c, BOOST_PP_FOR_486, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(486, s), p, o, m) +# define BOOST_PP_FOR_486_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(487, s) BOOST_PP_IIF(c, BOOST_PP_FOR_487, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(487, s), p, o, m) +# define BOOST_PP_FOR_487_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(488, s) BOOST_PP_IIF(c, BOOST_PP_FOR_488, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(488, s), p, o, m) +# define BOOST_PP_FOR_488_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(489, s) BOOST_PP_IIF(c, BOOST_PP_FOR_489, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(489, s), p, o, m) +# define BOOST_PP_FOR_489_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(490, s) BOOST_PP_IIF(c, BOOST_PP_FOR_490, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(490, s), p, o, m) +# define BOOST_PP_FOR_490_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(491, s) BOOST_PP_IIF(c, BOOST_PP_FOR_491, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(491, s), p, o, m) +# define BOOST_PP_FOR_491_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(492, s) BOOST_PP_IIF(c, BOOST_PP_FOR_492, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(492, s), p, o, m) +# define BOOST_PP_FOR_492_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(493, s) BOOST_PP_IIF(c, BOOST_PP_FOR_493, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(493, s), p, o, m) +# define BOOST_PP_FOR_493_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(494, s) BOOST_PP_IIF(c, BOOST_PP_FOR_494, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(494, s), p, o, m) +# define BOOST_PP_FOR_494_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(495, s) BOOST_PP_IIF(c, BOOST_PP_FOR_495, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(495, s), p, o, m) +# define BOOST_PP_FOR_495_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(496, s) BOOST_PP_IIF(c, BOOST_PP_FOR_496, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(496, s), p, o, m) +# define BOOST_PP_FOR_496_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(497, s) BOOST_PP_IIF(c, BOOST_PP_FOR_497, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(497, s), p, o, m) +# define BOOST_PP_FOR_497_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(498, s) BOOST_PP_IIF(c, BOOST_PP_FOR_498, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(498, s), p, o, m) +# define BOOST_PP_FOR_498_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(499, s) BOOST_PP_IIF(c, BOOST_PP_FOR_499, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(499, s), p, o, m) +# define BOOST_PP_FOR_499_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(500, s) BOOST_PP_IIF(c, BOOST_PP_FOR_500, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(500, s), p, o, m) +# define BOOST_PP_FOR_500_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(501, s) BOOST_PP_IIF(c, BOOST_PP_FOR_501, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(501, s), p, o, m) +# define BOOST_PP_FOR_501_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(502, s) BOOST_PP_IIF(c, BOOST_PP_FOR_502, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(502, s), p, o, m) +# define BOOST_PP_FOR_502_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(503, s) BOOST_PP_IIF(c, BOOST_PP_FOR_503, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(503, s), p, o, m) +# define BOOST_PP_FOR_503_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(504, s) BOOST_PP_IIF(c, BOOST_PP_FOR_504, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(504, s), p, o, m) +# define BOOST_PP_FOR_504_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(505, s) BOOST_PP_IIF(c, BOOST_PP_FOR_505, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(505, s), p, o, m) +# define BOOST_PP_FOR_505_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(506, s) BOOST_PP_IIF(c, BOOST_PP_FOR_506, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(506, s), p, o, m) +# define BOOST_PP_FOR_506_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(507, s) BOOST_PP_IIF(c, BOOST_PP_FOR_507, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(507, s), p, o, m) +# define BOOST_PP_FOR_507_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(508, s) BOOST_PP_IIF(c, BOOST_PP_FOR_508, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(508, s), p, o, m) +# define BOOST_PP_FOR_508_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(509, s) BOOST_PP_IIF(c, BOOST_PP_FOR_509, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(509, s), p, o, m) +# define BOOST_PP_FOR_509_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(510, s) BOOST_PP_IIF(c, BOOST_PP_FOR_510, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(510, s), p, o, m) +# define BOOST_PP_FOR_510_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(511, s) BOOST_PP_IIF(c, BOOST_PP_FOR_511, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(511, s), p, o, m) +# define BOOST_PP_FOR_511_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(512, s) BOOST_PP_IIF(c, BOOST_PP_FOR_512, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(512, s), p, o, m) +# define BOOST_PP_FOR_512_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(513, s) BOOST_PP_IIF(c, BOOST_PP_FOR_513, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(513, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/msvc/for.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/msvc/for.hpp new file mode 100644 index 0000000000..9ed5955b38 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/detail/msvc/for.hpp @@ -0,0 +1,278 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP +# +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_binary_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_binary_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_binary_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_binary_params.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_params.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_params.hpp index 65a2369d4a..8bfa036ee4 100644 --- a/external/include/boost_1_75/boost/preprocessor/repetition/enum_params.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_params.hpp @@ -1,41 +1,41 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP -# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP -# -# include -# include -# include -# -# /* BOOST_PP_ENUM_PARAMS */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param) -# define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) -# endif -# -# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n -# -# /* BOOST_PP_ENUM_PARAMS_Z */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) -# define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP +# +# include +# include +# include +# +# /* BOOST_PP_ENUM_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param) +# define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) +# endif +# +# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n +# +# /* BOOST_PP_ENUM_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) +# define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_params_with_a_default.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_params_with_a_default.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_params_with_a_default.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_params_with_a_default.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_shifted_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_shifted_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_shifted_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_shifted_params.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing_binary_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing_binary_params.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing_binary_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing_binary_params.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing_params.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing_params.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing_params.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing_params.hpp index f7520dbdef..33ad8ca996 100644 --- a/external/include/boost_1_75/boost/preprocessor/repetition/enum_trailing_params.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/enum_trailing_params.hpp @@ -1,38 +1,38 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP -# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP -# -# include -# include -# -# /* BOOST_PP_ENUM_TRAILING_PARAMS */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) -# define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# endif -# -# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n -# -# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */ -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# else -# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) -# define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) -# endif -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP +# +# include +# include +# +# /* BOOST_PP_ENUM_TRAILING_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) +# define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# endif +# +# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n +# +# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) +# define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/for.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/for.hpp new file mode 100644 index 0000000000..87d6752cb9 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/for.hpp @@ -0,0 +1,438 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_FOR */ +# +# if 0 +# define BOOST_PP_FOR(state, pred, op, macro) +# endif +# +# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)) +# +# define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) +# +# define BOOST_PP_FOR_SR_P(r, s) s +# define BOOST_PP_FOR_SR_O(r, s) 0 +# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p##(257, s)) +# else +# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p(257, s)) +# endif + +# define BOOST_PP_FOR_257_ERROR() BOOST_PP_ERROR(0x0002) +# define BOOST_PP_FOR_257(s, p, o, m) \ + BOOST_PP_IIF \ + ( \ + BOOST_PP_FOR_257_PR(s,p), \ + BOOST_PP_FOR_257_ERROR, \ + BOOST_PP_EMPTY \ + ) \ + () \ +/**/ +// # define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002) +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0 +# +# else +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_FOR */ +# +# if 0 +# define BOOST_PP_FOR(state, pred, op, macro) +# endif +# +# if BOOST_PP_LIMIT_FOR == 256 +# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256))) +# elif BOOST_PP_LIMIT_FOR == 512 +# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 512))) +# elif BOOST_PP_LIMIT_FOR == 1024 +# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_DEC(BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 1024))) +# else +# error Incorrect value for the BOOST_PP_LIMIT_FOR limit +# endif +# +# define BOOST_PP_FOR_P(n) BOOST_PP_FOR_P_DEC(BOOST_PP_DEC(n)) +# define BOOST_PP_FOR_P_DEC(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_CAT(BOOST_PP_FOR_ , n)(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) +# +# define BOOST_PP_FOR_SR_P(r, s) s +# define BOOST_PP_FOR_SR_O(r, s) 0 +# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# if BOOST_PP_LIMIT_FOR == 256 +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p##(257, s)) +# else +# define BOOST_PP_FOR_257_PR(s, p) BOOST_PP_BOOL(p(257, s)) +# endif + +# define BOOST_PP_FOR_257_ERROR() BOOST_PP_ERROR(0x0002) +# define BOOST_PP_FOR_257(s, p, o, m) \ + BOOST_PP_IIF \ + ( \ + BOOST_PP_FOR_257_PR(s,p), \ + BOOST_PP_FOR_257_ERROR, \ + BOOST_PP_EMPTY \ + ) \ + () \ +/**/ +# +# elif BOOST_PP_LIMIT_FOR == 512 +# +# define BOOST_PP_FOR_513_PR(s, p) BOOST_PP_BOOL(p(513, s)) + +# define BOOST_PP_FOR_513_ERROR() BOOST_PP_ERROR(0x0002) +# define BOOST_PP_FOR_513(s, p, o, m) \ + BOOST_PP_IIF \ + ( \ + BOOST_PP_FOR_513_PR(s,p), \ + BOOST_PP_FOR_513_ERROR, \ + BOOST_PP_EMPTY \ + ) \ + () \ +/**/ +# +# elif BOOST_PP_LIMIT_FOR == 1024 +# +# define BOOST_PP_FOR_1025_PR(s, p) BOOST_PP_BOOL(p(1025, s)) + +# define BOOST_PP_FOR_1025_ERROR() BOOST_PP_ERROR(0x0002) +# define BOOST_PP_FOR_1025(s, p, o, m) \ + BOOST_PP_IIF \ + ( \ + BOOST_PP_FOR_1025_PR(s,p), \ + BOOST_PP_FOR_1025_ERROR, \ + BOOST_PP_EMPTY \ + ) \ + () \ +/**/ +# +# endif +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1 +# +# if BOOST_PP_LIMIT_FOR == 256 +# include +# elif BOOST_PP_LIMIT_FOR == 512 +# include +# include +# elif BOOST_PP_LIMIT_FOR == 1024 +# include +# include +# include +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_1024.hpp new file mode 100644 index 0000000000..622d858f47 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_1024.hpp @@ -0,0 +1,531 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_1024_HPP +# define BOOST_PREPROCESSOR_REPETITION_FOR_1024_HPP +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_513(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_514(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_515(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_516(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_517(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_518(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_519(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_520(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_521(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_522(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_523(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_524(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_525(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_526(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_527(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_528(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_529(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_530(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_531(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_532(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_533(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_534(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_535(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_536(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_537(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_538(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_539(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_540(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_541(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_542(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_543(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_544(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_545(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_546(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_547(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_548(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_549(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_550(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_551(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_552(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_553(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_554(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_555(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_556(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_557(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_558(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_559(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_560(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_561(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_562(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_563(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_564(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_565(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_566(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_567(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_568(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_569(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_570(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_571(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_572(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_573(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_574(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_575(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_576(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_577(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_578(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_579(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_580(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_581(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_582(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_583(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_584(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_585(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_586(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_587(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_588(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_589(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_590(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_591(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_592(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_593(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_594(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_595(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_596(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_597(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_598(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_599(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_600(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_601(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_602(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_603(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_604(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_605(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_606(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_607(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_608(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_609(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_610(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_611(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_612(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_613(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_614(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_615(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_616(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_617(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_618(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_619(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_620(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_621(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_622(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_623(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_624(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_625(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_626(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_627(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_628(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_629(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_630(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_631(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_632(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_633(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_634(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_635(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_636(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_637(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_638(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_639(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_640(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_641(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_642(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_643(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_644(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_645(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_646(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_647(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_648(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_649(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_650(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_651(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_652(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_653(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_654(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_655(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_656(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_657(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_658(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_659(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_660(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_661(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_662(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_663(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_664(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_665(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_666(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_667(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_668(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_669(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_670(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_671(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_672(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_673(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_674(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_675(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_676(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_677(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_678(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_679(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_680(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_681(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_682(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_683(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_684(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_685(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_686(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_687(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_688(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_689(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_690(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_691(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_692(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_693(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_694(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_695(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_696(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_697(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_698(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_699(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_700(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_701(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_702(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_703(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_704(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_705(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_706(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_707(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_708(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_709(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_710(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_711(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_712(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_713(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_714(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_715(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_716(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_717(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_718(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_719(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_720(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_721(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_722(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_723(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_724(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_725(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_726(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_727(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_728(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_729(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_730(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_731(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_732(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_733(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_734(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_735(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_736(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_737(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_738(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_739(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_740(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_741(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_742(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_743(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_744(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_745(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_746(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_747(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_748(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_749(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_750(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_751(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_752(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_753(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_754(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_755(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_756(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_757(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_758(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_759(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_760(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_761(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_762(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_763(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_764(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_765(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_766(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_767(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_768(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_769(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_770(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_771(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_772(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_773(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_774(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_775(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_776(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_777(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_778(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_779(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_780(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_781(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_782(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_783(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_784(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_785(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_786(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_787(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_788(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_789(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_790(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_791(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_792(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_793(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_794(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_795(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_796(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_797(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_798(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_799(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_800(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_801(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_802(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_803(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_804(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_805(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_806(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_807(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_808(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_809(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_810(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_811(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_812(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_813(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_814(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_815(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_816(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_817(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_818(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_819(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_820(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_821(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_822(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_823(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_824(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_825(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_826(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_827(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_828(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_829(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_830(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_831(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_832(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_833(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_834(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_835(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_836(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_837(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_838(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_839(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_840(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_841(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_842(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_843(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_844(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_845(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_846(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_847(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_848(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_849(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_850(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_851(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_852(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_853(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_854(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_855(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_856(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_857(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_858(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_859(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_860(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_861(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_862(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_863(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_864(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_865(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_866(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_867(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_868(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_869(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_870(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_871(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_872(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_873(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_874(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_875(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_876(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_877(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_878(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_879(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_880(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_881(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_882(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_883(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_884(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_885(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_886(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_887(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_888(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_889(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_890(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_891(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_892(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_893(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_894(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_895(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_896(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_897(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_898(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_899(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_900(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_901(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_902(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_903(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_904(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_905(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_906(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_907(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_908(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_909(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_910(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_911(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_912(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_913(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_914(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_915(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_916(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_917(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_918(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_919(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_920(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_921(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_922(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_923(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_924(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_925(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_926(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_927(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_928(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_929(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_930(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_931(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_932(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_933(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_934(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_935(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_936(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_937(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_938(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_939(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_940(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_941(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_942(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_943(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_944(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_945(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_946(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_947(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_948(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_949(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_950(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_951(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_952(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_953(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_954(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_955(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_956(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_957(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_958(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_959(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_960(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_961(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_962(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_963(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_964(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_965(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_966(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_967(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_968(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_969(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_970(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_971(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_972(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_973(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_974(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_975(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_976(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_977(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_978(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_979(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_980(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_981(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_982(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_983(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_984(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_985(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_986(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_987(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_988(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_989(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_990(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_991(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_992(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_993(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_994(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_995(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_996(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_997(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_998(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_999(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1000(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1001(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1002(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1003(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1004(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1005(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1006(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1007(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1008(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1009(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1010(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1011(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1012(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1013(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1014(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1015(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1016(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1017(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1018(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1019(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1020(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1021(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1022(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1023(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1024(s, p, o, m) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_256.hpp new file mode 100644 index 0000000000..f826a3378b --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_256.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_256_HPP +# define BOOST_PREPROCESSOR_REPETITION_FOR_256_HPP +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_0(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0 +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_512.hpp new file mode 100644 index 0000000000..4f2284b14d --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/for_512.hpp @@ -0,0 +1,275 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_512_HPP +# define BOOST_PREPROCESSOR_REPETITION_FOR_512_HPP +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_257(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_258(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_259(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_260(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_261(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_262(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_263(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_264(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_265(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_266(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_267(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_268(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_269(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_270(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_271(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_272(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_273(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_274(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_275(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_276(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_277(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_278(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_279(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_280(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_281(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_282(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_283(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_284(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_285(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_286(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_287(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_288(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_289(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_290(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_291(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_292(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_293(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_294(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_295(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_296(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_297(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_298(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_299(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_300(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_301(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_302(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_303(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_304(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_305(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_306(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_307(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_308(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_309(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_310(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_311(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_312(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_313(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_314(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_315(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_316(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_317(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_318(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_319(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_320(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_321(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_322(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_323(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_324(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_325(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_326(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_327(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_328(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_329(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_330(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_331(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_332(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_333(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_334(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_335(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_336(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_337(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_338(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_339(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_340(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_341(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_342(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_343(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_344(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_345(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_346(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_347(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_348(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_349(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_350(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_351(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_352(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_353(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_354(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_355(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_356(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_357(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_358(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_359(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_360(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_361(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_362(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_363(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_364(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_365(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_366(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_367(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_368(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_369(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_370(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_371(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_372(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_373(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_374(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_375(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_376(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_377(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_378(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_379(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_380(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_381(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_382(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_383(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_384(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_385(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_386(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_387(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_388(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_389(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_390(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_391(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_392(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_393(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_394(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_395(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_396(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_397(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_398(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_399(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_400(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_401(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_402(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_403(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_404(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_405(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_406(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_407(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_408(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_409(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_410(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_411(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_412(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_413(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_414(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_415(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_416(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_417(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_418(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_419(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_420(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_421(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_422(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_423(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_424(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_425(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_426(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_427(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_428(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_429(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_430(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_431(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_432(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_433(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_434(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_435(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_436(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_437(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_438(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_439(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_440(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_441(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_442(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_443(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_444(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_445(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_446(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_447(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_448(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_449(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_450(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_451(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_452(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_453(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_454(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_455(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_456(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_457(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_458(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_459(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_460(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_461(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_462(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_463(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_464(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_465(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_466(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_467(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_468(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_469(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_470(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_471(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_472(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_473(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_474(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_475(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_476(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_477(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_478(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_479(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_480(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_481(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_482(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_483(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_484(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_485(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_486(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_487(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_488(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_489(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_490(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_491(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_492(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_493(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_494(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_495(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_496(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_497(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_498(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_499(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_500(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_501(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_502(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_503(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_504(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_505(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_506(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_507(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_508(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_509(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_510(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_511(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_512(s, p, o, m) 0 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_1024.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_1024.hpp index 0e745c01e3..098576d99e 100644 --- a/external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_1024.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_1024.hpp @@ -1,1557 +1,1557 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_1024_HPP -# define BOOST_PREPROCESSOR_REPETITION_REPEAT_1024_HPP -# -# define BOOST_PP_REPEAT_1_513(m, d) BOOST_PP_REPEAT_1_512(m, d) m(2, 512, d) -# define BOOST_PP_REPEAT_1_514(m, d) BOOST_PP_REPEAT_1_513(m, d) m(2, 513, d) -# define BOOST_PP_REPEAT_1_515(m, d) BOOST_PP_REPEAT_1_514(m, d) m(2, 514, d) -# define BOOST_PP_REPEAT_1_516(m, d) BOOST_PP_REPEAT_1_515(m, d) m(2, 515, d) -# define BOOST_PP_REPEAT_1_517(m, d) BOOST_PP_REPEAT_1_516(m, d) m(2, 516, d) -# define BOOST_PP_REPEAT_1_518(m, d) BOOST_PP_REPEAT_1_517(m, d) m(2, 517, d) -# define BOOST_PP_REPEAT_1_519(m, d) BOOST_PP_REPEAT_1_518(m, d) m(2, 518, d) -# define BOOST_PP_REPEAT_1_520(m, d) BOOST_PP_REPEAT_1_519(m, d) m(2, 519, d) -# define BOOST_PP_REPEAT_1_521(m, d) BOOST_PP_REPEAT_1_520(m, d) m(2, 520, d) -# define BOOST_PP_REPEAT_1_522(m, d) BOOST_PP_REPEAT_1_521(m, d) m(2, 521, d) -# define BOOST_PP_REPEAT_1_523(m, d) BOOST_PP_REPEAT_1_522(m, d) m(2, 522, d) -# define BOOST_PP_REPEAT_1_524(m, d) BOOST_PP_REPEAT_1_523(m, d) m(2, 523, d) -# define BOOST_PP_REPEAT_1_525(m, d) BOOST_PP_REPEAT_1_524(m, d) m(2, 524, d) -# define BOOST_PP_REPEAT_1_526(m, d) BOOST_PP_REPEAT_1_525(m, d) m(2, 525, d) -# define BOOST_PP_REPEAT_1_527(m, d) BOOST_PP_REPEAT_1_526(m, d) m(2, 526, d) -# define BOOST_PP_REPEAT_1_528(m, d) BOOST_PP_REPEAT_1_527(m, d) m(2, 527, d) -# define BOOST_PP_REPEAT_1_529(m, d) BOOST_PP_REPEAT_1_528(m, d) m(2, 528, d) -# define BOOST_PP_REPEAT_1_530(m, d) BOOST_PP_REPEAT_1_529(m, d) m(2, 529, d) -# define BOOST_PP_REPEAT_1_531(m, d) BOOST_PP_REPEAT_1_530(m, d) m(2, 530, d) -# define BOOST_PP_REPEAT_1_532(m, d) BOOST_PP_REPEAT_1_531(m, d) m(2, 531, d) -# define BOOST_PP_REPEAT_1_533(m, d) BOOST_PP_REPEAT_1_532(m, d) m(2, 532, d) -# define BOOST_PP_REPEAT_1_534(m, d) BOOST_PP_REPEAT_1_533(m, d) m(2, 533, d) -# define BOOST_PP_REPEAT_1_535(m, d) BOOST_PP_REPEAT_1_534(m, d) m(2, 534, d) -# define BOOST_PP_REPEAT_1_536(m, d) BOOST_PP_REPEAT_1_535(m, d) m(2, 535, d) -# define BOOST_PP_REPEAT_1_537(m, d) BOOST_PP_REPEAT_1_536(m, d) m(2, 536, d) -# define BOOST_PP_REPEAT_1_538(m, d) BOOST_PP_REPEAT_1_537(m, d) m(2, 537, d) -# define BOOST_PP_REPEAT_1_539(m, d) BOOST_PP_REPEAT_1_538(m, d) m(2, 538, d) -# define BOOST_PP_REPEAT_1_540(m, d) BOOST_PP_REPEAT_1_539(m, d) m(2, 539, d) -# define BOOST_PP_REPEAT_1_541(m, d) BOOST_PP_REPEAT_1_540(m, d) m(2, 540, d) -# define BOOST_PP_REPEAT_1_542(m, d) BOOST_PP_REPEAT_1_541(m, d) m(2, 541, d) -# define BOOST_PP_REPEAT_1_543(m, d) BOOST_PP_REPEAT_1_542(m, d) m(2, 542, d) -# define BOOST_PP_REPEAT_1_544(m, d) BOOST_PP_REPEAT_1_543(m, d) m(2, 543, d) -# define BOOST_PP_REPEAT_1_545(m, d) BOOST_PP_REPEAT_1_544(m, d) m(2, 544, d) -# define BOOST_PP_REPEAT_1_546(m, d) BOOST_PP_REPEAT_1_545(m, d) m(2, 545, d) -# define BOOST_PP_REPEAT_1_547(m, d) BOOST_PP_REPEAT_1_546(m, d) m(2, 546, d) -# define BOOST_PP_REPEAT_1_548(m, d) BOOST_PP_REPEAT_1_547(m, d) m(2, 547, d) -# define BOOST_PP_REPEAT_1_549(m, d) BOOST_PP_REPEAT_1_548(m, d) m(2, 548, d) -# define BOOST_PP_REPEAT_1_550(m, d) BOOST_PP_REPEAT_1_549(m, d) m(2, 549, d) -# define BOOST_PP_REPEAT_1_551(m, d) BOOST_PP_REPEAT_1_550(m, d) m(2, 550, d) -# define BOOST_PP_REPEAT_1_552(m, d) BOOST_PP_REPEAT_1_551(m, d) m(2, 551, d) -# define BOOST_PP_REPEAT_1_553(m, d) BOOST_PP_REPEAT_1_552(m, d) m(2, 552, d) -# define BOOST_PP_REPEAT_1_554(m, d) BOOST_PP_REPEAT_1_553(m, d) m(2, 553, d) -# define BOOST_PP_REPEAT_1_555(m, d) BOOST_PP_REPEAT_1_554(m, d) m(2, 554, d) -# define BOOST_PP_REPEAT_1_556(m, d) BOOST_PP_REPEAT_1_555(m, d) m(2, 555, d) -# define BOOST_PP_REPEAT_1_557(m, d) BOOST_PP_REPEAT_1_556(m, d) m(2, 556, d) -# define BOOST_PP_REPEAT_1_558(m, d) BOOST_PP_REPEAT_1_557(m, d) m(2, 557, d) -# define BOOST_PP_REPEAT_1_559(m, d) BOOST_PP_REPEAT_1_558(m, d) m(2, 558, d) -# define BOOST_PP_REPEAT_1_560(m, d) BOOST_PP_REPEAT_1_559(m, d) m(2, 559, d) -# define BOOST_PP_REPEAT_1_561(m, d) BOOST_PP_REPEAT_1_560(m, d) m(2, 560, d) -# define BOOST_PP_REPEAT_1_562(m, d) BOOST_PP_REPEAT_1_561(m, d) m(2, 561, d) -# define BOOST_PP_REPEAT_1_563(m, d) BOOST_PP_REPEAT_1_562(m, d) m(2, 562, d) -# define BOOST_PP_REPEAT_1_564(m, d) BOOST_PP_REPEAT_1_563(m, d) m(2, 563, d) -# define BOOST_PP_REPEAT_1_565(m, d) BOOST_PP_REPEAT_1_564(m, d) m(2, 564, d) -# define BOOST_PP_REPEAT_1_566(m, d) BOOST_PP_REPEAT_1_565(m, d) m(2, 565, d) -# define BOOST_PP_REPEAT_1_567(m, d) BOOST_PP_REPEAT_1_566(m, d) m(2, 566, d) -# define BOOST_PP_REPEAT_1_568(m, d) BOOST_PP_REPEAT_1_567(m, d) m(2, 567, d) -# define BOOST_PP_REPEAT_1_569(m, d) BOOST_PP_REPEAT_1_568(m, d) m(2, 568, d) -# define BOOST_PP_REPEAT_1_570(m, d) BOOST_PP_REPEAT_1_569(m, d) m(2, 569, d) -# define BOOST_PP_REPEAT_1_571(m, d) BOOST_PP_REPEAT_1_570(m, d) m(2, 570, d) -# define BOOST_PP_REPEAT_1_572(m, d) BOOST_PP_REPEAT_1_571(m, d) m(2, 571, d) -# define BOOST_PP_REPEAT_1_573(m, d) BOOST_PP_REPEAT_1_572(m, d) m(2, 572, d) -# define BOOST_PP_REPEAT_1_574(m, d) BOOST_PP_REPEAT_1_573(m, d) m(2, 573, d) -# define BOOST_PP_REPEAT_1_575(m, d) BOOST_PP_REPEAT_1_574(m, d) m(2, 574, d) -# define BOOST_PP_REPEAT_1_576(m, d) BOOST_PP_REPEAT_1_575(m, d) m(2, 575, d) -# define BOOST_PP_REPEAT_1_577(m, d) BOOST_PP_REPEAT_1_576(m, d) m(2, 576, d) -# define BOOST_PP_REPEAT_1_578(m, d) BOOST_PP_REPEAT_1_577(m, d) m(2, 577, d) -# define BOOST_PP_REPEAT_1_579(m, d) BOOST_PP_REPEAT_1_578(m, d) m(2, 578, d) -# define BOOST_PP_REPEAT_1_580(m, d) BOOST_PP_REPEAT_1_579(m, d) m(2, 579, d) -# define BOOST_PP_REPEAT_1_581(m, d) BOOST_PP_REPEAT_1_580(m, d) m(2, 580, d) -# define BOOST_PP_REPEAT_1_582(m, d) BOOST_PP_REPEAT_1_581(m, d) m(2, 581, d) -# define BOOST_PP_REPEAT_1_583(m, d) BOOST_PP_REPEAT_1_582(m, d) m(2, 582, d) -# define BOOST_PP_REPEAT_1_584(m, d) BOOST_PP_REPEAT_1_583(m, d) m(2, 583, d) -# define BOOST_PP_REPEAT_1_585(m, d) BOOST_PP_REPEAT_1_584(m, d) m(2, 584, d) -# define BOOST_PP_REPEAT_1_586(m, d) BOOST_PP_REPEAT_1_585(m, d) m(2, 585, d) -# define BOOST_PP_REPEAT_1_587(m, d) BOOST_PP_REPEAT_1_586(m, d) m(2, 586, d) -# define BOOST_PP_REPEAT_1_588(m, d) BOOST_PP_REPEAT_1_587(m, d) m(2, 587, d) -# define BOOST_PP_REPEAT_1_589(m, d) BOOST_PP_REPEAT_1_588(m, d) m(2, 588, d) -# define BOOST_PP_REPEAT_1_590(m, d) BOOST_PP_REPEAT_1_589(m, d) m(2, 589, d) -# define BOOST_PP_REPEAT_1_591(m, d) BOOST_PP_REPEAT_1_590(m, d) m(2, 590, d) -# define BOOST_PP_REPEAT_1_592(m, d) BOOST_PP_REPEAT_1_591(m, d) m(2, 591, d) -# define BOOST_PP_REPEAT_1_593(m, d) BOOST_PP_REPEAT_1_592(m, d) m(2, 592, d) -# define BOOST_PP_REPEAT_1_594(m, d) BOOST_PP_REPEAT_1_593(m, d) m(2, 593, d) -# define BOOST_PP_REPEAT_1_595(m, d) BOOST_PP_REPEAT_1_594(m, d) m(2, 594, d) -# define BOOST_PP_REPEAT_1_596(m, d) BOOST_PP_REPEAT_1_595(m, d) m(2, 595, d) -# define BOOST_PP_REPEAT_1_597(m, d) BOOST_PP_REPEAT_1_596(m, d) m(2, 596, d) -# define BOOST_PP_REPEAT_1_598(m, d) BOOST_PP_REPEAT_1_597(m, d) m(2, 597, d) -# define BOOST_PP_REPEAT_1_599(m, d) BOOST_PP_REPEAT_1_598(m, d) m(2, 598, d) -# define BOOST_PP_REPEAT_1_600(m, d) BOOST_PP_REPEAT_1_599(m, d) m(2, 599, d) -# define BOOST_PP_REPEAT_1_601(m, d) BOOST_PP_REPEAT_1_600(m, d) m(2, 600, d) -# define BOOST_PP_REPEAT_1_602(m, d) BOOST_PP_REPEAT_1_601(m, d) m(2, 601, d) -# define BOOST_PP_REPEAT_1_603(m, d) BOOST_PP_REPEAT_1_602(m, d) m(2, 602, d) -# define BOOST_PP_REPEAT_1_604(m, d) BOOST_PP_REPEAT_1_603(m, d) m(2, 603, d) -# define BOOST_PP_REPEAT_1_605(m, d) BOOST_PP_REPEAT_1_604(m, d) m(2, 604, d) -# define BOOST_PP_REPEAT_1_606(m, d) BOOST_PP_REPEAT_1_605(m, d) m(2, 605, d) -# define BOOST_PP_REPEAT_1_607(m, d) BOOST_PP_REPEAT_1_606(m, d) m(2, 606, d) -# define BOOST_PP_REPEAT_1_608(m, d) BOOST_PP_REPEAT_1_607(m, d) m(2, 607, d) -# define BOOST_PP_REPEAT_1_609(m, d) BOOST_PP_REPEAT_1_608(m, d) m(2, 608, d) -# define BOOST_PP_REPEAT_1_610(m, d) BOOST_PP_REPEAT_1_609(m, d) m(2, 609, d) -# define BOOST_PP_REPEAT_1_611(m, d) BOOST_PP_REPEAT_1_610(m, d) m(2, 610, d) -# define BOOST_PP_REPEAT_1_612(m, d) BOOST_PP_REPEAT_1_611(m, d) m(2, 611, d) -# define BOOST_PP_REPEAT_1_613(m, d) BOOST_PP_REPEAT_1_612(m, d) m(2, 612, d) -# define BOOST_PP_REPEAT_1_614(m, d) BOOST_PP_REPEAT_1_613(m, d) m(2, 613, d) -# define BOOST_PP_REPEAT_1_615(m, d) BOOST_PP_REPEAT_1_614(m, d) m(2, 614, d) -# define BOOST_PP_REPEAT_1_616(m, d) BOOST_PP_REPEAT_1_615(m, d) m(2, 615, d) -# define BOOST_PP_REPEAT_1_617(m, d) BOOST_PP_REPEAT_1_616(m, d) m(2, 616, d) -# define BOOST_PP_REPEAT_1_618(m, d) BOOST_PP_REPEAT_1_617(m, d) m(2, 617, d) -# define BOOST_PP_REPEAT_1_619(m, d) BOOST_PP_REPEAT_1_618(m, d) m(2, 618, d) -# define BOOST_PP_REPEAT_1_620(m, d) BOOST_PP_REPEAT_1_619(m, d) m(2, 619, d) -# define BOOST_PP_REPEAT_1_621(m, d) BOOST_PP_REPEAT_1_620(m, d) m(2, 620, d) -# define BOOST_PP_REPEAT_1_622(m, d) BOOST_PP_REPEAT_1_621(m, d) m(2, 621, d) -# define BOOST_PP_REPEAT_1_623(m, d) BOOST_PP_REPEAT_1_622(m, d) m(2, 622, d) -# define BOOST_PP_REPEAT_1_624(m, d) BOOST_PP_REPEAT_1_623(m, d) m(2, 623, d) -# define BOOST_PP_REPEAT_1_625(m, d) BOOST_PP_REPEAT_1_624(m, d) m(2, 624, d) -# define BOOST_PP_REPEAT_1_626(m, d) BOOST_PP_REPEAT_1_625(m, d) m(2, 625, d) -# define BOOST_PP_REPEAT_1_627(m, d) BOOST_PP_REPEAT_1_626(m, d) m(2, 626, d) -# define BOOST_PP_REPEAT_1_628(m, d) BOOST_PP_REPEAT_1_627(m, d) m(2, 627, d) -# define BOOST_PP_REPEAT_1_629(m, d) BOOST_PP_REPEAT_1_628(m, d) m(2, 628, d) -# define BOOST_PP_REPEAT_1_630(m, d) BOOST_PP_REPEAT_1_629(m, d) m(2, 629, d) -# define BOOST_PP_REPEAT_1_631(m, d) BOOST_PP_REPEAT_1_630(m, d) m(2, 630, d) -# define BOOST_PP_REPEAT_1_632(m, d) BOOST_PP_REPEAT_1_631(m, d) m(2, 631, d) -# define BOOST_PP_REPEAT_1_633(m, d) BOOST_PP_REPEAT_1_632(m, d) m(2, 632, d) -# define BOOST_PP_REPEAT_1_634(m, d) BOOST_PP_REPEAT_1_633(m, d) m(2, 633, d) -# define BOOST_PP_REPEAT_1_635(m, d) BOOST_PP_REPEAT_1_634(m, d) m(2, 634, d) -# define BOOST_PP_REPEAT_1_636(m, d) BOOST_PP_REPEAT_1_635(m, d) m(2, 635, d) -# define BOOST_PP_REPEAT_1_637(m, d) BOOST_PP_REPEAT_1_636(m, d) m(2, 636, d) -# define BOOST_PP_REPEAT_1_638(m, d) BOOST_PP_REPEAT_1_637(m, d) m(2, 637, d) -# define BOOST_PP_REPEAT_1_639(m, d) BOOST_PP_REPEAT_1_638(m, d) m(2, 638, d) -# define BOOST_PP_REPEAT_1_640(m, d) BOOST_PP_REPEAT_1_639(m, d) m(2, 639, d) -# define BOOST_PP_REPEAT_1_641(m, d) BOOST_PP_REPEAT_1_640(m, d) m(2, 640, d) -# define BOOST_PP_REPEAT_1_642(m, d) BOOST_PP_REPEAT_1_641(m, d) m(2, 641, d) -# define BOOST_PP_REPEAT_1_643(m, d) BOOST_PP_REPEAT_1_642(m, d) m(2, 642, d) -# define BOOST_PP_REPEAT_1_644(m, d) BOOST_PP_REPEAT_1_643(m, d) m(2, 643, d) -# define BOOST_PP_REPEAT_1_645(m, d) BOOST_PP_REPEAT_1_644(m, d) m(2, 644, d) -# define BOOST_PP_REPEAT_1_646(m, d) BOOST_PP_REPEAT_1_645(m, d) m(2, 645, d) -# define BOOST_PP_REPEAT_1_647(m, d) BOOST_PP_REPEAT_1_646(m, d) m(2, 646, d) -# define BOOST_PP_REPEAT_1_648(m, d) BOOST_PP_REPEAT_1_647(m, d) m(2, 647, d) -# define BOOST_PP_REPEAT_1_649(m, d) BOOST_PP_REPEAT_1_648(m, d) m(2, 648, d) -# define BOOST_PP_REPEAT_1_650(m, d) BOOST_PP_REPEAT_1_649(m, d) m(2, 649, d) -# define BOOST_PP_REPEAT_1_651(m, d) BOOST_PP_REPEAT_1_650(m, d) m(2, 650, d) -# define BOOST_PP_REPEAT_1_652(m, d) BOOST_PP_REPEAT_1_651(m, d) m(2, 651, d) -# define BOOST_PP_REPEAT_1_653(m, d) BOOST_PP_REPEAT_1_652(m, d) m(2, 652, d) -# define BOOST_PP_REPEAT_1_654(m, d) BOOST_PP_REPEAT_1_653(m, d) m(2, 653, d) -# define BOOST_PP_REPEAT_1_655(m, d) BOOST_PP_REPEAT_1_654(m, d) m(2, 654, d) -# define BOOST_PP_REPEAT_1_656(m, d) BOOST_PP_REPEAT_1_655(m, d) m(2, 655, d) -# define BOOST_PP_REPEAT_1_657(m, d) BOOST_PP_REPEAT_1_656(m, d) m(2, 656, d) -# define BOOST_PP_REPEAT_1_658(m, d) BOOST_PP_REPEAT_1_657(m, d) m(2, 657, d) -# define BOOST_PP_REPEAT_1_659(m, d) BOOST_PP_REPEAT_1_658(m, d) m(2, 658, d) -# define BOOST_PP_REPEAT_1_660(m, d) BOOST_PP_REPEAT_1_659(m, d) m(2, 659, d) -# define BOOST_PP_REPEAT_1_661(m, d) BOOST_PP_REPEAT_1_660(m, d) m(2, 660, d) -# define BOOST_PP_REPEAT_1_662(m, d) BOOST_PP_REPEAT_1_661(m, d) m(2, 661, d) -# define BOOST_PP_REPEAT_1_663(m, d) BOOST_PP_REPEAT_1_662(m, d) m(2, 662, d) -# define BOOST_PP_REPEAT_1_664(m, d) BOOST_PP_REPEAT_1_663(m, d) m(2, 663, d) -# define BOOST_PP_REPEAT_1_665(m, d) BOOST_PP_REPEAT_1_664(m, d) m(2, 664, d) -# define BOOST_PP_REPEAT_1_666(m, d) BOOST_PP_REPEAT_1_665(m, d) m(2, 665, d) -# define BOOST_PP_REPEAT_1_667(m, d) BOOST_PP_REPEAT_1_666(m, d) m(2, 666, d) -# define BOOST_PP_REPEAT_1_668(m, d) BOOST_PP_REPEAT_1_667(m, d) m(2, 667, d) -# define BOOST_PP_REPEAT_1_669(m, d) BOOST_PP_REPEAT_1_668(m, d) m(2, 668, d) -# define BOOST_PP_REPEAT_1_670(m, d) BOOST_PP_REPEAT_1_669(m, d) m(2, 669, d) -# define BOOST_PP_REPEAT_1_671(m, d) BOOST_PP_REPEAT_1_670(m, d) m(2, 670, d) -# define BOOST_PP_REPEAT_1_672(m, d) BOOST_PP_REPEAT_1_671(m, d) m(2, 671, d) -# define BOOST_PP_REPEAT_1_673(m, d) BOOST_PP_REPEAT_1_672(m, d) m(2, 672, d) -# define BOOST_PP_REPEAT_1_674(m, d) BOOST_PP_REPEAT_1_673(m, d) m(2, 673, d) -# define BOOST_PP_REPEAT_1_675(m, d) BOOST_PP_REPEAT_1_674(m, d) m(2, 674, d) -# define BOOST_PP_REPEAT_1_676(m, d) BOOST_PP_REPEAT_1_675(m, d) m(2, 675, d) -# define BOOST_PP_REPEAT_1_677(m, d) BOOST_PP_REPEAT_1_676(m, d) m(2, 676, d) -# define BOOST_PP_REPEAT_1_678(m, d) BOOST_PP_REPEAT_1_677(m, d) m(2, 677, d) -# define BOOST_PP_REPEAT_1_679(m, d) BOOST_PP_REPEAT_1_678(m, d) m(2, 678, d) -# define BOOST_PP_REPEAT_1_680(m, d) BOOST_PP_REPEAT_1_679(m, d) m(2, 679, d) -# define BOOST_PP_REPEAT_1_681(m, d) BOOST_PP_REPEAT_1_680(m, d) m(2, 680, d) -# define BOOST_PP_REPEAT_1_682(m, d) BOOST_PP_REPEAT_1_681(m, d) m(2, 681, d) -# define BOOST_PP_REPEAT_1_683(m, d) BOOST_PP_REPEAT_1_682(m, d) m(2, 682, d) -# define BOOST_PP_REPEAT_1_684(m, d) BOOST_PP_REPEAT_1_683(m, d) m(2, 683, d) -# define BOOST_PP_REPEAT_1_685(m, d) BOOST_PP_REPEAT_1_684(m, d) m(2, 684, d) -# define BOOST_PP_REPEAT_1_686(m, d) BOOST_PP_REPEAT_1_685(m, d) m(2, 685, d) -# define BOOST_PP_REPEAT_1_687(m, d) BOOST_PP_REPEAT_1_686(m, d) m(2, 686, d) -# define BOOST_PP_REPEAT_1_688(m, d) BOOST_PP_REPEAT_1_687(m, d) m(2, 687, d) -# define BOOST_PP_REPEAT_1_689(m, d) BOOST_PP_REPEAT_1_688(m, d) m(2, 688, d) -# define BOOST_PP_REPEAT_1_690(m, d) BOOST_PP_REPEAT_1_689(m, d) m(2, 689, d) -# define BOOST_PP_REPEAT_1_691(m, d) BOOST_PP_REPEAT_1_690(m, d) m(2, 690, d) -# define BOOST_PP_REPEAT_1_692(m, d) BOOST_PP_REPEAT_1_691(m, d) m(2, 691, d) -# define BOOST_PP_REPEAT_1_693(m, d) BOOST_PP_REPEAT_1_692(m, d) m(2, 692, d) -# define BOOST_PP_REPEAT_1_694(m, d) BOOST_PP_REPEAT_1_693(m, d) m(2, 693, d) -# define BOOST_PP_REPEAT_1_695(m, d) BOOST_PP_REPEAT_1_694(m, d) m(2, 694, d) -# define BOOST_PP_REPEAT_1_696(m, d) BOOST_PP_REPEAT_1_695(m, d) m(2, 695, d) -# define BOOST_PP_REPEAT_1_697(m, d) BOOST_PP_REPEAT_1_696(m, d) m(2, 696, d) -# define BOOST_PP_REPEAT_1_698(m, d) BOOST_PP_REPEAT_1_697(m, d) m(2, 697, d) -# define BOOST_PP_REPEAT_1_699(m, d) BOOST_PP_REPEAT_1_698(m, d) m(2, 698, d) -# define BOOST_PP_REPEAT_1_700(m, d) BOOST_PP_REPEAT_1_699(m, d) m(2, 699, d) -# define BOOST_PP_REPEAT_1_701(m, d) BOOST_PP_REPEAT_1_700(m, d) m(2, 700, d) -# define BOOST_PP_REPEAT_1_702(m, d) BOOST_PP_REPEAT_1_701(m, d) m(2, 701, d) -# define BOOST_PP_REPEAT_1_703(m, d) BOOST_PP_REPEAT_1_702(m, d) m(2, 702, d) -# define BOOST_PP_REPEAT_1_704(m, d) BOOST_PP_REPEAT_1_703(m, d) m(2, 703, d) -# define BOOST_PP_REPEAT_1_705(m, d) BOOST_PP_REPEAT_1_704(m, d) m(2, 704, d) -# define BOOST_PP_REPEAT_1_706(m, d) BOOST_PP_REPEAT_1_705(m, d) m(2, 705, d) -# define BOOST_PP_REPEAT_1_707(m, d) BOOST_PP_REPEAT_1_706(m, d) m(2, 706, d) -# define BOOST_PP_REPEAT_1_708(m, d) BOOST_PP_REPEAT_1_707(m, d) m(2, 707, d) -# define BOOST_PP_REPEAT_1_709(m, d) BOOST_PP_REPEAT_1_708(m, d) m(2, 708, d) -# define BOOST_PP_REPEAT_1_710(m, d) BOOST_PP_REPEAT_1_709(m, d) m(2, 709, d) -# define BOOST_PP_REPEAT_1_711(m, d) BOOST_PP_REPEAT_1_710(m, d) m(2, 710, d) -# define BOOST_PP_REPEAT_1_712(m, d) BOOST_PP_REPEAT_1_711(m, d) m(2, 711, d) -# define BOOST_PP_REPEAT_1_713(m, d) BOOST_PP_REPEAT_1_712(m, d) m(2, 712, d) -# define BOOST_PP_REPEAT_1_714(m, d) BOOST_PP_REPEAT_1_713(m, d) m(2, 713, d) -# define BOOST_PP_REPEAT_1_715(m, d) BOOST_PP_REPEAT_1_714(m, d) m(2, 714, d) -# define BOOST_PP_REPEAT_1_716(m, d) BOOST_PP_REPEAT_1_715(m, d) m(2, 715, d) -# define BOOST_PP_REPEAT_1_717(m, d) BOOST_PP_REPEAT_1_716(m, d) m(2, 716, d) -# define BOOST_PP_REPEAT_1_718(m, d) BOOST_PP_REPEAT_1_717(m, d) m(2, 717, d) -# define BOOST_PP_REPEAT_1_719(m, d) BOOST_PP_REPEAT_1_718(m, d) m(2, 718, d) -# define BOOST_PP_REPEAT_1_720(m, d) BOOST_PP_REPEAT_1_719(m, d) m(2, 719, d) -# define BOOST_PP_REPEAT_1_721(m, d) BOOST_PP_REPEAT_1_720(m, d) m(2, 720, d) -# define BOOST_PP_REPEAT_1_722(m, d) BOOST_PP_REPEAT_1_721(m, d) m(2, 721, d) -# define BOOST_PP_REPEAT_1_723(m, d) BOOST_PP_REPEAT_1_722(m, d) m(2, 722, d) -# define BOOST_PP_REPEAT_1_724(m, d) BOOST_PP_REPEAT_1_723(m, d) m(2, 723, d) -# define BOOST_PP_REPEAT_1_725(m, d) BOOST_PP_REPEAT_1_724(m, d) m(2, 724, d) -# define BOOST_PP_REPEAT_1_726(m, d) BOOST_PP_REPEAT_1_725(m, d) m(2, 725, d) -# define BOOST_PP_REPEAT_1_727(m, d) BOOST_PP_REPEAT_1_726(m, d) m(2, 726, d) -# define BOOST_PP_REPEAT_1_728(m, d) BOOST_PP_REPEAT_1_727(m, d) m(2, 727, d) -# define BOOST_PP_REPEAT_1_729(m, d) BOOST_PP_REPEAT_1_728(m, d) m(2, 728, d) -# define BOOST_PP_REPEAT_1_730(m, d) BOOST_PP_REPEAT_1_729(m, d) m(2, 729, d) -# define BOOST_PP_REPEAT_1_731(m, d) BOOST_PP_REPEAT_1_730(m, d) m(2, 730, d) -# define BOOST_PP_REPEAT_1_732(m, d) BOOST_PP_REPEAT_1_731(m, d) m(2, 731, d) -# define BOOST_PP_REPEAT_1_733(m, d) BOOST_PP_REPEAT_1_732(m, d) m(2, 732, d) -# define BOOST_PP_REPEAT_1_734(m, d) BOOST_PP_REPEAT_1_733(m, d) m(2, 733, d) -# define BOOST_PP_REPEAT_1_735(m, d) BOOST_PP_REPEAT_1_734(m, d) m(2, 734, d) -# define BOOST_PP_REPEAT_1_736(m, d) BOOST_PP_REPEAT_1_735(m, d) m(2, 735, d) -# define BOOST_PP_REPEAT_1_737(m, d) BOOST_PP_REPEAT_1_736(m, d) m(2, 736, d) -# define BOOST_PP_REPEAT_1_738(m, d) BOOST_PP_REPEAT_1_737(m, d) m(2, 737, d) -# define BOOST_PP_REPEAT_1_739(m, d) BOOST_PP_REPEAT_1_738(m, d) m(2, 738, d) -# define BOOST_PP_REPEAT_1_740(m, d) BOOST_PP_REPEAT_1_739(m, d) m(2, 739, d) -# define BOOST_PP_REPEAT_1_741(m, d) BOOST_PP_REPEAT_1_740(m, d) m(2, 740, d) -# define BOOST_PP_REPEAT_1_742(m, d) BOOST_PP_REPEAT_1_741(m, d) m(2, 741, d) -# define BOOST_PP_REPEAT_1_743(m, d) BOOST_PP_REPEAT_1_742(m, d) m(2, 742, d) -# define BOOST_PP_REPEAT_1_744(m, d) BOOST_PP_REPEAT_1_743(m, d) m(2, 743, d) -# define BOOST_PP_REPEAT_1_745(m, d) BOOST_PP_REPEAT_1_744(m, d) m(2, 744, d) -# define BOOST_PP_REPEAT_1_746(m, d) BOOST_PP_REPEAT_1_745(m, d) m(2, 745, d) -# define BOOST_PP_REPEAT_1_747(m, d) BOOST_PP_REPEAT_1_746(m, d) m(2, 746, d) -# define BOOST_PP_REPEAT_1_748(m, d) BOOST_PP_REPEAT_1_747(m, d) m(2, 747, d) -# define BOOST_PP_REPEAT_1_749(m, d) BOOST_PP_REPEAT_1_748(m, d) m(2, 748, d) -# define BOOST_PP_REPEAT_1_750(m, d) BOOST_PP_REPEAT_1_749(m, d) m(2, 749, d) -# define BOOST_PP_REPEAT_1_751(m, d) BOOST_PP_REPEAT_1_750(m, d) m(2, 750, d) -# define BOOST_PP_REPEAT_1_752(m, d) BOOST_PP_REPEAT_1_751(m, d) m(2, 751, d) -# define BOOST_PP_REPEAT_1_753(m, d) BOOST_PP_REPEAT_1_752(m, d) m(2, 752, d) -# define BOOST_PP_REPEAT_1_754(m, d) BOOST_PP_REPEAT_1_753(m, d) m(2, 753, d) -# define BOOST_PP_REPEAT_1_755(m, d) BOOST_PP_REPEAT_1_754(m, d) m(2, 754, d) -# define BOOST_PP_REPEAT_1_756(m, d) BOOST_PP_REPEAT_1_755(m, d) m(2, 755, d) -# define BOOST_PP_REPEAT_1_757(m, d) BOOST_PP_REPEAT_1_756(m, d) m(2, 756, d) -# define BOOST_PP_REPEAT_1_758(m, d) BOOST_PP_REPEAT_1_757(m, d) m(2, 757, d) -# define BOOST_PP_REPEAT_1_759(m, d) BOOST_PP_REPEAT_1_758(m, d) m(2, 758, d) -# define BOOST_PP_REPEAT_1_760(m, d) BOOST_PP_REPEAT_1_759(m, d) m(2, 759, d) -# define BOOST_PP_REPEAT_1_761(m, d) BOOST_PP_REPEAT_1_760(m, d) m(2, 760, d) -# define BOOST_PP_REPEAT_1_762(m, d) BOOST_PP_REPEAT_1_761(m, d) m(2, 761, d) -# define BOOST_PP_REPEAT_1_763(m, d) BOOST_PP_REPEAT_1_762(m, d) m(2, 762, d) -# define BOOST_PP_REPEAT_1_764(m, d) BOOST_PP_REPEAT_1_763(m, d) m(2, 763, d) -# define BOOST_PP_REPEAT_1_765(m, d) BOOST_PP_REPEAT_1_764(m, d) m(2, 764, d) -# define BOOST_PP_REPEAT_1_766(m, d) BOOST_PP_REPEAT_1_765(m, d) m(2, 765, d) -# define BOOST_PP_REPEAT_1_767(m, d) BOOST_PP_REPEAT_1_766(m, d) m(2, 766, d) -# define BOOST_PP_REPEAT_1_768(m, d) BOOST_PP_REPEAT_1_767(m, d) m(2, 767, d) -# define BOOST_PP_REPEAT_1_769(m, d) BOOST_PP_REPEAT_1_768(m, d) m(2, 768, d) -# define BOOST_PP_REPEAT_1_770(m, d) BOOST_PP_REPEAT_1_769(m, d) m(2, 769, d) -# define BOOST_PP_REPEAT_1_771(m, d) BOOST_PP_REPEAT_1_770(m, d) m(2, 770, d) -# define BOOST_PP_REPEAT_1_772(m, d) BOOST_PP_REPEAT_1_771(m, d) m(2, 771, d) -# define BOOST_PP_REPEAT_1_773(m, d) BOOST_PP_REPEAT_1_772(m, d) m(2, 772, d) -# define BOOST_PP_REPEAT_1_774(m, d) BOOST_PP_REPEAT_1_773(m, d) m(2, 773, d) -# define BOOST_PP_REPEAT_1_775(m, d) BOOST_PP_REPEAT_1_774(m, d) m(2, 774, d) -# define BOOST_PP_REPEAT_1_776(m, d) BOOST_PP_REPEAT_1_775(m, d) m(2, 775, d) -# define BOOST_PP_REPEAT_1_777(m, d) BOOST_PP_REPEAT_1_776(m, d) m(2, 776, d) -# define BOOST_PP_REPEAT_1_778(m, d) BOOST_PP_REPEAT_1_777(m, d) m(2, 777, d) -# define BOOST_PP_REPEAT_1_779(m, d) BOOST_PP_REPEAT_1_778(m, d) m(2, 778, d) -# define BOOST_PP_REPEAT_1_780(m, d) BOOST_PP_REPEAT_1_779(m, d) m(2, 779, d) -# define BOOST_PP_REPEAT_1_781(m, d) BOOST_PP_REPEAT_1_780(m, d) m(2, 780, d) -# define BOOST_PP_REPEAT_1_782(m, d) BOOST_PP_REPEAT_1_781(m, d) m(2, 781, d) -# define BOOST_PP_REPEAT_1_783(m, d) BOOST_PP_REPEAT_1_782(m, d) m(2, 782, d) -# define BOOST_PP_REPEAT_1_784(m, d) BOOST_PP_REPEAT_1_783(m, d) m(2, 783, d) -# define BOOST_PP_REPEAT_1_785(m, d) BOOST_PP_REPEAT_1_784(m, d) m(2, 784, d) -# define BOOST_PP_REPEAT_1_786(m, d) BOOST_PP_REPEAT_1_785(m, d) m(2, 785, d) -# define BOOST_PP_REPEAT_1_787(m, d) BOOST_PP_REPEAT_1_786(m, d) m(2, 786, d) -# define BOOST_PP_REPEAT_1_788(m, d) BOOST_PP_REPEAT_1_787(m, d) m(2, 787, d) -# define BOOST_PP_REPEAT_1_789(m, d) BOOST_PP_REPEAT_1_788(m, d) m(2, 788, d) -# define BOOST_PP_REPEAT_1_790(m, d) BOOST_PP_REPEAT_1_789(m, d) m(2, 789, d) -# define BOOST_PP_REPEAT_1_791(m, d) BOOST_PP_REPEAT_1_790(m, d) m(2, 790, d) -# define BOOST_PP_REPEAT_1_792(m, d) BOOST_PP_REPEAT_1_791(m, d) m(2, 791, d) -# define BOOST_PP_REPEAT_1_793(m, d) BOOST_PP_REPEAT_1_792(m, d) m(2, 792, d) -# define BOOST_PP_REPEAT_1_794(m, d) BOOST_PP_REPEAT_1_793(m, d) m(2, 793, d) -# define BOOST_PP_REPEAT_1_795(m, d) BOOST_PP_REPEAT_1_794(m, d) m(2, 794, d) -# define BOOST_PP_REPEAT_1_796(m, d) BOOST_PP_REPEAT_1_795(m, d) m(2, 795, d) -# define BOOST_PP_REPEAT_1_797(m, d) BOOST_PP_REPEAT_1_796(m, d) m(2, 796, d) -# define BOOST_PP_REPEAT_1_798(m, d) BOOST_PP_REPEAT_1_797(m, d) m(2, 797, d) -# define BOOST_PP_REPEAT_1_799(m, d) BOOST_PP_REPEAT_1_798(m, d) m(2, 798, d) -# define BOOST_PP_REPEAT_1_800(m, d) BOOST_PP_REPEAT_1_799(m, d) m(2, 799, d) -# define BOOST_PP_REPEAT_1_801(m, d) BOOST_PP_REPEAT_1_800(m, d) m(2, 800, d) -# define BOOST_PP_REPEAT_1_802(m, d) BOOST_PP_REPEAT_1_801(m, d) m(2, 801, d) -# define BOOST_PP_REPEAT_1_803(m, d) BOOST_PP_REPEAT_1_802(m, d) m(2, 802, d) -# define BOOST_PP_REPEAT_1_804(m, d) BOOST_PP_REPEAT_1_803(m, d) m(2, 803, d) -# define BOOST_PP_REPEAT_1_805(m, d) BOOST_PP_REPEAT_1_804(m, d) m(2, 804, d) -# define BOOST_PP_REPEAT_1_806(m, d) BOOST_PP_REPEAT_1_805(m, d) m(2, 805, d) -# define BOOST_PP_REPEAT_1_807(m, d) BOOST_PP_REPEAT_1_806(m, d) m(2, 806, d) -# define BOOST_PP_REPEAT_1_808(m, d) BOOST_PP_REPEAT_1_807(m, d) m(2, 807, d) -# define BOOST_PP_REPEAT_1_809(m, d) BOOST_PP_REPEAT_1_808(m, d) m(2, 808, d) -# define BOOST_PP_REPEAT_1_810(m, d) BOOST_PP_REPEAT_1_809(m, d) m(2, 809, d) -# define BOOST_PP_REPEAT_1_811(m, d) BOOST_PP_REPEAT_1_810(m, d) m(2, 810, d) -# define BOOST_PP_REPEAT_1_812(m, d) BOOST_PP_REPEAT_1_811(m, d) m(2, 811, d) -# define BOOST_PP_REPEAT_1_813(m, d) BOOST_PP_REPEAT_1_812(m, d) m(2, 812, d) -# define BOOST_PP_REPEAT_1_814(m, d) BOOST_PP_REPEAT_1_813(m, d) m(2, 813, d) -# define BOOST_PP_REPEAT_1_815(m, d) BOOST_PP_REPEAT_1_814(m, d) m(2, 814, d) -# define BOOST_PP_REPEAT_1_816(m, d) BOOST_PP_REPEAT_1_815(m, d) m(2, 815, d) -# define BOOST_PP_REPEAT_1_817(m, d) BOOST_PP_REPEAT_1_816(m, d) m(2, 816, d) -# define BOOST_PP_REPEAT_1_818(m, d) BOOST_PP_REPEAT_1_817(m, d) m(2, 817, d) -# define BOOST_PP_REPEAT_1_819(m, d) BOOST_PP_REPEAT_1_818(m, d) m(2, 818, d) -# define BOOST_PP_REPEAT_1_820(m, d) BOOST_PP_REPEAT_1_819(m, d) m(2, 819, d) -# define BOOST_PP_REPEAT_1_821(m, d) BOOST_PP_REPEAT_1_820(m, d) m(2, 820, d) -# define BOOST_PP_REPEAT_1_822(m, d) BOOST_PP_REPEAT_1_821(m, d) m(2, 821, d) -# define BOOST_PP_REPEAT_1_823(m, d) BOOST_PP_REPEAT_1_822(m, d) m(2, 822, d) -# define BOOST_PP_REPEAT_1_824(m, d) BOOST_PP_REPEAT_1_823(m, d) m(2, 823, d) -# define BOOST_PP_REPEAT_1_825(m, d) BOOST_PP_REPEAT_1_824(m, d) m(2, 824, d) -# define BOOST_PP_REPEAT_1_826(m, d) BOOST_PP_REPEAT_1_825(m, d) m(2, 825, d) -# define BOOST_PP_REPEAT_1_827(m, d) BOOST_PP_REPEAT_1_826(m, d) m(2, 826, d) -# define BOOST_PP_REPEAT_1_828(m, d) BOOST_PP_REPEAT_1_827(m, d) m(2, 827, d) -# define BOOST_PP_REPEAT_1_829(m, d) BOOST_PP_REPEAT_1_828(m, d) m(2, 828, d) -# define BOOST_PP_REPEAT_1_830(m, d) BOOST_PP_REPEAT_1_829(m, d) m(2, 829, d) -# define BOOST_PP_REPEAT_1_831(m, d) BOOST_PP_REPEAT_1_830(m, d) m(2, 830, d) -# define BOOST_PP_REPEAT_1_832(m, d) BOOST_PP_REPEAT_1_831(m, d) m(2, 831, d) -# define BOOST_PP_REPEAT_1_833(m, d) BOOST_PP_REPEAT_1_832(m, d) m(2, 832, d) -# define BOOST_PP_REPEAT_1_834(m, d) BOOST_PP_REPEAT_1_833(m, d) m(2, 833, d) -# define BOOST_PP_REPEAT_1_835(m, d) BOOST_PP_REPEAT_1_834(m, d) m(2, 834, d) -# define BOOST_PP_REPEAT_1_836(m, d) BOOST_PP_REPEAT_1_835(m, d) m(2, 835, d) -# define BOOST_PP_REPEAT_1_837(m, d) BOOST_PP_REPEAT_1_836(m, d) m(2, 836, d) -# define BOOST_PP_REPEAT_1_838(m, d) BOOST_PP_REPEAT_1_837(m, d) m(2, 837, d) -# define BOOST_PP_REPEAT_1_839(m, d) BOOST_PP_REPEAT_1_838(m, d) m(2, 838, d) -# define BOOST_PP_REPEAT_1_840(m, d) BOOST_PP_REPEAT_1_839(m, d) m(2, 839, d) -# define BOOST_PP_REPEAT_1_841(m, d) BOOST_PP_REPEAT_1_840(m, d) m(2, 840, d) -# define BOOST_PP_REPEAT_1_842(m, d) BOOST_PP_REPEAT_1_841(m, d) m(2, 841, d) -# define BOOST_PP_REPEAT_1_843(m, d) BOOST_PP_REPEAT_1_842(m, d) m(2, 842, d) -# define BOOST_PP_REPEAT_1_844(m, d) BOOST_PP_REPEAT_1_843(m, d) m(2, 843, d) -# define BOOST_PP_REPEAT_1_845(m, d) BOOST_PP_REPEAT_1_844(m, d) m(2, 844, d) -# define BOOST_PP_REPEAT_1_846(m, d) BOOST_PP_REPEAT_1_845(m, d) m(2, 845, d) -# define BOOST_PP_REPEAT_1_847(m, d) BOOST_PP_REPEAT_1_846(m, d) m(2, 846, d) -# define BOOST_PP_REPEAT_1_848(m, d) BOOST_PP_REPEAT_1_847(m, d) m(2, 847, d) -# define BOOST_PP_REPEAT_1_849(m, d) BOOST_PP_REPEAT_1_848(m, d) m(2, 848, d) -# define BOOST_PP_REPEAT_1_850(m, d) BOOST_PP_REPEAT_1_849(m, d) m(2, 849, d) -# define BOOST_PP_REPEAT_1_851(m, d) BOOST_PP_REPEAT_1_850(m, d) m(2, 850, d) -# define BOOST_PP_REPEAT_1_852(m, d) BOOST_PP_REPEAT_1_851(m, d) m(2, 851, d) -# define BOOST_PP_REPEAT_1_853(m, d) BOOST_PP_REPEAT_1_852(m, d) m(2, 852, d) -# define BOOST_PP_REPEAT_1_854(m, d) BOOST_PP_REPEAT_1_853(m, d) m(2, 853, d) -# define BOOST_PP_REPEAT_1_855(m, d) BOOST_PP_REPEAT_1_854(m, d) m(2, 854, d) -# define BOOST_PP_REPEAT_1_856(m, d) BOOST_PP_REPEAT_1_855(m, d) m(2, 855, d) -# define BOOST_PP_REPEAT_1_857(m, d) BOOST_PP_REPEAT_1_856(m, d) m(2, 856, d) -# define BOOST_PP_REPEAT_1_858(m, d) BOOST_PP_REPEAT_1_857(m, d) m(2, 857, d) -# define BOOST_PP_REPEAT_1_859(m, d) BOOST_PP_REPEAT_1_858(m, d) m(2, 858, d) -# define BOOST_PP_REPEAT_1_860(m, d) BOOST_PP_REPEAT_1_859(m, d) m(2, 859, d) -# define BOOST_PP_REPEAT_1_861(m, d) BOOST_PP_REPEAT_1_860(m, d) m(2, 860, d) -# define BOOST_PP_REPEAT_1_862(m, d) BOOST_PP_REPEAT_1_861(m, d) m(2, 861, d) -# define BOOST_PP_REPEAT_1_863(m, d) BOOST_PP_REPEAT_1_862(m, d) m(2, 862, d) -# define BOOST_PP_REPEAT_1_864(m, d) BOOST_PP_REPEAT_1_863(m, d) m(2, 863, d) -# define BOOST_PP_REPEAT_1_865(m, d) BOOST_PP_REPEAT_1_864(m, d) m(2, 864, d) -# define BOOST_PP_REPEAT_1_866(m, d) BOOST_PP_REPEAT_1_865(m, d) m(2, 865, d) -# define BOOST_PP_REPEAT_1_867(m, d) BOOST_PP_REPEAT_1_866(m, d) m(2, 866, d) -# define BOOST_PP_REPEAT_1_868(m, d) BOOST_PP_REPEAT_1_867(m, d) m(2, 867, d) -# define BOOST_PP_REPEAT_1_869(m, d) BOOST_PP_REPEAT_1_868(m, d) m(2, 868, d) -# define BOOST_PP_REPEAT_1_870(m, d) BOOST_PP_REPEAT_1_869(m, d) m(2, 869, d) -# define BOOST_PP_REPEAT_1_871(m, d) BOOST_PP_REPEAT_1_870(m, d) m(2, 870, d) -# define BOOST_PP_REPEAT_1_872(m, d) BOOST_PP_REPEAT_1_871(m, d) m(2, 871, d) -# define BOOST_PP_REPEAT_1_873(m, d) BOOST_PP_REPEAT_1_872(m, d) m(2, 872, d) -# define BOOST_PP_REPEAT_1_874(m, d) BOOST_PP_REPEAT_1_873(m, d) m(2, 873, d) -# define BOOST_PP_REPEAT_1_875(m, d) BOOST_PP_REPEAT_1_874(m, d) m(2, 874, d) -# define BOOST_PP_REPEAT_1_876(m, d) BOOST_PP_REPEAT_1_875(m, d) m(2, 875, d) -# define BOOST_PP_REPEAT_1_877(m, d) BOOST_PP_REPEAT_1_876(m, d) m(2, 876, d) -# define BOOST_PP_REPEAT_1_878(m, d) BOOST_PP_REPEAT_1_877(m, d) m(2, 877, d) -# define BOOST_PP_REPEAT_1_879(m, d) BOOST_PP_REPEAT_1_878(m, d) m(2, 878, d) -# define BOOST_PP_REPEAT_1_880(m, d) BOOST_PP_REPEAT_1_879(m, d) m(2, 879, d) -# define BOOST_PP_REPEAT_1_881(m, d) BOOST_PP_REPEAT_1_880(m, d) m(2, 880, d) -# define BOOST_PP_REPEAT_1_882(m, d) BOOST_PP_REPEAT_1_881(m, d) m(2, 881, d) -# define BOOST_PP_REPEAT_1_883(m, d) BOOST_PP_REPEAT_1_882(m, d) m(2, 882, d) -# define BOOST_PP_REPEAT_1_884(m, d) BOOST_PP_REPEAT_1_883(m, d) m(2, 883, d) -# define BOOST_PP_REPEAT_1_885(m, d) BOOST_PP_REPEAT_1_884(m, d) m(2, 884, d) -# define BOOST_PP_REPEAT_1_886(m, d) BOOST_PP_REPEAT_1_885(m, d) m(2, 885, d) -# define BOOST_PP_REPEAT_1_887(m, d) BOOST_PP_REPEAT_1_886(m, d) m(2, 886, d) -# define BOOST_PP_REPEAT_1_888(m, d) BOOST_PP_REPEAT_1_887(m, d) m(2, 887, d) -# define BOOST_PP_REPEAT_1_889(m, d) BOOST_PP_REPEAT_1_888(m, d) m(2, 888, d) -# define BOOST_PP_REPEAT_1_890(m, d) BOOST_PP_REPEAT_1_889(m, d) m(2, 889, d) -# define BOOST_PP_REPEAT_1_891(m, d) BOOST_PP_REPEAT_1_890(m, d) m(2, 890, d) -# define BOOST_PP_REPEAT_1_892(m, d) BOOST_PP_REPEAT_1_891(m, d) m(2, 891, d) -# define BOOST_PP_REPEAT_1_893(m, d) BOOST_PP_REPEAT_1_892(m, d) m(2, 892, d) -# define BOOST_PP_REPEAT_1_894(m, d) BOOST_PP_REPEAT_1_893(m, d) m(2, 893, d) -# define BOOST_PP_REPEAT_1_895(m, d) BOOST_PP_REPEAT_1_894(m, d) m(2, 894, d) -# define BOOST_PP_REPEAT_1_896(m, d) BOOST_PP_REPEAT_1_895(m, d) m(2, 895, d) -# define BOOST_PP_REPEAT_1_897(m, d) BOOST_PP_REPEAT_1_896(m, d) m(2, 896, d) -# define BOOST_PP_REPEAT_1_898(m, d) BOOST_PP_REPEAT_1_897(m, d) m(2, 897, d) -# define BOOST_PP_REPEAT_1_899(m, d) BOOST_PP_REPEAT_1_898(m, d) m(2, 898, d) -# define BOOST_PP_REPEAT_1_900(m, d) BOOST_PP_REPEAT_1_899(m, d) m(2, 899, d) -# define BOOST_PP_REPEAT_1_901(m, d) BOOST_PP_REPEAT_1_900(m, d) m(2, 900, d) -# define BOOST_PP_REPEAT_1_902(m, d) BOOST_PP_REPEAT_1_901(m, d) m(2, 901, d) -# define BOOST_PP_REPEAT_1_903(m, d) BOOST_PP_REPEAT_1_902(m, d) m(2, 902, d) -# define BOOST_PP_REPEAT_1_904(m, d) BOOST_PP_REPEAT_1_903(m, d) m(2, 903, d) -# define BOOST_PP_REPEAT_1_905(m, d) BOOST_PP_REPEAT_1_904(m, d) m(2, 904, d) -# define BOOST_PP_REPEAT_1_906(m, d) BOOST_PP_REPEAT_1_905(m, d) m(2, 905, d) -# define BOOST_PP_REPEAT_1_907(m, d) BOOST_PP_REPEAT_1_906(m, d) m(2, 906, d) -# define BOOST_PP_REPEAT_1_908(m, d) BOOST_PP_REPEAT_1_907(m, d) m(2, 907, d) -# define BOOST_PP_REPEAT_1_909(m, d) BOOST_PP_REPEAT_1_908(m, d) m(2, 908, d) -# define BOOST_PP_REPEAT_1_910(m, d) BOOST_PP_REPEAT_1_909(m, d) m(2, 909, d) -# define BOOST_PP_REPEAT_1_911(m, d) BOOST_PP_REPEAT_1_910(m, d) m(2, 910, d) -# define BOOST_PP_REPEAT_1_912(m, d) BOOST_PP_REPEAT_1_911(m, d) m(2, 911, d) -# define BOOST_PP_REPEAT_1_913(m, d) BOOST_PP_REPEAT_1_912(m, d) m(2, 912, d) -# define BOOST_PP_REPEAT_1_914(m, d) BOOST_PP_REPEAT_1_913(m, d) m(2, 913, d) -# define BOOST_PP_REPEAT_1_915(m, d) BOOST_PP_REPEAT_1_914(m, d) m(2, 914, d) -# define BOOST_PP_REPEAT_1_916(m, d) BOOST_PP_REPEAT_1_915(m, d) m(2, 915, d) -# define BOOST_PP_REPEAT_1_917(m, d) BOOST_PP_REPEAT_1_916(m, d) m(2, 916, d) -# define BOOST_PP_REPEAT_1_918(m, d) BOOST_PP_REPEAT_1_917(m, d) m(2, 917, d) -# define BOOST_PP_REPEAT_1_919(m, d) BOOST_PP_REPEAT_1_918(m, d) m(2, 918, d) -# define BOOST_PP_REPEAT_1_920(m, d) BOOST_PP_REPEAT_1_919(m, d) m(2, 919, d) -# define BOOST_PP_REPEAT_1_921(m, d) BOOST_PP_REPEAT_1_920(m, d) m(2, 920, d) -# define BOOST_PP_REPEAT_1_922(m, d) BOOST_PP_REPEAT_1_921(m, d) m(2, 921, d) -# define BOOST_PP_REPEAT_1_923(m, d) BOOST_PP_REPEAT_1_922(m, d) m(2, 922, d) -# define BOOST_PP_REPEAT_1_924(m, d) BOOST_PP_REPEAT_1_923(m, d) m(2, 923, d) -# define BOOST_PP_REPEAT_1_925(m, d) BOOST_PP_REPEAT_1_924(m, d) m(2, 924, d) -# define BOOST_PP_REPEAT_1_926(m, d) BOOST_PP_REPEAT_1_925(m, d) m(2, 925, d) -# define BOOST_PP_REPEAT_1_927(m, d) BOOST_PP_REPEAT_1_926(m, d) m(2, 926, d) -# define BOOST_PP_REPEAT_1_928(m, d) BOOST_PP_REPEAT_1_927(m, d) m(2, 927, d) -# define BOOST_PP_REPEAT_1_929(m, d) BOOST_PP_REPEAT_1_928(m, d) m(2, 928, d) -# define BOOST_PP_REPEAT_1_930(m, d) BOOST_PP_REPEAT_1_929(m, d) m(2, 929, d) -# define BOOST_PP_REPEAT_1_931(m, d) BOOST_PP_REPEAT_1_930(m, d) m(2, 930, d) -# define BOOST_PP_REPEAT_1_932(m, d) BOOST_PP_REPEAT_1_931(m, d) m(2, 931, d) -# define BOOST_PP_REPEAT_1_933(m, d) BOOST_PP_REPEAT_1_932(m, d) m(2, 932, d) -# define BOOST_PP_REPEAT_1_934(m, d) BOOST_PP_REPEAT_1_933(m, d) m(2, 933, d) -# define BOOST_PP_REPEAT_1_935(m, d) BOOST_PP_REPEAT_1_934(m, d) m(2, 934, d) -# define BOOST_PP_REPEAT_1_936(m, d) BOOST_PP_REPEAT_1_935(m, d) m(2, 935, d) -# define BOOST_PP_REPEAT_1_937(m, d) BOOST_PP_REPEAT_1_936(m, d) m(2, 936, d) -# define BOOST_PP_REPEAT_1_938(m, d) BOOST_PP_REPEAT_1_937(m, d) m(2, 937, d) -# define BOOST_PP_REPEAT_1_939(m, d) BOOST_PP_REPEAT_1_938(m, d) m(2, 938, d) -# define BOOST_PP_REPEAT_1_940(m, d) BOOST_PP_REPEAT_1_939(m, d) m(2, 939, d) -# define BOOST_PP_REPEAT_1_941(m, d) BOOST_PP_REPEAT_1_940(m, d) m(2, 940, d) -# define BOOST_PP_REPEAT_1_942(m, d) BOOST_PP_REPEAT_1_941(m, d) m(2, 941, d) -# define BOOST_PP_REPEAT_1_943(m, d) BOOST_PP_REPEAT_1_942(m, d) m(2, 942, d) -# define BOOST_PP_REPEAT_1_944(m, d) BOOST_PP_REPEAT_1_943(m, d) m(2, 943, d) -# define BOOST_PP_REPEAT_1_945(m, d) BOOST_PP_REPEAT_1_944(m, d) m(2, 944, d) -# define BOOST_PP_REPEAT_1_946(m, d) BOOST_PP_REPEAT_1_945(m, d) m(2, 945, d) -# define BOOST_PP_REPEAT_1_947(m, d) BOOST_PP_REPEAT_1_946(m, d) m(2, 946, d) -# define BOOST_PP_REPEAT_1_948(m, d) BOOST_PP_REPEAT_1_947(m, d) m(2, 947, d) -# define BOOST_PP_REPEAT_1_949(m, d) BOOST_PP_REPEAT_1_948(m, d) m(2, 948, d) -# define BOOST_PP_REPEAT_1_950(m, d) BOOST_PP_REPEAT_1_949(m, d) m(2, 949, d) -# define BOOST_PP_REPEAT_1_951(m, d) BOOST_PP_REPEAT_1_950(m, d) m(2, 950, d) -# define BOOST_PP_REPEAT_1_952(m, d) BOOST_PP_REPEAT_1_951(m, d) m(2, 951, d) -# define BOOST_PP_REPEAT_1_953(m, d) BOOST_PP_REPEAT_1_952(m, d) m(2, 952, d) -# define BOOST_PP_REPEAT_1_954(m, d) BOOST_PP_REPEAT_1_953(m, d) m(2, 953, d) -# define BOOST_PP_REPEAT_1_955(m, d) BOOST_PP_REPEAT_1_954(m, d) m(2, 954, d) -# define BOOST_PP_REPEAT_1_956(m, d) BOOST_PP_REPEAT_1_955(m, d) m(2, 955, d) -# define BOOST_PP_REPEAT_1_957(m, d) BOOST_PP_REPEAT_1_956(m, d) m(2, 956, d) -# define BOOST_PP_REPEAT_1_958(m, d) BOOST_PP_REPEAT_1_957(m, d) m(2, 957, d) -# define BOOST_PP_REPEAT_1_959(m, d) BOOST_PP_REPEAT_1_958(m, d) m(2, 958, d) -# define BOOST_PP_REPEAT_1_960(m, d) BOOST_PP_REPEAT_1_959(m, d) m(2, 959, d) -# define BOOST_PP_REPEAT_1_961(m, d) BOOST_PP_REPEAT_1_960(m, d) m(2, 960, d) -# define BOOST_PP_REPEAT_1_962(m, d) BOOST_PP_REPEAT_1_961(m, d) m(2, 961, d) -# define BOOST_PP_REPEAT_1_963(m, d) BOOST_PP_REPEAT_1_962(m, d) m(2, 962, d) -# define BOOST_PP_REPEAT_1_964(m, d) BOOST_PP_REPEAT_1_963(m, d) m(2, 963, d) -# define BOOST_PP_REPEAT_1_965(m, d) BOOST_PP_REPEAT_1_964(m, d) m(2, 964, d) -# define BOOST_PP_REPEAT_1_966(m, d) BOOST_PP_REPEAT_1_965(m, d) m(2, 965, d) -# define BOOST_PP_REPEAT_1_967(m, d) BOOST_PP_REPEAT_1_966(m, d) m(2, 966, d) -# define BOOST_PP_REPEAT_1_968(m, d) BOOST_PP_REPEAT_1_967(m, d) m(2, 967, d) -# define BOOST_PP_REPEAT_1_969(m, d) BOOST_PP_REPEAT_1_968(m, d) m(2, 968, d) -# define BOOST_PP_REPEAT_1_970(m, d) BOOST_PP_REPEAT_1_969(m, d) m(2, 969, d) -# define BOOST_PP_REPEAT_1_971(m, d) BOOST_PP_REPEAT_1_970(m, d) m(2, 970, d) -# define BOOST_PP_REPEAT_1_972(m, d) BOOST_PP_REPEAT_1_971(m, d) m(2, 971, d) -# define BOOST_PP_REPEAT_1_973(m, d) BOOST_PP_REPEAT_1_972(m, d) m(2, 972, d) -# define BOOST_PP_REPEAT_1_974(m, d) BOOST_PP_REPEAT_1_973(m, d) m(2, 973, d) -# define BOOST_PP_REPEAT_1_975(m, d) BOOST_PP_REPEAT_1_974(m, d) m(2, 974, d) -# define BOOST_PP_REPEAT_1_976(m, d) BOOST_PP_REPEAT_1_975(m, d) m(2, 975, d) -# define BOOST_PP_REPEAT_1_977(m, d) BOOST_PP_REPEAT_1_976(m, d) m(2, 976, d) -# define BOOST_PP_REPEAT_1_978(m, d) BOOST_PP_REPEAT_1_977(m, d) m(2, 977, d) -# define BOOST_PP_REPEAT_1_979(m, d) BOOST_PP_REPEAT_1_978(m, d) m(2, 978, d) -# define BOOST_PP_REPEAT_1_980(m, d) BOOST_PP_REPEAT_1_979(m, d) m(2, 979, d) -# define BOOST_PP_REPEAT_1_981(m, d) BOOST_PP_REPEAT_1_980(m, d) m(2, 980, d) -# define BOOST_PP_REPEAT_1_982(m, d) BOOST_PP_REPEAT_1_981(m, d) m(2, 981, d) -# define BOOST_PP_REPEAT_1_983(m, d) BOOST_PP_REPEAT_1_982(m, d) m(2, 982, d) -# define BOOST_PP_REPEAT_1_984(m, d) BOOST_PP_REPEAT_1_983(m, d) m(2, 983, d) -# define BOOST_PP_REPEAT_1_985(m, d) BOOST_PP_REPEAT_1_984(m, d) m(2, 984, d) -# define BOOST_PP_REPEAT_1_986(m, d) BOOST_PP_REPEAT_1_985(m, d) m(2, 985, d) -# define BOOST_PP_REPEAT_1_987(m, d) BOOST_PP_REPEAT_1_986(m, d) m(2, 986, d) -# define BOOST_PP_REPEAT_1_988(m, d) BOOST_PP_REPEAT_1_987(m, d) m(2, 987, d) -# define BOOST_PP_REPEAT_1_989(m, d) BOOST_PP_REPEAT_1_988(m, d) m(2, 988, d) -# define BOOST_PP_REPEAT_1_990(m, d) BOOST_PP_REPEAT_1_989(m, d) m(2, 989, d) -# define BOOST_PP_REPEAT_1_991(m, d) BOOST_PP_REPEAT_1_990(m, d) m(2, 990, d) -# define BOOST_PP_REPEAT_1_992(m, d) BOOST_PP_REPEAT_1_991(m, d) m(2, 991, d) -# define BOOST_PP_REPEAT_1_993(m, d) BOOST_PP_REPEAT_1_992(m, d) m(2, 992, d) -# define BOOST_PP_REPEAT_1_994(m, d) BOOST_PP_REPEAT_1_993(m, d) m(2, 993, d) -# define BOOST_PP_REPEAT_1_995(m, d) BOOST_PP_REPEAT_1_994(m, d) m(2, 994, d) -# define BOOST_PP_REPEAT_1_996(m, d) BOOST_PP_REPEAT_1_995(m, d) m(2, 995, d) -# define BOOST_PP_REPEAT_1_997(m, d) BOOST_PP_REPEAT_1_996(m, d) m(2, 996, d) -# define BOOST_PP_REPEAT_1_998(m, d) BOOST_PP_REPEAT_1_997(m, d) m(2, 997, d) -# define BOOST_PP_REPEAT_1_999(m, d) BOOST_PP_REPEAT_1_998(m, d) m(2, 998, d) -# define BOOST_PP_REPEAT_1_1000(m, d) BOOST_PP_REPEAT_1_999(m, d) m(2, 999, d) -# define BOOST_PP_REPEAT_1_1001(m, d) BOOST_PP_REPEAT_1_1000(m, d) m(2, 1000, d) -# define BOOST_PP_REPEAT_1_1002(m, d) BOOST_PP_REPEAT_1_1001(m, d) m(2, 1001, d) -# define BOOST_PP_REPEAT_1_1003(m, d) BOOST_PP_REPEAT_1_1002(m, d) m(2, 1002, d) -# define BOOST_PP_REPEAT_1_1004(m, d) BOOST_PP_REPEAT_1_1003(m, d) m(2, 1003, d) -# define BOOST_PP_REPEAT_1_1005(m, d) BOOST_PP_REPEAT_1_1004(m, d) m(2, 1004, d) -# define BOOST_PP_REPEAT_1_1006(m, d) BOOST_PP_REPEAT_1_1005(m, d) m(2, 1005, d) -# define BOOST_PP_REPEAT_1_1007(m, d) BOOST_PP_REPEAT_1_1006(m, d) m(2, 1006, d) -# define BOOST_PP_REPEAT_1_1008(m, d) BOOST_PP_REPEAT_1_1007(m, d) m(2, 1007, d) -# define BOOST_PP_REPEAT_1_1009(m, d) BOOST_PP_REPEAT_1_1008(m, d) m(2, 1008, d) -# define BOOST_PP_REPEAT_1_1010(m, d) BOOST_PP_REPEAT_1_1009(m, d) m(2, 1009, d) -# define BOOST_PP_REPEAT_1_1011(m, d) BOOST_PP_REPEAT_1_1010(m, d) m(2, 1010, d) -# define BOOST_PP_REPEAT_1_1012(m, d) BOOST_PP_REPEAT_1_1011(m, d) m(2, 1011, d) -# define BOOST_PP_REPEAT_1_1013(m, d) BOOST_PP_REPEAT_1_1012(m, d) m(2, 1012, d) -# define BOOST_PP_REPEAT_1_1014(m, d) BOOST_PP_REPEAT_1_1013(m, d) m(2, 1013, d) -# define BOOST_PP_REPEAT_1_1015(m, d) BOOST_PP_REPEAT_1_1014(m, d) m(2, 1014, d) -# define BOOST_PP_REPEAT_1_1016(m, d) BOOST_PP_REPEAT_1_1015(m, d) m(2, 1015, d) -# define BOOST_PP_REPEAT_1_1017(m, d) BOOST_PP_REPEAT_1_1016(m, d) m(2, 1016, d) -# define BOOST_PP_REPEAT_1_1018(m, d) BOOST_PP_REPEAT_1_1017(m, d) m(2, 1017, d) -# define BOOST_PP_REPEAT_1_1019(m, d) BOOST_PP_REPEAT_1_1018(m, d) m(2, 1018, d) -# define BOOST_PP_REPEAT_1_1020(m, d) BOOST_PP_REPEAT_1_1019(m, d) m(2, 1019, d) -# define BOOST_PP_REPEAT_1_1021(m, d) BOOST_PP_REPEAT_1_1020(m, d) m(2, 1020, d) -# define BOOST_PP_REPEAT_1_1022(m, d) BOOST_PP_REPEAT_1_1021(m, d) m(2, 1021, d) -# define BOOST_PP_REPEAT_1_1023(m, d) BOOST_PP_REPEAT_1_1022(m, d) m(2, 1022, d) -# define BOOST_PP_REPEAT_1_1024(m, d) BOOST_PP_REPEAT_1_1023(m, d) m(2, 1023, d) -# -# define BOOST_PP_REPEAT_2_513(m, d) BOOST_PP_REPEAT_2_512(m, d) m(3, 512, d) -# define BOOST_PP_REPEAT_2_514(m, d) BOOST_PP_REPEAT_2_513(m, d) m(3, 513, d) -# define BOOST_PP_REPEAT_2_515(m, d) BOOST_PP_REPEAT_2_514(m, d) m(3, 514, d) -# define BOOST_PP_REPEAT_2_516(m, d) BOOST_PP_REPEAT_2_515(m, d) m(3, 515, d) -# define BOOST_PP_REPEAT_2_517(m, d) BOOST_PP_REPEAT_2_516(m, d) m(3, 516, d) -# define BOOST_PP_REPEAT_2_518(m, d) BOOST_PP_REPEAT_2_517(m, d) m(3, 517, d) -# define BOOST_PP_REPEAT_2_519(m, d) BOOST_PP_REPEAT_2_518(m, d) m(3, 518, d) -# define BOOST_PP_REPEAT_2_520(m, d) BOOST_PP_REPEAT_2_519(m, d) m(3, 519, d) -# define BOOST_PP_REPEAT_2_521(m, d) BOOST_PP_REPEAT_2_520(m, d) m(3, 520, d) -# define BOOST_PP_REPEAT_2_522(m, d) BOOST_PP_REPEAT_2_521(m, d) m(3, 521, d) -# define BOOST_PP_REPEAT_2_523(m, d) BOOST_PP_REPEAT_2_522(m, d) m(3, 522, d) -# define BOOST_PP_REPEAT_2_524(m, d) BOOST_PP_REPEAT_2_523(m, d) m(3, 523, d) -# define BOOST_PP_REPEAT_2_525(m, d) BOOST_PP_REPEAT_2_524(m, d) m(3, 524, d) -# define BOOST_PP_REPEAT_2_526(m, d) BOOST_PP_REPEAT_2_525(m, d) m(3, 525, d) -# define BOOST_PP_REPEAT_2_527(m, d) BOOST_PP_REPEAT_2_526(m, d) m(3, 526, d) -# define BOOST_PP_REPEAT_2_528(m, d) BOOST_PP_REPEAT_2_527(m, d) m(3, 527, d) -# define BOOST_PP_REPEAT_2_529(m, d) BOOST_PP_REPEAT_2_528(m, d) m(3, 528, d) -# define BOOST_PP_REPEAT_2_530(m, d) BOOST_PP_REPEAT_2_529(m, d) m(3, 529, d) -# define BOOST_PP_REPEAT_2_531(m, d) BOOST_PP_REPEAT_2_530(m, d) m(3, 530, d) -# define BOOST_PP_REPEAT_2_532(m, d) BOOST_PP_REPEAT_2_531(m, d) m(3, 531, d) -# define BOOST_PP_REPEAT_2_533(m, d) BOOST_PP_REPEAT_2_532(m, d) m(3, 532, d) -# define BOOST_PP_REPEAT_2_534(m, d) BOOST_PP_REPEAT_2_533(m, d) m(3, 533, d) -# define BOOST_PP_REPEAT_2_535(m, d) BOOST_PP_REPEAT_2_534(m, d) m(3, 534, d) -# define BOOST_PP_REPEAT_2_536(m, d) BOOST_PP_REPEAT_2_535(m, d) m(3, 535, d) -# define BOOST_PP_REPEAT_2_537(m, d) BOOST_PP_REPEAT_2_536(m, d) m(3, 536, d) -# define BOOST_PP_REPEAT_2_538(m, d) BOOST_PP_REPEAT_2_537(m, d) m(3, 537, d) -# define BOOST_PP_REPEAT_2_539(m, d) BOOST_PP_REPEAT_2_538(m, d) m(3, 538, d) -# define BOOST_PP_REPEAT_2_540(m, d) BOOST_PP_REPEAT_2_539(m, d) m(3, 539, d) -# define BOOST_PP_REPEAT_2_541(m, d) BOOST_PP_REPEAT_2_540(m, d) m(3, 540, d) -# define BOOST_PP_REPEAT_2_542(m, d) BOOST_PP_REPEAT_2_541(m, d) m(3, 541, d) -# define BOOST_PP_REPEAT_2_543(m, d) BOOST_PP_REPEAT_2_542(m, d) m(3, 542, d) -# define BOOST_PP_REPEAT_2_544(m, d) BOOST_PP_REPEAT_2_543(m, d) m(3, 543, d) -# define BOOST_PP_REPEAT_2_545(m, d) BOOST_PP_REPEAT_2_544(m, d) m(3, 544, d) -# define BOOST_PP_REPEAT_2_546(m, d) BOOST_PP_REPEAT_2_545(m, d) m(3, 545, d) -# define BOOST_PP_REPEAT_2_547(m, d) BOOST_PP_REPEAT_2_546(m, d) m(3, 546, d) -# define BOOST_PP_REPEAT_2_548(m, d) BOOST_PP_REPEAT_2_547(m, d) m(3, 547, d) -# define BOOST_PP_REPEAT_2_549(m, d) BOOST_PP_REPEAT_2_548(m, d) m(3, 548, d) -# define BOOST_PP_REPEAT_2_550(m, d) BOOST_PP_REPEAT_2_549(m, d) m(3, 549, d) -# define BOOST_PP_REPEAT_2_551(m, d) BOOST_PP_REPEAT_2_550(m, d) m(3, 550, d) -# define BOOST_PP_REPEAT_2_552(m, d) BOOST_PP_REPEAT_2_551(m, d) m(3, 551, d) -# define BOOST_PP_REPEAT_2_553(m, d) BOOST_PP_REPEAT_2_552(m, d) m(3, 552, d) -# define BOOST_PP_REPEAT_2_554(m, d) BOOST_PP_REPEAT_2_553(m, d) m(3, 553, d) -# define BOOST_PP_REPEAT_2_555(m, d) BOOST_PP_REPEAT_2_554(m, d) m(3, 554, d) -# define BOOST_PP_REPEAT_2_556(m, d) BOOST_PP_REPEAT_2_555(m, d) m(3, 555, d) -# define BOOST_PP_REPEAT_2_557(m, d) BOOST_PP_REPEAT_2_556(m, d) m(3, 556, d) -# define BOOST_PP_REPEAT_2_558(m, d) BOOST_PP_REPEAT_2_557(m, d) m(3, 557, d) -# define BOOST_PP_REPEAT_2_559(m, d) BOOST_PP_REPEAT_2_558(m, d) m(3, 558, d) -# define BOOST_PP_REPEAT_2_560(m, d) BOOST_PP_REPEAT_2_559(m, d) m(3, 559, d) -# define BOOST_PP_REPEAT_2_561(m, d) BOOST_PP_REPEAT_2_560(m, d) m(3, 560, d) -# define BOOST_PP_REPEAT_2_562(m, d) BOOST_PP_REPEAT_2_561(m, d) m(3, 561, d) -# define BOOST_PP_REPEAT_2_563(m, d) BOOST_PP_REPEAT_2_562(m, d) m(3, 562, d) -# define BOOST_PP_REPEAT_2_564(m, d) BOOST_PP_REPEAT_2_563(m, d) m(3, 563, d) -# define BOOST_PP_REPEAT_2_565(m, d) BOOST_PP_REPEAT_2_564(m, d) m(3, 564, d) -# define BOOST_PP_REPEAT_2_566(m, d) BOOST_PP_REPEAT_2_565(m, d) m(3, 565, d) -# define BOOST_PP_REPEAT_2_567(m, d) BOOST_PP_REPEAT_2_566(m, d) m(3, 566, d) -# define BOOST_PP_REPEAT_2_568(m, d) BOOST_PP_REPEAT_2_567(m, d) m(3, 567, d) -# define BOOST_PP_REPEAT_2_569(m, d) BOOST_PP_REPEAT_2_568(m, d) m(3, 568, d) -# define BOOST_PP_REPEAT_2_570(m, d) BOOST_PP_REPEAT_2_569(m, d) m(3, 569, d) -# define BOOST_PP_REPEAT_2_571(m, d) BOOST_PP_REPEAT_2_570(m, d) m(3, 570, d) -# define BOOST_PP_REPEAT_2_572(m, d) BOOST_PP_REPEAT_2_571(m, d) m(3, 571, d) -# define BOOST_PP_REPEAT_2_573(m, d) BOOST_PP_REPEAT_2_572(m, d) m(3, 572, d) -# define BOOST_PP_REPEAT_2_574(m, d) BOOST_PP_REPEAT_2_573(m, d) m(3, 573, d) -# define BOOST_PP_REPEAT_2_575(m, d) BOOST_PP_REPEAT_2_574(m, d) m(3, 574, d) -# define BOOST_PP_REPEAT_2_576(m, d) BOOST_PP_REPEAT_2_575(m, d) m(3, 575, d) -# define BOOST_PP_REPEAT_2_577(m, d) BOOST_PP_REPEAT_2_576(m, d) m(3, 576, d) -# define BOOST_PP_REPEAT_2_578(m, d) BOOST_PP_REPEAT_2_577(m, d) m(3, 577, d) -# define BOOST_PP_REPEAT_2_579(m, d) BOOST_PP_REPEAT_2_578(m, d) m(3, 578, d) -# define BOOST_PP_REPEAT_2_580(m, d) BOOST_PP_REPEAT_2_579(m, d) m(3, 579, d) -# define BOOST_PP_REPEAT_2_581(m, d) BOOST_PP_REPEAT_2_580(m, d) m(3, 580, d) -# define BOOST_PP_REPEAT_2_582(m, d) BOOST_PP_REPEAT_2_581(m, d) m(3, 581, d) -# define BOOST_PP_REPEAT_2_583(m, d) BOOST_PP_REPEAT_2_582(m, d) m(3, 582, d) -# define BOOST_PP_REPEAT_2_584(m, d) BOOST_PP_REPEAT_2_583(m, d) m(3, 583, d) -# define BOOST_PP_REPEAT_2_585(m, d) BOOST_PP_REPEAT_2_584(m, d) m(3, 584, d) -# define BOOST_PP_REPEAT_2_586(m, d) BOOST_PP_REPEAT_2_585(m, d) m(3, 585, d) -# define BOOST_PP_REPEAT_2_587(m, d) BOOST_PP_REPEAT_2_586(m, d) m(3, 586, d) -# define BOOST_PP_REPEAT_2_588(m, d) BOOST_PP_REPEAT_2_587(m, d) m(3, 587, d) -# define BOOST_PP_REPEAT_2_589(m, d) BOOST_PP_REPEAT_2_588(m, d) m(3, 588, d) -# define BOOST_PP_REPEAT_2_590(m, d) BOOST_PP_REPEAT_2_589(m, d) m(3, 589, d) -# define BOOST_PP_REPEAT_2_591(m, d) BOOST_PP_REPEAT_2_590(m, d) m(3, 590, d) -# define BOOST_PP_REPEAT_2_592(m, d) BOOST_PP_REPEAT_2_591(m, d) m(3, 591, d) -# define BOOST_PP_REPEAT_2_593(m, d) BOOST_PP_REPEAT_2_592(m, d) m(3, 592, d) -# define BOOST_PP_REPEAT_2_594(m, d) BOOST_PP_REPEAT_2_593(m, d) m(3, 593, d) -# define BOOST_PP_REPEAT_2_595(m, d) BOOST_PP_REPEAT_2_594(m, d) m(3, 594, d) -# define BOOST_PP_REPEAT_2_596(m, d) BOOST_PP_REPEAT_2_595(m, d) m(3, 595, d) -# define BOOST_PP_REPEAT_2_597(m, d) BOOST_PP_REPEAT_2_596(m, d) m(3, 596, d) -# define BOOST_PP_REPEAT_2_598(m, d) BOOST_PP_REPEAT_2_597(m, d) m(3, 597, d) -# define BOOST_PP_REPEAT_2_599(m, d) BOOST_PP_REPEAT_2_598(m, d) m(3, 598, d) -# define BOOST_PP_REPEAT_2_600(m, d) BOOST_PP_REPEAT_2_599(m, d) m(3, 599, d) -# define BOOST_PP_REPEAT_2_601(m, d) BOOST_PP_REPEAT_2_600(m, d) m(3, 600, d) -# define BOOST_PP_REPEAT_2_602(m, d) BOOST_PP_REPEAT_2_601(m, d) m(3, 601, d) -# define BOOST_PP_REPEAT_2_603(m, d) BOOST_PP_REPEAT_2_602(m, d) m(3, 602, d) -# define BOOST_PP_REPEAT_2_604(m, d) BOOST_PP_REPEAT_2_603(m, d) m(3, 603, d) -# define BOOST_PP_REPEAT_2_605(m, d) BOOST_PP_REPEAT_2_604(m, d) m(3, 604, d) -# define BOOST_PP_REPEAT_2_606(m, d) BOOST_PP_REPEAT_2_605(m, d) m(3, 605, d) -# define BOOST_PP_REPEAT_2_607(m, d) BOOST_PP_REPEAT_2_606(m, d) m(3, 606, d) -# define BOOST_PP_REPEAT_2_608(m, d) BOOST_PP_REPEAT_2_607(m, d) m(3, 607, d) -# define BOOST_PP_REPEAT_2_609(m, d) BOOST_PP_REPEAT_2_608(m, d) m(3, 608, d) -# define BOOST_PP_REPEAT_2_610(m, d) BOOST_PP_REPEAT_2_609(m, d) m(3, 609, d) -# define BOOST_PP_REPEAT_2_611(m, d) BOOST_PP_REPEAT_2_610(m, d) m(3, 610, d) -# define BOOST_PP_REPEAT_2_612(m, d) BOOST_PP_REPEAT_2_611(m, d) m(3, 611, d) -# define BOOST_PP_REPEAT_2_613(m, d) BOOST_PP_REPEAT_2_612(m, d) m(3, 612, d) -# define BOOST_PP_REPEAT_2_614(m, d) BOOST_PP_REPEAT_2_613(m, d) m(3, 613, d) -# define BOOST_PP_REPEAT_2_615(m, d) BOOST_PP_REPEAT_2_614(m, d) m(3, 614, d) -# define BOOST_PP_REPEAT_2_616(m, d) BOOST_PP_REPEAT_2_615(m, d) m(3, 615, d) -# define BOOST_PP_REPEAT_2_617(m, d) BOOST_PP_REPEAT_2_616(m, d) m(3, 616, d) -# define BOOST_PP_REPEAT_2_618(m, d) BOOST_PP_REPEAT_2_617(m, d) m(3, 617, d) -# define BOOST_PP_REPEAT_2_619(m, d) BOOST_PP_REPEAT_2_618(m, d) m(3, 618, d) -# define BOOST_PP_REPEAT_2_620(m, d) BOOST_PP_REPEAT_2_619(m, d) m(3, 619, d) -# define BOOST_PP_REPEAT_2_621(m, d) BOOST_PP_REPEAT_2_620(m, d) m(3, 620, d) -# define BOOST_PP_REPEAT_2_622(m, d) BOOST_PP_REPEAT_2_621(m, d) m(3, 621, d) -# define BOOST_PP_REPEAT_2_623(m, d) BOOST_PP_REPEAT_2_622(m, d) m(3, 622, d) -# define BOOST_PP_REPEAT_2_624(m, d) BOOST_PP_REPEAT_2_623(m, d) m(3, 623, d) -# define BOOST_PP_REPEAT_2_625(m, d) BOOST_PP_REPEAT_2_624(m, d) m(3, 624, d) -# define BOOST_PP_REPEAT_2_626(m, d) BOOST_PP_REPEAT_2_625(m, d) m(3, 625, d) -# define BOOST_PP_REPEAT_2_627(m, d) BOOST_PP_REPEAT_2_626(m, d) m(3, 626, d) -# define BOOST_PP_REPEAT_2_628(m, d) BOOST_PP_REPEAT_2_627(m, d) m(3, 627, d) -# define BOOST_PP_REPEAT_2_629(m, d) BOOST_PP_REPEAT_2_628(m, d) m(3, 628, d) -# define BOOST_PP_REPEAT_2_630(m, d) BOOST_PP_REPEAT_2_629(m, d) m(3, 629, d) -# define BOOST_PP_REPEAT_2_631(m, d) BOOST_PP_REPEAT_2_630(m, d) m(3, 630, d) -# define BOOST_PP_REPEAT_2_632(m, d) BOOST_PP_REPEAT_2_631(m, d) m(3, 631, d) -# define BOOST_PP_REPEAT_2_633(m, d) BOOST_PP_REPEAT_2_632(m, d) m(3, 632, d) -# define BOOST_PP_REPEAT_2_634(m, d) BOOST_PP_REPEAT_2_633(m, d) m(3, 633, d) -# define BOOST_PP_REPEAT_2_635(m, d) BOOST_PP_REPEAT_2_634(m, d) m(3, 634, d) -# define BOOST_PP_REPEAT_2_636(m, d) BOOST_PP_REPEAT_2_635(m, d) m(3, 635, d) -# define BOOST_PP_REPEAT_2_637(m, d) BOOST_PP_REPEAT_2_636(m, d) m(3, 636, d) -# define BOOST_PP_REPEAT_2_638(m, d) BOOST_PP_REPEAT_2_637(m, d) m(3, 637, d) -# define BOOST_PP_REPEAT_2_639(m, d) BOOST_PP_REPEAT_2_638(m, d) m(3, 638, d) -# define BOOST_PP_REPEAT_2_640(m, d) BOOST_PP_REPEAT_2_639(m, d) m(3, 639, d) -# define BOOST_PP_REPEAT_2_641(m, d) BOOST_PP_REPEAT_2_640(m, d) m(3, 640, d) -# define BOOST_PP_REPEAT_2_642(m, d) BOOST_PP_REPEAT_2_641(m, d) m(3, 641, d) -# define BOOST_PP_REPEAT_2_643(m, d) BOOST_PP_REPEAT_2_642(m, d) m(3, 642, d) -# define BOOST_PP_REPEAT_2_644(m, d) BOOST_PP_REPEAT_2_643(m, d) m(3, 643, d) -# define BOOST_PP_REPEAT_2_645(m, d) BOOST_PP_REPEAT_2_644(m, d) m(3, 644, d) -# define BOOST_PP_REPEAT_2_646(m, d) BOOST_PP_REPEAT_2_645(m, d) m(3, 645, d) -# define BOOST_PP_REPEAT_2_647(m, d) BOOST_PP_REPEAT_2_646(m, d) m(3, 646, d) -# define BOOST_PP_REPEAT_2_648(m, d) BOOST_PP_REPEAT_2_647(m, d) m(3, 647, d) -# define BOOST_PP_REPEAT_2_649(m, d) BOOST_PP_REPEAT_2_648(m, d) m(3, 648, d) -# define BOOST_PP_REPEAT_2_650(m, d) BOOST_PP_REPEAT_2_649(m, d) m(3, 649, d) -# define BOOST_PP_REPEAT_2_651(m, d) BOOST_PP_REPEAT_2_650(m, d) m(3, 650, d) -# define BOOST_PP_REPEAT_2_652(m, d) BOOST_PP_REPEAT_2_651(m, d) m(3, 651, d) -# define BOOST_PP_REPEAT_2_653(m, d) BOOST_PP_REPEAT_2_652(m, d) m(3, 652, d) -# define BOOST_PP_REPEAT_2_654(m, d) BOOST_PP_REPEAT_2_653(m, d) m(3, 653, d) -# define BOOST_PP_REPEAT_2_655(m, d) BOOST_PP_REPEAT_2_654(m, d) m(3, 654, d) -# define BOOST_PP_REPEAT_2_656(m, d) BOOST_PP_REPEAT_2_655(m, d) m(3, 655, d) -# define BOOST_PP_REPEAT_2_657(m, d) BOOST_PP_REPEAT_2_656(m, d) m(3, 656, d) -# define BOOST_PP_REPEAT_2_658(m, d) BOOST_PP_REPEAT_2_657(m, d) m(3, 657, d) -# define BOOST_PP_REPEAT_2_659(m, d) BOOST_PP_REPEAT_2_658(m, d) m(3, 658, d) -# define BOOST_PP_REPEAT_2_660(m, d) BOOST_PP_REPEAT_2_659(m, d) m(3, 659, d) -# define BOOST_PP_REPEAT_2_661(m, d) BOOST_PP_REPEAT_2_660(m, d) m(3, 660, d) -# define BOOST_PP_REPEAT_2_662(m, d) BOOST_PP_REPEAT_2_661(m, d) m(3, 661, d) -# define BOOST_PP_REPEAT_2_663(m, d) BOOST_PP_REPEAT_2_662(m, d) m(3, 662, d) -# define BOOST_PP_REPEAT_2_664(m, d) BOOST_PP_REPEAT_2_663(m, d) m(3, 663, d) -# define BOOST_PP_REPEAT_2_665(m, d) BOOST_PP_REPEAT_2_664(m, d) m(3, 664, d) -# define BOOST_PP_REPEAT_2_666(m, d) BOOST_PP_REPEAT_2_665(m, d) m(3, 665, d) -# define BOOST_PP_REPEAT_2_667(m, d) BOOST_PP_REPEAT_2_666(m, d) m(3, 666, d) -# define BOOST_PP_REPEAT_2_668(m, d) BOOST_PP_REPEAT_2_667(m, d) m(3, 667, d) -# define BOOST_PP_REPEAT_2_669(m, d) BOOST_PP_REPEAT_2_668(m, d) m(3, 668, d) -# define BOOST_PP_REPEAT_2_670(m, d) BOOST_PP_REPEAT_2_669(m, d) m(3, 669, d) -# define BOOST_PP_REPEAT_2_671(m, d) BOOST_PP_REPEAT_2_670(m, d) m(3, 670, d) -# define BOOST_PP_REPEAT_2_672(m, d) BOOST_PP_REPEAT_2_671(m, d) m(3, 671, d) -# define BOOST_PP_REPEAT_2_673(m, d) BOOST_PP_REPEAT_2_672(m, d) m(3, 672, d) -# define BOOST_PP_REPEAT_2_674(m, d) BOOST_PP_REPEAT_2_673(m, d) m(3, 673, d) -# define BOOST_PP_REPEAT_2_675(m, d) BOOST_PP_REPEAT_2_674(m, d) m(3, 674, d) -# define BOOST_PP_REPEAT_2_676(m, d) BOOST_PP_REPEAT_2_675(m, d) m(3, 675, d) -# define BOOST_PP_REPEAT_2_677(m, d) BOOST_PP_REPEAT_2_676(m, d) m(3, 676, d) -# define BOOST_PP_REPEAT_2_678(m, d) BOOST_PP_REPEAT_2_677(m, d) m(3, 677, d) -# define BOOST_PP_REPEAT_2_679(m, d) BOOST_PP_REPEAT_2_678(m, d) m(3, 678, d) -# define BOOST_PP_REPEAT_2_680(m, d) BOOST_PP_REPEAT_2_679(m, d) m(3, 679, d) -# define BOOST_PP_REPEAT_2_681(m, d) BOOST_PP_REPEAT_2_680(m, d) m(3, 680, d) -# define BOOST_PP_REPEAT_2_682(m, d) BOOST_PP_REPEAT_2_681(m, d) m(3, 681, d) -# define BOOST_PP_REPEAT_2_683(m, d) BOOST_PP_REPEAT_2_682(m, d) m(3, 682, d) -# define BOOST_PP_REPEAT_2_684(m, d) BOOST_PP_REPEAT_2_683(m, d) m(3, 683, d) -# define BOOST_PP_REPEAT_2_685(m, d) BOOST_PP_REPEAT_2_684(m, d) m(3, 684, d) -# define BOOST_PP_REPEAT_2_686(m, d) BOOST_PP_REPEAT_2_685(m, d) m(3, 685, d) -# define BOOST_PP_REPEAT_2_687(m, d) BOOST_PP_REPEAT_2_686(m, d) m(3, 686, d) -# define BOOST_PP_REPEAT_2_688(m, d) BOOST_PP_REPEAT_2_687(m, d) m(3, 687, d) -# define BOOST_PP_REPEAT_2_689(m, d) BOOST_PP_REPEAT_2_688(m, d) m(3, 688, d) -# define BOOST_PP_REPEAT_2_690(m, d) BOOST_PP_REPEAT_2_689(m, d) m(3, 689, d) -# define BOOST_PP_REPEAT_2_691(m, d) BOOST_PP_REPEAT_2_690(m, d) m(3, 690, d) -# define BOOST_PP_REPEAT_2_692(m, d) BOOST_PP_REPEAT_2_691(m, d) m(3, 691, d) -# define BOOST_PP_REPEAT_2_693(m, d) BOOST_PP_REPEAT_2_692(m, d) m(3, 692, d) -# define BOOST_PP_REPEAT_2_694(m, d) BOOST_PP_REPEAT_2_693(m, d) m(3, 693, d) -# define BOOST_PP_REPEAT_2_695(m, d) BOOST_PP_REPEAT_2_694(m, d) m(3, 694, d) -# define BOOST_PP_REPEAT_2_696(m, d) BOOST_PP_REPEAT_2_695(m, d) m(3, 695, d) -# define BOOST_PP_REPEAT_2_697(m, d) BOOST_PP_REPEAT_2_696(m, d) m(3, 696, d) -# define BOOST_PP_REPEAT_2_698(m, d) BOOST_PP_REPEAT_2_697(m, d) m(3, 697, d) -# define BOOST_PP_REPEAT_2_699(m, d) BOOST_PP_REPEAT_2_698(m, d) m(3, 698, d) -# define BOOST_PP_REPEAT_2_700(m, d) BOOST_PP_REPEAT_2_699(m, d) m(3, 699, d) -# define BOOST_PP_REPEAT_2_701(m, d) BOOST_PP_REPEAT_2_700(m, d) m(3, 700, d) -# define BOOST_PP_REPEAT_2_702(m, d) BOOST_PP_REPEAT_2_701(m, d) m(3, 701, d) -# define BOOST_PP_REPEAT_2_703(m, d) BOOST_PP_REPEAT_2_702(m, d) m(3, 702, d) -# define BOOST_PP_REPEAT_2_704(m, d) BOOST_PP_REPEAT_2_703(m, d) m(3, 703, d) -# define BOOST_PP_REPEAT_2_705(m, d) BOOST_PP_REPEAT_2_704(m, d) m(3, 704, d) -# define BOOST_PP_REPEAT_2_706(m, d) BOOST_PP_REPEAT_2_705(m, d) m(3, 705, d) -# define BOOST_PP_REPEAT_2_707(m, d) BOOST_PP_REPEAT_2_706(m, d) m(3, 706, d) -# define BOOST_PP_REPEAT_2_708(m, d) BOOST_PP_REPEAT_2_707(m, d) m(3, 707, d) -# define BOOST_PP_REPEAT_2_709(m, d) BOOST_PP_REPEAT_2_708(m, d) m(3, 708, d) -# define BOOST_PP_REPEAT_2_710(m, d) BOOST_PP_REPEAT_2_709(m, d) m(3, 709, d) -# define BOOST_PP_REPEAT_2_711(m, d) BOOST_PP_REPEAT_2_710(m, d) m(3, 710, d) -# define BOOST_PP_REPEAT_2_712(m, d) BOOST_PP_REPEAT_2_711(m, d) m(3, 711, d) -# define BOOST_PP_REPEAT_2_713(m, d) BOOST_PP_REPEAT_2_712(m, d) m(3, 712, d) -# define BOOST_PP_REPEAT_2_714(m, d) BOOST_PP_REPEAT_2_713(m, d) m(3, 713, d) -# define BOOST_PP_REPEAT_2_715(m, d) BOOST_PP_REPEAT_2_714(m, d) m(3, 714, d) -# define BOOST_PP_REPEAT_2_716(m, d) BOOST_PP_REPEAT_2_715(m, d) m(3, 715, d) -# define BOOST_PP_REPEAT_2_717(m, d) BOOST_PP_REPEAT_2_716(m, d) m(3, 716, d) -# define BOOST_PP_REPEAT_2_718(m, d) BOOST_PP_REPEAT_2_717(m, d) m(3, 717, d) -# define BOOST_PP_REPEAT_2_719(m, d) BOOST_PP_REPEAT_2_718(m, d) m(3, 718, d) -# define BOOST_PP_REPEAT_2_720(m, d) BOOST_PP_REPEAT_2_719(m, d) m(3, 719, d) -# define BOOST_PP_REPEAT_2_721(m, d) BOOST_PP_REPEAT_2_720(m, d) m(3, 720, d) -# define BOOST_PP_REPEAT_2_722(m, d) BOOST_PP_REPEAT_2_721(m, d) m(3, 721, d) -# define BOOST_PP_REPEAT_2_723(m, d) BOOST_PP_REPEAT_2_722(m, d) m(3, 722, d) -# define BOOST_PP_REPEAT_2_724(m, d) BOOST_PP_REPEAT_2_723(m, d) m(3, 723, d) -# define BOOST_PP_REPEAT_2_725(m, d) BOOST_PP_REPEAT_2_724(m, d) m(3, 724, d) -# define BOOST_PP_REPEAT_2_726(m, d) BOOST_PP_REPEAT_2_725(m, d) m(3, 725, d) -# define BOOST_PP_REPEAT_2_727(m, d) BOOST_PP_REPEAT_2_726(m, d) m(3, 726, d) -# define BOOST_PP_REPEAT_2_728(m, d) BOOST_PP_REPEAT_2_727(m, d) m(3, 727, d) -# define BOOST_PP_REPEAT_2_729(m, d) BOOST_PP_REPEAT_2_728(m, d) m(3, 728, d) -# define BOOST_PP_REPEAT_2_730(m, d) BOOST_PP_REPEAT_2_729(m, d) m(3, 729, d) -# define BOOST_PP_REPEAT_2_731(m, d) BOOST_PP_REPEAT_2_730(m, d) m(3, 730, d) -# define BOOST_PP_REPEAT_2_732(m, d) BOOST_PP_REPEAT_2_731(m, d) m(3, 731, d) -# define BOOST_PP_REPEAT_2_733(m, d) BOOST_PP_REPEAT_2_732(m, d) m(3, 732, d) -# define BOOST_PP_REPEAT_2_734(m, d) BOOST_PP_REPEAT_2_733(m, d) m(3, 733, d) -# define BOOST_PP_REPEAT_2_735(m, d) BOOST_PP_REPEAT_2_734(m, d) m(3, 734, d) -# define BOOST_PP_REPEAT_2_736(m, d) BOOST_PP_REPEAT_2_735(m, d) m(3, 735, d) -# define BOOST_PP_REPEAT_2_737(m, d) BOOST_PP_REPEAT_2_736(m, d) m(3, 736, d) -# define BOOST_PP_REPEAT_2_738(m, d) BOOST_PP_REPEAT_2_737(m, d) m(3, 737, d) -# define BOOST_PP_REPEAT_2_739(m, d) BOOST_PP_REPEAT_2_738(m, d) m(3, 738, d) -# define BOOST_PP_REPEAT_2_740(m, d) BOOST_PP_REPEAT_2_739(m, d) m(3, 739, d) -# define BOOST_PP_REPEAT_2_741(m, d) BOOST_PP_REPEAT_2_740(m, d) m(3, 740, d) -# define BOOST_PP_REPEAT_2_742(m, d) BOOST_PP_REPEAT_2_741(m, d) m(3, 741, d) -# define BOOST_PP_REPEAT_2_743(m, d) BOOST_PP_REPEAT_2_742(m, d) m(3, 742, d) -# define BOOST_PP_REPEAT_2_744(m, d) BOOST_PP_REPEAT_2_743(m, d) m(3, 743, d) -# define BOOST_PP_REPEAT_2_745(m, d) BOOST_PP_REPEAT_2_744(m, d) m(3, 744, d) -# define BOOST_PP_REPEAT_2_746(m, d) BOOST_PP_REPEAT_2_745(m, d) m(3, 745, d) -# define BOOST_PP_REPEAT_2_747(m, d) BOOST_PP_REPEAT_2_746(m, d) m(3, 746, d) -# define BOOST_PP_REPEAT_2_748(m, d) BOOST_PP_REPEAT_2_747(m, d) m(3, 747, d) -# define BOOST_PP_REPEAT_2_749(m, d) BOOST_PP_REPEAT_2_748(m, d) m(3, 748, d) -# define BOOST_PP_REPEAT_2_750(m, d) BOOST_PP_REPEAT_2_749(m, d) m(3, 749, d) -# define BOOST_PP_REPEAT_2_751(m, d) BOOST_PP_REPEAT_2_750(m, d) m(3, 750, d) -# define BOOST_PP_REPEAT_2_752(m, d) BOOST_PP_REPEAT_2_751(m, d) m(3, 751, d) -# define BOOST_PP_REPEAT_2_753(m, d) BOOST_PP_REPEAT_2_752(m, d) m(3, 752, d) -# define BOOST_PP_REPEAT_2_754(m, d) BOOST_PP_REPEAT_2_753(m, d) m(3, 753, d) -# define BOOST_PP_REPEAT_2_755(m, d) BOOST_PP_REPEAT_2_754(m, d) m(3, 754, d) -# define BOOST_PP_REPEAT_2_756(m, d) BOOST_PP_REPEAT_2_755(m, d) m(3, 755, d) -# define BOOST_PP_REPEAT_2_757(m, d) BOOST_PP_REPEAT_2_756(m, d) m(3, 756, d) -# define BOOST_PP_REPEAT_2_758(m, d) BOOST_PP_REPEAT_2_757(m, d) m(3, 757, d) -# define BOOST_PP_REPEAT_2_759(m, d) BOOST_PP_REPEAT_2_758(m, d) m(3, 758, d) -# define BOOST_PP_REPEAT_2_760(m, d) BOOST_PP_REPEAT_2_759(m, d) m(3, 759, d) -# define BOOST_PP_REPEAT_2_761(m, d) BOOST_PP_REPEAT_2_760(m, d) m(3, 760, d) -# define BOOST_PP_REPEAT_2_762(m, d) BOOST_PP_REPEAT_2_761(m, d) m(3, 761, d) -# define BOOST_PP_REPEAT_2_763(m, d) BOOST_PP_REPEAT_2_762(m, d) m(3, 762, d) -# define BOOST_PP_REPEAT_2_764(m, d) BOOST_PP_REPEAT_2_763(m, d) m(3, 763, d) -# define BOOST_PP_REPEAT_2_765(m, d) BOOST_PP_REPEAT_2_764(m, d) m(3, 764, d) -# define BOOST_PP_REPEAT_2_766(m, d) BOOST_PP_REPEAT_2_765(m, d) m(3, 765, d) -# define BOOST_PP_REPEAT_2_767(m, d) BOOST_PP_REPEAT_2_766(m, d) m(3, 766, d) -# define BOOST_PP_REPEAT_2_768(m, d) BOOST_PP_REPEAT_2_767(m, d) m(3, 767, d) -# define BOOST_PP_REPEAT_2_769(m, d) BOOST_PP_REPEAT_2_768(m, d) m(3, 768, d) -# define BOOST_PP_REPEAT_2_770(m, d) BOOST_PP_REPEAT_2_769(m, d) m(3, 769, d) -# define BOOST_PP_REPEAT_2_771(m, d) BOOST_PP_REPEAT_2_770(m, d) m(3, 770, d) -# define BOOST_PP_REPEAT_2_772(m, d) BOOST_PP_REPEAT_2_771(m, d) m(3, 771, d) -# define BOOST_PP_REPEAT_2_773(m, d) BOOST_PP_REPEAT_2_772(m, d) m(3, 772, d) -# define BOOST_PP_REPEAT_2_774(m, d) BOOST_PP_REPEAT_2_773(m, d) m(3, 773, d) -# define BOOST_PP_REPEAT_2_775(m, d) BOOST_PP_REPEAT_2_774(m, d) m(3, 774, d) -# define BOOST_PP_REPEAT_2_776(m, d) BOOST_PP_REPEAT_2_775(m, d) m(3, 775, d) -# define BOOST_PP_REPEAT_2_777(m, d) BOOST_PP_REPEAT_2_776(m, d) m(3, 776, d) -# define BOOST_PP_REPEAT_2_778(m, d) BOOST_PP_REPEAT_2_777(m, d) m(3, 777, d) -# define BOOST_PP_REPEAT_2_779(m, d) BOOST_PP_REPEAT_2_778(m, d) m(3, 778, d) -# define BOOST_PP_REPEAT_2_780(m, d) BOOST_PP_REPEAT_2_779(m, d) m(3, 779, d) -# define BOOST_PP_REPEAT_2_781(m, d) BOOST_PP_REPEAT_2_780(m, d) m(3, 780, d) -# define BOOST_PP_REPEAT_2_782(m, d) BOOST_PP_REPEAT_2_781(m, d) m(3, 781, d) -# define BOOST_PP_REPEAT_2_783(m, d) BOOST_PP_REPEAT_2_782(m, d) m(3, 782, d) -# define BOOST_PP_REPEAT_2_784(m, d) BOOST_PP_REPEAT_2_783(m, d) m(3, 783, d) -# define BOOST_PP_REPEAT_2_785(m, d) BOOST_PP_REPEAT_2_784(m, d) m(3, 784, d) -# define BOOST_PP_REPEAT_2_786(m, d) BOOST_PP_REPEAT_2_785(m, d) m(3, 785, d) -# define BOOST_PP_REPEAT_2_787(m, d) BOOST_PP_REPEAT_2_786(m, d) m(3, 786, d) -# define BOOST_PP_REPEAT_2_788(m, d) BOOST_PP_REPEAT_2_787(m, d) m(3, 787, d) -# define BOOST_PP_REPEAT_2_789(m, d) BOOST_PP_REPEAT_2_788(m, d) m(3, 788, d) -# define BOOST_PP_REPEAT_2_790(m, d) BOOST_PP_REPEAT_2_789(m, d) m(3, 789, d) -# define BOOST_PP_REPEAT_2_791(m, d) BOOST_PP_REPEAT_2_790(m, d) m(3, 790, d) -# define BOOST_PP_REPEAT_2_792(m, d) BOOST_PP_REPEAT_2_791(m, d) m(3, 791, d) -# define BOOST_PP_REPEAT_2_793(m, d) BOOST_PP_REPEAT_2_792(m, d) m(3, 792, d) -# define BOOST_PP_REPEAT_2_794(m, d) BOOST_PP_REPEAT_2_793(m, d) m(3, 793, d) -# define BOOST_PP_REPEAT_2_795(m, d) BOOST_PP_REPEAT_2_794(m, d) m(3, 794, d) -# define BOOST_PP_REPEAT_2_796(m, d) BOOST_PP_REPEAT_2_795(m, d) m(3, 795, d) -# define BOOST_PP_REPEAT_2_797(m, d) BOOST_PP_REPEAT_2_796(m, d) m(3, 796, d) -# define BOOST_PP_REPEAT_2_798(m, d) BOOST_PP_REPEAT_2_797(m, d) m(3, 797, d) -# define BOOST_PP_REPEAT_2_799(m, d) BOOST_PP_REPEAT_2_798(m, d) m(3, 798, d) -# define BOOST_PP_REPEAT_2_800(m, d) BOOST_PP_REPEAT_2_799(m, d) m(3, 799, d) -# define BOOST_PP_REPEAT_2_801(m, d) BOOST_PP_REPEAT_2_800(m, d) m(3, 800, d) -# define BOOST_PP_REPEAT_2_802(m, d) BOOST_PP_REPEAT_2_801(m, d) m(3, 801, d) -# define BOOST_PP_REPEAT_2_803(m, d) BOOST_PP_REPEAT_2_802(m, d) m(3, 802, d) -# define BOOST_PP_REPEAT_2_804(m, d) BOOST_PP_REPEAT_2_803(m, d) m(3, 803, d) -# define BOOST_PP_REPEAT_2_805(m, d) BOOST_PP_REPEAT_2_804(m, d) m(3, 804, d) -# define BOOST_PP_REPEAT_2_806(m, d) BOOST_PP_REPEAT_2_805(m, d) m(3, 805, d) -# define BOOST_PP_REPEAT_2_807(m, d) BOOST_PP_REPEAT_2_806(m, d) m(3, 806, d) -# define BOOST_PP_REPEAT_2_808(m, d) BOOST_PP_REPEAT_2_807(m, d) m(3, 807, d) -# define BOOST_PP_REPEAT_2_809(m, d) BOOST_PP_REPEAT_2_808(m, d) m(3, 808, d) -# define BOOST_PP_REPEAT_2_810(m, d) BOOST_PP_REPEAT_2_809(m, d) m(3, 809, d) -# define BOOST_PP_REPEAT_2_811(m, d) BOOST_PP_REPEAT_2_810(m, d) m(3, 810, d) -# define BOOST_PP_REPEAT_2_812(m, d) BOOST_PP_REPEAT_2_811(m, d) m(3, 811, d) -# define BOOST_PP_REPEAT_2_813(m, d) BOOST_PP_REPEAT_2_812(m, d) m(3, 812, d) -# define BOOST_PP_REPEAT_2_814(m, d) BOOST_PP_REPEAT_2_813(m, d) m(3, 813, d) -# define BOOST_PP_REPEAT_2_815(m, d) BOOST_PP_REPEAT_2_814(m, d) m(3, 814, d) -# define BOOST_PP_REPEAT_2_816(m, d) BOOST_PP_REPEAT_2_815(m, d) m(3, 815, d) -# define BOOST_PP_REPEAT_2_817(m, d) BOOST_PP_REPEAT_2_816(m, d) m(3, 816, d) -# define BOOST_PP_REPEAT_2_818(m, d) BOOST_PP_REPEAT_2_817(m, d) m(3, 817, d) -# define BOOST_PP_REPEAT_2_819(m, d) BOOST_PP_REPEAT_2_818(m, d) m(3, 818, d) -# define BOOST_PP_REPEAT_2_820(m, d) BOOST_PP_REPEAT_2_819(m, d) m(3, 819, d) -# define BOOST_PP_REPEAT_2_821(m, d) BOOST_PP_REPEAT_2_820(m, d) m(3, 820, d) -# define BOOST_PP_REPEAT_2_822(m, d) BOOST_PP_REPEAT_2_821(m, d) m(3, 821, d) -# define BOOST_PP_REPEAT_2_823(m, d) BOOST_PP_REPEAT_2_822(m, d) m(3, 822, d) -# define BOOST_PP_REPEAT_2_824(m, d) BOOST_PP_REPEAT_2_823(m, d) m(3, 823, d) -# define BOOST_PP_REPEAT_2_825(m, d) BOOST_PP_REPEAT_2_824(m, d) m(3, 824, d) -# define BOOST_PP_REPEAT_2_826(m, d) BOOST_PP_REPEAT_2_825(m, d) m(3, 825, d) -# define BOOST_PP_REPEAT_2_827(m, d) BOOST_PP_REPEAT_2_826(m, d) m(3, 826, d) -# define BOOST_PP_REPEAT_2_828(m, d) BOOST_PP_REPEAT_2_827(m, d) m(3, 827, d) -# define BOOST_PP_REPEAT_2_829(m, d) BOOST_PP_REPEAT_2_828(m, d) m(3, 828, d) -# define BOOST_PP_REPEAT_2_830(m, d) BOOST_PP_REPEAT_2_829(m, d) m(3, 829, d) -# define BOOST_PP_REPEAT_2_831(m, d) BOOST_PP_REPEAT_2_830(m, d) m(3, 830, d) -# define BOOST_PP_REPEAT_2_832(m, d) BOOST_PP_REPEAT_2_831(m, d) m(3, 831, d) -# define BOOST_PP_REPEAT_2_833(m, d) BOOST_PP_REPEAT_2_832(m, d) m(3, 832, d) -# define BOOST_PP_REPEAT_2_834(m, d) BOOST_PP_REPEAT_2_833(m, d) m(3, 833, d) -# define BOOST_PP_REPEAT_2_835(m, d) BOOST_PP_REPEAT_2_834(m, d) m(3, 834, d) -# define BOOST_PP_REPEAT_2_836(m, d) BOOST_PP_REPEAT_2_835(m, d) m(3, 835, d) -# define BOOST_PP_REPEAT_2_837(m, d) BOOST_PP_REPEAT_2_836(m, d) m(3, 836, d) -# define BOOST_PP_REPEAT_2_838(m, d) BOOST_PP_REPEAT_2_837(m, d) m(3, 837, d) -# define BOOST_PP_REPEAT_2_839(m, d) BOOST_PP_REPEAT_2_838(m, d) m(3, 838, d) -# define BOOST_PP_REPEAT_2_840(m, d) BOOST_PP_REPEAT_2_839(m, d) m(3, 839, d) -# define BOOST_PP_REPEAT_2_841(m, d) BOOST_PP_REPEAT_2_840(m, d) m(3, 840, d) -# define BOOST_PP_REPEAT_2_842(m, d) BOOST_PP_REPEAT_2_841(m, d) m(3, 841, d) -# define BOOST_PP_REPEAT_2_843(m, d) BOOST_PP_REPEAT_2_842(m, d) m(3, 842, d) -# define BOOST_PP_REPEAT_2_844(m, d) BOOST_PP_REPEAT_2_843(m, d) m(3, 843, d) -# define BOOST_PP_REPEAT_2_845(m, d) BOOST_PP_REPEAT_2_844(m, d) m(3, 844, d) -# define BOOST_PP_REPEAT_2_846(m, d) BOOST_PP_REPEAT_2_845(m, d) m(3, 845, d) -# define BOOST_PP_REPEAT_2_847(m, d) BOOST_PP_REPEAT_2_846(m, d) m(3, 846, d) -# define BOOST_PP_REPEAT_2_848(m, d) BOOST_PP_REPEAT_2_847(m, d) m(3, 847, d) -# define BOOST_PP_REPEAT_2_849(m, d) BOOST_PP_REPEAT_2_848(m, d) m(3, 848, d) -# define BOOST_PP_REPEAT_2_850(m, d) BOOST_PP_REPEAT_2_849(m, d) m(3, 849, d) -# define BOOST_PP_REPEAT_2_851(m, d) BOOST_PP_REPEAT_2_850(m, d) m(3, 850, d) -# define BOOST_PP_REPEAT_2_852(m, d) BOOST_PP_REPEAT_2_851(m, d) m(3, 851, d) -# define BOOST_PP_REPEAT_2_853(m, d) BOOST_PP_REPEAT_2_852(m, d) m(3, 852, d) -# define BOOST_PP_REPEAT_2_854(m, d) BOOST_PP_REPEAT_2_853(m, d) m(3, 853, d) -# define BOOST_PP_REPEAT_2_855(m, d) BOOST_PP_REPEAT_2_854(m, d) m(3, 854, d) -# define BOOST_PP_REPEAT_2_856(m, d) BOOST_PP_REPEAT_2_855(m, d) m(3, 855, d) -# define BOOST_PP_REPEAT_2_857(m, d) BOOST_PP_REPEAT_2_856(m, d) m(3, 856, d) -# define BOOST_PP_REPEAT_2_858(m, d) BOOST_PP_REPEAT_2_857(m, d) m(3, 857, d) -# define BOOST_PP_REPEAT_2_859(m, d) BOOST_PP_REPEAT_2_858(m, d) m(3, 858, d) -# define BOOST_PP_REPEAT_2_860(m, d) BOOST_PP_REPEAT_2_859(m, d) m(3, 859, d) -# define BOOST_PP_REPEAT_2_861(m, d) BOOST_PP_REPEAT_2_860(m, d) m(3, 860, d) -# define BOOST_PP_REPEAT_2_862(m, d) BOOST_PP_REPEAT_2_861(m, d) m(3, 861, d) -# define BOOST_PP_REPEAT_2_863(m, d) BOOST_PP_REPEAT_2_862(m, d) m(3, 862, d) -# define BOOST_PP_REPEAT_2_864(m, d) BOOST_PP_REPEAT_2_863(m, d) m(3, 863, d) -# define BOOST_PP_REPEAT_2_865(m, d) BOOST_PP_REPEAT_2_864(m, d) m(3, 864, d) -# define BOOST_PP_REPEAT_2_866(m, d) BOOST_PP_REPEAT_2_865(m, d) m(3, 865, d) -# define BOOST_PP_REPEAT_2_867(m, d) BOOST_PP_REPEAT_2_866(m, d) m(3, 866, d) -# define BOOST_PP_REPEAT_2_868(m, d) BOOST_PP_REPEAT_2_867(m, d) m(3, 867, d) -# define BOOST_PP_REPEAT_2_869(m, d) BOOST_PP_REPEAT_2_868(m, d) m(3, 868, d) -# define BOOST_PP_REPEAT_2_870(m, d) BOOST_PP_REPEAT_2_869(m, d) m(3, 869, d) -# define BOOST_PP_REPEAT_2_871(m, d) BOOST_PP_REPEAT_2_870(m, d) m(3, 870, d) -# define BOOST_PP_REPEAT_2_872(m, d) BOOST_PP_REPEAT_2_871(m, d) m(3, 871, d) -# define BOOST_PP_REPEAT_2_873(m, d) BOOST_PP_REPEAT_2_872(m, d) m(3, 872, d) -# define BOOST_PP_REPEAT_2_874(m, d) BOOST_PP_REPEAT_2_873(m, d) m(3, 873, d) -# define BOOST_PP_REPEAT_2_875(m, d) BOOST_PP_REPEAT_2_874(m, d) m(3, 874, d) -# define BOOST_PP_REPEAT_2_876(m, d) BOOST_PP_REPEAT_2_875(m, d) m(3, 875, d) -# define BOOST_PP_REPEAT_2_877(m, d) BOOST_PP_REPEAT_2_876(m, d) m(3, 876, d) -# define BOOST_PP_REPEAT_2_878(m, d) BOOST_PP_REPEAT_2_877(m, d) m(3, 877, d) -# define BOOST_PP_REPEAT_2_879(m, d) BOOST_PP_REPEAT_2_878(m, d) m(3, 878, d) -# define BOOST_PP_REPEAT_2_880(m, d) BOOST_PP_REPEAT_2_879(m, d) m(3, 879, d) -# define BOOST_PP_REPEAT_2_881(m, d) BOOST_PP_REPEAT_2_880(m, d) m(3, 880, d) -# define BOOST_PP_REPEAT_2_882(m, d) BOOST_PP_REPEAT_2_881(m, d) m(3, 881, d) -# define BOOST_PP_REPEAT_2_883(m, d) BOOST_PP_REPEAT_2_882(m, d) m(3, 882, d) -# define BOOST_PP_REPEAT_2_884(m, d) BOOST_PP_REPEAT_2_883(m, d) m(3, 883, d) -# define BOOST_PP_REPEAT_2_885(m, d) BOOST_PP_REPEAT_2_884(m, d) m(3, 884, d) -# define BOOST_PP_REPEAT_2_886(m, d) BOOST_PP_REPEAT_2_885(m, d) m(3, 885, d) -# define BOOST_PP_REPEAT_2_887(m, d) BOOST_PP_REPEAT_2_886(m, d) m(3, 886, d) -# define BOOST_PP_REPEAT_2_888(m, d) BOOST_PP_REPEAT_2_887(m, d) m(3, 887, d) -# define BOOST_PP_REPEAT_2_889(m, d) BOOST_PP_REPEAT_2_888(m, d) m(3, 888, d) -# define BOOST_PP_REPEAT_2_890(m, d) BOOST_PP_REPEAT_2_889(m, d) m(3, 889, d) -# define BOOST_PP_REPEAT_2_891(m, d) BOOST_PP_REPEAT_2_890(m, d) m(3, 890, d) -# define BOOST_PP_REPEAT_2_892(m, d) BOOST_PP_REPEAT_2_891(m, d) m(3, 891, d) -# define BOOST_PP_REPEAT_2_893(m, d) BOOST_PP_REPEAT_2_892(m, d) m(3, 892, d) -# define BOOST_PP_REPEAT_2_894(m, d) BOOST_PP_REPEAT_2_893(m, d) m(3, 893, d) -# define BOOST_PP_REPEAT_2_895(m, d) BOOST_PP_REPEAT_2_894(m, d) m(3, 894, d) -# define BOOST_PP_REPEAT_2_896(m, d) BOOST_PP_REPEAT_2_895(m, d) m(3, 895, d) -# define BOOST_PP_REPEAT_2_897(m, d) BOOST_PP_REPEAT_2_896(m, d) m(3, 896, d) -# define BOOST_PP_REPEAT_2_898(m, d) BOOST_PP_REPEAT_2_897(m, d) m(3, 897, d) -# define BOOST_PP_REPEAT_2_899(m, d) BOOST_PP_REPEAT_2_898(m, d) m(3, 898, d) -# define BOOST_PP_REPEAT_2_900(m, d) BOOST_PP_REPEAT_2_899(m, d) m(3, 899, d) -# define BOOST_PP_REPEAT_2_901(m, d) BOOST_PP_REPEAT_2_900(m, d) m(3, 900, d) -# define BOOST_PP_REPEAT_2_902(m, d) BOOST_PP_REPEAT_2_901(m, d) m(3, 901, d) -# define BOOST_PP_REPEAT_2_903(m, d) BOOST_PP_REPEAT_2_902(m, d) m(3, 902, d) -# define BOOST_PP_REPEAT_2_904(m, d) BOOST_PP_REPEAT_2_903(m, d) m(3, 903, d) -# define BOOST_PP_REPEAT_2_905(m, d) BOOST_PP_REPEAT_2_904(m, d) m(3, 904, d) -# define BOOST_PP_REPEAT_2_906(m, d) BOOST_PP_REPEAT_2_905(m, d) m(3, 905, d) -# define BOOST_PP_REPEAT_2_907(m, d) BOOST_PP_REPEAT_2_906(m, d) m(3, 906, d) -# define BOOST_PP_REPEAT_2_908(m, d) BOOST_PP_REPEAT_2_907(m, d) m(3, 907, d) -# define BOOST_PP_REPEAT_2_909(m, d) BOOST_PP_REPEAT_2_908(m, d) m(3, 908, d) -# define BOOST_PP_REPEAT_2_910(m, d) BOOST_PP_REPEAT_2_909(m, d) m(3, 909, d) -# define BOOST_PP_REPEAT_2_911(m, d) BOOST_PP_REPEAT_2_910(m, d) m(3, 910, d) -# define BOOST_PP_REPEAT_2_912(m, d) BOOST_PP_REPEAT_2_911(m, d) m(3, 911, d) -# define BOOST_PP_REPEAT_2_913(m, d) BOOST_PP_REPEAT_2_912(m, d) m(3, 912, d) -# define BOOST_PP_REPEAT_2_914(m, d) BOOST_PP_REPEAT_2_913(m, d) m(3, 913, d) -# define BOOST_PP_REPEAT_2_915(m, d) BOOST_PP_REPEAT_2_914(m, d) m(3, 914, d) -# define BOOST_PP_REPEAT_2_916(m, d) BOOST_PP_REPEAT_2_915(m, d) m(3, 915, d) -# define BOOST_PP_REPEAT_2_917(m, d) BOOST_PP_REPEAT_2_916(m, d) m(3, 916, d) -# define BOOST_PP_REPEAT_2_918(m, d) BOOST_PP_REPEAT_2_917(m, d) m(3, 917, d) -# define BOOST_PP_REPEAT_2_919(m, d) BOOST_PP_REPEAT_2_918(m, d) m(3, 918, d) -# define BOOST_PP_REPEAT_2_920(m, d) BOOST_PP_REPEAT_2_919(m, d) m(3, 919, d) -# define BOOST_PP_REPEAT_2_921(m, d) BOOST_PP_REPEAT_2_920(m, d) m(3, 920, d) -# define BOOST_PP_REPEAT_2_922(m, d) BOOST_PP_REPEAT_2_921(m, d) m(3, 921, d) -# define BOOST_PP_REPEAT_2_923(m, d) BOOST_PP_REPEAT_2_922(m, d) m(3, 922, d) -# define BOOST_PP_REPEAT_2_924(m, d) BOOST_PP_REPEAT_2_923(m, d) m(3, 923, d) -# define BOOST_PP_REPEAT_2_925(m, d) BOOST_PP_REPEAT_2_924(m, d) m(3, 924, d) -# define BOOST_PP_REPEAT_2_926(m, d) BOOST_PP_REPEAT_2_925(m, d) m(3, 925, d) -# define BOOST_PP_REPEAT_2_927(m, d) BOOST_PP_REPEAT_2_926(m, d) m(3, 926, d) -# define BOOST_PP_REPEAT_2_928(m, d) BOOST_PP_REPEAT_2_927(m, d) m(3, 927, d) -# define BOOST_PP_REPEAT_2_929(m, d) BOOST_PP_REPEAT_2_928(m, d) m(3, 928, d) -# define BOOST_PP_REPEAT_2_930(m, d) BOOST_PP_REPEAT_2_929(m, d) m(3, 929, d) -# define BOOST_PP_REPEAT_2_931(m, d) BOOST_PP_REPEAT_2_930(m, d) m(3, 930, d) -# define BOOST_PP_REPEAT_2_932(m, d) BOOST_PP_REPEAT_2_931(m, d) m(3, 931, d) -# define BOOST_PP_REPEAT_2_933(m, d) BOOST_PP_REPEAT_2_932(m, d) m(3, 932, d) -# define BOOST_PP_REPEAT_2_934(m, d) BOOST_PP_REPEAT_2_933(m, d) m(3, 933, d) -# define BOOST_PP_REPEAT_2_935(m, d) BOOST_PP_REPEAT_2_934(m, d) m(3, 934, d) -# define BOOST_PP_REPEAT_2_936(m, d) BOOST_PP_REPEAT_2_935(m, d) m(3, 935, d) -# define BOOST_PP_REPEAT_2_937(m, d) BOOST_PP_REPEAT_2_936(m, d) m(3, 936, d) -# define BOOST_PP_REPEAT_2_938(m, d) BOOST_PP_REPEAT_2_937(m, d) m(3, 937, d) -# define BOOST_PP_REPEAT_2_939(m, d) BOOST_PP_REPEAT_2_938(m, d) m(3, 938, d) -# define BOOST_PP_REPEAT_2_940(m, d) BOOST_PP_REPEAT_2_939(m, d) m(3, 939, d) -# define BOOST_PP_REPEAT_2_941(m, d) BOOST_PP_REPEAT_2_940(m, d) m(3, 940, d) -# define BOOST_PP_REPEAT_2_942(m, d) BOOST_PP_REPEAT_2_941(m, d) m(3, 941, d) -# define BOOST_PP_REPEAT_2_943(m, d) BOOST_PP_REPEAT_2_942(m, d) m(3, 942, d) -# define BOOST_PP_REPEAT_2_944(m, d) BOOST_PP_REPEAT_2_943(m, d) m(3, 943, d) -# define BOOST_PP_REPEAT_2_945(m, d) BOOST_PP_REPEAT_2_944(m, d) m(3, 944, d) -# define BOOST_PP_REPEAT_2_946(m, d) BOOST_PP_REPEAT_2_945(m, d) m(3, 945, d) -# define BOOST_PP_REPEAT_2_947(m, d) BOOST_PP_REPEAT_2_946(m, d) m(3, 946, d) -# define BOOST_PP_REPEAT_2_948(m, d) BOOST_PP_REPEAT_2_947(m, d) m(3, 947, d) -# define BOOST_PP_REPEAT_2_949(m, d) BOOST_PP_REPEAT_2_948(m, d) m(3, 948, d) -# define BOOST_PP_REPEAT_2_950(m, d) BOOST_PP_REPEAT_2_949(m, d) m(3, 949, d) -# define BOOST_PP_REPEAT_2_951(m, d) BOOST_PP_REPEAT_2_950(m, d) m(3, 950, d) -# define BOOST_PP_REPEAT_2_952(m, d) BOOST_PP_REPEAT_2_951(m, d) m(3, 951, d) -# define BOOST_PP_REPEAT_2_953(m, d) BOOST_PP_REPEAT_2_952(m, d) m(3, 952, d) -# define BOOST_PP_REPEAT_2_954(m, d) BOOST_PP_REPEAT_2_953(m, d) m(3, 953, d) -# define BOOST_PP_REPEAT_2_955(m, d) BOOST_PP_REPEAT_2_954(m, d) m(3, 954, d) -# define BOOST_PP_REPEAT_2_956(m, d) BOOST_PP_REPEAT_2_955(m, d) m(3, 955, d) -# define BOOST_PP_REPEAT_2_957(m, d) BOOST_PP_REPEAT_2_956(m, d) m(3, 956, d) -# define BOOST_PP_REPEAT_2_958(m, d) BOOST_PP_REPEAT_2_957(m, d) m(3, 957, d) -# define BOOST_PP_REPEAT_2_959(m, d) BOOST_PP_REPEAT_2_958(m, d) m(3, 958, d) -# define BOOST_PP_REPEAT_2_960(m, d) BOOST_PP_REPEAT_2_959(m, d) m(3, 959, d) -# define BOOST_PP_REPEAT_2_961(m, d) BOOST_PP_REPEAT_2_960(m, d) m(3, 960, d) -# define BOOST_PP_REPEAT_2_962(m, d) BOOST_PP_REPEAT_2_961(m, d) m(3, 961, d) -# define BOOST_PP_REPEAT_2_963(m, d) BOOST_PP_REPEAT_2_962(m, d) m(3, 962, d) -# define BOOST_PP_REPEAT_2_964(m, d) BOOST_PP_REPEAT_2_963(m, d) m(3, 963, d) -# define BOOST_PP_REPEAT_2_965(m, d) BOOST_PP_REPEAT_2_964(m, d) m(3, 964, d) -# define BOOST_PP_REPEAT_2_966(m, d) BOOST_PP_REPEAT_2_965(m, d) m(3, 965, d) -# define BOOST_PP_REPEAT_2_967(m, d) BOOST_PP_REPEAT_2_966(m, d) m(3, 966, d) -# define BOOST_PP_REPEAT_2_968(m, d) BOOST_PP_REPEAT_2_967(m, d) m(3, 967, d) -# define BOOST_PP_REPEAT_2_969(m, d) BOOST_PP_REPEAT_2_968(m, d) m(3, 968, d) -# define BOOST_PP_REPEAT_2_970(m, d) BOOST_PP_REPEAT_2_969(m, d) m(3, 969, d) -# define BOOST_PP_REPEAT_2_971(m, d) BOOST_PP_REPEAT_2_970(m, d) m(3, 970, d) -# define BOOST_PP_REPEAT_2_972(m, d) BOOST_PP_REPEAT_2_971(m, d) m(3, 971, d) -# define BOOST_PP_REPEAT_2_973(m, d) BOOST_PP_REPEAT_2_972(m, d) m(3, 972, d) -# define BOOST_PP_REPEAT_2_974(m, d) BOOST_PP_REPEAT_2_973(m, d) m(3, 973, d) -# define BOOST_PP_REPEAT_2_975(m, d) BOOST_PP_REPEAT_2_974(m, d) m(3, 974, d) -# define BOOST_PP_REPEAT_2_976(m, d) BOOST_PP_REPEAT_2_975(m, d) m(3, 975, d) -# define BOOST_PP_REPEAT_2_977(m, d) BOOST_PP_REPEAT_2_976(m, d) m(3, 976, d) -# define BOOST_PP_REPEAT_2_978(m, d) BOOST_PP_REPEAT_2_977(m, d) m(3, 977, d) -# define BOOST_PP_REPEAT_2_979(m, d) BOOST_PP_REPEAT_2_978(m, d) m(3, 978, d) -# define BOOST_PP_REPEAT_2_980(m, d) BOOST_PP_REPEAT_2_979(m, d) m(3, 979, d) -# define BOOST_PP_REPEAT_2_981(m, d) BOOST_PP_REPEAT_2_980(m, d) m(3, 980, d) -# define BOOST_PP_REPEAT_2_982(m, d) BOOST_PP_REPEAT_2_981(m, d) m(3, 981, d) -# define BOOST_PP_REPEAT_2_983(m, d) BOOST_PP_REPEAT_2_982(m, d) m(3, 982, d) -# define BOOST_PP_REPEAT_2_984(m, d) BOOST_PP_REPEAT_2_983(m, d) m(3, 983, d) -# define BOOST_PP_REPEAT_2_985(m, d) BOOST_PP_REPEAT_2_984(m, d) m(3, 984, d) -# define BOOST_PP_REPEAT_2_986(m, d) BOOST_PP_REPEAT_2_985(m, d) m(3, 985, d) -# define BOOST_PP_REPEAT_2_987(m, d) BOOST_PP_REPEAT_2_986(m, d) m(3, 986, d) -# define BOOST_PP_REPEAT_2_988(m, d) BOOST_PP_REPEAT_2_987(m, d) m(3, 987, d) -# define BOOST_PP_REPEAT_2_989(m, d) BOOST_PP_REPEAT_2_988(m, d) m(3, 988, d) -# define BOOST_PP_REPEAT_2_990(m, d) BOOST_PP_REPEAT_2_989(m, d) m(3, 989, d) -# define BOOST_PP_REPEAT_2_991(m, d) BOOST_PP_REPEAT_2_990(m, d) m(3, 990, d) -# define BOOST_PP_REPEAT_2_992(m, d) BOOST_PP_REPEAT_2_991(m, d) m(3, 991, d) -# define BOOST_PP_REPEAT_2_993(m, d) BOOST_PP_REPEAT_2_992(m, d) m(3, 992, d) -# define BOOST_PP_REPEAT_2_994(m, d) BOOST_PP_REPEAT_2_993(m, d) m(3, 993, d) -# define BOOST_PP_REPEAT_2_995(m, d) BOOST_PP_REPEAT_2_994(m, d) m(3, 994, d) -# define BOOST_PP_REPEAT_2_996(m, d) BOOST_PP_REPEAT_2_995(m, d) m(3, 995, d) -# define BOOST_PP_REPEAT_2_997(m, d) BOOST_PP_REPEAT_2_996(m, d) m(3, 996, d) -# define BOOST_PP_REPEAT_2_998(m, d) BOOST_PP_REPEAT_2_997(m, d) m(3, 997, d) -# define BOOST_PP_REPEAT_2_999(m, d) BOOST_PP_REPEAT_2_998(m, d) m(3, 998, d) -# define BOOST_PP_REPEAT_2_1000(m, d) BOOST_PP_REPEAT_2_999(m, d) m(3, 999, d) -# define BOOST_PP_REPEAT_2_1001(m, d) BOOST_PP_REPEAT_2_1000(m, d) m(3, 1000, d) -# define BOOST_PP_REPEAT_2_1002(m, d) BOOST_PP_REPEAT_2_1001(m, d) m(3, 1001, d) -# define BOOST_PP_REPEAT_2_1003(m, d) BOOST_PP_REPEAT_2_1002(m, d) m(3, 1002, d) -# define BOOST_PP_REPEAT_2_1004(m, d) BOOST_PP_REPEAT_2_1003(m, d) m(3, 1003, d) -# define BOOST_PP_REPEAT_2_1005(m, d) BOOST_PP_REPEAT_2_1004(m, d) m(3, 1004, d) -# define BOOST_PP_REPEAT_2_1006(m, d) BOOST_PP_REPEAT_2_1005(m, d) m(3, 1005, d) -# define BOOST_PP_REPEAT_2_1007(m, d) BOOST_PP_REPEAT_2_1006(m, d) m(3, 1006, d) -# define BOOST_PP_REPEAT_2_1008(m, d) BOOST_PP_REPEAT_2_1007(m, d) m(3, 1007, d) -# define BOOST_PP_REPEAT_2_1009(m, d) BOOST_PP_REPEAT_2_1008(m, d) m(3, 1008, d) -# define BOOST_PP_REPEAT_2_1010(m, d) BOOST_PP_REPEAT_2_1009(m, d) m(3, 1009, d) -# define BOOST_PP_REPEAT_2_1011(m, d) BOOST_PP_REPEAT_2_1010(m, d) m(3, 1010, d) -# define BOOST_PP_REPEAT_2_1012(m, d) BOOST_PP_REPEAT_2_1011(m, d) m(3, 1011, d) -# define BOOST_PP_REPEAT_2_1013(m, d) BOOST_PP_REPEAT_2_1012(m, d) m(3, 1012, d) -# define BOOST_PP_REPEAT_2_1014(m, d) BOOST_PP_REPEAT_2_1013(m, d) m(3, 1013, d) -# define BOOST_PP_REPEAT_2_1015(m, d) BOOST_PP_REPEAT_2_1014(m, d) m(3, 1014, d) -# define BOOST_PP_REPEAT_2_1016(m, d) BOOST_PP_REPEAT_2_1015(m, d) m(3, 1015, d) -# define BOOST_PP_REPEAT_2_1017(m, d) BOOST_PP_REPEAT_2_1016(m, d) m(3, 1016, d) -# define BOOST_PP_REPEAT_2_1018(m, d) BOOST_PP_REPEAT_2_1017(m, d) m(3, 1017, d) -# define BOOST_PP_REPEAT_2_1019(m, d) BOOST_PP_REPEAT_2_1018(m, d) m(3, 1018, d) -# define BOOST_PP_REPEAT_2_1020(m, d) BOOST_PP_REPEAT_2_1019(m, d) m(3, 1019, d) -# define BOOST_PP_REPEAT_2_1021(m, d) BOOST_PP_REPEAT_2_1020(m, d) m(3, 1020, d) -# define BOOST_PP_REPEAT_2_1022(m, d) BOOST_PP_REPEAT_2_1021(m, d) m(3, 1021, d) -# define BOOST_PP_REPEAT_2_1023(m, d) BOOST_PP_REPEAT_2_1022(m, d) m(3, 1022, d) -# define BOOST_PP_REPEAT_2_1024(m, d) BOOST_PP_REPEAT_2_1023(m, d) m(3, 1023, d) -# -# define BOOST_PP_REPEAT_3_513(m, d) BOOST_PP_REPEAT_3_512(m, d) m(4, 512, d) -# define BOOST_PP_REPEAT_3_514(m, d) BOOST_PP_REPEAT_3_513(m, d) m(4, 513, d) -# define BOOST_PP_REPEAT_3_515(m, d) BOOST_PP_REPEAT_3_514(m, d) m(4, 514, d) -# define BOOST_PP_REPEAT_3_516(m, d) BOOST_PP_REPEAT_3_515(m, d) m(4, 515, d) -# define BOOST_PP_REPEAT_3_517(m, d) BOOST_PP_REPEAT_3_516(m, d) m(4, 516, d) -# define BOOST_PP_REPEAT_3_518(m, d) BOOST_PP_REPEAT_3_517(m, d) m(4, 517, d) -# define BOOST_PP_REPEAT_3_519(m, d) BOOST_PP_REPEAT_3_518(m, d) m(4, 518, d) -# define BOOST_PP_REPEAT_3_520(m, d) BOOST_PP_REPEAT_3_519(m, d) m(4, 519, d) -# define BOOST_PP_REPEAT_3_521(m, d) BOOST_PP_REPEAT_3_520(m, d) m(4, 520, d) -# define BOOST_PP_REPEAT_3_522(m, d) BOOST_PP_REPEAT_3_521(m, d) m(4, 521, d) -# define BOOST_PP_REPEAT_3_523(m, d) BOOST_PP_REPEAT_3_522(m, d) m(4, 522, d) -# define BOOST_PP_REPEAT_3_524(m, d) BOOST_PP_REPEAT_3_523(m, d) m(4, 523, d) -# define BOOST_PP_REPEAT_3_525(m, d) BOOST_PP_REPEAT_3_524(m, d) m(4, 524, d) -# define BOOST_PP_REPEAT_3_526(m, d) BOOST_PP_REPEAT_3_525(m, d) m(4, 525, d) -# define BOOST_PP_REPEAT_3_527(m, d) BOOST_PP_REPEAT_3_526(m, d) m(4, 526, d) -# define BOOST_PP_REPEAT_3_528(m, d) BOOST_PP_REPEAT_3_527(m, d) m(4, 527, d) -# define BOOST_PP_REPEAT_3_529(m, d) BOOST_PP_REPEAT_3_528(m, d) m(4, 528, d) -# define BOOST_PP_REPEAT_3_530(m, d) BOOST_PP_REPEAT_3_529(m, d) m(4, 529, d) -# define BOOST_PP_REPEAT_3_531(m, d) BOOST_PP_REPEAT_3_530(m, d) m(4, 530, d) -# define BOOST_PP_REPEAT_3_532(m, d) BOOST_PP_REPEAT_3_531(m, d) m(4, 531, d) -# define BOOST_PP_REPEAT_3_533(m, d) BOOST_PP_REPEAT_3_532(m, d) m(4, 532, d) -# define BOOST_PP_REPEAT_3_534(m, d) BOOST_PP_REPEAT_3_533(m, d) m(4, 533, d) -# define BOOST_PP_REPEAT_3_535(m, d) BOOST_PP_REPEAT_3_534(m, d) m(4, 534, d) -# define BOOST_PP_REPEAT_3_536(m, d) BOOST_PP_REPEAT_3_535(m, d) m(4, 535, d) -# define BOOST_PP_REPEAT_3_537(m, d) BOOST_PP_REPEAT_3_536(m, d) m(4, 536, d) -# define BOOST_PP_REPEAT_3_538(m, d) BOOST_PP_REPEAT_3_537(m, d) m(4, 537, d) -# define BOOST_PP_REPEAT_3_539(m, d) BOOST_PP_REPEAT_3_538(m, d) m(4, 538, d) -# define BOOST_PP_REPEAT_3_540(m, d) BOOST_PP_REPEAT_3_539(m, d) m(4, 539, d) -# define BOOST_PP_REPEAT_3_541(m, d) BOOST_PP_REPEAT_3_540(m, d) m(4, 540, d) -# define BOOST_PP_REPEAT_3_542(m, d) BOOST_PP_REPEAT_3_541(m, d) m(4, 541, d) -# define BOOST_PP_REPEAT_3_543(m, d) BOOST_PP_REPEAT_3_542(m, d) m(4, 542, d) -# define BOOST_PP_REPEAT_3_544(m, d) BOOST_PP_REPEAT_3_543(m, d) m(4, 543, d) -# define BOOST_PP_REPEAT_3_545(m, d) BOOST_PP_REPEAT_3_544(m, d) m(4, 544, d) -# define BOOST_PP_REPEAT_3_546(m, d) BOOST_PP_REPEAT_3_545(m, d) m(4, 545, d) -# define BOOST_PP_REPEAT_3_547(m, d) BOOST_PP_REPEAT_3_546(m, d) m(4, 546, d) -# define BOOST_PP_REPEAT_3_548(m, d) BOOST_PP_REPEAT_3_547(m, d) m(4, 547, d) -# define BOOST_PP_REPEAT_3_549(m, d) BOOST_PP_REPEAT_3_548(m, d) m(4, 548, d) -# define BOOST_PP_REPEAT_3_550(m, d) BOOST_PP_REPEAT_3_549(m, d) m(4, 549, d) -# define BOOST_PP_REPEAT_3_551(m, d) BOOST_PP_REPEAT_3_550(m, d) m(4, 550, d) -# define BOOST_PP_REPEAT_3_552(m, d) BOOST_PP_REPEAT_3_551(m, d) m(4, 551, d) -# define BOOST_PP_REPEAT_3_553(m, d) BOOST_PP_REPEAT_3_552(m, d) m(4, 552, d) -# define BOOST_PP_REPEAT_3_554(m, d) BOOST_PP_REPEAT_3_553(m, d) m(4, 553, d) -# define BOOST_PP_REPEAT_3_555(m, d) BOOST_PP_REPEAT_3_554(m, d) m(4, 554, d) -# define BOOST_PP_REPEAT_3_556(m, d) BOOST_PP_REPEAT_3_555(m, d) m(4, 555, d) -# define BOOST_PP_REPEAT_3_557(m, d) BOOST_PP_REPEAT_3_556(m, d) m(4, 556, d) -# define BOOST_PP_REPEAT_3_558(m, d) BOOST_PP_REPEAT_3_557(m, d) m(4, 557, d) -# define BOOST_PP_REPEAT_3_559(m, d) BOOST_PP_REPEAT_3_558(m, d) m(4, 558, d) -# define BOOST_PP_REPEAT_3_560(m, d) BOOST_PP_REPEAT_3_559(m, d) m(4, 559, d) -# define BOOST_PP_REPEAT_3_561(m, d) BOOST_PP_REPEAT_3_560(m, d) m(4, 560, d) -# define BOOST_PP_REPEAT_3_562(m, d) BOOST_PP_REPEAT_3_561(m, d) m(4, 561, d) -# define BOOST_PP_REPEAT_3_563(m, d) BOOST_PP_REPEAT_3_562(m, d) m(4, 562, d) -# define BOOST_PP_REPEAT_3_564(m, d) BOOST_PP_REPEAT_3_563(m, d) m(4, 563, d) -# define BOOST_PP_REPEAT_3_565(m, d) BOOST_PP_REPEAT_3_564(m, d) m(4, 564, d) -# define BOOST_PP_REPEAT_3_566(m, d) BOOST_PP_REPEAT_3_565(m, d) m(4, 565, d) -# define BOOST_PP_REPEAT_3_567(m, d) BOOST_PP_REPEAT_3_566(m, d) m(4, 566, d) -# define BOOST_PP_REPEAT_3_568(m, d) BOOST_PP_REPEAT_3_567(m, d) m(4, 567, d) -# define BOOST_PP_REPEAT_3_569(m, d) BOOST_PP_REPEAT_3_568(m, d) m(4, 568, d) -# define BOOST_PP_REPEAT_3_570(m, d) BOOST_PP_REPEAT_3_569(m, d) m(4, 569, d) -# define BOOST_PP_REPEAT_3_571(m, d) BOOST_PP_REPEAT_3_570(m, d) m(4, 570, d) -# define BOOST_PP_REPEAT_3_572(m, d) BOOST_PP_REPEAT_3_571(m, d) m(4, 571, d) -# define BOOST_PP_REPEAT_3_573(m, d) BOOST_PP_REPEAT_3_572(m, d) m(4, 572, d) -# define BOOST_PP_REPEAT_3_574(m, d) BOOST_PP_REPEAT_3_573(m, d) m(4, 573, d) -# define BOOST_PP_REPEAT_3_575(m, d) BOOST_PP_REPEAT_3_574(m, d) m(4, 574, d) -# define BOOST_PP_REPEAT_3_576(m, d) BOOST_PP_REPEAT_3_575(m, d) m(4, 575, d) -# define BOOST_PP_REPEAT_3_577(m, d) BOOST_PP_REPEAT_3_576(m, d) m(4, 576, d) -# define BOOST_PP_REPEAT_3_578(m, d) BOOST_PP_REPEAT_3_577(m, d) m(4, 577, d) -# define BOOST_PP_REPEAT_3_579(m, d) BOOST_PP_REPEAT_3_578(m, d) m(4, 578, d) -# define BOOST_PP_REPEAT_3_580(m, d) BOOST_PP_REPEAT_3_579(m, d) m(4, 579, d) -# define BOOST_PP_REPEAT_3_581(m, d) BOOST_PP_REPEAT_3_580(m, d) m(4, 580, d) -# define BOOST_PP_REPEAT_3_582(m, d) BOOST_PP_REPEAT_3_581(m, d) m(4, 581, d) -# define BOOST_PP_REPEAT_3_583(m, d) BOOST_PP_REPEAT_3_582(m, d) m(4, 582, d) -# define BOOST_PP_REPEAT_3_584(m, d) BOOST_PP_REPEAT_3_583(m, d) m(4, 583, d) -# define BOOST_PP_REPEAT_3_585(m, d) BOOST_PP_REPEAT_3_584(m, d) m(4, 584, d) -# define BOOST_PP_REPEAT_3_586(m, d) BOOST_PP_REPEAT_3_585(m, d) m(4, 585, d) -# define BOOST_PP_REPEAT_3_587(m, d) BOOST_PP_REPEAT_3_586(m, d) m(4, 586, d) -# define BOOST_PP_REPEAT_3_588(m, d) BOOST_PP_REPEAT_3_587(m, d) m(4, 587, d) -# define BOOST_PP_REPEAT_3_589(m, d) BOOST_PP_REPEAT_3_588(m, d) m(4, 588, d) -# define BOOST_PP_REPEAT_3_590(m, d) BOOST_PP_REPEAT_3_589(m, d) m(4, 589, d) -# define BOOST_PP_REPEAT_3_591(m, d) BOOST_PP_REPEAT_3_590(m, d) m(4, 590, d) -# define BOOST_PP_REPEAT_3_592(m, d) BOOST_PP_REPEAT_3_591(m, d) m(4, 591, d) -# define BOOST_PP_REPEAT_3_593(m, d) BOOST_PP_REPEAT_3_592(m, d) m(4, 592, d) -# define BOOST_PP_REPEAT_3_594(m, d) BOOST_PP_REPEAT_3_593(m, d) m(4, 593, d) -# define BOOST_PP_REPEAT_3_595(m, d) BOOST_PP_REPEAT_3_594(m, d) m(4, 594, d) -# define BOOST_PP_REPEAT_3_596(m, d) BOOST_PP_REPEAT_3_595(m, d) m(4, 595, d) -# define BOOST_PP_REPEAT_3_597(m, d) BOOST_PP_REPEAT_3_596(m, d) m(4, 596, d) -# define BOOST_PP_REPEAT_3_598(m, d) BOOST_PP_REPEAT_3_597(m, d) m(4, 597, d) -# define BOOST_PP_REPEAT_3_599(m, d) BOOST_PP_REPEAT_3_598(m, d) m(4, 598, d) -# define BOOST_PP_REPEAT_3_600(m, d) BOOST_PP_REPEAT_3_599(m, d) m(4, 599, d) -# define BOOST_PP_REPEAT_3_601(m, d) BOOST_PP_REPEAT_3_600(m, d) m(4, 600, d) -# define BOOST_PP_REPEAT_3_602(m, d) BOOST_PP_REPEAT_3_601(m, d) m(4, 601, d) -# define BOOST_PP_REPEAT_3_603(m, d) BOOST_PP_REPEAT_3_602(m, d) m(4, 602, d) -# define BOOST_PP_REPEAT_3_604(m, d) BOOST_PP_REPEAT_3_603(m, d) m(4, 603, d) -# define BOOST_PP_REPEAT_3_605(m, d) BOOST_PP_REPEAT_3_604(m, d) m(4, 604, d) -# define BOOST_PP_REPEAT_3_606(m, d) BOOST_PP_REPEAT_3_605(m, d) m(4, 605, d) -# define BOOST_PP_REPEAT_3_607(m, d) BOOST_PP_REPEAT_3_606(m, d) m(4, 606, d) -# define BOOST_PP_REPEAT_3_608(m, d) BOOST_PP_REPEAT_3_607(m, d) m(4, 607, d) -# define BOOST_PP_REPEAT_3_609(m, d) BOOST_PP_REPEAT_3_608(m, d) m(4, 608, d) -# define BOOST_PP_REPEAT_3_610(m, d) BOOST_PP_REPEAT_3_609(m, d) m(4, 609, d) -# define BOOST_PP_REPEAT_3_611(m, d) BOOST_PP_REPEAT_3_610(m, d) m(4, 610, d) -# define BOOST_PP_REPEAT_3_612(m, d) BOOST_PP_REPEAT_3_611(m, d) m(4, 611, d) -# define BOOST_PP_REPEAT_3_613(m, d) BOOST_PP_REPEAT_3_612(m, d) m(4, 612, d) -# define BOOST_PP_REPEAT_3_614(m, d) BOOST_PP_REPEAT_3_613(m, d) m(4, 613, d) -# define BOOST_PP_REPEAT_3_615(m, d) BOOST_PP_REPEAT_3_614(m, d) m(4, 614, d) -# define BOOST_PP_REPEAT_3_616(m, d) BOOST_PP_REPEAT_3_615(m, d) m(4, 615, d) -# define BOOST_PP_REPEAT_3_617(m, d) BOOST_PP_REPEAT_3_616(m, d) m(4, 616, d) -# define BOOST_PP_REPEAT_3_618(m, d) BOOST_PP_REPEAT_3_617(m, d) m(4, 617, d) -# define BOOST_PP_REPEAT_3_619(m, d) BOOST_PP_REPEAT_3_618(m, d) m(4, 618, d) -# define BOOST_PP_REPEAT_3_620(m, d) BOOST_PP_REPEAT_3_619(m, d) m(4, 619, d) -# define BOOST_PP_REPEAT_3_621(m, d) BOOST_PP_REPEAT_3_620(m, d) m(4, 620, d) -# define BOOST_PP_REPEAT_3_622(m, d) BOOST_PP_REPEAT_3_621(m, d) m(4, 621, d) -# define BOOST_PP_REPEAT_3_623(m, d) BOOST_PP_REPEAT_3_622(m, d) m(4, 622, d) -# define BOOST_PP_REPEAT_3_624(m, d) BOOST_PP_REPEAT_3_623(m, d) m(4, 623, d) -# define BOOST_PP_REPEAT_3_625(m, d) BOOST_PP_REPEAT_3_624(m, d) m(4, 624, d) -# define BOOST_PP_REPEAT_3_626(m, d) BOOST_PP_REPEAT_3_625(m, d) m(4, 625, d) -# define BOOST_PP_REPEAT_3_627(m, d) BOOST_PP_REPEAT_3_626(m, d) m(4, 626, d) -# define BOOST_PP_REPEAT_3_628(m, d) BOOST_PP_REPEAT_3_627(m, d) m(4, 627, d) -# define BOOST_PP_REPEAT_3_629(m, d) BOOST_PP_REPEAT_3_628(m, d) m(4, 628, d) -# define BOOST_PP_REPEAT_3_630(m, d) BOOST_PP_REPEAT_3_629(m, d) m(4, 629, d) -# define BOOST_PP_REPEAT_3_631(m, d) BOOST_PP_REPEAT_3_630(m, d) m(4, 630, d) -# define BOOST_PP_REPEAT_3_632(m, d) BOOST_PP_REPEAT_3_631(m, d) m(4, 631, d) -# define BOOST_PP_REPEAT_3_633(m, d) BOOST_PP_REPEAT_3_632(m, d) m(4, 632, d) -# define BOOST_PP_REPEAT_3_634(m, d) BOOST_PP_REPEAT_3_633(m, d) m(4, 633, d) -# define BOOST_PP_REPEAT_3_635(m, d) BOOST_PP_REPEAT_3_634(m, d) m(4, 634, d) -# define BOOST_PP_REPEAT_3_636(m, d) BOOST_PP_REPEAT_3_635(m, d) m(4, 635, d) -# define BOOST_PP_REPEAT_3_637(m, d) BOOST_PP_REPEAT_3_636(m, d) m(4, 636, d) -# define BOOST_PP_REPEAT_3_638(m, d) BOOST_PP_REPEAT_3_637(m, d) m(4, 637, d) -# define BOOST_PP_REPEAT_3_639(m, d) BOOST_PP_REPEAT_3_638(m, d) m(4, 638, d) -# define BOOST_PP_REPEAT_3_640(m, d) BOOST_PP_REPEAT_3_639(m, d) m(4, 639, d) -# define BOOST_PP_REPEAT_3_641(m, d) BOOST_PP_REPEAT_3_640(m, d) m(4, 640, d) -# define BOOST_PP_REPEAT_3_642(m, d) BOOST_PP_REPEAT_3_641(m, d) m(4, 641, d) -# define BOOST_PP_REPEAT_3_643(m, d) BOOST_PP_REPEAT_3_642(m, d) m(4, 642, d) -# define BOOST_PP_REPEAT_3_644(m, d) BOOST_PP_REPEAT_3_643(m, d) m(4, 643, d) -# define BOOST_PP_REPEAT_3_645(m, d) BOOST_PP_REPEAT_3_644(m, d) m(4, 644, d) -# define BOOST_PP_REPEAT_3_646(m, d) BOOST_PP_REPEAT_3_645(m, d) m(4, 645, d) -# define BOOST_PP_REPEAT_3_647(m, d) BOOST_PP_REPEAT_3_646(m, d) m(4, 646, d) -# define BOOST_PP_REPEAT_3_648(m, d) BOOST_PP_REPEAT_3_647(m, d) m(4, 647, d) -# define BOOST_PP_REPEAT_3_649(m, d) BOOST_PP_REPEAT_3_648(m, d) m(4, 648, d) -# define BOOST_PP_REPEAT_3_650(m, d) BOOST_PP_REPEAT_3_649(m, d) m(4, 649, d) -# define BOOST_PP_REPEAT_3_651(m, d) BOOST_PP_REPEAT_3_650(m, d) m(4, 650, d) -# define BOOST_PP_REPEAT_3_652(m, d) BOOST_PP_REPEAT_3_651(m, d) m(4, 651, d) -# define BOOST_PP_REPEAT_3_653(m, d) BOOST_PP_REPEAT_3_652(m, d) m(4, 652, d) -# define BOOST_PP_REPEAT_3_654(m, d) BOOST_PP_REPEAT_3_653(m, d) m(4, 653, d) -# define BOOST_PP_REPEAT_3_655(m, d) BOOST_PP_REPEAT_3_654(m, d) m(4, 654, d) -# define BOOST_PP_REPEAT_3_656(m, d) BOOST_PP_REPEAT_3_655(m, d) m(4, 655, d) -# define BOOST_PP_REPEAT_3_657(m, d) BOOST_PP_REPEAT_3_656(m, d) m(4, 656, d) -# define BOOST_PP_REPEAT_3_658(m, d) BOOST_PP_REPEAT_3_657(m, d) m(4, 657, d) -# define BOOST_PP_REPEAT_3_659(m, d) BOOST_PP_REPEAT_3_658(m, d) m(4, 658, d) -# define BOOST_PP_REPEAT_3_660(m, d) BOOST_PP_REPEAT_3_659(m, d) m(4, 659, d) -# define BOOST_PP_REPEAT_3_661(m, d) BOOST_PP_REPEAT_3_660(m, d) m(4, 660, d) -# define BOOST_PP_REPEAT_3_662(m, d) BOOST_PP_REPEAT_3_661(m, d) m(4, 661, d) -# define BOOST_PP_REPEAT_3_663(m, d) BOOST_PP_REPEAT_3_662(m, d) m(4, 662, d) -# define BOOST_PP_REPEAT_3_664(m, d) BOOST_PP_REPEAT_3_663(m, d) m(4, 663, d) -# define BOOST_PP_REPEAT_3_665(m, d) BOOST_PP_REPEAT_3_664(m, d) m(4, 664, d) -# define BOOST_PP_REPEAT_3_666(m, d) BOOST_PP_REPEAT_3_665(m, d) m(4, 665, d) -# define BOOST_PP_REPEAT_3_667(m, d) BOOST_PP_REPEAT_3_666(m, d) m(4, 666, d) -# define BOOST_PP_REPEAT_3_668(m, d) BOOST_PP_REPEAT_3_667(m, d) m(4, 667, d) -# define BOOST_PP_REPEAT_3_669(m, d) BOOST_PP_REPEAT_3_668(m, d) m(4, 668, d) -# define BOOST_PP_REPEAT_3_670(m, d) BOOST_PP_REPEAT_3_669(m, d) m(4, 669, d) -# define BOOST_PP_REPEAT_3_671(m, d) BOOST_PP_REPEAT_3_670(m, d) m(4, 670, d) -# define BOOST_PP_REPEAT_3_672(m, d) BOOST_PP_REPEAT_3_671(m, d) m(4, 671, d) -# define BOOST_PP_REPEAT_3_673(m, d) BOOST_PP_REPEAT_3_672(m, d) m(4, 672, d) -# define BOOST_PP_REPEAT_3_674(m, d) BOOST_PP_REPEAT_3_673(m, d) m(4, 673, d) -# define BOOST_PP_REPEAT_3_675(m, d) BOOST_PP_REPEAT_3_674(m, d) m(4, 674, d) -# define BOOST_PP_REPEAT_3_676(m, d) BOOST_PP_REPEAT_3_675(m, d) m(4, 675, d) -# define BOOST_PP_REPEAT_3_677(m, d) BOOST_PP_REPEAT_3_676(m, d) m(4, 676, d) -# define BOOST_PP_REPEAT_3_678(m, d) BOOST_PP_REPEAT_3_677(m, d) m(4, 677, d) -# define BOOST_PP_REPEAT_3_679(m, d) BOOST_PP_REPEAT_3_678(m, d) m(4, 678, d) -# define BOOST_PP_REPEAT_3_680(m, d) BOOST_PP_REPEAT_3_679(m, d) m(4, 679, d) -# define BOOST_PP_REPEAT_3_681(m, d) BOOST_PP_REPEAT_3_680(m, d) m(4, 680, d) -# define BOOST_PP_REPEAT_3_682(m, d) BOOST_PP_REPEAT_3_681(m, d) m(4, 681, d) -# define BOOST_PP_REPEAT_3_683(m, d) BOOST_PP_REPEAT_3_682(m, d) m(4, 682, d) -# define BOOST_PP_REPEAT_3_684(m, d) BOOST_PP_REPEAT_3_683(m, d) m(4, 683, d) -# define BOOST_PP_REPEAT_3_685(m, d) BOOST_PP_REPEAT_3_684(m, d) m(4, 684, d) -# define BOOST_PP_REPEAT_3_686(m, d) BOOST_PP_REPEAT_3_685(m, d) m(4, 685, d) -# define BOOST_PP_REPEAT_3_687(m, d) BOOST_PP_REPEAT_3_686(m, d) m(4, 686, d) -# define BOOST_PP_REPEAT_3_688(m, d) BOOST_PP_REPEAT_3_687(m, d) m(4, 687, d) -# define BOOST_PP_REPEAT_3_689(m, d) BOOST_PP_REPEAT_3_688(m, d) m(4, 688, d) -# define BOOST_PP_REPEAT_3_690(m, d) BOOST_PP_REPEAT_3_689(m, d) m(4, 689, d) -# define BOOST_PP_REPEAT_3_691(m, d) BOOST_PP_REPEAT_3_690(m, d) m(4, 690, d) -# define BOOST_PP_REPEAT_3_692(m, d) BOOST_PP_REPEAT_3_691(m, d) m(4, 691, d) -# define BOOST_PP_REPEAT_3_693(m, d) BOOST_PP_REPEAT_3_692(m, d) m(4, 692, d) -# define BOOST_PP_REPEAT_3_694(m, d) BOOST_PP_REPEAT_3_693(m, d) m(4, 693, d) -# define BOOST_PP_REPEAT_3_695(m, d) BOOST_PP_REPEAT_3_694(m, d) m(4, 694, d) -# define BOOST_PP_REPEAT_3_696(m, d) BOOST_PP_REPEAT_3_695(m, d) m(4, 695, d) -# define BOOST_PP_REPEAT_3_697(m, d) BOOST_PP_REPEAT_3_696(m, d) m(4, 696, d) -# define BOOST_PP_REPEAT_3_698(m, d) BOOST_PP_REPEAT_3_697(m, d) m(4, 697, d) -# define BOOST_PP_REPEAT_3_699(m, d) BOOST_PP_REPEAT_3_698(m, d) m(4, 698, d) -# define BOOST_PP_REPEAT_3_700(m, d) BOOST_PP_REPEAT_3_699(m, d) m(4, 699, d) -# define BOOST_PP_REPEAT_3_701(m, d) BOOST_PP_REPEAT_3_700(m, d) m(4, 700, d) -# define BOOST_PP_REPEAT_3_702(m, d) BOOST_PP_REPEAT_3_701(m, d) m(4, 701, d) -# define BOOST_PP_REPEAT_3_703(m, d) BOOST_PP_REPEAT_3_702(m, d) m(4, 702, d) -# define BOOST_PP_REPEAT_3_704(m, d) BOOST_PP_REPEAT_3_703(m, d) m(4, 703, d) -# define BOOST_PP_REPEAT_3_705(m, d) BOOST_PP_REPEAT_3_704(m, d) m(4, 704, d) -# define BOOST_PP_REPEAT_3_706(m, d) BOOST_PP_REPEAT_3_705(m, d) m(4, 705, d) -# define BOOST_PP_REPEAT_3_707(m, d) BOOST_PP_REPEAT_3_706(m, d) m(4, 706, d) -# define BOOST_PP_REPEAT_3_708(m, d) BOOST_PP_REPEAT_3_707(m, d) m(4, 707, d) -# define BOOST_PP_REPEAT_3_709(m, d) BOOST_PP_REPEAT_3_708(m, d) m(4, 708, d) -# define BOOST_PP_REPEAT_3_710(m, d) BOOST_PP_REPEAT_3_709(m, d) m(4, 709, d) -# define BOOST_PP_REPEAT_3_711(m, d) BOOST_PP_REPEAT_3_710(m, d) m(4, 710, d) -# define BOOST_PP_REPEAT_3_712(m, d) BOOST_PP_REPEAT_3_711(m, d) m(4, 711, d) -# define BOOST_PP_REPEAT_3_713(m, d) BOOST_PP_REPEAT_3_712(m, d) m(4, 712, d) -# define BOOST_PP_REPEAT_3_714(m, d) BOOST_PP_REPEAT_3_713(m, d) m(4, 713, d) -# define BOOST_PP_REPEAT_3_715(m, d) BOOST_PP_REPEAT_3_714(m, d) m(4, 714, d) -# define BOOST_PP_REPEAT_3_716(m, d) BOOST_PP_REPEAT_3_715(m, d) m(4, 715, d) -# define BOOST_PP_REPEAT_3_717(m, d) BOOST_PP_REPEAT_3_716(m, d) m(4, 716, d) -# define BOOST_PP_REPEAT_3_718(m, d) BOOST_PP_REPEAT_3_717(m, d) m(4, 717, d) -# define BOOST_PP_REPEAT_3_719(m, d) BOOST_PP_REPEAT_3_718(m, d) m(4, 718, d) -# define BOOST_PP_REPEAT_3_720(m, d) BOOST_PP_REPEAT_3_719(m, d) m(4, 719, d) -# define BOOST_PP_REPEAT_3_721(m, d) BOOST_PP_REPEAT_3_720(m, d) m(4, 720, d) -# define BOOST_PP_REPEAT_3_722(m, d) BOOST_PP_REPEAT_3_721(m, d) m(4, 721, d) -# define BOOST_PP_REPEAT_3_723(m, d) BOOST_PP_REPEAT_3_722(m, d) m(4, 722, d) -# define BOOST_PP_REPEAT_3_724(m, d) BOOST_PP_REPEAT_3_723(m, d) m(4, 723, d) -# define BOOST_PP_REPEAT_3_725(m, d) BOOST_PP_REPEAT_3_724(m, d) m(4, 724, d) -# define BOOST_PP_REPEAT_3_726(m, d) BOOST_PP_REPEAT_3_725(m, d) m(4, 725, d) -# define BOOST_PP_REPEAT_3_727(m, d) BOOST_PP_REPEAT_3_726(m, d) m(4, 726, d) -# define BOOST_PP_REPEAT_3_728(m, d) BOOST_PP_REPEAT_3_727(m, d) m(4, 727, d) -# define BOOST_PP_REPEAT_3_729(m, d) BOOST_PP_REPEAT_3_728(m, d) m(4, 728, d) -# define BOOST_PP_REPEAT_3_730(m, d) BOOST_PP_REPEAT_3_729(m, d) m(4, 729, d) -# define BOOST_PP_REPEAT_3_731(m, d) BOOST_PP_REPEAT_3_730(m, d) m(4, 730, d) -# define BOOST_PP_REPEAT_3_732(m, d) BOOST_PP_REPEAT_3_731(m, d) m(4, 731, d) -# define BOOST_PP_REPEAT_3_733(m, d) BOOST_PP_REPEAT_3_732(m, d) m(4, 732, d) -# define BOOST_PP_REPEAT_3_734(m, d) BOOST_PP_REPEAT_3_733(m, d) m(4, 733, d) -# define BOOST_PP_REPEAT_3_735(m, d) BOOST_PP_REPEAT_3_734(m, d) m(4, 734, d) -# define BOOST_PP_REPEAT_3_736(m, d) BOOST_PP_REPEAT_3_735(m, d) m(4, 735, d) -# define BOOST_PP_REPEAT_3_737(m, d) BOOST_PP_REPEAT_3_736(m, d) m(4, 736, d) -# define BOOST_PP_REPEAT_3_738(m, d) BOOST_PP_REPEAT_3_737(m, d) m(4, 737, d) -# define BOOST_PP_REPEAT_3_739(m, d) BOOST_PP_REPEAT_3_738(m, d) m(4, 738, d) -# define BOOST_PP_REPEAT_3_740(m, d) BOOST_PP_REPEAT_3_739(m, d) m(4, 739, d) -# define BOOST_PP_REPEAT_3_741(m, d) BOOST_PP_REPEAT_3_740(m, d) m(4, 740, d) -# define BOOST_PP_REPEAT_3_742(m, d) BOOST_PP_REPEAT_3_741(m, d) m(4, 741, d) -# define BOOST_PP_REPEAT_3_743(m, d) BOOST_PP_REPEAT_3_742(m, d) m(4, 742, d) -# define BOOST_PP_REPEAT_3_744(m, d) BOOST_PP_REPEAT_3_743(m, d) m(4, 743, d) -# define BOOST_PP_REPEAT_3_745(m, d) BOOST_PP_REPEAT_3_744(m, d) m(4, 744, d) -# define BOOST_PP_REPEAT_3_746(m, d) BOOST_PP_REPEAT_3_745(m, d) m(4, 745, d) -# define BOOST_PP_REPEAT_3_747(m, d) BOOST_PP_REPEAT_3_746(m, d) m(4, 746, d) -# define BOOST_PP_REPEAT_3_748(m, d) BOOST_PP_REPEAT_3_747(m, d) m(4, 747, d) -# define BOOST_PP_REPEAT_3_749(m, d) BOOST_PP_REPEAT_3_748(m, d) m(4, 748, d) -# define BOOST_PP_REPEAT_3_750(m, d) BOOST_PP_REPEAT_3_749(m, d) m(4, 749, d) -# define BOOST_PP_REPEAT_3_751(m, d) BOOST_PP_REPEAT_3_750(m, d) m(4, 750, d) -# define BOOST_PP_REPEAT_3_752(m, d) BOOST_PP_REPEAT_3_751(m, d) m(4, 751, d) -# define BOOST_PP_REPEAT_3_753(m, d) BOOST_PP_REPEAT_3_752(m, d) m(4, 752, d) -# define BOOST_PP_REPEAT_3_754(m, d) BOOST_PP_REPEAT_3_753(m, d) m(4, 753, d) -# define BOOST_PP_REPEAT_3_755(m, d) BOOST_PP_REPEAT_3_754(m, d) m(4, 754, d) -# define BOOST_PP_REPEAT_3_756(m, d) BOOST_PP_REPEAT_3_755(m, d) m(4, 755, d) -# define BOOST_PP_REPEAT_3_757(m, d) BOOST_PP_REPEAT_3_756(m, d) m(4, 756, d) -# define BOOST_PP_REPEAT_3_758(m, d) BOOST_PP_REPEAT_3_757(m, d) m(4, 757, d) -# define BOOST_PP_REPEAT_3_759(m, d) BOOST_PP_REPEAT_3_758(m, d) m(4, 758, d) -# define BOOST_PP_REPEAT_3_760(m, d) BOOST_PP_REPEAT_3_759(m, d) m(4, 759, d) -# define BOOST_PP_REPEAT_3_761(m, d) BOOST_PP_REPEAT_3_760(m, d) m(4, 760, d) -# define BOOST_PP_REPEAT_3_762(m, d) BOOST_PP_REPEAT_3_761(m, d) m(4, 761, d) -# define BOOST_PP_REPEAT_3_763(m, d) BOOST_PP_REPEAT_3_762(m, d) m(4, 762, d) -# define BOOST_PP_REPEAT_3_764(m, d) BOOST_PP_REPEAT_3_763(m, d) m(4, 763, d) -# define BOOST_PP_REPEAT_3_765(m, d) BOOST_PP_REPEAT_3_764(m, d) m(4, 764, d) -# define BOOST_PP_REPEAT_3_766(m, d) BOOST_PP_REPEAT_3_765(m, d) m(4, 765, d) -# define BOOST_PP_REPEAT_3_767(m, d) BOOST_PP_REPEAT_3_766(m, d) m(4, 766, d) -# define BOOST_PP_REPEAT_3_768(m, d) BOOST_PP_REPEAT_3_767(m, d) m(4, 767, d) -# define BOOST_PP_REPEAT_3_769(m, d) BOOST_PP_REPEAT_3_768(m, d) m(4, 768, d) -# define BOOST_PP_REPEAT_3_770(m, d) BOOST_PP_REPEAT_3_769(m, d) m(4, 769, d) -# define BOOST_PP_REPEAT_3_771(m, d) BOOST_PP_REPEAT_3_770(m, d) m(4, 770, d) -# define BOOST_PP_REPEAT_3_772(m, d) BOOST_PP_REPEAT_3_771(m, d) m(4, 771, d) -# define BOOST_PP_REPEAT_3_773(m, d) BOOST_PP_REPEAT_3_772(m, d) m(4, 772, d) -# define BOOST_PP_REPEAT_3_774(m, d) BOOST_PP_REPEAT_3_773(m, d) m(4, 773, d) -# define BOOST_PP_REPEAT_3_775(m, d) BOOST_PP_REPEAT_3_774(m, d) m(4, 774, d) -# define BOOST_PP_REPEAT_3_776(m, d) BOOST_PP_REPEAT_3_775(m, d) m(4, 775, d) -# define BOOST_PP_REPEAT_3_777(m, d) BOOST_PP_REPEAT_3_776(m, d) m(4, 776, d) -# define BOOST_PP_REPEAT_3_778(m, d) BOOST_PP_REPEAT_3_777(m, d) m(4, 777, d) -# define BOOST_PP_REPEAT_3_779(m, d) BOOST_PP_REPEAT_3_778(m, d) m(4, 778, d) -# define BOOST_PP_REPEAT_3_780(m, d) BOOST_PP_REPEAT_3_779(m, d) m(4, 779, d) -# define BOOST_PP_REPEAT_3_781(m, d) BOOST_PP_REPEAT_3_780(m, d) m(4, 780, d) -# define BOOST_PP_REPEAT_3_782(m, d) BOOST_PP_REPEAT_3_781(m, d) m(4, 781, d) -# define BOOST_PP_REPEAT_3_783(m, d) BOOST_PP_REPEAT_3_782(m, d) m(4, 782, d) -# define BOOST_PP_REPEAT_3_784(m, d) BOOST_PP_REPEAT_3_783(m, d) m(4, 783, d) -# define BOOST_PP_REPEAT_3_785(m, d) BOOST_PP_REPEAT_3_784(m, d) m(4, 784, d) -# define BOOST_PP_REPEAT_3_786(m, d) BOOST_PP_REPEAT_3_785(m, d) m(4, 785, d) -# define BOOST_PP_REPEAT_3_787(m, d) BOOST_PP_REPEAT_3_786(m, d) m(4, 786, d) -# define BOOST_PP_REPEAT_3_788(m, d) BOOST_PP_REPEAT_3_787(m, d) m(4, 787, d) -# define BOOST_PP_REPEAT_3_789(m, d) BOOST_PP_REPEAT_3_788(m, d) m(4, 788, d) -# define BOOST_PP_REPEAT_3_790(m, d) BOOST_PP_REPEAT_3_789(m, d) m(4, 789, d) -# define BOOST_PP_REPEAT_3_791(m, d) BOOST_PP_REPEAT_3_790(m, d) m(4, 790, d) -# define BOOST_PP_REPEAT_3_792(m, d) BOOST_PP_REPEAT_3_791(m, d) m(4, 791, d) -# define BOOST_PP_REPEAT_3_793(m, d) BOOST_PP_REPEAT_3_792(m, d) m(4, 792, d) -# define BOOST_PP_REPEAT_3_794(m, d) BOOST_PP_REPEAT_3_793(m, d) m(4, 793, d) -# define BOOST_PP_REPEAT_3_795(m, d) BOOST_PP_REPEAT_3_794(m, d) m(4, 794, d) -# define BOOST_PP_REPEAT_3_796(m, d) BOOST_PP_REPEAT_3_795(m, d) m(4, 795, d) -# define BOOST_PP_REPEAT_3_797(m, d) BOOST_PP_REPEAT_3_796(m, d) m(4, 796, d) -# define BOOST_PP_REPEAT_3_798(m, d) BOOST_PP_REPEAT_3_797(m, d) m(4, 797, d) -# define BOOST_PP_REPEAT_3_799(m, d) BOOST_PP_REPEAT_3_798(m, d) m(4, 798, d) -# define BOOST_PP_REPEAT_3_800(m, d) BOOST_PP_REPEAT_3_799(m, d) m(4, 799, d) -# define BOOST_PP_REPEAT_3_801(m, d) BOOST_PP_REPEAT_3_800(m, d) m(4, 800, d) -# define BOOST_PP_REPEAT_3_802(m, d) BOOST_PP_REPEAT_3_801(m, d) m(4, 801, d) -# define BOOST_PP_REPEAT_3_803(m, d) BOOST_PP_REPEAT_3_802(m, d) m(4, 802, d) -# define BOOST_PP_REPEAT_3_804(m, d) BOOST_PP_REPEAT_3_803(m, d) m(4, 803, d) -# define BOOST_PP_REPEAT_3_805(m, d) BOOST_PP_REPEAT_3_804(m, d) m(4, 804, d) -# define BOOST_PP_REPEAT_3_806(m, d) BOOST_PP_REPEAT_3_805(m, d) m(4, 805, d) -# define BOOST_PP_REPEAT_3_807(m, d) BOOST_PP_REPEAT_3_806(m, d) m(4, 806, d) -# define BOOST_PP_REPEAT_3_808(m, d) BOOST_PP_REPEAT_3_807(m, d) m(4, 807, d) -# define BOOST_PP_REPEAT_3_809(m, d) BOOST_PP_REPEAT_3_808(m, d) m(4, 808, d) -# define BOOST_PP_REPEAT_3_810(m, d) BOOST_PP_REPEAT_3_809(m, d) m(4, 809, d) -# define BOOST_PP_REPEAT_3_811(m, d) BOOST_PP_REPEAT_3_810(m, d) m(4, 810, d) -# define BOOST_PP_REPEAT_3_812(m, d) BOOST_PP_REPEAT_3_811(m, d) m(4, 811, d) -# define BOOST_PP_REPEAT_3_813(m, d) BOOST_PP_REPEAT_3_812(m, d) m(4, 812, d) -# define BOOST_PP_REPEAT_3_814(m, d) BOOST_PP_REPEAT_3_813(m, d) m(4, 813, d) -# define BOOST_PP_REPEAT_3_815(m, d) BOOST_PP_REPEAT_3_814(m, d) m(4, 814, d) -# define BOOST_PP_REPEAT_3_816(m, d) BOOST_PP_REPEAT_3_815(m, d) m(4, 815, d) -# define BOOST_PP_REPEAT_3_817(m, d) BOOST_PP_REPEAT_3_816(m, d) m(4, 816, d) -# define BOOST_PP_REPEAT_3_818(m, d) BOOST_PP_REPEAT_3_817(m, d) m(4, 817, d) -# define BOOST_PP_REPEAT_3_819(m, d) BOOST_PP_REPEAT_3_818(m, d) m(4, 818, d) -# define BOOST_PP_REPEAT_3_820(m, d) BOOST_PP_REPEAT_3_819(m, d) m(4, 819, d) -# define BOOST_PP_REPEAT_3_821(m, d) BOOST_PP_REPEAT_3_820(m, d) m(4, 820, d) -# define BOOST_PP_REPEAT_3_822(m, d) BOOST_PP_REPEAT_3_821(m, d) m(4, 821, d) -# define BOOST_PP_REPEAT_3_823(m, d) BOOST_PP_REPEAT_3_822(m, d) m(4, 822, d) -# define BOOST_PP_REPEAT_3_824(m, d) BOOST_PP_REPEAT_3_823(m, d) m(4, 823, d) -# define BOOST_PP_REPEAT_3_825(m, d) BOOST_PP_REPEAT_3_824(m, d) m(4, 824, d) -# define BOOST_PP_REPEAT_3_826(m, d) BOOST_PP_REPEAT_3_825(m, d) m(4, 825, d) -# define BOOST_PP_REPEAT_3_827(m, d) BOOST_PP_REPEAT_3_826(m, d) m(4, 826, d) -# define BOOST_PP_REPEAT_3_828(m, d) BOOST_PP_REPEAT_3_827(m, d) m(4, 827, d) -# define BOOST_PP_REPEAT_3_829(m, d) BOOST_PP_REPEAT_3_828(m, d) m(4, 828, d) -# define BOOST_PP_REPEAT_3_830(m, d) BOOST_PP_REPEAT_3_829(m, d) m(4, 829, d) -# define BOOST_PP_REPEAT_3_831(m, d) BOOST_PP_REPEAT_3_830(m, d) m(4, 830, d) -# define BOOST_PP_REPEAT_3_832(m, d) BOOST_PP_REPEAT_3_831(m, d) m(4, 831, d) -# define BOOST_PP_REPEAT_3_833(m, d) BOOST_PP_REPEAT_3_832(m, d) m(4, 832, d) -# define BOOST_PP_REPEAT_3_834(m, d) BOOST_PP_REPEAT_3_833(m, d) m(4, 833, d) -# define BOOST_PP_REPEAT_3_835(m, d) BOOST_PP_REPEAT_3_834(m, d) m(4, 834, d) -# define BOOST_PP_REPEAT_3_836(m, d) BOOST_PP_REPEAT_3_835(m, d) m(4, 835, d) -# define BOOST_PP_REPEAT_3_837(m, d) BOOST_PP_REPEAT_3_836(m, d) m(4, 836, d) -# define BOOST_PP_REPEAT_3_838(m, d) BOOST_PP_REPEAT_3_837(m, d) m(4, 837, d) -# define BOOST_PP_REPEAT_3_839(m, d) BOOST_PP_REPEAT_3_838(m, d) m(4, 838, d) -# define BOOST_PP_REPEAT_3_840(m, d) BOOST_PP_REPEAT_3_839(m, d) m(4, 839, d) -# define BOOST_PP_REPEAT_3_841(m, d) BOOST_PP_REPEAT_3_840(m, d) m(4, 840, d) -# define BOOST_PP_REPEAT_3_842(m, d) BOOST_PP_REPEAT_3_841(m, d) m(4, 841, d) -# define BOOST_PP_REPEAT_3_843(m, d) BOOST_PP_REPEAT_3_842(m, d) m(4, 842, d) -# define BOOST_PP_REPEAT_3_844(m, d) BOOST_PP_REPEAT_3_843(m, d) m(4, 843, d) -# define BOOST_PP_REPEAT_3_845(m, d) BOOST_PP_REPEAT_3_844(m, d) m(4, 844, d) -# define BOOST_PP_REPEAT_3_846(m, d) BOOST_PP_REPEAT_3_845(m, d) m(4, 845, d) -# define BOOST_PP_REPEAT_3_847(m, d) BOOST_PP_REPEAT_3_846(m, d) m(4, 846, d) -# define BOOST_PP_REPEAT_3_848(m, d) BOOST_PP_REPEAT_3_847(m, d) m(4, 847, d) -# define BOOST_PP_REPEAT_3_849(m, d) BOOST_PP_REPEAT_3_848(m, d) m(4, 848, d) -# define BOOST_PP_REPEAT_3_850(m, d) BOOST_PP_REPEAT_3_849(m, d) m(4, 849, d) -# define BOOST_PP_REPEAT_3_851(m, d) BOOST_PP_REPEAT_3_850(m, d) m(4, 850, d) -# define BOOST_PP_REPEAT_3_852(m, d) BOOST_PP_REPEAT_3_851(m, d) m(4, 851, d) -# define BOOST_PP_REPEAT_3_853(m, d) BOOST_PP_REPEAT_3_852(m, d) m(4, 852, d) -# define BOOST_PP_REPEAT_3_854(m, d) BOOST_PP_REPEAT_3_853(m, d) m(4, 853, d) -# define BOOST_PP_REPEAT_3_855(m, d) BOOST_PP_REPEAT_3_854(m, d) m(4, 854, d) -# define BOOST_PP_REPEAT_3_856(m, d) BOOST_PP_REPEAT_3_855(m, d) m(4, 855, d) -# define BOOST_PP_REPEAT_3_857(m, d) BOOST_PP_REPEAT_3_856(m, d) m(4, 856, d) -# define BOOST_PP_REPEAT_3_858(m, d) BOOST_PP_REPEAT_3_857(m, d) m(4, 857, d) -# define BOOST_PP_REPEAT_3_859(m, d) BOOST_PP_REPEAT_3_858(m, d) m(4, 858, d) -# define BOOST_PP_REPEAT_3_860(m, d) BOOST_PP_REPEAT_3_859(m, d) m(4, 859, d) -# define BOOST_PP_REPEAT_3_861(m, d) BOOST_PP_REPEAT_3_860(m, d) m(4, 860, d) -# define BOOST_PP_REPEAT_3_862(m, d) BOOST_PP_REPEAT_3_861(m, d) m(4, 861, d) -# define BOOST_PP_REPEAT_3_863(m, d) BOOST_PP_REPEAT_3_862(m, d) m(4, 862, d) -# define BOOST_PP_REPEAT_3_864(m, d) BOOST_PP_REPEAT_3_863(m, d) m(4, 863, d) -# define BOOST_PP_REPEAT_3_865(m, d) BOOST_PP_REPEAT_3_864(m, d) m(4, 864, d) -# define BOOST_PP_REPEAT_3_866(m, d) BOOST_PP_REPEAT_3_865(m, d) m(4, 865, d) -# define BOOST_PP_REPEAT_3_867(m, d) BOOST_PP_REPEAT_3_866(m, d) m(4, 866, d) -# define BOOST_PP_REPEAT_3_868(m, d) BOOST_PP_REPEAT_3_867(m, d) m(4, 867, d) -# define BOOST_PP_REPEAT_3_869(m, d) BOOST_PP_REPEAT_3_868(m, d) m(4, 868, d) -# define BOOST_PP_REPEAT_3_870(m, d) BOOST_PP_REPEAT_3_869(m, d) m(4, 869, d) -# define BOOST_PP_REPEAT_3_871(m, d) BOOST_PP_REPEAT_3_870(m, d) m(4, 870, d) -# define BOOST_PP_REPEAT_3_872(m, d) BOOST_PP_REPEAT_3_871(m, d) m(4, 871, d) -# define BOOST_PP_REPEAT_3_873(m, d) BOOST_PP_REPEAT_3_872(m, d) m(4, 872, d) -# define BOOST_PP_REPEAT_3_874(m, d) BOOST_PP_REPEAT_3_873(m, d) m(4, 873, d) -# define BOOST_PP_REPEAT_3_875(m, d) BOOST_PP_REPEAT_3_874(m, d) m(4, 874, d) -# define BOOST_PP_REPEAT_3_876(m, d) BOOST_PP_REPEAT_3_875(m, d) m(4, 875, d) -# define BOOST_PP_REPEAT_3_877(m, d) BOOST_PP_REPEAT_3_876(m, d) m(4, 876, d) -# define BOOST_PP_REPEAT_3_878(m, d) BOOST_PP_REPEAT_3_877(m, d) m(4, 877, d) -# define BOOST_PP_REPEAT_3_879(m, d) BOOST_PP_REPEAT_3_878(m, d) m(4, 878, d) -# define BOOST_PP_REPEAT_3_880(m, d) BOOST_PP_REPEAT_3_879(m, d) m(4, 879, d) -# define BOOST_PP_REPEAT_3_881(m, d) BOOST_PP_REPEAT_3_880(m, d) m(4, 880, d) -# define BOOST_PP_REPEAT_3_882(m, d) BOOST_PP_REPEAT_3_881(m, d) m(4, 881, d) -# define BOOST_PP_REPEAT_3_883(m, d) BOOST_PP_REPEAT_3_882(m, d) m(4, 882, d) -# define BOOST_PP_REPEAT_3_884(m, d) BOOST_PP_REPEAT_3_883(m, d) m(4, 883, d) -# define BOOST_PP_REPEAT_3_885(m, d) BOOST_PP_REPEAT_3_884(m, d) m(4, 884, d) -# define BOOST_PP_REPEAT_3_886(m, d) BOOST_PP_REPEAT_3_885(m, d) m(4, 885, d) -# define BOOST_PP_REPEAT_3_887(m, d) BOOST_PP_REPEAT_3_886(m, d) m(4, 886, d) -# define BOOST_PP_REPEAT_3_888(m, d) BOOST_PP_REPEAT_3_887(m, d) m(4, 887, d) -# define BOOST_PP_REPEAT_3_889(m, d) BOOST_PP_REPEAT_3_888(m, d) m(4, 888, d) -# define BOOST_PP_REPEAT_3_890(m, d) BOOST_PP_REPEAT_3_889(m, d) m(4, 889, d) -# define BOOST_PP_REPEAT_3_891(m, d) BOOST_PP_REPEAT_3_890(m, d) m(4, 890, d) -# define BOOST_PP_REPEAT_3_892(m, d) BOOST_PP_REPEAT_3_891(m, d) m(4, 891, d) -# define BOOST_PP_REPEAT_3_893(m, d) BOOST_PP_REPEAT_3_892(m, d) m(4, 892, d) -# define BOOST_PP_REPEAT_3_894(m, d) BOOST_PP_REPEAT_3_893(m, d) m(4, 893, d) -# define BOOST_PP_REPEAT_3_895(m, d) BOOST_PP_REPEAT_3_894(m, d) m(4, 894, d) -# define BOOST_PP_REPEAT_3_896(m, d) BOOST_PP_REPEAT_3_895(m, d) m(4, 895, d) -# define BOOST_PP_REPEAT_3_897(m, d) BOOST_PP_REPEAT_3_896(m, d) m(4, 896, d) -# define BOOST_PP_REPEAT_3_898(m, d) BOOST_PP_REPEAT_3_897(m, d) m(4, 897, d) -# define BOOST_PP_REPEAT_3_899(m, d) BOOST_PP_REPEAT_3_898(m, d) m(4, 898, d) -# define BOOST_PP_REPEAT_3_900(m, d) BOOST_PP_REPEAT_3_899(m, d) m(4, 899, d) -# define BOOST_PP_REPEAT_3_901(m, d) BOOST_PP_REPEAT_3_900(m, d) m(4, 900, d) -# define BOOST_PP_REPEAT_3_902(m, d) BOOST_PP_REPEAT_3_901(m, d) m(4, 901, d) -# define BOOST_PP_REPEAT_3_903(m, d) BOOST_PP_REPEAT_3_902(m, d) m(4, 902, d) -# define BOOST_PP_REPEAT_3_904(m, d) BOOST_PP_REPEAT_3_903(m, d) m(4, 903, d) -# define BOOST_PP_REPEAT_3_905(m, d) BOOST_PP_REPEAT_3_904(m, d) m(4, 904, d) -# define BOOST_PP_REPEAT_3_906(m, d) BOOST_PP_REPEAT_3_905(m, d) m(4, 905, d) -# define BOOST_PP_REPEAT_3_907(m, d) BOOST_PP_REPEAT_3_906(m, d) m(4, 906, d) -# define BOOST_PP_REPEAT_3_908(m, d) BOOST_PP_REPEAT_3_907(m, d) m(4, 907, d) -# define BOOST_PP_REPEAT_3_909(m, d) BOOST_PP_REPEAT_3_908(m, d) m(4, 908, d) -# define BOOST_PP_REPEAT_3_910(m, d) BOOST_PP_REPEAT_3_909(m, d) m(4, 909, d) -# define BOOST_PP_REPEAT_3_911(m, d) BOOST_PP_REPEAT_3_910(m, d) m(4, 910, d) -# define BOOST_PP_REPEAT_3_912(m, d) BOOST_PP_REPEAT_3_911(m, d) m(4, 911, d) -# define BOOST_PP_REPEAT_3_913(m, d) BOOST_PP_REPEAT_3_912(m, d) m(4, 912, d) -# define BOOST_PP_REPEAT_3_914(m, d) BOOST_PP_REPEAT_3_913(m, d) m(4, 913, d) -# define BOOST_PP_REPEAT_3_915(m, d) BOOST_PP_REPEAT_3_914(m, d) m(4, 914, d) -# define BOOST_PP_REPEAT_3_916(m, d) BOOST_PP_REPEAT_3_915(m, d) m(4, 915, d) -# define BOOST_PP_REPEAT_3_917(m, d) BOOST_PP_REPEAT_3_916(m, d) m(4, 916, d) -# define BOOST_PP_REPEAT_3_918(m, d) BOOST_PP_REPEAT_3_917(m, d) m(4, 917, d) -# define BOOST_PP_REPEAT_3_919(m, d) BOOST_PP_REPEAT_3_918(m, d) m(4, 918, d) -# define BOOST_PP_REPEAT_3_920(m, d) BOOST_PP_REPEAT_3_919(m, d) m(4, 919, d) -# define BOOST_PP_REPEAT_3_921(m, d) BOOST_PP_REPEAT_3_920(m, d) m(4, 920, d) -# define BOOST_PP_REPEAT_3_922(m, d) BOOST_PP_REPEAT_3_921(m, d) m(4, 921, d) -# define BOOST_PP_REPEAT_3_923(m, d) BOOST_PP_REPEAT_3_922(m, d) m(4, 922, d) -# define BOOST_PP_REPEAT_3_924(m, d) BOOST_PP_REPEAT_3_923(m, d) m(4, 923, d) -# define BOOST_PP_REPEAT_3_925(m, d) BOOST_PP_REPEAT_3_924(m, d) m(4, 924, d) -# define BOOST_PP_REPEAT_3_926(m, d) BOOST_PP_REPEAT_3_925(m, d) m(4, 925, d) -# define BOOST_PP_REPEAT_3_927(m, d) BOOST_PP_REPEAT_3_926(m, d) m(4, 926, d) -# define BOOST_PP_REPEAT_3_928(m, d) BOOST_PP_REPEAT_3_927(m, d) m(4, 927, d) -# define BOOST_PP_REPEAT_3_929(m, d) BOOST_PP_REPEAT_3_928(m, d) m(4, 928, d) -# define BOOST_PP_REPEAT_3_930(m, d) BOOST_PP_REPEAT_3_929(m, d) m(4, 929, d) -# define BOOST_PP_REPEAT_3_931(m, d) BOOST_PP_REPEAT_3_930(m, d) m(4, 930, d) -# define BOOST_PP_REPEAT_3_932(m, d) BOOST_PP_REPEAT_3_931(m, d) m(4, 931, d) -# define BOOST_PP_REPEAT_3_933(m, d) BOOST_PP_REPEAT_3_932(m, d) m(4, 932, d) -# define BOOST_PP_REPEAT_3_934(m, d) BOOST_PP_REPEAT_3_933(m, d) m(4, 933, d) -# define BOOST_PP_REPEAT_3_935(m, d) BOOST_PP_REPEAT_3_934(m, d) m(4, 934, d) -# define BOOST_PP_REPEAT_3_936(m, d) BOOST_PP_REPEAT_3_935(m, d) m(4, 935, d) -# define BOOST_PP_REPEAT_3_937(m, d) BOOST_PP_REPEAT_3_936(m, d) m(4, 936, d) -# define BOOST_PP_REPEAT_3_938(m, d) BOOST_PP_REPEAT_3_937(m, d) m(4, 937, d) -# define BOOST_PP_REPEAT_3_939(m, d) BOOST_PP_REPEAT_3_938(m, d) m(4, 938, d) -# define BOOST_PP_REPEAT_3_940(m, d) BOOST_PP_REPEAT_3_939(m, d) m(4, 939, d) -# define BOOST_PP_REPEAT_3_941(m, d) BOOST_PP_REPEAT_3_940(m, d) m(4, 940, d) -# define BOOST_PP_REPEAT_3_942(m, d) BOOST_PP_REPEAT_3_941(m, d) m(4, 941, d) -# define BOOST_PP_REPEAT_3_943(m, d) BOOST_PP_REPEAT_3_942(m, d) m(4, 942, d) -# define BOOST_PP_REPEAT_3_944(m, d) BOOST_PP_REPEAT_3_943(m, d) m(4, 943, d) -# define BOOST_PP_REPEAT_3_945(m, d) BOOST_PP_REPEAT_3_944(m, d) m(4, 944, d) -# define BOOST_PP_REPEAT_3_946(m, d) BOOST_PP_REPEAT_3_945(m, d) m(4, 945, d) -# define BOOST_PP_REPEAT_3_947(m, d) BOOST_PP_REPEAT_3_946(m, d) m(4, 946, d) -# define BOOST_PP_REPEAT_3_948(m, d) BOOST_PP_REPEAT_3_947(m, d) m(4, 947, d) -# define BOOST_PP_REPEAT_3_949(m, d) BOOST_PP_REPEAT_3_948(m, d) m(4, 948, d) -# define BOOST_PP_REPEAT_3_950(m, d) BOOST_PP_REPEAT_3_949(m, d) m(4, 949, d) -# define BOOST_PP_REPEAT_3_951(m, d) BOOST_PP_REPEAT_3_950(m, d) m(4, 950, d) -# define BOOST_PP_REPEAT_3_952(m, d) BOOST_PP_REPEAT_3_951(m, d) m(4, 951, d) -# define BOOST_PP_REPEAT_3_953(m, d) BOOST_PP_REPEAT_3_952(m, d) m(4, 952, d) -# define BOOST_PP_REPEAT_3_954(m, d) BOOST_PP_REPEAT_3_953(m, d) m(4, 953, d) -# define BOOST_PP_REPEAT_3_955(m, d) BOOST_PP_REPEAT_3_954(m, d) m(4, 954, d) -# define BOOST_PP_REPEAT_3_956(m, d) BOOST_PP_REPEAT_3_955(m, d) m(4, 955, d) -# define BOOST_PP_REPEAT_3_957(m, d) BOOST_PP_REPEAT_3_956(m, d) m(4, 956, d) -# define BOOST_PP_REPEAT_3_958(m, d) BOOST_PP_REPEAT_3_957(m, d) m(4, 957, d) -# define BOOST_PP_REPEAT_3_959(m, d) BOOST_PP_REPEAT_3_958(m, d) m(4, 958, d) -# define BOOST_PP_REPEAT_3_960(m, d) BOOST_PP_REPEAT_3_959(m, d) m(4, 959, d) -# define BOOST_PP_REPEAT_3_961(m, d) BOOST_PP_REPEAT_3_960(m, d) m(4, 960, d) -# define BOOST_PP_REPEAT_3_962(m, d) BOOST_PP_REPEAT_3_961(m, d) m(4, 961, d) -# define BOOST_PP_REPEAT_3_963(m, d) BOOST_PP_REPEAT_3_962(m, d) m(4, 962, d) -# define BOOST_PP_REPEAT_3_964(m, d) BOOST_PP_REPEAT_3_963(m, d) m(4, 963, d) -# define BOOST_PP_REPEAT_3_965(m, d) BOOST_PP_REPEAT_3_964(m, d) m(4, 964, d) -# define BOOST_PP_REPEAT_3_966(m, d) BOOST_PP_REPEAT_3_965(m, d) m(4, 965, d) -# define BOOST_PP_REPEAT_3_967(m, d) BOOST_PP_REPEAT_3_966(m, d) m(4, 966, d) -# define BOOST_PP_REPEAT_3_968(m, d) BOOST_PP_REPEAT_3_967(m, d) m(4, 967, d) -# define BOOST_PP_REPEAT_3_969(m, d) BOOST_PP_REPEAT_3_968(m, d) m(4, 968, d) -# define BOOST_PP_REPEAT_3_970(m, d) BOOST_PP_REPEAT_3_969(m, d) m(4, 969, d) -# define BOOST_PP_REPEAT_3_971(m, d) BOOST_PP_REPEAT_3_970(m, d) m(4, 970, d) -# define BOOST_PP_REPEAT_3_972(m, d) BOOST_PP_REPEAT_3_971(m, d) m(4, 971, d) -# define BOOST_PP_REPEAT_3_973(m, d) BOOST_PP_REPEAT_3_972(m, d) m(4, 972, d) -# define BOOST_PP_REPEAT_3_974(m, d) BOOST_PP_REPEAT_3_973(m, d) m(4, 973, d) -# define BOOST_PP_REPEAT_3_975(m, d) BOOST_PP_REPEAT_3_974(m, d) m(4, 974, d) -# define BOOST_PP_REPEAT_3_976(m, d) BOOST_PP_REPEAT_3_975(m, d) m(4, 975, d) -# define BOOST_PP_REPEAT_3_977(m, d) BOOST_PP_REPEAT_3_976(m, d) m(4, 976, d) -# define BOOST_PP_REPEAT_3_978(m, d) BOOST_PP_REPEAT_3_977(m, d) m(4, 977, d) -# define BOOST_PP_REPEAT_3_979(m, d) BOOST_PP_REPEAT_3_978(m, d) m(4, 978, d) -# define BOOST_PP_REPEAT_3_980(m, d) BOOST_PP_REPEAT_3_979(m, d) m(4, 979, d) -# define BOOST_PP_REPEAT_3_981(m, d) BOOST_PP_REPEAT_3_980(m, d) m(4, 980, d) -# define BOOST_PP_REPEAT_3_982(m, d) BOOST_PP_REPEAT_3_981(m, d) m(4, 981, d) -# define BOOST_PP_REPEAT_3_983(m, d) BOOST_PP_REPEAT_3_982(m, d) m(4, 982, d) -# define BOOST_PP_REPEAT_3_984(m, d) BOOST_PP_REPEAT_3_983(m, d) m(4, 983, d) -# define BOOST_PP_REPEAT_3_985(m, d) BOOST_PP_REPEAT_3_984(m, d) m(4, 984, d) -# define BOOST_PP_REPEAT_3_986(m, d) BOOST_PP_REPEAT_3_985(m, d) m(4, 985, d) -# define BOOST_PP_REPEAT_3_987(m, d) BOOST_PP_REPEAT_3_986(m, d) m(4, 986, d) -# define BOOST_PP_REPEAT_3_988(m, d) BOOST_PP_REPEAT_3_987(m, d) m(4, 987, d) -# define BOOST_PP_REPEAT_3_989(m, d) BOOST_PP_REPEAT_3_988(m, d) m(4, 988, d) -# define BOOST_PP_REPEAT_3_990(m, d) BOOST_PP_REPEAT_3_989(m, d) m(4, 989, d) -# define BOOST_PP_REPEAT_3_991(m, d) BOOST_PP_REPEAT_3_990(m, d) m(4, 990, d) -# define BOOST_PP_REPEAT_3_992(m, d) BOOST_PP_REPEAT_3_991(m, d) m(4, 991, d) -# define BOOST_PP_REPEAT_3_993(m, d) BOOST_PP_REPEAT_3_992(m, d) m(4, 992, d) -# define BOOST_PP_REPEAT_3_994(m, d) BOOST_PP_REPEAT_3_993(m, d) m(4, 993, d) -# define BOOST_PP_REPEAT_3_995(m, d) BOOST_PP_REPEAT_3_994(m, d) m(4, 994, d) -# define BOOST_PP_REPEAT_3_996(m, d) BOOST_PP_REPEAT_3_995(m, d) m(4, 995, d) -# define BOOST_PP_REPEAT_3_997(m, d) BOOST_PP_REPEAT_3_996(m, d) m(4, 996, d) -# define BOOST_PP_REPEAT_3_998(m, d) BOOST_PP_REPEAT_3_997(m, d) m(4, 997, d) -# define BOOST_PP_REPEAT_3_999(m, d) BOOST_PP_REPEAT_3_998(m, d) m(4, 998, d) -# define BOOST_PP_REPEAT_3_1000(m, d) BOOST_PP_REPEAT_3_999(m, d) m(4, 999, d) -# define BOOST_PP_REPEAT_3_1001(m, d) BOOST_PP_REPEAT_3_1000(m, d) m(4, 1000, d) -# define BOOST_PP_REPEAT_3_1002(m, d) BOOST_PP_REPEAT_3_1001(m, d) m(4, 1001, d) -# define BOOST_PP_REPEAT_3_1003(m, d) BOOST_PP_REPEAT_3_1002(m, d) m(4, 1002, d) -# define BOOST_PP_REPEAT_3_1004(m, d) BOOST_PP_REPEAT_3_1003(m, d) m(4, 1003, d) -# define BOOST_PP_REPEAT_3_1005(m, d) BOOST_PP_REPEAT_3_1004(m, d) m(4, 1004, d) -# define BOOST_PP_REPEAT_3_1006(m, d) BOOST_PP_REPEAT_3_1005(m, d) m(4, 1005, d) -# define BOOST_PP_REPEAT_3_1007(m, d) BOOST_PP_REPEAT_3_1006(m, d) m(4, 1006, d) -# define BOOST_PP_REPEAT_3_1008(m, d) BOOST_PP_REPEAT_3_1007(m, d) m(4, 1007, d) -# define BOOST_PP_REPEAT_3_1009(m, d) BOOST_PP_REPEAT_3_1008(m, d) m(4, 1008, d) -# define BOOST_PP_REPEAT_3_1010(m, d) BOOST_PP_REPEAT_3_1009(m, d) m(4, 1009, d) -# define BOOST_PP_REPEAT_3_1011(m, d) BOOST_PP_REPEAT_3_1010(m, d) m(4, 1010, d) -# define BOOST_PP_REPEAT_3_1012(m, d) BOOST_PP_REPEAT_3_1011(m, d) m(4, 1011, d) -# define BOOST_PP_REPEAT_3_1013(m, d) BOOST_PP_REPEAT_3_1012(m, d) m(4, 1012, d) -# define BOOST_PP_REPEAT_3_1014(m, d) BOOST_PP_REPEAT_3_1013(m, d) m(4, 1013, d) -# define BOOST_PP_REPEAT_3_1015(m, d) BOOST_PP_REPEAT_3_1014(m, d) m(4, 1014, d) -# define BOOST_PP_REPEAT_3_1016(m, d) BOOST_PP_REPEAT_3_1015(m, d) m(4, 1015, d) -# define BOOST_PP_REPEAT_3_1017(m, d) BOOST_PP_REPEAT_3_1016(m, d) m(4, 1016, d) -# define BOOST_PP_REPEAT_3_1018(m, d) BOOST_PP_REPEAT_3_1017(m, d) m(4, 1017, d) -# define BOOST_PP_REPEAT_3_1019(m, d) BOOST_PP_REPEAT_3_1018(m, d) m(4, 1018, d) -# define BOOST_PP_REPEAT_3_1020(m, d) BOOST_PP_REPEAT_3_1019(m, d) m(4, 1019, d) -# define BOOST_PP_REPEAT_3_1021(m, d) BOOST_PP_REPEAT_3_1020(m, d) m(4, 1020, d) -# define BOOST_PP_REPEAT_3_1022(m, d) BOOST_PP_REPEAT_3_1021(m, d) m(4, 1021, d) -# define BOOST_PP_REPEAT_3_1023(m, d) BOOST_PP_REPEAT_3_1022(m, d) m(4, 1022, d) -# define BOOST_PP_REPEAT_3_1024(m, d) BOOST_PP_REPEAT_3_1023(m, d) m(4, 1023, d) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_1024_HPP +# define BOOST_PREPROCESSOR_REPETITION_REPEAT_1024_HPP +# +# define BOOST_PP_REPEAT_1_513(m, d) BOOST_PP_REPEAT_1_512(m, d) m(2, 512, d) +# define BOOST_PP_REPEAT_1_514(m, d) BOOST_PP_REPEAT_1_513(m, d) m(2, 513, d) +# define BOOST_PP_REPEAT_1_515(m, d) BOOST_PP_REPEAT_1_514(m, d) m(2, 514, d) +# define BOOST_PP_REPEAT_1_516(m, d) BOOST_PP_REPEAT_1_515(m, d) m(2, 515, d) +# define BOOST_PP_REPEAT_1_517(m, d) BOOST_PP_REPEAT_1_516(m, d) m(2, 516, d) +# define BOOST_PP_REPEAT_1_518(m, d) BOOST_PP_REPEAT_1_517(m, d) m(2, 517, d) +# define BOOST_PP_REPEAT_1_519(m, d) BOOST_PP_REPEAT_1_518(m, d) m(2, 518, d) +# define BOOST_PP_REPEAT_1_520(m, d) BOOST_PP_REPEAT_1_519(m, d) m(2, 519, d) +# define BOOST_PP_REPEAT_1_521(m, d) BOOST_PP_REPEAT_1_520(m, d) m(2, 520, d) +# define BOOST_PP_REPEAT_1_522(m, d) BOOST_PP_REPEAT_1_521(m, d) m(2, 521, d) +# define BOOST_PP_REPEAT_1_523(m, d) BOOST_PP_REPEAT_1_522(m, d) m(2, 522, d) +# define BOOST_PP_REPEAT_1_524(m, d) BOOST_PP_REPEAT_1_523(m, d) m(2, 523, d) +# define BOOST_PP_REPEAT_1_525(m, d) BOOST_PP_REPEAT_1_524(m, d) m(2, 524, d) +# define BOOST_PP_REPEAT_1_526(m, d) BOOST_PP_REPEAT_1_525(m, d) m(2, 525, d) +# define BOOST_PP_REPEAT_1_527(m, d) BOOST_PP_REPEAT_1_526(m, d) m(2, 526, d) +# define BOOST_PP_REPEAT_1_528(m, d) BOOST_PP_REPEAT_1_527(m, d) m(2, 527, d) +# define BOOST_PP_REPEAT_1_529(m, d) BOOST_PP_REPEAT_1_528(m, d) m(2, 528, d) +# define BOOST_PP_REPEAT_1_530(m, d) BOOST_PP_REPEAT_1_529(m, d) m(2, 529, d) +# define BOOST_PP_REPEAT_1_531(m, d) BOOST_PP_REPEAT_1_530(m, d) m(2, 530, d) +# define BOOST_PP_REPEAT_1_532(m, d) BOOST_PP_REPEAT_1_531(m, d) m(2, 531, d) +# define BOOST_PP_REPEAT_1_533(m, d) BOOST_PP_REPEAT_1_532(m, d) m(2, 532, d) +# define BOOST_PP_REPEAT_1_534(m, d) BOOST_PP_REPEAT_1_533(m, d) m(2, 533, d) +# define BOOST_PP_REPEAT_1_535(m, d) BOOST_PP_REPEAT_1_534(m, d) m(2, 534, d) +# define BOOST_PP_REPEAT_1_536(m, d) BOOST_PP_REPEAT_1_535(m, d) m(2, 535, d) +# define BOOST_PP_REPEAT_1_537(m, d) BOOST_PP_REPEAT_1_536(m, d) m(2, 536, d) +# define BOOST_PP_REPEAT_1_538(m, d) BOOST_PP_REPEAT_1_537(m, d) m(2, 537, d) +# define BOOST_PP_REPEAT_1_539(m, d) BOOST_PP_REPEAT_1_538(m, d) m(2, 538, d) +# define BOOST_PP_REPEAT_1_540(m, d) BOOST_PP_REPEAT_1_539(m, d) m(2, 539, d) +# define BOOST_PP_REPEAT_1_541(m, d) BOOST_PP_REPEAT_1_540(m, d) m(2, 540, d) +# define BOOST_PP_REPEAT_1_542(m, d) BOOST_PP_REPEAT_1_541(m, d) m(2, 541, d) +# define BOOST_PP_REPEAT_1_543(m, d) BOOST_PP_REPEAT_1_542(m, d) m(2, 542, d) +# define BOOST_PP_REPEAT_1_544(m, d) BOOST_PP_REPEAT_1_543(m, d) m(2, 543, d) +# define BOOST_PP_REPEAT_1_545(m, d) BOOST_PP_REPEAT_1_544(m, d) m(2, 544, d) +# define BOOST_PP_REPEAT_1_546(m, d) BOOST_PP_REPEAT_1_545(m, d) m(2, 545, d) +# define BOOST_PP_REPEAT_1_547(m, d) BOOST_PP_REPEAT_1_546(m, d) m(2, 546, d) +# define BOOST_PP_REPEAT_1_548(m, d) BOOST_PP_REPEAT_1_547(m, d) m(2, 547, d) +# define BOOST_PP_REPEAT_1_549(m, d) BOOST_PP_REPEAT_1_548(m, d) m(2, 548, d) +# define BOOST_PP_REPEAT_1_550(m, d) BOOST_PP_REPEAT_1_549(m, d) m(2, 549, d) +# define BOOST_PP_REPEAT_1_551(m, d) BOOST_PP_REPEAT_1_550(m, d) m(2, 550, d) +# define BOOST_PP_REPEAT_1_552(m, d) BOOST_PP_REPEAT_1_551(m, d) m(2, 551, d) +# define BOOST_PP_REPEAT_1_553(m, d) BOOST_PP_REPEAT_1_552(m, d) m(2, 552, d) +# define BOOST_PP_REPEAT_1_554(m, d) BOOST_PP_REPEAT_1_553(m, d) m(2, 553, d) +# define BOOST_PP_REPEAT_1_555(m, d) BOOST_PP_REPEAT_1_554(m, d) m(2, 554, d) +# define BOOST_PP_REPEAT_1_556(m, d) BOOST_PP_REPEAT_1_555(m, d) m(2, 555, d) +# define BOOST_PP_REPEAT_1_557(m, d) BOOST_PP_REPEAT_1_556(m, d) m(2, 556, d) +# define BOOST_PP_REPEAT_1_558(m, d) BOOST_PP_REPEAT_1_557(m, d) m(2, 557, d) +# define BOOST_PP_REPEAT_1_559(m, d) BOOST_PP_REPEAT_1_558(m, d) m(2, 558, d) +# define BOOST_PP_REPEAT_1_560(m, d) BOOST_PP_REPEAT_1_559(m, d) m(2, 559, d) +# define BOOST_PP_REPEAT_1_561(m, d) BOOST_PP_REPEAT_1_560(m, d) m(2, 560, d) +# define BOOST_PP_REPEAT_1_562(m, d) BOOST_PP_REPEAT_1_561(m, d) m(2, 561, d) +# define BOOST_PP_REPEAT_1_563(m, d) BOOST_PP_REPEAT_1_562(m, d) m(2, 562, d) +# define BOOST_PP_REPEAT_1_564(m, d) BOOST_PP_REPEAT_1_563(m, d) m(2, 563, d) +# define BOOST_PP_REPEAT_1_565(m, d) BOOST_PP_REPEAT_1_564(m, d) m(2, 564, d) +# define BOOST_PP_REPEAT_1_566(m, d) BOOST_PP_REPEAT_1_565(m, d) m(2, 565, d) +# define BOOST_PP_REPEAT_1_567(m, d) BOOST_PP_REPEAT_1_566(m, d) m(2, 566, d) +# define BOOST_PP_REPEAT_1_568(m, d) BOOST_PP_REPEAT_1_567(m, d) m(2, 567, d) +# define BOOST_PP_REPEAT_1_569(m, d) BOOST_PP_REPEAT_1_568(m, d) m(2, 568, d) +# define BOOST_PP_REPEAT_1_570(m, d) BOOST_PP_REPEAT_1_569(m, d) m(2, 569, d) +# define BOOST_PP_REPEAT_1_571(m, d) BOOST_PP_REPEAT_1_570(m, d) m(2, 570, d) +# define BOOST_PP_REPEAT_1_572(m, d) BOOST_PP_REPEAT_1_571(m, d) m(2, 571, d) +# define BOOST_PP_REPEAT_1_573(m, d) BOOST_PP_REPEAT_1_572(m, d) m(2, 572, d) +# define BOOST_PP_REPEAT_1_574(m, d) BOOST_PP_REPEAT_1_573(m, d) m(2, 573, d) +# define BOOST_PP_REPEAT_1_575(m, d) BOOST_PP_REPEAT_1_574(m, d) m(2, 574, d) +# define BOOST_PP_REPEAT_1_576(m, d) BOOST_PP_REPEAT_1_575(m, d) m(2, 575, d) +# define BOOST_PP_REPEAT_1_577(m, d) BOOST_PP_REPEAT_1_576(m, d) m(2, 576, d) +# define BOOST_PP_REPEAT_1_578(m, d) BOOST_PP_REPEAT_1_577(m, d) m(2, 577, d) +# define BOOST_PP_REPEAT_1_579(m, d) BOOST_PP_REPEAT_1_578(m, d) m(2, 578, d) +# define BOOST_PP_REPEAT_1_580(m, d) BOOST_PP_REPEAT_1_579(m, d) m(2, 579, d) +# define BOOST_PP_REPEAT_1_581(m, d) BOOST_PP_REPEAT_1_580(m, d) m(2, 580, d) +# define BOOST_PP_REPEAT_1_582(m, d) BOOST_PP_REPEAT_1_581(m, d) m(2, 581, d) +# define BOOST_PP_REPEAT_1_583(m, d) BOOST_PP_REPEAT_1_582(m, d) m(2, 582, d) +# define BOOST_PP_REPEAT_1_584(m, d) BOOST_PP_REPEAT_1_583(m, d) m(2, 583, d) +# define BOOST_PP_REPEAT_1_585(m, d) BOOST_PP_REPEAT_1_584(m, d) m(2, 584, d) +# define BOOST_PP_REPEAT_1_586(m, d) BOOST_PP_REPEAT_1_585(m, d) m(2, 585, d) +# define BOOST_PP_REPEAT_1_587(m, d) BOOST_PP_REPEAT_1_586(m, d) m(2, 586, d) +# define BOOST_PP_REPEAT_1_588(m, d) BOOST_PP_REPEAT_1_587(m, d) m(2, 587, d) +# define BOOST_PP_REPEAT_1_589(m, d) BOOST_PP_REPEAT_1_588(m, d) m(2, 588, d) +# define BOOST_PP_REPEAT_1_590(m, d) BOOST_PP_REPEAT_1_589(m, d) m(2, 589, d) +# define BOOST_PP_REPEAT_1_591(m, d) BOOST_PP_REPEAT_1_590(m, d) m(2, 590, d) +# define BOOST_PP_REPEAT_1_592(m, d) BOOST_PP_REPEAT_1_591(m, d) m(2, 591, d) +# define BOOST_PP_REPEAT_1_593(m, d) BOOST_PP_REPEAT_1_592(m, d) m(2, 592, d) +# define BOOST_PP_REPEAT_1_594(m, d) BOOST_PP_REPEAT_1_593(m, d) m(2, 593, d) +# define BOOST_PP_REPEAT_1_595(m, d) BOOST_PP_REPEAT_1_594(m, d) m(2, 594, d) +# define BOOST_PP_REPEAT_1_596(m, d) BOOST_PP_REPEAT_1_595(m, d) m(2, 595, d) +# define BOOST_PP_REPEAT_1_597(m, d) BOOST_PP_REPEAT_1_596(m, d) m(2, 596, d) +# define BOOST_PP_REPEAT_1_598(m, d) BOOST_PP_REPEAT_1_597(m, d) m(2, 597, d) +# define BOOST_PP_REPEAT_1_599(m, d) BOOST_PP_REPEAT_1_598(m, d) m(2, 598, d) +# define BOOST_PP_REPEAT_1_600(m, d) BOOST_PP_REPEAT_1_599(m, d) m(2, 599, d) +# define BOOST_PP_REPEAT_1_601(m, d) BOOST_PP_REPEAT_1_600(m, d) m(2, 600, d) +# define BOOST_PP_REPEAT_1_602(m, d) BOOST_PP_REPEAT_1_601(m, d) m(2, 601, d) +# define BOOST_PP_REPEAT_1_603(m, d) BOOST_PP_REPEAT_1_602(m, d) m(2, 602, d) +# define BOOST_PP_REPEAT_1_604(m, d) BOOST_PP_REPEAT_1_603(m, d) m(2, 603, d) +# define BOOST_PP_REPEAT_1_605(m, d) BOOST_PP_REPEAT_1_604(m, d) m(2, 604, d) +# define BOOST_PP_REPEAT_1_606(m, d) BOOST_PP_REPEAT_1_605(m, d) m(2, 605, d) +# define BOOST_PP_REPEAT_1_607(m, d) BOOST_PP_REPEAT_1_606(m, d) m(2, 606, d) +# define BOOST_PP_REPEAT_1_608(m, d) BOOST_PP_REPEAT_1_607(m, d) m(2, 607, d) +# define BOOST_PP_REPEAT_1_609(m, d) BOOST_PP_REPEAT_1_608(m, d) m(2, 608, d) +# define BOOST_PP_REPEAT_1_610(m, d) BOOST_PP_REPEAT_1_609(m, d) m(2, 609, d) +# define BOOST_PP_REPEAT_1_611(m, d) BOOST_PP_REPEAT_1_610(m, d) m(2, 610, d) +# define BOOST_PP_REPEAT_1_612(m, d) BOOST_PP_REPEAT_1_611(m, d) m(2, 611, d) +# define BOOST_PP_REPEAT_1_613(m, d) BOOST_PP_REPEAT_1_612(m, d) m(2, 612, d) +# define BOOST_PP_REPEAT_1_614(m, d) BOOST_PP_REPEAT_1_613(m, d) m(2, 613, d) +# define BOOST_PP_REPEAT_1_615(m, d) BOOST_PP_REPEAT_1_614(m, d) m(2, 614, d) +# define BOOST_PP_REPEAT_1_616(m, d) BOOST_PP_REPEAT_1_615(m, d) m(2, 615, d) +# define BOOST_PP_REPEAT_1_617(m, d) BOOST_PP_REPEAT_1_616(m, d) m(2, 616, d) +# define BOOST_PP_REPEAT_1_618(m, d) BOOST_PP_REPEAT_1_617(m, d) m(2, 617, d) +# define BOOST_PP_REPEAT_1_619(m, d) BOOST_PP_REPEAT_1_618(m, d) m(2, 618, d) +# define BOOST_PP_REPEAT_1_620(m, d) BOOST_PP_REPEAT_1_619(m, d) m(2, 619, d) +# define BOOST_PP_REPEAT_1_621(m, d) BOOST_PP_REPEAT_1_620(m, d) m(2, 620, d) +# define BOOST_PP_REPEAT_1_622(m, d) BOOST_PP_REPEAT_1_621(m, d) m(2, 621, d) +# define BOOST_PP_REPEAT_1_623(m, d) BOOST_PP_REPEAT_1_622(m, d) m(2, 622, d) +# define BOOST_PP_REPEAT_1_624(m, d) BOOST_PP_REPEAT_1_623(m, d) m(2, 623, d) +# define BOOST_PP_REPEAT_1_625(m, d) BOOST_PP_REPEAT_1_624(m, d) m(2, 624, d) +# define BOOST_PP_REPEAT_1_626(m, d) BOOST_PP_REPEAT_1_625(m, d) m(2, 625, d) +# define BOOST_PP_REPEAT_1_627(m, d) BOOST_PP_REPEAT_1_626(m, d) m(2, 626, d) +# define BOOST_PP_REPEAT_1_628(m, d) BOOST_PP_REPEAT_1_627(m, d) m(2, 627, d) +# define BOOST_PP_REPEAT_1_629(m, d) BOOST_PP_REPEAT_1_628(m, d) m(2, 628, d) +# define BOOST_PP_REPEAT_1_630(m, d) BOOST_PP_REPEAT_1_629(m, d) m(2, 629, d) +# define BOOST_PP_REPEAT_1_631(m, d) BOOST_PP_REPEAT_1_630(m, d) m(2, 630, d) +# define BOOST_PP_REPEAT_1_632(m, d) BOOST_PP_REPEAT_1_631(m, d) m(2, 631, d) +# define BOOST_PP_REPEAT_1_633(m, d) BOOST_PP_REPEAT_1_632(m, d) m(2, 632, d) +# define BOOST_PP_REPEAT_1_634(m, d) BOOST_PP_REPEAT_1_633(m, d) m(2, 633, d) +# define BOOST_PP_REPEAT_1_635(m, d) BOOST_PP_REPEAT_1_634(m, d) m(2, 634, d) +# define BOOST_PP_REPEAT_1_636(m, d) BOOST_PP_REPEAT_1_635(m, d) m(2, 635, d) +# define BOOST_PP_REPEAT_1_637(m, d) BOOST_PP_REPEAT_1_636(m, d) m(2, 636, d) +# define BOOST_PP_REPEAT_1_638(m, d) BOOST_PP_REPEAT_1_637(m, d) m(2, 637, d) +# define BOOST_PP_REPEAT_1_639(m, d) BOOST_PP_REPEAT_1_638(m, d) m(2, 638, d) +# define BOOST_PP_REPEAT_1_640(m, d) BOOST_PP_REPEAT_1_639(m, d) m(2, 639, d) +# define BOOST_PP_REPEAT_1_641(m, d) BOOST_PP_REPEAT_1_640(m, d) m(2, 640, d) +# define BOOST_PP_REPEAT_1_642(m, d) BOOST_PP_REPEAT_1_641(m, d) m(2, 641, d) +# define BOOST_PP_REPEAT_1_643(m, d) BOOST_PP_REPEAT_1_642(m, d) m(2, 642, d) +# define BOOST_PP_REPEAT_1_644(m, d) BOOST_PP_REPEAT_1_643(m, d) m(2, 643, d) +# define BOOST_PP_REPEAT_1_645(m, d) BOOST_PP_REPEAT_1_644(m, d) m(2, 644, d) +# define BOOST_PP_REPEAT_1_646(m, d) BOOST_PP_REPEAT_1_645(m, d) m(2, 645, d) +# define BOOST_PP_REPEAT_1_647(m, d) BOOST_PP_REPEAT_1_646(m, d) m(2, 646, d) +# define BOOST_PP_REPEAT_1_648(m, d) BOOST_PP_REPEAT_1_647(m, d) m(2, 647, d) +# define BOOST_PP_REPEAT_1_649(m, d) BOOST_PP_REPEAT_1_648(m, d) m(2, 648, d) +# define BOOST_PP_REPEAT_1_650(m, d) BOOST_PP_REPEAT_1_649(m, d) m(2, 649, d) +# define BOOST_PP_REPEAT_1_651(m, d) BOOST_PP_REPEAT_1_650(m, d) m(2, 650, d) +# define BOOST_PP_REPEAT_1_652(m, d) BOOST_PP_REPEAT_1_651(m, d) m(2, 651, d) +# define BOOST_PP_REPEAT_1_653(m, d) BOOST_PP_REPEAT_1_652(m, d) m(2, 652, d) +# define BOOST_PP_REPEAT_1_654(m, d) BOOST_PP_REPEAT_1_653(m, d) m(2, 653, d) +# define BOOST_PP_REPEAT_1_655(m, d) BOOST_PP_REPEAT_1_654(m, d) m(2, 654, d) +# define BOOST_PP_REPEAT_1_656(m, d) BOOST_PP_REPEAT_1_655(m, d) m(2, 655, d) +# define BOOST_PP_REPEAT_1_657(m, d) BOOST_PP_REPEAT_1_656(m, d) m(2, 656, d) +# define BOOST_PP_REPEAT_1_658(m, d) BOOST_PP_REPEAT_1_657(m, d) m(2, 657, d) +# define BOOST_PP_REPEAT_1_659(m, d) BOOST_PP_REPEAT_1_658(m, d) m(2, 658, d) +# define BOOST_PP_REPEAT_1_660(m, d) BOOST_PP_REPEAT_1_659(m, d) m(2, 659, d) +# define BOOST_PP_REPEAT_1_661(m, d) BOOST_PP_REPEAT_1_660(m, d) m(2, 660, d) +# define BOOST_PP_REPEAT_1_662(m, d) BOOST_PP_REPEAT_1_661(m, d) m(2, 661, d) +# define BOOST_PP_REPEAT_1_663(m, d) BOOST_PP_REPEAT_1_662(m, d) m(2, 662, d) +# define BOOST_PP_REPEAT_1_664(m, d) BOOST_PP_REPEAT_1_663(m, d) m(2, 663, d) +# define BOOST_PP_REPEAT_1_665(m, d) BOOST_PP_REPEAT_1_664(m, d) m(2, 664, d) +# define BOOST_PP_REPEAT_1_666(m, d) BOOST_PP_REPEAT_1_665(m, d) m(2, 665, d) +# define BOOST_PP_REPEAT_1_667(m, d) BOOST_PP_REPEAT_1_666(m, d) m(2, 666, d) +# define BOOST_PP_REPEAT_1_668(m, d) BOOST_PP_REPEAT_1_667(m, d) m(2, 667, d) +# define BOOST_PP_REPEAT_1_669(m, d) BOOST_PP_REPEAT_1_668(m, d) m(2, 668, d) +# define BOOST_PP_REPEAT_1_670(m, d) BOOST_PP_REPEAT_1_669(m, d) m(2, 669, d) +# define BOOST_PP_REPEAT_1_671(m, d) BOOST_PP_REPEAT_1_670(m, d) m(2, 670, d) +# define BOOST_PP_REPEAT_1_672(m, d) BOOST_PP_REPEAT_1_671(m, d) m(2, 671, d) +# define BOOST_PP_REPEAT_1_673(m, d) BOOST_PP_REPEAT_1_672(m, d) m(2, 672, d) +# define BOOST_PP_REPEAT_1_674(m, d) BOOST_PP_REPEAT_1_673(m, d) m(2, 673, d) +# define BOOST_PP_REPEAT_1_675(m, d) BOOST_PP_REPEAT_1_674(m, d) m(2, 674, d) +# define BOOST_PP_REPEAT_1_676(m, d) BOOST_PP_REPEAT_1_675(m, d) m(2, 675, d) +# define BOOST_PP_REPEAT_1_677(m, d) BOOST_PP_REPEAT_1_676(m, d) m(2, 676, d) +# define BOOST_PP_REPEAT_1_678(m, d) BOOST_PP_REPEAT_1_677(m, d) m(2, 677, d) +# define BOOST_PP_REPEAT_1_679(m, d) BOOST_PP_REPEAT_1_678(m, d) m(2, 678, d) +# define BOOST_PP_REPEAT_1_680(m, d) BOOST_PP_REPEAT_1_679(m, d) m(2, 679, d) +# define BOOST_PP_REPEAT_1_681(m, d) BOOST_PP_REPEAT_1_680(m, d) m(2, 680, d) +# define BOOST_PP_REPEAT_1_682(m, d) BOOST_PP_REPEAT_1_681(m, d) m(2, 681, d) +# define BOOST_PP_REPEAT_1_683(m, d) BOOST_PP_REPEAT_1_682(m, d) m(2, 682, d) +# define BOOST_PP_REPEAT_1_684(m, d) BOOST_PP_REPEAT_1_683(m, d) m(2, 683, d) +# define BOOST_PP_REPEAT_1_685(m, d) BOOST_PP_REPEAT_1_684(m, d) m(2, 684, d) +# define BOOST_PP_REPEAT_1_686(m, d) BOOST_PP_REPEAT_1_685(m, d) m(2, 685, d) +# define BOOST_PP_REPEAT_1_687(m, d) BOOST_PP_REPEAT_1_686(m, d) m(2, 686, d) +# define BOOST_PP_REPEAT_1_688(m, d) BOOST_PP_REPEAT_1_687(m, d) m(2, 687, d) +# define BOOST_PP_REPEAT_1_689(m, d) BOOST_PP_REPEAT_1_688(m, d) m(2, 688, d) +# define BOOST_PP_REPEAT_1_690(m, d) BOOST_PP_REPEAT_1_689(m, d) m(2, 689, d) +# define BOOST_PP_REPEAT_1_691(m, d) BOOST_PP_REPEAT_1_690(m, d) m(2, 690, d) +# define BOOST_PP_REPEAT_1_692(m, d) BOOST_PP_REPEAT_1_691(m, d) m(2, 691, d) +# define BOOST_PP_REPEAT_1_693(m, d) BOOST_PP_REPEAT_1_692(m, d) m(2, 692, d) +# define BOOST_PP_REPEAT_1_694(m, d) BOOST_PP_REPEAT_1_693(m, d) m(2, 693, d) +# define BOOST_PP_REPEAT_1_695(m, d) BOOST_PP_REPEAT_1_694(m, d) m(2, 694, d) +# define BOOST_PP_REPEAT_1_696(m, d) BOOST_PP_REPEAT_1_695(m, d) m(2, 695, d) +# define BOOST_PP_REPEAT_1_697(m, d) BOOST_PP_REPEAT_1_696(m, d) m(2, 696, d) +# define BOOST_PP_REPEAT_1_698(m, d) BOOST_PP_REPEAT_1_697(m, d) m(2, 697, d) +# define BOOST_PP_REPEAT_1_699(m, d) BOOST_PP_REPEAT_1_698(m, d) m(2, 698, d) +# define BOOST_PP_REPEAT_1_700(m, d) BOOST_PP_REPEAT_1_699(m, d) m(2, 699, d) +# define BOOST_PP_REPEAT_1_701(m, d) BOOST_PP_REPEAT_1_700(m, d) m(2, 700, d) +# define BOOST_PP_REPEAT_1_702(m, d) BOOST_PP_REPEAT_1_701(m, d) m(2, 701, d) +# define BOOST_PP_REPEAT_1_703(m, d) BOOST_PP_REPEAT_1_702(m, d) m(2, 702, d) +# define BOOST_PP_REPEAT_1_704(m, d) BOOST_PP_REPEAT_1_703(m, d) m(2, 703, d) +# define BOOST_PP_REPEAT_1_705(m, d) BOOST_PP_REPEAT_1_704(m, d) m(2, 704, d) +# define BOOST_PP_REPEAT_1_706(m, d) BOOST_PP_REPEAT_1_705(m, d) m(2, 705, d) +# define BOOST_PP_REPEAT_1_707(m, d) BOOST_PP_REPEAT_1_706(m, d) m(2, 706, d) +# define BOOST_PP_REPEAT_1_708(m, d) BOOST_PP_REPEAT_1_707(m, d) m(2, 707, d) +# define BOOST_PP_REPEAT_1_709(m, d) BOOST_PP_REPEAT_1_708(m, d) m(2, 708, d) +# define BOOST_PP_REPEAT_1_710(m, d) BOOST_PP_REPEAT_1_709(m, d) m(2, 709, d) +# define BOOST_PP_REPEAT_1_711(m, d) BOOST_PP_REPEAT_1_710(m, d) m(2, 710, d) +# define BOOST_PP_REPEAT_1_712(m, d) BOOST_PP_REPEAT_1_711(m, d) m(2, 711, d) +# define BOOST_PP_REPEAT_1_713(m, d) BOOST_PP_REPEAT_1_712(m, d) m(2, 712, d) +# define BOOST_PP_REPEAT_1_714(m, d) BOOST_PP_REPEAT_1_713(m, d) m(2, 713, d) +# define BOOST_PP_REPEAT_1_715(m, d) BOOST_PP_REPEAT_1_714(m, d) m(2, 714, d) +# define BOOST_PP_REPEAT_1_716(m, d) BOOST_PP_REPEAT_1_715(m, d) m(2, 715, d) +# define BOOST_PP_REPEAT_1_717(m, d) BOOST_PP_REPEAT_1_716(m, d) m(2, 716, d) +# define BOOST_PP_REPEAT_1_718(m, d) BOOST_PP_REPEAT_1_717(m, d) m(2, 717, d) +# define BOOST_PP_REPEAT_1_719(m, d) BOOST_PP_REPEAT_1_718(m, d) m(2, 718, d) +# define BOOST_PP_REPEAT_1_720(m, d) BOOST_PP_REPEAT_1_719(m, d) m(2, 719, d) +# define BOOST_PP_REPEAT_1_721(m, d) BOOST_PP_REPEAT_1_720(m, d) m(2, 720, d) +# define BOOST_PP_REPEAT_1_722(m, d) BOOST_PP_REPEAT_1_721(m, d) m(2, 721, d) +# define BOOST_PP_REPEAT_1_723(m, d) BOOST_PP_REPEAT_1_722(m, d) m(2, 722, d) +# define BOOST_PP_REPEAT_1_724(m, d) BOOST_PP_REPEAT_1_723(m, d) m(2, 723, d) +# define BOOST_PP_REPEAT_1_725(m, d) BOOST_PP_REPEAT_1_724(m, d) m(2, 724, d) +# define BOOST_PP_REPEAT_1_726(m, d) BOOST_PP_REPEAT_1_725(m, d) m(2, 725, d) +# define BOOST_PP_REPEAT_1_727(m, d) BOOST_PP_REPEAT_1_726(m, d) m(2, 726, d) +# define BOOST_PP_REPEAT_1_728(m, d) BOOST_PP_REPEAT_1_727(m, d) m(2, 727, d) +# define BOOST_PP_REPEAT_1_729(m, d) BOOST_PP_REPEAT_1_728(m, d) m(2, 728, d) +# define BOOST_PP_REPEAT_1_730(m, d) BOOST_PP_REPEAT_1_729(m, d) m(2, 729, d) +# define BOOST_PP_REPEAT_1_731(m, d) BOOST_PP_REPEAT_1_730(m, d) m(2, 730, d) +# define BOOST_PP_REPEAT_1_732(m, d) BOOST_PP_REPEAT_1_731(m, d) m(2, 731, d) +# define BOOST_PP_REPEAT_1_733(m, d) BOOST_PP_REPEAT_1_732(m, d) m(2, 732, d) +# define BOOST_PP_REPEAT_1_734(m, d) BOOST_PP_REPEAT_1_733(m, d) m(2, 733, d) +# define BOOST_PP_REPEAT_1_735(m, d) BOOST_PP_REPEAT_1_734(m, d) m(2, 734, d) +# define BOOST_PP_REPEAT_1_736(m, d) BOOST_PP_REPEAT_1_735(m, d) m(2, 735, d) +# define BOOST_PP_REPEAT_1_737(m, d) BOOST_PP_REPEAT_1_736(m, d) m(2, 736, d) +# define BOOST_PP_REPEAT_1_738(m, d) BOOST_PP_REPEAT_1_737(m, d) m(2, 737, d) +# define BOOST_PP_REPEAT_1_739(m, d) BOOST_PP_REPEAT_1_738(m, d) m(2, 738, d) +# define BOOST_PP_REPEAT_1_740(m, d) BOOST_PP_REPEAT_1_739(m, d) m(2, 739, d) +# define BOOST_PP_REPEAT_1_741(m, d) BOOST_PP_REPEAT_1_740(m, d) m(2, 740, d) +# define BOOST_PP_REPEAT_1_742(m, d) BOOST_PP_REPEAT_1_741(m, d) m(2, 741, d) +# define BOOST_PP_REPEAT_1_743(m, d) BOOST_PP_REPEAT_1_742(m, d) m(2, 742, d) +# define BOOST_PP_REPEAT_1_744(m, d) BOOST_PP_REPEAT_1_743(m, d) m(2, 743, d) +# define BOOST_PP_REPEAT_1_745(m, d) BOOST_PP_REPEAT_1_744(m, d) m(2, 744, d) +# define BOOST_PP_REPEAT_1_746(m, d) BOOST_PP_REPEAT_1_745(m, d) m(2, 745, d) +# define BOOST_PP_REPEAT_1_747(m, d) BOOST_PP_REPEAT_1_746(m, d) m(2, 746, d) +# define BOOST_PP_REPEAT_1_748(m, d) BOOST_PP_REPEAT_1_747(m, d) m(2, 747, d) +# define BOOST_PP_REPEAT_1_749(m, d) BOOST_PP_REPEAT_1_748(m, d) m(2, 748, d) +# define BOOST_PP_REPEAT_1_750(m, d) BOOST_PP_REPEAT_1_749(m, d) m(2, 749, d) +# define BOOST_PP_REPEAT_1_751(m, d) BOOST_PP_REPEAT_1_750(m, d) m(2, 750, d) +# define BOOST_PP_REPEAT_1_752(m, d) BOOST_PP_REPEAT_1_751(m, d) m(2, 751, d) +# define BOOST_PP_REPEAT_1_753(m, d) BOOST_PP_REPEAT_1_752(m, d) m(2, 752, d) +# define BOOST_PP_REPEAT_1_754(m, d) BOOST_PP_REPEAT_1_753(m, d) m(2, 753, d) +# define BOOST_PP_REPEAT_1_755(m, d) BOOST_PP_REPEAT_1_754(m, d) m(2, 754, d) +# define BOOST_PP_REPEAT_1_756(m, d) BOOST_PP_REPEAT_1_755(m, d) m(2, 755, d) +# define BOOST_PP_REPEAT_1_757(m, d) BOOST_PP_REPEAT_1_756(m, d) m(2, 756, d) +# define BOOST_PP_REPEAT_1_758(m, d) BOOST_PP_REPEAT_1_757(m, d) m(2, 757, d) +# define BOOST_PP_REPEAT_1_759(m, d) BOOST_PP_REPEAT_1_758(m, d) m(2, 758, d) +# define BOOST_PP_REPEAT_1_760(m, d) BOOST_PP_REPEAT_1_759(m, d) m(2, 759, d) +# define BOOST_PP_REPEAT_1_761(m, d) BOOST_PP_REPEAT_1_760(m, d) m(2, 760, d) +# define BOOST_PP_REPEAT_1_762(m, d) BOOST_PP_REPEAT_1_761(m, d) m(2, 761, d) +# define BOOST_PP_REPEAT_1_763(m, d) BOOST_PP_REPEAT_1_762(m, d) m(2, 762, d) +# define BOOST_PP_REPEAT_1_764(m, d) BOOST_PP_REPEAT_1_763(m, d) m(2, 763, d) +# define BOOST_PP_REPEAT_1_765(m, d) BOOST_PP_REPEAT_1_764(m, d) m(2, 764, d) +# define BOOST_PP_REPEAT_1_766(m, d) BOOST_PP_REPEAT_1_765(m, d) m(2, 765, d) +# define BOOST_PP_REPEAT_1_767(m, d) BOOST_PP_REPEAT_1_766(m, d) m(2, 766, d) +# define BOOST_PP_REPEAT_1_768(m, d) BOOST_PP_REPEAT_1_767(m, d) m(2, 767, d) +# define BOOST_PP_REPEAT_1_769(m, d) BOOST_PP_REPEAT_1_768(m, d) m(2, 768, d) +# define BOOST_PP_REPEAT_1_770(m, d) BOOST_PP_REPEAT_1_769(m, d) m(2, 769, d) +# define BOOST_PP_REPEAT_1_771(m, d) BOOST_PP_REPEAT_1_770(m, d) m(2, 770, d) +# define BOOST_PP_REPEAT_1_772(m, d) BOOST_PP_REPEAT_1_771(m, d) m(2, 771, d) +# define BOOST_PP_REPEAT_1_773(m, d) BOOST_PP_REPEAT_1_772(m, d) m(2, 772, d) +# define BOOST_PP_REPEAT_1_774(m, d) BOOST_PP_REPEAT_1_773(m, d) m(2, 773, d) +# define BOOST_PP_REPEAT_1_775(m, d) BOOST_PP_REPEAT_1_774(m, d) m(2, 774, d) +# define BOOST_PP_REPEAT_1_776(m, d) BOOST_PP_REPEAT_1_775(m, d) m(2, 775, d) +# define BOOST_PP_REPEAT_1_777(m, d) BOOST_PP_REPEAT_1_776(m, d) m(2, 776, d) +# define BOOST_PP_REPEAT_1_778(m, d) BOOST_PP_REPEAT_1_777(m, d) m(2, 777, d) +# define BOOST_PP_REPEAT_1_779(m, d) BOOST_PP_REPEAT_1_778(m, d) m(2, 778, d) +# define BOOST_PP_REPEAT_1_780(m, d) BOOST_PP_REPEAT_1_779(m, d) m(2, 779, d) +# define BOOST_PP_REPEAT_1_781(m, d) BOOST_PP_REPEAT_1_780(m, d) m(2, 780, d) +# define BOOST_PP_REPEAT_1_782(m, d) BOOST_PP_REPEAT_1_781(m, d) m(2, 781, d) +# define BOOST_PP_REPEAT_1_783(m, d) BOOST_PP_REPEAT_1_782(m, d) m(2, 782, d) +# define BOOST_PP_REPEAT_1_784(m, d) BOOST_PP_REPEAT_1_783(m, d) m(2, 783, d) +# define BOOST_PP_REPEAT_1_785(m, d) BOOST_PP_REPEAT_1_784(m, d) m(2, 784, d) +# define BOOST_PP_REPEAT_1_786(m, d) BOOST_PP_REPEAT_1_785(m, d) m(2, 785, d) +# define BOOST_PP_REPEAT_1_787(m, d) BOOST_PP_REPEAT_1_786(m, d) m(2, 786, d) +# define BOOST_PP_REPEAT_1_788(m, d) BOOST_PP_REPEAT_1_787(m, d) m(2, 787, d) +# define BOOST_PP_REPEAT_1_789(m, d) BOOST_PP_REPEAT_1_788(m, d) m(2, 788, d) +# define BOOST_PP_REPEAT_1_790(m, d) BOOST_PP_REPEAT_1_789(m, d) m(2, 789, d) +# define BOOST_PP_REPEAT_1_791(m, d) BOOST_PP_REPEAT_1_790(m, d) m(2, 790, d) +# define BOOST_PP_REPEAT_1_792(m, d) BOOST_PP_REPEAT_1_791(m, d) m(2, 791, d) +# define BOOST_PP_REPEAT_1_793(m, d) BOOST_PP_REPEAT_1_792(m, d) m(2, 792, d) +# define BOOST_PP_REPEAT_1_794(m, d) BOOST_PP_REPEAT_1_793(m, d) m(2, 793, d) +# define BOOST_PP_REPEAT_1_795(m, d) BOOST_PP_REPEAT_1_794(m, d) m(2, 794, d) +# define BOOST_PP_REPEAT_1_796(m, d) BOOST_PP_REPEAT_1_795(m, d) m(2, 795, d) +# define BOOST_PP_REPEAT_1_797(m, d) BOOST_PP_REPEAT_1_796(m, d) m(2, 796, d) +# define BOOST_PP_REPEAT_1_798(m, d) BOOST_PP_REPEAT_1_797(m, d) m(2, 797, d) +# define BOOST_PP_REPEAT_1_799(m, d) BOOST_PP_REPEAT_1_798(m, d) m(2, 798, d) +# define BOOST_PP_REPEAT_1_800(m, d) BOOST_PP_REPEAT_1_799(m, d) m(2, 799, d) +# define BOOST_PP_REPEAT_1_801(m, d) BOOST_PP_REPEAT_1_800(m, d) m(2, 800, d) +# define BOOST_PP_REPEAT_1_802(m, d) BOOST_PP_REPEAT_1_801(m, d) m(2, 801, d) +# define BOOST_PP_REPEAT_1_803(m, d) BOOST_PP_REPEAT_1_802(m, d) m(2, 802, d) +# define BOOST_PP_REPEAT_1_804(m, d) BOOST_PP_REPEAT_1_803(m, d) m(2, 803, d) +# define BOOST_PP_REPEAT_1_805(m, d) BOOST_PP_REPEAT_1_804(m, d) m(2, 804, d) +# define BOOST_PP_REPEAT_1_806(m, d) BOOST_PP_REPEAT_1_805(m, d) m(2, 805, d) +# define BOOST_PP_REPEAT_1_807(m, d) BOOST_PP_REPEAT_1_806(m, d) m(2, 806, d) +# define BOOST_PP_REPEAT_1_808(m, d) BOOST_PP_REPEAT_1_807(m, d) m(2, 807, d) +# define BOOST_PP_REPEAT_1_809(m, d) BOOST_PP_REPEAT_1_808(m, d) m(2, 808, d) +# define BOOST_PP_REPEAT_1_810(m, d) BOOST_PP_REPEAT_1_809(m, d) m(2, 809, d) +# define BOOST_PP_REPEAT_1_811(m, d) BOOST_PP_REPEAT_1_810(m, d) m(2, 810, d) +# define BOOST_PP_REPEAT_1_812(m, d) BOOST_PP_REPEAT_1_811(m, d) m(2, 811, d) +# define BOOST_PP_REPEAT_1_813(m, d) BOOST_PP_REPEAT_1_812(m, d) m(2, 812, d) +# define BOOST_PP_REPEAT_1_814(m, d) BOOST_PP_REPEAT_1_813(m, d) m(2, 813, d) +# define BOOST_PP_REPEAT_1_815(m, d) BOOST_PP_REPEAT_1_814(m, d) m(2, 814, d) +# define BOOST_PP_REPEAT_1_816(m, d) BOOST_PP_REPEAT_1_815(m, d) m(2, 815, d) +# define BOOST_PP_REPEAT_1_817(m, d) BOOST_PP_REPEAT_1_816(m, d) m(2, 816, d) +# define BOOST_PP_REPEAT_1_818(m, d) BOOST_PP_REPEAT_1_817(m, d) m(2, 817, d) +# define BOOST_PP_REPEAT_1_819(m, d) BOOST_PP_REPEAT_1_818(m, d) m(2, 818, d) +# define BOOST_PP_REPEAT_1_820(m, d) BOOST_PP_REPEAT_1_819(m, d) m(2, 819, d) +# define BOOST_PP_REPEAT_1_821(m, d) BOOST_PP_REPEAT_1_820(m, d) m(2, 820, d) +# define BOOST_PP_REPEAT_1_822(m, d) BOOST_PP_REPEAT_1_821(m, d) m(2, 821, d) +# define BOOST_PP_REPEAT_1_823(m, d) BOOST_PP_REPEAT_1_822(m, d) m(2, 822, d) +# define BOOST_PP_REPEAT_1_824(m, d) BOOST_PP_REPEAT_1_823(m, d) m(2, 823, d) +# define BOOST_PP_REPEAT_1_825(m, d) BOOST_PP_REPEAT_1_824(m, d) m(2, 824, d) +# define BOOST_PP_REPEAT_1_826(m, d) BOOST_PP_REPEAT_1_825(m, d) m(2, 825, d) +# define BOOST_PP_REPEAT_1_827(m, d) BOOST_PP_REPEAT_1_826(m, d) m(2, 826, d) +# define BOOST_PP_REPEAT_1_828(m, d) BOOST_PP_REPEAT_1_827(m, d) m(2, 827, d) +# define BOOST_PP_REPEAT_1_829(m, d) BOOST_PP_REPEAT_1_828(m, d) m(2, 828, d) +# define BOOST_PP_REPEAT_1_830(m, d) BOOST_PP_REPEAT_1_829(m, d) m(2, 829, d) +# define BOOST_PP_REPEAT_1_831(m, d) BOOST_PP_REPEAT_1_830(m, d) m(2, 830, d) +# define BOOST_PP_REPEAT_1_832(m, d) BOOST_PP_REPEAT_1_831(m, d) m(2, 831, d) +# define BOOST_PP_REPEAT_1_833(m, d) BOOST_PP_REPEAT_1_832(m, d) m(2, 832, d) +# define BOOST_PP_REPEAT_1_834(m, d) BOOST_PP_REPEAT_1_833(m, d) m(2, 833, d) +# define BOOST_PP_REPEAT_1_835(m, d) BOOST_PP_REPEAT_1_834(m, d) m(2, 834, d) +# define BOOST_PP_REPEAT_1_836(m, d) BOOST_PP_REPEAT_1_835(m, d) m(2, 835, d) +# define BOOST_PP_REPEAT_1_837(m, d) BOOST_PP_REPEAT_1_836(m, d) m(2, 836, d) +# define BOOST_PP_REPEAT_1_838(m, d) BOOST_PP_REPEAT_1_837(m, d) m(2, 837, d) +# define BOOST_PP_REPEAT_1_839(m, d) BOOST_PP_REPEAT_1_838(m, d) m(2, 838, d) +# define BOOST_PP_REPEAT_1_840(m, d) BOOST_PP_REPEAT_1_839(m, d) m(2, 839, d) +# define BOOST_PP_REPEAT_1_841(m, d) BOOST_PP_REPEAT_1_840(m, d) m(2, 840, d) +# define BOOST_PP_REPEAT_1_842(m, d) BOOST_PP_REPEAT_1_841(m, d) m(2, 841, d) +# define BOOST_PP_REPEAT_1_843(m, d) BOOST_PP_REPEAT_1_842(m, d) m(2, 842, d) +# define BOOST_PP_REPEAT_1_844(m, d) BOOST_PP_REPEAT_1_843(m, d) m(2, 843, d) +# define BOOST_PP_REPEAT_1_845(m, d) BOOST_PP_REPEAT_1_844(m, d) m(2, 844, d) +# define BOOST_PP_REPEAT_1_846(m, d) BOOST_PP_REPEAT_1_845(m, d) m(2, 845, d) +# define BOOST_PP_REPEAT_1_847(m, d) BOOST_PP_REPEAT_1_846(m, d) m(2, 846, d) +# define BOOST_PP_REPEAT_1_848(m, d) BOOST_PP_REPEAT_1_847(m, d) m(2, 847, d) +# define BOOST_PP_REPEAT_1_849(m, d) BOOST_PP_REPEAT_1_848(m, d) m(2, 848, d) +# define BOOST_PP_REPEAT_1_850(m, d) BOOST_PP_REPEAT_1_849(m, d) m(2, 849, d) +# define BOOST_PP_REPEAT_1_851(m, d) BOOST_PP_REPEAT_1_850(m, d) m(2, 850, d) +# define BOOST_PP_REPEAT_1_852(m, d) BOOST_PP_REPEAT_1_851(m, d) m(2, 851, d) +# define BOOST_PP_REPEAT_1_853(m, d) BOOST_PP_REPEAT_1_852(m, d) m(2, 852, d) +# define BOOST_PP_REPEAT_1_854(m, d) BOOST_PP_REPEAT_1_853(m, d) m(2, 853, d) +# define BOOST_PP_REPEAT_1_855(m, d) BOOST_PP_REPEAT_1_854(m, d) m(2, 854, d) +# define BOOST_PP_REPEAT_1_856(m, d) BOOST_PP_REPEAT_1_855(m, d) m(2, 855, d) +# define BOOST_PP_REPEAT_1_857(m, d) BOOST_PP_REPEAT_1_856(m, d) m(2, 856, d) +# define BOOST_PP_REPEAT_1_858(m, d) BOOST_PP_REPEAT_1_857(m, d) m(2, 857, d) +# define BOOST_PP_REPEAT_1_859(m, d) BOOST_PP_REPEAT_1_858(m, d) m(2, 858, d) +# define BOOST_PP_REPEAT_1_860(m, d) BOOST_PP_REPEAT_1_859(m, d) m(2, 859, d) +# define BOOST_PP_REPEAT_1_861(m, d) BOOST_PP_REPEAT_1_860(m, d) m(2, 860, d) +# define BOOST_PP_REPEAT_1_862(m, d) BOOST_PP_REPEAT_1_861(m, d) m(2, 861, d) +# define BOOST_PP_REPEAT_1_863(m, d) BOOST_PP_REPEAT_1_862(m, d) m(2, 862, d) +# define BOOST_PP_REPEAT_1_864(m, d) BOOST_PP_REPEAT_1_863(m, d) m(2, 863, d) +# define BOOST_PP_REPEAT_1_865(m, d) BOOST_PP_REPEAT_1_864(m, d) m(2, 864, d) +# define BOOST_PP_REPEAT_1_866(m, d) BOOST_PP_REPEAT_1_865(m, d) m(2, 865, d) +# define BOOST_PP_REPEAT_1_867(m, d) BOOST_PP_REPEAT_1_866(m, d) m(2, 866, d) +# define BOOST_PP_REPEAT_1_868(m, d) BOOST_PP_REPEAT_1_867(m, d) m(2, 867, d) +# define BOOST_PP_REPEAT_1_869(m, d) BOOST_PP_REPEAT_1_868(m, d) m(2, 868, d) +# define BOOST_PP_REPEAT_1_870(m, d) BOOST_PP_REPEAT_1_869(m, d) m(2, 869, d) +# define BOOST_PP_REPEAT_1_871(m, d) BOOST_PP_REPEAT_1_870(m, d) m(2, 870, d) +# define BOOST_PP_REPEAT_1_872(m, d) BOOST_PP_REPEAT_1_871(m, d) m(2, 871, d) +# define BOOST_PP_REPEAT_1_873(m, d) BOOST_PP_REPEAT_1_872(m, d) m(2, 872, d) +# define BOOST_PP_REPEAT_1_874(m, d) BOOST_PP_REPEAT_1_873(m, d) m(2, 873, d) +# define BOOST_PP_REPEAT_1_875(m, d) BOOST_PP_REPEAT_1_874(m, d) m(2, 874, d) +# define BOOST_PP_REPEAT_1_876(m, d) BOOST_PP_REPEAT_1_875(m, d) m(2, 875, d) +# define BOOST_PP_REPEAT_1_877(m, d) BOOST_PP_REPEAT_1_876(m, d) m(2, 876, d) +# define BOOST_PP_REPEAT_1_878(m, d) BOOST_PP_REPEAT_1_877(m, d) m(2, 877, d) +# define BOOST_PP_REPEAT_1_879(m, d) BOOST_PP_REPEAT_1_878(m, d) m(2, 878, d) +# define BOOST_PP_REPEAT_1_880(m, d) BOOST_PP_REPEAT_1_879(m, d) m(2, 879, d) +# define BOOST_PP_REPEAT_1_881(m, d) BOOST_PP_REPEAT_1_880(m, d) m(2, 880, d) +# define BOOST_PP_REPEAT_1_882(m, d) BOOST_PP_REPEAT_1_881(m, d) m(2, 881, d) +# define BOOST_PP_REPEAT_1_883(m, d) BOOST_PP_REPEAT_1_882(m, d) m(2, 882, d) +# define BOOST_PP_REPEAT_1_884(m, d) BOOST_PP_REPEAT_1_883(m, d) m(2, 883, d) +# define BOOST_PP_REPEAT_1_885(m, d) BOOST_PP_REPEAT_1_884(m, d) m(2, 884, d) +# define BOOST_PP_REPEAT_1_886(m, d) BOOST_PP_REPEAT_1_885(m, d) m(2, 885, d) +# define BOOST_PP_REPEAT_1_887(m, d) BOOST_PP_REPEAT_1_886(m, d) m(2, 886, d) +# define BOOST_PP_REPEAT_1_888(m, d) BOOST_PP_REPEAT_1_887(m, d) m(2, 887, d) +# define BOOST_PP_REPEAT_1_889(m, d) BOOST_PP_REPEAT_1_888(m, d) m(2, 888, d) +# define BOOST_PP_REPEAT_1_890(m, d) BOOST_PP_REPEAT_1_889(m, d) m(2, 889, d) +# define BOOST_PP_REPEAT_1_891(m, d) BOOST_PP_REPEAT_1_890(m, d) m(2, 890, d) +# define BOOST_PP_REPEAT_1_892(m, d) BOOST_PP_REPEAT_1_891(m, d) m(2, 891, d) +# define BOOST_PP_REPEAT_1_893(m, d) BOOST_PP_REPEAT_1_892(m, d) m(2, 892, d) +# define BOOST_PP_REPEAT_1_894(m, d) BOOST_PP_REPEAT_1_893(m, d) m(2, 893, d) +# define BOOST_PP_REPEAT_1_895(m, d) BOOST_PP_REPEAT_1_894(m, d) m(2, 894, d) +# define BOOST_PP_REPEAT_1_896(m, d) BOOST_PP_REPEAT_1_895(m, d) m(2, 895, d) +# define BOOST_PP_REPEAT_1_897(m, d) BOOST_PP_REPEAT_1_896(m, d) m(2, 896, d) +# define BOOST_PP_REPEAT_1_898(m, d) BOOST_PP_REPEAT_1_897(m, d) m(2, 897, d) +# define BOOST_PP_REPEAT_1_899(m, d) BOOST_PP_REPEAT_1_898(m, d) m(2, 898, d) +# define BOOST_PP_REPEAT_1_900(m, d) BOOST_PP_REPEAT_1_899(m, d) m(2, 899, d) +# define BOOST_PP_REPEAT_1_901(m, d) BOOST_PP_REPEAT_1_900(m, d) m(2, 900, d) +# define BOOST_PP_REPEAT_1_902(m, d) BOOST_PP_REPEAT_1_901(m, d) m(2, 901, d) +# define BOOST_PP_REPEAT_1_903(m, d) BOOST_PP_REPEAT_1_902(m, d) m(2, 902, d) +# define BOOST_PP_REPEAT_1_904(m, d) BOOST_PP_REPEAT_1_903(m, d) m(2, 903, d) +# define BOOST_PP_REPEAT_1_905(m, d) BOOST_PP_REPEAT_1_904(m, d) m(2, 904, d) +# define BOOST_PP_REPEAT_1_906(m, d) BOOST_PP_REPEAT_1_905(m, d) m(2, 905, d) +# define BOOST_PP_REPEAT_1_907(m, d) BOOST_PP_REPEAT_1_906(m, d) m(2, 906, d) +# define BOOST_PP_REPEAT_1_908(m, d) BOOST_PP_REPEAT_1_907(m, d) m(2, 907, d) +# define BOOST_PP_REPEAT_1_909(m, d) BOOST_PP_REPEAT_1_908(m, d) m(2, 908, d) +# define BOOST_PP_REPEAT_1_910(m, d) BOOST_PP_REPEAT_1_909(m, d) m(2, 909, d) +# define BOOST_PP_REPEAT_1_911(m, d) BOOST_PP_REPEAT_1_910(m, d) m(2, 910, d) +# define BOOST_PP_REPEAT_1_912(m, d) BOOST_PP_REPEAT_1_911(m, d) m(2, 911, d) +# define BOOST_PP_REPEAT_1_913(m, d) BOOST_PP_REPEAT_1_912(m, d) m(2, 912, d) +# define BOOST_PP_REPEAT_1_914(m, d) BOOST_PP_REPEAT_1_913(m, d) m(2, 913, d) +# define BOOST_PP_REPEAT_1_915(m, d) BOOST_PP_REPEAT_1_914(m, d) m(2, 914, d) +# define BOOST_PP_REPEAT_1_916(m, d) BOOST_PP_REPEAT_1_915(m, d) m(2, 915, d) +# define BOOST_PP_REPEAT_1_917(m, d) BOOST_PP_REPEAT_1_916(m, d) m(2, 916, d) +# define BOOST_PP_REPEAT_1_918(m, d) BOOST_PP_REPEAT_1_917(m, d) m(2, 917, d) +# define BOOST_PP_REPEAT_1_919(m, d) BOOST_PP_REPEAT_1_918(m, d) m(2, 918, d) +# define BOOST_PP_REPEAT_1_920(m, d) BOOST_PP_REPEAT_1_919(m, d) m(2, 919, d) +# define BOOST_PP_REPEAT_1_921(m, d) BOOST_PP_REPEAT_1_920(m, d) m(2, 920, d) +# define BOOST_PP_REPEAT_1_922(m, d) BOOST_PP_REPEAT_1_921(m, d) m(2, 921, d) +# define BOOST_PP_REPEAT_1_923(m, d) BOOST_PP_REPEAT_1_922(m, d) m(2, 922, d) +# define BOOST_PP_REPEAT_1_924(m, d) BOOST_PP_REPEAT_1_923(m, d) m(2, 923, d) +# define BOOST_PP_REPEAT_1_925(m, d) BOOST_PP_REPEAT_1_924(m, d) m(2, 924, d) +# define BOOST_PP_REPEAT_1_926(m, d) BOOST_PP_REPEAT_1_925(m, d) m(2, 925, d) +# define BOOST_PP_REPEAT_1_927(m, d) BOOST_PP_REPEAT_1_926(m, d) m(2, 926, d) +# define BOOST_PP_REPEAT_1_928(m, d) BOOST_PP_REPEAT_1_927(m, d) m(2, 927, d) +# define BOOST_PP_REPEAT_1_929(m, d) BOOST_PP_REPEAT_1_928(m, d) m(2, 928, d) +# define BOOST_PP_REPEAT_1_930(m, d) BOOST_PP_REPEAT_1_929(m, d) m(2, 929, d) +# define BOOST_PP_REPEAT_1_931(m, d) BOOST_PP_REPEAT_1_930(m, d) m(2, 930, d) +# define BOOST_PP_REPEAT_1_932(m, d) BOOST_PP_REPEAT_1_931(m, d) m(2, 931, d) +# define BOOST_PP_REPEAT_1_933(m, d) BOOST_PP_REPEAT_1_932(m, d) m(2, 932, d) +# define BOOST_PP_REPEAT_1_934(m, d) BOOST_PP_REPEAT_1_933(m, d) m(2, 933, d) +# define BOOST_PP_REPEAT_1_935(m, d) BOOST_PP_REPEAT_1_934(m, d) m(2, 934, d) +# define BOOST_PP_REPEAT_1_936(m, d) BOOST_PP_REPEAT_1_935(m, d) m(2, 935, d) +# define BOOST_PP_REPEAT_1_937(m, d) BOOST_PP_REPEAT_1_936(m, d) m(2, 936, d) +# define BOOST_PP_REPEAT_1_938(m, d) BOOST_PP_REPEAT_1_937(m, d) m(2, 937, d) +# define BOOST_PP_REPEAT_1_939(m, d) BOOST_PP_REPEAT_1_938(m, d) m(2, 938, d) +# define BOOST_PP_REPEAT_1_940(m, d) BOOST_PP_REPEAT_1_939(m, d) m(2, 939, d) +# define BOOST_PP_REPEAT_1_941(m, d) BOOST_PP_REPEAT_1_940(m, d) m(2, 940, d) +# define BOOST_PP_REPEAT_1_942(m, d) BOOST_PP_REPEAT_1_941(m, d) m(2, 941, d) +# define BOOST_PP_REPEAT_1_943(m, d) BOOST_PP_REPEAT_1_942(m, d) m(2, 942, d) +# define BOOST_PP_REPEAT_1_944(m, d) BOOST_PP_REPEAT_1_943(m, d) m(2, 943, d) +# define BOOST_PP_REPEAT_1_945(m, d) BOOST_PP_REPEAT_1_944(m, d) m(2, 944, d) +# define BOOST_PP_REPEAT_1_946(m, d) BOOST_PP_REPEAT_1_945(m, d) m(2, 945, d) +# define BOOST_PP_REPEAT_1_947(m, d) BOOST_PP_REPEAT_1_946(m, d) m(2, 946, d) +# define BOOST_PP_REPEAT_1_948(m, d) BOOST_PP_REPEAT_1_947(m, d) m(2, 947, d) +# define BOOST_PP_REPEAT_1_949(m, d) BOOST_PP_REPEAT_1_948(m, d) m(2, 948, d) +# define BOOST_PP_REPEAT_1_950(m, d) BOOST_PP_REPEAT_1_949(m, d) m(2, 949, d) +# define BOOST_PP_REPEAT_1_951(m, d) BOOST_PP_REPEAT_1_950(m, d) m(2, 950, d) +# define BOOST_PP_REPEAT_1_952(m, d) BOOST_PP_REPEAT_1_951(m, d) m(2, 951, d) +# define BOOST_PP_REPEAT_1_953(m, d) BOOST_PP_REPEAT_1_952(m, d) m(2, 952, d) +# define BOOST_PP_REPEAT_1_954(m, d) BOOST_PP_REPEAT_1_953(m, d) m(2, 953, d) +# define BOOST_PP_REPEAT_1_955(m, d) BOOST_PP_REPEAT_1_954(m, d) m(2, 954, d) +# define BOOST_PP_REPEAT_1_956(m, d) BOOST_PP_REPEAT_1_955(m, d) m(2, 955, d) +# define BOOST_PP_REPEAT_1_957(m, d) BOOST_PP_REPEAT_1_956(m, d) m(2, 956, d) +# define BOOST_PP_REPEAT_1_958(m, d) BOOST_PP_REPEAT_1_957(m, d) m(2, 957, d) +# define BOOST_PP_REPEAT_1_959(m, d) BOOST_PP_REPEAT_1_958(m, d) m(2, 958, d) +# define BOOST_PP_REPEAT_1_960(m, d) BOOST_PP_REPEAT_1_959(m, d) m(2, 959, d) +# define BOOST_PP_REPEAT_1_961(m, d) BOOST_PP_REPEAT_1_960(m, d) m(2, 960, d) +# define BOOST_PP_REPEAT_1_962(m, d) BOOST_PP_REPEAT_1_961(m, d) m(2, 961, d) +# define BOOST_PP_REPEAT_1_963(m, d) BOOST_PP_REPEAT_1_962(m, d) m(2, 962, d) +# define BOOST_PP_REPEAT_1_964(m, d) BOOST_PP_REPEAT_1_963(m, d) m(2, 963, d) +# define BOOST_PP_REPEAT_1_965(m, d) BOOST_PP_REPEAT_1_964(m, d) m(2, 964, d) +# define BOOST_PP_REPEAT_1_966(m, d) BOOST_PP_REPEAT_1_965(m, d) m(2, 965, d) +# define BOOST_PP_REPEAT_1_967(m, d) BOOST_PP_REPEAT_1_966(m, d) m(2, 966, d) +# define BOOST_PP_REPEAT_1_968(m, d) BOOST_PP_REPEAT_1_967(m, d) m(2, 967, d) +# define BOOST_PP_REPEAT_1_969(m, d) BOOST_PP_REPEAT_1_968(m, d) m(2, 968, d) +# define BOOST_PP_REPEAT_1_970(m, d) BOOST_PP_REPEAT_1_969(m, d) m(2, 969, d) +# define BOOST_PP_REPEAT_1_971(m, d) BOOST_PP_REPEAT_1_970(m, d) m(2, 970, d) +# define BOOST_PP_REPEAT_1_972(m, d) BOOST_PP_REPEAT_1_971(m, d) m(2, 971, d) +# define BOOST_PP_REPEAT_1_973(m, d) BOOST_PP_REPEAT_1_972(m, d) m(2, 972, d) +# define BOOST_PP_REPEAT_1_974(m, d) BOOST_PP_REPEAT_1_973(m, d) m(2, 973, d) +# define BOOST_PP_REPEAT_1_975(m, d) BOOST_PP_REPEAT_1_974(m, d) m(2, 974, d) +# define BOOST_PP_REPEAT_1_976(m, d) BOOST_PP_REPEAT_1_975(m, d) m(2, 975, d) +# define BOOST_PP_REPEAT_1_977(m, d) BOOST_PP_REPEAT_1_976(m, d) m(2, 976, d) +# define BOOST_PP_REPEAT_1_978(m, d) BOOST_PP_REPEAT_1_977(m, d) m(2, 977, d) +# define BOOST_PP_REPEAT_1_979(m, d) BOOST_PP_REPEAT_1_978(m, d) m(2, 978, d) +# define BOOST_PP_REPEAT_1_980(m, d) BOOST_PP_REPEAT_1_979(m, d) m(2, 979, d) +# define BOOST_PP_REPEAT_1_981(m, d) BOOST_PP_REPEAT_1_980(m, d) m(2, 980, d) +# define BOOST_PP_REPEAT_1_982(m, d) BOOST_PP_REPEAT_1_981(m, d) m(2, 981, d) +# define BOOST_PP_REPEAT_1_983(m, d) BOOST_PP_REPEAT_1_982(m, d) m(2, 982, d) +# define BOOST_PP_REPEAT_1_984(m, d) BOOST_PP_REPEAT_1_983(m, d) m(2, 983, d) +# define BOOST_PP_REPEAT_1_985(m, d) BOOST_PP_REPEAT_1_984(m, d) m(2, 984, d) +# define BOOST_PP_REPEAT_1_986(m, d) BOOST_PP_REPEAT_1_985(m, d) m(2, 985, d) +# define BOOST_PP_REPEAT_1_987(m, d) BOOST_PP_REPEAT_1_986(m, d) m(2, 986, d) +# define BOOST_PP_REPEAT_1_988(m, d) BOOST_PP_REPEAT_1_987(m, d) m(2, 987, d) +# define BOOST_PP_REPEAT_1_989(m, d) BOOST_PP_REPEAT_1_988(m, d) m(2, 988, d) +# define BOOST_PP_REPEAT_1_990(m, d) BOOST_PP_REPEAT_1_989(m, d) m(2, 989, d) +# define BOOST_PP_REPEAT_1_991(m, d) BOOST_PP_REPEAT_1_990(m, d) m(2, 990, d) +# define BOOST_PP_REPEAT_1_992(m, d) BOOST_PP_REPEAT_1_991(m, d) m(2, 991, d) +# define BOOST_PP_REPEAT_1_993(m, d) BOOST_PP_REPEAT_1_992(m, d) m(2, 992, d) +# define BOOST_PP_REPEAT_1_994(m, d) BOOST_PP_REPEAT_1_993(m, d) m(2, 993, d) +# define BOOST_PP_REPEAT_1_995(m, d) BOOST_PP_REPEAT_1_994(m, d) m(2, 994, d) +# define BOOST_PP_REPEAT_1_996(m, d) BOOST_PP_REPEAT_1_995(m, d) m(2, 995, d) +# define BOOST_PP_REPEAT_1_997(m, d) BOOST_PP_REPEAT_1_996(m, d) m(2, 996, d) +# define BOOST_PP_REPEAT_1_998(m, d) BOOST_PP_REPEAT_1_997(m, d) m(2, 997, d) +# define BOOST_PP_REPEAT_1_999(m, d) BOOST_PP_REPEAT_1_998(m, d) m(2, 998, d) +# define BOOST_PP_REPEAT_1_1000(m, d) BOOST_PP_REPEAT_1_999(m, d) m(2, 999, d) +# define BOOST_PP_REPEAT_1_1001(m, d) BOOST_PP_REPEAT_1_1000(m, d) m(2, 1000, d) +# define BOOST_PP_REPEAT_1_1002(m, d) BOOST_PP_REPEAT_1_1001(m, d) m(2, 1001, d) +# define BOOST_PP_REPEAT_1_1003(m, d) BOOST_PP_REPEAT_1_1002(m, d) m(2, 1002, d) +# define BOOST_PP_REPEAT_1_1004(m, d) BOOST_PP_REPEAT_1_1003(m, d) m(2, 1003, d) +# define BOOST_PP_REPEAT_1_1005(m, d) BOOST_PP_REPEAT_1_1004(m, d) m(2, 1004, d) +# define BOOST_PP_REPEAT_1_1006(m, d) BOOST_PP_REPEAT_1_1005(m, d) m(2, 1005, d) +# define BOOST_PP_REPEAT_1_1007(m, d) BOOST_PP_REPEAT_1_1006(m, d) m(2, 1006, d) +# define BOOST_PP_REPEAT_1_1008(m, d) BOOST_PP_REPEAT_1_1007(m, d) m(2, 1007, d) +# define BOOST_PP_REPEAT_1_1009(m, d) BOOST_PP_REPEAT_1_1008(m, d) m(2, 1008, d) +# define BOOST_PP_REPEAT_1_1010(m, d) BOOST_PP_REPEAT_1_1009(m, d) m(2, 1009, d) +# define BOOST_PP_REPEAT_1_1011(m, d) BOOST_PP_REPEAT_1_1010(m, d) m(2, 1010, d) +# define BOOST_PP_REPEAT_1_1012(m, d) BOOST_PP_REPEAT_1_1011(m, d) m(2, 1011, d) +# define BOOST_PP_REPEAT_1_1013(m, d) BOOST_PP_REPEAT_1_1012(m, d) m(2, 1012, d) +# define BOOST_PP_REPEAT_1_1014(m, d) BOOST_PP_REPEAT_1_1013(m, d) m(2, 1013, d) +# define BOOST_PP_REPEAT_1_1015(m, d) BOOST_PP_REPEAT_1_1014(m, d) m(2, 1014, d) +# define BOOST_PP_REPEAT_1_1016(m, d) BOOST_PP_REPEAT_1_1015(m, d) m(2, 1015, d) +# define BOOST_PP_REPEAT_1_1017(m, d) BOOST_PP_REPEAT_1_1016(m, d) m(2, 1016, d) +# define BOOST_PP_REPEAT_1_1018(m, d) BOOST_PP_REPEAT_1_1017(m, d) m(2, 1017, d) +# define BOOST_PP_REPEAT_1_1019(m, d) BOOST_PP_REPEAT_1_1018(m, d) m(2, 1018, d) +# define BOOST_PP_REPEAT_1_1020(m, d) BOOST_PP_REPEAT_1_1019(m, d) m(2, 1019, d) +# define BOOST_PP_REPEAT_1_1021(m, d) BOOST_PP_REPEAT_1_1020(m, d) m(2, 1020, d) +# define BOOST_PP_REPEAT_1_1022(m, d) BOOST_PP_REPEAT_1_1021(m, d) m(2, 1021, d) +# define BOOST_PP_REPEAT_1_1023(m, d) BOOST_PP_REPEAT_1_1022(m, d) m(2, 1022, d) +# define BOOST_PP_REPEAT_1_1024(m, d) BOOST_PP_REPEAT_1_1023(m, d) m(2, 1023, d) +# +# define BOOST_PP_REPEAT_2_513(m, d) BOOST_PP_REPEAT_2_512(m, d) m(3, 512, d) +# define BOOST_PP_REPEAT_2_514(m, d) BOOST_PP_REPEAT_2_513(m, d) m(3, 513, d) +# define BOOST_PP_REPEAT_2_515(m, d) BOOST_PP_REPEAT_2_514(m, d) m(3, 514, d) +# define BOOST_PP_REPEAT_2_516(m, d) BOOST_PP_REPEAT_2_515(m, d) m(3, 515, d) +# define BOOST_PP_REPEAT_2_517(m, d) BOOST_PP_REPEAT_2_516(m, d) m(3, 516, d) +# define BOOST_PP_REPEAT_2_518(m, d) BOOST_PP_REPEAT_2_517(m, d) m(3, 517, d) +# define BOOST_PP_REPEAT_2_519(m, d) BOOST_PP_REPEAT_2_518(m, d) m(3, 518, d) +# define BOOST_PP_REPEAT_2_520(m, d) BOOST_PP_REPEAT_2_519(m, d) m(3, 519, d) +# define BOOST_PP_REPEAT_2_521(m, d) BOOST_PP_REPEAT_2_520(m, d) m(3, 520, d) +# define BOOST_PP_REPEAT_2_522(m, d) BOOST_PP_REPEAT_2_521(m, d) m(3, 521, d) +# define BOOST_PP_REPEAT_2_523(m, d) BOOST_PP_REPEAT_2_522(m, d) m(3, 522, d) +# define BOOST_PP_REPEAT_2_524(m, d) BOOST_PP_REPEAT_2_523(m, d) m(3, 523, d) +# define BOOST_PP_REPEAT_2_525(m, d) BOOST_PP_REPEAT_2_524(m, d) m(3, 524, d) +# define BOOST_PP_REPEAT_2_526(m, d) BOOST_PP_REPEAT_2_525(m, d) m(3, 525, d) +# define BOOST_PP_REPEAT_2_527(m, d) BOOST_PP_REPEAT_2_526(m, d) m(3, 526, d) +# define BOOST_PP_REPEAT_2_528(m, d) BOOST_PP_REPEAT_2_527(m, d) m(3, 527, d) +# define BOOST_PP_REPEAT_2_529(m, d) BOOST_PP_REPEAT_2_528(m, d) m(3, 528, d) +# define BOOST_PP_REPEAT_2_530(m, d) BOOST_PP_REPEAT_2_529(m, d) m(3, 529, d) +# define BOOST_PP_REPEAT_2_531(m, d) BOOST_PP_REPEAT_2_530(m, d) m(3, 530, d) +# define BOOST_PP_REPEAT_2_532(m, d) BOOST_PP_REPEAT_2_531(m, d) m(3, 531, d) +# define BOOST_PP_REPEAT_2_533(m, d) BOOST_PP_REPEAT_2_532(m, d) m(3, 532, d) +# define BOOST_PP_REPEAT_2_534(m, d) BOOST_PP_REPEAT_2_533(m, d) m(3, 533, d) +# define BOOST_PP_REPEAT_2_535(m, d) BOOST_PP_REPEAT_2_534(m, d) m(3, 534, d) +# define BOOST_PP_REPEAT_2_536(m, d) BOOST_PP_REPEAT_2_535(m, d) m(3, 535, d) +# define BOOST_PP_REPEAT_2_537(m, d) BOOST_PP_REPEAT_2_536(m, d) m(3, 536, d) +# define BOOST_PP_REPEAT_2_538(m, d) BOOST_PP_REPEAT_2_537(m, d) m(3, 537, d) +# define BOOST_PP_REPEAT_2_539(m, d) BOOST_PP_REPEAT_2_538(m, d) m(3, 538, d) +# define BOOST_PP_REPEAT_2_540(m, d) BOOST_PP_REPEAT_2_539(m, d) m(3, 539, d) +# define BOOST_PP_REPEAT_2_541(m, d) BOOST_PP_REPEAT_2_540(m, d) m(3, 540, d) +# define BOOST_PP_REPEAT_2_542(m, d) BOOST_PP_REPEAT_2_541(m, d) m(3, 541, d) +# define BOOST_PP_REPEAT_2_543(m, d) BOOST_PP_REPEAT_2_542(m, d) m(3, 542, d) +# define BOOST_PP_REPEAT_2_544(m, d) BOOST_PP_REPEAT_2_543(m, d) m(3, 543, d) +# define BOOST_PP_REPEAT_2_545(m, d) BOOST_PP_REPEAT_2_544(m, d) m(3, 544, d) +# define BOOST_PP_REPEAT_2_546(m, d) BOOST_PP_REPEAT_2_545(m, d) m(3, 545, d) +# define BOOST_PP_REPEAT_2_547(m, d) BOOST_PP_REPEAT_2_546(m, d) m(3, 546, d) +# define BOOST_PP_REPEAT_2_548(m, d) BOOST_PP_REPEAT_2_547(m, d) m(3, 547, d) +# define BOOST_PP_REPEAT_2_549(m, d) BOOST_PP_REPEAT_2_548(m, d) m(3, 548, d) +# define BOOST_PP_REPEAT_2_550(m, d) BOOST_PP_REPEAT_2_549(m, d) m(3, 549, d) +# define BOOST_PP_REPEAT_2_551(m, d) BOOST_PP_REPEAT_2_550(m, d) m(3, 550, d) +# define BOOST_PP_REPEAT_2_552(m, d) BOOST_PP_REPEAT_2_551(m, d) m(3, 551, d) +# define BOOST_PP_REPEAT_2_553(m, d) BOOST_PP_REPEAT_2_552(m, d) m(3, 552, d) +# define BOOST_PP_REPEAT_2_554(m, d) BOOST_PP_REPEAT_2_553(m, d) m(3, 553, d) +# define BOOST_PP_REPEAT_2_555(m, d) BOOST_PP_REPEAT_2_554(m, d) m(3, 554, d) +# define BOOST_PP_REPEAT_2_556(m, d) BOOST_PP_REPEAT_2_555(m, d) m(3, 555, d) +# define BOOST_PP_REPEAT_2_557(m, d) BOOST_PP_REPEAT_2_556(m, d) m(3, 556, d) +# define BOOST_PP_REPEAT_2_558(m, d) BOOST_PP_REPEAT_2_557(m, d) m(3, 557, d) +# define BOOST_PP_REPEAT_2_559(m, d) BOOST_PP_REPEAT_2_558(m, d) m(3, 558, d) +# define BOOST_PP_REPEAT_2_560(m, d) BOOST_PP_REPEAT_2_559(m, d) m(3, 559, d) +# define BOOST_PP_REPEAT_2_561(m, d) BOOST_PP_REPEAT_2_560(m, d) m(3, 560, d) +# define BOOST_PP_REPEAT_2_562(m, d) BOOST_PP_REPEAT_2_561(m, d) m(3, 561, d) +# define BOOST_PP_REPEAT_2_563(m, d) BOOST_PP_REPEAT_2_562(m, d) m(3, 562, d) +# define BOOST_PP_REPEAT_2_564(m, d) BOOST_PP_REPEAT_2_563(m, d) m(3, 563, d) +# define BOOST_PP_REPEAT_2_565(m, d) BOOST_PP_REPEAT_2_564(m, d) m(3, 564, d) +# define BOOST_PP_REPEAT_2_566(m, d) BOOST_PP_REPEAT_2_565(m, d) m(3, 565, d) +# define BOOST_PP_REPEAT_2_567(m, d) BOOST_PP_REPEAT_2_566(m, d) m(3, 566, d) +# define BOOST_PP_REPEAT_2_568(m, d) BOOST_PP_REPEAT_2_567(m, d) m(3, 567, d) +# define BOOST_PP_REPEAT_2_569(m, d) BOOST_PP_REPEAT_2_568(m, d) m(3, 568, d) +# define BOOST_PP_REPEAT_2_570(m, d) BOOST_PP_REPEAT_2_569(m, d) m(3, 569, d) +# define BOOST_PP_REPEAT_2_571(m, d) BOOST_PP_REPEAT_2_570(m, d) m(3, 570, d) +# define BOOST_PP_REPEAT_2_572(m, d) BOOST_PP_REPEAT_2_571(m, d) m(3, 571, d) +# define BOOST_PP_REPEAT_2_573(m, d) BOOST_PP_REPEAT_2_572(m, d) m(3, 572, d) +# define BOOST_PP_REPEAT_2_574(m, d) BOOST_PP_REPEAT_2_573(m, d) m(3, 573, d) +# define BOOST_PP_REPEAT_2_575(m, d) BOOST_PP_REPEAT_2_574(m, d) m(3, 574, d) +# define BOOST_PP_REPEAT_2_576(m, d) BOOST_PP_REPEAT_2_575(m, d) m(3, 575, d) +# define BOOST_PP_REPEAT_2_577(m, d) BOOST_PP_REPEAT_2_576(m, d) m(3, 576, d) +# define BOOST_PP_REPEAT_2_578(m, d) BOOST_PP_REPEAT_2_577(m, d) m(3, 577, d) +# define BOOST_PP_REPEAT_2_579(m, d) BOOST_PP_REPEAT_2_578(m, d) m(3, 578, d) +# define BOOST_PP_REPEAT_2_580(m, d) BOOST_PP_REPEAT_2_579(m, d) m(3, 579, d) +# define BOOST_PP_REPEAT_2_581(m, d) BOOST_PP_REPEAT_2_580(m, d) m(3, 580, d) +# define BOOST_PP_REPEAT_2_582(m, d) BOOST_PP_REPEAT_2_581(m, d) m(3, 581, d) +# define BOOST_PP_REPEAT_2_583(m, d) BOOST_PP_REPEAT_2_582(m, d) m(3, 582, d) +# define BOOST_PP_REPEAT_2_584(m, d) BOOST_PP_REPEAT_2_583(m, d) m(3, 583, d) +# define BOOST_PP_REPEAT_2_585(m, d) BOOST_PP_REPEAT_2_584(m, d) m(3, 584, d) +# define BOOST_PP_REPEAT_2_586(m, d) BOOST_PP_REPEAT_2_585(m, d) m(3, 585, d) +# define BOOST_PP_REPEAT_2_587(m, d) BOOST_PP_REPEAT_2_586(m, d) m(3, 586, d) +# define BOOST_PP_REPEAT_2_588(m, d) BOOST_PP_REPEAT_2_587(m, d) m(3, 587, d) +# define BOOST_PP_REPEAT_2_589(m, d) BOOST_PP_REPEAT_2_588(m, d) m(3, 588, d) +# define BOOST_PP_REPEAT_2_590(m, d) BOOST_PP_REPEAT_2_589(m, d) m(3, 589, d) +# define BOOST_PP_REPEAT_2_591(m, d) BOOST_PP_REPEAT_2_590(m, d) m(3, 590, d) +# define BOOST_PP_REPEAT_2_592(m, d) BOOST_PP_REPEAT_2_591(m, d) m(3, 591, d) +# define BOOST_PP_REPEAT_2_593(m, d) BOOST_PP_REPEAT_2_592(m, d) m(3, 592, d) +# define BOOST_PP_REPEAT_2_594(m, d) BOOST_PP_REPEAT_2_593(m, d) m(3, 593, d) +# define BOOST_PP_REPEAT_2_595(m, d) BOOST_PP_REPEAT_2_594(m, d) m(3, 594, d) +# define BOOST_PP_REPEAT_2_596(m, d) BOOST_PP_REPEAT_2_595(m, d) m(3, 595, d) +# define BOOST_PP_REPEAT_2_597(m, d) BOOST_PP_REPEAT_2_596(m, d) m(3, 596, d) +# define BOOST_PP_REPEAT_2_598(m, d) BOOST_PP_REPEAT_2_597(m, d) m(3, 597, d) +# define BOOST_PP_REPEAT_2_599(m, d) BOOST_PP_REPEAT_2_598(m, d) m(3, 598, d) +# define BOOST_PP_REPEAT_2_600(m, d) BOOST_PP_REPEAT_2_599(m, d) m(3, 599, d) +# define BOOST_PP_REPEAT_2_601(m, d) BOOST_PP_REPEAT_2_600(m, d) m(3, 600, d) +# define BOOST_PP_REPEAT_2_602(m, d) BOOST_PP_REPEAT_2_601(m, d) m(3, 601, d) +# define BOOST_PP_REPEAT_2_603(m, d) BOOST_PP_REPEAT_2_602(m, d) m(3, 602, d) +# define BOOST_PP_REPEAT_2_604(m, d) BOOST_PP_REPEAT_2_603(m, d) m(3, 603, d) +# define BOOST_PP_REPEAT_2_605(m, d) BOOST_PP_REPEAT_2_604(m, d) m(3, 604, d) +# define BOOST_PP_REPEAT_2_606(m, d) BOOST_PP_REPEAT_2_605(m, d) m(3, 605, d) +# define BOOST_PP_REPEAT_2_607(m, d) BOOST_PP_REPEAT_2_606(m, d) m(3, 606, d) +# define BOOST_PP_REPEAT_2_608(m, d) BOOST_PP_REPEAT_2_607(m, d) m(3, 607, d) +# define BOOST_PP_REPEAT_2_609(m, d) BOOST_PP_REPEAT_2_608(m, d) m(3, 608, d) +# define BOOST_PP_REPEAT_2_610(m, d) BOOST_PP_REPEAT_2_609(m, d) m(3, 609, d) +# define BOOST_PP_REPEAT_2_611(m, d) BOOST_PP_REPEAT_2_610(m, d) m(3, 610, d) +# define BOOST_PP_REPEAT_2_612(m, d) BOOST_PP_REPEAT_2_611(m, d) m(3, 611, d) +# define BOOST_PP_REPEAT_2_613(m, d) BOOST_PP_REPEAT_2_612(m, d) m(3, 612, d) +# define BOOST_PP_REPEAT_2_614(m, d) BOOST_PP_REPEAT_2_613(m, d) m(3, 613, d) +# define BOOST_PP_REPEAT_2_615(m, d) BOOST_PP_REPEAT_2_614(m, d) m(3, 614, d) +# define BOOST_PP_REPEAT_2_616(m, d) BOOST_PP_REPEAT_2_615(m, d) m(3, 615, d) +# define BOOST_PP_REPEAT_2_617(m, d) BOOST_PP_REPEAT_2_616(m, d) m(3, 616, d) +# define BOOST_PP_REPEAT_2_618(m, d) BOOST_PP_REPEAT_2_617(m, d) m(3, 617, d) +# define BOOST_PP_REPEAT_2_619(m, d) BOOST_PP_REPEAT_2_618(m, d) m(3, 618, d) +# define BOOST_PP_REPEAT_2_620(m, d) BOOST_PP_REPEAT_2_619(m, d) m(3, 619, d) +# define BOOST_PP_REPEAT_2_621(m, d) BOOST_PP_REPEAT_2_620(m, d) m(3, 620, d) +# define BOOST_PP_REPEAT_2_622(m, d) BOOST_PP_REPEAT_2_621(m, d) m(3, 621, d) +# define BOOST_PP_REPEAT_2_623(m, d) BOOST_PP_REPEAT_2_622(m, d) m(3, 622, d) +# define BOOST_PP_REPEAT_2_624(m, d) BOOST_PP_REPEAT_2_623(m, d) m(3, 623, d) +# define BOOST_PP_REPEAT_2_625(m, d) BOOST_PP_REPEAT_2_624(m, d) m(3, 624, d) +# define BOOST_PP_REPEAT_2_626(m, d) BOOST_PP_REPEAT_2_625(m, d) m(3, 625, d) +# define BOOST_PP_REPEAT_2_627(m, d) BOOST_PP_REPEAT_2_626(m, d) m(3, 626, d) +# define BOOST_PP_REPEAT_2_628(m, d) BOOST_PP_REPEAT_2_627(m, d) m(3, 627, d) +# define BOOST_PP_REPEAT_2_629(m, d) BOOST_PP_REPEAT_2_628(m, d) m(3, 628, d) +# define BOOST_PP_REPEAT_2_630(m, d) BOOST_PP_REPEAT_2_629(m, d) m(3, 629, d) +# define BOOST_PP_REPEAT_2_631(m, d) BOOST_PP_REPEAT_2_630(m, d) m(3, 630, d) +# define BOOST_PP_REPEAT_2_632(m, d) BOOST_PP_REPEAT_2_631(m, d) m(3, 631, d) +# define BOOST_PP_REPEAT_2_633(m, d) BOOST_PP_REPEAT_2_632(m, d) m(3, 632, d) +# define BOOST_PP_REPEAT_2_634(m, d) BOOST_PP_REPEAT_2_633(m, d) m(3, 633, d) +# define BOOST_PP_REPEAT_2_635(m, d) BOOST_PP_REPEAT_2_634(m, d) m(3, 634, d) +# define BOOST_PP_REPEAT_2_636(m, d) BOOST_PP_REPEAT_2_635(m, d) m(3, 635, d) +# define BOOST_PP_REPEAT_2_637(m, d) BOOST_PP_REPEAT_2_636(m, d) m(3, 636, d) +# define BOOST_PP_REPEAT_2_638(m, d) BOOST_PP_REPEAT_2_637(m, d) m(3, 637, d) +# define BOOST_PP_REPEAT_2_639(m, d) BOOST_PP_REPEAT_2_638(m, d) m(3, 638, d) +# define BOOST_PP_REPEAT_2_640(m, d) BOOST_PP_REPEAT_2_639(m, d) m(3, 639, d) +# define BOOST_PP_REPEAT_2_641(m, d) BOOST_PP_REPEAT_2_640(m, d) m(3, 640, d) +# define BOOST_PP_REPEAT_2_642(m, d) BOOST_PP_REPEAT_2_641(m, d) m(3, 641, d) +# define BOOST_PP_REPEAT_2_643(m, d) BOOST_PP_REPEAT_2_642(m, d) m(3, 642, d) +# define BOOST_PP_REPEAT_2_644(m, d) BOOST_PP_REPEAT_2_643(m, d) m(3, 643, d) +# define BOOST_PP_REPEAT_2_645(m, d) BOOST_PP_REPEAT_2_644(m, d) m(3, 644, d) +# define BOOST_PP_REPEAT_2_646(m, d) BOOST_PP_REPEAT_2_645(m, d) m(3, 645, d) +# define BOOST_PP_REPEAT_2_647(m, d) BOOST_PP_REPEAT_2_646(m, d) m(3, 646, d) +# define BOOST_PP_REPEAT_2_648(m, d) BOOST_PP_REPEAT_2_647(m, d) m(3, 647, d) +# define BOOST_PP_REPEAT_2_649(m, d) BOOST_PP_REPEAT_2_648(m, d) m(3, 648, d) +# define BOOST_PP_REPEAT_2_650(m, d) BOOST_PP_REPEAT_2_649(m, d) m(3, 649, d) +# define BOOST_PP_REPEAT_2_651(m, d) BOOST_PP_REPEAT_2_650(m, d) m(3, 650, d) +# define BOOST_PP_REPEAT_2_652(m, d) BOOST_PP_REPEAT_2_651(m, d) m(3, 651, d) +# define BOOST_PP_REPEAT_2_653(m, d) BOOST_PP_REPEAT_2_652(m, d) m(3, 652, d) +# define BOOST_PP_REPEAT_2_654(m, d) BOOST_PP_REPEAT_2_653(m, d) m(3, 653, d) +# define BOOST_PP_REPEAT_2_655(m, d) BOOST_PP_REPEAT_2_654(m, d) m(3, 654, d) +# define BOOST_PP_REPEAT_2_656(m, d) BOOST_PP_REPEAT_2_655(m, d) m(3, 655, d) +# define BOOST_PP_REPEAT_2_657(m, d) BOOST_PP_REPEAT_2_656(m, d) m(3, 656, d) +# define BOOST_PP_REPEAT_2_658(m, d) BOOST_PP_REPEAT_2_657(m, d) m(3, 657, d) +# define BOOST_PP_REPEAT_2_659(m, d) BOOST_PP_REPEAT_2_658(m, d) m(3, 658, d) +# define BOOST_PP_REPEAT_2_660(m, d) BOOST_PP_REPEAT_2_659(m, d) m(3, 659, d) +# define BOOST_PP_REPEAT_2_661(m, d) BOOST_PP_REPEAT_2_660(m, d) m(3, 660, d) +# define BOOST_PP_REPEAT_2_662(m, d) BOOST_PP_REPEAT_2_661(m, d) m(3, 661, d) +# define BOOST_PP_REPEAT_2_663(m, d) BOOST_PP_REPEAT_2_662(m, d) m(3, 662, d) +# define BOOST_PP_REPEAT_2_664(m, d) BOOST_PP_REPEAT_2_663(m, d) m(3, 663, d) +# define BOOST_PP_REPEAT_2_665(m, d) BOOST_PP_REPEAT_2_664(m, d) m(3, 664, d) +# define BOOST_PP_REPEAT_2_666(m, d) BOOST_PP_REPEAT_2_665(m, d) m(3, 665, d) +# define BOOST_PP_REPEAT_2_667(m, d) BOOST_PP_REPEAT_2_666(m, d) m(3, 666, d) +# define BOOST_PP_REPEAT_2_668(m, d) BOOST_PP_REPEAT_2_667(m, d) m(3, 667, d) +# define BOOST_PP_REPEAT_2_669(m, d) BOOST_PP_REPEAT_2_668(m, d) m(3, 668, d) +# define BOOST_PP_REPEAT_2_670(m, d) BOOST_PP_REPEAT_2_669(m, d) m(3, 669, d) +# define BOOST_PP_REPEAT_2_671(m, d) BOOST_PP_REPEAT_2_670(m, d) m(3, 670, d) +# define BOOST_PP_REPEAT_2_672(m, d) BOOST_PP_REPEAT_2_671(m, d) m(3, 671, d) +# define BOOST_PP_REPEAT_2_673(m, d) BOOST_PP_REPEAT_2_672(m, d) m(3, 672, d) +# define BOOST_PP_REPEAT_2_674(m, d) BOOST_PP_REPEAT_2_673(m, d) m(3, 673, d) +# define BOOST_PP_REPEAT_2_675(m, d) BOOST_PP_REPEAT_2_674(m, d) m(3, 674, d) +# define BOOST_PP_REPEAT_2_676(m, d) BOOST_PP_REPEAT_2_675(m, d) m(3, 675, d) +# define BOOST_PP_REPEAT_2_677(m, d) BOOST_PP_REPEAT_2_676(m, d) m(3, 676, d) +# define BOOST_PP_REPEAT_2_678(m, d) BOOST_PP_REPEAT_2_677(m, d) m(3, 677, d) +# define BOOST_PP_REPEAT_2_679(m, d) BOOST_PP_REPEAT_2_678(m, d) m(3, 678, d) +# define BOOST_PP_REPEAT_2_680(m, d) BOOST_PP_REPEAT_2_679(m, d) m(3, 679, d) +# define BOOST_PP_REPEAT_2_681(m, d) BOOST_PP_REPEAT_2_680(m, d) m(3, 680, d) +# define BOOST_PP_REPEAT_2_682(m, d) BOOST_PP_REPEAT_2_681(m, d) m(3, 681, d) +# define BOOST_PP_REPEAT_2_683(m, d) BOOST_PP_REPEAT_2_682(m, d) m(3, 682, d) +# define BOOST_PP_REPEAT_2_684(m, d) BOOST_PP_REPEAT_2_683(m, d) m(3, 683, d) +# define BOOST_PP_REPEAT_2_685(m, d) BOOST_PP_REPEAT_2_684(m, d) m(3, 684, d) +# define BOOST_PP_REPEAT_2_686(m, d) BOOST_PP_REPEAT_2_685(m, d) m(3, 685, d) +# define BOOST_PP_REPEAT_2_687(m, d) BOOST_PP_REPEAT_2_686(m, d) m(3, 686, d) +# define BOOST_PP_REPEAT_2_688(m, d) BOOST_PP_REPEAT_2_687(m, d) m(3, 687, d) +# define BOOST_PP_REPEAT_2_689(m, d) BOOST_PP_REPEAT_2_688(m, d) m(3, 688, d) +# define BOOST_PP_REPEAT_2_690(m, d) BOOST_PP_REPEAT_2_689(m, d) m(3, 689, d) +# define BOOST_PP_REPEAT_2_691(m, d) BOOST_PP_REPEAT_2_690(m, d) m(3, 690, d) +# define BOOST_PP_REPEAT_2_692(m, d) BOOST_PP_REPEAT_2_691(m, d) m(3, 691, d) +# define BOOST_PP_REPEAT_2_693(m, d) BOOST_PP_REPEAT_2_692(m, d) m(3, 692, d) +# define BOOST_PP_REPEAT_2_694(m, d) BOOST_PP_REPEAT_2_693(m, d) m(3, 693, d) +# define BOOST_PP_REPEAT_2_695(m, d) BOOST_PP_REPEAT_2_694(m, d) m(3, 694, d) +# define BOOST_PP_REPEAT_2_696(m, d) BOOST_PP_REPEAT_2_695(m, d) m(3, 695, d) +# define BOOST_PP_REPEAT_2_697(m, d) BOOST_PP_REPEAT_2_696(m, d) m(3, 696, d) +# define BOOST_PP_REPEAT_2_698(m, d) BOOST_PP_REPEAT_2_697(m, d) m(3, 697, d) +# define BOOST_PP_REPEAT_2_699(m, d) BOOST_PP_REPEAT_2_698(m, d) m(3, 698, d) +# define BOOST_PP_REPEAT_2_700(m, d) BOOST_PP_REPEAT_2_699(m, d) m(3, 699, d) +# define BOOST_PP_REPEAT_2_701(m, d) BOOST_PP_REPEAT_2_700(m, d) m(3, 700, d) +# define BOOST_PP_REPEAT_2_702(m, d) BOOST_PP_REPEAT_2_701(m, d) m(3, 701, d) +# define BOOST_PP_REPEAT_2_703(m, d) BOOST_PP_REPEAT_2_702(m, d) m(3, 702, d) +# define BOOST_PP_REPEAT_2_704(m, d) BOOST_PP_REPEAT_2_703(m, d) m(3, 703, d) +# define BOOST_PP_REPEAT_2_705(m, d) BOOST_PP_REPEAT_2_704(m, d) m(3, 704, d) +# define BOOST_PP_REPEAT_2_706(m, d) BOOST_PP_REPEAT_2_705(m, d) m(3, 705, d) +# define BOOST_PP_REPEAT_2_707(m, d) BOOST_PP_REPEAT_2_706(m, d) m(3, 706, d) +# define BOOST_PP_REPEAT_2_708(m, d) BOOST_PP_REPEAT_2_707(m, d) m(3, 707, d) +# define BOOST_PP_REPEAT_2_709(m, d) BOOST_PP_REPEAT_2_708(m, d) m(3, 708, d) +# define BOOST_PP_REPEAT_2_710(m, d) BOOST_PP_REPEAT_2_709(m, d) m(3, 709, d) +# define BOOST_PP_REPEAT_2_711(m, d) BOOST_PP_REPEAT_2_710(m, d) m(3, 710, d) +# define BOOST_PP_REPEAT_2_712(m, d) BOOST_PP_REPEAT_2_711(m, d) m(3, 711, d) +# define BOOST_PP_REPEAT_2_713(m, d) BOOST_PP_REPEAT_2_712(m, d) m(3, 712, d) +# define BOOST_PP_REPEAT_2_714(m, d) BOOST_PP_REPEAT_2_713(m, d) m(3, 713, d) +# define BOOST_PP_REPEAT_2_715(m, d) BOOST_PP_REPEAT_2_714(m, d) m(3, 714, d) +# define BOOST_PP_REPEAT_2_716(m, d) BOOST_PP_REPEAT_2_715(m, d) m(3, 715, d) +# define BOOST_PP_REPEAT_2_717(m, d) BOOST_PP_REPEAT_2_716(m, d) m(3, 716, d) +# define BOOST_PP_REPEAT_2_718(m, d) BOOST_PP_REPEAT_2_717(m, d) m(3, 717, d) +# define BOOST_PP_REPEAT_2_719(m, d) BOOST_PP_REPEAT_2_718(m, d) m(3, 718, d) +# define BOOST_PP_REPEAT_2_720(m, d) BOOST_PP_REPEAT_2_719(m, d) m(3, 719, d) +# define BOOST_PP_REPEAT_2_721(m, d) BOOST_PP_REPEAT_2_720(m, d) m(3, 720, d) +# define BOOST_PP_REPEAT_2_722(m, d) BOOST_PP_REPEAT_2_721(m, d) m(3, 721, d) +# define BOOST_PP_REPEAT_2_723(m, d) BOOST_PP_REPEAT_2_722(m, d) m(3, 722, d) +# define BOOST_PP_REPEAT_2_724(m, d) BOOST_PP_REPEAT_2_723(m, d) m(3, 723, d) +# define BOOST_PP_REPEAT_2_725(m, d) BOOST_PP_REPEAT_2_724(m, d) m(3, 724, d) +# define BOOST_PP_REPEAT_2_726(m, d) BOOST_PP_REPEAT_2_725(m, d) m(3, 725, d) +# define BOOST_PP_REPEAT_2_727(m, d) BOOST_PP_REPEAT_2_726(m, d) m(3, 726, d) +# define BOOST_PP_REPEAT_2_728(m, d) BOOST_PP_REPEAT_2_727(m, d) m(3, 727, d) +# define BOOST_PP_REPEAT_2_729(m, d) BOOST_PP_REPEAT_2_728(m, d) m(3, 728, d) +# define BOOST_PP_REPEAT_2_730(m, d) BOOST_PP_REPEAT_2_729(m, d) m(3, 729, d) +# define BOOST_PP_REPEAT_2_731(m, d) BOOST_PP_REPEAT_2_730(m, d) m(3, 730, d) +# define BOOST_PP_REPEAT_2_732(m, d) BOOST_PP_REPEAT_2_731(m, d) m(3, 731, d) +# define BOOST_PP_REPEAT_2_733(m, d) BOOST_PP_REPEAT_2_732(m, d) m(3, 732, d) +# define BOOST_PP_REPEAT_2_734(m, d) BOOST_PP_REPEAT_2_733(m, d) m(3, 733, d) +# define BOOST_PP_REPEAT_2_735(m, d) BOOST_PP_REPEAT_2_734(m, d) m(3, 734, d) +# define BOOST_PP_REPEAT_2_736(m, d) BOOST_PP_REPEAT_2_735(m, d) m(3, 735, d) +# define BOOST_PP_REPEAT_2_737(m, d) BOOST_PP_REPEAT_2_736(m, d) m(3, 736, d) +# define BOOST_PP_REPEAT_2_738(m, d) BOOST_PP_REPEAT_2_737(m, d) m(3, 737, d) +# define BOOST_PP_REPEAT_2_739(m, d) BOOST_PP_REPEAT_2_738(m, d) m(3, 738, d) +# define BOOST_PP_REPEAT_2_740(m, d) BOOST_PP_REPEAT_2_739(m, d) m(3, 739, d) +# define BOOST_PP_REPEAT_2_741(m, d) BOOST_PP_REPEAT_2_740(m, d) m(3, 740, d) +# define BOOST_PP_REPEAT_2_742(m, d) BOOST_PP_REPEAT_2_741(m, d) m(3, 741, d) +# define BOOST_PP_REPEAT_2_743(m, d) BOOST_PP_REPEAT_2_742(m, d) m(3, 742, d) +# define BOOST_PP_REPEAT_2_744(m, d) BOOST_PP_REPEAT_2_743(m, d) m(3, 743, d) +# define BOOST_PP_REPEAT_2_745(m, d) BOOST_PP_REPEAT_2_744(m, d) m(3, 744, d) +# define BOOST_PP_REPEAT_2_746(m, d) BOOST_PP_REPEAT_2_745(m, d) m(3, 745, d) +# define BOOST_PP_REPEAT_2_747(m, d) BOOST_PP_REPEAT_2_746(m, d) m(3, 746, d) +# define BOOST_PP_REPEAT_2_748(m, d) BOOST_PP_REPEAT_2_747(m, d) m(3, 747, d) +# define BOOST_PP_REPEAT_2_749(m, d) BOOST_PP_REPEAT_2_748(m, d) m(3, 748, d) +# define BOOST_PP_REPEAT_2_750(m, d) BOOST_PP_REPEAT_2_749(m, d) m(3, 749, d) +# define BOOST_PP_REPEAT_2_751(m, d) BOOST_PP_REPEAT_2_750(m, d) m(3, 750, d) +# define BOOST_PP_REPEAT_2_752(m, d) BOOST_PP_REPEAT_2_751(m, d) m(3, 751, d) +# define BOOST_PP_REPEAT_2_753(m, d) BOOST_PP_REPEAT_2_752(m, d) m(3, 752, d) +# define BOOST_PP_REPEAT_2_754(m, d) BOOST_PP_REPEAT_2_753(m, d) m(3, 753, d) +# define BOOST_PP_REPEAT_2_755(m, d) BOOST_PP_REPEAT_2_754(m, d) m(3, 754, d) +# define BOOST_PP_REPEAT_2_756(m, d) BOOST_PP_REPEAT_2_755(m, d) m(3, 755, d) +# define BOOST_PP_REPEAT_2_757(m, d) BOOST_PP_REPEAT_2_756(m, d) m(3, 756, d) +# define BOOST_PP_REPEAT_2_758(m, d) BOOST_PP_REPEAT_2_757(m, d) m(3, 757, d) +# define BOOST_PP_REPEAT_2_759(m, d) BOOST_PP_REPEAT_2_758(m, d) m(3, 758, d) +# define BOOST_PP_REPEAT_2_760(m, d) BOOST_PP_REPEAT_2_759(m, d) m(3, 759, d) +# define BOOST_PP_REPEAT_2_761(m, d) BOOST_PP_REPEAT_2_760(m, d) m(3, 760, d) +# define BOOST_PP_REPEAT_2_762(m, d) BOOST_PP_REPEAT_2_761(m, d) m(3, 761, d) +# define BOOST_PP_REPEAT_2_763(m, d) BOOST_PP_REPEAT_2_762(m, d) m(3, 762, d) +# define BOOST_PP_REPEAT_2_764(m, d) BOOST_PP_REPEAT_2_763(m, d) m(3, 763, d) +# define BOOST_PP_REPEAT_2_765(m, d) BOOST_PP_REPEAT_2_764(m, d) m(3, 764, d) +# define BOOST_PP_REPEAT_2_766(m, d) BOOST_PP_REPEAT_2_765(m, d) m(3, 765, d) +# define BOOST_PP_REPEAT_2_767(m, d) BOOST_PP_REPEAT_2_766(m, d) m(3, 766, d) +# define BOOST_PP_REPEAT_2_768(m, d) BOOST_PP_REPEAT_2_767(m, d) m(3, 767, d) +# define BOOST_PP_REPEAT_2_769(m, d) BOOST_PP_REPEAT_2_768(m, d) m(3, 768, d) +# define BOOST_PP_REPEAT_2_770(m, d) BOOST_PP_REPEAT_2_769(m, d) m(3, 769, d) +# define BOOST_PP_REPEAT_2_771(m, d) BOOST_PP_REPEAT_2_770(m, d) m(3, 770, d) +# define BOOST_PP_REPEAT_2_772(m, d) BOOST_PP_REPEAT_2_771(m, d) m(3, 771, d) +# define BOOST_PP_REPEAT_2_773(m, d) BOOST_PP_REPEAT_2_772(m, d) m(3, 772, d) +# define BOOST_PP_REPEAT_2_774(m, d) BOOST_PP_REPEAT_2_773(m, d) m(3, 773, d) +# define BOOST_PP_REPEAT_2_775(m, d) BOOST_PP_REPEAT_2_774(m, d) m(3, 774, d) +# define BOOST_PP_REPEAT_2_776(m, d) BOOST_PP_REPEAT_2_775(m, d) m(3, 775, d) +# define BOOST_PP_REPEAT_2_777(m, d) BOOST_PP_REPEAT_2_776(m, d) m(3, 776, d) +# define BOOST_PP_REPEAT_2_778(m, d) BOOST_PP_REPEAT_2_777(m, d) m(3, 777, d) +# define BOOST_PP_REPEAT_2_779(m, d) BOOST_PP_REPEAT_2_778(m, d) m(3, 778, d) +# define BOOST_PP_REPEAT_2_780(m, d) BOOST_PP_REPEAT_2_779(m, d) m(3, 779, d) +# define BOOST_PP_REPEAT_2_781(m, d) BOOST_PP_REPEAT_2_780(m, d) m(3, 780, d) +# define BOOST_PP_REPEAT_2_782(m, d) BOOST_PP_REPEAT_2_781(m, d) m(3, 781, d) +# define BOOST_PP_REPEAT_2_783(m, d) BOOST_PP_REPEAT_2_782(m, d) m(3, 782, d) +# define BOOST_PP_REPEAT_2_784(m, d) BOOST_PP_REPEAT_2_783(m, d) m(3, 783, d) +# define BOOST_PP_REPEAT_2_785(m, d) BOOST_PP_REPEAT_2_784(m, d) m(3, 784, d) +# define BOOST_PP_REPEAT_2_786(m, d) BOOST_PP_REPEAT_2_785(m, d) m(3, 785, d) +# define BOOST_PP_REPEAT_2_787(m, d) BOOST_PP_REPEAT_2_786(m, d) m(3, 786, d) +# define BOOST_PP_REPEAT_2_788(m, d) BOOST_PP_REPEAT_2_787(m, d) m(3, 787, d) +# define BOOST_PP_REPEAT_2_789(m, d) BOOST_PP_REPEAT_2_788(m, d) m(3, 788, d) +# define BOOST_PP_REPEAT_2_790(m, d) BOOST_PP_REPEAT_2_789(m, d) m(3, 789, d) +# define BOOST_PP_REPEAT_2_791(m, d) BOOST_PP_REPEAT_2_790(m, d) m(3, 790, d) +# define BOOST_PP_REPEAT_2_792(m, d) BOOST_PP_REPEAT_2_791(m, d) m(3, 791, d) +# define BOOST_PP_REPEAT_2_793(m, d) BOOST_PP_REPEAT_2_792(m, d) m(3, 792, d) +# define BOOST_PP_REPEAT_2_794(m, d) BOOST_PP_REPEAT_2_793(m, d) m(3, 793, d) +# define BOOST_PP_REPEAT_2_795(m, d) BOOST_PP_REPEAT_2_794(m, d) m(3, 794, d) +# define BOOST_PP_REPEAT_2_796(m, d) BOOST_PP_REPEAT_2_795(m, d) m(3, 795, d) +# define BOOST_PP_REPEAT_2_797(m, d) BOOST_PP_REPEAT_2_796(m, d) m(3, 796, d) +# define BOOST_PP_REPEAT_2_798(m, d) BOOST_PP_REPEAT_2_797(m, d) m(3, 797, d) +# define BOOST_PP_REPEAT_2_799(m, d) BOOST_PP_REPEAT_2_798(m, d) m(3, 798, d) +# define BOOST_PP_REPEAT_2_800(m, d) BOOST_PP_REPEAT_2_799(m, d) m(3, 799, d) +# define BOOST_PP_REPEAT_2_801(m, d) BOOST_PP_REPEAT_2_800(m, d) m(3, 800, d) +# define BOOST_PP_REPEAT_2_802(m, d) BOOST_PP_REPEAT_2_801(m, d) m(3, 801, d) +# define BOOST_PP_REPEAT_2_803(m, d) BOOST_PP_REPEAT_2_802(m, d) m(3, 802, d) +# define BOOST_PP_REPEAT_2_804(m, d) BOOST_PP_REPEAT_2_803(m, d) m(3, 803, d) +# define BOOST_PP_REPEAT_2_805(m, d) BOOST_PP_REPEAT_2_804(m, d) m(3, 804, d) +# define BOOST_PP_REPEAT_2_806(m, d) BOOST_PP_REPEAT_2_805(m, d) m(3, 805, d) +# define BOOST_PP_REPEAT_2_807(m, d) BOOST_PP_REPEAT_2_806(m, d) m(3, 806, d) +# define BOOST_PP_REPEAT_2_808(m, d) BOOST_PP_REPEAT_2_807(m, d) m(3, 807, d) +# define BOOST_PP_REPEAT_2_809(m, d) BOOST_PP_REPEAT_2_808(m, d) m(3, 808, d) +# define BOOST_PP_REPEAT_2_810(m, d) BOOST_PP_REPEAT_2_809(m, d) m(3, 809, d) +# define BOOST_PP_REPEAT_2_811(m, d) BOOST_PP_REPEAT_2_810(m, d) m(3, 810, d) +# define BOOST_PP_REPEAT_2_812(m, d) BOOST_PP_REPEAT_2_811(m, d) m(3, 811, d) +# define BOOST_PP_REPEAT_2_813(m, d) BOOST_PP_REPEAT_2_812(m, d) m(3, 812, d) +# define BOOST_PP_REPEAT_2_814(m, d) BOOST_PP_REPEAT_2_813(m, d) m(3, 813, d) +# define BOOST_PP_REPEAT_2_815(m, d) BOOST_PP_REPEAT_2_814(m, d) m(3, 814, d) +# define BOOST_PP_REPEAT_2_816(m, d) BOOST_PP_REPEAT_2_815(m, d) m(3, 815, d) +# define BOOST_PP_REPEAT_2_817(m, d) BOOST_PP_REPEAT_2_816(m, d) m(3, 816, d) +# define BOOST_PP_REPEAT_2_818(m, d) BOOST_PP_REPEAT_2_817(m, d) m(3, 817, d) +# define BOOST_PP_REPEAT_2_819(m, d) BOOST_PP_REPEAT_2_818(m, d) m(3, 818, d) +# define BOOST_PP_REPEAT_2_820(m, d) BOOST_PP_REPEAT_2_819(m, d) m(3, 819, d) +# define BOOST_PP_REPEAT_2_821(m, d) BOOST_PP_REPEAT_2_820(m, d) m(3, 820, d) +# define BOOST_PP_REPEAT_2_822(m, d) BOOST_PP_REPEAT_2_821(m, d) m(3, 821, d) +# define BOOST_PP_REPEAT_2_823(m, d) BOOST_PP_REPEAT_2_822(m, d) m(3, 822, d) +# define BOOST_PP_REPEAT_2_824(m, d) BOOST_PP_REPEAT_2_823(m, d) m(3, 823, d) +# define BOOST_PP_REPEAT_2_825(m, d) BOOST_PP_REPEAT_2_824(m, d) m(3, 824, d) +# define BOOST_PP_REPEAT_2_826(m, d) BOOST_PP_REPEAT_2_825(m, d) m(3, 825, d) +# define BOOST_PP_REPEAT_2_827(m, d) BOOST_PP_REPEAT_2_826(m, d) m(3, 826, d) +# define BOOST_PP_REPEAT_2_828(m, d) BOOST_PP_REPEAT_2_827(m, d) m(3, 827, d) +# define BOOST_PP_REPEAT_2_829(m, d) BOOST_PP_REPEAT_2_828(m, d) m(3, 828, d) +# define BOOST_PP_REPEAT_2_830(m, d) BOOST_PP_REPEAT_2_829(m, d) m(3, 829, d) +# define BOOST_PP_REPEAT_2_831(m, d) BOOST_PP_REPEAT_2_830(m, d) m(3, 830, d) +# define BOOST_PP_REPEAT_2_832(m, d) BOOST_PP_REPEAT_2_831(m, d) m(3, 831, d) +# define BOOST_PP_REPEAT_2_833(m, d) BOOST_PP_REPEAT_2_832(m, d) m(3, 832, d) +# define BOOST_PP_REPEAT_2_834(m, d) BOOST_PP_REPEAT_2_833(m, d) m(3, 833, d) +# define BOOST_PP_REPEAT_2_835(m, d) BOOST_PP_REPEAT_2_834(m, d) m(3, 834, d) +# define BOOST_PP_REPEAT_2_836(m, d) BOOST_PP_REPEAT_2_835(m, d) m(3, 835, d) +# define BOOST_PP_REPEAT_2_837(m, d) BOOST_PP_REPEAT_2_836(m, d) m(3, 836, d) +# define BOOST_PP_REPEAT_2_838(m, d) BOOST_PP_REPEAT_2_837(m, d) m(3, 837, d) +# define BOOST_PP_REPEAT_2_839(m, d) BOOST_PP_REPEAT_2_838(m, d) m(3, 838, d) +# define BOOST_PP_REPEAT_2_840(m, d) BOOST_PP_REPEAT_2_839(m, d) m(3, 839, d) +# define BOOST_PP_REPEAT_2_841(m, d) BOOST_PP_REPEAT_2_840(m, d) m(3, 840, d) +# define BOOST_PP_REPEAT_2_842(m, d) BOOST_PP_REPEAT_2_841(m, d) m(3, 841, d) +# define BOOST_PP_REPEAT_2_843(m, d) BOOST_PP_REPEAT_2_842(m, d) m(3, 842, d) +# define BOOST_PP_REPEAT_2_844(m, d) BOOST_PP_REPEAT_2_843(m, d) m(3, 843, d) +# define BOOST_PP_REPEAT_2_845(m, d) BOOST_PP_REPEAT_2_844(m, d) m(3, 844, d) +# define BOOST_PP_REPEAT_2_846(m, d) BOOST_PP_REPEAT_2_845(m, d) m(3, 845, d) +# define BOOST_PP_REPEAT_2_847(m, d) BOOST_PP_REPEAT_2_846(m, d) m(3, 846, d) +# define BOOST_PP_REPEAT_2_848(m, d) BOOST_PP_REPEAT_2_847(m, d) m(3, 847, d) +# define BOOST_PP_REPEAT_2_849(m, d) BOOST_PP_REPEAT_2_848(m, d) m(3, 848, d) +# define BOOST_PP_REPEAT_2_850(m, d) BOOST_PP_REPEAT_2_849(m, d) m(3, 849, d) +# define BOOST_PP_REPEAT_2_851(m, d) BOOST_PP_REPEAT_2_850(m, d) m(3, 850, d) +# define BOOST_PP_REPEAT_2_852(m, d) BOOST_PP_REPEAT_2_851(m, d) m(3, 851, d) +# define BOOST_PP_REPEAT_2_853(m, d) BOOST_PP_REPEAT_2_852(m, d) m(3, 852, d) +# define BOOST_PP_REPEAT_2_854(m, d) BOOST_PP_REPEAT_2_853(m, d) m(3, 853, d) +# define BOOST_PP_REPEAT_2_855(m, d) BOOST_PP_REPEAT_2_854(m, d) m(3, 854, d) +# define BOOST_PP_REPEAT_2_856(m, d) BOOST_PP_REPEAT_2_855(m, d) m(3, 855, d) +# define BOOST_PP_REPEAT_2_857(m, d) BOOST_PP_REPEAT_2_856(m, d) m(3, 856, d) +# define BOOST_PP_REPEAT_2_858(m, d) BOOST_PP_REPEAT_2_857(m, d) m(3, 857, d) +# define BOOST_PP_REPEAT_2_859(m, d) BOOST_PP_REPEAT_2_858(m, d) m(3, 858, d) +# define BOOST_PP_REPEAT_2_860(m, d) BOOST_PP_REPEAT_2_859(m, d) m(3, 859, d) +# define BOOST_PP_REPEAT_2_861(m, d) BOOST_PP_REPEAT_2_860(m, d) m(3, 860, d) +# define BOOST_PP_REPEAT_2_862(m, d) BOOST_PP_REPEAT_2_861(m, d) m(3, 861, d) +# define BOOST_PP_REPEAT_2_863(m, d) BOOST_PP_REPEAT_2_862(m, d) m(3, 862, d) +# define BOOST_PP_REPEAT_2_864(m, d) BOOST_PP_REPEAT_2_863(m, d) m(3, 863, d) +# define BOOST_PP_REPEAT_2_865(m, d) BOOST_PP_REPEAT_2_864(m, d) m(3, 864, d) +# define BOOST_PP_REPEAT_2_866(m, d) BOOST_PP_REPEAT_2_865(m, d) m(3, 865, d) +# define BOOST_PP_REPEAT_2_867(m, d) BOOST_PP_REPEAT_2_866(m, d) m(3, 866, d) +# define BOOST_PP_REPEAT_2_868(m, d) BOOST_PP_REPEAT_2_867(m, d) m(3, 867, d) +# define BOOST_PP_REPEAT_2_869(m, d) BOOST_PP_REPEAT_2_868(m, d) m(3, 868, d) +# define BOOST_PP_REPEAT_2_870(m, d) BOOST_PP_REPEAT_2_869(m, d) m(3, 869, d) +# define BOOST_PP_REPEAT_2_871(m, d) BOOST_PP_REPEAT_2_870(m, d) m(3, 870, d) +# define BOOST_PP_REPEAT_2_872(m, d) BOOST_PP_REPEAT_2_871(m, d) m(3, 871, d) +# define BOOST_PP_REPEAT_2_873(m, d) BOOST_PP_REPEAT_2_872(m, d) m(3, 872, d) +# define BOOST_PP_REPEAT_2_874(m, d) BOOST_PP_REPEAT_2_873(m, d) m(3, 873, d) +# define BOOST_PP_REPEAT_2_875(m, d) BOOST_PP_REPEAT_2_874(m, d) m(3, 874, d) +# define BOOST_PP_REPEAT_2_876(m, d) BOOST_PP_REPEAT_2_875(m, d) m(3, 875, d) +# define BOOST_PP_REPEAT_2_877(m, d) BOOST_PP_REPEAT_2_876(m, d) m(3, 876, d) +# define BOOST_PP_REPEAT_2_878(m, d) BOOST_PP_REPEAT_2_877(m, d) m(3, 877, d) +# define BOOST_PP_REPEAT_2_879(m, d) BOOST_PP_REPEAT_2_878(m, d) m(3, 878, d) +# define BOOST_PP_REPEAT_2_880(m, d) BOOST_PP_REPEAT_2_879(m, d) m(3, 879, d) +# define BOOST_PP_REPEAT_2_881(m, d) BOOST_PP_REPEAT_2_880(m, d) m(3, 880, d) +# define BOOST_PP_REPEAT_2_882(m, d) BOOST_PP_REPEAT_2_881(m, d) m(3, 881, d) +# define BOOST_PP_REPEAT_2_883(m, d) BOOST_PP_REPEAT_2_882(m, d) m(3, 882, d) +# define BOOST_PP_REPEAT_2_884(m, d) BOOST_PP_REPEAT_2_883(m, d) m(3, 883, d) +# define BOOST_PP_REPEAT_2_885(m, d) BOOST_PP_REPEAT_2_884(m, d) m(3, 884, d) +# define BOOST_PP_REPEAT_2_886(m, d) BOOST_PP_REPEAT_2_885(m, d) m(3, 885, d) +# define BOOST_PP_REPEAT_2_887(m, d) BOOST_PP_REPEAT_2_886(m, d) m(3, 886, d) +# define BOOST_PP_REPEAT_2_888(m, d) BOOST_PP_REPEAT_2_887(m, d) m(3, 887, d) +# define BOOST_PP_REPEAT_2_889(m, d) BOOST_PP_REPEAT_2_888(m, d) m(3, 888, d) +# define BOOST_PP_REPEAT_2_890(m, d) BOOST_PP_REPEAT_2_889(m, d) m(3, 889, d) +# define BOOST_PP_REPEAT_2_891(m, d) BOOST_PP_REPEAT_2_890(m, d) m(3, 890, d) +# define BOOST_PP_REPEAT_2_892(m, d) BOOST_PP_REPEAT_2_891(m, d) m(3, 891, d) +# define BOOST_PP_REPEAT_2_893(m, d) BOOST_PP_REPEAT_2_892(m, d) m(3, 892, d) +# define BOOST_PP_REPEAT_2_894(m, d) BOOST_PP_REPEAT_2_893(m, d) m(3, 893, d) +# define BOOST_PP_REPEAT_2_895(m, d) BOOST_PP_REPEAT_2_894(m, d) m(3, 894, d) +# define BOOST_PP_REPEAT_2_896(m, d) BOOST_PP_REPEAT_2_895(m, d) m(3, 895, d) +# define BOOST_PP_REPEAT_2_897(m, d) BOOST_PP_REPEAT_2_896(m, d) m(3, 896, d) +# define BOOST_PP_REPEAT_2_898(m, d) BOOST_PP_REPEAT_2_897(m, d) m(3, 897, d) +# define BOOST_PP_REPEAT_2_899(m, d) BOOST_PP_REPEAT_2_898(m, d) m(3, 898, d) +# define BOOST_PP_REPEAT_2_900(m, d) BOOST_PP_REPEAT_2_899(m, d) m(3, 899, d) +# define BOOST_PP_REPEAT_2_901(m, d) BOOST_PP_REPEAT_2_900(m, d) m(3, 900, d) +# define BOOST_PP_REPEAT_2_902(m, d) BOOST_PP_REPEAT_2_901(m, d) m(3, 901, d) +# define BOOST_PP_REPEAT_2_903(m, d) BOOST_PP_REPEAT_2_902(m, d) m(3, 902, d) +# define BOOST_PP_REPEAT_2_904(m, d) BOOST_PP_REPEAT_2_903(m, d) m(3, 903, d) +# define BOOST_PP_REPEAT_2_905(m, d) BOOST_PP_REPEAT_2_904(m, d) m(3, 904, d) +# define BOOST_PP_REPEAT_2_906(m, d) BOOST_PP_REPEAT_2_905(m, d) m(3, 905, d) +# define BOOST_PP_REPEAT_2_907(m, d) BOOST_PP_REPEAT_2_906(m, d) m(3, 906, d) +# define BOOST_PP_REPEAT_2_908(m, d) BOOST_PP_REPEAT_2_907(m, d) m(3, 907, d) +# define BOOST_PP_REPEAT_2_909(m, d) BOOST_PP_REPEAT_2_908(m, d) m(3, 908, d) +# define BOOST_PP_REPEAT_2_910(m, d) BOOST_PP_REPEAT_2_909(m, d) m(3, 909, d) +# define BOOST_PP_REPEAT_2_911(m, d) BOOST_PP_REPEAT_2_910(m, d) m(3, 910, d) +# define BOOST_PP_REPEAT_2_912(m, d) BOOST_PP_REPEAT_2_911(m, d) m(3, 911, d) +# define BOOST_PP_REPEAT_2_913(m, d) BOOST_PP_REPEAT_2_912(m, d) m(3, 912, d) +# define BOOST_PP_REPEAT_2_914(m, d) BOOST_PP_REPEAT_2_913(m, d) m(3, 913, d) +# define BOOST_PP_REPEAT_2_915(m, d) BOOST_PP_REPEAT_2_914(m, d) m(3, 914, d) +# define BOOST_PP_REPEAT_2_916(m, d) BOOST_PP_REPEAT_2_915(m, d) m(3, 915, d) +# define BOOST_PP_REPEAT_2_917(m, d) BOOST_PP_REPEAT_2_916(m, d) m(3, 916, d) +# define BOOST_PP_REPEAT_2_918(m, d) BOOST_PP_REPEAT_2_917(m, d) m(3, 917, d) +# define BOOST_PP_REPEAT_2_919(m, d) BOOST_PP_REPEAT_2_918(m, d) m(3, 918, d) +# define BOOST_PP_REPEAT_2_920(m, d) BOOST_PP_REPEAT_2_919(m, d) m(3, 919, d) +# define BOOST_PP_REPEAT_2_921(m, d) BOOST_PP_REPEAT_2_920(m, d) m(3, 920, d) +# define BOOST_PP_REPEAT_2_922(m, d) BOOST_PP_REPEAT_2_921(m, d) m(3, 921, d) +# define BOOST_PP_REPEAT_2_923(m, d) BOOST_PP_REPEAT_2_922(m, d) m(3, 922, d) +# define BOOST_PP_REPEAT_2_924(m, d) BOOST_PP_REPEAT_2_923(m, d) m(3, 923, d) +# define BOOST_PP_REPEAT_2_925(m, d) BOOST_PP_REPEAT_2_924(m, d) m(3, 924, d) +# define BOOST_PP_REPEAT_2_926(m, d) BOOST_PP_REPEAT_2_925(m, d) m(3, 925, d) +# define BOOST_PP_REPEAT_2_927(m, d) BOOST_PP_REPEAT_2_926(m, d) m(3, 926, d) +# define BOOST_PP_REPEAT_2_928(m, d) BOOST_PP_REPEAT_2_927(m, d) m(3, 927, d) +# define BOOST_PP_REPEAT_2_929(m, d) BOOST_PP_REPEAT_2_928(m, d) m(3, 928, d) +# define BOOST_PP_REPEAT_2_930(m, d) BOOST_PP_REPEAT_2_929(m, d) m(3, 929, d) +# define BOOST_PP_REPEAT_2_931(m, d) BOOST_PP_REPEAT_2_930(m, d) m(3, 930, d) +# define BOOST_PP_REPEAT_2_932(m, d) BOOST_PP_REPEAT_2_931(m, d) m(3, 931, d) +# define BOOST_PP_REPEAT_2_933(m, d) BOOST_PP_REPEAT_2_932(m, d) m(3, 932, d) +# define BOOST_PP_REPEAT_2_934(m, d) BOOST_PP_REPEAT_2_933(m, d) m(3, 933, d) +# define BOOST_PP_REPEAT_2_935(m, d) BOOST_PP_REPEAT_2_934(m, d) m(3, 934, d) +# define BOOST_PP_REPEAT_2_936(m, d) BOOST_PP_REPEAT_2_935(m, d) m(3, 935, d) +# define BOOST_PP_REPEAT_2_937(m, d) BOOST_PP_REPEAT_2_936(m, d) m(3, 936, d) +# define BOOST_PP_REPEAT_2_938(m, d) BOOST_PP_REPEAT_2_937(m, d) m(3, 937, d) +# define BOOST_PP_REPEAT_2_939(m, d) BOOST_PP_REPEAT_2_938(m, d) m(3, 938, d) +# define BOOST_PP_REPEAT_2_940(m, d) BOOST_PP_REPEAT_2_939(m, d) m(3, 939, d) +# define BOOST_PP_REPEAT_2_941(m, d) BOOST_PP_REPEAT_2_940(m, d) m(3, 940, d) +# define BOOST_PP_REPEAT_2_942(m, d) BOOST_PP_REPEAT_2_941(m, d) m(3, 941, d) +# define BOOST_PP_REPEAT_2_943(m, d) BOOST_PP_REPEAT_2_942(m, d) m(3, 942, d) +# define BOOST_PP_REPEAT_2_944(m, d) BOOST_PP_REPEAT_2_943(m, d) m(3, 943, d) +# define BOOST_PP_REPEAT_2_945(m, d) BOOST_PP_REPEAT_2_944(m, d) m(3, 944, d) +# define BOOST_PP_REPEAT_2_946(m, d) BOOST_PP_REPEAT_2_945(m, d) m(3, 945, d) +# define BOOST_PP_REPEAT_2_947(m, d) BOOST_PP_REPEAT_2_946(m, d) m(3, 946, d) +# define BOOST_PP_REPEAT_2_948(m, d) BOOST_PP_REPEAT_2_947(m, d) m(3, 947, d) +# define BOOST_PP_REPEAT_2_949(m, d) BOOST_PP_REPEAT_2_948(m, d) m(3, 948, d) +# define BOOST_PP_REPEAT_2_950(m, d) BOOST_PP_REPEAT_2_949(m, d) m(3, 949, d) +# define BOOST_PP_REPEAT_2_951(m, d) BOOST_PP_REPEAT_2_950(m, d) m(3, 950, d) +# define BOOST_PP_REPEAT_2_952(m, d) BOOST_PP_REPEAT_2_951(m, d) m(3, 951, d) +# define BOOST_PP_REPEAT_2_953(m, d) BOOST_PP_REPEAT_2_952(m, d) m(3, 952, d) +# define BOOST_PP_REPEAT_2_954(m, d) BOOST_PP_REPEAT_2_953(m, d) m(3, 953, d) +# define BOOST_PP_REPEAT_2_955(m, d) BOOST_PP_REPEAT_2_954(m, d) m(3, 954, d) +# define BOOST_PP_REPEAT_2_956(m, d) BOOST_PP_REPEAT_2_955(m, d) m(3, 955, d) +# define BOOST_PP_REPEAT_2_957(m, d) BOOST_PP_REPEAT_2_956(m, d) m(3, 956, d) +# define BOOST_PP_REPEAT_2_958(m, d) BOOST_PP_REPEAT_2_957(m, d) m(3, 957, d) +# define BOOST_PP_REPEAT_2_959(m, d) BOOST_PP_REPEAT_2_958(m, d) m(3, 958, d) +# define BOOST_PP_REPEAT_2_960(m, d) BOOST_PP_REPEAT_2_959(m, d) m(3, 959, d) +# define BOOST_PP_REPEAT_2_961(m, d) BOOST_PP_REPEAT_2_960(m, d) m(3, 960, d) +# define BOOST_PP_REPEAT_2_962(m, d) BOOST_PP_REPEAT_2_961(m, d) m(3, 961, d) +# define BOOST_PP_REPEAT_2_963(m, d) BOOST_PP_REPEAT_2_962(m, d) m(3, 962, d) +# define BOOST_PP_REPEAT_2_964(m, d) BOOST_PP_REPEAT_2_963(m, d) m(3, 963, d) +# define BOOST_PP_REPEAT_2_965(m, d) BOOST_PP_REPEAT_2_964(m, d) m(3, 964, d) +# define BOOST_PP_REPEAT_2_966(m, d) BOOST_PP_REPEAT_2_965(m, d) m(3, 965, d) +# define BOOST_PP_REPEAT_2_967(m, d) BOOST_PP_REPEAT_2_966(m, d) m(3, 966, d) +# define BOOST_PP_REPEAT_2_968(m, d) BOOST_PP_REPEAT_2_967(m, d) m(3, 967, d) +# define BOOST_PP_REPEAT_2_969(m, d) BOOST_PP_REPEAT_2_968(m, d) m(3, 968, d) +# define BOOST_PP_REPEAT_2_970(m, d) BOOST_PP_REPEAT_2_969(m, d) m(3, 969, d) +# define BOOST_PP_REPEAT_2_971(m, d) BOOST_PP_REPEAT_2_970(m, d) m(3, 970, d) +# define BOOST_PP_REPEAT_2_972(m, d) BOOST_PP_REPEAT_2_971(m, d) m(3, 971, d) +# define BOOST_PP_REPEAT_2_973(m, d) BOOST_PP_REPEAT_2_972(m, d) m(3, 972, d) +# define BOOST_PP_REPEAT_2_974(m, d) BOOST_PP_REPEAT_2_973(m, d) m(3, 973, d) +# define BOOST_PP_REPEAT_2_975(m, d) BOOST_PP_REPEAT_2_974(m, d) m(3, 974, d) +# define BOOST_PP_REPEAT_2_976(m, d) BOOST_PP_REPEAT_2_975(m, d) m(3, 975, d) +# define BOOST_PP_REPEAT_2_977(m, d) BOOST_PP_REPEAT_2_976(m, d) m(3, 976, d) +# define BOOST_PP_REPEAT_2_978(m, d) BOOST_PP_REPEAT_2_977(m, d) m(3, 977, d) +# define BOOST_PP_REPEAT_2_979(m, d) BOOST_PP_REPEAT_2_978(m, d) m(3, 978, d) +# define BOOST_PP_REPEAT_2_980(m, d) BOOST_PP_REPEAT_2_979(m, d) m(3, 979, d) +# define BOOST_PP_REPEAT_2_981(m, d) BOOST_PP_REPEAT_2_980(m, d) m(3, 980, d) +# define BOOST_PP_REPEAT_2_982(m, d) BOOST_PP_REPEAT_2_981(m, d) m(3, 981, d) +# define BOOST_PP_REPEAT_2_983(m, d) BOOST_PP_REPEAT_2_982(m, d) m(3, 982, d) +# define BOOST_PP_REPEAT_2_984(m, d) BOOST_PP_REPEAT_2_983(m, d) m(3, 983, d) +# define BOOST_PP_REPEAT_2_985(m, d) BOOST_PP_REPEAT_2_984(m, d) m(3, 984, d) +# define BOOST_PP_REPEAT_2_986(m, d) BOOST_PP_REPEAT_2_985(m, d) m(3, 985, d) +# define BOOST_PP_REPEAT_2_987(m, d) BOOST_PP_REPEAT_2_986(m, d) m(3, 986, d) +# define BOOST_PP_REPEAT_2_988(m, d) BOOST_PP_REPEAT_2_987(m, d) m(3, 987, d) +# define BOOST_PP_REPEAT_2_989(m, d) BOOST_PP_REPEAT_2_988(m, d) m(3, 988, d) +# define BOOST_PP_REPEAT_2_990(m, d) BOOST_PP_REPEAT_2_989(m, d) m(3, 989, d) +# define BOOST_PP_REPEAT_2_991(m, d) BOOST_PP_REPEAT_2_990(m, d) m(3, 990, d) +# define BOOST_PP_REPEAT_2_992(m, d) BOOST_PP_REPEAT_2_991(m, d) m(3, 991, d) +# define BOOST_PP_REPEAT_2_993(m, d) BOOST_PP_REPEAT_2_992(m, d) m(3, 992, d) +# define BOOST_PP_REPEAT_2_994(m, d) BOOST_PP_REPEAT_2_993(m, d) m(3, 993, d) +# define BOOST_PP_REPEAT_2_995(m, d) BOOST_PP_REPEAT_2_994(m, d) m(3, 994, d) +# define BOOST_PP_REPEAT_2_996(m, d) BOOST_PP_REPEAT_2_995(m, d) m(3, 995, d) +# define BOOST_PP_REPEAT_2_997(m, d) BOOST_PP_REPEAT_2_996(m, d) m(3, 996, d) +# define BOOST_PP_REPEAT_2_998(m, d) BOOST_PP_REPEAT_2_997(m, d) m(3, 997, d) +# define BOOST_PP_REPEAT_2_999(m, d) BOOST_PP_REPEAT_2_998(m, d) m(3, 998, d) +# define BOOST_PP_REPEAT_2_1000(m, d) BOOST_PP_REPEAT_2_999(m, d) m(3, 999, d) +# define BOOST_PP_REPEAT_2_1001(m, d) BOOST_PP_REPEAT_2_1000(m, d) m(3, 1000, d) +# define BOOST_PP_REPEAT_2_1002(m, d) BOOST_PP_REPEAT_2_1001(m, d) m(3, 1001, d) +# define BOOST_PP_REPEAT_2_1003(m, d) BOOST_PP_REPEAT_2_1002(m, d) m(3, 1002, d) +# define BOOST_PP_REPEAT_2_1004(m, d) BOOST_PP_REPEAT_2_1003(m, d) m(3, 1003, d) +# define BOOST_PP_REPEAT_2_1005(m, d) BOOST_PP_REPEAT_2_1004(m, d) m(3, 1004, d) +# define BOOST_PP_REPEAT_2_1006(m, d) BOOST_PP_REPEAT_2_1005(m, d) m(3, 1005, d) +# define BOOST_PP_REPEAT_2_1007(m, d) BOOST_PP_REPEAT_2_1006(m, d) m(3, 1006, d) +# define BOOST_PP_REPEAT_2_1008(m, d) BOOST_PP_REPEAT_2_1007(m, d) m(3, 1007, d) +# define BOOST_PP_REPEAT_2_1009(m, d) BOOST_PP_REPEAT_2_1008(m, d) m(3, 1008, d) +# define BOOST_PP_REPEAT_2_1010(m, d) BOOST_PP_REPEAT_2_1009(m, d) m(3, 1009, d) +# define BOOST_PP_REPEAT_2_1011(m, d) BOOST_PP_REPEAT_2_1010(m, d) m(3, 1010, d) +# define BOOST_PP_REPEAT_2_1012(m, d) BOOST_PP_REPEAT_2_1011(m, d) m(3, 1011, d) +# define BOOST_PP_REPEAT_2_1013(m, d) BOOST_PP_REPEAT_2_1012(m, d) m(3, 1012, d) +# define BOOST_PP_REPEAT_2_1014(m, d) BOOST_PP_REPEAT_2_1013(m, d) m(3, 1013, d) +# define BOOST_PP_REPEAT_2_1015(m, d) BOOST_PP_REPEAT_2_1014(m, d) m(3, 1014, d) +# define BOOST_PP_REPEAT_2_1016(m, d) BOOST_PP_REPEAT_2_1015(m, d) m(3, 1015, d) +# define BOOST_PP_REPEAT_2_1017(m, d) BOOST_PP_REPEAT_2_1016(m, d) m(3, 1016, d) +# define BOOST_PP_REPEAT_2_1018(m, d) BOOST_PP_REPEAT_2_1017(m, d) m(3, 1017, d) +# define BOOST_PP_REPEAT_2_1019(m, d) BOOST_PP_REPEAT_2_1018(m, d) m(3, 1018, d) +# define BOOST_PP_REPEAT_2_1020(m, d) BOOST_PP_REPEAT_2_1019(m, d) m(3, 1019, d) +# define BOOST_PP_REPEAT_2_1021(m, d) BOOST_PP_REPEAT_2_1020(m, d) m(3, 1020, d) +# define BOOST_PP_REPEAT_2_1022(m, d) BOOST_PP_REPEAT_2_1021(m, d) m(3, 1021, d) +# define BOOST_PP_REPEAT_2_1023(m, d) BOOST_PP_REPEAT_2_1022(m, d) m(3, 1022, d) +# define BOOST_PP_REPEAT_2_1024(m, d) BOOST_PP_REPEAT_2_1023(m, d) m(3, 1023, d) +# +# define BOOST_PP_REPEAT_3_513(m, d) BOOST_PP_REPEAT_3_512(m, d) m(4, 512, d) +# define BOOST_PP_REPEAT_3_514(m, d) BOOST_PP_REPEAT_3_513(m, d) m(4, 513, d) +# define BOOST_PP_REPEAT_3_515(m, d) BOOST_PP_REPEAT_3_514(m, d) m(4, 514, d) +# define BOOST_PP_REPEAT_3_516(m, d) BOOST_PP_REPEAT_3_515(m, d) m(4, 515, d) +# define BOOST_PP_REPEAT_3_517(m, d) BOOST_PP_REPEAT_3_516(m, d) m(4, 516, d) +# define BOOST_PP_REPEAT_3_518(m, d) BOOST_PP_REPEAT_3_517(m, d) m(4, 517, d) +# define BOOST_PP_REPEAT_3_519(m, d) BOOST_PP_REPEAT_3_518(m, d) m(4, 518, d) +# define BOOST_PP_REPEAT_3_520(m, d) BOOST_PP_REPEAT_3_519(m, d) m(4, 519, d) +# define BOOST_PP_REPEAT_3_521(m, d) BOOST_PP_REPEAT_3_520(m, d) m(4, 520, d) +# define BOOST_PP_REPEAT_3_522(m, d) BOOST_PP_REPEAT_3_521(m, d) m(4, 521, d) +# define BOOST_PP_REPEAT_3_523(m, d) BOOST_PP_REPEAT_3_522(m, d) m(4, 522, d) +# define BOOST_PP_REPEAT_3_524(m, d) BOOST_PP_REPEAT_3_523(m, d) m(4, 523, d) +# define BOOST_PP_REPEAT_3_525(m, d) BOOST_PP_REPEAT_3_524(m, d) m(4, 524, d) +# define BOOST_PP_REPEAT_3_526(m, d) BOOST_PP_REPEAT_3_525(m, d) m(4, 525, d) +# define BOOST_PP_REPEAT_3_527(m, d) BOOST_PP_REPEAT_3_526(m, d) m(4, 526, d) +# define BOOST_PP_REPEAT_3_528(m, d) BOOST_PP_REPEAT_3_527(m, d) m(4, 527, d) +# define BOOST_PP_REPEAT_3_529(m, d) BOOST_PP_REPEAT_3_528(m, d) m(4, 528, d) +# define BOOST_PP_REPEAT_3_530(m, d) BOOST_PP_REPEAT_3_529(m, d) m(4, 529, d) +# define BOOST_PP_REPEAT_3_531(m, d) BOOST_PP_REPEAT_3_530(m, d) m(4, 530, d) +# define BOOST_PP_REPEAT_3_532(m, d) BOOST_PP_REPEAT_3_531(m, d) m(4, 531, d) +# define BOOST_PP_REPEAT_3_533(m, d) BOOST_PP_REPEAT_3_532(m, d) m(4, 532, d) +# define BOOST_PP_REPEAT_3_534(m, d) BOOST_PP_REPEAT_3_533(m, d) m(4, 533, d) +# define BOOST_PP_REPEAT_3_535(m, d) BOOST_PP_REPEAT_3_534(m, d) m(4, 534, d) +# define BOOST_PP_REPEAT_3_536(m, d) BOOST_PP_REPEAT_3_535(m, d) m(4, 535, d) +# define BOOST_PP_REPEAT_3_537(m, d) BOOST_PP_REPEAT_3_536(m, d) m(4, 536, d) +# define BOOST_PP_REPEAT_3_538(m, d) BOOST_PP_REPEAT_3_537(m, d) m(4, 537, d) +# define BOOST_PP_REPEAT_3_539(m, d) BOOST_PP_REPEAT_3_538(m, d) m(4, 538, d) +# define BOOST_PP_REPEAT_3_540(m, d) BOOST_PP_REPEAT_3_539(m, d) m(4, 539, d) +# define BOOST_PP_REPEAT_3_541(m, d) BOOST_PP_REPEAT_3_540(m, d) m(4, 540, d) +# define BOOST_PP_REPEAT_3_542(m, d) BOOST_PP_REPEAT_3_541(m, d) m(4, 541, d) +# define BOOST_PP_REPEAT_3_543(m, d) BOOST_PP_REPEAT_3_542(m, d) m(4, 542, d) +# define BOOST_PP_REPEAT_3_544(m, d) BOOST_PP_REPEAT_3_543(m, d) m(4, 543, d) +# define BOOST_PP_REPEAT_3_545(m, d) BOOST_PP_REPEAT_3_544(m, d) m(4, 544, d) +# define BOOST_PP_REPEAT_3_546(m, d) BOOST_PP_REPEAT_3_545(m, d) m(4, 545, d) +# define BOOST_PP_REPEAT_3_547(m, d) BOOST_PP_REPEAT_3_546(m, d) m(4, 546, d) +# define BOOST_PP_REPEAT_3_548(m, d) BOOST_PP_REPEAT_3_547(m, d) m(4, 547, d) +# define BOOST_PP_REPEAT_3_549(m, d) BOOST_PP_REPEAT_3_548(m, d) m(4, 548, d) +# define BOOST_PP_REPEAT_3_550(m, d) BOOST_PP_REPEAT_3_549(m, d) m(4, 549, d) +# define BOOST_PP_REPEAT_3_551(m, d) BOOST_PP_REPEAT_3_550(m, d) m(4, 550, d) +# define BOOST_PP_REPEAT_3_552(m, d) BOOST_PP_REPEAT_3_551(m, d) m(4, 551, d) +# define BOOST_PP_REPEAT_3_553(m, d) BOOST_PP_REPEAT_3_552(m, d) m(4, 552, d) +# define BOOST_PP_REPEAT_3_554(m, d) BOOST_PP_REPEAT_3_553(m, d) m(4, 553, d) +# define BOOST_PP_REPEAT_3_555(m, d) BOOST_PP_REPEAT_3_554(m, d) m(4, 554, d) +# define BOOST_PP_REPEAT_3_556(m, d) BOOST_PP_REPEAT_3_555(m, d) m(4, 555, d) +# define BOOST_PP_REPEAT_3_557(m, d) BOOST_PP_REPEAT_3_556(m, d) m(4, 556, d) +# define BOOST_PP_REPEAT_3_558(m, d) BOOST_PP_REPEAT_3_557(m, d) m(4, 557, d) +# define BOOST_PP_REPEAT_3_559(m, d) BOOST_PP_REPEAT_3_558(m, d) m(4, 558, d) +# define BOOST_PP_REPEAT_3_560(m, d) BOOST_PP_REPEAT_3_559(m, d) m(4, 559, d) +# define BOOST_PP_REPEAT_3_561(m, d) BOOST_PP_REPEAT_3_560(m, d) m(4, 560, d) +# define BOOST_PP_REPEAT_3_562(m, d) BOOST_PP_REPEAT_3_561(m, d) m(4, 561, d) +# define BOOST_PP_REPEAT_3_563(m, d) BOOST_PP_REPEAT_3_562(m, d) m(4, 562, d) +# define BOOST_PP_REPEAT_3_564(m, d) BOOST_PP_REPEAT_3_563(m, d) m(4, 563, d) +# define BOOST_PP_REPEAT_3_565(m, d) BOOST_PP_REPEAT_3_564(m, d) m(4, 564, d) +# define BOOST_PP_REPEAT_3_566(m, d) BOOST_PP_REPEAT_3_565(m, d) m(4, 565, d) +# define BOOST_PP_REPEAT_3_567(m, d) BOOST_PP_REPEAT_3_566(m, d) m(4, 566, d) +# define BOOST_PP_REPEAT_3_568(m, d) BOOST_PP_REPEAT_3_567(m, d) m(4, 567, d) +# define BOOST_PP_REPEAT_3_569(m, d) BOOST_PP_REPEAT_3_568(m, d) m(4, 568, d) +# define BOOST_PP_REPEAT_3_570(m, d) BOOST_PP_REPEAT_3_569(m, d) m(4, 569, d) +# define BOOST_PP_REPEAT_3_571(m, d) BOOST_PP_REPEAT_3_570(m, d) m(4, 570, d) +# define BOOST_PP_REPEAT_3_572(m, d) BOOST_PP_REPEAT_3_571(m, d) m(4, 571, d) +# define BOOST_PP_REPEAT_3_573(m, d) BOOST_PP_REPEAT_3_572(m, d) m(4, 572, d) +# define BOOST_PP_REPEAT_3_574(m, d) BOOST_PP_REPEAT_3_573(m, d) m(4, 573, d) +# define BOOST_PP_REPEAT_3_575(m, d) BOOST_PP_REPEAT_3_574(m, d) m(4, 574, d) +# define BOOST_PP_REPEAT_3_576(m, d) BOOST_PP_REPEAT_3_575(m, d) m(4, 575, d) +# define BOOST_PP_REPEAT_3_577(m, d) BOOST_PP_REPEAT_3_576(m, d) m(4, 576, d) +# define BOOST_PP_REPEAT_3_578(m, d) BOOST_PP_REPEAT_3_577(m, d) m(4, 577, d) +# define BOOST_PP_REPEAT_3_579(m, d) BOOST_PP_REPEAT_3_578(m, d) m(4, 578, d) +# define BOOST_PP_REPEAT_3_580(m, d) BOOST_PP_REPEAT_3_579(m, d) m(4, 579, d) +# define BOOST_PP_REPEAT_3_581(m, d) BOOST_PP_REPEAT_3_580(m, d) m(4, 580, d) +# define BOOST_PP_REPEAT_3_582(m, d) BOOST_PP_REPEAT_3_581(m, d) m(4, 581, d) +# define BOOST_PP_REPEAT_3_583(m, d) BOOST_PP_REPEAT_3_582(m, d) m(4, 582, d) +# define BOOST_PP_REPEAT_3_584(m, d) BOOST_PP_REPEAT_3_583(m, d) m(4, 583, d) +# define BOOST_PP_REPEAT_3_585(m, d) BOOST_PP_REPEAT_3_584(m, d) m(4, 584, d) +# define BOOST_PP_REPEAT_3_586(m, d) BOOST_PP_REPEAT_3_585(m, d) m(4, 585, d) +# define BOOST_PP_REPEAT_3_587(m, d) BOOST_PP_REPEAT_3_586(m, d) m(4, 586, d) +# define BOOST_PP_REPEAT_3_588(m, d) BOOST_PP_REPEAT_3_587(m, d) m(4, 587, d) +# define BOOST_PP_REPEAT_3_589(m, d) BOOST_PP_REPEAT_3_588(m, d) m(4, 588, d) +# define BOOST_PP_REPEAT_3_590(m, d) BOOST_PP_REPEAT_3_589(m, d) m(4, 589, d) +# define BOOST_PP_REPEAT_3_591(m, d) BOOST_PP_REPEAT_3_590(m, d) m(4, 590, d) +# define BOOST_PP_REPEAT_3_592(m, d) BOOST_PP_REPEAT_3_591(m, d) m(4, 591, d) +# define BOOST_PP_REPEAT_3_593(m, d) BOOST_PP_REPEAT_3_592(m, d) m(4, 592, d) +# define BOOST_PP_REPEAT_3_594(m, d) BOOST_PP_REPEAT_3_593(m, d) m(4, 593, d) +# define BOOST_PP_REPEAT_3_595(m, d) BOOST_PP_REPEAT_3_594(m, d) m(4, 594, d) +# define BOOST_PP_REPEAT_3_596(m, d) BOOST_PP_REPEAT_3_595(m, d) m(4, 595, d) +# define BOOST_PP_REPEAT_3_597(m, d) BOOST_PP_REPEAT_3_596(m, d) m(4, 596, d) +# define BOOST_PP_REPEAT_3_598(m, d) BOOST_PP_REPEAT_3_597(m, d) m(4, 597, d) +# define BOOST_PP_REPEAT_3_599(m, d) BOOST_PP_REPEAT_3_598(m, d) m(4, 598, d) +# define BOOST_PP_REPEAT_3_600(m, d) BOOST_PP_REPEAT_3_599(m, d) m(4, 599, d) +# define BOOST_PP_REPEAT_3_601(m, d) BOOST_PP_REPEAT_3_600(m, d) m(4, 600, d) +# define BOOST_PP_REPEAT_3_602(m, d) BOOST_PP_REPEAT_3_601(m, d) m(4, 601, d) +# define BOOST_PP_REPEAT_3_603(m, d) BOOST_PP_REPEAT_3_602(m, d) m(4, 602, d) +# define BOOST_PP_REPEAT_3_604(m, d) BOOST_PP_REPEAT_3_603(m, d) m(4, 603, d) +# define BOOST_PP_REPEAT_3_605(m, d) BOOST_PP_REPEAT_3_604(m, d) m(4, 604, d) +# define BOOST_PP_REPEAT_3_606(m, d) BOOST_PP_REPEAT_3_605(m, d) m(4, 605, d) +# define BOOST_PP_REPEAT_3_607(m, d) BOOST_PP_REPEAT_3_606(m, d) m(4, 606, d) +# define BOOST_PP_REPEAT_3_608(m, d) BOOST_PP_REPEAT_3_607(m, d) m(4, 607, d) +# define BOOST_PP_REPEAT_3_609(m, d) BOOST_PP_REPEAT_3_608(m, d) m(4, 608, d) +# define BOOST_PP_REPEAT_3_610(m, d) BOOST_PP_REPEAT_3_609(m, d) m(4, 609, d) +# define BOOST_PP_REPEAT_3_611(m, d) BOOST_PP_REPEAT_3_610(m, d) m(4, 610, d) +# define BOOST_PP_REPEAT_3_612(m, d) BOOST_PP_REPEAT_3_611(m, d) m(4, 611, d) +# define BOOST_PP_REPEAT_3_613(m, d) BOOST_PP_REPEAT_3_612(m, d) m(4, 612, d) +# define BOOST_PP_REPEAT_3_614(m, d) BOOST_PP_REPEAT_3_613(m, d) m(4, 613, d) +# define BOOST_PP_REPEAT_3_615(m, d) BOOST_PP_REPEAT_3_614(m, d) m(4, 614, d) +# define BOOST_PP_REPEAT_3_616(m, d) BOOST_PP_REPEAT_3_615(m, d) m(4, 615, d) +# define BOOST_PP_REPEAT_3_617(m, d) BOOST_PP_REPEAT_3_616(m, d) m(4, 616, d) +# define BOOST_PP_REPEAT_3_618(m, d) BOOST_PP_REPEAT_3_617(m, d) m(4, 617, d) +# define BOOST_PP_REPEAT_3_619(m, d) BOOST_PP_REPEAT_3_618(m, d) m(4, 618, d) +# define BOOST_PP_REPEAT_3_620(m, d) BOOST_PP_REPEAT_3_619(m, d) m(4, 619, d) +# define BOOST_PP_REPEAT_3_621(m, d) BOOST_PP_REPEAT_3_620(m, d) m(4, 620, d) +# define BOOST_PP_REPEAT_3_622(m, d) BOOST_PP_REPEAT_3_621(m, d) m(4, 621, d) +# define BOOST_PP_REPEAT_3_623(m, d) BOOST_PP_REPEAT_3_622(m, d) m(4, 622, d) +# define BOOST_PP_REPEAT_3_624(m, d) BOOST_PP_REPEAT_3_623(m, d) m(4, 623, d) +# define BOOST_PP_REPEAT_3_625(m, d) BOOST_PP_REPEAT_3_624(m, d) m(4, 624, d) +# define BOOST_PP_REPEAT_3_626(m, d) BOOST_PP_REPEAT_3_625(m, d) m(4, 625, d) +# define BOOST_PP_REPEAT_3_627(m, d) BOOST_PP_REPEAT_3_626(m, d) m(4, 626, d) +# define BOOST_PP_REPEAT_3_628(m, d) BOOST_PP_REPEAT_3_627(m, d) m(4, 627, d) +# define BOOST_PP_REPEAT_3_629(m, d) BOOST_PP_REPEAT_3_628(m, d) m(4, 628, d) +# define BOOST_PP_REPEAT_3_630(m, d) BOOST_PP_REPEAT_3_629(m, d) m(4, 629, d) +# define BOOST_PP_REPEAT_3_631(m, d) BOOST_PP_REPEAT_3_630(m, d) m(4, 630, d) +# define BOOST_PP_REPEAT_3_632(m, d) BOOST_PP_REPEAT_3_631(m, d) m(4, 631, d) +# define BOOST_PP_REPEAT_3_633(m, d) BOOST_PP_REPEAT_3_632(m, d) m(4, 632, d) +# define BOOST_PP_REPEAT_3_634(m, d) BOOST_PP_REPEAT_3_633(m, d) m(4, 633, d) +# define BOOST_PP_REPEAT_3_635(m, d) BOOST_PP_REPEAT_3_634(m, d) m(4, 634, d) +# define BOOST_PP_REPEAT_3_636(m, d) BOOST_PP_REPEAT_3_635(m, d) m(4, 635, d) +# define BOOST_PP_REPEAT_3_637(m, d) BOOST_PP_REPEAT_3_636(m, d) m(4, 636, d) +# define BOOST_PP_REPEAT_3_638(m, d) BOOST_PP_REPEAT_3_637(m, d) m(4, 637, d) +# define BOOST_PP_REPEAT_3_639(m, d) BOOST_PP_REPEAT_3_638(m, d) m(4, 638, d) +# define BOOST_PP_REPEAT_3_640(m, d) BOOST_PP_REPEAT_3_639(m, d) m(4, 639, d) +# define BOOST_PP_REPEAT_3_641(m, d) BOOST_PP_REPEAT_3_640(m, d) m(4, 640, d) +# define BOOST_PP_REPEAT_3_642(m, d) BOOST_PP_REPEAT_3_641(m, d) m(4, 641, d) +# define BOOST_PP_REPEAT_3_643(m, d) BOOST_PP_REPEAT_3_642(m, d) m(4, 642, d) +# define BOOST_PP_REPEAT_3_644(m, d) BOOST_PP_REPEAT_3_643(m, d) m(4, 643, d) +# define BOOST_PP_REPEAT_3_645(m, d) BOOST_PP_REPEAT_3_644(m, d) m(4, 644, d) +# define BOOST_PP_REPEAT_3_646(m, d) BOOST_PP_REPEAT_3_645(m, d) m(4, 645, d) +# define BOOST_PP_REPEAT_3_647(m, d) BOOST_PP_REPEAT_3_646(m, d) m(4, 646, d) +# define BOOST_PP_REPEAT_3_648(m, d) BOOST_PP_REPEAT_3_647(m, d) m(4, 647, d) +# define BOOST_PP_REPEAT_3_649(m, d) BOOST_PP_REPEAT_3_648(m, d) m(4, 648, d) +# define BOOST_PP_REPEAT_3_650(m, d) BOOST_PP_REPEAT_3_649(m, d) m(4, 649, d) +# define BOOST_PP_REPEAT_3_651(m, d) BOOST_PP_REPEAT_3_650(m, d) m(4, 650, d) +# define BOOST_PP_REPEAT_3_652(m, d) BOOST_PP_REPEAT_3_651(m, d) m(4, 651, d) +# define BOOST_PP_REPEAT_3_653(m, d) BOOST_PP_REPEAT_3_652(m, d) m(4, 652, d) +# define BOOST_PP_REPEAT_3_654(m, d) BOOST_PP_REPEAT_3_653(m, d) m(4, 653, d) +# define BOOST_PP_REPEAT_3_655(m, d) BOOST_PP_REPEAT_3_654(m, d) m(4, 654, d) +# define BOOST_PP_REPEAT_3_656(m, d) BOOST_PP_REPEAT_3_655(m, d) m(4, 655, d) +# define BOOST_PP_REPEAT_3_657(m, d) BOOST_PP_REPEAT_3_656(m, d) m(4, 656, d) +# define BOOST_PP_REPEAT_3_658(m, d) BOOST_PP_REPEAT_3_657(m, d) m(4, 657, d) +# define BOOST_PP_REPEAT_3_659(m, d) BOOST_PP_REPEAT_3_658(m, d) m(4, 658, d) +# define BOOST_PP_REPEAT_3_660(m, d) BOOST_PP_REPEAT_3_659(m, d) m(4, 659, d) +# define BOOST_PP_REPEAT_3_661(m, d) BOOST_PP_REPEAT_3_660(m, d) m(4, 660, d) +# define BOOST_PP_REPEAT_3_662(m, d) BOOST_PP_REPEAT_3_661(m, d) m(4, 661, d) +# define BOOST_PP_REPEAT_3_663(m, d) BOOST_PP_REPEAT_3_662(m, d) m(4, 662, d) +# define BOOST_PP_REPEAT_3_664(m, d) BOOST_PP_REPEAT_3_663(m, d) m(4, 663, d) +# define BOOST_PP_REPEAT_3_665(m, d) BOOST_PP_REPEAT_3_664(m, d) m(4, 664, d) +# define BOOST_PP_REPEAT_3_666(m, d) BOOST_PP_REPEAT_3_665(m, d) m(4, 665, d) +# define BOOST_PP_REPEAT_3_667(m, d) BOOST_PP_REPEAT_3_666(m, d) m(4, 666, d) +# define BOOST_PP_REPEAT_3_668(m, d) BOOST_PP_REPEAT_3_667(m, d) m(4, 667, d) +# define BOOST_PP_REPEAT_3_669(m, d) BOOST_PP_REPEAT_3_668(m, d) m(4, 668, d) +# define BOOST_PP_REPEAT_3_670(m, d) BOOST_PP_REPEAT_3_669(m, d) m(4, 669, d) +# define BOOST_PP_REPEAT_3_671(m, d) BOOST_PP_REPEAT_3_670(m, d) m(4, 670, d) +# define BOOST_PP_REPEAT_3_672(m, d) BOOST_PP_REPEAT_3_671(m, d) m(4, 671, d) +# define BOOST_PP_REPEAT_3_673(m, d) BOOST_PP_REPEAT_3_672(m, d) m(4, 672, d) +# define BOOST_PP_REPEAT_3_674(m, d) BOOST_PP_REPEAT_3_673(m, d) m(4, 673, d) +# define BOOST_PP_REPEAT_3_675(m, d) BOOST_PP_REPEAT_3_674(m, d) m(4, 674, d) +# define BOOST_PP_REPEAT_3_676(m, d) BOOST_PP_REPEAT_3_675(m, d) m(4, 675, d) +# define BOOST_PP_REPEAT_3_677(m, d) BOOST_PP_REPEAT_3_676(m, d) m(4, 676, d) +# define BOOST_PP_REPEAT_3_678(m, d) BOOST_PP_REPEAT_3_677(m, d) m(4, 677, d) +# define BOOST_PP_REPEAT_3_679(m, d) BOOST_PP_REPEAT_3_678(m, d) m(4, 678, d) +# define BOOST_PP_REPEAT_3_680(m, d) BOOST_PP_REPEAT_3_679(m, d) m(4, 679, d) +# define BOOST_PP_REPEAT_3_681(m, d) BOOST_PP_REPEAT_3_680(m, d) m(4, 680, d) +# define BOOST_PP_REPEAT_3_682(m, d) BOOST_PP_REPEAT_3_681(m, d) m(4, 681, d) +# define BOOST_PP_REPEAT_3_683(m, d) BOOST_PP_REPEAT_3_682(m, d) m(4, 682, d) +# define BOOST_PP_REPEAT_3_684(m, d) BOOST_PP_REPEAT_3_683(m, d) m(4, 683, d) +# define BOOST_PP_REPEAT_3_685(m, d) BOOST_PP_REPEAT_3_684(m, d) m(4, 684, d) +# define BOOST_PP_REPEAT_3_686(m, d) BOOST_PP_REPEAT_3_685(m, d) m(4, 685, d) +# define BOOST_PP_REPEAT_3_687(m, d) BOOST_PP_REPEAT_3_686(m, d) m(4, 686, d) +# define BOOST_PP_REPEAT_3_688(m, d) BOOST_PP_REPEAT_3_687(m, d) m(4, 687, d) +# define BOOST_PP_REPEAT_3_689(m, d) BOOST_PP_REPEAT_3_688(m, d) m(4, 688, d) +# define BOOST_PP_REPEAT_3_690(m, d) BOOST_PP_REPEAT_3_689(m, d) m(4, 689, d) +# define BOOST_PP_REPEAT_3_691(m, d) BOOST_PP_REPEAT_3_690(m, d) m(4, 690, d) +# define BOOST_PP_REPEAT_3_692(m, d) BOOST_PP_REPEAT_3_691(m, d) m(4, 691, d) +# define BOOST_PP_REPEAT_3_693(m, d) BOOST_PP_REPEAT_3_692(m, d) m(4, 692, d) +# define BOOST_PP_REPEAT_3_694(m, d) BOOST_PP_REPEAT_3_693(m, d) m(4, 693, d) +# define BOOST_PP_REPEAT_3_695(m, d) BOOST_PP_REPEAT_3_694(m, d) m(4, 694, d) +# define BOOST_PP_REPEAT_3_696(m, d) BOOST_PP_REPEAT_3_695(m, d) m(4, 695, d) +# define BOOST_PP_REPEAT_3_697(m, d) BOOST_PP_REPEAT_3_696(m, d) m(4, 696, d) +# define BOOST_PP_REPEAT_3_698(m, d) BOOST_PP_REPEAT_3_697(m, d) m(4, 697, d) +# define BOOST_PP_REPEAT_3_699(m, d) BOOST_PP_REPEAT_3_698(m, d) m(4, 698, d) +# define BOOST_PP_REPEAT_3_700(m, d) BOOST_PP_REPEAT_3_699(m, d) m(4, 699, d) +# define BOOST_PP_REPEAT_3_701(m, d) BOOST_PP_REPEAT_3_700(m, d) m(4, 700, d) +# define BOOST_PP_REPEAT_3_702(m, d) BOOST_PP_REPEAT_3_701(m, d) m(4, 701, d) +# define BOOST_PP_REPEAT_3_703(m, d) BOOST_PP_REPEAT_3_702(m, d) m(4, 702, d) +# define BOOST_PP_REPEAT_3_704(m, d) BOOST_PP_REPEAT_3_703(m, d) m(4, 703, d) +# define BOOST_PP_REPEAT_3_705(m, d) BOOST_PP_REPEAT_3_704(m, d) m(4, 704, d) +# define BOOST_PP_REPEAT_3_706(m, d) BOOST_PP_REPEAT_3_705(m, d) m(4, 705, d) +# define BOOST_PP_REPEAT_3_707(m, d) BOOST_PP_REPEAT_3_706(m, d) m(4, 706, d) +# define BOOST_PP_REPEAT_3_708(m, d) BOOST_PP_REPEAT_3_707(m, d) m(4, 707, d) +# define BOOST_PP_REPEAT_3_709(m, d) BOOST_PP_REPEAT_3_708(m, d) m(4, 708, d) +# define BOOST_PP_REPEAT_3_710(m, d) BOOST_PP_REPEAT_3_709(m, d) m(4, 709, d) +# define BOOST_PP_REPEAT_3_711(m, d) BOOST_PP_REPEAT_3_710(m, d) m(4, 710, d) +# define BOOST_PP_REPEAT_3_712(m, d) BOOST_PP_REPEAT_3_711(m, d) m(4, 711, d) +# define BOOST_PP_REPEAT_3_713(m, d) BOOST_PP_REPEAT_3_712(m, d) m(4, 712, d) +# define BOOST_PP_REPEAT_3_714(m, d) BOOST_PP_REPEAT_3_713(m, d) m(4, 713, d) +# define BOOST_PP_REPEAT_3_715(m, d) BOOST_PP_REPEAT_3_714(m, d) m(4, 714, d) +# define BOOST_PP_REPEAT_3_716(m, d) BOOST_PP_REPEAT_3_715(m, d) m(4, 715, d) +# define BOOST_PP_REPEAT_3_717(m, d) BOOST_PP_REPEAT_3_716(m, d) m(4, 716, d) +# define BOOST_PP_REPEAT_3_718(m, d) BOOST_PP_REPEAT_3_717(m, d) m(4, 717, d) +# define BOOST_PP_REPEAT_3_719(m, d) BOOST_PP_REPEAT_3_718(m, d) m(4, 718, d) +# define BOOST_PP_REPEAT_3_720(m, d) BOOST_PP_REPEAT_3_719(m, d) m(4, 719, d) +# define BOOST_PP_REPEAT_3_721(m, d) BOOST_PP_REPEAT_3_720(m, d) m(4, 720, d) +# define BOOST_PP_REPEAT_3_722(m, d) BOOST_PP_REPEAT_3_721(m, d) m(4, 721, d) +# define BOOST_PP_REPEAT_3_723(m, d) BOOST_PP_REPEAT_3_722(m, d) m(4, 722, d) +# define BOOST_PP_REPEAT_3_724(m, d) BOOST_PP_REPEAT_3_723(m, d) m(4, 723, d) +# define BOOST_PP_REPEAT_3_725(m, d) BOOST_PP_REPEAT_3_724(m, d) m(4, 724, d) +# define BOOST_PP_REPEAT_3_726(m, d) BOOST_PP_REPEAT_3_725(m, d) m(4, 725, d) +# define BOOST_PP_REPEAT_3_727(m, d) BOOST_PP_REPEAT_3_726(m, d) m(4, 726, d) +# define BOOST_PP_REPEAT_3_728(m, d) BOOST_PP_REPEAT_3_727(m, d) m(4, 727, d) +# define BOOST_PP_REPEAT_3_729(m, d) BOOST_PP_REPEAT_3_728(m, d) m(4, 728, d) +# define BOOST_PP_REPEAT_3_730(m, d) BOOST_PP_REPEAT_3_729(m, d) m(4, 729, d) +# define BOOST_PP_REPEAT_3_731(m, d) BOOST_PP_REPEAT_3_730(m, d) m(4, 730, d) +# define BOOST_PP_REPEAT_3_732(m, d) BOOST_PP_REPEAT_3_731(m, d) m(4, 731, d) +# define BOOST_PP_REPEAT_3_733(m, d) BOOST_PP_REPEAT_3_732(m, d) m(4, 732, d) +# define BOOST_PP_REPEAT_3_734(m, d) BOOST_PP_REPEAT_3_733(m, d) m(4, 733, d) +# define BOOST_PP_REPEAT_3_735(m, d) BOOST_PP_REPEAT_3_734(m, d) m(4, 734, d) +# define BOOST_PP_REPEAT_3_736(m, d) BOOST_PP_REPEAT_3_735(m, d) m(4, 735, d) +# define BOOST_PP_REPEAT_3_737(m, d) BOOST_PP_REPEAT_3_736(m, d) m(4, 736, d) +# define BOOST_PP_REPEAT_3_738(m, d) BOOST_PP_REPEAT_3_737(m, d) m(4, 737, d) +# define BOOST_PP_REPEAT_3_739(m, d) BOOST_PP_REPEAT_3_738(m, d) m(4, 738, d) +# define BOOST_PP_REPEAT_3_740(m, d) BOOST_PP_REPEAT_3_739(m, d) m(4, 739, d) +# define BOOST_PP_REPEAT_3_741(m, d) BOOST_PP_REPEAT_3_740(m, d) m(4, 740, d) +# define BOOST_PP_REPEAT_3_742(m, d) BOOST_PP_REPEAT_3_741(m, d) m(4, 741, d) +# define BOOST_PP_REPEAT_3_743(m, d) BOOST_PP_REPEAT_3_742(m, d) m(4, 742, d) +# define BOOST_PP_REPEAT_3_744(m, d) BOOST_PP_REPEAT_3_743(m, d) m(4, 743, d) +# define BOOST_PP_REPEAT_3_745(m, d) BOOST_PP_REPEAT_3_744(m, d) m(4, 744, d) +# define BOOST_PP_REPEAT_3_746(m, d) BOOST_PP_REPEAT_3_745(m, d) m(4, 745, d) +# define BOOST_PP_REPEAT_3_747(m, d) BOOST_PP_REPEAT_3_746(m, d) m(4, 746, d) +# define BOOST_PP_REPEAT_3_748(m, d) BOOST_PP_REPEAT_3_747(m, d) m(4, 747, d) +# define BOOST_PP_REPEAT_3_749(m, d) BOOST_PP_REPEAT_3_748(m, d) m(4, 748, d) +# define BOOST_PP_REPEAT_3_750(m, d) BOOST_PP_REPEAT_3_749(m, d) m(4, 749, d) +# define BOOST_PP_REPEAT_3_751(m, d) BOOST_PP_REPEAT_3_750(m, d) m(4, 750, d) +# define BOOST_PP_REPEAT_3_752(m, d) BOOST_PP_REPEAT_3_751(m, d) m(4, 751, d) +# define BOOST_PP_REPEAT_3_753(m, d) BOOST_PP_REPEAT_3_752(m, d) m(4, 752, d) +# define BOOST_PP_REPEAT_3_754(m, d) BOOST_PP_REPEAT_3_753(m, d) m(4, 753, d) +# define BOOST_PP_REPEAT_3_755(m, d) BOOST_PP_REPEAT_3_754(m, d) m(4, 754, d) +# define BOOST_PP_REPEAT_3_756(m, d) BOOST_PP_REPEAT_3_755(m, d) m(4, 755, d) +# define BOOST_PP_REPEAT_3_757(m, d) BOOST_PP_REPEAT_3_756(m, d) m(4, 756, d) +# define BOOST_PP_REPEAT_3_758(m, d) BOOST_PP_REPEAT_3_757(m, d) m(4, 757, d) +# define BOOST_PP_REPEAT_3_759(m, d) BOOST_PP_REPEAT_3_758(m, d) m(4, 758, d) +# define BOOST_PP_REPEAT_3_760(m, d) BOOST_PP_REPEAT_3_759(m, d) m(4, 759, d) +# define BOOST_PP_REPEAT_3_761(m, d) BOOST_PP_REPEAT_3_760(m, d) m(4, 760, d) +# define BOOST_PP_REPEAT_3_762(m, d) BOOST_PP_REPEAT_3_761(m, d) m(4, 761, d) +# define BOOST_PP_REPEAT_3_763(m, d) BOOST_PP_REPEAT_3_762(m, d) m(4, 762, d) +# define BOOST_PP_REPEAT_3_764(m, d) BOOST_PP_REPEAT_3_763(m, d) m(4, 763, d) +# define BOOST_PP_REPEAT_3_765(m, d) BOOST_PP_REPEAT_3_764(m, d) m(4, 764, d) +# define BOOST_PP_REPEAT_3_766(m, d) BOOST_PP_REPEAT_3_765(m, d) m(4, 765, d) +# define BOOST_PP_REPEAT_3_767(m, d) BOOST_PP_REPEAT_3_766(m, d) m(4, 766, d) +# define BOOST_PP_REPEAT_3_768(m, d) BOOST_PP_REPEAT_3_767(m, d) m(4, 767, d) +# define BOOST_PP_REPEAT_3_769(m, d) BOOST_PP_REPEAT_3_768(m, d) m(4, 768, d) +# define BOOST_PP_REPEAT_3_770(m, d) BOOST_PP_REPEAT_3_769(m, d) m(4, 769, d) +# define BOOST_PP_REPEAT_3_771(m, d) BOOST_PP_REPEAT_3_770(m, d) m(4, 770, d) +# define BOOST_PP_REPEAT_3_772(m, d) BOOST_PP_REPEAT_3_771(m, d) m(4, 771, d) +# define BOOST_PP_REPEAT_3_773(m, d) BOOST_PP_REPEAT_3_772(m, d) m(4, 772, d) +# define BOOST_PP_REPEAT_3_774(m, d) BOOST_PP_REPEAT_3_773(m, d) m(4, 773, d) +# define BOOST_PP_REPEAT_3_775(m, d) BOOST_PP_REPEAT_3_774(m, d) m(4, 774, d) +# define BOOST_PP_REPEAT_3_776(m, d) BOOST_PP_REPEAT_3_775(m, d) m(4, 775, d) +# define BOOST_PP_REPEAT_3_777(m, d) BOOST_PP_REPEAT_3_776(m, d) m(4, 776, d) +# define BOOST_PP_REPEAT_3_778(m, d) BOOST_PP_REPEAT_3_777(m, d) m(4, 777, d) +# define BOOST_PP_REPEAT_3_779(m, d) BOOST_PP_REPEAT_3_778(m, d) m(4, 778, d) +# define BOOST_PP_REPEAT_3_780(m, d) BOOST_PP_REPEAT_3_779(m, d) m(4, 779, d) +# define BOOST_PP_REPEAT_3_781(m, d) BOOST_PP_REPEAT_3_780(m, d) m(4, 780, d) +# define BOOST_PP_REPEAT_3_782(m, d) BOOST_PP_REPEAT_3_781(m, d) m(4, 781, d) +# define BOOST_PP_REPEAT_3_783(m, d) BOOST_PP_REPEAT_3_782(m, d) m(4, 782, d) +# define BOOST_PP_REPEAT_3_784(m, d) BOOST_PP_REPEAT_3_783(m, d) m(4, 783, d) +# define BOOST_PP_REPEAT_3_785(m, d) BOOST_PP_REPEAT_3_784(m, d) m(4, 784, d) +# define BOOST_PP_REPEAT_3_786(m, d) BOOST_PP_REPEAT_3_785(m, d) m(4, 785, d) +# define BOOST_PP_REPEAT_3_787(m, d) BOOST_PP_REPEAT_3_786(m, d) m(4, 786, d) +# define BOOST_PP_REPEAT_3_788(m, d) BOOST_PP_REPEAT_3_787(m, d) m(4, 787, d) +# define BOOST_PP_REPEAT_3_789(m, d) BOOST_PP_REPEAT_3_788(m, d) m(4, 788, d) +# define BOOST_PP_REPEAT_3_790(m, d) BOOST_PP_REPEAT_3_789(m, d) m(4, 789, d) +# define BOOST_PP_REPEAT_3_791(m, d) BOOST_PP_REPEAT_3_790(m, d) m(4, 790, d) +# define BOOST_PP_REPEAT_3_792(m, d) BOOST_PP_REPEAT_3_791(m, d) m(4, 791, d) +# define BOOST_PP_REPEAT_3_793(m, d) BOOST_PP_REPEAT_3_792(m, d) m(4, 792, d) +# define BOOST_PP_REPEAT_3_794(m, d) BOOST_PP_REPEAT_3_793(m, d) m(4, 793, d) +# define BOOST_PP_REPEAT_3_795(m, d) BOOST_PP_REPEAT_3_794(m, d) m(4, 794, d) +# define BOOST_PP_REPEAT_3_796(m, d) BOOST_PP_REPEAT_3_795(m, d) m(4, 795, d) +# define BOOST_PP_REPEAT_3_797(m, d) BOOST_PP_REPEAT_3_796(m, d) m(4, 796, d) +# define BOOST_PP_REPEAT_3_798(m, d) BOOST_PP_REPEAT_3_797(m, d) m(4, 797, d) +# define BOOST_PP_REPEAT_3_799(m, d) BOOST_PP_REPEAT_3_798(m, d) m(4, 798, d) +# define BOOST_PP_REPEAT_3_800(m, d) BOOST_PP_REPEAT_3_799(m, d) m(4, 799, d) +# define BOOST_PP_REPEAT_3_801(m, d) BOOST_PP_REPEAT_3_800(m, d) m(4, 800, d) +# define BOOST_PP_REPEAT_3_802(m, d) BOOST_PP_REPEAT_3_801(m, d) m(4, 801, d) +# define BOOST_PP_REPEAT_3_803(m, d) BOOST_PP_REPEAT_3_802(m, d) m(4, 802, d) +# define BOOST_PP_REPEAT_3_804(m, d) BOOST_PP_REPEAT_3_803(m, d) m(4, 803, d) +# define BOOST_PP_REPEAT_3_805(m, d) BOOST_PP_REPEAT_3_804(m, d) m(4, 804, d) +# define BOOST_PP_REPEAT_3_806(m, d) BOOST_PP_REPEAT_3_805(m, d) m(4, 805, d) +# define BOOST_PP_REPEAT_3_807(m, d) BOOST_PP_REPEAT_3_806(m, d) m(4, 806, d) +# define BOOST_PP_REPEAT_3_808(m, d) BOOST_PP_REPEAT_3_807(m, d) m(4, 807, d) +# define BOOST_PP_REPEAT_3_809(m, d) BOOST_PP_REPEAT_3_808(m, d) m(4, 808, d) +# define BOOST_PP_REPEAT_3_810(m, d) BOOST_PP_REPEAT_3_809(m, d) m(4, 809, d) +# define BOOST_PP_REPEAT_3_811(m, d) BOOST_PP_REPEAT_3_810(m, d) m(4, 810, d) +# define BOOST_PP_REPEAT_3_812(m, d) BOOST_PP_REPEAT_3_811(m, d) m(4, 811, d) +# define BOOST_PP_REPEAT_3_813(m, d) BOOST_PP_REPEAT_3_812(m, d) m(4, 812, d) +# define BOOST_PP_REPEAT_3_814(m, d) BOOST_PP_REPEAT_3_813(m, d) m(4, 813, d) +# define BOOST_PP_REPEAT_3_815(m, d) BOOST_PP_REPEAT_3_814(m, d) m(4, 814, d) +# define BOOST_PP_REPEAT_3_816(m, d) BOOST_PP_REPEAT_3_815(m, d) m(4, 815, d) +# define BOOST_PP_REPEAT_3_817(m, d) BOOST_PP_REPEAT_3_816(m, d) m(4, 816, d) +# define BOOST_PP_REPEAT_3_818(m, d) BOOST_PP_REPEAT_3_817(m, d) m(4, 817, d) +# define BOOST_PP_REPEAT_3_819(m, d) BOOST_PP_REPEAT_3_818(m, d) m(4, 818, d) +# define BOOST_PP_REPEAT_3_820(m, d) BOOST_PP_REPEAT_3_819(m, d) m(4, 819, d) +# define BOOST_PP_REPEAT_3_821(m, d) BOOST_PP_REPEAT_3_820(m, d) m(4, 820, d) +# define BOOST_PP_REPEAT_3_822(m, d) BOOST_PP_REPEAT_3_821(m, d) m(4, 821, d) +# define BOOST_PP_REPEAT_3_823(m, d) BOOST_PP_REPEAT_3_822(m, d) m(4, 822, d) +# define BOOST_PP_REPEAT_3_824(m, d) BOOST_PP_REPEAT_3_823(m, d) m(4, 823, d) +# define BOOST_PP_REPEAT_3_825(m, d) BOOST_PP_REPEAT_3_824(m, d) m(4, 824, d) +# define BOOST_PP_REPEAT_3_826(m, d) BOOST_PP_REPEAT_3_825(m, d) m(4, 825, d) +# define BOOST_PP_REPEAT_3_827(m, d) BOOST_PP_REPEAT_3_826(m, d) m(4, 826, d) +# define BOOST_PP_REPEAT_3_828(m, d) BOOST_PP_REPEAT_3_827(m, d) m(4, 827, d) +# define BOOST_PP_REPEAT_3_829(m, d) BOOST_PP_REPEAT_3_828(m, d) m(4, 828, d) +# define BOOST_PP_REPEAT_3_830(m, d) BOOST_PP_REPEAT_3_829(m, d) m(4, 829, d) +# define BOOST_PP_REPEAT_3_831(m, d) BOOST_PP_REPEAT_3_830(m, d) m(4, 830, d) +# define BOOST_PP_REPEAT_3_832(m, d) BOOST_PP_REPEAT_3_831(m, d) m(4, 831, d) +# define BOOST_PP_REPEAT_3_833(m, d) BOOST_PP_REPEAT_3_832(m, d) m(4, 832, d) +# define BOOST_PP_REPEAT_3_834(m, d) BOOST_PP_REPEAT_3_833(m, d) m(4, 833, d) +# define BOOST_PP_REPEAT_3_835(m, d) BOOST_PP_REPEAT_3_834(m, d) m(4, 834, d) +# define BOOST_PP_REPEAT_3_836(m, d) BOOST_PP_REPEAT_3_835(m, d) m(4, 835, d) +# define BOOST_PP_REPEAT_3_837(m, d) BOOST_PP_REPEAT_3_836(m, d) m(4, 836, d) +# define BOOST_PP_REPEAT_3_838(m, d) BOOST_PP_REPEAT_3_837(m, d) m(4, 837, d) +# define BOOST_PP_REPEAT_3_839(m, d) BOOST_PP_REPEAT_3_838(m, d) m(4, 838, d) +# define BOOST_PP_REPEAT_3_840(m, d) BOOST_PP_REPEAT_3_839(m, d) m(4, 839, d) +# define BOOST_PP_REPEAT_3_841(m, d) BOOST_PP_REPEAT_3_840(m, d) m(4, 840, d) +# define BOOST_PP_REPEAT_3_842(m, d) BOOST_PP_REPEAT_3_841(m, d) m(4, 841, d) +# define BOOST_PP_REPEAT_3_843(m, d) BOOST_PP_REPEAT_3_842(m, d) m(4, 842, d) +# define BOOST_PP_REPEAT_3_844(m, d) BOOST_PP_REPEAT_3_843(m, d) m(4, 843, d) +# define BOOST_PP_REPEAT_3_845(m, d) BOOST_PP_REPEAT_3_844(m, d) m(4, 844, d) +# define BOOST_PP_REPEAT_3_846(m, d) BOOST_PP_REPEAT_3_845(m, d) m(4, 845, d) +# define BOOST_PP_REPEAT_3_847(m, d) BOOST_PP_REPEAT_3_846(m, d) m(4, 846, d) +# define BOOST_PP_REPEAT_3_848(m, d) BOOST_PP_REPEAT_3_847(m, d) m(4, 847, d) +# define BOOST_PP_REPEAT_3_849(m, d) BOOST_PP_REPEAT_3_848(m, d) m(4, 848, d) +# define BOOST_PP_REPEAT_3_850(m, d) BOOST_PP_REPEAT_3_849(m, d) m(4, 849, d) +# define BOOST_PP_REPEAT_3_851(m, d) BOOST_PP_REPEAT_3_850(m, d) m(4, 850, d) +# define BOOST_PP_REPEAT_3_852(m, d) BOOST_PP_REPEAT_3_851(m, d) m(4, 851, d) +# define BOOST_PP_REPEAT_3_853(m, d) BOOST_PP_REPEAT_3_852(m, d) m(4, 852, d) +# define BOOST_PP_REPEAT_3_854(m, d) BOOST_PP_REPEAT_3_853(m, d) m(4, 853, d) +# define BOOST_PP_REPEAT_3_855(m, d) BOOST_PP_REPEAT_3_854(m, d) m(4, 854, d) +# define BOOST_PP_REPEAT_3_856(m, d) BOOST_PP_REPEAT_3_855(m, d) m(4, 855, d) +# define BOOST_PP_REPEAT_3_857(m, d) BOOST_PP_REPEAT_3_856(m, d) m(4, 856, d) +# define BOOST_PP_REPEAT_3_858(m, d) BOOST_PP_REPEAT_3_857(m, d) m(4, 857, d) +# define BOOST_PP_REPEAT_3_859(m, d) BOOST_PP_REPEAT_3_858(m, d) m(4, 858, d) +# define BOOST_PP_REPEAT_3_860(m, d) BOOST_PP_REPEAT_3_859(m, d) m(4, 859, d) +# define BOOST_PP_REPEAT_3_861(m, d) BOOST_PP_REPEAT_3_860(m, d) m(4, 860, d) +# define BOOST_PP_REPEAT_3_862(m, d) BOOST_PP_REPEAT_3_861(m, d) m(4, 861, d) +# define BOOST_PP_REPEAT_3_863(m, d) BOOST_PP_REPEAT_3_862(m, d) m(4, 862, d) +# define BOOST_PP_REPEAT_3_864(m, d) BOOST_PP_REPEAT_3_863(m, d) m(4, 863, d) +# define BOOST_PP_REPEAT_3_865(m, d) BOOST_PP_REPEAT_3_864(m, d) m(4, 864, d) +# define BOOST_PP_REPEAT_3_866(m, d) BOOST_PP_REPEAT_3_865(m, d) m(4, 865, d) +# define BOOST_PP_REPEAT_3_867(m, d) BOOST_PP_REPEAT_3_866(m, d) m(4, 866, d) +# define BOOST_PP_REPEAT_3_868(m, d) BOOST_PP_REPEAT_3_867(m, d) m(4, 867, d) +# define BOOST_PP_REPEAT_3_869(m, d) BOOST_PP_REPEAT_3_868(m, d) m(4, 868, d) +# define BOOST_PP_REPEAT_3_870(m, d) BOOST_PP_REPEAT_3_869(m, d) m(4, 869, d) +# define BOOST_PP_REPEAT_3_871(m, d) BOOST_PP_REPEAT_3_870(m, d) m(4, 870, d) +# define BOOST_PP_REPEAT_3_872(m, d) BOOST_PP_REPEAT_3_871(m, d) m(4, 871, d) +# define BOOST_PP_REPEAT_3_873(m, d) BOOST_PP_REPEAT_3_872(m, d) m(4, 872, d) +# define BOOST_PP_REPEAT_3_874(m, d) BOOST_PP_REPEAT_3_873(m, d) m(4, 873, d) +# define BOOST_PP_REPEAT_3_875(m, d) BOOST_PP_REPEAT_3_874(m, d) m(4, 874, d) +# define BOOST_PP_REPEAT_3_876(m, d) BOOST_PP_REPEAT_3_875(m, d) m(4, 875, d) +# define BOOST_PP_REPEAT_3_877(m, d) BOOST_PP_REPEAT_3_876(m, d) m(4, 876, d) +# define BOOST_PP_REPEAT_3_878(m, d) BOOST_PP_REPEAT_3_877(m, d) m(4, 877, d) +# define BOOST_PP_REPEAT_3_879(m, d) BOOST_PP_REPEAT_3_878(m, d) m(4, 878, d) +# define BOOST_PP_REPEAT_3_880(m, d) BOOST_PP_REPEAT_3_879(m, d) m(4, 879, d) +# define BOOST_PP_REPEAT_3_881(m, d) BOOST_PP_REPEAT_3_880(m, d) m(4, 880, d) +# define BOOST_PP_REPEAT_3_882(m, d) BOOST_PP_REPEAT_3_881(m, d) m(4, 881, d) +# define BOOST_PP_REPEAT_3_883(m, d) BOOST_PP_REPEAT_3_882(m, d) m(4, 882, d) +# define BOOST_PP_REPEAT_3_884(m, d) BOOST_PP_REPEAT_3_883(m, d) m(4, 883, d) +# define BOOST_PP_REPEAT_3_885(m, d) BOOST_PP_REPEAT_3_884(m, d) m(4, 884, d) +# define BOOST_PP_REPEAT_3_886(m, d) BOOST_PP_REPEAT_3_885(m, d) m(4, 885, d) +# define BOOST_PP_REPEAT_3_887(m, d) BOOST_PP_REPEAT_3_886(m, d) m(4, 886, d) +# define BOOST_PP_REPEAT_3_888(m, d) BOOST_PP_REPEAT_3_887(m, d) m(4, 887, d) +# define BOOST_PP_REPEAT_3_889(m, d) BOOST_PP_REPEAT_3_888(m, d) m(4, 888, d) +# define BOOST_PP_REPEAT_3_890(m, d) BOOST_PP_REPEAT_3_889(m, d) m(4, 889, d) +# define BOOST_PP_REPEAT_3_891(m, d) BOOST_PP_REPEAT_3_890(m, d) m(4, 890, d) +# define BOOST_PP_REPEAT_3_892(m, d) BOOST_PP_REPEAT_3_891(m, d) m(4, 891, d) +# define BOOST_PP_REPEAT_3_893(m, d) BOOST_PP_REPEAT_3_892(m, d) m(4, 892, d) +# define BOOST_PP_REPEAT_3_894(m, d) BOOST_PP_REPEAT_3_893(m, d) m(4, 893, d) +# define BOOST_PP_REPEAT_3_895(m, d) BOOST_PP_REPEAT_3_894(m, d) m(4, 894, d) +# define BOOST_PP_REPEAT_3_896(m, d) BOOST_PP_REPEAT_3_895(m, d) m(4, 895, d) +# define BOOST_PP_REPEAT_3_897(m, d) BOOST_PP_REPEAT_3_896(m, d) m(4, 896, d) +# define BOOST_PP_REPEAT_3_898(m, d) BOOST_PP_REPEAT_3_897(m, d) m(4, 897, d) +# define BOOST_PP_REPEAT_3_899(m, d) BOOST_PP_REPEAT_3_898(m, d) m(4, 898, d) +# define BOOST_PP_REPEAT_3_900(m, d) BOOST_PP_REPEAT_3_899(m, d) m(4, 899, d) +# define BOOST_PP_REPEAT_3_901(m, d) BOOST_PP_REPEAT_3_900(m, d) m(4, 900, d) +# define BOOST_PP_REPEAT_3_902(m, d) BOOST_PP_REPEAT_3_901(m, d) m(4, 901, d) +# define BOOST_PP_REPEAT_3_903(m, d) BOOST_PP_REPEAT_3_902(m, d) m(4, 902, d) +# define BOOST_PP_REPEAT_3_904(m, d) BOOST_PP_REPEAT_3_903(m, d) m(4, 903, d) +# define BOOST_PP_REPEAT_3_905(m, d) BOOST_PP_REPEAT_3_904(m, d) m(4, 904, d) +# define BOOST_PP_REPEAT_3_906(m, d) BOOST_PP_REPEAT_3_905(m, d) m(4, 905, d) +# define BOOST_PP_REPEAT_3_907(m, d) BOOST_PP_REPEAT_3_906(m, d) m(4, 906, d) +# define BOOST_PP_REPEAT_3_908(m, d) BOOST_PP_REPEAT_3_907(m, d) m(4, 907, d) +# define BOOST_PP_REPEAT_3_909(m, d) BOOST_PP_REPEAT_3_908(m, d) m(4, 908, d) +# define BOOST_PP_REPEAT_3_910(m, d) BOOST_PP_REPEAT_3_909(m, d) m(4, 909, d) +# define BOOST_PP_REPEAT_3_911(m, d) BOOST_PP_REPEAT_3_910(m, d) m(4, 910, d) +# define BOOST_PP_REPEAT_3_912(m, d) BOOST_PP_REPEAT_3_911(m, d) m(4, 911, d) +# define BOOST_PP_REPEAT_3_913(m, d) BOOST_PP_REPEAT_3_912(m, d) m(4, 912, d) +# define BOOST_PP_REPEAT_3_914(m, d) BOOST_PP_REPEAT_3_913(m, d) m(4, 913, d) +# define BOOST_PP_REPEAT_3_915(m, d) BOOST_PP_REPEAT_3_914(m, d) m(4, 914, d) +# define BOOST_PP_REPEAT_3_916(m, d) BOOST_PP_REPEAT_3_915(m, d) m(4, 915, d) +# define BOOST_PP_REPEAT_3_917(m, d) BOOST_PP_REPEAT_3_916(m, d) m(4, 916, d) +# define BOOST_PP_REPEAT_3_918(m, d) BOOST_PP_REPEAT_3_917(m, d) m(4, 917, d) +# define BOOST_PP_REPEAT_3_919(m, d) BOOST_PP_REPEAT_3_918(m, d) m(4, 918, d) +# define BOOST_PP_REPEAT_3_920(m, d) BOOST_PP_REPEAT_3_919(m, d) m(4, 919, d) +# define BOOST_PP_REPEAT_3_921(m, d) BOOST_PP_REPEAT_3_920(m, d) m(4, 920, d) +# define BOOST_PP_REPEAT_3_922(m, d) BOOST_PP_REPEAT_3_921(m, d) m(4, 921, d) +# define BOOST_PP_REPEAT_3_923(m, d) BOOST_PP_REPEAT_3_922(m, d) m(4, 922, d) +# define BOOST_PP_REPEAT_3_924(m, d) BOOST_PP_REPEAT_3_923(m, d) m(4, 923, d) +# define BOOST_PP_REPEAT_3_925(m, d) BOOST_PP_REPEAT_3_924(m, d) m(4, 924, d) +# define BOOST_PP_REPEAT_3_926(m, d) BOOST_PP_REPEAT_3_925(m, d) m(4, 925, d) +# define BOOST_PP_REPEAT_3_927(m, d) BOOST_PP_REPEAT_3_926(m, d) m(4, 926, d) +# define BOOST_PP_REPEAT_3_928(m, d) BOOST_PP_REPEAT_3_927(m, d) m(4, 927, d) +# define BOOST_PP_REPEAT_3_929(m, d) BOOST_PP_REPEAT_3_928(m, d) m(4, 928, d) +# define BOOST_PP_REPEAT_3_930(m, d) BOOST_PP_REPEAT_3_929(m, d) m(4, 929, d) +# define BOOST_PP_REPEAT_3_931(m, d) BOOST_PP_REPEAT_3_930(m, d) m(4, 930, d) +# define BOOST_PP_REPEAT_3_932(m, d) BOOST_PP_REPEAT_3_931(m, d) m(4, 931, d) +# define BOOST_PP_REPEAT_3_933(m, d) BOOST_PP_REPEAT_3_932(m, d) m(4, 932, d) +# define BOOST_PP_REPEAT_3_934(m, d) BOOST_PP_REPEAT_3_933(m, d) m(4, 933, d) +# define BOOST_PP_REPEAT_3_935(m, d) BOOST_PP_REPEAT_3_934(m, d) m(4, 934, d) +# define BOOST_PP_REPEAT_3_936(m, d) BOOST_PP_REPEAT_3_935(m, d) m(4, 935, d) +# define BOOST_PP_REPEAT_3_937(m, d) BOOST_PP_REPEAT_3_936(m, d) m(4, 936, d) +# define BOOST_PP_REPEAT_3_938(m, d) BOOST_PP_REPEAT_3_937(m, d) m(4, 937, d) +# define BOOST_PP_REPEAT_3_939(m, d) BOOST_PP_REPEAT_3_938(m, d) m(4, 938, d) +# define BOOST_PP_REPEAT_3_940(m, d) BOOST_PP_REPEAT_3_939(m, d) m(4, 939, d) +# define BOOST_PP_REPEAT_3_941(m, d) BOOST_PP_REPEAT_3_940(m, d) m(4, 940, d) +# define BOOST_PP_REPEAT_3_942(m, d) BOOST_PP_REPEAT_3_941(m, d) m(4, 941, d) +# define BOOST_PP_REPEAT_3_943(m, d) BOOST_PP_REPEAT_3_942(m, d) m(4, 942, d) +# define BOOST_PP_REPEAT_3_944(m, d) BOOST_PP_REPEAT_3_943(m, d) m(4, 943, d) +# define BOOST_PP_REPEAT_3_945(m, d) BOOST_PP_REPEAT_3_944(m, d) m(4, 944, d) +# define BOOST_PP_REPEAT_3_946(m, d) BOOST_PP_REPEAT_3_945(m, d) m(4, 945, d) +# define BOOST_PP_REPEAT_3_947(m, d) BOOST_PP_REPEAT_3_946(m, d) m(4, 946, d) +# define BOOST_PP_REPEAT_3_948(m, d) BOOST_PP_REPEAT_3_947(m, d) m(4, 947, d) +# define BOOST_PP_REPEAT_3_949(m, d) BOOST_PP_REPEAT_3_948(m, d) m(4, 948, d) +# define BOOST_PP_REPEAT_3_950(m, d) BOOST_PP_REPEAT_3_949(m, d) m(4, 949, d) +# define BOOST_PP_REPEAT_3_951(m, d) BOOST_PP_REPEAT_3_950(m, d) m(4, 950, d) +# define BOOST_PP_REPEAT_3_952(m, d) BOOST_PP_REPEAT_3_951(m, d) m(4, 951, d) +# define BOOST_PP_REPEAT_3_953(m, d) BOOST_PP_REPEAT_3_952(m, d) m(4, 952, d) +# define BOOST_PP_REPEAT_3_954(m, d) BOOST_PP_REPEAT_3_953(m, d) m(4, 953, d) +# define BOOST_PP_REPEAT_3_955(m, d) BOOST_PP_REPEAT_3_954(m, d) m(4, 954, d) +# define BOOST_PP_REPEAT_3_956(m, d) BOOST_PP_REPEAT_3_955(m, d) m(4, 955, d) +# define BOOST_PP_REPEAT_3_957(m, d) BOOST_PP_REPEAT_3_956(m, d) m(4, 956, d) +# define BOOST_PP_REPEAT_3_958(m, d) BOOST_PP_REPEAT_3_957(m, d) m(4, 957, d) +# define BOOST_PP_REPEAT_3_959(m, d) BOOST_PP_REPEAT_3_958(m, d) m(4, 958, d) +# define BOOST_PP_REPEAT_3_960(m, d) BOOST_PP_REPEAT_3_959(m, d) m(4, 959, d) +# define BOOST_PP_REPEAT_3_961(m, d) BOOST_PP_REPEAT_3_960(m, d) m(4, 960, d) +# define BOOST_PP_REPEAT_3_962(m, d) BOOST_PP_REPEAT_3_961(m, d) m(4, 961, d) +# define BOOST_PP_REPEAT_3_963(m, d) BOOST_PP_REPEAT_3_962(m, d) m(4, 962, d) +# define BOOST_PP_REPEAT_3_964(m, d) BOOST_PP_REPEAT_3_963(m, d) m(4, 963, d) +# define BOOST_PP_REPEAT_3_965(m, d) BOOST_PP_REPEAT_3_964(m, d) m(4, 964, d) +# define BOOST_PP_REPEAT_3_966(m, d) BOOST_PP_REPEAT_3_965(m, d) m(4, 965, d) +# define BOOST_PP_REPEAT_3_967(m, d) BOOST_PP_REPEAT_3_966(m, d) m(4, 966, d) +# define BOOST_PP_REPEAT_3_968(m, d) BOOST_PP_REPEAT_3_967(m, d) m(4, 967, d) +# define BOOST_PP_REPEAT_3_969(m, d) BOOST_PP_REPEAT_3_968(m, d) m(4, 968, d) +# define BOOST_PP_REPEAT_3_970(m, d) BOOST_PP_REPEAT_3_969(m, d) m(4, 969, d) +# define BOOST_PP_REPEAT_3_971(m, d) BOOST_PP_REPEAT_3_970(m, d) m(4, 970, d) +# define BOOST_PP_REPEAT_3_972(m, d) BOOST_PP_REPEAT_3_971(m, d) m(4, 971, d) +# define BOOST_PP_REPEAT_3_973(m, d) BOOST_PP_REPEAT_3_972(m, d) m(4, 972, d) +# define BOOST_PP_REPEAT_3_974(m, d) BOOST_PP_REPEAT_3_973(m, d) m(4, 973, d) +# define BOOST_PP_REPEAT_3_975(m, d) BOOST_PP_REPEAT_3_974(m, d) m(4, 974, d) +# define BOOST_PP_REPEAT_3_976(m, d) BOOST_PP_REPEAT_3_975(m, d) m(4, 975, d) +# define BOOST_PP_REPEAT_3_977(m, d) BOOST_PP_REPEAT_3_976(m, d) m(4, 976, d) +# define BOOST_PP_REPEAT_3_978(m, d) BOOST_PP_REPEAT_3_977(m, d) m(4, 977, d) +# define BOOST_PP_REPEAT_3_979(m, d) BOOST_PP_REPEAT_3_978(m, d) m(4, 978, d) +# define BOOST_PP_REPEAT_3_980(m, d) BOOST_PP_REPEAT_3_979(m, d) m(4, 979, d) +# define BOOST_PP_REPEAT_3_981(m, d) BOOST_PP_REPEAT_3_980(m, d) m(4, 980, d) +# define BOOST_PP_REPEAT_3_982(m, d) BOOST_PP_REPEAT_3_981(m, d) m(4, 981, d) +# define BOOST_PP_REPEAT_3_983(m, d) BOOST_PP_REPEAT_3_982(m, d) m(4, 982, d) +# define BOOST_PP_REPEAT_3_984(m, d) BOOST_PP_REPEAT_3_983(m, d) m(4, 983, d) +# define BOOST_PP_REPEAT_3_985(m, d) BOOST_PP_REPEAT_3_984(m, d) m(4, 984, d) +# define BOOST_PP_REPEAT_3_986(m, d) BOOST_PP_REPEAT_3_985(m, d) m(4, 985, d) +# define BOOST_PP_REPEAT_3_987(m, d) BOOST_PP_REPEAT_3_986(m, d) m(4, 986, d) +# define BOOST_PP_REPEAT_3_988(m, d) BOOST_PP_REPEAT_3_987(m, d) m(4, 987, d) +# define BOOST_PP_REPEAT_3_989(m, d) BOOST_PP_REPEAT_3_988(m, d) m(4, 988, d) +# define BOOST_PP_REPEAT_3_990(m, d) BOOST_PP_REPEAT_3_989(m, d) m(4, 989, d) +# define BOOST_PP_REPEAT_3_991(m, d) BOOST_PP_REPEAT_3_990(m, d) m(4, 990, d) +# define BOOST_PP_REPEAT_3_992(m, d) BOOST_PP_REPEAT_3_991(m, d) m(4, 991, d) +# define BOOST_PP_REPEAT_3_993(m, d) BOOST_PP_REPEAT_3_992(m, d) m(4, 992, d) +# define BOOST_PP_REPEAT_3_994(m, d) BOOST_PP_REPEAT_3_993(m, d) m(4, 993, d) +# define BOOST_PP_REPEAT_3_995(m, d) BOOST_PP_REPEAT_3_994(m, d) m(4, 994, d) +# define BOOST_PP_REPEAT_3_996(m, d) BOOST_PP_REPEAT_3_995(m, d) m(4, 995, d) +# define BOOST_PP_REPEAT_3_997(m, d) BOOST_PP_REPEAT_3_996(m, d) m(4, 996, d) +# define BOOST_PP_REPEAT_3_998(m, d) BOOST_PP_REPEAT_3_997(m, d) m(4, 997, d) +# define BOOST_PP_REPEAT_3_999(m, d) BOOST_PP_REPEAT_3_998(m, d) m(4, 998, d) +# define BOOST_PP_REPEAT_3_1000(m, d) BOOST_PP_REPEAT_3_999(m, d) m(4, 999, d) +# define BOOST_PP_REPEAT_3_1001(m, d) BOOST_PP_REPEAT_3_1000(m, d) m(4, 1000, d) +# define BOOST_PP_REPEAT_3_1002(m, d) BOOST_PP_REPEAT_3_1001(m, d) m(4, 1001, d) +# define BOOST_PP_REPEAT_3_1003(m, d) BOOST_PP_REPEAT_3_1002(m, d) m(4, 1002, d) +# define BOOST_PP_REPEAT_3_1004(m, d) BOOST_PP_REPEAT_3_1003(m, d) m(4, 1003, d) +# define BOOST_PP_REPEAT_3_1005(m, d) BOOST_PP_REPEAT_3_1004(m, d) m(4, 1004, d) +# define BOOST_PP_REPEAT_3_1006(m, d) BOOST_PP_REPEAT_3_1005(m, d) m(4, 1005, d) +# define BOOST_PP_REPEAT_3_1007(m, d) BOOST_PP_REPEAT_3_1006(m, d) m(4, 1006, d) +# define BOOST_PP_REPEAT_3_1008(m, d) BOOST_PP_REPEAT_3_1007(m, d) m(4, 1007, d) +# define BOOST_PP_REPEAT_3_1009(m, d) BOOST_PP_REPEAT_3_1008(m, d) m(4, 1008, d) +# define BOOST_PP_REPEAT_3_1010(m, d) BOOST_PP_REPEAT_3_1009(m, d) m(4, 1009, d) +# define BOOST_PP_REPEAT_3_1011(m, d) BOOST_PP_REPEAT_3_1010(m, d) m(4, 1010, d) +# define BOOST_PP_REPEAT_3_1012(m, d) BOOST_PP_REPEAT_3_1011(m, d) m(4, 1011, d) +# define BOOST_PP_REPEAT_3_1013(m, d) BOOST_PP_REPEAT_3_1012(m, d) m(4, 1012, d) +# define BOOST_PP_REPEAT_3_1014(m, d) BOOST_PP_REPEAT_3_1013(m, d) m(4, 1013, d) +# define BOOST_PP_REPEAT_3_1015(m, d) BOOST_PP_REPEAT_3_1014(m, d) m(4, 1014, d) +# define BOOST_PP_REPEAT_3_1016(m, d) BOOST_PP_REPEAT_3_1015(m, d) m(4, 1015, d) +# define BOOST_PP_REPEAT_3_1017(m, d) BOOST_PP_REPEAT_3_1016(m, d) m(4, 1016, d) +# define BOOST_PP_REPEAT_3_1018(m, d) BOOST_PP_REPEAT_3_1017(m, d) m(4, 1017, d) +# define BOOST_PP_REPEAT_3_1019(m, d) BOOST_PP_REPEAT_3_1018(m, d) m(4, 1018, d) +# define BOOST_PP_REPEAT_3_1020(m, d) BOOST_PP_REPEAT_3_1019(m, d) m(4, 1019, d) +# define BOOST_PP_REPEAT_3_1021(m, d) BOOST_PP_REPEAT_3_1020(m, d) m(4, 1020, d) +# define BOOST_PP_REPEAT_3_1022(m, d) BOOST_PP_REPEAT_3_1021(m, d) m(4, 1021, d) +# define BOOST_PP_REPEAT_3_1023(m, d) BOOST_PP_REPEAT_3_1022(m, d) m(4, 1022, d) +# define BOOST_PP_REPEAT_3_1024(m, d) BOOST_PP_REPEAT_3_1023(m, d) m(4, 1023, d) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_256.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_256.hpp index 36d49e7dd4..151adefbc3 100644 --- a/external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_256.hpp @@ -1,791 +1,791 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_256_HPP -# define BOOST_PREPROCESSOR_REPETITION_REPEAT_256_HPP -# -# define BOOST_PP_REPEAT_1_0(m, d) -# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d) -# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d) -# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d) -# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d) -# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) -# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) -# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d) -# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d) -# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d) -# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d) -# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d) -# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d) -# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d) -# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d) -# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d) -# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d) -# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d) -# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d) -# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d) -# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) -# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d) -# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d) -# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d) -# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d) -# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d) -# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d) -# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d) -# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d) -# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d) -# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d) -# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d) -# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d) -# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d) -# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d) -# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d) -# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d) -# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d) -# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d) -# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d) -# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d) -# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d) -# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d) -# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d) -# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d) -# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d) -# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d) -# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d) -# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d) -# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d) -# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d) -# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d) -# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d) -# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d) -# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d) -# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d) -# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d) -# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d) -# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d) -# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d) -# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d) -# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d) -# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d) -# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d) -# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d) -# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d) -# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d) -# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d) -# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d) -# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d) -# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d) -# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d) -# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d) -# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d) -# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d) -# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d) -# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d) -# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d) -# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d) -# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d) -# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d) -# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d) -# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d) -# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d) -# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d) -# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d) -# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d) -# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d) -# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d) -# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d) -# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d) -# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d) -# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d) -# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d) -# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d) -# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d) -# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d) -# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d) -# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d) -# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d) -# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d) -# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d) -# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d) -# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d) -# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d) -# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d) -# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d) -# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d) -# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d) -# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d) -# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d) -# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d) -# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d) -# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d) -# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d) -# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d) -# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d) -# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d) -# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d) -# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d) -# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d) -# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d) -# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d) -# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d) -# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d) -# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d) -# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d) -# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d) -# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d) -# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d) -# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d) -# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d) -# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d) -# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d) -# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d) -# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d) -# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d) -# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d) -# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d) -# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d) -# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d) -# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d) -# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d) -# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d) -# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d) -# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d) -# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d) -# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d) -# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d) -# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d) -# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d) -# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d) -# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d) -# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d) -# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d) -# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d) -# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d) -# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d) -# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d) -# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d) -# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d) -# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d) -# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d) -# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d) -# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d) -# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d) -# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d) -# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d) -# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d) -# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d) -# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d) -# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d) -# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d) -# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d) -# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d) -# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d) -# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d) -# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d) -# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d) -# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d) -# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d) -# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d) -# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d) -# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d) -# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d) -# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d) -# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d) -# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d) -# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d) -# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d) -# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d) -# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d) -# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d) -# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d) -# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d) -# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d) -# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d) -# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d) -# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d) -# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d) -# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d) -# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d) -# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d) -# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d) -# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d) -# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d) -# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d) -# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d) -# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d) -# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d) -# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d) -# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d) -# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d) -# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d) -# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d) -# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d) -# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d) -# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d) -# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d) -# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d) -# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d) -# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d) -# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d) -# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d) -# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d) -# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d) -# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d) -# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d) -# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d) -# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d) -# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d) -# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d) -# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d) -# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d) -# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d) -# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d) -# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d) -# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d) -# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d) -# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d) -# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d) -# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d) -# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d) -# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d) -# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d) -# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d) -# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d) -# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d) -# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d) -# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d) -# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d) -# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d) -# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d) -# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d) -# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d) -# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d) -# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d) -# -# define BOOST_PP_REPEAT_2_0(m, d) -# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d) -# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d) -# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d) -# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d) -# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d) -# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d) -# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d) -# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d) -# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d) -# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d) -# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d) -# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d) -# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d) -# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d) -# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d) -# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d) -# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d) -# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d) -# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d) -# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d) -# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d) -# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d) -# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d) -# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d) -# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d) -# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d) -# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d) -# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d) -# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d) -# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d) -# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d) -# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d) -# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d) -# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d) -# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d) -# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d) -# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d) -# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d) -# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d) -# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d) -# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d) -# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d) -# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d) -# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d) -# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d) -# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d) -# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d) -# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d) -# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d) -# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d) -# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d) -# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d) -# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d) -# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d) -# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d) -# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d) -# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d) -# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d) -# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d) -# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d) -# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d) -# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d) -# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d) -# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d) -# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d) -# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d) -# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d) -# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d) -# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d) -# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d) -# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d) -# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d) -# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d) -# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d) -# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d) -# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d) -# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d) -# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d) -# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d) -# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d) -# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d) -# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d) -# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d) -# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d) -# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d) -# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d) -# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d) -# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d) -# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d) -# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d) -# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d) -# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d) -# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d) -# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d) -# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d) -# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d) -# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d) -# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d) -# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d) -# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d) -# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d) -# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d) -# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d) -# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d) -# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d) -# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d) -# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d) -# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d) -# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d) -# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d) -# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d) -# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d) -# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d) -# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d) -# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d) -# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d) -# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d) -# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d) -# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d) -# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d) -# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d) -# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d) -# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d) -# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d) -# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d) -# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d) -# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d) -# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d) -# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d) -# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d) -# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d) -# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d) -# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d) -# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d) -# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d) -# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d) -# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d) -# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d) -# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d) -# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d) -# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d) -# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d) -# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d) -# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d) -# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d) -# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d) -# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d) -# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d) -# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d) -# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d) -# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d) -# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d) -# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d) -# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d) -# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d) -# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d) -# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d) -# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d) -# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d) -# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d) -# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d) -# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d) -# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d) -# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d) -# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d) -# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d) -# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d) -# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d) -# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d) -# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d) -# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d) -# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d) -# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d) -# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d) -# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d) -# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d) -# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d) -# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d) -# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d) -# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d) -# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d) -# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d) -# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d) -# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d) -# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d) -# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d) -# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d) -# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d) -# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d) -# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d) -# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d) -# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d) -# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d) -# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d) -# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d) -# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d) -# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d) -# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d) -# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d) -# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d) -# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d) -# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d) -# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d) -# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d) -# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d) -# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d) -# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d) -# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d) -# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d) -# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d) -# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d) -# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d) -# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d) -# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d) -# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d) -# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d) -# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d) -# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d) -# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d) -# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d) -# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d) -# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d) -# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d) -# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d) -# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d) -# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d) -# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d) -# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d) -# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d) -# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d) -# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d) -# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d) -# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d) -# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d) -# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d) -# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d) -# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d) -# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d) -# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d) -# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d) -# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d) -# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d) -# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d) -# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d) -# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d) -# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d) -# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d) -# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d) -# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d) -# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d) -# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d) -# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d) -# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d) -# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d) -# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d) -# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d) -# -# define BOOST_PP_REPEAT_3_0(m, d) -# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d) -# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d) -# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d) -# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d) -# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d) -# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d) -# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d) -# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d) -# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d) -# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d) -# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d) -# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d) -# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d) -# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d) -# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d) -# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d) -# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d) -# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d) -# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d) -# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d) -# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d) -# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d) -# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d) -# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d) -# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d) -# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d) -# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d) -# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d) -# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d) -# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d) -# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d) -# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d) -# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d) -# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d) -# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d) -# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d) -# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d) -# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d) -# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d) -# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d) -# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d) -# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d) -# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d) -# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d) -# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d) -# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d) -# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d) -# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d) -# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d) -# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d) -# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d) -# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d) -# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d) -# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d) -# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d) -# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d) -# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d) -# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d) -# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d) -# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d) -# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d) -# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d) -# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d) -# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d) -# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d) -# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d) -# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d) -# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d) -# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d) -# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d) -# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d) -# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d) -# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d) -# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d) -# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d) -# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d) -# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d) -# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d) -# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d) -# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d) -# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d) -# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d) -# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d) -# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d) -# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d) -# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d) -# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d) -# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d) -# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d) -# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d) -# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d) -# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d) -# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d) -# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d) -# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d) -# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d) -# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d) -# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d) -# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d) -# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d) -# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d) -# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d) -# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d) -# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d) -# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d) -# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d) -# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d) -# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d) -# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d) -# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d) -# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d) -# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d) -# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d) -# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d) -# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d) -# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d) -# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d) -# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d) -# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d) -# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d) -# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d) -# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d) -# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d) -# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d) -# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d) -# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d) -# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d) -# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d) -# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d) -# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d) -# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d) -# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d) -# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d) -# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d) -# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d) -# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d) -# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d) -# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d) -# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d) -# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d) -# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d) -# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d) -# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d) -# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d) -# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d) -# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d) -# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d) -# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d) -# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d) -# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d) -# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d) -# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d) -# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d) -# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d) -# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d) -# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d) -# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d) -# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d) -# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d) -# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d) -# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d) -# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d) -# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d) -# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d) -# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d) -# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d) -# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d) -# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d) -# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d) -# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d) -# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d) -# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d) -# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d) -# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d) -# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d) -# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d) -# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d) -# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d) -# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d) -# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d) -# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d) -# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d) -# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d) -# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d) -# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d) -# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d) -# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d) -# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d) -# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d) -# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d) -# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d) -# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d) -# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d) -# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d) -# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d) -# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d) -# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d) -# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d) -# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d) -# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d) -# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d) -# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d) -# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d) -# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d) -# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d) -# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d) -# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d) -# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d) -# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d) -# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d) -# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d) -# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d) -# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d) -# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d) -# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d) -# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d) -# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d) -# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d) -# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d) -# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d) -# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d) -# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d) -# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d) -# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d) -# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d) -# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d) -# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d) -# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d) -# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d) -# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d) -# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d) -# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d) -# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d) -# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d) -# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d) -# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d) -# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d) -# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d) -# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d) -# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d) -# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d) -# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d) -# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d) -# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d) -# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d) -# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d) -# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d) -# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d) -# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d) -# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d) -# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d) -# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d) -# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d) -# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d) -# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d) -# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_256_HPP +# define BOOST_PREPROCESSOR_REPETITION_REPEAT_256_HPP +# +# define BOOST_PP_REPEAT_1_0(m, d) +# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d) +# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d) +# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d) +# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d) +# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) +# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) +# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d) +# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d) +# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d) +# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d) +# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d) +# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d) +# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d) +# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d) +# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d) +# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d) +# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d) +# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d) +# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d) +# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) +# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d) +# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d) +# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d) +# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d) +# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d) +# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d) +# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d) +# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d) +# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d) +# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d) +# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d) +# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d) +# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d) +# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d) +# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d) +# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d) +# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d) +# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d) +# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d) +# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d) +# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d) +# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d) +# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d) +# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d) +# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d) +# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d) +# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d) +# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d) +# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d) +# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d) +# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d) +# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d) +# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d) +# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d) +# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d) +# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d) +# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d) +# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d) +# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d) +# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d) +# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d) +# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d) +# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d) +# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d) +# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d) +# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d) +# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d) +# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d) +# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d) +# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d) +# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d) +# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d) +# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d) +# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d) +# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d) +# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d) +# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d) +# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d) +# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d) +# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d) +# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d) +# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d) +# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d) +# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d) +# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d) +# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d) +# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d) +# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d) +# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d) +# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d) +# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d) +# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d) +# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d) +# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d) +# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d) +# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d) +# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d) +# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d) +# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d) +# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d) +# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d) +# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d) +# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d) +# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d) +# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d) +# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d) +# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d) +# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d) +# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d) +# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d) +# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d) +# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d) +# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d) +# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d) +# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d) +# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d) +# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d) +# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d) +# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d) +# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d) +# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d) +# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d) +# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d) +# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d) +# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d) +# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d) +# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d) +# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d) +# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d) +# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d) +# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d) +# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d) +# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d) +# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d) +# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d) +# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d) +# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d) +# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d) +# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d) +# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d) +# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d) +# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d) +# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d) +# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d) +# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d) +# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d) +# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d) +# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d) +# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d) +# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d) +# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d) +# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d) +# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d) +# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d) +# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d) +# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d) +# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d) +# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d) +# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d) +# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d) +# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d) +# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d) +# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d) +# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d) +# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d) +# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d) +# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d) +# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d) +# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d) +# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d) +# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d) +# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d) +# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d) +# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d) +# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d) +# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d) +# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d) +# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d) +# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d) +# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d) +# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d) +# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d) +# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d) +# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d) +# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d) +# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d) +# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d) +# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d) +# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d) +# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d) +# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d) +# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d) +# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d) +# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d) +# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d) +# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d) +# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d) +# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d) +# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d) +# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d) +# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d) +# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d) +# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d) +# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d) +# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d) +# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d) +# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d) +# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d) +# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d) +# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d) +# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d) +# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d) +# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d) +# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d) +# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d) +# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d) +# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d) +# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d) +# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d) +# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d) +# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d) +# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d) +# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d) +# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d) +# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d) +# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d) +# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d) +# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d) +# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d) +# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d) +# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d) +# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d) +# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d) +# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d) +# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d) +# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d) +# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d) +# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d) +# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d) +# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d) +# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d) +# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d) +# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d) +# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d) +# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d) +# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d) +# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d) +# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d) +# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d) +# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d) +# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d) +# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d) +# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d) +# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d) +# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d) +# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d) +# +# define BOOST_PP_REPEAT_2_0(m, d) +# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d) +# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d) +# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d) +# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d) +# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d) +# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d) +# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d) +# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d) +# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d) +# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d) +# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d) +# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d) +# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d) +# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d) +# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d) +# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d) +# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d) +# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d) +# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d) +# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d) +# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d) +# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d) +# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d) +# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d) +# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d) +# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d) +# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d) +# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d) +# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d) +# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d) +# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d) +# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d) +# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d) +# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d) +# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d) +# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d) +# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d) +# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d) +# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d) +# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d) +# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d) +# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d) +# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d) +# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d) +# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d) +# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d) +# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d) +# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d) +# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d) +# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d) +# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d) +# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d) +# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d) +# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d) +# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d) +# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d) +# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d) +# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d) +# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d) +# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d) +# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d) +# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d) +# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d) +# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d) +# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d) +# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d) +# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d) +# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d) +# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d) +# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d) +# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d) +# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d) +# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d) +# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d) +# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d) +# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d) +# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d) +# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d) +# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d) +# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d) +# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d) +# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d) +# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d) +# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d) +# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d) +# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d) +# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d) +# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d) +# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d) +# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d) +# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d) +# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d) +# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d) +# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d) +# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d) +# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d) +# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d) +# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d) +# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d) +# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d) +# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d) +# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d) +# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d) +# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d) +# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d) +# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d) +# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d) +# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d) +# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d) +# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d) +# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d) +# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d) +# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d) +# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d) +# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d) +# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d) +# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d) +# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d) +# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d) +# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d) +# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d) +# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d) +# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d) +# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d) +# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d) +# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d) +# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d) +# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d) +# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d) +# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d) +# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d) +# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d) +# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d) +# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d) +# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d) +# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d) +# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d) +# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d) +# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d) +# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d) +# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d) +# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d) +# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d) +# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d) +# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d) +# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d) +# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d) +# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d) +# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d) +# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d) +# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d) +# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d) +# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d) +# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d) +# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d) +# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d) +# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d) +# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d) +# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d) +# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d) +# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d) +# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d) +# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d) +# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d) +# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d) +# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d) +# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d) +# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d) +# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d) +# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d) +# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d) +# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d) +# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d) +# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d) +# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d) +# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d) +# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d) +# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d) +# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d) +# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d) +# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d) +# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d) +# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d) +# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d) +# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d) +# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d) +# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d) +# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d) +# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d) +# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d) +# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d) +# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d) +# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d) +# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d) +# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d) +# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d) +# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d) +# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d) +# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d) +# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d) +# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d) +# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d) +# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d) +# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d) +# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d) +# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d) +# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d) +# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d) +# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d) +# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d) +# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d) +# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d) +# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d) +# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d) +# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d) +# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d) +# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d) +# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d) +# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d) +# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d) +# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d) +# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d) +# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d) +# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d) +# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d) +# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d) +# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d) +# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d) +# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d) +# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d) +# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d) +# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d) +# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d) +# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d) +# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d) +# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d) +# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d) +# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d) +# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d) +# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d) +# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d) +# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d) +# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d) +# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d) +# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d) +# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d) +# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d) +# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d) +# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d) +# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d) +# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d) +# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d) +# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d) +# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d) +# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d) +# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d) +# +# define BOOST_PP_REPEAT_3_0(m, d) +# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d) +# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d) +# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d) +# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d) +# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d) +# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d) +# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d) +# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d) +# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d) +# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d) +# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d) +# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d) +# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d) +# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d) +# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d) +# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d) +# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d) +# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d) +# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d) +# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d) +# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d) +# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d) +# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d) +# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d) +# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d) +# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d) +# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d) +# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d) +# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d) +# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d) +# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d) +# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d) +# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d) +# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d) +# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d) +# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d) +# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d) +# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d) +# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d) +# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d) +# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d) +# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d) +# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d) +# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d) +# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d) +# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d) +# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d) +# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d) +# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d) +# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d) +# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d) +# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d) +# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d) +# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d) +# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d) +# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d) +# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d) +# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d) +# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d) +# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d) +# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d) +# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d) +# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d) +# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d) +# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d) +# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d) +# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d) +# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d) +# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d) +# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d) +# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d) +# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d) +# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d) +# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d) +# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d) +# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d) +# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d) +# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d) +# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d) +# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d) +# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d) +# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d) +# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d) +# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d) +# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d) +# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d) +# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d) +# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d) +# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d) +# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d) +# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d) +# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d) +# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d) +# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d) +# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d) +# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d) +# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d) +# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d) +# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d) +# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d) +# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d) +# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d) +# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d) +# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d) +# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d) +# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d) +# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d) +# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d) +# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d) +# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d) +# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d) +# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d) +# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d) +# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d) +# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d) +# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d) +# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d) +# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d) +# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d) +# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d) +# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d) +# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d) +# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d) +# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d) +# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d) +# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d) +# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d) +# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d) +# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d) +# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d) +# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d) +# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d) +# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d) +# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d) +# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d) +# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d) +# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d) +# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d) +# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d) +# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d) +# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d) +# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d) +# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d) +# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d) +# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d) +# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d) +# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d) +# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d) +# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d) +# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d) +# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d) +# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d) +# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d) +# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d) +# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d) +# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d) +# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d) +# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d) +# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d) +# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d) +# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d) +# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d) +# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d) +# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d) +# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d) +# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d) +# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d) +# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d) +# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d) +# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d) +# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d) +# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d) +# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d) +# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d) +# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d) +# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d) +# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d) +# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d) +# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d) +# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d) +# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d) +# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d) +# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d) +# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d) +# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d) +# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d) +# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d) +# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d) +# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d) +# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d) +# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d) +# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d) +# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d) +# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d) +# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d) +# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d) +# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d) +# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d) +# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d) +# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d) +# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d) +# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d) +# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d) +# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d) +# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d) +# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d) +# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d) +# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d) +# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d) +# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d) +# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d) +# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d) +# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d) +# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d) +# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d) +# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d) +# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d) +# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d) +# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d) +# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d) +# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d) +# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d) +# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d) +# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d) +# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d) +# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d) +# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d) +# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d) +# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d) +# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d) +# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d) +# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d) +# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d) +# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d) +# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d) +# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d) +# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d) +# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d) +# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d) +# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d) +# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d) +# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d) +# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d) +# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d) +# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d) +# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d) +# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d) +# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d) +# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d) +# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d) +# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d) +# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d) +# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d) +# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d) +# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d) +# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_512.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_512.hpp index 89467a3b27..209e422687 100644 --- a/external/include/boost_1_75/boost/preprocessor/repetition/limits/repeat_512.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/limits/repeat_512.hpp @@ -1,789 +1,789 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_512_HPP -# define BOOST_PREPROCESSOR_REPETITION_REPEAT_512_HPP -# -# define BOOST_PP_REPEAT_1_257(m, d) BOOST_PP_REPEAT_1_256(m, d) m(2, 256, d) -# define BOOST_PP_REPEAT_1_258(m, d) BOOST_PP_REPEAT_1_257(m, d) m(2, 257, d) -# define BOOST_PP_REPEAT_1_259(m, d) BOOST_PP_REPEAT_1_258(m, d) m(2, 258, d) -# define BOOST_PP_REPEAT_1_260(m, d) BOOST_PP_REPEAT_1_259(m, d) m(2, 259, d) -# define BOOST_PP_REPEAT_1_261(m, d) BOOST_PP_REPEAT_1_260(m, d) m(2, 260, d) -# define BOOST_PP_REPEAT_1_262(m, d) BOOST_PP_REPEAT_1_261(m, d) m(2, 261, d) -# define BOOST_PP_REPEAT_1_263(m, d) BOOST_PP_REPEAT_1_262(m, d) m(2, 262, d) -# define BOOST_PP_REPEAT_1_264(m, d) BOOST_PP_REPEAT_1_263(m, d) m(2, 263, d) -# define BOOST_PP_REPEAT_1_265(m, d) BOOST_PP_REPEAT_1_264(m, d) m(2, 264, d) -# define BOOST_PP_REPEAT_1_266(m, d) BOOST_PP_REPEAT_1_265(m, d) m(2, 265, d) -# define BOOST_PP_REPEAT_1_267(m, d) BOOST_PP_REPEAT_1_266(m, d) m(2, 266, d) -# define BOOST_PP_REPEAT_1_268(m, d) BOOST_PP_REPEAT_1_267(m, d) m(2, 267, d) -# define BOOST_PP_REPEAT_1_269(m, d) BOOST_PP_REPEAT_1_268(m, d) m(2, 268, d) -# define BOOST_PP_REPEAT_1_270(m, d) BOOST_PP_REPEAT_1_269(m, d) m(2, 269, d) -# define BOOST_PP_REPEAT_1_271(m, d) BOOST_PP_REPEAT_1_270(m, d) m(2, 270, d) -# define BOOST_PP_REPEAT_1_272(m, d) BOOST_PP_REPEAT_1_271(m, d) m(2, 271, d) -# define BOOST_PP_REPEAT_1_273(m, d) BOOST_PP_REPEAT_1_272(m, d) m(2, 272, d) -# define BOOST_PP_REPEAT_1_274(m, d) BOOST_PP_REPEAT_1_273(m, d) m(2, 273, d) -# define BOOST_PP_REPEAT_1_275(m, d) BOOST_PP_REPEAT_1_274(m, d) m(2, 274, d) -# define BOOST_PP_REPEAT_1_276(m, d) BOOST_PP_REPEAT_1_275(m, d) m(2, 275, d) -# define BOOST_PP_REPEAT_1_277(m, d) BOOST_PP_REPEAT_1_276(m, d) m(2, 276, d) -# define BOOST_PP_REPEAT_1_278(m, d) BOOST_PP_REPEAT_1_277(m, d) m(2, 277, d) -# define BOOST_PP_REPEAT_1_279(m, d) BOOST_PP_REPEAT_1_278(m, d) m(2, 278, d) -# define BOOST_PP_REPEAT_1_280(m, d) BOOST_PP_REPEAT_1_279(m, d) m(2, 279, d) -# define BOOST_PP_REPEAT_1_281(m, d) BOOST_PP_REPEAT_1_280(m, d) m(2, 280, d) -# define BOOST_PP_REPEAT_1_282(m, d) BOOST_PP_REPEAT_1_281(m, d) m(2, 281, d) -# define BOOST_PP_REPEAT_1_283(m, d) BOOST_PP_REPEAT_1_282(m, d) m(2, 282, d) -# define BOOST_PP_REPEAT_1_284(m, d) BOOST_PP_REPEAT_1_283(m, d) m(2, 283, d) -# define BOOST_PP_REPEAT_1_285(m, d) BOOST_PP_REPEAT_1_284(m, d) m(2, 284, d) -# define BOOST_PP_REPEAT_1_286(m, d) BOOST_PP_REPEAT_1_285(m, d) m(2, 285, d) -# define BOOST_PP_REPEAT_1_287(m, d) BOOST_PP_REPEAT_1_286(m, d) m(2, 286, d) -# define BOOST_PP_REPEAT_1_288(m, d) BOOST_PP_REPEAT_1_287(m, d) m(2, 287, d) -# define BOOST_PP_REPEAT_1_289(m, d) BOOST_PP_REPEAT_1_288(m, d) m(2, 288, d) -# define BOOST_PP_REPEAT_1_290(m, d) BOOST_PP_REPEAT_1_289(m, d) m(2, 289, d) -# define BOOST_PP_REPEAT_1_291(m, d) BOOST_PP_REPEAT_1_290(m, d) m(2, 290, d) -# define BOOST_PP_REPEAT_1_292(m, d) BOOST_PP_REPEAT_1_291(m, d) m(2, 291, d) -# define BOOST_PP_REPEAT_1_293(m, d) BOOST_PP_REPEAT_1_292(m, d) m(2, 292, d) -# define BOOST_PP_REPEAT_1_294(m, d) BOOST_PP_REPEAT_1_293(m, d) m(2, 293, d) -# define BOOST_PP_REPEAT_1_295(m, d) BOOST_PP_REPEAT_1_294(m, d) m(2, 294, d) -# define BOOST_PP_REPEAT_1_296(m, d) BOOST_PP_REPEAT_1_295(m, d) m(2, 295, d) -# define BOOST_PP_REPEAT_1_297(m, d) BOOST_PP_REPEAT_1_296(m, d) m(2, 296, d) -# define BOOST_PP_REPEAT_1_298(m, d) BOOST_PP_REPEAT_1_297(m, d) m(2, 297, d) -# define BOOST_PP_REPEAT_1_299(m, d) BOOST_PP_REPEAT_1_298(m, d) m(2, 298, d) -# define BOOST_PP_REPEAT_1_300(m, d) BOOST_PP_REPEAT_1_299(m, d) m(2, 299, d) -# define BOOST_PP_REPEAT_1_301(m, d) BOOST_PP_REPEAT_1_300(m, d) m(2, 300, d) -# define BOOST_PP_REPEAT_1_302(m, d) BOOST_PP_REPEAT_1_301(m, d) m(2, 301, d) -# define BOOST_PP_REPEAT_1_303(m, d) BOOST_PP_REPEAT_1_302(m, d) m(2, 302, d) -# define BOOST_PP_REPEAT_1_304(m, d) BOOST_PP_REPEAT_1_303(m, d) m(2, 303, d) -# define BOOST_PP_REPEAT_1_305(m, d) BOOST_PP_REPEAT_1_304(m, d) m(2, 304, d) -# define BOOST_PP_REPEAT_1_306(m, d) BOOST_PP_REPEAT_1_305(m, d) m(2, 305, d) -# define BOOST_PP_REPEAT_1_307(m, d) BOOST_PP_REPEAT_1_306(m, d) m(2, 306, d) -# define BOOST_PP_REPEAT_1_308(m, d) BOOST_PP_REPEAT_1_307(m, d) m(2, 307, d) -# define BOOST_PP_REPEAT_1_309(m, d) BOOST_PP_REPEAT_1_308(m, d) m(2, 308, d) -# define BOOST_PP_REPEAT_1_310(m, d) BOOST_PP_REPEAT_1_309(m, d) m(2, 309, d) -# define BOOST_PP_REPEAT_1_311(m, d) BOOST_PP_REPEAT_1_310(m, d) m(2, 310, d) -# define BOOST_PP_REPEAT_1_312(m, d) BOOST_PP_REPEAT_1_311(m, d) m(2, 311, d) -# define BOOST_PP_REPEAT_1_313(m, d) BOOST_PP_REPEAT_1_312(m, d) m(2, 312, d) -# define BOOST_PP_REPEAT_1_314(m, d) BOOST_PP_REPEAT_1_313(m, d) m(2, 313, d) -# define BOOST_PP_REPEAT_1_315(m, d) BOOST_PP_REPEAT_1_314(m, d) m(2, 314, d) -# define BOOST_PP_REPEAT_1_316(m, d) BOOST_PP_REPEAT_1_315(m, d) m(2, 315, d) -# define BOOST_PP_REPEAT_1_317(m, d) BOOST_PP_REPEAT_1_316(m, d) m(2, 316, d) -# define BOOST_PP_REPEAT_1_318(m, d) BOOST_PP_REPEAT_1_317(m, d) m(2, 317, d) -# define BOOST_PP_REPEAT_1_319(m, d) BOOST_PP_REPEAT_1_318(m, d) m(2, 318, d) -# define BOOST_PP_REPEAT_1_320(m, d) BOOST_PP_REPEAT_1_319(m, d) m(2, 319, d) -# define BOOST_PP_REPEAT_1_321(m, d) BOOST_PP_REPEAT_1_320(m, d) m(2, 320, d) -# define BOOST_PP_REPEAT_1_322(m, d) BOOST_PP_REPEAT_1_321(m, d) m(2, 321, d) -# define BOOST_PP_REPEAT_1_323(m, d) BOOST_PP_REPEAT_1_322(m, d) m(2, 322, d) -# define BOOST_PP_REPEAT_1_324(m, d) BOOST_PP_REPEAT_1_323(m, d) m(2, 323, d) -# define BOOST_PP_REPEAT_1_325(m, d) BOOST_PP_REPEAT_1_324(m, d) m(2, 324, d) -# define BOOST_PP_REPEAT_1_326(m, d) BOOST_PP_REPEAT_1_325(m, d) m(2, 325, d) -# define BOOST_PP_REPEAT_1_327(m, d) BOOST_PP_REPEAT_1_326(m, d) m(2, 326, d) -# define BOOST_PP_REPEAT_1_328(m, d) BOOST_PP_REPEAT_1_327(m, d) m(2, 327, d) -# define BOOST_PP_REPEAT_1_329(m, d) BOOST_PP_REPEAT_1_328(m, d) m(2, 328, d) -# define BOOST_PP_REPEAT_1_330(m, d) BOOST_PP_REPEAT_1_329(m, d) m(2, 329, d) -# define BOOST_PP_REPEAT_1_331(m, d) BOOST_PP_REPEAT_1_330(m, d) m(2, 330, d) -# define BOOST_PP_REPEAT_1_332(m, d) BOOST_PP_REPEAT_1_331(m, d) m(2, 331, d) -# define BOOST_PP_REPEAT_1_333(m, d) BOOST_PP_REPEAT_1_332(m, d) m(2, 332, d) -# define BOOST_PP_REPEAT_1_334(m, d) BOOST_PP_REPEAT_1_333(m, d) m(2, 333, d) -# define BOOST_PP_REPEAT_1_335(m, d) BOOST_PP_REPEAT_1_334(m, d) m(2, 334, d) -# define BOOST_PP_REPEAT_1_336(m, d) BOOST_PP_REPEAT_1_335(m, d) m(2, 335, d) -# define BOOST_PP_REPEAT_1_337(m, d) BOOST_PP_REPEAT_1_336(m, d) m(2, 336, d) -# define BOOST_PP_REPEAT_1_338(m, d) BOOST_PP_REPEAT_1_337(m, d) m(2, 337, d) -# define BOOST_PP_REPEAT_1_339(m, d) BOOST_PP_REPEAT_1_338(m, d) m(2, 338, d) -# define BOOST_PP_REPEAT_1_340(m, d) BOOST_PP_REPEAT_1_339(m, d) m(2, 339, d) -# define BOOST_PP_REPEAT_1_341(m, d) BOOST_PP_REPEAT_1_340(m, d) m(2, 340, d) -# define BOOST_PP_REPEAT_1_342(m, d) BOOST_PP_REPEAT_1_341(m, d) m(2, 341, d) -# define BOOST_PP_REPEAT_1_343(m, d) BOOST_PP_REPEAT_1_342(m, d) m(2, 342, d) -# define BOOST_PP_REPEAT_1_344(m, d) BOOST_PP_REPEAT_1_343(m, d) m(2, 343, d) -# define BOOST_PP_REPEAT_1_345(m, d) BOOST_PP_REPEAT_1_344(m, d) m(2, 344, d) -# define BOOST_PP_REPEAT_1_346(m, d) BOOST_PP_REPEAT_1_345(m, d) m(2, 345, d) -# define BOOST_PP_REPEAT_1_347(m, d) BOOST_PP_REPEAT_1_346(m, d) m(2, 346, d) -# define BOOST_PP_REPEAT_1_348(m, d) BOOST_PP_REPEAT_1_347(m, d) m(2, 347, d) -# define BOOST_PP_REPEAT_1_349(m, d) BOOST_PP_REPEAT_1_348(m, d) m(2, 348, d) -# define BOOST_PP_REPEAT_1_350(m, d) BOOST_PP_REPEAT_1_349(m, d) m(2, 349, d) -# define BOOST_PP_REPEAT_1_351(m, d) BOOST_PP_REPEAT_1_350(m, d) m(2, 350, d) -# define BOOST_PP_REPEAT_1_352(m, d) BOOST_PP_REPEAT_1_351(m, d) m(2, 351, d) -# define BOOST_PP_REPEAT_1_353(m, d) BOOST_PP_REPEAT_1_352(m, d) m(2, 352, d) -# define BOOST_PP_REPEAT_1_354(m, d) BOOST_PP_REPEAT_1_353(m, d) m(2, 353, d) -# define BOOST_PP_REPEAT_1_355(m, d) BOOST_PP_REPEAT_1_354(m, d) m(2, 354, d) -# define BOOST_PP_REPEAT_1_356(m, d) BOOST_PP_REPEAT_1_355(m, d) m(2, 355, d) -# define BOOST_PP_REPEAT_1_357(m, d) BOOST_PP_REPEAT_1_356(m, d) m(2, 356, d) -# define BOOST_PP_REPEAT_1_358(m, d) BOOST_PP_REPEAT_1_357(m, d) m(2, 357, d) -# define BOOST_PP_REPEAT_1_359(m, d) BOOST_PP_REPEAT_1_358(m, d) m(2, 358, d) -# define BOOST_PP_REPEAT_1_360(m, d) BOOST_PP_REPEAT_1_359(m, d) m(2, 359, d) -# define BOOST_PP_REPEAT_1_361(m, d) BOOST_PP_REPEAT_1_360(m, d) m(2, 360, d) -# define BOOST_PP_REPEAT_1_362(m, d) BOOST_PP_REPEAT_1_361(m, d) m(2, 361, d) -# define BOOST_PP_REPEAT_1_363(m, d) BOOST_PP_REPEAT_1_362(m, d) m(2, 362, d) -# define BOOST_PP_REPEAT_1_364(m, d) BOOST_PP_REPEAT_1_363(m, d) m(2, 363, d) -# define BOOST_PP_REPEAT_1_365(m, d) BOOST_PP_REPEAT_1_364(m, d) m(2, 364, d) -# define BOOST_PP_REPEAT_1_366(m, d) BOOST_PP_REPEAT_1_365(m, d) m(2, 365, d) -# define BOOST_PP_REPEAT_1_367(m, d) BOOST_PP_REPEAT_1_366(m, d) m(2, 366, d) -# define BOOST_PP_REPEAT_1_368(m, d) BOOST_PP_REPEAT_1_367(m, d) m(2, 367, d) -# define BOOST_PP_REPEAT_1_369(m, d) BOOST_PP_REPEAT_1_368(m, d) m(2, 368, d) -# define BOOST_PP_REPEAT_1_370(m, d) BOOST_PP_REPEAT_1_369(m, d) m(2, 369, d) -# define BOOST_PP_REPEAT_1_371(m, d) BOOST_PP_REPEAT_1_370(m, d) m(2, 370, d) -# define BOOST_PP_REPEAT_1_372(m, d) BOOST_PP_REPEAT_1_371(m, d) m(2, 371, d) -# define BOOST_PP_REPEAT_1_373(m, d) BOOST_PP_REPEAT_1_372(m, d) m(2, 372, d) -# define BOOST_PP_REPEAT_1_374(m, d) BOOST_PP_REPEAT_1_373(m, d) m(2, 373, d) -# define BOOST_PP_REPEAT_1_375(m, d) BOOST_PP_REPEAT_1_374(m, d) m(2, 374, d) -# define BOOST_PP_REPEAT_1_376(m, d) BOOST_PP_REPEAT_1_375(m, d) m(2, 375, d) -# define BOOST_PP_REPEAT_1_377(m, d) BOOST_PP_REPEAT_1_376(m, d) m(2, 376, d) -# define BOOST_PP_REPEAT_1_378(m, d) BOOST_PP_REPEAT_1_377(m, d) m(2, 377, d) -# define BOOST_PP_REPEAT_1_379(m, d) BOOST_PP_REPEAT_1_378(m, d) m(2, 378, d) -# define BOOST_PP_REPEAT_1_380(m, d) BOOST_PP_REPEAT_1_379(m, d) m(2, 379, d) -# define BOOST_PP_REPEAT_1_381(m, d) BOOST_PP_REPEAT_1_380(m, d) m(2, 380, d) -# define BOOST_PP_REPEAT_1_382(m, d) BOOST_PP_REPEAT_1_381(m, d) m(2, 381, d) -# define BOOST_PP_REPEAT_1_383(m, d) BOOST_PP_REPEAT_1_382(m, d) m(2, 382, d) -# define BOOST_PP_REPEAT_1_384(m, d) BOOST_PP_REPEAT_1_383(m, d) m(2, 383, d) -# define BOOST_PP_REPEAT_1_385(m, d) BOOST_PP_REPEAT_1_384(m, d) m(2, 384, d) -# define BOOST_PP_REPEAT_1_386(m, d) BOOST_PP_REPEAT_1_385(m, d) m(2, 385, d) -# define BOOST_PP_REPEAT_1_387(m, d) BOOST_PP_REPEAT_1_386(m, d) m(2, 386, d) -# define BOOST_PP_REPEAT_1_388(m, d) BOOST_PP_REPEAT_1_387(m, d) m(2, 387, d) -# define BOOST_PP_REPEAT_1_389(m, d) BOOST_PP_REPEAT_1_388(m, d) m(2, 388, d) -# define BOOST_PP_REPEAT_1_390(m, d) BOOST_PP_REPEAT_1_389(m, d) m(2, 389, d) -# define BOOST_PP_REPEAT_1_391(m, d) BOOST_PP_REPEAT_1_390(m, d) m(2, 390, d) -# define BOOST_PP_REPEAT_1_392(m, d) BOOST_PP_REPEAT_1_391(m, d) m(2, 391, d) -# define BOOST_PP_REPEAT_1_393(m, d) BOOST_PP_REPEAT_1_392(m, d) m(2, 392, d) -# define BOOST_PP_REPEAT_1_394(m, d) BOOST_PP_REPEAT_1_393(m, d) m(2, 393, d) -# define BOOST_PP_REPEAT_1_395(m, d) BOOST_PP_REPEAT_1_394(m, d) m(2, 394, d) -# define BOOST_PP_REPEAT_1_396(m, d) BOOST_PP_REPEAT_1_395(m, d) m(2, 395, d) -# define BOOST_PP_REPEAT_1_397(m, d) BOOST_PP_REPEAT_1_396(m, d) m(2, 396, d) -# define BOOST_PP_REPEAT_1_398(m, d) BOOST_PP_REPEAT_1_397(m, d) m(2, 397, d) -# define BOOST_PP_REPEAT_1_399(m, d) BOOST_PP_REPEAT_1_398(m, d) m(2, 398, d) -# define BOOST_PP_REPEAT_1_400(m, d) BOOST_PP_REPEAT_1_399(m, d) m(2, 399, d) -# define BOOST_PP_REPEAT_1_401(m, d) BOOST_PP_REPEAT_1_400(m, d) m(2, 400, d) -# define BOOST_PP_REPEAT_1_402(m, d) BOOST_PP_REPEAT_1_401(m, d) m(2, 401, d) -# define BOOST_PP_REPEAT_1_403(m, d) BOOST_PP_REPEAT_1_402(m, d) m(2, 402, d) -# define BOOST_PP_REPEAT_1_404(m, d) BOOST_PP_REPEAT_1_403(m, d) m(2, 403, d) -# define BOOST_PP_REPEAT_1_405(m, d) BOOST_PP_REPEAT_1_404(m, d) m(2, 404, d) -# define BOOST_PP_REPEAT_1_406(m, d) BOOST_PP_REPEAT_1_405(m, d) m(2, 405, d) -# define BOOST_PP_REPEAT_1_407(m, d) BOOST_PP_REPEAT_1_406(m, d) m(2, 406, d) -# define BOOST_PP_REPEAT_1_408(m, d) BOOST_PP_REPEAT_1_407(m, d) m(2, 407, d) -# define BOOST_PP_REPEAT_1_409(m, d) BOOST_PP_REPEAT_1_408(m, d) m(2, 408, d) -# define BOOST_PP_REPEAT_1_410(m, d) BOOST_PP_REPEAT_1_409(m, d) m(2, 409, d) -# define BOOST_PP_REPEAT_1_411(m, d) BOOST_PP_REPEAT_1_410(m, d) m(2, 410, d) -# define BOOST_PP_REPEAT_1_412(m, d) BOOST_PP_REPEAT_1_411(m, d) m(2, 411, d) -# define BOOST_PP_REPEAT_1_413(m, d) BOOST_PP_REPEAT_1_412(m, d) m(2, 412, d) -# define BOOST_PP_REPEAT_1_414(m, d) BOOST_PP_REPEAT_1_413(m, d) m(2, 413, d) -# define BOOST_PP_REPEAT_1_415(m, d) BOOST_PP_REPEAT_1_414(m, d) m(2, 414, d) -# define BOOST_PP_REPEAT_1_416(m, d) BOOST_PP_REPEAT_1_415(m, d) m(2, 415, d) -# define BOOST_PP_REPEAT_1_417(m, d) BOOST_PP_REPEAT_1_416(m, d) m(2, 416, d) -# define BOOST_PP_REPEAT_1_418(m, d) BOOST_PP_REPEAT_1_417(m, d) m(2, 417, d) -# define BOOST_PP_REPEAT_1_419(m, d) BOOST_PP_REPEAT_1_418(m, d) m(2, 418, d) -# define BOOST_PP_REPEAT_1_420(m, d) BOOST_PP_REPEAT_1_419(m, d) m(2, 419, d) -# define BOOST_PP_REPEAT_1_421(m, d) BOOST_PP_REPEAT_1_420(m, d) m(2, 420, d) -# define BOOST_PP_REPEAT_1_422(m, d) BOOST_PP_REPEAT_1_421(m, d) m(2, 421, d) -# define BOOST_PP_REPEAT_1_423(m, d) BOOST_PP_REPEAT_1_422(m, d) m(2, 422, d) -# define BOOST_PP_REPEAT_1_424(m, d) BOOST_PP_REPEAT_1_423(m, d) m(2, 423, d) -# define BOOST_PP_REPEAT_1_425(m, d) BOOST_PP_REPEAT_1_424(m, d) m(2, 424, d) -# define BOOST_PP_REPEAT_1_426(m, d) BOOST_PP_REPEAT_1_425(m, d) m(2, 425, d) -# define BOOST_PP_REPEAT_1_427(m, d) BOOST_PP_REPEAT_1_426(m, d) m(2, 426, d) -# define BOOST_PP_REPEAT_1_428(m, d) BOOST_PP_REPEAT_1_427(m, d) m(2, 427, d) -# define BOOST_PP_REPEAT_1_429(m, d) BOOST_PP_REPEAT_1_428(m, d) m(2, 428, d) -# define BOOST_PP_REPEAT_1_430(m, d) BOOST_PP_REPEAT_1_429(m, d) m(2, 429, d) -# define BOOST_PP_REPEAT_1_431(m, d) BOOST_PP_REPEAT_1_430(m, d) m(2, 430, d) -# define BOOST_PP_REPEAT_1_432(m, d) BOOST_PP_REPEAT_1_431(m, d) m(2, 431, d) -# define BOOST_PP_REPEAT_1_433(m, d) BOOST_PP_REPEAT_1_432(m, d) m(2, 432, d) -# define BOOST_PP_REPEAT_1_434(m, d) BOOST_PP_REPEAT_1_433(m, d) m(2, 433, d) -# define BOOST_PP_REPEAT_1_435(m, d) BOOST_PP_REPEAT_1_434(m, d) m(2, 434, d) -# define BOOST_PP_REPEAT_1_436(m, d) BOOST_PP_REPEAT_1_435(m, d) m(2, 435, d) -# define BOOST_PP_REPEAT_1_437(m, d) BOOST_PP_REPEAT_1_436(m, d) m(2, 436, d) -# define BOOST_PP_REPEAT_1_438(m, d) BOOST_PP_REPEAT_1_437(m, d) m(2, 437, d) -# define BOOST_PP_REPEAT_1_439(m, d) BOOST_PP_REPEAT_1_438(m, d) m(2, 438, d) -# define BOOST_PP_REPEAT_1_440(m, d) BOOST_PP_REPEAT_1_439(m, d) m(2, 439, d) -# define BOOST_PP_REPEAT_1_441(m, d) BOOST_PP_REPEAT_1_440(m, d) m(2, 440, d) -# define BOOST_PP_REPEAT_1_442(m, d) BOOST_PP_REPEAT_1_441(m, d) m(2, 441, d) -# define BOOST_PP_REPEAT_1_443(m, d) BOOST_PP_REPEAT_1_442(m, d) m(2, 442, d) -# define BOOST_PP_REPEAT_1_444(m, d) BOOST_PP_REPEAT_1_443(m, d) m(2, 443, d) -# define BOOST_PP_REPEAT_1_445(m, d) BOOST_PP_REPEAT_1_444(m, d) m(2, 444, d) -# define BOOST_PP_REPEAT_1_446(m, d) BOOST_PP_REPEAT_1_445(m, d) m(2, 445, d) -# define BOOST_PP_REPEAT_1_447(m, d) BOOST_PP_REPEAT_1_446(m, d) m(2, 446, d) -# define BOOST_PP_REPEAT_1_448(m, d) BOOST_PP_REPEAT_1_447(m, d) m(2, 447, d) -# define BOOST_PP_REPEAT_1_449(m, d) BOOST_PP_REPEAT_1_448(m, d) m(2, 448, d) -# define BOOST_PP_REPEAT_1_450(m, d) BOOST_PP_REPEAT_1_449(m, d) m(2, 449, d) -# define BOOST_PP_REPEAT_1_451(m, d) BOOST_PP_REPEAT_1_450(m, d) m(2, 450, d) -# define BOOST_PP_REPEAT_1_452(m, d) BOOST_PP_REPEAT_1_451(m, d) m(2, 451, d) -# define BOOST_PP_REPEAT_1_453(m, d) BOOST_PP_REPEAT_1_452(m, d) m(2, 452, d) -# define BOOST_PP_REPEAT_1_454(m, d) BOOST_PP_REPEAT_1_453(m, d) m(2, 453, d) -# define BOOST_PP_REPEAT_1_455(m, d) BOOST_PP_REPEAT_1_454(m, d) m(2, 454, d) -# define BOOST_PP_REPEAT_1_456(m, d) BOOST_PP_REPEAT_1_455(m, d) m(2, 455, d) -# define BOOST_PP_REPEAT_1_457(m, d) BOOST_PP_REPEAT_1_456(m, d) m(2, 456, d) -# define BOOST_PP_REPEAT_1_458(m, d) BOOST_PP_REPEAT_1_457(m, d) m(2, 457, d) -# define BOOST_PP_REPEAT_1_459(m, d) BOOST_PP_REPEAT_1_458(m, d) m(2, 458, d) -# define BOOST_PP_REPEAT_1_460(m, d) BOOST_PP_REPEAT_1_459(m, d) m(2, 459, d) -# define BOOST_PP_REPEAT_1_461(m, d) BOOST_PP_REPEAT_1_460(m, d) m(2, 460, d) -# define BOOST_PP_REPEAT_1_462(m, d) BOOST_PP_REPEAT_1_461(m, d) m(2, 461, d) -# define BOOST_PP_REPEAT_1_463(m, d) BOOST_PP_REPEAT_1_462(m, d) m(2, 462, d) -# define BOOST_PP_REPEAT_1_464(m, d) BOOST_PP_REPEAT_1_463(m, d) m(2, 463, d) -# define BOOST_PP_REPEAT_1_465(m, d) BOOST_PP_REPEAT_1_464(m, d) m(2, 464, d) -# define BOOST_PP_REPEAT_1_466(m, d) BOOST_PP_REPEAT_1_465(m, d) m(2, 465, d) -# define BOOST_PP_REPEAT_1_467(m, d) BOOST_PP_REPEAT_1_466(m, d) m(2, 466, d) -# define BOOST_PP_REPEAT_1_468(m, d) BOOST_PP_REPEAT_1_467(m, d) m(2, 467, d) -# define BOOST_PP_REPEAT_1_469(m, d) BOOST_PP_REPEAT_1_468(m, d) m(2, 468, d) -# define BOOST_PP_REPEAT_1_470(m, d) BOOST_PP_REPEAT_1_469(m, d) m(2, 469, d) -# define BOOST_PP_REPEAT_1_471(m, d) BOOST_PP_REPEAT_1_470(m, d) m(2, 470, d) -# define BOOST_PP_REPEAT_1_472(m, d) BOOST_PP_REPEAT_1_471(m, d) m(2, 471, d) -# define BOOST_PP_REPEAT_1_473(m, d) BOOST_PP_REPEAT_1_472(m, d) m(2, 472, d) -# define BOOST_PP_REPEAT_1_474(m, d) BOOST_PP_REPEAT_1_473(m, d) m(2, 473, d) -# define BOOST_PP_REPEAT_1_475(m, d) BOOST_PP_REPEAT_1_474(m, d) m(2, 474, d) -# define BOOST_PP_REPEAT_1_476(m, d) BOOST_PP_REPEAT_1_475(m, d) m(2, 475, d) -# define BOOST_PP_REPEAT_1_477(m, d) BOOST_PP_REPEAT_1_476(m, d) m(2, 476, d) -# define BOOST_PP_REPEAT_1_478(m, d) BOOST_PP_REPEAT_1_477(m, d) m(2, 477, d) -# define BOOST_PP_REPEAT_1_479(m, d) BOOST_PP_REPEAT_1_478(m, d) m(2, 478, d) -# define BOOST_PP_REPEAT_1_480(m, d) BOOST_PP_REPEAT_1_479(m, d) m(2, 479, d) -# define BOOST_PP_REPEAT_1_481(m, d) BOOST_PP_REPEAT_1_480(m, d) m(2, 480, d) -# define BOOST_PP_REPEAT_1_482(m, d) BOOST_PP_REPEAT_1_481(m, d) m(2, 481, d) -# define BOOST_PP_REPEAT_1_483(m, d) BOOST_PP_REPEAT_1_482(m, d) m(2, 482, d) -# define BOOST_PP_REPEAT_1_484(m, d) BOOST_PP_REPEAT_1_483(m, d) m(2, 483, d) -# define BOOST_PP_REPEAT_1_485(m, d) BOOST_PP_REPEAT_1_484(m, d) m(2, 484, d) -# define BOOST_PP_REPEAT_1_486(m, d) BOOST_PP_REPEAT_1_485(m, d) m(2, 485, d) -# define BOOST_PP_REPEAT_1_487(m, d) BOOST_PP_REPEAT_1_486(m, d) m(2, 486, d) -# define BOOST_PP_REPEAT_1_488(m, d) BOOST_PP_REPEAT_1_487(m, d) m(2, 487, d) -# define BOOST_PP_REPEAT_1_489(m, d) BOOST_PP_REPEAT_1_488(m, d) m(2, 488, d) -# define BOOST_PP_REPEAT_1_490(m, d) BOOST_PP_REPEAT_1_489(m, d) m(2, 489, d) -# define BOOST_PP_REPEAT_1_491(m, d) BOOST_PP_REPEAT_1_490(m, d) m(2, 490, d) -# define BOOST_PP_REPEAT_1_492(m, d) BOOST_PP_REPEAT_1_491(m, d) m(2, 491, d) -# define BOOST_PP_REPEAT_1_493(m, d) BOOST_PP_REPEAT_1_492(m, d) m(2, 492, d) -# define BOOST_PP_REPEAT_1_494(m, d) BOOST_PP_REPEAT_1_493(m, d) m(2, 493, d) -# define BOOST_PP_REPEAT_1_495(m, d) BOOST_PP_REPEAT_1_494(m, d) m(2, 494, d) -# define BOOST_PP_REPEAT_1_496(m, d) BOOST_PP_REPEAT_1_495(m, d) m(2, 495, d) -# define BOOST_PP_REPEAT_1_497(m, d) BOOST_PP_REPEAT_1_496(m, d) m(2, 496, d) -# define BOOST_PP_REPEAT_1_498(m, d) BOOST_PP_REPEAT_1_497(m, d) m(2, 497, d) -# define BOOST_PP_REPEAT_1_499(m, d) BOOST_PP_REPEAT_1_498(m, d) m(2, 498, d) -# define BOOST_PP_REPEAT_1_500(m, d) BOOST_PP_REPEAT_1_499(m, d) m(2, 499, d) -# define BOOST_PP_REPEAT_1_501(m, d) BOOST_PP_REPEAT_1_500(m, d) m(2, 500, d) -# define BOOST_PP_REPEAT_1_502(m, d) BOOST_PP_REPEAT_1_501(m, d) m(2, 501, d) -# define BOOST_PP_REPEAT_1_503(m, d) BOOST_PP_REPEAT_1_502(m, d) m(2, 502, d) -# define BOOST_PP_REPEAT_1_504(m, d) BOOST_PP_REPEAT_1_503(m, d) m(2, 503, d) -# define BOOST_PP_REPEAT_1_505(m, d) BOOST_PP_REPEAT_1_504(m, d) m(2, 504, d) -# define BOOST_PP_REPEAT_1_506(m, d) BOOST_PP_REPEAT_1_505(m, d) m(2, 505, d) -# define BOOST_PP_REPEAT_1_507(m, d) BOOST_PP_REPEAT_1_506(m, d) m(2, 506, d) -# define BOOST_PP_REPEAT_1_508(m, d) BOOST_PP_REPEAT_1_507(m, d) m(2, 507, d) -# define BOOST_PP_REPEAT_1_509(m, d) BOOST_PP_REPEAT_1_508(m, d) m(2, 508, d) -# define BOOST_PP_REPEAT_1_510(m, d) BOOST_PP_REPEAT_1_509(m, d) m(2, 509, d) -# define BOOST_PP_REPEAT_1_511(m, d) BOOST_PP_REPEAT_1_510(m, d) m(2, 510, d) -# define BOOST_PP_REPEAT_1_512(m, d) BOOST_PP_REPEAT_1_511(m, d) m(2, 511, d) -# -# define BOOST_PP_REPEAT_2_257(m, d) BOOST_PP_REPEAT_2_256(m, d) m(3, 256, d) -# define BOOST_PP_REPEAT_2_258(m, d) BOOST_PP_REPEAT_2_257(m, d) m(3, 257, d) -# define BOOST_PP_REPEAT_2_259(m, d) BOOST_PP_REPEAT_2_258(m, d) m(3, 258, d) -# define BOOST_PP_REPEAT_2_260(m, d) BOOST_PP_REPEAT_2_259(m, d) m(3, 259, d) -# define BOOST_PP_REPEAT_2_261(m, d) BOOST_PP_REPEAT_2_260(m, d) m(3, 260, d) -# define BOOST_PP_REPEAT_2_262(m, d) BOOST_PP_REPEAT_2_261(m, d) m(3, 261, d) -# define BOOST_PP_REPEAT_2_263(m, d) BOOST_PP_REPEAT_2_262(m, d) m(3, 262, d) -# define BOOST_PP_REPEAT_2_264(m, d) BOOST_PP_REPEAT_2_263(m, d) m(3, 263, d) -# define BOOST_PP_REPEAT_2_265(m, d) BOOST_PP_REPEAT_2_264(m, d) m(3, 264, d) -# define BOOST_PP_REPEAT_2_266(m, d) BOOST_PP_REPEAT_2_265(m, d) m(3, 265, d) -# define BOOST_PP_REPEAT_2_267(m, d) BOOST_PP_REPEAT_2_266(m, d) m(3, 266, d) -# define BOOST_PP_REPEAT_2_268(m, d) BOOST_PP_REPEAT_2_267(m, d) m(3, 267, d) -# define BOOST_PP_REPEAT_2_269(m, d) BOOST_PP_REPEAT_2_268(m, d) m(3, 268, d) -# define BOOST_PP_REPEAT_2_270(m, d) BOOST_PP_REPEAT_2_269(m, d) m(3, 269, d) -# define BOOST_PP_REPEAT_2_271(m, d) BOOST_PP_REPEAT_2_270(m, d) m(3, 270, d) -# define BOOST_PP_REPEAT_2_272(m, d) BOOST_PP_REPEAT_2_271(m, d) m(3, 271, d) -# define BOOST_PP_REPEAT_2_273(m, d) BOOST_PP_REPEAT_2_272(m, d) m(3, 272, d) -# define BOOST_PP_REPEAT_2_274(m, d) BOOST_PP_REPEAT_2_273(m, d) m(3, 273, d) -# define BOOST_PP_REPEAT_2_275(m, d) BOOST_PP_REPEAT_2_274(m, d) m(3, 274, d) -# define BOOST_PP_REPEAT_2_276(m, d) BOOST_PP_REPEAT_2_275(m, d) m(3, 275, d) -# define BOOST_PP_REPEAT_2_277(m, d) BOOST_PP_REPEAT_2_276(m, d) m(3, 276, d) -# define BOOST_PP_REPEAT_2_278(m, d) BOOST_PP_REPEAT_2_277(m, d) m(3, 277, d) -# define BOOST_PP_REPEAT_2_279(m, d) BOOST_PP_REPEAT_2_278(m, d) m(3, 278, d) -# define BOOST_PP_REPEAT_2_280(m, d) BOOST_PP_REPEAT_2_279(m, d) m(3, 279, d) -# define BOOST_PP_REPEAT_2_281(m, d) BOOST_PP_REPEAT_2_280(m, d) m(3, 280, d) -# define BOOST_PP_REPEAT_2_282(m, d) BOOST_PP_REPEAT_2_281(m, d) m(3, 281, d) -# define BOOST_PP_REPEAT_2_283(m, d) BOOST_PP_REPEAT_2_282(m, d) m(3, 282, d) -# define BOOST_PP_REPEAT_2_284(m, d) BOOST_PP_REPEAT_2_283(m, d) m(3, 283, d) -# define BOOST_PP_REPEAT_2_285(m, d) BOOST_PP_REPEAT_2_284(m, d) m(3, 284, d) -# define BOOST_PP_REPEAT_2_286(m, d) BOOST_PP_REPEAT_2_285(m, d) m(3, 285, d) -# define BOOST_PP_REPEAT_2_287(m, d) BOOST_PP_REPEAT_2_286(m, d) m(3, 286, d) -# define BOOST_PP_REPEAT_2_288(m, d) BOOST_PP_REPEAT_2_287(m, d) m(3, 287, d) -# define BOOST_PP_REPEAT_2_289(m, d) BOOST_PP_REPEAT_2_288(m, d) m(3, 288, d) -# define BOOST_PP_REPEAT_2_290(m, d) BOOST_PP_REPEAT_2_289(m, d) m(3, 289, d) -# define BOOST_PP_REPEAT_2_291(m, d) BOOST_PP_REPEAT_2_290(m, d) m(3, 290, d) -# define BOOST_PP_REPEAT_2_292(m, d) BOOST_PP_REPEAT_2_291(m, d) m(3, 291, d) -# define BOOST_PP_REPEAT_2_293(m, d) BOOST_PP_REPEAT_2_292(m, d) m(3, 292, d) -# define BOOST_PP_REPEAT_2_294(m, d) BOOST_PP_REPEAT_2_293(m, d) m(3, 293, d) -# define BOOST_PP_REPEAT_2_295(m, d) BOOST_PP_REPEAT_2_294(m, d) m(3, 294, d) -# define BOOST_PP_REPEAT_2_296(m, d) BOOST_PP_REPEAT_2_295(m, d) m(3, 295, d) -# define BOOST_PP_REPEAT_2_297(m, d) BOOST_PP_REPEAT_2_296(m, d) m(3, 296, d) -# define BOOST_PP_REPEAT_2_298(m, d) BOOST_PP_REPEAT_2_297(m, d) m(3, 297, d) -# define BOOST_PP_REPEAT_2_299(m, d) BOOST_PP_REPEAT_2_298(m, d) m(3, 298, d) -# define BOOST_PP_REPEAT_2_300(m, d) BOOST_PP_REPEAT_2_299(m, d) m(3, 299, d) -# define BOOST_PP_REPEAT_2_301(m, d) BOOST_PP_REPEAT_2_300(m, d) m(3, 300, d) -# define BOOST_PP_REPEAT_2_302(m, d) BOOST_PP_REPEAT_2_301(m, d) m(3, 301, d) -# define BOOST_PP_REPEAT_2_303(m, d) BOOST_PP_REPEAT_2_302(m, d) m(3, 302, d) -# define BOOST_PP_REPEAT_2_304(m, d) BOOST_PP_REPEAT_2_303(m, d) m(3, 303, d) -# define BOOST_PP_REPEAT_2_305(m, d) BOOST_PP_REPEAT_2_304(m, d) m(3, 304, d) -# define BOOST_PP_REPEAT_2_306(m, d) BOOST_PP_REPEAT_2_305(m, d) m(3, 305, d) -# define BOOST_PP_REPEAT_2_307(m, d) BOOST_PP_REPEAT_2_306(m, d) m(3, 306, d) -# define BOOST_PP_REPEAT_2_308(m, d) BOOST_PP_REPEAT_2_307(m, d) m(3, 307, d) -# define BOOST_PP_REPEAT_2_309(m, d) BOOST_PP_REPEAT_2_308(m, d) m(3, 308, d) -# define BOOST_PP_REPEAT_2_310(m, d) BOOST_PP_REPEAT_2_309(m, d) m(3, 309, d) -# define BOOST_PP_REPEAT_2_311(m, d) BOOST_PP_REPEAT_2_310(m, d) m(3, 310, d) -# define BOOST_PP_REPEAT_2_312(m, d) BOOST_PP_REPEAT_2_311(m, d) m(3, 311, d) -# define BOOST_PP_REPEAT_2_313(m, d) BOOST_PP_REPEAT_2_312(m, d) m(3, 312, d) -# define BOOST_PP_REPEAT_2_314(m, d) BOOST_PP_REPEAT_2_313(m, d) m(3, 313, d) -# define BOOST_PP_REPEAT_2_315(m, d) BOOST_PP_REPEAT_2_314(m, d) m(3, 314, d) -# define BOOST_PP_REPEAT_2_316(m, d) BOOST_PP_REPEAT_2_315(m, d) m(3, 315, d) -# define BOOST_PP_REPEAT_2_317(m, d) BOOST_PP_REPEAT_2_316(m, d) m(3, 316, d) -# define BOOST_PP_REPEAT_2_318(m, d) BOOST_PP_REPEAT_2_317(m, d) m(3, 317, d) -# define BOOST_PP_REPEAT_2_319(m, d) BOOST_PP_REPEAT_2_318(m, d) m(3, 318, d) -# define BOOST_PP_REPEAT_2_320(m, d) BOOST_PP_REPEAT_2_319(m, d) m(3, 319, d) -# define BOOST_PP_REPEAT_2_321(m, d) BOOST_PP_REPEAT_2_320(m, d) m(3, 320, d) -# define BOOST_PP_REPEAT_2_322(m, d) BOOST_PP_REPEAT_2_321(m, d) m(3, 321, d) -# define BOOST_PP_REPEAT_2_323(m, d) BOOST_PP_REPEAT_2_322(m, d) m(3, 322, d) -# define BOOST_PP_REPEAT_2_324(m, d) BOOST_PP_REPEAT_2_323(m, d) m(3, 323, d) -# define BOOST_PP_REPEAT_2_325(m, d) BOOST_PP_REPEAT_2_324(m, d) m(3, 324, d) -# define BOOST_PP_REPEAT_2_326(m, d) BOOST_PP_REPEAT_2_325(m, d) m(3, 325, d) -# define BOOST_PP_REPEAT_2_327(m, d) BOOST_PP_REPEAT_2_326(m, d) m(3, 326, d) -# define BOOST_PP_REPEAT_2_328(m, d) BOOST_PP_REPEAT_2_327(m, d) m(3, 327, d) -# define BOOST_PP_REPEAT_2_329(m, d) BOOST_PP_REPEAT_2_328(m, d) m(3, 328, d) -# define BOOST_PP_REPEAT_2_330(m, d) BOOST_PP_REPEAT_2_329(m, d) m(3, 329, d) -# define BOOST_PP_REPEAT_2_331(m, d) BOOST_PP_REPEAT_2_330(m, d) m(3, 330, d) -# define BOOST_PP_REPEAT_2_332(m, d) BOOST_PP_REPEAT_2_331(m, d) m(3, 331, d) -# define BOOST_PP_REPEAT_2_333(m, d) BOOST_PP_REPEAT_2_332(m, d) m(3, 332, d) -# define BOOST_PP_REPEAT_2_334(m, d) BOOST_PP_REPEAT_2_333(m, d) m(3, 333, d) -# define BOOST_PP_REPEAT_2_335(m, d) BOOST_PP_REPEAT_2_334(m, d) m(3, 334, d) -# define BOOST_PP_REPEAT_2_336(m, d) BOOST_PP_REPEAT_2_335(m, d) m(3, 335, d) -# define BOOST_PP_REPEAT_2_337(m, d) BOOST_PP_REPEAT_2_336(m, d) m(3, 336, d) -# define BOOST_PP_REPEAT_2_338(m, d) BOOST_PP_REPEAT_2_337(m, d) m(3, 337, d) -# define BOOST_PP_REPEAT_2_339(m, d) BOOST_PP_REPEAT_2_338(m, d) m(3, 338, d) -# define BOOST_PP_REPEAT_2_340(m, d) BOOST_PP_REPEAT_2_339(m, d) m(3, 339, d) -# define BOOST_PP_REPEAT_2_341(m, d) BOOST_PP_REPEAT_2_340(m, d) m(3, 340, d) -# define BOOST_PP_REPEAT_2_342(m, d) BOOST_PP_REPEAT_2_341(m, d) m(3, 341, d) -# define BOOST_PP_REPEAT_2_343(m, d) BOOST_PP_REPEAT_2_342(m, d) m(3, 342, d) -# define BOOST_PP_REPEAT_2_344(m, d) BOOST_PP_REPEAT_2_343(m, d) m(3, 343, d) -# define BOOST_PP_REPEAT_2_345(m, d) BOOST_PP_REPEAT_2_344(m, d) m(3, 344, d) -# define BOOST_PP_REPEAT_2_346(m, d) BOOST_PP_REPEAT_2_345(m, d) m(3, 345, d) -# define BOOST_PP_REPEAT_2_347(m, d) BOOST_PP_REPEAT_2_346(m, d) m(3, 346, d) -# define BOOST_PP_REPEAT_2_348(m, d) BOOST_PP_REPEAT_2_347(m, d) m(3, 347, d) -# define BOOST_PP_REPEAT_2_349(m, d) BOOST_PP_REPEAT_2_348(m, d) m(3, 348, d) -# define BOOST_PP_REPEAT_2_350(m, d) BOOST_PP_REPEAT_2_349(m, d) m(3, 349, d) -# define BOOST_PP_REPEAT_2_351(m, d) BOOST_PP_REPEAT_2_350(m, d) m(3, 350, d) -# define BOOST_PP_REPEAT_2_352(m, d) BOOST_PP_REPEAT_2_351(m, d) m(3, 351, d) -# define BOOST_PP_REPEAT_2_353(m, d) BOOST_PP_REPEAT_2_352(m, d) m(3, 352, d) -# define BOOST_PP_REPEAT_2_354(m, d) BOOST_PP_REPEAT_2_353(m, d) m(3, 353, d) -# define BOOST_PP_REPEAT_2_355(m, d) BOOST_PP_REPEAT_2_354(m, d) m(3, 354, d) -# define BOOST_PP_REPEAT_2_356(m, d) BOOST_PP_REPEAT_2_355(m, d) m(3, 355, d) -# define BOOST_PP_REPEAT_2_357(m, d) BOOST_PP_REPEAT_2_356(m, d) m(3, 356, d) -# define BOOST_PP_REPEAT_2_358(m, d) BOOST_PP_REPEAT_2_357(m, d) m(3, 357, d) -# define BOOST_PP_REPEAT_2_359(m, d) BOOST_PP_REPEAT_2_358(m, d) m(3, 358, d) -# define BOOST_PP_REPEAT_2_360(m, d) BOOST_PP_REPEAT_2_359(m, d) m(3, 359, d) -# define BOOST_PP_REPEAT_2_361(m, d) BOOST_PP_REPEAT_2_360(m, d) m(3, 360, d) -# define BOOST_PP_REPEAT_2_362(m, d) BOOST_PP_REPEAT_2_361(m, d) m(3, 361, d) -# define BOOST_PP_REPEAT_2_363(m, d) BOOST_PP_REPEAT_2_362(m, d) m(3, 362, d) -# define BOOST_PP_REPEAT_2_364(m, d) BOOST_PP_REPEAT_2_363(m, d) m(3, 363, d) -# define BOOST_PP_REPEAT_2_365(m, d) BOOST_PP_REPEAT_2_364(m, d) m(3, 364, d) -# define BOOST_PP_REPEAT_2_366(m, d) BOOST_PP_REPEAT_2_365(m, d) m(3, 365, d) -# define BOOST_PP_REPEAT_2_367(m, d) BOOST_PP_REPEAT_2_366(m, d) m(3, 366, d) -# define BOOST_PP_REPEAT_2_368(m, d) BOOST_PP_REPEAT_2_367(m, d) m(3, 367, d) -# define BOOST_PP_REPEAT_2_369(m, d) BOOST_PP_REPEAT_2_368(m, d) m(3, 368, d) -# define BOOST_PP_REPEAT_2_370(m, d) BOOST_PP_REPEAT_2_369(m, d) m(3, 369, d) -# define BOOST_PP_REPEAT_2_371(m, d) BOOST_PP_REPEAT_2_370(m, d) m(3, 370, d) -# define BOOST_PP_REPEAT_2_372(m, d) BOOST_PP_REPEAT_2_371(m, d) m(3, 371, d) -# define BOOST_PP_REPEAT_2_373(m, d) BOOST_PP_REPEAT_2_372(m, d) m(3, 372, d) -# define BOOST_PP_REPEAT_2_374(m, d) BOOST_PP_REPEAT_2_373(m, d) m(3, 373, d) -# define BOOST_PP_REPEAT_2_375(m, d) BOOST_PP_REPEAT_2_374(m, d) m(3, 374, d) -# define BOOST_PP_REPEAT_2_376(m, d) BOOST_PP_REPEAT_2_375(m, d) m(3, 375, d) -# define BOOST_PP_REPEAT_2_377(m, d) BOOST_PP_REPEAT_2_376(m, d) m(3, 376, d) -# define BOOST_PP_REPEAT_2_378(m, d) BOOST_PP_REPEAT_2_377(m, d) m(3, 377, d) -# define BOOST_PP_REPEAT_2_379(m, d) BOOST_PP_REPEAT_2_378(m, d) m(3, 378, d) -# define BOOST_PP_REPEAT_2_380(m, d) BOOST_PP_REPEAT_2_379(m, d) m(3, 379, d) -# define BOOST_PP_REPEAT_2_381(m, d) BOOST_PP_REPEAT_2_380(m, d) m(3, 380, d) -# define BOOST_PP_REPEAT_2_382(m, d) BOOST_PP_REPEAT_2_381(m, d) m(3, 381, d) -# define BOOST_PP_REPEAT_2_383(m, d) BOOST_PP_REPEAT_2_382(m, d) m(3, 382, d) -# define BOOST_PP_REPEAT_2_384(m, d) BOOST_PP_REPEAT_2_383(m, d) m(3, 383, d) -# define BOOST_PP_REPEAT_2_385(m, d) BOOST_PP_REPEAT_2_384(m, d) m(3, 384, d) -# define BOOST_PP_REPEAT_2_386(m, d) BOOST_PP_REPEAT_2_385(m, d) m(3, 385, d) -# define BOOST_PP_REPEAT_2_387(m, d) BOOST_PP_REPEAT_2_386(m, d) m(3, 386, d) -# define BOOST_PP_REPEAT_2_388(m, d) BOOST_PP_REPEAT_2_387(m, d) m(3, 387, d) -# define BOOST_PP_REPEAT_2_389(m, d) BOOST_PP_REPEAT_2_388(m, d) m(3, 388, d) -# define BOOST_PP_REPEAT_2_390(m, d) BOOST_PP_REPEAT_2_389(m, d) m(3, 389, d) -# define BOOST_PP_REPEAT_2_391(m, d) BOOST_PP_REPEAT_2_390(m, d) m(3, 390, d) -# define BOOST_PP_REPEAT_2_392(m, d) BOOST_PP_REPEAT_2_391(m, d) m(3, 391, d) -# define BOOST_PP_REPEAT_2_393(m, d) BOOST_PP_REPEAT_2_392(m, d) m(3, 392, d) -# define BOOST_PP_REPEAT_2_394(m, d) BOOST_PP_REPEAT_2_393(m, d) m(3, 393, d) -# define BOOST_PP_REPEAT_2_395(m, d) BOOST_PP_REPEAT_2_394(m, d) m(3, 394, d) -# define BOOST_PP_REPEAT_2_396(m, d) BOOST_PP_REPEAT_2_395(m, d) m(3, 395, d) -# define BOOST_PP_REPEAT_2_397(m, d) BOOST_PP_REPEAT_2_396(m, d) m(3, 396, d) -# define BOOST_PP_REPEAT_2_398(m, d) BOOST_PP_REPEAT_2_397(m, d) m(3, 397, d) -# define BOOST_PP_REPEAT_2_399(m, d) BOOST_PP_REPEAT_2_398(m, d) m(3, 398, d) -# define BOOST_PP_REPEAT_2_400(m, d) BOOST_PP_REPEAT_2_399(m, d) m(3, 399, d) -# define BOOST_PP_REPEAT_2_401(m, d) BOOST_PP_REPEAT_2_400(m, d) m(3, 400, d) -# define BOOST_PP_REPEAT_2_402(m, d) BOOST_PP_REPEAT_2_401(m, d) m(3, 401, d) -# define BOOST_PP_REPEAT_2_403(m, d) BOOST_PP_REPEAT_2_402(m, d) m(3, 402, d) -# define BOOST_PP_REPEAT_2_404(m, d) BOOST_PP_REPEAT_2_403(m, d) m(3, 403, d) -# define BOOST_PP_REPEAT_2_405(m, d) BOOST_PP_REPEAT_2_404(m, d) m(3, 404, d) -# define BOOST_PP_REPEAT_2_406(m, d) BOOST_PP_REPEAT_2_405(m, d) m(3, 405, d) -# define BOOST_PP_REPEAT_2_407(m, d) BOOST_PP_REPEAT_2_406(m, d) m(3, 406, d) -# define BOOST_PP_REPEAT_2_408(m, d) BOOST_PP_REPEAT_2_407(m, d) m(3, 407, d) -# define BOOST_PP_REPEAT_2_409(m, d) BOOST_PP_REPEAT_2_408(m, d) m(3, 408, d) -# define BOOST_PP_REPEAT_2_410(m, d) BOOST_PP_REPEAT_2_409(m, d) m(3, 409, d) -# define BOOST_PP_REPEAT_2_411(m, d) BOOST_PP_REPEAT_2_410(m, d) m(3, 410, d) -# define BOOST_PP_REPEAT_2_412(m, d) BOOST_PP_REPEAT_2_411(m, d) m(3, 411, d) -# define BOOST_PP_REPEAT_2_413(m, d) BOOST_PP_REPEAT_2_412(m, d) m(3, 412, d) -# define BOOST_PP_REPEAT_2_414(m, d) BOOST_PP_REPEAT_2_413(m, d) m(3, 413, d) -# define BOOST_PP_REPEAT_2_415(m, d) BOOST_PP_REPEAT_2_414(m, d) m(3, 414, d) -# define BOOST_PP_REPEAT_2_416(m, d) BOOST_PP_REPEAT_2_415(m, d) m(3, 415, d) -# define BOOST_PP_REPEAT_2_417(m, d) BOOST_PP_REPEAT_2_416(m, d) m(3, 416, d) -# define BOOST_PP_REPEAT_2_418(m, d) BOOST_PP_REPEAT_2_417(m, d) m(3, 417, d) -# define BOOST_PP_REPEAT_2_419(m, d) BOOST_PP_REPEAT_2_418(m, d) m(3, 418, d) -# define BOOST_PP_REPEAT_2_420(m, d) BOOST_PP_REPEAT_2_419(m, d) m(3, 419, d) -# define BOOST_PP_REPEAT_2_421(m, d) BOOST_PP_REPEAT_2_420(m, d) m(3, 420, d) -# define BOOST_PP_REPEAT_2_422(m, d) BOOST_PP_REPEAT_2_421(m, d) m(3, 421, d) -# define BOOST_PP_REPEAT_2_423(m, d) BOOST_PP_REPEAT_2_422(m, d) m(3, 422, d) -# define BOOST_PP_REPEAT_2_424(m, d) BOOST_PP_REPEAT_2_423(m, d) m(3, 423, d) -# define BOOST_PP_REPEAT_2_425(m, d) BOOST_PP_REPEAT_2_424(m, d) m(3, 424, d) -# define BOOST_PP_REPEAT_2_426(m, d) BOOST_PP_REPEAT_2_425(m, d) m(3, 425, d) -# define BOOST_PP_REPEAT_2_427(m, d) BOOST_PP_REPEAT_2_426(m, d) m(3, 426, d) -# define BOOST_PP_REPEAT_2_428(m, d) BOOST_PP_REPEAT_2_427(m, d) m(3, 427, d) -# define BOOST_PP_REPEAT_2_429(m, d) BOOST_PP_REPEAT_2_428(m, d) m(3, 428, d) -# define BOOST_PP_REPEAT_2_430(m, d) BOOST_PP_REPEAT_2_429(m, d) m(3, 429, d) -# define BOOST_PP_REPEAT_2_431(m, d) BOOST_PP_REPEAT_2_430(m, d) m(3, 430, d) -# define BOOST_PP_REPEAT_2_432(m, d) BOOST_PP_REPEAT_2_431(m, d) m(3, 431, d) -# define BOOST_PP_REPEAT_2_433(m, d) BOOST_PP_REPEAT_2_432(m, d) m(3, 432, d) -# define BOOST_PP_REPEAT_2_434(m, d) BOOST_PP_REPEAT_2_433(m, d) m(3, 433, d) -# define BOOST_PP_REPEAT_2_435(m, d) BOOST_PP_REPEAT_2_434(m, d) m(3, 434, d) -# define BOOST_PP_REPEAT_2_436(m, d) BOOST_PP_REPEAT_2_435(m, d) m(3, 435, d) -# define BOOST_PP_REPEAT_2_437(m, d) BOOST_PP_REPEAT_2_436(m, d) m(3, 436, d) -# define BOOST_PP_REPEAT_2_438(m, d) BOOST_PP_REPEAT_2_437(m, d) m(3, 437, d) -# define BOOST_PP_REPEAT_2_439(m, d) BOOST_PP_REPEAT_2_438(m, d) m(3, 438, d) -# define BOOST_PP_REPEAT_2_440(m, d) BOOST_PP_REPEAT_2_439(m, d) m(3, 439, d) -# define BOOST_PP_REPEAT_2_441(m, d) BOOST_PP_REPEAT_2_440(m, d) m(3, 440, d) -# define BOOST_PP_REPEAT_2_442(m, d) BOOST_PP_REPEAT_2_441(m, d) m(3, 441, d) -# define BOOST_PP_REPEAT_2_443(m, d) BOOST_PP_REPEAT_2_442(m, d) m(3, 442, d) -# define BOOST_PP_REPEAT_2_444(m, d) BOOST_PP_REPEAT_2_443(m, d) m(3, 443, d) -# define BOOST_PP_REPEAT_2_445(m, d) BOOST_PP_REPEAT_2_444(m, d) m(3, 444, d) -# define BOOST_PP_REPEAT_2_446(m, d) BOOST_PP_REPEAT_2_445(m, d) m(3, 445, d) -# define BOOST_PP_REPEAT_2_447(m, d) BOOST_PP_REPEAT_2_446(m, d) m(3, 446, d) -# define BOOST_PP_REPEAT_2_448(m, d) BOOST_PP_REPEAT_2_447(m, d) m(3, 447, d) -# define BOOST_PP_REPEAT_2_449(m, d) BOOST_PP_REPEAT_2_448(m, d) m(3, 448, d) -# define BOOST_PP_REPEAT_2_450(m, d) BOOST_PP_REPEAT_2_449(m, d) m(3, 449, d) -# define BOOST_PP_REPEAT_2_451(m, d) BOOST_PP_REPEAT_2_450(m, d) m(3, 450, d) -# define BOOST_PP_REPEAT_2_452(m, d) BOOST_PP_REPEAT_2_451(m, d) m(3, 451, d) -# define BOOST_PP_REPEAT_2_453(m, d) BOOST_PP_REPEAT_2_452(m, d) m(3, 452, d) -# define BOOST_PP_REPEAT_2_454(m, d) BOOST_PP_REPEAT_2_453(m, d) m(3, 453, d) -# define BOOST_PP_REPEAT_2_455(m, d) BOOST_PP_REPEAT_2_454(m, d) m(3, 454, d) -# define BOOST_PP_REPEAT_2_456(m, d) BOOST_PP_REPEAT_2_455(m, d) m(3, 455, d) -# define BOOST_PP_REPEAT_2_457(m, d) BOOST_PP_REPEAT_2_456(m, d) m(3, 456, d) -# define BOOST_PP_REPEAT_2_458(m, d) BOOST_PP_REPEAT_2_457(m, d) m(3, 457, d) -# define BOOST_PP_REPEAT_2_459(m, d) BOOST_PP_REPEAT_2_458(m, d) m(3, 458, d) -# define BOOST_PP_REPEAT_2_460(m, d) BOOST_PP_REPEAT_2_459(m, d) m(3, 459, d) -# define BOOST_PP_REPEAT_2_461(m, d) BOOST_PP_REPEAT_2_460(m, d) m(3, 460, d) -# define BOOST_PP_REPEAT_2_462(m, d) BOOST_PP_REPEAT_2_461(m, d) m(3, 461, d) -# define BOOST_PP_REPEAT_2_463(m, d) BOOST_PP_REPEAT_2_462(m, d) m(3, 462, d) -# define BOOST_PP_REPEAT_2_464(m, d) BOOST_PP_REPEAT_2_463(m, d) m(3, 463, d) -# define BOOST_PP_REPEAT_2_465(m, d) BOOST_PP_REPEAT_2_464(m, d) m(3, 464, d) -# define BOOST_PP_REPEAT_2_466(m, d) BOOST_PP_REPEAT_2_465(m, d) m(3, 465, d) -# define BOOST_PP_REPEAT_2_467(m, d) BOOST_PP_REPEAT_2_466(m, d) m(3, 466, d) -# define BOOST_PP_REPEAT_2_468(m, d) BOOST_PP_REPEAT_2_467(m, d) m(3, 467, d) -# define BOOST_PP_REPEAT_2_469(m, d) BOOST_PP_REPEAT_2_468(m, d) m(3, 468, d) -# define BOOST_PP_REPEAT_2_470(m, d) BOOST_PP_REPEAT_2_469(m, d) m(3, 469, d) -# define BOOST_PP_REPEAT_2_471(m, d) BOOST_PP_REPEAT_2_470(m, d) m(3, 470, d) -# define BOOST_PP_REPEAT_2_472(m, d) BOOST_PP_REPEAT_2_471(m, d) m(3, 471, d) -# define BOOST_PP_REPEAT_2_473(m, d) BOOST_PP_REPEAT_2_472(m, d) m(3, 472, d) -# define BOOST_PP_REPEAT_2_474(m, d) BOOST_PP_REPEAT_2_473(m, d) m(3, 473, d) -# define BOOST_PP_REPEAT_2_475(m, d) BOOST_PP_REPEAT_2_474(m, d) m(3, 474, d) -# define BOOST_PP_REPEAT_2_476(m, d) BOOST_PP_REPEAT_2_475(m, d) m(3, 475, d) -# define BOOST_PP_REPEAT_2_477(m, d) BOOST_PP_REPEAT_2_476(m, d) m(3, 476, d) -# define BOOST_PP_REPEAT_2_478(m, d) BOOST_PP_REPEAT_2_477(m, d) m(3, 477, d) -# define BOOST_PP_REPEAT_2_479(m, d) BOOST_PP_REPEAT_2_478(m, d) m(3, 478, d) -# define BOOST_PP_REPEAT_2_480(m, d) BOOST_PP_REPEAT_2_479(m, d) m(3, 479, d) -# define BOOST_PP_REPEAT_2_481(m, d) BOOST_PP_REPEAT_2_480(m, d) m(3, 480, d) -# define BOOST_PP_REPEAT_2_482(m, d) BOOST_PP_REPEAT_2_481(m, d) m(3, 481, d) -# define BOOST_PP_REPEAT_2_483(m, d) BOOST_PP_REPEAT_2_482(m, d) m(3, 482, d) -# define BOOST_PP_REPEAT_2_484(m, d) BOOST_PP_REPEAT_2_483(m, d) m(3, 483, d) -# define BOOST_PP_REPEAT_2_485(m, d) BOOST_PP_REPEAT_2_484(m, d) m(3, 484, d) -# define BOOST_PP_REPEAT_2_486(m, d) BOOST_PP_REPEAT_2_485(m, d) m(3, 485, d) -# define BOOST_PP_REPEAT_2_487(m, d) BOOST_PP_REPEAT_2_486(m, d) m(3, 486, d) -# define BOOST_PP_REPEAT_2_488(m, d) BOOST_PP_REPEAT_2_487(m, d) m(3, 487, d) -# define BOOST_PP_REPEAT_2_489(m, d) BOOST_PP_REPEAT_2_488(m, d) m(3, 488, d) -# define BOOST_PP_REPEAT_2_490(m, d) BOOST_PP_REPEAT_2_489(m, d) m(3, 489, d) -# define BOOST_PP_REPEAT_2_491(m, d) BOOST_PP_REPEAT_2_490(m, d) m(3, 490, d) -# define BOOST_PP_REPEAT_2_492(m, d) BOOST_PP_REPEAT_2_491(m, d) m(3, 491, d) -# define BOOST_PP_REPEAT_2_493(m, d) BOOST_PP_REPEAT_2_492(m, d) m(3, 492, d) -# define BOOST_PP_REPEAT_2_494(m, d) BOOST_PP_REPEAT_2_493(m, d) m(3, 493, d) -# define BOOST_PP_REPEAT_2_495(m, d) BOOST_PP_REPEAT_2_494(m, d) m(3, 494, d) -# define BOOST_PP_REPEAT_2_496(m, d) BOOST_PP_REPEAT_2_495(m, d) m(3, 495, d) -# define BOOST_PP_REPEAT_2_497(m, d) BOOST_PP_REPEAT_2_496(m, d) m(3, 496, d) -# define BOOST_PP_REPEAT_2_498(m, d) BOOST_PP_REPEAT_2_497(m, d) m(3, 497, d) -# define BOOST_PP_REPEAT_2_499(m, d) BOOST_PP_REPEAT_2_498(m, d) m(3, 498, d) -# define BOOST_PP_REPEAT_2_500(m, d) BOOST_PP_REPEAT_2_499(m, d) m(3, 499, d) -# define BOOST_PP_REPEAT_2_501(m, d) BOOST_PP_REPEAT_2_500(m, d) m(3, 500, d) -# define BOOST_PP_REPEAT_2_502(m, d) BOOST_PP_REPEAT_2_501(m, d) m(3, 501, d) -# define BOOST_PP_REPEAT_2_503(m, d) BOOST_PP_REPEAT_2_502(m, d) m(3, 502, d) -# define BOOST_PP_REPEAT_2_504(m, d) BOOST_PP_REPEAT_2_503(m, d) m(3, 503, d) -# define BOOST_PP_REPEAT_2_505(m, d) BOOST_PP_REPEAT_2_504(m, d) m(3, 504, d) -# define BOOST_PP_REPEAT_2_506(m, d) BOOST_PP_REPEAT_2_505(m, d) m(3, 505, d) -# define BOOST_PP_REPEAT_2_507(m, d) BOOST_PP_REPEAT_2_506(m, d) m(3, 506, d) -# define BOOST_PP_REPEAT_2_508(m, d) BOOST_PP_REPEAT_2_507(m, d) m(3, 507, d) -# define BOOST_PP_REPEAT_2_509(m, d) BOOST_PP_REPEAT_2_508(m, d) m(3, 508, d) -# define BOOST_PP_REPEAT_2_510(m, d) BOOST_PP_REPEAT_2_509(m, d) m(3, 509, d) -# define BOOST_PP_REPEAT_2_511(m, d) BOOST_PP_REPEAT_2_510(m, d) m(3, 510, d) -# define BOOST_PP_REPEAT_2_512(m, d) BOOST_PP_REPEAT_2_511(m, d) m(3, 511, d) -# -# define BOOST_PP_REPEAT_3_257(m, d) BOOST_PP_REPEAT_3_256(m, d) m(4, 256, d) -# define BOOST_PP_REPEAT_3_258(m, d) BOOST_PP_REPEAT_3_257(m, d) m(4, 257, d) -# define BOOST_PP_REPEAT_3_259(m, d) BOOST_PP_REPEAT_3_258(m, d) m(4, 258, d) -# define BOOST_PP_REPEAT_3_260(m, d) BOOST_PP_REPEAT_3_259(m, d) m(4, 259, d) -# define BOOST_PP_REPEAT_3_261(m, d) BOOST_PP_REPEAT_3_260(m, d) m(4, 260, d) -# define BOOST_PP_REPEAT_3_262(m, d) BOOST_PP_REPEAT_3_261(m, d) m(4, 261, d) -# define BOOST_PP_REPEAT_3_263(m, d) BOOST_PP_REPEAT_3_262(m, d) m(4, 262, d) -# define BOOST_PP_REPEAT_3_264(m, d) BOOST_PP_REPEAT_3_263(m, d) m(4, 263, d) -# define BOOST_PP_REPEAT_3_265(m, d) BOOST_PP_REPEAT_3_264(m, d) m(4, 264, d) -# define BOOST_PP_REPEAT_3_266(m, d) BOOST_PP_REPEAT_3_265(m, d) m(4, 265, d) -# define BOOST_PP_REPEAT_3_267(m, d) BOOST_PP_REPEAT_3_266(m, d) m(4, 266, d) -# define BOOST_PP_REPEAT_3_268(m, d) BOOST_PP_REPEAT_3_267(m, d) m(4, 267, d) -# define BOOST_PP_REPEAT_3_269(m, d) BOOST_PP_REPEAT_3_268(m, d) m(4, 268, d) -# define BOOST_PP_REPEAT_3_270(m, d) BOOST_PP_REPEAT_3_269(m, d) m(4, 269, d) -# define BOOST_PP_REPEAT_3_271(m, d) BOOST_PP_REPEAT_3_270(m, d) m(4, 270, d) -# define BOOST_PP_REPEAT_3_272(m, d) BOOST_PP_REPEAT_3_271(m, d) m(4, 271, d) -# define BOOST_PP_REPEAT_3_273(m, d) BOOST_PP_REPEAT_3_272(m, d) m(4, 272, d) -# define BOOST_PP_REPEAT_3_274(m, d) BOOST_PP_REPEAT_3_273(m, d) m(4, 273, d) -# define BOOST_PP_REPEAT_3_275(m, d) BOOST_PP_REPEAT_3_274(m, d) m(4, 274, d) -# define BOOST_PP_REPEAT_3_276(m, d) BOOST_PP_REPEAT_3_275(m, d) m(4, 275, d) -# define BOOST_PP_REPEAT_3_277(m, d) BOOST_PP_REPEAT_3_276(m, d) m(4, 276, d) -# define BOOST_PP_REPEAT_3_278(m, d) BOOST_PP_REPEAT_3_277(m, d) m(4, 277, d) -# define BOOST_PP_REPEAT_3_279(m, d) BOOST_PP_REPEAT_3_278(m, d) m(4, 278, d) -# define BOOST_PP_REPEAT_3_280(m, d) BOOST_PP_REPEAT_3_279(m, d) m(4, 279, d) -# define BOOST_PP_REPEAT_3_281(m, d) BOOST_PP_REPEAT_3_280(m, d) m(4, 280, d) -# define BOOST_PP_REPEAT_3_282(m, d) BOOST_PP_REPEAT_3_281(m, d) m(4, 281, d) -# define BOOST_PP_REPEAT_3_283(m, d) BOOST_PP_REPEAT_3_282(m, d) m(4, 282, d) -# define BOOST_PP_REPEAT_3_284(m, d) BOOST_PP_REPEAT_3_283(m, d) m(4, 283, d) -# define BOOST_PP_REPEAT_3_285(m, d) BOOST_PP_REPEAT_3_284(m, d) m(4, 284, d) -# define BOOST_PP_REPEAT_3_286(m, d) BOOST_PP_REPEAT_3_285(m, d) m(4, 285, d) -# define BOOST_PP_REPEAT_3_287(m, d) BOOST_PP_REPEAT_3_286(m, d) m(4, 286, d) -# define BOOST_PP_REPEAT_3_288(m, d) BOOST_PP_REPEAT_3_287(m, d) m(4, 287, d) -# define BOOST_PP_REPEAT_3_289(m, d) BOOST_PP_REPEAT_3_288(m, d) m(4, 288, d) -# define BOOST_PP_REPEAT_3_290(m, d) BOOST_PP_REPEAT_3_289(m, d) m(4, 289, d) -# define BOOST_PP_REPEAT_3_291(m, d) BOOST_PP_REPEAT_3_290(m, d) m(4, 290, d) -# define BOOST_PP_REPEAT_3_292(m, d) BOOST_PP_REPEAT_3_291(m, d) m(4, 291, d) -# define BOOST_PP_REPEAT_3_293(m, d) BOOST_PP_REPEAT_3_292(m, d) m(4, 292, d) -# define BOOST_PP_REPEAT_3_294(m, d) BOOST_PP_REPEAT_3_293(m, d) m(4, 293, d) -# define BOOST_PP_REPEAT_3_295(m, d) BOOST_PP_REPEAT_3_294(m, d) m(4, 294, d) -# define BOOST_PP_REPEAT_3_296(m, d) BOOST_PP_REPEAT_3_295(m, d) m(4, 295, d) -# define BOOST_PP_REPEAT_3_297(m, d) BOOST_PP_REPEAT_3_296(m, d) m(4, 296, d) -# define BOOST_PP_REPEAT_3_298(m, d) BOOST_PP_REPEAT_3_297(m, d) m(4, 297, d) -# define BOOST_PP_REPEAT_3_299(m, d) BOOST_PP_REPEAT_3_298(m, d) m(4, 298, d) -# define BOOST_PP_REPEAT_3_300(m, d) BOOST_PP_REPEAT_3_299(m, d) m(4, 299, d) -# define BOOST_PP_REPEAT_3_301(m, d) BOOST_PP_REPEAT_3_300(m, d) m(4, 300, d) -# define BOOST_PP_REPEAT_3_302(m, d) BOOST_PP_REPEAT_3_301(m, d) m(4, 301, d) -# define BOOST_PP_REPEAT_3_303(m, d) BOOST_PP_REPEAT_3_302(m, d) m(4, 302, d) -# define BOOST_PP_REPEAT_3_304(m, d) BOOST_PP_REPEAT_3_303(m, d) m(4, 303, d) -# define BOOST_PP_REPEAT_3_305(m, d) BOOST_PP_REPEAT_3_304(m, d) m(4, 304, d) -# define BOOST_PP_REPEAT_3_306(m, d) BOOST_PP_REPEAT_3_305(m, d) m(4, 305, d) -# define BOOST_PP_REPEAT_3_307(m, d) BOOST_PP_REPEAT_3_306(m, d) m(4, 306, d) -# define BOOST_PP_REPEAT_3_308(m, d) BOOST_PP_REPEAT_3_307(m, d) m(4, 307, d) -# define BOOST_PP_REPEAT_3_309(m, d) BOOST_PP_REPEAT_3_308(m, d) m(4, 308, d) -# define BOOST_PP_REPEAT_3_310(m, d) BOOST_PP_REPEAT_3_309(m, d) m(4, 309, d) -# define BOOST_PP_REPEAT_3_311(m, d) BOOST_PP_REPEAT_3_310(m, d) m(4, 310, d) -# define BOOST_PP_REPEAT_3_312(m, d) BOOST_PP_REPEAT_3_311(m, d) m(4, 311, d) -# define BOOST_PP_REPEAT_3_313(m, d) BOOST_PP_REPEAT_3_312(m, d) m(4, 312, d) -# define BOOST_PP_REPEAT_3_314(m, d) BOOST_PP_REPEAT_3_313(m, d) m(4, 313, d) -# define BOOST_PP_REPEAT_3_315(m, d) BOOST_PP_REPEAT_3_314(m, d) m(4, 314, d) -# define BOOST_PP_REPEAT_3_316(m, d) BOOST_PP_REPEAT_3_315(m, d) m(4, 315, d) -# define BOOST_PP_REPEAT_3_317(m, d) BOOST_PP_REPEAT_3_316(m, d) m(4, 316, d) -# define BOOST_PP_REPEAT_3_318(m, d) BOOST_PP_REPEAT_3_317(m, d) m(4, 317, d) -# define BOOST_PP_REPEAT_3_319(m, d) BOOST_PP_REPEAT_3_318(m, d) m(4, 318, d) -# define BOOST_PP_REPEAT_3_320(m, d) BOOST_PP_REPEAT_3_319(m, d) m(4, 319, d) -# define BOOST_PP_REPEAT_3_321(m, d) BOOST_PP_REPEAT_3_320(m, d) m(4, 320, d) -# define BOOST_PP_REPEAT_3_322(m, d) BOOST_PP_REPEAT_3_321(m, d) m(4, 321, d) -# define BOOST_PP_REPEAT_3_323(m, d) BOOST_PP_REPEAT_3_322(m, d) m(4, 322, d) -# define BOOST_PP_REPEAT_3_324(m, d) BOOST_PP_REPEAT_3_323(m, d) m(4, 323, d) -# define BOOST_PP_REPEAT_3_325(m, d) BOOST_PP_REPEAT_3_324(m, d) m(4, 324, d) -# define BOOST_PP_REPEAT_3_326(m, d) BOOST_PP_REPEAT_3_325(m, d) m(4, 325, d) -# define BOOST_PP_REPEAT_3_327(m, d) BOOST_PP_REPEAT_3_326(m, d) m(4, 326, d) -# define BOOST_PP_REPEAT_3_328(m, d) BOOST_PP_REPEAT_3_327(m, d) m(4, 327, d) -# define BOOST_PP_REPEAT_3_329(m, d) BOOST_PP_REPEAT_3_328(m, d) m(4, 328, d) -# define BOOST_PP_REPEAT_3_330(m, d) BOOST_PP_REPEAT_3_329(m, d) m(4, 329, d) -# define BOOST_PP_REPEAT_3_331(m, d) BOOST_PP_REPEAT_3_330(m, d) m(4, 330, d) -# define BOOST_PP_REPEAT_3_332(m, d) BOOST_PP_REPEAT_3_331(m, d) m(4, 331, d) -# define BOOST_PP_REPEAT_3_333(m, d) BOOST_PP_REPEAT_3_332(m, d) m(4, 332, d) -# define BOOST_PP_REPEAT_3_334(m, d) BOOST_PP_REPEAT_3_333(m, d) m(4, 333, d) -# define BOOST_PP_REPEAT_3_335(m, d) BOOST_PP_REPEAT_3_334(m, d) m(4, 334, d) -# define BOOST_PP_REPEAT_3_336(m, d) BOOST_PP_REPEAT_3_335(m, d) m(4, 335, d) -# define BOOST_PP_REPEAT_3_337(m, d) BOOST_PP_REPEAT_3_336(m, d) m(4, 336, d) -# define BOOST_PP_REPEAT_3_338(m, d) BOOST_PP_REPEAT_3_337(m, d) m(4, 337, d) -# define BOOST_PP_REPEAT_3_339(m, d) BOOST_PP_REPEAT_3_338(m, d) m(4, 338, d) -# define BOOST_PP_REPEAT_3_340(m, d) BOOST_PP_REPEAT_3_339(m, d) m(4, 339, d) -# define BOOST_PP_REPEAT_3_341(m, d) BOOST_PP_REPEAT_3_340(m, d) m(4, 340, d) -# define BOOST_PP_REPEAT_3_342(m, d) BOOST_PP_REPEAT_3_341(m, d) m(4, 341, d) -# define BOOST_PP_REPEAT_3_343(m, d) BOOST_PP_REPEAT_3_342(m, d) m(4, 342, d) -# define BOOST_PP_REPEAT_3_344(m, d) BOOST_PP_REPEAT_3_343(m, d) m(4, 343, d) -# define BOOST_PP_REPEAT_3_345(m, d) BOOST_PP_REPEAT_3_344(m, d) m(4, 344, d) -# define BOOST_PP_REPEAT_3_346(m, d) BOOST_PP_REPEAT_3_345(m, d) m(4, 345, d) -# define BOOST_PP_REPEAT_3_347(m, d) BOOST_PP_REPEAT_3_346(m, d) m(4, 346, d) -# define BOOST_PP_REPEAT_3_348(m, d) BOOST_PP_REPEAT_3_347(m, d) m(4, 347, d) -# define BOOST_PP_REPEAT_3_349(m, d) BOOST_PP_REPEAT_3_348(m, d) m(4, 348, d) -# define BOOST_PP_REPEAT_3_350(m, d) BOOST_PP_REPEAT_3_349(m, d) m(4, 349, d) -# define BOOST_PP_REPEAT_3_351(m, d) BOOST_PP_REPEAT_3_350(m, d) m(4, 350, d) -# define BOOST_PP_REPEAT_3_352(m, d) BOOST_PP_REPEAT_3_351(m, d) m(4, 351, d) -# define BOOST_PP_REPEAT_3_353(m, d) BOOST_PP_REPEAT_3_352(m, d) m(4, 352, d) -# define BOOST_PP_REPEAT_3_354(m, d) BOOST_PP_REPEAT_3_353(m, d) m(4, 353, d) -# define BOOST_PP_REPEAT_3_355(m, d) BOOST_PP_REPEAT_3_354(m, d) m(4, 354, d) -# define BOOST_PP_REPEAT_3_356(m, d) BOOST_PP_REPEAT_3_355(m, d) m(4, 355, d) -# define BOOST_PP_REPEAT_3_357(m, d) BOOST_PP_REPEAT_3_356(m, d) m(4, 356, d) -# define BOOST_PP_REPEAT_3_358(m, d) BOOST_PP_REPEAT_3_357(m, d) m(4, 357, d) -# define BOOST_PP_REPEAT_3_359(m, d) BOOST_PP_REPEAT_3_358(m, d) m(4, 358, d) -# define BOOST_PP_REPEAT_3_360(m, d) BOOST_PP_REPEAT_3_359(m, d) m(4, 359, d) -# define BOOST_PP_REPEAT_3_361(m, d) BOOST_PP_REPEAT_3_360(m, d) m(4, 360, d) -# define BOOST_PP_REPEAT_3_362(m, d) BOOST_PP_REPEAT_3_361(m, d) m(4, 361, d) -# define BOOST_PP_REPEAT_3_363(m, d) BOOST_PP_REPEAT_3_362(m, d) m(4, 362, d) -# define BOOST_PP_REPEAT_3_364(m, d) BOOST_PP_REPEAT_3_363(m, d) m(4, 363, d) -# define BOOST_PP_REPEAT_3_365(m, d) BOOST_PP_REPEAT_3_364(m, d) m(4, 364, d) -# define BOOST_PP_REPEAT_3_366(m, d) BOOST_PP_REPEAT_3_365(m, d) m(4, 365, d) -# define BOOST_PP_REPEAT_3_367(m, d) BOOST_PP_REPEAT_3_366(m, d) m(4, 366, d) -# define BOOST_PP_REPEAT_3_368(m, d) BOOST_PP_REPEAT_3_367(m, d) m(4, 367, d) -# define BOOST_PP_REPEAT_3_369(m, d) BOOST_PP_REPEAT_3_368(m, d) m(4, 368, d) -# define BOOST_PP_REPEAT_3_370(m, d) BOOST_PP_REPEAT_3_369(m, d) m(4, 369, d) -# define BOOST_PP_REPEAT_3_371(m, d) BOOST_PP_REPEAT_3_370(m, d) m(4, 370, d) -# define BOOST_PP_REPEAT_3_372(m, d) BOOST_PP_REPEAT_3_371(m, d) m(4, 371, d) -# define BOOST_PP_REPEAT_3_373(m, d) BOOST_PP_REPEAT_3_372(m, d) m(4, 372, d) -# define BOOST_PP_REPEAT_3_374(m, d) BOOST_PP_REPEAT_3_373(m, d) m(4, 373, d) -# define BOOST_PP_REPEAT_3_375(m, d) BOOST_PP_REPEAT_3_374(m, d) m(4, 374, d) -# define BOOST_PP_REPEAT_3_376(m, d) BOOST_PP_REPEAT_3_375(m, d) m(4, 375, d) -# define BOOST_PP_REPEAT_3_377(m, d) BOOST_PP_REPEAT_3_376(m, d) m(4, 376, d) -# define BOOST_PP_REPEAT_3_378(m, d) BOOST_PP_REPEAT_3_377(m, d) m(4, 377, d) -# define BOOST_PP_REPEAT_3_379(m, d) BOOST_PP_REPEAT_3_378(m, d) m(4, 378, d) -# define BOOST_PP_REPEAT_3_380(m, d) BOOST_PP_REPEAT_3_379(m, d) m(4, 379, d) -# define BOOST_PP_REPEAT_3_381(m, d) BOOST_PP_REPEAT_3_380(m, d) m(4, 380, d) -# define BOOST_PP_REPEAT_3_382(m, d) BOOST_PP_REPEAT_3_381(m, d) m(4, 381, d) -# define BOOST_PP_REPEAT_3_383(m, d) BOOST_PP_REPEAT_3_382(m, d) m(4, 382, d) -# define BOOST_PP_REPEAT_3_384(m, d) BOOST_PP_REPEAT_3_383(m, d) m(4, 383, d) -# define BOOST_PP_REPEAT_3_385(m, d) BOOST_PP_REPEAT_3_384(m, d) m(4, 384, d) -# define BOOST_PP_REPEAT_3_386(m, d) BOOST_PP_REPEAT_3_385(m, d) m(4, 385, d) -# define BOOST_PP_REPEAT_3_387(m, d) BOOST_PP_REPEAT_3_386(m, d) m(4, 386, d) -# define BOOST_PP_REPEAT_3_388(m, d) BOOST_PP_REPEAT_3_387(m, d) m(4, 387, d) -# define BOOST_PP_REPEAT_3_389(m, d) BOOST_PP_REPEAT_3_388(m, d) m(4, 388, d) -# define BOOST_PP_REPEAT_3_390(m, d) BOOST_PP_REPEAT_3_389(m, d) m(4, 389, d) -# define BOOST_PP_REPEAT_3_391(m, d) BOOST_PP_REPEAT_3_390(m, d) m(4, 390, d) -# define BOOST_PP_REPEAT_3_392(m, d) BOOST_PP_REPEAT_3_391(m, d) m(4, 391, d) -# define BOOST_PP_REPEAT_3_393(m, d) BOOST_PP_REPEAT_3_392(m, d) m(4, 392, d) -# define BOOST_PP_REPEAT_3_394(m, d) BOOST_PP_REPEAT_3_393(m, d) m(4, 393, d) -# define BOOST_PP_REPEAT_3_395(m, d) BOOST_PP_REPEAT_3_394(m, d) m(4, 394, d) -# define BOOST_PP_REPEAT_3_396(m, d) BOOST_PP_REPEAT_3_395(m, d) m(4, 395, d) -# define BOOST_PP_REPEAT_3_397(m, d) BOOST_PP_REPEAT_3_396(m, d) m(4, 396, d) -# define BOOST_PP_REPEAT_3_398(m, d) BOOST_PP_REPEAT_3_397(m, d) m(4, 397, d) -# define BOOST_PP_REPEAT_3_399(m, d) BOOST_PP_REPEAT_3_398(m, d) m(4, 398, d) -# define BOOST_PP_REPEAT_3_400(m, d) BOOST_PP_REPEAT_3_399(m, d) m(4, 399, d) -# define BOOST_PP_REPEAT_3_401(m, d) BOOST_PP_REPEAT_3_400(m, d) m(4, 400, d) -# define BOOST_PP_REPEAT_3_402(m, d) BOOST_PP_REPEAT_3_401(m, d) m(4, 401, d) -# define BOOST_PP_REPEAT_3_403(m, d) BOOST_PP_REPEAT_3_402(m, d) m(4, 402, d) -# define BOOST_PP_REPEAT_3_404(m, d) BOOST_PP_REPEAT_3_403(m, d) m(4, 403, d) -# define BOOST_PP_REPEAT_3_405(m, d) BOOST_PP_REPEAT_3_404(m, d) m(4, 404, d) -# define BOOST_PP_REPEAT_3_406(m, d) BOOST_PP_REPEAT_3_405(m, d) m(4, 405, d) -# define BOOST_PP_REPEAT_3_407(m, d) BOOST_PP_REPEAT_3_406(m, d) m(4, 406, d) -# define BOOST_PP_REPEAT_3_408(m, d) BOOST_PP_REPEAT_3_407(m, d) m(4, 407, d) -# define BOOST_PP_REPEAT_3_409(m, d) BOOST_PP_REPEAT_3_408(m, d) m(4, 408, d) -# define BOOST_PP_REPEAT_3_410(m, d) BOOST_PP_REPEAT_3_409(m, d) m(4, 409, d) -# define BOOST_PP_REPEAT_3_411(m, d) BOOST_PP_REPEAT_3_410(m, d) m(4, 410, d) -# define BOOST_PP_REPEAT_3_412(m, d) BOOST_PP_REPEAT_3_411(m, d) m(4, 411, d) -# define BOOST_PP_REPEAT_3_413(m, d) BOOST_PP_REPEAT_3_412(m, d) m(4, 412, d) -# define BOOST_PP_REPEAT_3_414(m, d) BOOST_PP_REPEAT_3_413(m, d) m(4, 413, d) -# define BOOST_PP_REPEAT_3_415(m, d) BOOST_PP_REPEAT_3_414(m, d) m(4, 414, d) -# define BOOST_PP_REPEAT_3_416(m, d) BOOST_PP_REPEAT_3_415(m, d) m(4, 415, d) -# define BOOST_PP_REPEAT_3_417(m, d) BOOST_PP_REPEAT_3_416(m, d) m(4, 416, d) -# define BOOST_PP_REPEAT_3_418(m, d) BOOST_PP_REPEAT_3_417(m, d) m(4, 417, d) -# define BOOST_PP_REPEAT_3_419(m, d) BOOST_PP_REPEAT_3_418(m, d) m(4, 418, d) -# define BOOST_PP_REPEAT_3_420(m, d) BOOST_PP_REPEAT_3_419(m, d) m(4, 419, d) -# define BOOST_PP_REPEAT_3_421(m, d) BOOST_PP_REPEAT_3_420(m, d) m(4, 420, d) -# define BOOST_PP_REPEAT_3_422(m, d) BOOST_PP_REPEAT_3_421(m, d) m(4, 421, d) -# define BOOST_PP_REPEAT_3_423(m, d) BOOST_PP_REPEAT_3_422(m, d) m(4, 422, d) -# define BOOST_PP_REPEAT_3_424(m, d) BOOST_PP_REPEAT_3_423(m, d) m(4, 423, d) -# define BOOST_PP_REPEAT_3_425(m, d) BOOST_PP_REPEAT_3_424(m, d) m(4, 424, d) -# define BOOST_PP_REPEAT_3_426(m, d) BOOST_PP_REPEAT_3_425(m, d) m(4, 425, d) -# define BOOST_PP_REPEAT_3_427(m, d) BOOST_PP_REPEAT_3_426(m, d) m(4, 426, d) -# define BOOST_PP_REPEAT_3_428(m, d) BOOST_PP_REPEAT_3_427(m, d) m(4, 427, d) -# define BOOST_PP_REPEAT_3_429(m, d) BOOST_PP_REPEAT_3_428(m, d) m(4, 428, d) -# define BOOST_PP_REPEAT_3_430(m, d) BOOST_PP_REPEAT_3_429(m, d) m(4, 429, d) -# define BOOST_PP_REPEAT_3_431(m, d) BOOST_PP_REPEAT_3_430(m, d) m(4, 430, d) -# define BOOST_PP_REPEAT_3_432(m, d) BOOST_PP_REPEAT_3_431(m, d) m(4, 431, d) -# define BOOST_PP_REPEAT_3_433(m, d) BOOST_PP_REPEAT_3_432(m, d) m(4, 432, d) -# define BOOST_PP_REPEAT_3_434(m, d) BOOST_PP_REPEAT_3_433(m, d) m(4, 433, d) -# define BOOST_PP_REPEAT_3_435(m, d) BOOST_PP_REPEAT_3_434(m, d) m(4, 434, d) -# define BOOST_PP_REPEAT_3_436(m, d) BOOST_PP_REPEAT_3_435(m, d) m(4, 435, d) -# define BOOST_PP_REPEAT_3_437(m, d) BOOST_PP_REPEAT_3_436(m, d) m(4, 436, d) -# define BOOST_PP_REPEAT_3_438(m, d) BOOST_PP_REPEAT_3_437(m, d) m(4, 437, d) -# define BOOST_PP_REPEAT_3_439(m, d) BOOST_PP_REPEAT_3_438(m, d) m(4, 438, d) -# define BOOST_PP_REPEAT_3_440(m, d) BOOST_PP_REPEAT_3_439(m, d) m(4, 439, d) -# define BOOST_PP_REPEAT_3_441(m, d) BOOST_PP_REPEAT_3_440(m, d) m(4, 440, d) -# define BOOST_PP_REPEAT_3_442(m, d) BOOST_PP_REPEAT_3_441(m, d) m(4, 441, d) -# define BOOST_PP_REPEAT_3_443(m, d) BOOST_PP_REPEAT_3_442(m, d) m(4, 442, d) -# define BOOST_PP_REPEAT_3_444(m, d) BOOST_PP_REPEAT_3_443(m, d) m(4, 443, d) -# define BOOST_PP_REPEAT_3_445(m, d) BOOST_PP_REPEAT_3_444(m, d) m(4, 444, d) -# define BOOST_PP_REPEAT_3_446(m, d) BOOST_PP_REPEAT_3_445(m, d) m(4, 445, d) -# define BOOST_PP_REPEAT_3_447(m, d) BOOST_PP_REPEAT_3_446(m, d) m(4, 446, d) -# define BOOST_PP_REPEAT_3_448(m, d) BOOST_PP_REPEAT_3_447(m, d) m(4, 447, d) -# define BOOST_PP_REPEAT_3_449(m, d) BOOST_PP_REPEAT_3_448(m, d) m(4, 448, d) -# define BOOST_PP_REPEAT_3_450(m, d) BOOST_PP_REPEAT_3_449(m, d) m(4, 449, d) -# define BOOST_PP_REPEAT_3_451(m, d) BOOST_PP_REPEAT_3_450(m, d) m(4, 450, d) -# define BOOST_PP_REPEAT_3_452(m, d) BOOST_PP_REPEAT_3_451(m, d) m(4, 451, d) -# define BOOST_PP_REPEAT_3_453(m, d) BOOST_PP_REPEAT_3_452(m, d) m(4, 452, d) -# define BOOST_PP_REPEAT_3_454(m, d) BOOST_PP_REPEAT_3_453(m, d) m(4, 453, d) -# define BOOST_PP_REPEAT_3_455(m, d) BOOST_PP_REPEAT_3_454(m, d) m(4, 454, d) -# define BOOST_PP_REPEAT_3_456(m, d) BOOST_PP_REPEAT_3_455(m, d) m(4, 455, d) -# define BOOST_PP_REPEAT_3_457(m, d) BOOST_PP_REPEAT_3_456(m, d) m(4, 456, d) -# define BOOST_PP_REPEAT_3_458(m, d) BOOST_PP_REPEAT_3_457(m, d) m(4, 457, d) -# define BOOST_PP_REPEAT_3_459(m, d) BOOST_PP_REPEAT_3_458(m, d) m(4, 458, d) -# define BOOST_PP_REPEAT_3_460(m, d) BOOST_PP_REPEAT_3_459(m, d) m(4, 459, d) -# define BOOST_PP_REPEAT_3_461(m, d) BOOST_PP_REPEAT_3_460(m, d) m(4, 460, d) -# define BOOST_PP_REPEAT_3_462(m, d) BOOST_PP_REPEAT_3_461(m, d) m(4, 461, d) -# define BOOST_PP_REPEAT_3_463(m, d) BOOST_PP_REPEAT_3_462(m, d) m(4, 462, d) -# define BOOST_PP_REPEAT_3_464(m, d) BOOST_PP_REPEAT_3_463(m, d) m(4, 463, d) -# define BOOST_PP_REPEAT_3_465(m, d) BOOST_PP_REPEAT_3_464(m, d) m(4, 464, d) -# define BOOST_PP_REPEAT_3_466(m, d) BOOST_PP_REPEAT_3_465(m, d) m(4, 465, d) -# define BOOST_PP_REPEAT_3_467(m, d) BOOST_PP_REPEAT_3_466(m, d) m(4, 466, d) -# define BOOST_PP_REPEAT_3_468(m, d) BOOST_PP_REPEAT_3_467(m, d) m(4, 467, d) -# define BOOST_PP_REPEAT_3_469(m, d) BOOST_PP_REPEAT_3_468(m, d) m(4, 468, d) -# define BOOST_PP_REPEAT_3_470(m, d) BOOST_PP_REPEAT_3_469(m, d) m(4, 469, d) -# define BOOST_PP_REPEAT_3_471(m, d) BOOST_PP_REPEAT_3_470(m, d) m(4, 470, d) -# define BOOST_PP_REPEAT_3_472(m, d) BOOST_PP_REPEAT_3_471(m, d) m(4, 471, d) -# define BOOST_PP_REPEAT_3_473(m, d) BOOST_PP_REPEAT_3_472(m, d) m(4, 472, d) -# define BOOST_PP_REPEAT_3_474(m, d) BOOST_PP_REPEAT_3_473(m, d) m(4, 473, d) -# define BOOST_PP_REPEAT_3_475(m, d) BOOST_PP_REPEAT_3_474(m, d) m(4, 474, d) -# define BOOST_PP_REPEAT_3_476(m, d) BOOST_PP_REPEAT_3_475(m, d) m(4, 475, d) -# define BOOST_PP_REPEAT_3_477(m, d) BOOST_PP_REPEAT_3_476(m, d) m(4, 476, d) -# define BOOST_PP_REPEAT_3_478(m, d) BOOST_PP_REPEAT_3_477(m, d) m(4, 477, d) -# define BOOST_PP_REPEAT_3_479(m, d) BOOST_PP_REPEAT_3_478(m, d) m(4, 478, d) -# define BOOST_PP_REPEAT_3_480(m, d) BOOST_PP_REPEAT_3_479(m, d) m(4, 479, d) -# define BOOST_PP_REPEAT_3_481(m, d) BOOST_PP_REPEAT_3_480(m, d) m(4, 480, d) -# define BOOST_PP_REPEAT_3_482(m, d) BOOST_PP_REPEAT_3_481(m, d) m(4, 481, d) -# define BOOST_PP_REPEAT_3_483(m, d) BOOST_PP_REPEAT_3_482(m, d) m(4, 482, d) -# define BOOST_PP_REPEAT_3_484(m, d) BOOST_PP_REPEAT_3_483(m, d) m(4, 483, d) -# define BOOST_PP_REPEAT_3_485(m, d) BOOST_PP_REPEAT_3_484(m, d) m(4, 484, d) -# define BOOST_PP_REPEAT_3_486(m, d) BOOST_PP_REPEAT_3_485(m, d) m(4, 485, d) -# define BOOST_PP_REPEAT_3_487(m, d) BOOST_PP_REPEAT_3_486(m, d) m(4, 486, d) -# define BOOST_PP_REPEAT_3_488(m, d) BOOST_PP_REPEAT_3_487(m, d) m(4, 487, d) -# define BOOST_PP_REPEAT_3_489(m, d) BOOST_PP_REPEAT_3_488(m, d) m(4, 488, d) -# define BOOST_PP_REPEAT_3_490(m, d) BOOST_PP_REPEAT_3_489(m, d) m(4, 489, d) -# define BOOST_PP_REPEAT_3_491(m, d) BOOST_PP_REPEAT_3_490(m, d) m(4, 490, d) -# define BOOST_PP_REPEAT_3_492(m, d) BOOST_PP_REPEAT_3_491(m, d) m(4, 491, d) -# define BOOST_PP_REPEAT_3_493(m, d) BOOST_PP_REPEAT_3_492(m, d) m(4, 492, d) -# define BOOST_PP_REPEAT_3_494(m, d) BOOST_PP_REPEAT_3_493(m, d) m(4, 493, d) -# define BOOST_PP_REPEAT_3_495(m, d) BOOST_PP_REPEAT_3_494(m, d) m(4, 494, d) -# define BOOST_PP_REPEAT_3_496(m, d) BOOST_PP_REPEAT_3_495(m, d) m(4, 495, d) -# define BOOST_PP_REPEAT_3_497(m, d) BOOST_PP_REPEAT_3_496(m, d) m(4, 496, d) -# define BOOST_PP_REPEAT_3_498(m, d) BOOST_PP_REPEAT_3_497(m, d) m(4, 497, d) -# define BOOST_PP_REPEAT_3_499(m, d) BOOST_PP_REPEAT_3_498(m, d) m(4, 498, d) -# define BOOST_PP_REPEAT_3_500(m, d) BOOST_PP_REPEAT_3_499(m, d) m(4, 499, d) -# define BOOST_PP_REPEAT_3_501(m, d) BOOST_PP_REPEAT_3_500(m, d) m(4, 500, d) -# define BOOST_PP_REPEAT_3_502(m, d) BOOST_PP_REPEAT_3_501(m, d) m(4, 501, d) -# define BOOST_PP_REPEAT_3_503(m, d) BOOST_PP_REPEAT_3_502(m, d) m(4, 502, d) -# define BOOST_PP_REPEAT_3_504(m, d) BOOST_PP_REPEAT_3_503(m, d) m(4, 503, d) -# define BOOST_PP_REPEAT_3_505(m, d) BOOST_PP_REPEAT_3_504(m, d) m(4, 504, d) -# define BOOST_PP_REPEAT_3_506(m, d) BOOST_PP_REPEAT_3_505(m, d) m(4, 505, d) -# define BOOST_PP_REPEAT_3_507(m, d) BOOST_PP_REPEAT_3_506(m, d) m(4, 506, d) -# define BOOST_PP_REPEAT_3_508(m, d) BOOST_PP_REPEAT_3_507(m, d) m(4, 507, d) -# define BOOST_PP_REPEAT_3_509(m, d) BOOST_PP_REPEAT_3_508(m, d) m(4, 508, d) -# define BOOST_PP_REPEAT_3_510(m, d) BOOST_PP_REPEAT_3_509(m, d) m(4, 509, d) -# define BOOST_PP_REPEAT_3_511(m, d) BOOST_PP_REPEAT_3_510(m, d) m(4, 510, d) -# define BOOST_PP_REPEAT_3_512(m, d) BOOST_PP_REPEAT_3_511(m, d) m(4, 511, d) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_512_HPP +# define BOOST_PREPROCESSOR_REPETITION_REPEAT_512_HPP +# +# define BOOST_PP_REPEAT_1_257(m, d) BOOST_PP_REPEAT_1_256(m, d) m(2, 256, d) +# define BOOST_PP_REPEAT_1_258(m, d) BOOST_PP_REPEAT_1_257(m, d) m(2, 257, d) +# define BOOST_PP_REPEAT_1_259(m, d) BOOST_PP_REPEAT_1_258(m, d) m(2, 258, d) +# define BOOST_PP_REPEAT_1_260(m, d) BOOST_PP_REPEAT_1_259(m, d) m(2, 259, d) +# define BOOST_PP_REPEAT_1_261(m, d) BOOST_PP_REPEAT_1_260(m, d) m(2, 260, d) +# define BOOST_PP_REPEAT_1_262(m, d) BOOST_PP_REPEAT_1_261(m, d) m(2, 261, d) +# define BOOST_PP_REPEAT_1_263(m, d) BOOST_PP_REPEAT_1_262(m, d) m(2, 262, d) +# define BOOST_PP_REPEAT_1_264(m, d) BOOST_PP_REPEAT_1_263(m, d) m(2, 263, d) +# define BOOST_PP_REPEAT_1_265(m, d) BOOST_PP_REPEAT_1_264(m, d) m(2, 264, d) +# define BOOST_PP_REPEAT_1_266(m, d) BOOST_PP_REPEAT_1_265(m, d) m(2, 265, d) +# define BOOST_PP_REPEAT_1_267(m, d) BOOST_PP_REPEAT_1_266(m, d) m(2, 266, d) +# define BOOST_PP_REPEAT_1_268(m, d) BOOST_PP_REPEAT_1_267(m, d) m(2, 267, d) +# define BOOST_PP_REPEAT_1_269(m, d) BOOST_PP_REPEAT_1_268(m, d) m(2, 268, d) +# define BOOST_PP_REPEAT_1_270(m, d) BOOST_PP_REPEAT_1_269(m, d) m(2, 269, d) +# define BOOST_PP_REPEAT_1_271(m, d) BOOST_PP_REPEAT_1_270(m, d) m(2, 270, d) +# define BOOST_PP_REPEAT_1_272(m, d) BOOST_PP_REPEAT_1_271(m, d) m(2, 271, d) +# define BOOST_PP_REPEAT_1_273(m, d) BOOST_PP_REPEAT_1_272(m, d) m(2, 272, d) +# define BOOST_PP_REPEAT_1_274(m, d) BOOST_PP_REPEAT_1_273(m, d) m(2, 273, d) +# define BOOST_PP_REPEAT_1_275(m, d) BOOST_PP_REPEAT_1_274(m, d) m(2, 274, d) +# define BOOST_PP_REPEAT_1_276(m, d) BOOST_PP_REPEAT_1_275(m, d) m(2, 275, d) +# define BOOST_PP_REPEAT_1_277(m, d) BOOST_PP_REPEAT_1_276(m, d) m(2, 276, d) +# define BOOST_PP_REPEAT_1_278(m, d) BOOST_PP_REPEAT_1_277(m, d) m(2, 277, d) +# define BOOST_PP_REPEAT_1_279(m, d) BOOST_PP_REPEAT_1_278(m, d) m(2, 278, d) +# define BOOST_PP_REPEAT_1_280(m, d) BOOST_PP_REPEAT_1_279(m, d) m(2, 279, d) +# define BOOST_PP_REPEAT_1_281(m, d) BOOST_PP_REPEAT_1_280(m, d) m(2, 280, d) +# define BOOST_PP_REPEAT_1_282(m, d) BOOST_PP_REPEAT_1_281(m, d) m(2, 281, d) +# define BOOST_PP_REPEAT_1_283(m, d) BOOST_PP_REPEAT_1_282(m, d) m(2, 282, d) +# define BOOST_PP_REPEAT_1_284(m, d) BOOST_PP_REPEAT_1_283(m, d) m(2, 283, d) +# define BOOST_PP_REPEAT_1_285(m, d) BOOST_PP_REPEAT_1_284(m, d) m(2, 284, d) +# define BOOST_PP_REPEAT_1_286(m, d) BOOST_PP_REPEAT_1_285(m, d) m(2, 285, d) +# define BOOST_PP_REPEAT_1_287(m, d) BOOST_PP_REPEAT_1_286(m, d) m(2, 286, d) +# define BOOST_PP_REPEAT_1_288(m, d) BOOST_PP_REPEAT_1_287(m, d) m(2, 287, d) +# define BOOST_PP_REPEAT_1_289(m, d) BOOST_PP_REPEAT_1_288(m, d) m(2, 288, d) +# define BOOST_PP_REPEAT_1_290(m, d) BOOST_PP_REPEAT_1_289(m, d) m(2, 289, d) +# define BOOST_PP_REPEAT_1_291(m, d) BOOST_PP_REPEAT_1_290(m, d) m(2, 290, d) +# define BOOST_PP_REPEAT_1_292(m, d) BOOST_PP_REPEAT_1_291(m, d) m(2, 291, d) +# define BOOST_PP_REPEAT_1_293(m, d) BOOST_PP_REPEAT_1_292(m, d) m(2, 292, d) +# define BOOST_PP_REPEAT_1_294(m, d) BOOST_PP_REPEAT_1_293(m, d) m(2, 293, d) +# define BOOST_PP_REPEAT_1_295(m, d) BOOST_PP_REPEAT_1_294(m, d) m(2, 294, d) +# define BOOST_PP_REPEAT_1_296(m, d) BOOST_PP_REPEAT_1_295(m, d) m(2, 295, d) +# define BOOST_PP_REPEAT_1_297(m, d) BOOST_PP_REPEAT_1_296(m, d) m(2, 296, d) +# define BOOST_PP_REPEAT_1_298(m, d) BOOST_PP_REPEAT_1_297(m, d) m(2, 297, d) +# define BOOST_PP_REPEAT_1_299(m, d) BOOST_PP_REPEAT_1_298(m, d) m(2, 298, d) +# define BOOST_PP_REPEAT_1_300(m, d) BOOST_PP_REPEAT_1_299(m, d) m(2, 299, d) +# define BOOST_PP_REPEAT_1_301(m, d) BOOST_PP_REPEAT_1_300(m, d) m(2, 300, d) +# define BOOST_PP_REPEAT_1_302(m, d) BOOST_PP_REPEAT_1_301(m, d) m(2, 301, d) +# define BOOST_PP_REPEAT_1_303(m, d) BOOST_PP_REPEAT_1_302(m, d) m(2, 302, d) +# define BOOST_PP_REPEAT_1_304(m, d) BOOST_PP_REPEAT_1_303(m, d) m(2, 303, d) +# define BOOST_PP_REPEAT_1_305(m, d) BOOST_PP_REPEAT_1_304(m, d) m(2, 304, d) +# define BOOST_PP_REPEAT_1_306(m, d) BOOST_PP_REPEAT_1_305(m, d) m(2, 305, d) +# define BOOST_PP_REPEAT_1_307(m, d) BOOST_PP_REPEAT_1_306(m, d) m(2, 306, d) +# define BOOST_PP_REPEAT_1_308(m, d) BOOST_PP_REPEAT_1_307(m, d) m(2, 307, d) +# define BOOST_PP_REPEAT_1_309(m, d) BOOST_PP_REPEAT_1_308(m, d) m(2, 308, d) +# define BOOST_PP_REPEAT_1_310(m, d) BOOST_PP_REPEAT_1_309(m, d) m(2, 309, d) +# define BOOST_PP_REPEAT_1_311(m, d) BOOST_PP_REPEAT_1_310(m, d) m(2, 310, d) +# define BOOST_PP_REPEAT_1_312(m, d) BOOST_PP_REPEAT_1_311(m, d) m(2, 311, d) +# define BOOST_PP_REPEAT_1_313(m, d) BOOST_PP_REPEAT_1_312(m, d) m(2, 312, d) +# define BOOST_PP_REPEAT_1_314(m, d) BOOST_PP_REPEAT_1_313(m, d) m(2, 313, d) +# define BOOST_PP_REPEAT_1_315(m, d) BOOST_PP_REPEAT_1_314(m, d) m(2, 314, d) +# define BOOST_PP_REPEAT_1_316(m, d) BOOST_PP_REPEAT_1_315(m, d) m(2, 315, d) +# define BOOST_PP_REPEAT_1_317(m, d) BOOST_PP_REPEAT_1_316(m, d) m(2, 316, d) +# define BOOST_PP_REPEAT_1_318(m, d) BOOST_PP_REPEAT_1_317(m, d) m(2, 317, d) +# define BOOST_PP_REPEAT_1_319(m, d) BOOST_PP_REPEAT_1_318(m, d) m(2, 318, d) +# define BOOST_PP_REPEAT_1_320(m, d) BOOST_PP_REPEAT_1_319(m, d) m(2, 319, d) +# define BOOST_PP_REPEAT_1_321(m, d) BOOST_PP_REPEAT_1_320(m, d) m(2, 320, d) +# define BOOST_PP_REPEAT_1_322(m, d) BOOST_PP_REPEAT_1_321(m, d) m(2, 321, d) +# define BOOST_PP_REPEAT_1_323(m, d) BOOST_PP_REPEAT_1_322(m, d) m(2, 322, d) +# define BOOST_PP_REPEAT_1_324(m, d) BOOST_PP_REPEAT_1_323(m, d) m(2, 323, d) +# define BOOST_PP_REPEAT_1_325(m, d) BOOST_PP_REPEAT_1_324(m, d) m(2, 324, d) +# define BOOST_PP_REPEAT_1_326(m, d) BOOST_PP_REPEAT_1_325(m, d) m(2, 325, d) +# define BOOST_PP_REPEAT_1_327(m, d) BOOST_PP_REPEAT_1_326(m, d) m(2, 326, d) +# define BOOST_PP_REPEAT_1_328(m, d) BOOST_PP_REPEAT_1_327(m, d) m(2, 327, d) +# define BOOST_PP_REPEAT_1_329(m, d) BOOST_PP_REPEAT_1_328(m, d) m(2, 328, d) +# define BOOST_PP_REPEAT_1_330(m, d) BOOST_PP_REPEAT_1_329(m, d) m(2, 329, d) +# define BOOST_PP_REPEAT_1_331(m, d) BOOST_PP_REPEAT_1_330(m, d) m(2, 330, d) +# define BOOST_PP_REPEAT_1_332(m, d) BOOST_PP_REPEAT_1_331(m, d) m(2, 331, d) +# define BOOST_PP_REPEAT_1_333(m, d) BOOST_PP_REPEAT_1_332(m, d) m(2, 332, d) +# define BOOST_PP_REPEAT_1_334(m, d) BOOST_PP_REPEAT_1_333(m, d) m(2, 333, d) +# define BOOST_PP_REPEAT_1_335(m, d) BOOST_PP_REPEAT_1_334(m, d) m(2, 334, d) +# define BOOST_PP_REPEAT_1_336(m, d) BOOST_PP_REPEAT_1_335(m, d) m(2, 335, d) +# define BOOST_PP_REPEAT_1_337(m, d) BOOST_PP_REPEAT_1_336(m, d) m(2, 336, d) +# define BOOST_PP_REPEAT_1_338(m, d) BOOST_PP_REPEAT_1_337(m, d) m(2, 337, d) +# define BOOST_PP_REPEAT_1_339(m, d) BOOST_PP_REPEAT_1_338(m, d) m(2, 338, d) +# define BOOST_PP_REPEAT_1_340(m, d) BOOST_PP_REPEAT_1_339(m, d) m(2, 339, d) +# define BOOST_PP_REPEAT_1_341(m, d) BOOST_PP_REPEAT_1_340(m, d) m(2, 340, d) +# define BOOST_PP_REPEAT_1_342(m, d) BOOST_PP_REPEAT_1_341(m, d) m(2, 341, d) +# define BOOST_PP_REPEAT_1_343(m, d) BOOST_PP_REPEAT_1_342(m, d) m(2, 342, d) +# define BOOST_PP_REPEAT_1_344(m, d) BOOST_PP_REPEAT_1_343(m, d) m(2, 343, d) +# define BOOST_PP_REPEAT_1_345(m, d) BOOST_PP_REPEAT_1_344(m, d) m(2, 344, d) +# define BOOST_PP_REPEAT_1_346(m, d) BOOST_PP_REPEAT_1_345(m, d) m(2, 345, d) +# define BOOST_PP_REPEAT_1_347(m, d) BOOST_PP_REPEAT_1_346(m, d) m(2, 346, d) +# define BOOST_PP_REPEAT_1_348(m, d) BOOST_PP_REPEAT_1_347(m, d) m(2, 347, d) +# define BOOST_PP_REPEAT_1_349(m, d) BOOST_PP_REPEAT_1_348(m, d) m(2, 348, d) +# define BOOST_PP_REPEAT_1_350(m, d) BOOST_PP_REPEAT_1_349(m, d) m(2, 349, d) +# define BOOST_PP_REPEAT_1_351(m, d) BOOST_PP_REPEAT_1_350(m, d) m(2, 350, d) +# define BOOST_PP_REPEAT_1_352(m, d) BOOST_PP_REPEAT_1_351(m, d) m(2, 351, d) +# define BOOST_PP_REPEAT_1_353(m, d) BOOST_PP_REPEAT_1_352(m, d) m(2, 352, d) +# define BOOST_PP_REPEAT_1_354(m, d) BOOST_PP_REPEAT_1_353(m, d) m(2, 353, d) +# define BOOST_PP_REPEAT_1_355(m, d) BOOST_PP_REPEAT_1_354(m, d) m(2, 354, d) +# define BOOST_PP_REPEAT_1_356(m, d) BOOST_PP_REPEAT_1_355(m, d) m(2, 355, d) +# define BOOST_PP_REPEAT_1_357(m, d) BOOST_PP_REPEAT_1_356(m, d) m(2, 356, d) +# define BOOST_PP_REPEAT_1_358(m, d) BOOST_PP_REPEAT_1_357(m, d) m(2, 357, d) +# define BOOST_PP_REPEAT_1_359(m, d) BOOST_PP_REPEAT_1_358(m, d) m(2, 358, d) +# define BOOST_PP_REPEAT_1_360(m, d) BOOST_PP_REPEAT_1_359(m, d) m(2, 359, d) +# define BOOST_PP_REPEAT_1_361(m, d) BOOST_PP_REPEAT_1_360(m, d) m(2, 360, d) +# define BOOST_PP_REPEAT_1_362(m, d) BOOST_PP_REPEAT_1_361(m, d) m(2, 361, d) +# define BOOST_PP_REPEAT_1_363(m, d) BOOST_PP_REPEAT_1_362(m, d) m(2, 362, d) +# define BOOST_PP_REPEAT_1_364(m, d) BOOST_PP_REPEAT_1_363(m, d) m(2, 363, d) +# define BOOST_PP_REPEAT_1_365(m, d) BOOST_PP_REPEAT_1_364(m, d) m(2, 364, d) +# define BOOST_PP_REPEAT_1_366(m, d) BOOST_PP_REPEAT_1_365(m, d) m(2, 365, d) +# define BOOST_PP_REPEAT_1_367(m, d) BOOST_PP_REPEAT_1_366(m, d) m(2, 366, d) +# define BOOST_PP_REPEAT_1_368(m, d) BOOST_PP_REPEAT_1_367(m, d) m(2, 367, d) +# define BOOST_PP_REPEAT_1_369(m, d) BOOST_PP_REPEAT_1_368(m, d) m(2, 368, d) +# define BOOST_PP_REPEAT_1_370(m, d) BOOST_PP_REPEAT_1_369(m, d) m(2, 369, d) +# define BOOST_PP_REPEAT_1_371(m, d) BOOST_PP_REPEAT_1_370(m, d) m(2, 370, d) +# define BOOST_PP_REPEAT_1_372(m, d) BOOST_PP_REPEAT_1_371(m, d) m(2, 371, d) +# define BOOST_PP_REPEAT_1_373(m, d) BOOST_PP_REPEAT_1_372(m, d) m(2, 372, d) +# define BOOST_PP_REPEAT_1_374(m, d) BOOST_PP_REPEAT_1_373(m, d) m(2, 373, d) +# define BOOST_PP_REPEAT_1_375(m, d) BOOST_PP_REPEAT_1_374(m, d) m(2, 374, d) +# define BOOST_PP_REPEAT_1_376(m, d) BOOST_PP_REPEAT_1_375(m, d) m(2, 375, d) +# define BOOST_PP_REPEAT_1_377(m, d) BOOST_PP_REPEAT_1_376(m, d) m(2, 376, d) +# define BOOST_PP_REPEAT_1_378(m, d) BOOST_PP_REPEAT_1_377(m, d) m(2, 377, d) +# define BOOST_PP_REPEAT_1_379(m, d) BOOST_PP_REPEAT_1_378(m, d) m(2, 378, d) +# define BOOST_PP_REPEAT_1_380(m, d) BOOST_PP_REPEAT_1_379(m, d) m(2, 379, d) +# define BOOST_PP_REPEAT_1_381(m, d) BOOST_PP_REPEAT_1_380(m, d) m(2, 380, d) +# define BOOST_PP_REPEAT_1_382(m, d) BOOST_PP_REPEAT_1_381(m, d) m(2, 381, d) +# define BOOST_PP_REPEAT_1_383(m, d) BOOST_PP_REPEAT_1_382(m, d) m(2, 382, d) +# define BOOST_PP_REPEAT_1_384(m, d) BOOST_PP_REPEAT_1_383(m, d) m(2, 383, d) +# define BOOST_PP_REPEAT_1_385(m, d) BOOST_PP_REPEAT_1_384(m, d) m(2, 384, d) +# define BOOST_PP_REPEAT_1_386(m, d) BOOST_PP_REPEAT_1_385(m, d) m(2, 385, d) +# define BOOST_PP_REPEAT_1_387(m, d) BOOST_PP_REPEAT_1_386(m, d) m(2, 386, d) +# define BOOST_PP_REPEAT_1_388(m, d) BOOST_PP_REPEAT_1_387(m, d) m(2, 387, d) +# define BOOST_PP_REPEAT_1_389(m, d) BOOST_PP_REPEAT_1_388(m, d) m(2, 388, d) +# define BOOST_PP_REPEAT_1_390(m, d) BOOST_PP_REPEAT_1_389(m, d) m(2, 389, d) +# define BOOST_PP_REPEAT_1_391(m, d) BOOST_PP_REPEAT_1_390(m, d) m(2, 390, d) +# define BOOST_PP_REPEAT_1_392(m, d) BOOST_PP_REPEAT_1_391(m, d) m(2, 391, d) +# define BOOST_PP_REPEAT_1_393(m, d) BOOST_PP_REPEAT_1_392(m, d) m(2, 392, d) +# define BOOST_PP_REPEAT_1_394(m, d) BOOST_PP_REPEAT_1_393(m, d) m(2, 393, d) +# define BOOST_PP_REPEAT_1_395(m, d) BOOST_PP_REPEAT_1_394(m, d) m(2, 394, d) +# define BOOST_PP_REPEAT_1_396(m, d) BOOST_PP_REPEAT_1_395(m, d) m(2, 395, d) +# define BOOST_PP_REPEAT_1_397(m, d) BOOST_PP_REPEAT_1_396(m, d) m(2, 396, d) +# define BOOST_PP_REPEAT_1_398(m, d) BOOST_PP_REPEAT_1_397(m, d) m(2, 397, d) +# define BOOST_PP_REPEAT_1_399(m, d) BOOST_PP_REPEAT_1_398(m, d) m(2, 398, d) +# define BOOST_PP_REPEAT_1_400(m, d) BOOST_PP_REPEAT_1_399(m, d) m(2, 399, d) +# define BOOST_PP_REPEAT_1_401(m, d) BOOST_PP_REPEAT_1_400(m, d) m(2, 400, d) +# define BOOST_PP_REPEAT_1_402(m, d) BOOST_PP_REPEAT_1_401(m, d) m(2, 401, d) +# define BOOST_PP_REPEAT_1_403(m, d) BOOST_PP_REPEAT_1_402(m, d) m(2, 402, d) +# define BOOST_PP_REPEAT_1_404(m, d) BOOST_PP_REPEAT_1_403(m, d) m(2, 403, d) +# define BOOST_PP_REPEAT_1_405(m, d) BOOST_PP_REPEAT_1_404(m, d) m(2, 404, d) +# define BOOST_PP_REPEAT_1_406(m, d) BOOST_PP_REPEAT_1_405(m, d) m(2, 405, d) +# define BOOST_PP_REPEAT_1_407(m, d) BOOST_PP_REPEAT_1_406(m, d) m(2, 406, d) +# define BOOST_PP_REPEAT_1_408(m, d) BOOST_PP_REPEAT_1_407(m, d) m(2, 407, d) +# define BOOST_PP_REPEAT_1_409(m, d) BOOST_PP_REPEAT_1_408(m, d) m(2, 408, d) +# define BOOST_PP_REPEAT_1_410(m, d) BOOST_PP_REPEAT_1_409(m, d) m(2, 409, d) +# define BOOST_PP_REPEAT_1_411(m, d) BOOST_PP_REPEAT_1_410(m, d) m(2, 410, d) +# define BOOST_PP_REPEAT_1_412(m, d) BOOST_PP_REPEAT_1_411(m, d) m(2, 411, d) +# define BOOST_PP_REPEAT_1_413(m, d) BOOST_PP_REPEAT_1_412(m, d) m(2, 412, d) +# define BOOST_PP_REPEAT_1_414(m, d) BOOST_PP_REPEAT_1_413(m, d) m(2, 413, d) +# define BOOST_PP_REPEAT_1_415(m, d) BOOST_PP_REPEAT_1_414(m, d) m(2, 414, d) +# define BOOST_PP_REPEAT_1_416(m, d) BOOST_PP_REPEAT_1_415(m, d) m(2, 415, d) +# define BOOST_PP_REPEAT_1_417(m, d) BOOST_PP_REPEAT_1_416(m, d) m(2, 416, d) +# define BOOST_PP_REPEAT_1_418(m, d) BOOST_PP_REPEAT_1_417(m, d) m(2, 417, d) +# define BOOST_PP_REPEAT_1_419(m, d) BOOST_PP_REPEAT_1_418(m, d) m(2, 418, d) +# define BOOST_PP_REPEAT_1_420(m, d) BOOST_PP_REPEAT_1_419(m, d) m(2, 419, d) +# define BOOST_PP_REPEAT_1_421(m, d) BOOST_PP_REPEAT_1_420(m, d) m(2, 420, d) +# define BOOST_PP_REPEAT_1_422(m, d) BOOST_PP_REPEAT_1_421(m, d) m(2, 421, d) +# define BOOST_PP_REPEAT_1_423(m, d) BOOST_PP_REPEAT_1_422(m, d) m(2, 422, d) +# define BOOST_PP_REPEAT_1_424(m, d) BOOST_PP_REPEAT_1_423(m, d) m(2, 423, d) +# define BOOST_PP_REPEAT_1_425(m, d) BOOST_PP_REPEAT_1_424(m, d) m(2, 424, d) +# define BOOST_PP_REPEAT_1_426(m, d) BOOST_PP_REPEAT_1_425(m, d) m(2, 425, d) +# define BOOST_PP_REPEAT_1_427(m, d) BOOST_PP_REPEAT_1_426(m, d) m(2, 426, d) +# define BOOST_PP_REPEAT_1_428(m, d) BOOST_PP_REPEAT_1_427(m, d) m(2, 427, d) +# define BOOST_PP_REPEAT_1_429(m, d) BOOST_PP_REPEAT_1_428(m, d) m(2, 428, d) +# define BOOST_PP_REPEAT_1_430(m, d) BOOST_PP_REPEAT_1_429(m, d) m(2, 429, d) +# define BOOST_PP_REPEAT_1_431(m, d) BOOST_PP_REPEAT_1_430(m, d) m(2, 430, d) +# define BOOST_PP_REPEAT_1_432(m, d) BOOST_PP_REPEAT_1_431(m, d) m(2, 431, d) +# define BOOST_PP_REPEAT_1_433(m, d) BOOST_PP_REPEAT_1_432(m, d) m(2, 432, d) +# define BOOST_PP_REPEAT_1_434(m, d) BOOST_PP_REPEAT_1_433(m, d) m(2, 433, d) +# define BOOST_PP_REPEAT_1_435(m, d) BOOST_PP_REPEAT_1_434(m, d) m(2, 434, d) +# define BOOST_PP_REPEAT_1_436(m, d) BOOST_PP_REPEAT_1_435(m, d) m(2, 435, d) +# define BOOST_PP_REPEAT_1_437(m, d) BOOST_PP_REPEAT_1_436(m, d) m(2, 436, d) +# define BOOST_PP_REPEAT_1_438(m, d) BOOST_PP_REPEAT_1_437(m, d) m(2, 437, d) +# define BOOST_PP_REPEAT_1_439(m, d) BOOST_PP_REPEAT_1_438(m, d) m(2, 438, d) +# define BOOST_PP_REPEAT_1_440(m, d) BOOST_PP_REPEAT_1_439(m, d) m(2, 439, d) +# define BOOST_PP_REPEAT_1_441(m, d) BOOST_PP_REPEAT_1_440(m, d) m(2, 440, d) +# define BOOST_PP_REPEAT_1_442(m, d) BOOST_PP_REPEAT_1_441(m, d) m(2, 441, d) +# define BOOST_PP_REPEAT_1_443(m, d) BOOST_PP_REPEAT_1_442(m, d) m(2, 442, d) +# define BOOST_PP_REPEAT_1_444(m, d) BOOST_PP_REPEAT_1_443(m, d) m(2, 443, d) +# define BOOST_PP_REPEAT_1_445(m, d) BOOST_PP_REPEAT_1_444(m, d) m(2, 444, d) +# define BOOST_PP_REPEAT_1_446(m, d) BOOST_PP_REPEAT_1_445(m, d) m(2, 445, d) +# define BOOST_PP_REPEAT_1_447(m, d) BOOST_PP_REPEAT_1_446(m, d) m(2, 446, d) +# define BOOST_PP_REPEAT_1_448(m, d) BOOST_PP_REPEAT_1_447(m, d) m(2, 447, d) +# define BOOST_PP_REPEAT_1_449(m, d) BOOST_PP_REPEAT_1_448(m, d) m(2, 448, d) +# define BOOST_PP_REPEAT_1_450(m, d) BOOST_PP_REPEAT_1_449(m, d) m(2, 449, d) +# define BOOST_PP_REPEAT_1_451(m, d) BOOST_PP_REPEAT_1_450(m, d) m(2, 450, d) +# define BOOST_PP_REPEAT_1_452(m, d) BOOST_PP_REPEAT_1_451(m, d) m(2, 451, d) +# define BOOST_PP_REPEAT_1_453(m, d) BOOST_PP_REPEAT_1_452(m, d) m(2, 452, d) +# define BOOST_PP_REPEAT_1_454(m, d) BOOST_PP_REPEAT_1_453(m, d) m(2, 453, d) +# define BOOST_PP_REPEAT_1_455(m, d) BOOST_PP_REPEAT_1_454(m, d) m(2, 454, d) +# define BOOST_PP_REPEAT_1_456(m, d) BOOST_PP_REPEAT_1_455(m, d) m(2, 455, d) +# define BOOST_PP_REPEAT_1_457(m, d) BOOST_PP_REPEAT_1_456(m, d) m(2, 456, d) +# define BOOST_PP_REPEAT_1_458(m, d) BOOST_PP_REPEAT_1_457(m, d) m(2, 457, d) +# define BOOST_PP_REPEAT_1_459(m, d) BOOST_PP_REPEAT_1_458(m, d) m(2, 458, d) +# define BOOST_PP_REPEAT_1_460(m, d) BOOST_PP_REPEAT_1_459(m, d) m(2, 459, d) +# define BOOST_PP_REPEAT_1_461(m, d) BOOST_PP_REPEAT_1_460(m, d) m(2, 460, d) +# define BOOST_PP_REPEAT_1_462(m, d) BOOST_PP_REPEAT_1_461(m, d) m(2, 461, d) +# define BOOST_PP_REPEAT_1_463(m, d) BOOST_PP_REPEAT_1_462(m, d) m(2, 462, d) +# define BOOST_PP_REPEAT_1_464(m, d) BOOST_PP_REPEAT_1_463(m, d) m(2, 463, d) +# define BOOST_PP_REPEAT_1_465(m, d) BOOST_PP_REPEAT_1_464(m, d) m(2, 464, d) +# define BOOST_PP_REPEAT_1_466(m, d) BOOST_PP_REPEAT_1_465(m, d) m(2, 465, d) +# define BOOST_PP_REPEAT_1_467(m, d) BOOST_PP_REPEAT_1_466(m, d) m(2, 466, d) +# define BOOST_PP_REPEAT_1_468(m, d) BOOST_PP_REPEAT_1_467(m, d) m(2, 467, d) +# define BOOST_PP_REPEAT_1_469(m, d) BOOST_PP_REPEAT_1_468(m, d) m(2, 468, d) +# define BOOST_PP_REPEAT_1_470(m, d) BOOST_PP_REPEAT_1_469(m, d) m(2, 469, d) +# define BOOST_PP_REPEAT_1_471(m, d) BOOST_PP_REPEAT_1_470(m, d) m(2, 470, d) +# define BOOST_PP_REPEAT_1_472(m, d) BOOST_PP_REPEAT_1_471(m, d) m(2, 471, d) +# define BOOST_PP_REPEAT_1_473(m, d) BOOST_PP_REPEAT_1_472(m, d) m(2, 472, d) +# define BOOST_PP_REPEAT_1_474(m, d) BOOST_PP_REPEAT_1_473(m, d) m(2, 473, d) +# define BOOST_PP_REPEAT_1_475(m, d) BOOST_PP_REPEAT_1_474(m, d) m(2, 474, d) +# define BOOST_PP_REPEAT_1_476(m, d) BOOST_PP_REPEAT_1_475(m, d) m(2, 475, d) +# define BOOST_PP_REPEAT_1_477(m, d) BOOST_PP_REPEAT_1_476(m, d) m(2, 476, d) +# define BOOST_PP_REPEAT_1_478(m, d) BOOST_PP_REPEAT_1_477(m, d) m(2, 477, d) +# define BOOST_PP_REPEAT_1_479(m, d) BOOST_PP_REPEAT_1_478(m, d) m(2, 478, d) +# define BOOST_PP_REPEAT_1_480(m, d) BOOST_PP_REPEAT_1_479(m, d) m(2, 479, d) +# define BOOST_PP_REPEAT_1_481(m, d) BOOST_PP_REPEAT_1_480(m, d) m(2, 480, d) +# define BOOST_PP_REPEAT_1_482(m, d) BOOST_PP_REPEAT_1_481(m, d) m(2, 481, d) +# define BOOST_PP_REPEAT_1_483(m, d) BOOST_PP_REPEAT_1_482(m, d) m(2, 482, d) +# define BOOST_PP_REPEAT_1_484(m, d) BOOST_PP_REPEAT_1_483(m, d) m(2, 483, d) +# define BOOST_PP_REPEAT_1_485(m, d) BOOST_PP_REPEAT_1_484(m, d) m(2, 484, d) +# define BOOST_PP_REPEAT_1_486(m, d) BOOST_PP_REPEAT_1_485(m, d) m(2, 485, d) +# define BOOST_PP_REPEAT_1_487(m, d) BOOST_PP_REPEAT_1_486(m, d) m(2, 486, d) +# define BOOST_PP_REPEAT_1_488(m, d) BOOST_PP_REPEAT_1_487(m, d) m(2, 487, d) +# define BOOST_PP_REPEAT_1_489(m, d) BOOST_PP_REPEAT_1_488(m, d) m(2, 488, d) +# define BOOST_PP_REPEAT_1_490(m, d) BOOST_PP_REPEAT_1_489(m, d) m(2, 489, d) +# define BOOST_PP_REPEAT_1_491(m, d) BOOST_PP_REPEAT_1_490(m, d) m(2, 490, d) +# define BOOST_PP_REPEAT_1_492(m, d) BOOST_PP_REPEAT_1_491(m, d) m(2, 491, d) +# define BOOST_PP_REPEAT_1_493(m, d) BOOST_PP_REPEAT_1_492(m, d) m(2, 492, d) +# define BOOST_PP_REPEAT_1_494(m, d) BOOST_PP_REPEAT_1_493(m, d) m(2, 493, d) +# define BOOST_PP_REPEAT_1_495(m, d) BOOST_PP_REPEAT_1_494(m, d) m(2, 494, d) +# define BOOST_PP_REPEAT_1_496(m, d) BOOST_PP_REPEAT_1_495(m, d) m(2, 495, d) +# define BOOST_PP_REPEAT_1_497(m, d) BOOST_PP_REPEAT_1_496(m, d) m(2, 496, d) +# define BOOST_PP_REPEAT_1_498(m, d) BOOST_PP_REPEAT_1_497(m, d) m(2, 497, d) +# define BOOST_PP_REPEAT_1_499(m, d) BOOST_PP_REPEAT_1_498(m, d) m(2, 498, d) +# define BOOST_PP_REPEAT_1_500(m, d) BOOST_PP_REPEAT_1_499(m, d) m(2, 499, d) +# define BOOST_PP_REPEAT_1_501(m, d) BOOST_PP_REPEAT_1_500(m, d) m(2, 500, d) +# define BOOST_PP_REPEAT_1_502(m, d) BOOST_PP_REPEAT_1_501(m, d) m(2, 501, d) +# define BOOST_PP_REPEAT_1_503(m, d) BOOST_PP_REPEAT_1_502(m, d) m(2, 502, d) +# define BOOST_PP_REPEAT_1_504(m, d) BOOST_PP_REPEAT_1_503(m, d) m(2, 503, d) +# define BOOST_PP_REPEAT_1_505(m, d) BOOST_PP_REPEAT_1_504(m, d) m(2, 504, d) +# define BOOST_PP_REPEAT_1_506(m, d) BOOST_PP_REPEAT_1_505(m, d) m(2, 505, d) +# define BOOST_PP_REPEAT_1_507(m, d) BOOST_PP_REPEAT_1_506(m, d) m(2, 506, d) +# define BOOST_PP_REPEAT_1_508(m, d) BOOST_PP_REPEAT_1_507(m, d) m(2, 507, d) +# define BOOST_PP_REPEAT_1_509(m, d) BOOST_PP_REPEAT_1_508(m, d) m(2, 508, d) +# define BOOST_PP_REPEAT_1_510(m, d) BOOST_PP_REPEAT_1_509(m, d) m(2, 509, d) +# define BOOST_PP_REPEAT_1_511(m, d) BOOST_PP_REPEAT_1_510(m, d) m(2, 510, d) +# define BOOST_PP_REPEAT_1_512(m, d) BOOST_PP_REPEAT_1_511(m, d) m(2, 511, d) +# +# define BOOST_PP_REPEAT_2_257(m, d) BOOST_PP_REPEAT_2_256(m, d) m(3, 256, d) +# define BOOST_PP_REPEAT_2_258(m, d) BOOST_PP_REPEAT_2_257(m, d) m(3, 257, d) +# define BOOST_PP_REPEAT_2_259(m, d) BOOST_PP_REPEAT_2_258(m, d) m(3, 258, d) +# define BOOST_PP_REPEAT_2_260(m, d) BOOST_PP_REPEAT_2_259(m, d) m(3, 259, d) +# define BOOST_PP_REPEAT_2_261(m, d) BOOST_PP_REPEAT_2_260(m, d) m(3, 260, d) +# define BOOST_PP_REPEAT_2_262(m, d) BOOST_PP_REPEAT_2_261(m, d) m(3, 261, d) +# define BOOST_PP_REPEAT_2_263(m, d) BOOST_PP_REPEAT_2_262(m, d) m(3, 262, d) +# define BOOST_PP_REPEAT_2_264(m, d) BOOST_PP_REPEAT_2_263(m, d) m(3, 263, d) +# define BOOST_PP_REPEAT_2_265(m, d) BOOST_PP_REPEAT_2_264(m, d) m(3, 264, d) +# define BOOST_PP_REPEAT_2_266(m, d) BOOST_PP_REPEAT_2_265(m, d) m(3, 265, d) +# define BOOST_PP_REPEAT_2_267(m, d) BOOST_PP_REPEAT_2_266(m, d) m(3, 266, d) +# define BOOST_PP_REPEAT_2_268(m, d) BOOST_PP_REPEAT_2_267(m, d) m(3, 267, d) +# define BOOST_PP_REPEAT_2_269(m, d) BOOST_PP_REPEAT_2_268(m, d) m(3, 268, d) +# define BOOST_PP_REPEAT_2_270(m, d) BOOST_PP_REPEAT_2_269(m, d) m(3, 269, d) +# define BOOST_PP_REPEAT_2_271(m, d) BOOST_PP_REPEAT_2_270(m, d) m(3, 270, d) +# define BOOST_PP_REPEAT_2_272(m, d) BOOST_PP_REPEAT_2_271(m, d) m(3, 271, d) +# define BOOST_PP_REPEAT_2_273(m, d) BOOST_PP_REPEAT_2_272(m, d) m(3, 272, d) +# define BOOST_PP_REPEAT_2_274(m, d) BOOST_PP_REPEAT_2_273(m, d) m(3, 273, d) +# define BOOST_PP_REPEAT_2_275(m, d) BOOST_PP_REPEAT_2_274(m, d) m(3, 274, d) +# define BOOST_PP_REPEAT_2_276(m, d) BOOST_PP_REPEAT_2_275(m, d) m(3, 275, d) +# define BOOST_PP_REPEAT_2_277(m, d) BOOST_PP_REPEAT_2_276(m, d) m(3, 276, d) +# define BOOST_PP_REPEAT_2_278(m, d) BOOST_PP_REPEAT_2_277(m, d) m(3, 277, d) +# define BOOST_PP_REPEAT_2_279(m, d) BOOST_PP_REPEAT_2_278(m, d) m(3, 278, d) +# define BOOST_PP_REPEAT_2_280(m, d) BOOST_PP_REPEAT_2_279(m, d) m(3, 279, d) +# define BOOST_PP_REPEAT_2_281(m, d) BOOST_PP_REPEAT_2_280(m, d) m(3, 280, d) +# define BOOST_PP_REPEAT_2_282(m, d) BOOST_PP_REPEAT_2_281(m, d) m(3, 281, d) +# define BOOST_PP_REPEAT_2_283(m, d) BOOST_PP_REPEAT_2_282(m, d) m(3, 282, d) +# define BOOST_PP_REPEAT_2_284(m, d) BOOST_PP_REPEAT_2_283(m, d) m(3, 283, d) +# define BOOST_PP_REPEAT_2_285(m, d) BOOST_PP_REPEAT_2_284(m, d) m(3, 284, d) +# define BOOST_PP_REPEAT_2_286(m, d) BOOST_PP_REPEAT_2_285(m, d) m(3, 285, d) +# define BOOST_PP_REPEAT_2_287(m, d) BOOST_PP_REPEAT_2_286(m, d) m(3, 286, d) +# define BOOST_PP_REPEAT_2_288(m, d) BOOST_PP_REPEAT_2_287(m, d) m(3, 287, d) +# define BOOST_PP_REPEAT_2_289(m, d) BOOST_PP_REPEAT_2_288(m, d) m(3, 288, d) +# define BOOST_PP_REPEAT_2_290(m, d) BOOST_PP_REPEAT_2_289(m, d) m(3, 289, d) +# define BOOST_PP_REPEAT_2_291(m, d) BOOST_PP_REPEAT_2_290(m, d) m(3, 290, d) +# define BOOST_PP_REPEAT_2_292(m, d) BOOST_PP_REPEAT_2_291(m, d) m(3, 291, d) +# define BOOST_PP_REPEAT_2_293(m, d) BOOST_PP_REPEAT_2_292(m, d) m(3, 292, d) +# define BOOST_PP_REPEAT_2_294(m, d) BOOST_PP_REPEAT_2_293(m, d) m(3, 293, d) +# define BOOST_PP_REPEAT_2_295(m, d) BOOST_PP_REPEAT_2_294(m, d) m(3, 294, d) +# define BOOST_PP_REPEAT_2_296(m, d) BOOST_PP_REPEAT_2_295(m, d) m(3, 295, d) +# define BOOST_PP_REPEAT_2_297(m, d) BOOST_PP_REPEAT_2_296(m, d) m(3, 296, d) +# define BOOST_PP_REPEAT_2_298(m, d) BOOST_PP_REPEAT_2_297(m, d) m(3, 297, d) +# define BOOST_PP_REPEAT_2_299(m, d) BOOST_PP_REPEAT_2_298(m, d) m(3, 298, d) +# define BOOST_PP_REPEAT_2_300(m, d) BOOST_PP_REPEAT_2_299(m, d) m(3, 299, d) +# define BOOST_PP_REPEAT_2_301(m, d) BOOST_PP_REPEAT_2_300(m, d) m(3, 300, d) +# define BOOST_PP_REPEAT_2_302(m, d) BOOST_PP_REPEAT_2_301(m, d) m(3, 301, d) +# define BOOST_PP_REPEAT_2_303(m, d) BOOST_PP_REPEAT_2_302(m, d) m(3, 302, d) +# define BOOST_PP_REPEAT_2_304(m, d) BOOST_PP_REPEAT_2_303(m, d) m(3, 303, d) +# define BOOST_PP_REPEAT_2_305(m, d) BOOST_PP_REPEAT_2_304(m, d) m(3, 304, d) +# define BOOST_PP_REPEAT_2_306(m, d) BOOST_PP_REPEAT_2_305(m, d) m(3, 305, d) +# define BOOST_PP_REPEAT_2_307(m, d) BOOST_PP_REPEAT_2_306(m, d) m(3, 306, d) +# define BOOST_PP_REPEAT_2_308(m, d) BOOST_PP_REPEAT_2_307(m, d) m(3, 307, d) +# define BOOST_PP_REPEAT_2_309(m, d) BOOST_PP_REPEAT_2_308(m, d) m(3, 308, d) +# define BOOST_PP_REPEAT_2_310(m, d) BOOST_PP_REPEAT_2_309(m, d) m(3, 309, d) +# define BOOST_PP_REPEAT_2_311(m, d) BOOST_PP_REPEAT_2_310(m, d) m(3, 310, d) +# define BOOST_PP_REPEAT_2_312(m, d) BOOST_PP_REPEAT_2_311(m, d) m(3, 311, d) +# define BOOST_PP_REPEAT_2_313(m, d) BOOST_PP_REPEAT_2_312(m, d) m(3, 312, d) +# define BOOST_PP_REPEAT_2_314(m, d) BOOST_PP_REPEAT_2_313(m, d) m(3, 313, d) +# define BOOST_PP_REPEAT_2_315(m, d) BOOST_PP_REPEAT_2_314(m, d) m(3, 314, d) +# define BOOST_PP_REPEAT_2_316(m, d) BOOST_PP_REPEAT_2_315(m, d) m(3, 315, d) +# define BOOST_PP_REPEAT_2_317(m, d) BOOST_PP_REPEAT_2_316(m, d) m(3, 316, d) +# define BOOST_PP_REPEAT_2_318(m, d) BOOST_PP_REPEAT_2_317(m, d) m(3, 317, d) +# define BOOST_PP_REPEAT_2_319(m, d) BOOST_PP_REPEAT_2_318(m, d) m(3, 318, d) +# define BOOST_PP_REPEAT_2_320(m, d) BOOST_PP_REPEAT_2_319(m, d) m(3, 319, d) +# define BOOST_PP_REPEAT_2_321(m, d) BOOST_PP_REPEAT_2_320(m, d) m(3, 320, d) +# define BOOST_PP_REPEAT_2_322(m, d) BOOST_PP_REPEAT_2_321(m, d) m(3, 321, d) +# define BOOST_PP_REPEAT_2_323(m, d) BOOST_PP_REPEAT_2_322(m, d) m(3, 322, d) +# define BOOST_PP_REPEAT_2_324(m, d) BOOST_PP_REPEAT_2_323(m, d) m(3, 323, d) +# define BOOST_PP_REPEAT_2_325(m, d) BOOST_PP_REPEAT_2_324(m, d) m(3, 324, d) +# define BOOST_PP_REPEAT_2_326(m, d) BOOST_PP_REPEAT_2_325(m, d) m(3, 325, d) +# define BOOST_PP_REPEAT_2_327(m, d) BOOST_PP_REPEAT_2_326(m, d) m(3, 326, d) +# define BOOST_PP_REPEAT_2_328(m, d) BOOST_PP_REPEAT_2_327(m, d) m(3, 327, d) +# define BOOST_PP_REPEAT_2_329(m, d) BOOST_PP_REPEAT_2_328(m, d) m(3, 328, d) +# define BOOST_PP_REPEAT_2_330(m, d) BOOST_PP_REPEAT_2_329(m, d) m(3, 329, d) +# define BOOST_PP_REPEAT_2_331(m, d) BOOST_PP_REPEAT_2_330(m, d) m(3, 330, d) +# define BOOST_PP_REPEAT_2_332(m, d) BOOST_PP_REPEAT_2_331(m, d) m(3, 331, d) +# define BOOST_PP_REPEAT_2_333(m, d) BOOST_PP_REPEAT_2_332(m, d) m(3, 332, d) +# define BOOST_PP_REPEAT_2_334(m, d) BOOST_PP_REPEAT_2_333(m, d) m(3, 333, d) +# define BOOST_PP_REPEAT_2_335(m, d) BOOST_PP_REPEAT_2_334(m, d) m(3, 334, d) +# define BOOST_PP_REPEAT_2_336(m, d) BOOST_PP_REPEAT_2_335(m, d) m(3, 335, d) +# define BOOST_PP_REPEAT_2_337(m, d) BOOST_PP_REPEAT_2_336(m, d) m(3, 336, d) +# define BOOST_PP_REPEAT_2_338(m, d) BOOST_PP_REPEAT_2_337(m, d) m(3, 337, d) +# define BOOST_PP_REPEAT_2_339(m, d) BOOST_PP_REPEAT_2_338(m, d) m(3, 338, d) +# define BOOST_PP_REPEAT_2_340(m, d) BOOST_PP_REPEAT_2_339(m, d) m(3, 339, d) +# define BOOST_PP_REPEAT_2_341(m, d) BOOST_PP_REPEAT_2_340(m, d) m(3, 340, d) +# define BOOST_PP_REPEAT_2_342(m, d) BOOST_PP_REPEAT_2_341(m, d) m(3, 341, d) +# define BOOST_PP_REPEAT_2_343(m, d) BOOST_PP_REPEAT_2_342(m, d) m(3, 342, d) +# define BOOST_PP_REPEAT_2_344(m, d) BOOST_PP_REPEAT_2_343(m, d) m(3, 343, d) +# define BOOST_PP_REPEAT_2_345(m, d) BOOST_PP_REPEAT_2_344(m, d) m(3, 344, d) +# define BOOST_PP_REPEAT_2_346(m, d) BOOST_PP_REPEAT_2_345(m, d) m(3, 345, d) +# define BOOST_PP_REPEAT_2_347(m, d) BOOST_PP_REPEAT_2_346(m, d) m(3, 346, d) +# define BOOST_PP_REPEAT_2_348(m, d) BOOST_PP_REPEAT_2_347(m, d) m(3, 347, d) +# define BOOST_PP_REPEAT_2_349(m, d) BOOST_PP_REPEAT_2_348(m, d) m(3, 348, d) +# define BOOST_PP_REPEAT_2_350(m, d) BOOST_PP_REPEAT_2_349(m, d) m(3, 349, d) +# define BOOST_PP_REPEAT_2_351(m, d) BOOST_PP_REPEAT_2_350(m, d) m(3, 350, d) +# define BOOST_PP_REPEAT_2_352(m, d) BOOST_PP_REPEAT_2_351(m, d) m(3, 351, d) +# define BOOST_PP_REPEAT_2_353(m, d) BOOST_PP_REPEAT_2_352(m, d) m(3, 352, d) +# define BOOST_PP_REPEAT_2_354(m, d) BOOST_PP_REPEAT_2_353(m, d) m(3, 353, d) +# define BOOST_PP_REPEAT_2_355(m, d) BOOST_PP_REPEAT_2_354(m, d) m(3, 354, d) +# define BOOST_PP_REPEAT_2_356(m, d) BOOST_PP_REPEAT_2_355(m, d) m(3, 355, d) +# define BOOST_PP_REPEAT_2_357(m, d) BOOST_PP_REPEAT_2_356(m, d) m(3, 356, d) +# define BOOST_PP_REPEAT_2_358(m, d) BOOST_PP_REPEAT_2_357(m, d) m(3, 357, d) +# define BOOST_PP_REPEAT_2_359(m, d) BOOST_PP_REPEAT_2_358(m, d) m(3, 358, d) +# define BOOST_PP_REPEAT_2_360(m, d) BOOST_PP_REPEAT_2_359(m, d) m(3, 359, d) +# define BOOST_PP_REPEAT_2_361(m, d) BOOST_PP_REPEAT_2_360(m, d) m(3, 360, d) +# define BOOST_PP_REPEAT_2_362(m, d) BOOST_PP_REPEAT_2_361(m, d) m(3, 361, d) +# define BOOST_PP_REPEAT_2_363(m, d) BOOST_PP_REPEAT_2_362(m, d) m(3, 362, d) +# define BOOST_PP_REPEAT_2_364(m, d) BOOST_PP_REPEAT_2_363(m, d) m(3, 363, d) +# define BOOST_PP_REPEAT_2_365(m, d) BOOST_PP_REPEAT_2_364(m, d) m(3, 364, d) +# define BOOST_PP_REPEAT_2_366(m, d) BOOST_PP_REPEAT_2_365(m, d) m(3, 365, d) +# define BOOST_PP_REPEAT_2_367(m, d) BOOST_PP_REPEAT_2_366(m, d) m(3, 366, d) +# define BOOST_PP_REPEAT_2_368(m, d) BOOST_PP_REPEAT_2_367(m, d) m(3, 367, d) +# define BOOST_PP_REPEAT_2_369(m, d) BOOST_PP_REPEAT_2_368(m, d) m(3, 368, d) +# define BOOST_PP_REPEAT_2_370(m, d) BOOST_PP_REPEAT_2_369(m, d) m(3, 369, d) +# define BOOST_PP_REPEAT_2_371(m, d) BOOST_PP_REPEAT_2_370(m, d) m(3, 370, d) +# define BOOST_PP_REPEAT_2_372(m, d) BOOST_PP_REPEAT_2_371(m, d) m(3, 371, d) +# define BOOST_PP_REPEAT_2_373(m, d) BOOST_PP_REPEAT_2_372(m, d) m(3, 372, d) +# define BOOST_PP_REPEAT_2_374(m, d) BOOST_PP_REPEAT_2_373(m, d) m(3, 373, d) +# define BOOST_PP_REPEAT_2_375(m, d) BOOST_PP_REPEAT_2_374(m, d) m(3, 374, d) +# define BOOST_PP_REPEAT_2_376(m, d) BOOST_PP_REPEAT_2_375(m, d) m(3, 375, d) +# define BOOST_PP_REPEAT_2_377(m, d) BOOST_PP_REPEAT_2_376(m, d) m(3, 376, d) +# define BOOST_PP_REPEAT_2_378(m, d) BOOST_PP_REPEAT_2_377(m, d) m(3, 377, d) +# define BOOST_PP_REPEAT_2_379(m, d) BOOST_PP_REPEAT_2_378(m, d) m(3, 378, d) +# define BOOST_PP_REPEAT_2_380(m, d) BOOST_PP_REPEAT_2_379(m, d) m(3, 379, d) +# define BOOST_PP_REPEAT_2_381(m, d) BOOST_PP_REPEAT_2_380(m, d) m(3, 380, d) +# define BOOST_PP_REPEAT_2_382(m, d) BOOST_PP_REPEAT_2_381(m, d) m(3, 381, d) +# define BOOST_PP_REPEAT_2_383(m, d) BOOST_PP_REPEAT_2_382(m, d) m(3, 382, d) +# define BOOST_PP_REPEAT_2_384(m, d) BOOST_PP_REPEAT_2_383(m, d) m(3, 383, d) +# define BOOST_PP_REPEAT_2_385(m, d) BOOST_PP_REPEAT_2_384(m, d) m(3, 384, d) +# define BOOST_PP_REPEAT_2_386(m, d) BOOST_PP_REPEAT_2_385(m, d) m(3, 385, d) +# define BOOST_PP_REPEAT_2_387(m, d) BOOST_PP_REPEAT_2_386(m, d) m(3, 386, d) +# define BOOST_PP_REPEAT_2_388(m, d) BOOST_PP_REPEAT_2_387(m, d) m(3, 387, d) +# define BOOST_PP_REPEAT_2_389(m, d) BOOST_PP_REPEAT_2_388(m, d) m(3, 388, d) +# define BOOST_PP_REPEAT_2_390(m, d) BOOST_PP_REPEAT_2_389(m, d) m(3, 389, d) +# define BOOST_PP_REPEAT_2_391(m, d) BOOST_PP_REPEAT_2_390(m, d) m(3, 390, d) +# define BOOST_PP_REPEAT_2_392(m, d) BOOST_PP_REPEAT_2_391(m, d) m(3, 391, d) +# define BOOST_PP_REPEAT_2_393(m, d) BOOST_PP_REPEAT_2_392(m, d) m(3, 392, d) +# define BOOST_PP_REPEAT_2_394(m, d) BOOST_PP_REPEAT_2_393(m, d) m(3, 393, d) +# define BOOST_PP_REPEAT_2_395(m, d) BOOST_PP_REPEAT_2_394(m, d) m(3, 394, d) +# define BOOST_PP_REPEAT_2_396(m, d) BOOST_PP_REPEAT_2_395(m, d) m(3, 395, d) +# define BOOST_PP_REPEAT_2_397(m, d) BOOST_PP_REPEAT_2_396(m, d) m(3, 396, d) +# define BOOST_PP_REPEAT_2_398(m, d) BOOST_PP_REPEAT_2_397(m, d) m(3, 397, d) +# define BOOST_PP_REPEAT_2_399(m, d) BOOST_PP_REPEAT_2_398(m, d) m(3, 398, d) +# define BOOST_PP_REPEAT_2_400(m, d) BOOST_PP_REPEAT_2_399(m, d) m(3, 399, d) +# define BOOST_PP_REPEAT_2_401(m, d) BOOST_PP_REPEAT_2_400(m, d) m(3, 400, d) +# define BOOST_PP_REPEAT_2_402(m, d) BOOST_PP_REPEAT_2_401(m, d) m(3, 401, d) +# define BOOST_PP_REPEAT_2_403(m, d) BOOST_PP_REPEAT_2_402(m, d) m(3, 402, d) +# define BOOST_PP_REPEAT_2_404(m, d) BOOST_PP_REPEAT_2_403(m, d) m(3, 403, d) +# define BOOST_PP_REPEAT_2_405(m, d) BOOST_PP_REPEAT_2_404(m, d) m(3, 404, d) +# define BOOST_PP_REPEAT_2_406(m, d) BOOST_PP_REPEAT_2_405(m, d) m(3, 405, d) +# define BOOST_PP_REPEAT_2_407(m, d) BOOST_PP_REPEAT_2_406(m, d) m(3, 406, d) +# define BOOST_PP_REPEAT_2_408(m, d) BOOST_PP_REPEAT_2_407(m, d) m(3, 407, d) +# define BOOST_PP_REPEAT_2_409(m, d) BOOST_PP_REPEAT_2_408(m, d) m(3, 408, d) +# define BOOST_PP_REPEAT_2_410(m, d) BOOST_PP_REPEAT_2_409(m, d) m(3, 409, d) +# define BOOST_PP_REPEAT_2_411(m, d) BOOST_PP_REPEAT_2_410(m, d) m(3, 410, d) +# define BOOST_PP_REPEAT_2_412(m, d) BOOST_PP_REPEAT_2_411(m, d) m(3, 411, d) +# define BOOST_PP_REPEAT_2_413(m, d) BOOST_PP_REPEAT_2_412(m, d) m(3, 412, d) +# define BOOST_PP_REPEAT_2_414(m, d) BOOST_PP_REPEAT_2_413(m, d) m(3, 413, d) +# define BOOST_PP_REPEAT_2_415(m, d) BOOST_PP_REPEAT_2_414(m, d) m(3, 414, d) +# define BOOST_PP_REPEAT_2_416(m, d) BOOST_PP_REPEAT_2_415(m, d) m(3, 415, d) +# define BOOST_PP_REPEAT_2_417(m, d) BOOST_PP_REPEAT_2_416(m, d) m(3, 416, d) +# define BOOST_PP_REPEAT_2_418(m, d) BOOST_PP_REPEAT_2_417(m, d) m(3, 417, d) +# define BOOST_PP_REPEAT_2_419(m, d) BOOST_PP_REPEAT_2_418(m, d) m(3, 418, d) +# define BOOST_PP_REPEAT_2_420(m, d) BOOST_PP_REPEAT_2_419(m, d) m(3, 419, d) +# define BOOST_PP_REPEAT_2_421(m, d) BOOST_PP_REPEAT_2_420(m, d) m(3, 420, d) +# define BOOST_PP_REPEAT_2_422(m, d) BOOST_PP_REPEAT_2_421(m, d) m(3, 421, d) +# define BOOST_PP_REPEAT_2_423(m, d) BOOST_PP_REPEAT_2_422(m, d) m(3, 422, d) +# define BOOST_PP_REPEAT_2_424(m, d) BOOST_PP_REPEAT_2_423(m, d) m(3, 423, d) +# define BOOST_PP_REPEAT_2_425(m, d) BOOST_PP_REPEAT_2_424(m, d) m(3, 424, d) +# define BOOST_PP_REPEAT_2_426(m, d) BOOST_PP_REPEAT_2_425(m, d) m(3, 425, d) +# define BOOST_PP_REPEAT_2_427(m, d) BOOST_PP_REPEAT_2_426(m, d) m(3, 426, d) +# define BOOST_PP_REPEAT_2_428(m, d) BOOST_PP_REPEAT_2_427(m, d) m(3, 427, d) +# define BOOST_PP_REPEAT_2_429(m, d) BOOST_PP_REPEAT_2_428(m, d) m(3, 428, d) +# define BOOST_PP_REPEAT_2_430(m, d) BOOST_PP_REPEAT_2_429(m, d) m(3, 429, d) +# define BOOST_PP_REPEAT_2_431(m, d) BOOST_PP_REPEAT_2_430(m, d) m(3, 430, d) +# define BOOST_PP_REPEAT_2_432(m, d) BOOST_PP_REPEAT_2_431(m, d) m(3, 431, d) +# define BOOST_PP_REPEAT_2_433(m, d) BOOST_PP_REPEAT_2_432(m, d) m(3, 432, d) +# define BOOST_PP_REPEAT_2_434(m, d) BOOST_PP_REPEAT_2_433(m, d) m(3, 433, d) +# define BOOST_PP_REPEAT_2_435(m, d) BOOST_PP_REPEAT_2_434(m, d) m(3, 434, d) +# define BOOST_PP_REPEAT_2_436(m, d) BOOST_PP_REPEAT_2_435(m, d) m(3, 435, d) +# define BOOST_PP_REPEAT_2_437(m, d) BOOST_PP_REPEAT_2_436(m, d) m(3, 436, d) +# define BOOST_PP_REPEAT_2_438(m, d) BOOST_PP_REPEAT_2_437(m, d) m(3, 437, d) +# define BOOST_PP_REPEAT_2_439(m, d) BOOST_PP_REPEAT_2_438(m, d) m(3, 438, d) +# define BOOST_PP_REPEAT_2_440(m, d) BOOST_PP_REPEAT_2_439(m, d) m(3, 439, d) +# define BOOST_PP_REPEAT_2_441(m, d) BOOST_PP_REPEAT_2_440(m, d) m(3, 440, d) +# define BOOST_PP_REPEAT_2_442(m, d) BOOST_PP_REPEAT_2_441(m, d) m(3, 441, d) +# define BOOST_PP_REPEAT_2_443(m, d) BOOST_PP_REPEAT_2_442(m, d) m(3, 442, d) +# define BOOST_PP_REPEAT_2_444(m, d) BOOST_PP_REPEAT_2_443(m, d) m(3, 443, d) +# define BOOST_PP_REPEAT_2_445(m, d) BOOST_PP_REPEAT_2_444(m, d) m(3, 444, d) +# define BOOST_PP_REPEAT_2_446(m, d) BOOST_PP_REPEAT_2_445(m, d) m(3, 445, d) +# define BOOST_PP_REPEAT_2_447(m, d) BOOST_PP_REPEAT_2_446(m, d) m(3, 446, d) +# define BOOST_PP_REPEAT_2_448(m, d) BOOST_PP_REPEAT_2_447(m, d) m(3, 447, d) +# define BOOST_PP_REPEAT_2_449(m, d) BOOST_PP_REPEAT_2_448(m, d) m(3, 448, d) +# define BOOST_PP_REPEAT_2_450(m, d) BOOST_PP_REPEAT_2_449(m, d) m(3, 449, d) +# define BOOST_PP_REPEAT_2_451(m, d) BOOST_PP_REPEAT_2_450(m, d) m(3, 450, d) +# define BOOST_PP_REPEAT_2_452(m, d) BOOST_PP_REPEAT_2_451(m, d) m(3, 451, d) +# define BOOST_PP_REPEAT_2_453(m, d) BOOST_PP_REPEAT_2_452(m, d) m(3, 452, d) +# define BOOST_PP_REPEAT_2_454(m, d) BOOST_PP_REPEAT_2_453(m, d) m(3, 453, d) +# define BOOST_PP_REPEAT_2_455(m, d) BOOST_PP_REPEAT_2_454(m, d) m(3, 454, d) +# define BOOST_PP_REPEAT_2_456(m, d) BOOST_PP_REPEAT_2_455(m, d) m(3, 455, d) +# define BOOST_PP_REPEAT_2_457(m, d) BOOST_PP_REPEAT_2_456(m, d) m(3, 456, d) +# define BOOST_PP_REPEAT_2_458(m, d) BOOST_PP_REPEAT_2_457(m, d) m(3, 457, d) +# define BOOST_PP_REPEAT_2_459(m, d) BOOST_PP_REPEAT_2_458(m, d) m(3, 458, d) +# define BOOST_PP_REPEAT_2_460(m, d) BOOST_PP_REPEAT_2_459(m, d) m(3, 459, d) +# define BOOST_PP_REPEAT_2_461(m, d) BOOST_PP_REPEAT_2_460(m, d) m(3, 460, d) +# define BOOST_PP_REPEAT_2_462(m, d) BOOST_PP_REPEAT_2_461(m, d) m(3, 461, d) +# define BOOST_PP_REPEAT_2_463(m, d) BOOST_PP_REPEAT_2_462(m, d) m(3, 462, d) +# define BOOST_PP_REPEAT_2_464(m, d) BOOST_PP_REPEAT_2_463(m, d) m(3, 463, d) +# define BOOST_PP_REPEAT_2_465(m, d) BOOST_PP_REPEAT_2_464(m, d) m(3, 464, d) +# define BOOST_PP_REPEAT_2_466(m, d) BOOST_PP_REPEAT_2_465(m, d) m(3, 465, d) +# define BOOST_PP_REPEAT_2_467(m, d) BOOST_PP_REPEAT_2_466(m, d) m(3, 466, d) +# define BOOST_PP_REPEAT_2_468(m, d) BOOST_PP_REPEAT_2_467(m, d) m(3, 467, d) +# define BOOST_PP_REPEAT_2_469(m, d) BOOST_PP_REPEAT_2_468(m, d) m(3, 468, d) +# define BOOST_PP_REPEAT_2_470(m, d) BOOST_PP_REPEAT_2_469(m, d) m(3, 469, d) +# define BOOST_PP_REPEAT_2_471(m, d) BOOST_PP_REPEAT_2_470(m, d) m(3, 470, d) +# define BOOST_PP_REPEAT_2_472(m, d) BOOST_PP_REPEAT_2_471(m, d) m(3, 471, d) +# define BOOST_PP_REPEAT_2_473(m, d) BOOST_PP_REPEAT_2_472(m, d) m(3, 472, d) +# define BOOST_PP_REPEAT_2_474(m, d) BOOST_PP_REPEAT_2_473(m, d) m(3, 473, d) +# define BOOST_PP_REPEAT_2_475(m, d) BOOST_PP_REPEAT_2_474(m, d) m(3, 474, d) +# define BOOST_PP_REPEAT_2_476(m, d) BOOST_PP_REPEAT_2_475(m, d) m(3, 475, d) +# define BOOST_PP_REPEAT_2_477(m, d) BOOST_PP_REPEAT_2_476(m, d) m(3, 476, d) +# define BOOST_PP_REPEAT_2_478(m, d) BOOST_PP_REPEAT_2_477(m, d) m(3, 477, d) +# define BOOST_PP_REPEAT_2_479(m, d) BOOST_PP_REPEAT_2_478(m, d) m(3, 478, d) +# define BOOST_PP_REPEAT_2_480(m, d) BOOST_PP_REPEAT_2_479(m, d) m(3, 479, d) +# define BOOST_PP_REPEAT_2_481(m, d) BOOST_PP_REPEAT_2_480(m, d) m(3, 480, d) +# define BOOST_PP_REPEAT_2_482(m, d) BOOST_PP_REPEAT_2_481(m, d) m(3, 481, d) +# define BOOST_PP_REPEAT_2_483(m, d) BOOST_PP_REPEAT_2_482(m, d) m(3, 482, d) +# define BOOST_PP_REPEAT_2_484(m, d) BOOST_PP_REPEAT_2_483(m, d) m(3, 483, d) +# define BOOST_PP_REPEAT_2_485(m, d) BOOST_PP_REPEAT_2_484(m, d) m(3, 484, d) +# define BOOST_PP_REPEAT_2_486(m, d) BOOST_PP_REPEAT_2_485(m, d) m(3, 485, d) +# define BOOST_PP_REPEAT_2_487(m, d) BOOST_PP_REPEAT_2_486(m, d) m(3, 486, d) +# define BOOST_PP_REPEAT_2_488(m, d) BOOST_PP_REPEAT_2_487(m, d) m(3, 487, d) +# define BOOST_PP_REPEAT_2_489(m, d) BOOST_PP_REPEAT_2_488(m, d) m(3, 488, d) +# define BOOST_PP_REPEAT_2_490(m, d) BOOST_PP_REPEAT_2_489(m, d) m(3, 489, d) +# define BOOST_PP_REPEAT_2_491(m, d) BOOST_PP_REPEAT_2_490(m, d) m(3, 490, d) +# define BOOST_PP_REPEAT_2_492(m, d) BOOST_PP_REPEAT_2_491(m, d) m(3, 491, d) +# define BOOST_PP_REPEAT_2_493(m, d) BOOST_PP_REPEAT_2_492(m, d) m(3, 492, d) +# define BOOST_PP_REPEAT_2_494(m, d) BOOST_PP_REPEAT_2_493(m, d) m(3, 493, d) +# define BOOST_PP_REPEAT_2_495(m, d) BOOST_PP_REPEAT_2_494(m, d) m(3, 494, d) +# define BOOST_PP_REPEAT_2_496(m, d) BOOST_PP_REPEAT_2_495(m, d) m(3, 495, d) +# define BOOST_PP_REPEAT_2_497(m, d) BOOST_PP_REPEAT_2_496(m, d) m(3, 496, d) +# define BOOST_PP_REPEAT_2_498(m, d) BOOST_PP_REPEAT_2_497(m, d) m(3, 497, d) +# define BOOST_PP_REPEAT_2_499(m, d) BOOST_PP_REPEAT_2_498(m, d) m(3, 498, d) +# define BOOST_PP_REPEAT_2_500(m, d) BOOST_PP_REPEAT_2_499(m, d) m(3, 499, d) +# define BOOST_PP_REPEAT_2_501(m, d) BOOST_PP_REPEAT_2_500(m, d) m(3, 500, d) +# define BOOST_PP_REPEAT_2_502(m, d) BOOST_PP_REPEAT_2_501(m, d) m(3, 501, d) +# define BOOST_PP_REPEAT_2_503(m, d) BOOST_PP_REPEAT_2_502(m, d) m(3, 502, d) +# define BOOST_PP_REPEAT_2_504(m, d) BOOST_PP_REPEAT_2_503(m, d) m(3, 503, d) +# define BOOST_PP_REPEAT_2_505(m, d) BOOST_PP_REPEAT_2_504(m, d) m(3, 504, d) +# define BOOST_PP_REPEAT_2_506(m, d) BOOST_PP_REPEAT_2_505(m, d) m(3, 505, d) +# define BOOST_PP_REPEAT_2_507(m, d) BOOST_PP_REPEAT_2_506(m, d) m(3, 506, d) +# define BOOST_PP_REPEAT_2_508(m, d) BOOST_PP_REPEAT_2_507(m, d) m(3, 507, d) +# define BOOST_PP_REPEAT_2_509(m, d) BOOST_PP_REPEAT_2_508(m, d) m(3, 508, d) +# define BOOST_PP_REPEAT_2_510(m, d) BOOST_PP_REPEAT_2_509(m, d) m(3, 509, d) +# define BOOST_PP_REPEAT_2_511(m, d) BOOST_PP_REPEAT_2_510(m, d) m(3, 510, d) +# define BOOST_PP_REPEAT_2_512(m, d) BOOST_PP_REPEAT_2_511(m, d) m(3, 511, d) +# +# define BOOST_PP_REPEAT_3_257(m, d) BOOST_PP_REPEAT_3_256(m, d) m(4, 256, d) +# define BOOST_PP_REPEAT_3_258(m, d) BOOST_PP_REPEAT_3_257(m, d) m(4, 257, d) +# define BOOST_PP_REPEAT_3_259(m, d) BOOST_PP_REPEAT_3_258(m, d) m(4, 258, d) +# define BOOST_PP_REPEAT_3_260(m, d) BOOST_PP_REPEAT_3_259(m, d) m(4, 259, d) +# define BOOST_PP_REPEAT_3_261(m, d) BOOST_PP_REPEAT_3_260(m, d) m(4, 260, d) +# define BOOST_PP_REPEAT_3_262(m, d) BOOST_PP_REPEAT_3_261(m, d) m(4, 261, d) +# define BOOST_PP_REPEAT_3_263(m, d) BOOST_PP_REPEAT_3_262(m, d) m(4, 262, d) +# define BOOST_PP_REPEAT_3_264(m, d) BOOST_PP_REPEAT_3_263(m, d) m(4, 263, d) +# define BOOST_PP_REPEAT_3_265(m, d) BOOST_PP_REPEAT_3_264(m, d) m(4, 264, d) +# define BOOST_PP_REPEAT_3_266(m, d) BOOST_PP_REPEAT_3_265(m, d) m(4, 265, d) +# define BOOST_PP_REPEAT_3_267(m, d) BOOST_PP_REPEAT_3_266(m, d) m(4, 266, d) +# define BOOST_PP_REPEAT_3_268(m, d) BOOST_PP_REPEAT_3_267(m, d) m(4, 267, d) +# define BOOST_PP_REPEAT_3_269(m, d) BOOST_PP_REPEAT_3_268(m, d) m(4, 268, d) +# define BOOST_PP_REPEAT_3_270(m, d) BOOST_PP_REPEAT_3_269(m, d) m(4, 269, d) +# define BOOST_PP_REPEAT_3_271(m, d) BOOST_PP_REPEAT_3_270(m, d) m(4, 270, d) +# define BOOST_PP_REPEAT_3_272(m, d) BOOST_PP_REPEAT_3_271(m, d) m(4, 271, d) +# define BOOST_PP_REPEAT_3_273(m, d) BOOST_PP_REPEAT_3_272(m, d) m(4, 272, d) +# define BOOST_PP_REPEAT_3_274(m, d) BOOST_PP_REPEAT_3_273(m, d) m(4, 273, d) +# define BOOST_PP_REPEAT_3_275(m, d) BOOST_PP_REPEAT_3_274(m, d) m(4, 274, d) +# define BOOST_PP_REPEAT_3_276(m, d) BOOST_PP_REPEAT_3_275(m, d) m(4, 275, d) +# define BOOST_PP_REPEAT_3_277(m, d) BOOST_PP_REPEAT_3_276(m, d) m(4, 276, d) +# define BOOST_PP_REPEAT_3_278(m, d) BOOST_PP_REPEAT_3_277(m, d) m(4, 277, d) +# define BOOST_PP_REPEAT_3_279(m, d) BOOST_PP_REPEAT_3_278(m, d) m(4, 278, d) +# define BOOST_PP_REPEAT_3_280(m, d) BOOST_PP_REPEAT_3_279(m, d) m(4, 279, d) +# define BOOST_PP_REPEAT_3_281(m, d) BOOST_PP_REPEAT_3_280(m, d) m(4, 280, d) +# define BOOST_PP_REPEAT_3_282(m, d) BOOST_PP_REPEAT_3_281(m, d) m(4, 281, d) +# define BOOST_PP_REPEAT_3_283(m, d) BOOST_PP_REPEAT_3_282(m, d) m(4, 282, d) +# define BOOST_PP_REPEAT_3_284(m, d) BOOST_PP_REPEAT_3_283(m, d) m(4, 283, d) +# define BOOST_PP_REPEAT_3_285(m, d) BOOST_PP_REPEAT_3_284(m, d) m(4, 284, d) +# define BOOST_PP_REPEAT_3_286(m, d) BOOST_PP_REPEAT_3_285(m, d) m(4, 285, d) +# define BOOST_PP_REPEAT_3_287(m, d) BOOST_PP_REPEAT_3_286(m, d) m(4, 286, d) +# define BOOST_PP_REPEAT_3_288(m, d) BOOST_PP_REPEAT_3_287(m, d) m(4, 287, d) +# define BOOST_PP_REPEAT_3_289(m, d) BOOST_PP_REPEAT_3_288(m, d) m(4, 288, d) +# define BOOST_PP_REPEAT_3_290(m, d) BOOST_PP_REPEAT_3_289(m, d) m(4, 289, d) +# define BOOST_PP_REPEAT_3_291(m, d) BOOST_PP_REPEAT_3_290(m, d) m(4, 290, d) +# define BOOST_PP_REPEAT_3_292(m, d) BOOST_PP_REPEAT_3_291(m, d) m(4, 291, d) +# define BOOST_PP_REPEAT_3_293(m, d) BOOST_PP_REPEAT_3_292(m, d) m(4, 292, d) +# define BOOST_PP_REPEAT_3_294(m, d) BOOST_PP_REPEAT_3_293(m, d) m(4, 293, d) +# define BOOST_PP_REPEAT_3_295(m, d) BOOST_PP_REPEAT_3_294(m, d) m(4, 294, d) +# define BOOST_PP_REPEAT_3_296(m, d) BOOST_PP_REPEAT_3_295(m, d) m(4, 295, d) +# define BOOST_PP_REPEAT_3_297(m, d) BOOST_PP_REPEAT_3_296(m, d) m(4, 296, d) +# define BOOST_PP_REPEAT_3_298(m, d) BOOST_PP_REPEAT_3_297(m, d) m(4, 297, d) +# define BOOST_PP_REPEAT_3_299(m, d) BOOST_PP_REPEAT_3_298(m, d) m(4, 298, d) +# define BOOST_PP_REPEAT_3_300(m, d) BOOST_PP_REPEAT_3_299(m, d) m(4, 299, d) +# define BOOST_PP_REPEAT_3_301(m, d) BOOST_PP_REPEAT_3_300(m, d) m(4, 300, d) +# define BOOST_PP_REPEAT_3_302(m, d) BOOST_PP_REPEAT_3_301(m, d) m(4, 301, d) +# define BOOST_PP_REPEAT_3_303(m, d) BOOST_PP_REPEAT_3_302(m, d) m(4, 302, d) +# define BOOST_PP_REPEAT_3_304(m, d) BOOST_PP_REPEAT_3_303(m, d) m(4, 303, d) +# define BOOST_PP_REPEAT_3_305(m, d) BOOST_PP_REPEAT_3_304(m, d) m(4, 304, d) +# define BOOST_PP_REPEAT_3_306(m, d) BOOST_PP_REPEAT_3_305(m, d) m(4, 305, d) +# define BOOST_PP_REPEAT_3_307(m, d) BOOST_PP_REPEAT_3_306(m, d) m(4, 306, d) +# define BOOST_PP_REPEAT_3_308(m, d) BOOST_PP_REPEAT_3_307(m, d) m(4, 307, d) +# define BOOST_PP_REPEAT_3_309(m, d) BOOST_PP_REPEAT_3_308(m, d) m(4, 308, d) +# define BOOST_PP_REPEAT_3_310(m, d) BOOST_PP_REPEAT_3_309(m, d) m(4, 309, d) +# define BOOST_PP_REPEAT_3_311(m, d) BOOST_PP_REPEAT_3_310(m, d) m(4, 310, d) +# define BOOST_PP_REPEAT_3_312(m, d) BOOST_PP_REPEAT_3_311(m, d) m(4, 311, d) +# define BOOST_PP_REPEAT_3_313(m, d) BOOST_PP_REPEAT_3_312(m, d) m(4, 312, d) +# define BOOST_PP_REPEAT_3_314(m, d) BOOST_PP_REPEAT_3_313(m, d) m(4, 313, d) +# define BOOST_PP_REPEAT_3_315(m, d) BOOST_PP_REPEAT_3_314(m, d) m(4, 314, d) +# define BOOST_PP_REPEAT_3_316(m, d) BOOST_PP_REPEAT_3_315(m, d) m(4, 315, d) +# define BOOST_PP_REPEAT_3_317(m, d) BOOST_PP_REPEAT_3_316(m, d) m(4, 316, d) +# define BOOST_PP_REPEAT_3_318(m, d) BOOST_PP_REPEAT_3_317(m, d) m(4, 317, d) +# define BOOST_PP_REPEAT_3_319(m, d) BOOST_PP_REPEAT_3_318(m, d) m(4, 318, d) +# define BOOST_PP_REPEAT_3_320(m, d) BOOST_PP_REPEAT_3_319(m, d) m(4, 319, d) +# define BOOST_PP_REPEAT_3_321(m, d) BOOST_PP_REPEAT_3_320(m, d) m(4, 320, d) +# define BOOST_PP_REPEAT_3_322(m, d) BOOST_PP_REPEAT_3_321(m, d) m(4, 321, d) +# define BOOST_PP_REPEAT_3_323(m, d) BOOST_PP_REPEAT_3_322(m, d) m(4, 322, d) +# define BOOST_PP_REPEAT_3_324(m, d) BOOST_PP_REPEAT_3_323(m, d) m(4, 323, d) +# define BOOST_PP_REPEAT_3_325(m, d) BOOST_PP_REPEAT_3_324(m, d) m(4, 324, d) +# define BOOST_PP_REPEAT_3_326(m, d) BOOST_PP_REPEAT_3_325(m, d) m(4, 325, d) +# define BOOST_PP_REPEAT_3_327(m, d) BOOST_PP_REPEAT_3_326(m, d) m(4, 326, d) +# define BOOST_PP_REPEAT_3_328(m, d) BOOST_PP_REPEAT_3_327(m, d) m(4, 327, d) +# define BOOST_PP_REPEAT_3_329(m, d) BOOST_PP_REPEAT_3_328(m, d) m(4, 328, d) +# define BOOST_PP_REPEAT_3_330(m, d) BOOST_PP_REPEAT_3_329(m, d) m(4, 329, d) +# define BOOST_PP_REPEAT_3_331(m, d) BOOST_PP_REPEAT_3_330(m, d) m(4, 330, d) +# define BOOST_PP_REPEAT_3_332(m, d) BOOST_PP_REPEAT_3_331(m, d) m(4, 331, d) +# define BOOST_PP_REPEAT_3_333(m, d) BOOST_PP_REPEAT_3_332(m, d) m(4, 332, d) +# define BOOST_PP_REPEAT_3_334(m, d) BOOST_PP_REPEAT_3_333(m, d) m(4, 333, d) +# define BOOST_PP_REPEAT_3_335(m, d) BOOST_PP_REPEAT_3_334(m, d) m(4, 334, d) +# define BOOST_PP_REPEAT_3_336(m, d) BOOST_PP_REPEAT_3_335(m, d) m(4, 335, d) +# define BOOST_PP_REPEAT_3_337(m, d) BOOST_PP_REPEAT_3_336(m, d) m(4, 336, d) +# define BOOST_PP_REPEAT_3_338(m, d) BOOST_PP_REPEAT_3_337(m, d) m(4, 337, d) +# define BOOST_PP_REPEAT_3_339(m, d) BOOST_PP_REPEAT_3_338(m, d) m(4, 338, d) +# define BOOST_PP_REPEAT_3_340(m, d) BOOST_PP_REPEAT_3_339(m, d) m(4, 339, d) +# define BOOST_PP_REPEAT_3_341(m, d) BOOST_PP_REPEAT_3_340(m, d) m(4, 340, d) +# define BOOST_PP_REPEAT_3_342(m, d) BOOST_PP_REPEAT_3_341(m, d) m(4, 341, d) +# define BOOST_PP_REPEAT_3_343(m, d) BOOST_PP_REPEAT_3_342(m, d) m(4, 342, d) +# define BOOST_PP_REPEAT_3_344(m, d) BOOST_PP_REPEAT_3_343(m, d) m(4, 343, d) +# define BOOST_PP_REPEAT_3_345(m, d) BOOST_PP_REPEAT_3_344(m, d) m(4, 344, d) +# define BOOST_PP_REPEAT_3_346(m, d) BOOST_PP_REPEAT_3_345(m, d) m(4, 345, d) +# define BOOST_PP_REPEAT_3_347(m, d) BOOST_PP_REPEAT_3_346(m, d) m(4, 346, d) +# define BOOST_PP_REPEAT_3_348(m, d) BOOST_PP_REPEAT_3_347(m, d) m(4, 347, d) +# define BOOST_PP_REPEAT_3_349(m, d) BOOST_PP_REPEAT_3_348(m, d) m(4, 348, d) +# define BOOST_PP_REPEAT_3_350(m, d) BOOST_PP_REPEAT_3_349(m, d) m(4, 349, d) +# define BOOST_PP_REPEAT_3_351(m, d) BOOST_PP_REPEAT_3_350(m, d) m(4, 350, d) +# define BOOST_PP_REPEAT_3_352(m, d) BOOST_PP_REPEAT_3_351(m, d) m(4, 351, d) +# define BOOST_PP_REPEAT_3_353(m, d) BOOST_PP_REPEAT_3_352(m, d) m(4, 352, d) +# define BOOST_PP_REPEAT_3_354(m, d) BOOST_PP_REPEAT_3_353(m, d) m(4, 353, d) +# define BOOST_PP_REPEAT_3_355(m, d) BOOST_PP_REPEAT_3_354(m, d) m(4, 354, d) +# define BOOST_PP_REPEAT_3_356(m, d) BOOST_PP_REPEAT_3_355(m, d) m(4, 355, d) +# define BOOST_PP_REPEAT_3_357(m, d) BOOST_PP_REPEAT_3_356(m, d) m(4, 356, d) +# define BOOST_PP_REPEAT_3_358(m, d) BOOST_PP_REPEAT_3_357(m, d) m(4, 357, d) +# define BOOST_PP_REPEAT_3_359(m, d) BOOST_PP_REPEAT_3_358(m, d) m(4, 358, d) +# define BOOST_PP_REPEAT_3_360(m, d) BOOST_PP_REPEAT_3_359(m, d) m(4, 359, d) +# define BOOST_PP_REPEAT_3_361(m, d) BOOST_PP_REPEAT_3_360(m, d) m(4, 360, d) +# define BOOST_PP_REPEAT_3_362(m, d) BOOST_PP_REPEAT_3_361(m, d) m(4, 361, d) +# define BOOST_PP_REPEAT_3_363(m, d) BOOST_PP_REPEAT_3_362(m, d) m(4, 362, d) +# define BOOST_PP_REPEAT_3_364(m, d) BOOST_PP_REPEAT_3_363(m, d) m(4, 363, d) +# define BOOST_PP_REPEAT_3_365(m, d) BOOST_PP_REPEAT_3_364(m, d) m(4, 364, d) +# define BOOST_PP_REPEAT_3_366(m, d) BOOST_PP_REPEAT_3_365(m, d) m(4, 365, d) +# define BOOST_PP_REPEAT_3_367(m, d) BOOST_PP_REPEAT_3_366(m, d) m(4, 366, d) +# define BOOST_PP_REPEAT_3_368(m, d) BOOST_PP_REPEAT_3_367(m, d) m(4, 367, d) +# define BOOST_PP_REPEAT_3_369(m, d) BOOST_PP_REPEAT_3_368(m, d) m(4, 368, d) +# define BOOST_PP_REPEAT_3_370(m, d) BOOST_PP_REPEAT_3_369(m, d) m(4, 369, d) +# define BOOST_PP_REPEAT_3_371(m, d) BOOST_PP_REPEAT_3_370(m, d) m(4, 370, d) +# define BOOST_PP_REPEAT_3_372(m, d) BOOST_PP_REPEAT_3_371(m, d) m(4, 371, d) +# define BOOST_PP_REPEAT_3_373(m, d) BOOST_PP_REPEAT_3_372(m, d) m(4, 372, d) +# define BOOST_PP_REPEAT_3_374(m, d) BOOST_PP_REPEAT_3_373(m, d) m(4, 373, d) +# define BOOST_PP_REPEAT_3_375(m, d) BOOST_PP_REPEAT_3_374(m, d) m(4, 374, d) +# define BOOST_PP_REPEAT_3_376(m, d) BOOST_PP_REPEAT_3_375(m, d) m(4, 375, d) +# define BOOST_PP_REPEAT_3_377(m, d) BOOST_PP_REPEAT_3_376(m, d) m(4, 376, d) +# define BOOST_PP_REPEAT_3_378(m, d) BOOST_PP_REPEAT_3_377(m, d) m(4, 377, d) +# define BOOST_PP_REPEAT_3_379(m, d) BOOST_PP_REPEAT_3_378(m, d) m(4, 378, d) +# define BOOST_PP_REPEAT_3_380(m, d) BOOST_PP_REPEAT_3_379(m, d) m(4, 379, d) +# define BOOST_PP_REPEAT_3_381(m, d) BOOST_PP_REPEAT_3_380(m, d) m(4, 380, d) +# define BOOST_PP_REPEAT_3_382(m, d) BOOST_PP_REPEAT_3_381(m, d) m(4, 381, d) +# define BOOST_PP_REPEAT_3_383(m, d) BOOST_PP_REPEAT_3_382(m, d) m(4, 382, d) +# define BOOST_PP_REPEAT_3_384(m, d) BOOST_PP_REPEAT_3_383(m, d) m(4, 383, d) +# define BOOST_PP_REPEAT_3_385(m, d) BOOST_PP_REPEAT_3_384(m, d) m(4, 384, d) +# define BOOST_PP_REPEAT_3_386(m, d) BOOST_PP_REPEAT_3_385(m, d) m(4, 385, d) +# define BOOST_PP_REPEAT_3_387(m, d) BOOST_PP_REPEAT_3_386(m, d) m(4, 386, d) +# define BOOST_PP_REPEAT_3_388(m, d) BOOST_PP_REPEAT_3_387(m, d) m(4, 387, d) +# define BOOST_PP_REPEAT_3_389(m, d) BOOST_PP_REPEAT_3_388(m, d) m(4, 388, d) +# define BOOST_PP_REPEAT_3_390(m, d) BOOST_PP_REPEAT_3_389(m, d) m(4, 389, d) +# define BOOST_PP_REPEAT_3_391(m, d) BOOST_PP_REPEAT_3_390(m, d) m(4, 390, d) +# define BOOST_PP_REPEAT_3_392(m, d) BOOST_PP_REPEAT_3_391(m, d) m(4, 391, d) +# define BOOST_PP_REPEAT_3_393(m, d) BOOST_PP_REPEAT_3_392(m, d) m(4, 392, d) +# define BOOST_PP_REPEAT_3_394(m, d) BOOST_PP_REPEAT_3_393(m, d) m(4, 393, d) +# define BOOST_PP_REPEAT_3_395(m, d) BOOST_PP_REPEAT_3_394(m, d) m(4, 394, d) +# define BOOST_PP_REPEAT_3_396(m, d) BOOST_PP_REPEAT_3_395(m, d) m(4, 395, d) +# define BOOST_PP_REPEAT_3_397(m, d) BOOST_PP_REPEAT_3_396(m, d) m(4, 396, d) +# define BOOST_PP_REPEAT_3_398(m, d) BOOST_PP_REPEAT_3_397(m, d) m(4, 397, d) +# define BOOST_PP_REPEAT_3_399(m, d) BOOST_PP_REPEAT_3_398(m, d) m(4, 398, d) +# define BOOST_PP_REPEAT_3_400(m, d) BOOST_PP_REPEAT_3_399(m, d) m(4, 399, d) +# define BOOST_PP_REPEAT_3_401(m, d) BOOST_PP_REPEAT_3_400(m, d) m(4, 400, d) +# define BOOST_PP_REPEAT_3_402(m, d) BOOST_PP_REPEAT_3_401(m, d) m(4, 401, d) +# define BOOST_PP_REPEAT_3_403(m, d) BOOST_PP_REPEAT_3_402(m, d) m(4, 402, d) +# define BOOST_PP_REPEAT_3_404(m, d) BOOST_PP_REPEAT_3_403(m, d) m(4, 403, d) +# define BOOST_PP_REPEAT_3_405(m, d) BOOST_PP_REPEAT_3_404(m, d) m(4, 404, d) +# define BOOST_PP_REPEAT_3_406(m, d) BOOST_PP_REPEAT_3_405(m, d) m(4, 405, d) +# define BOOST_PP_REPEAT_3_407(m, d) BOOST_PP_REPEAT_3_406(m, d) m(4, 406, d) +# define BOOST_PP_REPEAT_3_408(m, d) BOOST_PP_REPEAT_3_407(m, d) m(4, 407, d) +# define BOOST_PP_REPEAT_3_409(m, d) BOOST_PP_REPEAT_3_408(m, d) m(4, 408, d) +# define BOOST_PP_REPEAT_3_410(m, d) BOOST_PP_REPEAT_3_409(m, d) m(4, 409, d) +# define BOOST_PP_REPEAT_3_411(m, d) BOOST_PP_REPEAT_3_410(m, d) m(4, 410, d) +# define BOOST_PP_REPEAT_3_412(m, d) BOOST_PP_REPEAT_3_411(m, d) m(4, 411, d) +# define BOOST_PP_REPEAT_3_413(m, d) BOOST_PP_REPEAT_3_412(m, d) m(4, 412, d) +# define BOOST_PP_REPEAT_3_414(m, d) BOOST_PP_REPEAT_3_413(m, d) m(4, 413, d) +# define BOOST_PP_REPEAT_3_415(m, d) BOOST_PP_REPEAT_3_414(m, d) m(4, 414, d) +# define BOOST_PP_REPEAT_3_416(m, d) BOOST_PP_REPEAT_3_415(m, d) m(4, 415, d) +# define BOOST_PP_REPEAT_3_417(m, d) BOOST_PP_REPEAT_3_416(m, d) m(4, 416, d) +# define BOOST_PP_REPEAT_3_418(m, d) BOOST_PP_REPEAT_3_417(m, d) m(4, 417, d) +# define BOOST_PP_REPEAT_3_419(m, d) BOOST_PP_REPEAT_3_418(m, d) m(4, 418, d) +# define BOOST_PP_REPEAT_3_420(m, d) BOOST_PP_REPEAT_3_419(m, d) m(4, 419, d) +# define BOOST_PP_REPEAT_3_421(m, d) BOOST_PP_REPEAT_3_420(m, d) m(4, 420, d) +# define BOOST_PP_REPEAT_3_422(m, d) BOOST_PP_REPEAT_3_421(m, d) m(4, 421, d) +# define BOOST_PP_REPEAT_3_423(m, d) BOOST_PP_REPEAT_3_422(m, d) m(4, 422, d) +# define BOOST_PP_REPEAT_3_424(m, d) BOOST_PP_REPEAT_3_423(m, d) m(4, 423, d) +# define BOOST_PP_REPEAT_3_425(m, d) BOOST_PP_REPEAT_3_424(m, d) m(4, 424, d) +# define BOOST_PP_REPEAT_3_426(m, d) BOOST_PP_REPEAT_3_425(m, d) m(4, 425, d) +# define BOOST_PP_REPEAT_3_427(m, d) BOOST_PP_REPEAT_3_426(m, d) m(4, 426, d) +# define BOOST_PP_REPEAT_3_428(m, d) BOOST_PP_REPEAT_3_427(m, d) m(4, 427, d) +# define BOOST_PP_REPEAT_3_429(m, d) BOOST_PP_REPEAT_3_428(m, d) m(4, 428, d) +# define BOOST_PP_REPEAT_3_430(m, d) BOOST_PP_REPEAT_3_429(m, d) m(4, 429, d) +# define BOOST_PP_REPEAT_3_431(m, d) BOOST_PP_REPEAT_3_430(m, d) m(4, 430, d) +# define BOOST_PP_REPEAT_3_432(m, d) BOOST_PP_REPEAT_3_431(m, d) m(4, 431, d) +# define BOOST_PP_REPEAT_3_433(m, d) BOOST_PP_REPEAT_3_432(m, d) m(4, 432, d) +# define BOOST_PP_REPEAT_3_434(m, d) BOOST_PP_REPEAT_3_433(m, d) m(4, 433, d) +# define BOOST_PP_REPEAT_3_435(m, d) BOOST_PP_REPEAT_3_434(m, d) m(4, 434, d) +# define BOOST_PP_REPEAT_3_436(m, d) BOOST_PP_REPEAT_3_435(m, d) m(4, 435, d) +# define BOOST_PP_REPEAT_3_437(m, d) BOOST_PP_REPEAT_3_436(m, d) m(4, 436, d) +# define BOOST_PP_REPEAT_3_438(m, d) BOOST_PP_REPEAT_3_437(m, d) m(4, 437, d) +# define BOOST_PP_REPEAT_3_439(m, d) BOOST_PP_REPEAT_3_438(m, d) m(4, 438, d) +# define BOOST_PP_REPEAT_3_440(m, d) BOOST_PP_REPEAT_3_439(m, d) m(4, 439, d) +# define BOOST_PP_REPEAT_3_441(m, d) BOOST_PP_REPEAT_3_440(m, d) m(4, 440, d) +# define BOOST_PP_REPEAT_3_442(m, d) BOOST_PP_REPEAT_3_441(m, d) m(4, 441, d) +# define BOOST_PP_REPEAT_3_443(m, d) BOOST_PP_REPEAT_3_442(m, d) m(4, 442, d) +# define BOOST_PP_REPEAT_3_444(m, d) BOOST_PP_REPEAT_3_443(m, d) m(4, 443, d) +# define BOOST_PP_REPEAT_3_445(m, d) BOOST_PP_REPEAT_3_444(m, d) m(4, 444, d) +# define BOOST_PP_REPEAT_3_446(m, d) BOOST_PP_REPEAT_3_445(m, d) m(4, 445, d) +# define BOOST_PP_REPEAT_3_447(m, d) BOOST_PP_REPEAT_3_446(m, d) m(4, 446, d) +# define BOOST_PP_REPEAT_3_448(m, d) BOOST_PP_REPEAT_3_447(m, d) m(4, 447, d) +# define BOOST_PP_REPEAT_3_449(m, d) BOOST_PP_REPEAT_3_448(m, d) m(4, 448, d) +# define BOOST_PP_REPEAT_3_450(m, d) BOOST_PP_REPEAT_3_449(m, d) m(4, 449, d) +# define BOOST_PP_REPEAT_3_451(m, d) BOOST_PP_REPEAT_3_450(m, d) m(4, 450, d) +# define BOOST_PP_REPEAT_3_452(m, d) BOOST_PP_REPEAT_3_451(m, d) m(4, 451, d) +# define BOOST_PP_REPEAT_3_453(m, d) BOOST_PP_REPEAT_3_452(m, d) m(4, 452, d) +# define BOOST_PP_REPEAT_3_454(m, d) BOOST_PP_REPEAT_3_453(m, d) m(4, 453, d) +# define BOOST_PP_REPEAT_3_455(m, d) BOOST_PP_REPEAT_3_454(m, d) m(4, 454, d) +# define BOOST_PP_REPEAT_3_456(m, d) BOOST_PP_REPEAT_3_455(m, d) m(4, 455, d) +# define BOOST_PP_REPEAT_3_457(m, d) BOOST_PP_REPEAT_3_456(m, d) m(4, 456, d) +# define BOOST_PP_REPEAT_3_458(m, d) BOOST_PP_REPEAT_3_457(m, d) m(4, 457, d) +# define BOOST_PP_REPEAT_3_459(m, d) BOOST_PP_REPEAT_3_458(m, d) m(4, 458, d) +# define BOOST_PP_REPEAT_3_460(m, d) BOOST_PP_REPEAT_3_459(m, d) m(4, 459, d) +# define BOOST_PP_REPEAT_3_461(m, d) BOOST_PP_REPEAT_3_460(m, d) m(4, 460, d) +# define BOOST_PP_REPEAT_3_462(m, d) BOOST_PP_REPEAT_3_461(m, d) m(4, 461, d) +# define BOOST_PP_REPEAT_3_463(m, d) BOOST_PP_REPEAT_3_462(m, d) m(4, 462, d) +# define BOOST_PP_REPEAT_3_464(m, d) BOOST_PP_REPEAT_3_463(m, d) m(4, 463, d) +# define BOOST_PP_REPEAT_3_465(m, d) BOOST_PP_REPEAT_3_464(m, d) m(4, 464, d) +# define BOOST_PP_REPEAT_3_466(m, d) BOOST_PP_REPEAT_3_465(m, d) m(4, 465, d) +# define BOOST_PP_REPEAT_3_467(m, d) BOOST_PP_REPEAT_3_466(m, d) m(4, 466, d) +# define BOOST_PP_REPEAT_3_468(m, d) BOOST_PP_REPEAT_3_467(m, d) m(4, 467, d) +# define BOOST_PP_REPEAT_3_469(m, d) BOOST_PP_REPEAT_3_468(m, d) m(4, 468, d) +# define BOOST_PP_REPEAT_3_470(m, d) BOOST_PP_REPEAT_3_469(m, d) m(4, 469, d) +# define BOOST_PP_REPEAT_3_471(m, d) BOOST_PP_REPEAT_3_470(m, d) m(4, 470, d) +# define BOOST_PP_REPEAT_3_472(m, d) BOOST_PP_REPEAT_3_471(m, d) m(4, 471, d) +# define BOOST_PP_REPEAT_3_473(m, d) BOOST_PP_REPEAT_3_472(m, d) m(4, 472, d) +# define BOOST_PP_REPEAT_3_474(m, d) BOOST_PP_REPEAT_3_473(m, d) m(4, 473, d) +# define BOOST_PP_REPEAT_3_475(m, d) BOOST_PP_REPEAT_3_474(m, d) m(4, 474, d) +# define BOOST_PP_REPEAT_3_476(m, d) BOOST_PP_REPEAT_3_475(m, d) m(4, 475, d) +# define BOOST_PP_REPEAT_3_477(m, d) BOOST_PP_REPEAT_3_476(m, d) m(4, 476, d) +# define BOOST_PP_REPEAT_3_478(m, d) BOOST_PP_REPEAT_3_477(m, d) m(4, 477, d) +# define BOOST_PP_REPEAT_3_479(m, d) BOOST_PP_REPEAT_3_478(m, d) m(4, 478, d) +# define BOOST_PP_REPEAT_3_480(m, d) BOOST_PP_REPEAT_3_479(m, d) m(4, 479, d) +# define BOOST_PP_REPEAT_3_481(m, d) BOOST_PP_REPEAT_3_480(m, d) m(4, 480, d) +# define BOOST_PP_REPEAT_3_482(m, d) BOOST_PP_REPEAT_3_481(m, d) m(4, 481, d) +# define BOOST_PP_REPEAT_3_483(m, d) BOOST_PP_REPEAT_3_482(m, d) m(4, 482, d) +# define BOOST_PP_REPEAT_3_484(m, d) BOOST_PP_REPEAT_3_483(m, d) m(4, 483, d) +# define BOOST_PP_REPEAT_3_485(m, d) BOOST_PP_REPEAT_3_484(m, d) m(4, 484, d) +# define BOOST_PP_REPEAT_3_486(m, d) BOOST_PP_REPEAT_3_485(m, d) m(4, 485, d) +# define BOOST_PP_REPEAT_3_487(m, d) BOOST_PP_REPEAT_3_486(m, d) m(4, 486, d) +# define BOOST_PP_REPEAT_3_488(m, d) BOOST_PP_REPEAT_3_487(m, d) m(4, 487, d) +# define BOOST_PP_REPEAT_3_489(m, d) BOOST_PP_REPEAT_3_488(m, d) m(4, 488, d) +# define BOOST_PP_REPEAT_3_490(m, d) BOOST_PP_REPEAT_3_489(m, d) m(4, 489, d) +# define BOOST_PP_REPEAT_3_491(m, d) BOOST_PP_REPEAT_3_490(m, d) m(4, 490, d) +# define BOOST_PP_REPEAT_3_492(m, d) BOOST_PP_REPEAT_3_491(m, d) m(4, 491, d) +# define BOOST_PP_REPEAT_3_493(m, d) BOOST_PP_REPEAT_3_492(m, d) m(4, 492, d) +# define BOOST_PP_REPEAT_3_494(m, d) BOOST_PP_REPEAT_3_493(m, d) m(4, 493, d) +# define BOOST_PP_REPEAT_3_495(m, d) BOOST_PP_REPEAT_3_494(m, d) m(4, 494, d) +# define BOOST_PP_REPEAT_3_496(m, d) BOOST_PP_REPEAT_3_495(m, d) m(4, 495, d) +# define BOOST_PP_REPEAT_3_497(m, d) BOOST_PP_REPEAT_3_496(m, d) m(4, 496, d) +# define BOOST_PP_REPEAT_3_498(m, d) BOOST_PP_REPEAT_3_497(m, d) m(4, 497, d) +# define BOOST_PP_REPEAT_3_499(m, d) BOOST_PP_REPEAT_3_498(m, d) m(4, 498, d) +# define BOOST_PP_REPEAT_3_500(m, d) BOOST_PP_REPEAT_3_499(m, d) m(4, 499, d) +# define BOOST_PP_REPEAT_3_501(m, d) BOOST_PP_REPEAT_3_500(m, d) m(4, 500, d) +# define BOOST_PP_REPEAT_3_502(m, d) BOOST_PP_REPEAT_3_501(m, d) m(4, 501, d) +# define BOOST_PP_REPEAT_3_503(m, d) BOOST_PP_REPEAT_3_502(m, d) m(4, 502, d) +# define BOOST_PP_REPEAT_3_504(m, d) BOOST_PP_REPEAT_3_503(m, d) m(4, 503, d) +# define BOOST_PP_REPEAT_3_505(m, d) BOOST_PP_REPEAT_3_504(m, d) m(4, 504, d) +# define BOOST_PP_REPEAT_3_506(m, d) BOOST_PP_REPEAT_3_505(m, d) m(4, 505, d) +# define BOOST_PP_REPEAT_3_507(m, d) BOOST_PP_REPEAT_3_506(m, d) m(4, 506, d) +# define BOOST_PP_REPEAT_3_508(m, d) BOOST_PP_REPEAT_3_507(m, d) m(4, 507, d) +# define BOOST_PP_REPEAT_3_509(m, d) BOOST_PP_REPEAT_3_508(m, d) m(4, 508, d) +# define BOOST_PP_REPEAT_3_510(m, d) BOOST_PP_REPEAT_3_509(m, d) m(4, 509, d) +# define BOOST_PP_REPEAT_3_511(m, d) BOOST_PP_REPEAT_3_510(m, d) m(4, 510, d) +# define BOOST_PP_REPEAT_3_512(m, d) BOOST_PP_REPEAT_3_511(m, d) m(4, 511, d) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/repetition/repeat.hpp b/external/include/boost_1_90_0/boost/preprocessor/repetition/repeat.hpp new file mode 100644 index 0000000000..25a01f74e8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/repetition/repeat.hpp @@ -0,0 +1,847 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP +# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_REPEAT */ +# +# if 0 +# define BOOST_PP_REPEAT(count, macro, data) +# endif +# +# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL)) +# +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1 +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0 +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0 +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0 +# +# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d) +# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d) +# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d) +# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003) +# +# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d) +# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d) +# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d) +# +# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1 +# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2 +# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3 +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# define BOOST_PP_REPEAT_1_0(m, d) +# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d) +# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d) +# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d) +# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d) +# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) +# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) +# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d) +# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d) +# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d) +# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d) +# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d) +# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d) +# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d) +# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d) +# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d) +# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d) +# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d) +# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d) +# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d) +# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) +# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d) +# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d) +# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d) +# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d) +# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d) +# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d) +# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d) +# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d) +# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d) +# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d) +# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d) +# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d) +# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d) +# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d) +# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d) +# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d) +# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d) +# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d) +# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d) +# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d) +# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d) +# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d) +# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d) +# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d) +# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d) +# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d) +# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d) +# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d) +# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d) +# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d) +# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d) +# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d) +# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d) +# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d) +# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d) +# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d) +# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d) +# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d) +# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d) +# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d) +# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d) +# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d) +# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d) +# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d) +# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d) +# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d) +# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d) +# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d) +# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d) +# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d) +# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d) +# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d) +# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d) +# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d) +# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d) +# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d) +# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d) +# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d) +# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d) +# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d) +# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d) +# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d) +# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d) +# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d) +# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d) +# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d) +# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d) +# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d) +# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d) +# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d) +# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d) +# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d) +# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d) +# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d) +# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d) +# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d) +# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d) +# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d) +# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d) +# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d) +# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d) +# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d) +# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d) +# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d) +# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d) +# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d) +# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d) +# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d) +# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d) +# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d) +# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d) +# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d) +# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d) +# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d) +# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d) +# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d) +# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d) +# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d) +# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d) +# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d) +# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d) +# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d) +# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d) +# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d) +# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d) +# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d) +# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d) +# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d) +# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d) +# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d) +# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d) +# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d) +# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d) +# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d) +# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d) +# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d) +# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d) +# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d) +# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d) +# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d) +# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d) +# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d) +# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d) +# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d) +# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d) +# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d) +# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d) +# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d) +# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d) +# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d) +# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d) +# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d) +# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d) +# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d) +# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d) +# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d) +# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d) +# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d) +# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d) +# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d) +# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d) +# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d) +# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d) +# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d) +# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d) +# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d) +# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d) +# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d) +# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d) +# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d) +# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d) +# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d) +# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d) +# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d) +# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d) +# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d) +# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d) +# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d) +# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d) +# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d) +# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d) +# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d) +# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d) +# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d) +# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d) +# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d) +# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d) +# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d) +# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d) +# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d) +# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d) +# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d) +# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d) +# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d) +# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d) +# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d) +# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d) +# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d) +# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d) +# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d) +# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d) +# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d) +# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d) +# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d) +# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d) +# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d) +# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d) +# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d) +# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d) +# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d) +# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d) +# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d) +# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d) +# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d) +# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d) +# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d) +# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d) +# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d) +# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d) +# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d) +# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d) +# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d) +# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d) +# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d) +# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d) +# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d) +# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d) +# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d) +# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d) +# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d) +# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d) +# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d) +# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d) +# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d) +# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d) +# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d) +# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d) +# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d) +# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d) +# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d) +# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d) +# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d) +# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d) +# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d) +# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d) +# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d) +# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d) +# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d) +# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d) +# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d) +# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d) +# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d) +# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d) +# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d) +# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d) +# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d) +# +# define BOOST_PP_REPEAT_2_0(m, d) +# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d) +# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d) +# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d) +# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d) +# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d) +# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d) +# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d) +# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d) +# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d) +# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d) +# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d) +# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d) +# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d) +# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d) +# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d) +# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d) +# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d) +# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d) +# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d) +# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d) +# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d) +# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d) +# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d) +# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d) +# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d) +# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d) +# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d) +# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d) +# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d) +# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d) +# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d) +# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d) +# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d) +# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d) +# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d) +# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d) +# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d) +# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d) +# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d) +# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d) +# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d) +# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d) +# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d) +# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d) +# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d) +# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d) +# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d) +# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d) +# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d) +# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d) +# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d) +# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d) +# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d) +# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d) +# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d) +# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d) +# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d) +# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d) +# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d) +# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d) +# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d) +# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d) +# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d) +# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d) +# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d) +# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d) +# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d) +# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d) +# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d) +# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d) +# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d) +# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d) +# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d) +# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d) +# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d) +# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d) +# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d) +# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d) +# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d) +# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d) +# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d) +# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d) +# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d) +# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d) +# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d) +# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d) +# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d) +# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d) +# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d) +# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d) +# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d) +# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d) +# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d) +# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d) +# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d) +# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d) +# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d) +# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d) +# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d) +# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d) +# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d) +# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d) +# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d) +# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d) +# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d) +# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d) +# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d) +# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d) +# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d) +# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d) +# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d) +# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d) +# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d) +# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d) +# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d) +# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d) +# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d) +# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d) +# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d) +# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d) +# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d) +# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d) +# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d) +# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d) +# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d) +# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d) +# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d) +# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d) +# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d) +# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d) +# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d) +# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d) +# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d) +# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d) +# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d) +# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d) +# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d) +# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d) +# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d) +# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d) +# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d) +# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d) +# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d) +# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d) +# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d) +# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d) +# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d) +# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d) +# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d) +# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d) +# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d) +# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d) +# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d) +# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d) +# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d) +# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d) +# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d) +# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d) +# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d) +# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d) +# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d) +# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d) +# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d) +# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d) +# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d) +# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d) +# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d) +# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d) +# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d) +# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d) +# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d) +# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d) +# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d) +# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d) +# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d) +# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d) +# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d) +# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d) +# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d) +# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d) +# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d) +# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d) +# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d) +# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d) +# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d) +# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d) +# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d) +# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d) +# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d) +# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d) +# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d) +# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d) +# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d) +# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d) +# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d) +# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d) +# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d) +# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d) +# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d) +# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d) +# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d) +# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d) +# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d) +# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d) +# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d) +# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d) +# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d) +# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d) +# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d) +# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d) +# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d) +# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d) +# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d) +# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d) +# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d) +# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d) +# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d) +# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d) +# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d) +# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d) +# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d) +# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d) +# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d) +# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d) +# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d) +# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d) +# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d) +# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d) +# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d) +# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d) +# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d) +# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d) +# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d) +# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d) +# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d) +# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d) +# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d) +# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d) +# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d) +# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d) +# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d) +# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d) +# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d) +# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d) +# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d) +# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d) +# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d) +# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d) +# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d) +# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d) +# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d) +# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d) +# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d) +# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d) +# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d) +# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d) +# +# define BOOST_PP_REPEAT_3_0(m, d) +# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d) +# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d) +# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d) +# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d) +# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d) +# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d) +# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d) +# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d) +# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d) +# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d) +# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d) +# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d) +# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d) +# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d) +# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d) +# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d) +# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d) +# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d) +# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d) +# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d) +# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d) +# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d) +# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d) +# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d) +# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d) +# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d) +# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d) +# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d) +# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d) +# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d) +# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d) +# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d) +# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d) +# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d) +# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d) +# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d) +# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d) +# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d) +# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d) +# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d) +# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d) +# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d) +# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d) +# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d) +# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d) +# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d) +# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d) +# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d) +# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d) +# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d) +# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d) +# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d) +# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d) +# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d) +# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d) +# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d) +# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d) +# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d) +# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d) +# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d) +# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d) +# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d) +# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d) +# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d) +# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d) +# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d) +# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d) +# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d) +# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d) +# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d) +# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d) +# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d) +# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d) +# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d) +# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d) +# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d) +# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d) +# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d) +# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d) +# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d) +# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d) +# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d) +# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d) +# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d) +# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d) +# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d) +# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d) +# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d) +# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d) +# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d) +# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d) +# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d) +# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d) +# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d) +# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d) +# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d) +# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d) +# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d) +# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d) +# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d) +# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d) +# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d) +# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d) +# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d) +# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d) +# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d) +# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d) +# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d) +# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d) +# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d) +# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d) +# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d) +# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d) +# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d) +# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d) +# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d) +# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d) +# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d) +# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d) +# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d) +# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d) +# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d) +# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d) +# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d) +# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d) +# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d) +# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d) +# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d) +# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d) +# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d) +# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d) +# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d) +# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d) +# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d) +# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d) +# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d) +# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d) +# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d) +# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d) +# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d) +# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d) +# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d) +# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d) +# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d) +# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d) +# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d) +# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d) +# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d) +# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d) +# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d) +# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d) +# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d) +# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d) +# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d) +# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d) +# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d) +# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d) +# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d) +# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d) +# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d) +# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d) +# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d) +# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d) +# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d) +# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d) +# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d) +# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d) +# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d) +# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d) +# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d) +# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d) +# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d) +# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d) +# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d) +# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d) +# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d) +# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d) +# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d) +# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d) +# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d) +# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d) +# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d) +# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d) +# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d) +# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d) +# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d) +# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d) +# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d) +# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d) +# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d) +# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d) +# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d) +# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d) +# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d) +# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d) +# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d) +# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d) +# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d) +# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d) +# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d) +# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d) +# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d) +# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d) +# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d) +# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d) +# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d) +# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d) +# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d) +# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d) +# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d) +# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d) +# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d) +# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d) +# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d) +# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d) +# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d) +# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d) +# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d) +# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d) +# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d) +# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d) +# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d) +# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d) +# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d) +# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d) +# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d) +# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d) +# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d) +# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d) +# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d) +# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d) +# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d) +# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d) +# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d) +# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d) +# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d) +# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d) +# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d) +# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d) +# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d) +# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d) +# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d) +# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d) +# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d) +# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d) +# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d) +# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d) +# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d) +# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d) +# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d) +# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d) +# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d) +# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d) +# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d) +# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d) +# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d) +# +# else +# +# include +# +# if BOOST_PP_LIMIT_REPEAT == 256 +# include +# elif BOOST_PP_LIMIT_REPEAT == 512 +# include +# include +# elif BOOST_PP_LIMIT_REPEAT == 1024 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_REPEAT limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/seq/detail/is_empty.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/detail/is_empty.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/detail/is_empty.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/detail/is_empty.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/detail/limits/split_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/detail/limits/split_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/detail/limits/split_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/detail/limits/split_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/detail/limits/split_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/detail/limits/split_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/detail/limits/split_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/detail/limits/split_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/detail/limits/split_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/detail/limits/split_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/detail/limits/split_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/detail/limits/split_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/detail/split.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/detail/split.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/detail/split.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/detail/split.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/elem.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/elem.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/elem.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/elem.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/first_n.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/first_n.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/first_n.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/first_n.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/fold_left.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/fold_left.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/fold_left.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/fold_left.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/elem_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/elem_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/elem_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/elem_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/elem_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/elem_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/elem_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/elem_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/elem_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/elem_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/elem_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/elem_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/fold_left_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/fold_left_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/fold_left_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/fold_left_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/fold_left_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/fold_left_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/fold_left_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/fold_left_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/fold_left_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/fold_left_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/fold_left_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/fold_left_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/size_1024.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/size_1024.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/size_1024.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/size_1024.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/size_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/size_256.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/size_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/size_256.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/limits/size_512.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/limits/size_512.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/limits/size_512.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/limits/size_512.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/rest_n.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/rest_n.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/rest_n.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/rest_n.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/seq.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/seq.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/seq.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/seq.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/size.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/size.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/size.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/size.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/seq/subseq.hpp b/external/include/boost_1_90_0/boost/preprocessor/seq/subseq.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/seq/subseq.hpp rename to external/include/boost_1_90_0/boost/preprocessor/seq/subseq.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/counter.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/counter.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/counter.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/counter.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/def.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/def.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/def.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/def.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/shared.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/shared.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/shared.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/shared.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/slot1.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot1.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/slot1.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot1.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/slot2.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot2.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/slot2.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot2.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/slot3.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot3.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/slot3.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot3.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/slot4.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot4.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/slot4.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot4.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/detail/slot5.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot5.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/detail/slot5.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/detail/slot5.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/slot/slot.hpp b/external/include/boost_1_90_0/boost/preprocessor/slot/slot.hpp similarity index 100% rename from external/include/boost_1_75/boost/preprocessor/slot/slot.hpp rename to external/include/boost_1_90_0/boost/preprocessor/slot/slot.hpp diff --git a/external/include/boost_1_75/boost/preprocessor/stringize.hpp b/external/include/boost_1_90_0/boost/preprocessor/stringize.hpp similarity index 96% rename from external/include/boost_1_75/boost/preprocessor/stringize.hpp rename to external/include/boost_1_90_0/boost/preprocessor/stringize.hpp index e7c9011133..af37fdb426 100644 --- a/external/include/boost_1_75/boost/preprocessor/stringize.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/stringize.hpp @@ -1,33 +1,33 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP -# define BOOST_PREPROCESSOR_STRINGIZE_HPP -# -# include -# -# /* BOOST_PP_STRINGIZE */ -# -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text)) -# define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text)) -# define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par -# else -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text) -# endif -# -# define BOOST_PP_STRINGIZE_I(...) #__VA_ARGS__ -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP +# define BOOST_PREPROCESSOR_STRINGIZE_HPP +# +# include +# +# /* BOOST_PP_STRINGIZE */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text)) +# define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text)) +# define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par +# else +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text) +# endif +# +# define BOOST_PP_STRINGIZE_I(...) #__VA_ARGS__ +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/detail/is_single_return.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/detail/is_single_return.hpp similarity index 97% rename from external/include/boost_1_75/boost/preprocessor/tuple/detail/is_single_return.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/detail/is_single_return.hpp index 0a985f0d32..d8e0d2e7e6 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/detail/is_single_return.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/detail/is_single_return.hpp @@ -1,28 +1,28 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2014. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP -# define BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP -# -# include -# -# /* BOOST_PP_TUPLE_IS_SINGLE_RETURN */ -# -# if BOOST_PP_VARIADICS_MSVC -# include -# include -# include -# define BOOST_PP_TUPLE_IS_SINGLE_RETURN(sr,nsr,tuple) \ - BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_TUPLE_SIZE(tuple)),sr,nsr) \ - /**/ -# endif /* BOOST_PP_VARIADICS_MSVC */ -# -# endif /* BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP */ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2014. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP +# define BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP +# +# include +# +# /* BOOST_PP_TUPLE_IS_SINGLE_RETURN */ +# +# if BOOST_PP_VARIADICS_MSVC +# include +# include +# include +# define BOOST_PP_TUPLE_IS_SINGLE_RETURN(sr,nsr,tuple) \ + BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_TUPLE_SIZE(tuple)),sr,nsr) \ + /**/ +# endif /* BOOST_PP_VARIADICS_MSVC */ +# +# endif /* BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP */ diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/eat.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/eat.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/tuple/eat.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/eat.hpp index 6350dc0534..9e7c58e94d 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/eat.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/eat.hpp @@ -1,101 +1,101 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2015,2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP -# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP -# -# include -# -# /* BOOST_PP_EAT */ -# -# define BOOST_PP_EAT(...) -# -# /* BOOST_PP_TUPLE_EAT */ -# -# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_I(size) -# else -# define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_OO((size)) -# define BOOST_PP_TUPLE_EAT_N_OO(par) BOOST_PP_TUPLE_EAT_N_I ## par -# endif -# define BOOST_PP_TUPLE_EAT_N_I(size) BOOST_PP_EAT -# -# define BOOST_PP_TUPLE_EAT_1(e0) -# define BOOST_PP_TUPLE_EAT_2(e0, e1) -# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2) -# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3) -# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4) -# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5) -# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6) -# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7) -# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) -# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) -# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) -# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) -# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) -# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) -# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) -# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) -# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) -# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) -# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) -# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) -# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) -# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) -# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) -# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) -# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) -# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) -# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) -# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) -# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) -# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) -# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) -# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) -# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) -# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) -# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) -# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) -# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) -# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) -# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) -# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) -# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) -# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) -# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) -# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) -# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) -# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) -# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) -# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) -# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) -# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) -# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) -# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) -# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) -# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) -# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) -# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) -# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) -# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) -# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) -# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) -# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) -# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) -# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) -# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011,2015,2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP +# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP +# +# include +# +# /* BOOST_PP_EAT */ +# +# define BOOST_PP_EAT(...) +# +# /* BOOST_PP_TUPLE_EAT */ +# +# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_I(size) +# else +# define BOOST_PP_TUPLE_EAT_N(size) BOOST_PP_TUPLE_EAT_N_OO((size)) +# define BOOST_PP_TUPLE_EAT_N_OO(par) BOOST_PP_TUPLE_EAT_N_I ## par +# endif +# define BOOST_PP_TUPLE_EAT_N_I(size) BOOST_PP_EAT +# +# define BOOST_PP_TUPLE_EAT_1(e0) +# define BOOST_PP_TUPLE_EAT_2(e0, e1) +# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2) +# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3) +# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4) +# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5) +# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6) +# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7) +# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) +# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) +# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) +# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) +# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) +# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) +# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) +# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) +# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) +# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) +# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) +# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) +# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) +# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) +# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) +# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) +# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) +# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) +# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) +# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) +# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) +# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) +# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) +# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) +# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) +# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) +# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) +# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) +# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) +# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) +# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) +# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) +# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) +# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) +# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) +# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) +# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) +# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) +# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) +# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) +# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) +# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) +# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) +# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) +# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) +# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) +# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) +# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) +# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) +# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) +# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) +# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) +# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) +# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) +# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) +# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/tuple/elem.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/elem.hpp new file mode 100644 index 0000000000..aafc46c1d1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/elem.hpp @@ -0,0 +1,55 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011,2014,2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP +# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args) +# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,) +/* + Use BOOST_PP_REM_CAT if it is a single element tuple ( which might be empty ) + else use BOOST_PP_REM. This fixes a VC++ problem with an empty tuple and BOOST_PP_TUPLE_ELEM + functionality. See tuple_elem_bug_test.cxx. +*/ +# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) \ + BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple)) \ + /**/ +# else +# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__) +# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple) +# endif +# define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple) +# +# /* directly used elsewhere in Boost... */ +# +# define BOOST_PP_TUPLE_ELEM_1_0(a) a +# +# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a +# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b +# +# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a +# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b +# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_128.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_128.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_128.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_128.hpp index 5f9fd87b6e..e072303191 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_128.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_128.hpp @@ -1,595 +1,595 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_128_HPP -# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_128_HPP -# -# define BOOST_PP_TUPLE_TO_LIST_65( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ) -# define BOOST_PP_TUPLE_TO_LIST_66( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )) -# define BOOST_PP_TUPLE_TO_LIST_67( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))) -# define BOOST_PP_TUPLE_TO_LIST_68( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))) -# define BOOST_PP_TUPLE_TO_LIST_69( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))) -# define BOOST_PP_TUPLE_TO_LIST_70( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))) -# define BOOST_PP_TUPLE_TO_LIST_71( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))) -# define BOOST_PP_TUPLE_TO_LIST_72( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))) -# define BOOST_PP_TUPLE_TO_LIST_73( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))) -# define BOOST_PP_TUPLE_TO_LIST_74( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))) -# define BOOST_PP_TUPLE_TO_LIST_75( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_76( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_77( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_78( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_79( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_80( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_81( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_82( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_83( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_84( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_85( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_86( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_87( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_88( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_89( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_90( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_91( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_92( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_93( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_94( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_95( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_96( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_97( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_98( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_99( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_100( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_101( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_102( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_103( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_104( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_105( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_106( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_107( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_108( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_109( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_110( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_111( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_112( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_113( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_114( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_115( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_116( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_117( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_118( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_119( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_120( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_121( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_122( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_123( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_124( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_125( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_126( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_127( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_128( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011,2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_128_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_128_HPP +# +# define BOOST_PP_TUPLE_TO_LIST_65( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ) +# define BOOST_PP_TUPLE_TO_LIST_66( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )) +# define BOOST_PP_TUPLE_TO_LIST_67( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))) +# define BOOST_PP_TUPLE_TO_LIST_68( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))) +# define BOOST_PP_TUPLE_TO_LIST_69( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))) +# define BOOST_PP_TUPLE_TO_LIST_70( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))) +# define BOOST_PP_TUPLE_TO_LIST_71( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))) +# define BOOST_PP_TUPLE_TO_LIST_72( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))) +# define BOOST_PP_TUPLE_TO_LIST_73( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))) +# define BOOST_PP_TUPLE_TO_LIST_74( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))) +# define BOOST_PP_TUPLE_TO_LIST_75( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_76( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_77( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_78( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_79( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_80( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_81( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_82( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_83( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_84( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_85( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_86( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_87( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_88( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_89( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_90( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_91( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_92( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_93( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_94( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_95( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_96( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_97( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_98( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_99( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_100( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_101( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_102( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_103( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_104( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_105( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_106( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_107( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_108( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_109( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_110( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_111( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_112( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_113( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_114( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_115( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_116( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_117( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_118( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_119( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_120( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_121( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_122( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_123( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_124( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_125( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_126( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_127( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_128( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_256.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_256.hpp index 91f8469ac7..967e862d5f 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_256.hpp @@ -1,1747 +1,1747 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_256_HPP -# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_256_HPP -# -# define BOOST_PP_TUPLE_TO_LIST_129( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ) -# define BOOST_PP_TUPLE_TO_LIST_130( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )) -# define BOOST_PP_TUPLE_TO_LIST_131( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))) -# define BOOST_PP_TUPLE_TO_LIST_132( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))) -# define BOOST_PP_TUPLE_TO_LIST_133( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))) -# define BOOST_PP_TUPLE_TO_LIST_134( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))) -# define BOOST_PP_TUPLE_TO_LIST_135( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))) -# define BOOST_PP_TUPLE_TO_LIST_136( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))) -# define BOOST_PP_TUPLE_TO_LIST_137( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))) -# define BOOST_PP_TUPLE_TO_LIST_138( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))) -# define BOOST_PP_TUPLE_TO_LIST_139( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_140( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_141( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_142( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_143( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_144( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_145( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_146( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_147( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_148( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_149( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_150( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_151( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_152( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_153( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_154( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_155( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_156( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_157( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_158( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_159( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_160( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_161( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_162( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_163( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_164( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_165( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_166( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_167( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_168( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_169( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_170( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_171( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_172( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_173( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_174( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_175( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_176( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_177( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_178( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_179( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_180( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_181( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_182( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_183( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_184( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_185( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_186( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_187( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_188( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_189( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_190( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_191( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_192( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_193( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ) -# define BOOST_PP_TUPLE_TO_LIST_194( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )) -# define BOOST_PP_TUPLE_TO_LIST_195( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))) -# define BOOST_PP_TUPLE_TO_LIST_196( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))) -# define BOOST_PP_TUPLE_TO_LIST_197( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))) -# define BOOST_PP_TUPLE_TO_LIST_198( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))) -# define BOOST_PP_TUPLE_TO_LIST_199( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))) -# define BOOST_PP_TUPLE_TO_LIST_200( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))) -# define BOOST_PP_TUPLE_TO_LIST_201( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))) -# define BOOST_PP_TUPLE_TO_LIST_202( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))) -# define BOOST_PP_TUPLE_TO_LIST_203( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_204( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_205( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_206( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_207( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_208( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_209( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_210( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_211( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_212( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_213( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_214( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_215( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_216( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_217( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_218( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_219( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_220( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_221( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_222( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_223( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_224( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_225( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_226( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_227( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_228( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_229( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_230( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_231( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_232( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_233( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_234( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_235( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_236( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_237( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_238( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_239( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_240( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_241( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_242( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_243( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_244( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_245( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_246( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_247( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_248( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_249( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_250( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_251( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_252( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_253( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_254( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, ( e253, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_255( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, ( e253, ( e254, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_256( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, e255 ) \ - ( \ - e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ - ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ - ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ - ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, ( e253, ( e254, ( e255, \ - BOOST_PP_NIL \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ - )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011,2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_256_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_256_HPP +# +# define BOOST_PP_TUPLE_TO_LIST_129( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ) +# define BOOST_PP_TUPLE_TO_LIST_130( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )) +# define BOOST_PP_TUPLE_TO_LIST_131( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))) +# define BOOST_PP_TUPLE_TO_LIST_132( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))) +# define BOOST_PP_TUPLE_TO_LIST_133( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))) +# define BOOST_PP_TUPLE_TO_LIST_134( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))) +# define BOOST_PP_TUPLE_TO_LIST_135( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))) +# define BOOST_PP_TUPLE_TO_LIST_136( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))) +# define BOOST_PP_TUPLE_TO_LIST_137( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))) +# define BOOST_PP_TUPLE_TO_LIST_138( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))) +# define BOOST_PP_TUPLE_TO_LIST_139( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_140( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_141( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_142( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_143( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_144( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_145( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_146( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_147( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_148( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_149( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_150( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_151( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_152( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_153( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_154( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_155( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_156( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_157( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_158( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_159( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_160( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_161( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_162( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_163( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_164( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_165( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_166( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_167( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_168( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_169( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_170( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_171( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_172( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_173( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_174( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_175( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_176( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_177( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_178( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_179( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_180( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_181( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_182( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_183( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_184( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_185( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_186( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_187( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_188( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_189( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_190( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_191( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_192( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_193( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ) +# define BOOST_PP_TUPLE_TO_LIST_194( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )) +# define BOOST_PP_TUPLE_TO_LIST_195( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))) +# define BOOST_PP_TUPLE_TO_LIST_196( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))) +# define BOOST_PP_TUPLE_TO_LIST_197( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))) +# define BOOST_PP_TUPLE_TO_LIST_198( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))) +# define BOOST_PP_TUPLE_TO_LIST_199( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))) +# define BOOST_PP_TUPLE_TO_LIST_200( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))) +# define BOOST_PP_TUPLE_TO_LIST_201( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))) +# define BOOST_PP_TUPLE_TO_LIST_202( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))) +# define BOOST_PP_TUPLE_TO_LIST_203( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_204( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_205( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_206( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_207( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_208( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_209( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_210( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_211( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_212( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_213( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_214( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_215( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_216( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_217( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_218( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_219( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_220( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_221( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_222( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_223( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_224( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_225( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_226( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_227( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_228( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_229( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_230( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_231( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_232( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_233( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_234( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_235( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_236( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_237( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_238( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_239( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_240( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_241( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_242( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_243( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_244( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_245( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_246( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_247( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_248( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_249( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_250( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_251( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_252( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_253( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_254( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, ( e253, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_255( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, ( e253, ( e254, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_256( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, e255 ) \ + ( \ + e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, \ + ( e64, ( e65, ( e66, ( e67, ( e68, ( e69, ( e70, ( e71, ( e72, ( e73, ( e74, ( e75, ( e76, ( e77, ( e78, ( e79, ( e80, ( e81, ( e82, ( e83, ( e84, ( e85, ( e86, ( e87, ( e88, ( e89, ( e90, ( e91, ( e92, ( e93, ( e94, ( e95, ( e96, ( e97, ( e98, ( e99, ( e100, ( e101, ( e102, ( e103, ( e104, ( e105, ( e106, ( e107, ( e108, ( e109, ( e110, ( e111, ( e112, ( e113, ( e114, ( e115, ( e116, ( e117, ( e118, ( e119, ( e120, ( e121, ( e122, ( e123, ( e124, ( e125, ( e126, ( e127, \ + ( e128, ( e129, ( e130, ( e131, ( e132, ( e133, ( e134, ( e135, ( e136, ( e137, ( e138, ( e139, ( e140, ( e141, ( e142, ( e143, ( e144, ( e145, ( e146, ( e147, ( e148, ( e149, ( e150, ( e151, ( e152, ( e153, ( e154, ( e155, ( e156, ( e157, ( e158, ( e159, ( e160, ( e161, ( e162, ( e163, ( e164, ( e165, ( e166, ( e167, ( e168, ( e169, ( e170, ( e171, ( e172, ( e173, ( e174, ( e175, ( e176, ( e177, ( e178, ( e179, ( e180, ( e181, ( e182, ( e183, ( e184, ( e185, ( e186, ( e187, ( e188, ( e189, ( e190, ( e191, \ + ( e192, ( e193, ( e194, ( e195, ( e196, ( e197, ( e198, ( e199, ( e200, ( e201, ( e202, ( e203, ( e204, ( e205, ( e206, ( e207, ( e208, ( e209, ( e210, ( e211, ( e212, ( e213, ( e214, ( e215, ( e216, ( e217, ( e218, ( e219, ( e220, ( e221, ( e222, ( e223, ( e224, ( e225, ( e226, ( e227, ( e228, ( e229, ( e230, ( e231, ( e232, ( e233, ( e234, ( e235, ( e236, ( e237, ( e238, ( e239, ( e240, ( e241, ( e242, ( e243, ( e244, ( e245, ( e246, ( e247, ( e248, ( e249, ( e250, ( e251, ( e252, ( e253, ( e254, ( e255, \ + BOOST_PP_NIL \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) \ + )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_64.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_64.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_64.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_64.hpp index 0615a3d70b..2310d7ecab 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/limits/to_list_64.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/limits/to_list_64.hpp @@ -1,83 +1,83 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_64_HPP -# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_64_HPP -# -# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL) -# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL)) -# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL))) -# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL)))) -# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL))))) -# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL)))))) -# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL))))))) -# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL)))))))) -# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL))))))))) -# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL)))))))))) -# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL)))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL)))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL)))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL)))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL)))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL)))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL)))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL)))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL)))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL)))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL)))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL)))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_64_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_64_HPP +# +# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL) +# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL)) +# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL))) +# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL)))) +# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL))))) +# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL)))))) +# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL))))))) +# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL)))))))) +# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL))))))))) +# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL)))))))))) +# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL)))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL)))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL)))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL)))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL)))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL)))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL)))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL)))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL)))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL)))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL)))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL)))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/rem.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/rem.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/tuple/rem.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/rem.hpp index d7133f5e02..bd8d23bd82 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/rem.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/rem.hpp @@ -1,127 +1,127 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Paul Mensonides 2002-2011. * -# * (C) Copyright Edward Diener 2011,2013. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP -# define BOOST_PREPROCESSOR_TUPLE_REM_HPP -# -# include -# include -# include -# include -# include -# -# /* BOOST_PP_REM */ -# -# if BOOST_PP_VARIADICS_MSVC - /* To be used internally when __VA_ARGS__ could be empty ( or is a single element ) */ -# define BOOST_PP_REM_CAT(...) BOOST_PP_CAT(__VA_ARGS__,) -# endif -# define BOOST_PP_REM(...) __VA_ARGS__ -# -# /* BOOST_PP_TUPLE_REM */ -# -/* - VC++8.0 cannot handle the variadic version of BOOST_PP_TUPLE_REM(size) -*/ -# if !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400) -# if BOOST_PP_VARIADICS_MSVC - /* To be used internally when the size could be 0 ( or 1 ) */ -# define BOOST_PP_TUPLE_REM_CAT(size) BOOST_PP_REM_CAT -# endif -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM -# else -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size) -# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size -# endif -# -# define BOOST_PP_TUPLE_REM_0() -# define BOOST_PP_TUPLE_REM_1(e0) e0 -# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1 -# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2 -# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3 -# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4 -# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5 -# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6 -# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7 -# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8 -# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9 -# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10 -# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11 -# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12 -# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13 -# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14 -# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15 -# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16 -# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17 -# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18 -# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19 -# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20 -# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21 -# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22 -# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23 -# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24 -# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25 -# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26 -# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27 -# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28 -# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29 -# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30 -# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31 -# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32 -# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33 -# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34 -# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35 -# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36 -# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37 -# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38 -# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39 -# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40 -# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41 -# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42 -# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43 -# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44 -# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45 -# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46 -# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47 -# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48 -# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49 -# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50 -# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51 -# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52 -# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53 -# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54 -# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55 -# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56 -# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57 -# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58 -# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59 -# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60 -# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61 -# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62 -# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63 -# -# /* BOOST_PP_TUPLE_REM_CTOR */ -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__)) -# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args) -# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,) -# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple) -# else -# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__) -# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple -# endif -# define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011,2013. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP +# define BOOST_PREPROCESSOR_TUPLE_REM_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_REM */ +# +# if BOOST_PP_VARIADICS_MSVC + /* To be used internally when __VA_ARGS__ could be empty ( or is a single element ) */ +# define BOOST_PP_REM_CAT(...) BOOST_PP_CAT(__VA_ARGS__,) +# endif +# define BOOST_PP_REM(...) __VA_ARGS__ +# +# /* BOOST_PP_TUPLE_REM */ +# +/* + VC++8.0 cannot handle the variadic version of BOOST_PP_TUPLE_REM(size) +*/ +# if !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400) +# if BOOST_PP_VARIADICS_MSVC + /* To be used internally when the size could be 0 ( or 1 ) */ +# define BOOST_PP_TUPLE_REM_CAT(size) BOOST_PP_REM_CAT +# endif +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM +# else +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size) +# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size +# endif +# +# define BOOST_PP_TUPLE_REM_0() +# define BOOST_PP_TUPLE_REM_1(e0) e0 +# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1 +# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2 +# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3 +# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4 +# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5 +# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6 +# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7 +# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8 +# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9 +# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10 +# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11 +# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12 +# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13 +# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14 +# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15 +# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16 +# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17 +# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18 +# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19 +# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20 +# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21 +# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22 +# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23 +# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24 +# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25 +# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26 +# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27 +# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28 +# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29 +# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30 +# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31 +# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32 +# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33 +# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34 +# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35 +# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36 +# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37 +# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38 +# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39 +# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40 +# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41 +# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42 +# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43 +# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44 +# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45 +# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46 +# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47 +# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48 +# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49 +# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50 +# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51 +# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52 +# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53 +# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54 +# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55 +# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56 +# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57 +# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58 +# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59 +# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60 +# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61 +# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62 +# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63 +# +# /* BOOST_PP_TUPLE_REM_CTOR */ +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args) +# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,) +# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_EXPAND(BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple) +# else +# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__) +# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple +# endif +# define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/tuple/size.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/size.hpp new file mode 100644 index 0000000000..37f6541bd2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/size.hpp @@ -0,0 +1,35 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_SIZE_HPP +# define BOOST_PREPROCESSOR_TUPLE_SIZE_HPP +# +# include +# include +# include +# include +# include +# +# if BOOST_PP_VARIADIC_HAS_OPT() +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_TUPLE_SIZE_CHECK(BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,)) +# else +# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_TUPLE_SIZE_CHECK(BOOST_PP_VARIADIC_SIZE tuple) +# endif +# define BOOST_PP_TUPLE_SIZE_CHECK(size) BOOST_PP_IF(size,size,1) +# elif BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,) +# else +# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_VARIADIC_SIZE tuple +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/tuple/to_list.hpp b/external/include/boost_1_90_0/boost/preprocessor/tuple/to_list.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/tuple/to_list.hpp rename to external/include/boost_1_90_0/boost/preprocessor/tuple/to_list.hpp index d6b178cd14..8374a8b34e 100644 --- a/external/include/boost_1_75/boost/preprocessor/tuple/to_list.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/tuple/to_list.hpp @@ -1,130 +1,130 @@ -# /* Copyright (C) 2001 -# * Housemarque Oy -# * http://www.housemarque.com -# * -# * 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) -# */ -# -# /* Revised by Paul Mensonides (2002-2011) */ -# /* Revised by Edward Diener (2011,2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP -# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP -# -# include -# include -# include -# include -# include -# include -# include -# -# /* BOOST_PP_TUPLE_TO_LIST */ -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__)) -# define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args) -# define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,) -# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_TUPLE_SIZE(tuple)) tuple -# else -# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__) -# if BOOST_PP_VARIADIC_HAS_OPT() -# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_TUPLE_TO_LIST_O_1_SIZE(BOOST_PP_VARIADIC_SIZE tuple, tuple) -# define BOOST_PP_TUPLE_TO_LIST_O_1_SIZE(size,tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_IF(size,size,1)) tuple -# else -# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple -# endif -# endif -# define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple) -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() -# -# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL) -# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL)) -# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL))) -# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL)))) -# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL))))) -# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL)))))) -# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL))))))) -# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL)))))))) -# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL))))))))) -# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL)))))))))) -# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL)))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL)))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL)))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL)))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL)))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL)))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL)))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL)))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL)))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL)))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL)))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL)))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -# -# else -# -# include -# -# if BOOST_PP_LIMIT_TUPLE == 64 -# include -# elif BOOST_PP_LIMIT_TUPLE == 128 -# include -# include -# elif BOOST_PP_LIMIT_TUPLE == 256 -# include -# include -# include -# else -# error Incorrect value for the BOOST_PP_LIMIT_TUPLE limit -# endif -# -# endif -# -# endif +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * 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) +# */ +# +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011,2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_TUPLE_TO_LIST */ +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args) +# define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,) +# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_TUPLE_SIZE(tuple)) tuple +# else +# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__) +# if BOOST_PP_VARIADIC_HAS_OPT() +# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_TUPLE_TO_LIST_O_1_SIZE(BOOST_PP_VARIADIC_SIZE tuple, tuple) +# define BOOST_PP_TUPLE_TO_LIST_O_1_SIZE(size,tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_IF(size,size,1)) tuple +# else +# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple +# endif +# endif +# define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL) +# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL)) +# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL))) +# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL)))) +# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL))))) +# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL)))))) +# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL))))))) +# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL)))))))) +# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL))))))))) +# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL)))))))))) +# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL)))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL)))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL)))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL)))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL)))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL)))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL)))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL)))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL)))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL)))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL)))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL)))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# +# else +# +# include +# +# if BOOST_PP_LIMIT_TUPLE == 64 +# include +# elif BOOST_PP_LIMIT_TUPLE == 128 +# include +# include +# elif BOOST_PP_LIMIT_TUPLE == 256 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_TUPLE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/variadic/detail/has_opt.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/detail/has_opt.hpp new file mode 100644 index 0000000000..547a20bc38 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/detail/has_opt.hpp @@ -0,0 +1,39 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2019. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_DETAIL_HAS_OPT_HPP +# define BOOST_PREPROCESSOR_VARIADIC_DETAIL_HAS_OPT_HPP +# +# include +# +# if defined(__cplusplus) && __cplusplus > 201703L +# +# if BOOST_PP_VARIADICS_MSVC +# include +# endif +# +# define BOOST_PP_VARIADIC_HAS_OPT_FUNCTION(...) \ + __VA_OPT__(,) , 1, 0 \ +/**/ +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_HAS_OPT_ELEM0(e0, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_HAS_OPT_ELEM_0(e0,__VA_ARGS__),) +# define BOOST_PP_VARIADIC_HAS_OPT_ELEM2(e0, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_HAS_OPT_ELEM_2(e0,__VA_ARGS__),) +# else +# define BOOST_PP_VARIADIC_HAS_OPT_ELEM0(e0, ...) BOOST_PP_VARIADIC_HAS_OPT_ELEM_0(e0,__VA_ARGS__) +# define BOOST_PP_VARIADIC_HAS_OPT_ELEM2(e0, ...) BOOST_PP_VARIADIC_HAS_OPT_ELEM_2(e0,__VA_ARGS__) +# endif +# define BOOST_PP_VARIADIC_HAS_OPT_ELEM_0(e0, ...) e0 +# define BOOST_PP_VARIADIC_HAS_OPT_ELEM_2(e0, e1, e2, ...) e2 +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/variadic/elem.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/elem.hpp new file mode 100644 index 0000000000..15a8e06967 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/elem.hpp @@ -0,0 +1,116 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP +# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP +# +# include +# include +# +# /* BOOST_PP_VARIADIC_ELEM */ +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__) +# define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),) +# else +# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0 +# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1 +# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2 +# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3 +# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4 +# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5 +# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6 +# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7 +# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8 +# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9 +# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10 +# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11 +# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12 +# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13 +# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14 +# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15 +# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16 +# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17 +# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18 +# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19 +# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20 +# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21 +# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22 +# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23 +# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24 +# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25 +# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26 +# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27 +# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28 +# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29 +# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30 +# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31 +# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32 +# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33 +# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34 +# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35 +# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36 +# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37 +# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38 +# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39 +# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40 +# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41 +# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42 +# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43 +# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44 +# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45 +# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46 +# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47 +# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48 +# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49 +# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50 +# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51 +# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52 +# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53 +# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54 +# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55 +# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56 +# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57 +# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58 +# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59 +# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60 +# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61 +# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62 +# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63 +# +# else +# +# include +# +# if BOOST_PP_LIMIT_VARIADIC == 64 +# include +# elif BOOST_PP_LIMIT_VARIADIC == 128 +# include +# include +# elif BOOST_PP_LIMIT_VARIADIC == 256 +# include +# include +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_TUPLE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/variadic/has_opt.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/has_opt.hpp new file mode 100644 index 0000000000..8a5e63dbb8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/has_opt.hpp @@ -0,0 +1,34 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2019. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_HAS_OPT_HPP +# define BOOST_PREPROCESSOR_VARIADIC_HAS_OPT_HPP +# +# include +# +# /* BOOST_PP_VARIADIC_HAS_OPT */ +# +# if defined(__cplusplus) && __cplusplus > 201703L +# if defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 8 && __GNUC__ < 10 +# define BOOST_PP_VARIADIC_HAS_OPT() 0 +# elif defined(__clang__) && __clang_major__ < 9 +# define BOOST_PP_VARIADIC_HAS_OPT() 0 +# else +# include +# define BOOST_PP_VARIADIC_HAS_OPT() \ + BOOST_PP_VARIADIC_HAS_OPT_ELEM2(BOOST_PP_VARIADIC_HAS_OPT_FUNCTION(?),) \ +/**/ +# endif +# else +# define BOOST_PP_VARIADIC_HAS_OPT() 0 +# endif +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_128.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_128.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_128.hpp rename to external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_128.hpp index 66d9686cd0..58aebb85dc 100644 --- a/external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_128.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_128.hpp @@ -1,275 +1,275 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_128_HPP -# define BOOST_PREPROCESSOR_VARIADIC_ELEM_128_HPP -# -# define BOOST_PP_VARIADIC_ELEM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, \ - ... \ - ) e64 -# define BOOST_PP_VARIADIC_ELEM_65(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, \ - ... \ - ) e65 -# define BOOST_PP_VARIADIC_ELEM_66(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, \ - ... \ - ) e66 -# define BOOST_PP_VARIADIC_ELEM_67(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, \ - ... \ - ) e67 -# define BOOST_PP_VARIADIC_ELEM_68(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, \ - ... \ - ) e68 -# define BOOST_PP_VARIADIC_ELEM_69(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, \ - ... \ - ) e69 -# define BOOST_PP_VARIADIC_ELEM_70(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, \ - ... \ - ) e70 -# define BOOST_PP_VARIADIC_ELEM_71(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, \ - ... \ - ) e71 -# define BOOST_PP_VARIADIC_ELEM_72(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, \ - ... \ - ) e72 -# define BOOST_PP_VARIADIC_ELEM_73(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, \ - ... \ - ) e73 -# define BOOST_PP_VARIADIC_ELEM_74(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, \ - ... \ - ) e74 -# define BOOST_PP_VARIADIC_ELEM_75(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, \ - ... \ - ) e75 -# define BOOST_PP_VARIADIC_ELEM_76(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, \ - ... \ - ) e76 -# define BOOST_PP_VARIADIC_ELEM_77(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, \ - ... \ - ) e77 -# define BOOST_PP_VARIADIC_ELEM_78(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, \ - ... \ - ) e78 -# define BOOST_PP_VARIADIC_ELEM_79(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, \ - ... \ - ) e79 -# define BOOST_PP_VARIADIC_ELEM_80(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, \ - ... \ - ) e80 -# define BOOST_PP_VARIADIC_ELEM_81(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, \ - ... \ - ) e81 -# define BOOST_PP_VARIADIC_ELEM_82(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, \ - ... \ - ) e82 -# define BOOST_PP_VARIADIC_ELEM_83(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, \ - ... \ - ) e83 -# define BOOST_PP_VARIADIC_ELEM_84(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, \ - ... \ - ) e84 -# define BOOST_PP_VARIADIC_ELEM_85(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, \ - ... \ - ) e85 -# define BOOST_PP_VARIADIC_ELEM_86(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, \ - ... \ - ) e86 -# define BOOST_PP_VARIADIC_ELEM_87(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, \ - ... \ - ) e87 -# define BOOST_PP_VARIADIC_ELEM_88(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, \ - ... \ - ) e88 -# define BOOST_PP_VARIADIC_ELEM_89(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, \ - ... \ - ) e89 -# define BOOST_PP_VARIADIC_ELEM_90(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, \ - ... \ - ) e90 -# define BOOST_PP_VARIADIC_ELEM_91(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, \ - ... \ - ) e91 -# define BOOST_PP_VARIADIC_ELEM_92(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, \ - ... \ - ) e92 -# define BOOST_PP_VARIADIC_ELEM_93(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, \ - ... \ - ) e93 -# define BOOST_PP_VARIADIC_ELEM_94(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, \ - ... \ - ) e94 -# define BOOST_PP_VARIADIC_ELEM_95(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, \ - ... \ - ) e95 -# define BOOST_PP_VARIADIC_ELEM_96(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, \ - ... \ - ) e96 -# define BOOST_PP_VARIADIC_ELEM_97(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, \ - ... \ - ) e97 -# define BOOST_PP_VARIADIC_ELEM_98(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, \ - ... \ - ) e98 -# define BOOST_PP_VARIADIC_ELEM_99(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, \ - ... \ - ) e99 -# define BOOST_PP_VARIADIC_ELEM_100(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, \ - ... \ - ) e100 -# define BOOST_PP_VARIADIC_ELEM_101(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, \ - ... \ - ) e101 -# define BOOST_PP_VARIADIC_ELEM_102(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, \ - ... \ - ) e102 -# define BOOST_PP_VARIADIC_ELEM_103(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, \ - ... \ - ) e103 -# define BOOST_PP_VARIADIC_ELEM_104(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, \ - ... \ - ) e104 -# define BOOST_PP_VARIADIC_ELEM_105(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, \ - ... \ - ) e105 -# define BOOST_PP_VARIADIC_ELEM_106(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, \ - ... \ - ) e106 -# define BOOST_PP_VARIADIC_ELEM_107(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, \ - ... \ - ) e107 -# define BOOST_PP_VARIADIC_ELEM_108(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, \ - ... \ - ) e108 -# define BOOST_PP_VARIADIC_ELEM_109(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, \ - ... \ - ) e109 -# define BOOST_PP_VARIADIC_ELEM_110(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, \ - ... \ - ) e110 -# define BOOST_PP_VARIADIC_ELEM_111(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, \ - ... \ - ) e111 -# define BOOST_PP_VARIADIC_ELEM_112(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, \ - ... \ - ) e112 -# define BOOST_PP_VARIADIC_ELEM_113(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, \ - ... \ - ) e113 -# define BOOST_PP_VARIADIC_ELEM_114(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, \ - ... \ - ) e114 -# define BOOST_PP_VARIADIC_ELEM_115(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, \ - ... \ - ) e115 -# define BOOST_PP_VARIADIC_ELEM_116(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, \ - ... \ - ) e116 -# define BOOST_PP_VARIADIC_ELEM_117(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, \ - ... \ - ) e117 -# define BOOST_PP_VARIADIC_ELEM_118(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, \ - ... \ - ) e118 -# define BOOST_PP_VARIADIC_ELEM_119(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, \ - ... \ - ) e119 -# define BOOST_PP_VARIADIC_ELEM_120(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, \ - ... \ - ) e120 -# define BOOST_PP_VARIADIC_ELEM_121(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, \ - ... \ - ) e121 -# define BOOST_PP_VARIADIC_ELEM_122(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, \ - ... \ - ) e122 -# define BOOST_PP_VARIADIC_ELEM_123(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, \ - ... \ - ) e123 -# define BOOST_PP_VARIADIC_ELEM_124(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, \ - ... \ - ) e124 -# define BOOST_PP_VARIADIC_ELEM_125(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, \ - ... \ - ) e125 -# define BOOST_PP_VARIADIC_ELEM_126(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, \ - ... \ - ) e126 -# define BOOST_PP_VARIADIC_ELEM_127(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - ... \ - ) e127 -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_128_HPP +# define BOOST_PREPROCESSOR_VARIADIC_ELEM_128_HPP +# +# define BOOST_PP_VARIADIC_ELEM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, \ + ... \ + ) e64 +# define BOOST_PP_VARIADIC_ELEM_65(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, \ + ... \ + ) e65 +# define BOOST_PP_VARIADIC_ELEM_66(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, \ + ... \ + ) e66 +# define BOOST_PP_VARIADIC_ELEM_67(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, \ + ... \ + ) e67 +# define BOOST_PP_VARIADIC_ELEM_68(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, \ + ... \ + ) e68 +# define BOOST_PP_VARIADIC_ELEM_69(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, \ + ... \ + ) e69 +# define BOOST_PP_VARIADIC_ELEM_70(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, \ + ... \ + ) e70 +# define BOOST_PP_VARIADIC_ELEM_71(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, \ + ... \ + ) e71 +# define BOOST_PP_VARIADIC_ELEM_72(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, \ + ... \ + ) e72 +# define BOOST_PP_VARIADIC_ELEM_73(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, \ + ... \ + ) e73 +# define BOOST_PP_VARIADIC_ELEM_74(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, \ + ... \ + ) e74 +# define BOOST_PP_VARIADIC_ELEM_75(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, \ + ... \ + ) e75 +# define BOOST_PP_VARIADIC_ELEM_76(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, \ + ... \ + ) e76 +# define BOOST_PP_VARIADIC_ELEM_77(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, \ + ... \ + ) e77 +# define BOOST_PP_VARIADIC_ELEM_78(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, \ + ... \ + ) e78 +# define BOOST_PP_VARIADIC_ELEM_79(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, \ + ... \ + ) e79 +# define BOOST_PP_VARIADIC_ELEM_80(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, \ + ... \ + ) e80 +# define BOOST_PP_VARIADIC_ELEM_81(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, \ + ... \ + ) e81 +# define BOOST_PP_VARIADIC_ELEM_82(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, \ + ... \ + ) e82 +# define BOOST_PP_VARIADIC_ELEM_83(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, \ + ... \ + ) e83 +# define BOOST_PP_VARIADIC_ELEM_84(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, \ + ... \ + ) e84 +# define BOOST_PP_VARIADIC_ELEM_85(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, \ + ... \ + ) e85 +# define BOOST_PP_VARIADIC_ELEM_86(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, \ + ... \ + ) e86 +# define BOOST_PP_VARIADIC_ELEM_87(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, \ + ... \ + ) e87 +# define BOOST_PP_VARIADIC_ELEM_88(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, \ + ... \ + ) e88 +# define BOOST_PP_VARIADIC_ELEM_89(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, \ + ... \ + ) e89 +# define BOOST_PP_VARIADIC_ELEM_90(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, \ + ... \ + ) e90 +# define BOOST_PP_VARIADIC_ELEM_91(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, \ + ... \ + ) e91 +# define BOOST_PP_VARIADIC_ELEM_92(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, \ + ... \ + ) e92 +# define BOOST_PP_VARIADIC_ELEM_93(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, \ + ... \ + ) e93 +# define BOOST_PP_VARIADIC_ELEM_94(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, \ + ... \ + ) e94 +# define BOOST_PP_VARIADIC_ELEM_95(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, \ + ... \ + ) e95 +# define BOOST_PP_VARIADIC_ELEM_96(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, \ + ... \ + ) e96 +# define BOOST_PP_VARIADIC_ELEM_97(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, \ + ... \ + ) e97 +# define BOOST_PP_VARIADIC_ELEM_98(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, \ + ... \ + ) e98 +# define BOOST_PP_VARIADIC_ELEM_99(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, \ + ... \ + ) e99 +# define BOOST_PP_VARIADIC_ELEM_100(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, \ + ... \ + ) e100 +# define BOOST_PP_VARIADIC_ELEM_101(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, \ + ... \ + ) e101 +# define BOOST_PP_VARIADIC_ELEM_102(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, \ + ... \ + ) e102 +# define BOOST_PP_VARIADIC_ELEM_103(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, \ + ... \ + ) e103 +# define BOOST_PP_VARIADIC_ELEM_104(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, \ + ... \ + ) e104 +# define BOOST_PP_VARIADIC_ELEM_105(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, \ + ... \ + ) e105 +# define BOOST_PP_VARIADIC_ELEM_106(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, \ + ... \ + ) e106 +# define BOOST_PP_VARIADIC_ELEM_107(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, \ + ... \ + ) e107 +# define BOOST_PP_VARIADIC_ELEM_108(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, \ + ... \ + ) e108 +# define BOOST_PP_VARIADIC_ELEM_109(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, \ + ... \ + ) e109 +# define BOOST_PP_VARIADIC_ELEM_110(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, \ + ... \ + ) e110 +# define BOOST_PP_VARIADIC_ELEM_111(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, \ + ... \ + ) e111 +# define BOOST_PP_VARIADIC_ELEM_112(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, \ + ... \ + ) e112 +# define BOOST_PP_VARIADIC_ELEM_113(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, \ + ... \ + ) e113 +# define BOOST_PP_VARIADIC_ELEM_114(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, \ + ... \ + ) e114 +# define BOOST_PP_VARIADIC_ELEM_115(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, \ + ... \ + ) e115 +# define BOOST_PP_VARIADIC_ELEM_116(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, \ + ... \ + ) e116 +# define BOOST_PP_VARIADIC_ELEM_117(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, \ + ... \ + ) e117 +# define BOOST_PP_VARIADIC_ELEM_118(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, \ + ... \ + ) e118 +# define BOOST_PP_VARIADIC_ELEM_119(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, \ + ... \ + ) e119 +# define BOOST_PP_VARIADIC_ELEM_120(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, \ + ... \ + ) e120 +# define BOOST_PP_VARIADIC_ELEM_121(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, \ + ... \ + ) e121 +# define BOOST_PP_VARIADIC_ELEM_122(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, \ + ... \ + ) e122 +# define BOOST_PP_VARIADIC_ELEM_123(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, \ + ... \ + ) e123 +# define BOOST_PP_VARIADIC_ELEM_124(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, \ + ... \ + ) e124 +# define BOOST_PP_VARIADIC_ELEM_125(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, \ + ... \ + ) e125 +# define BOOST_PP_VARIADIC_ELEM_126(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, \ + ... \ + ) e126 +# define BOOST_PP_VARIADIC_ELEM_127(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + ... \ + ) e127 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_256.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_256.hpp index 7456d9f695..c750b2723c 100644 --- a/external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_256.hpp @@ -1,723 +1,723 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_256_HPP -# define BOOST_PREPROCESSOR_VARIADIC_ELEM_256_HPP -# -# define BOOST_PP_VARIADIC_ELEM_128(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, \ - ... \ - ) e128 -# define BOOST_PP_VARIADIC_ELEM_129(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, \ - ... \ - ) e129 -# define BOOST_PP_VARIADIC_ELEM_130(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, \ - ... \ - ) e130 -# define BOOST_PP_VARIADIC_ELEM_131(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, \ - ... \ - ) e131 -# define BOOST_PP_VARIADIC_ELEM_132(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, \ - ... \ - ) e132 -# define BOOST_PP_VARIADIC_ELEM_133(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, \ - ... \ - ) e133 -# define BOOST_PP_VARIADIC_ELEM_134(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, \ - ... \ - ) e134 -# define BOOST_PP_VARIADIC_ELEM_135(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, \ - ... \ - ) e135 -# define BOOST_PP_VARIADIC_ELEM_136(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, \ - ... \ - ) e136 -# define BOOST_PP_VARIADIC_ELEM_137(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, \ - ... \ - ) e137 -# define BOOST_PP_VARIADIC_ELEM_138(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, \ - ... \ - ) e138 -# define BOOST_PP_VARIADIC_ELEM_139(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, \ - ... \ - ) e139 -# define BOOST_PP_VARIADIC_ELEM_140(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, \ - ... \ - ) e140 -# define BOOST_PP_VARIADIC_ELEM_141(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, \ - ... \ - ) e141 -# define BOOST_PP_VARIADIC_ELEM_142(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, \ - ... \ - ) e142 -# define BOOST_PP_VARIADIC_ELEM_143(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, \ - ... \ - ) e143 -# define BOOST_PP_VARIADIC_ELEM_144(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, \ - ... \ - ) e144 -# define BOOST_PP_VARIADIC_ELEM_145(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, \ - ... \ - ) e145 -# define BOOST_PP_VARIADIC_ELEM_146(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, \ - ... \ - ) e146 -# define BOOST_PP_VARIADIC_ELEM_147(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, \ - ... \ - ) e147 -# define BOOST_PP_VARIADIC_ELEM_148(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, \ - ... \ - ) e148 -# define BOOST_PP_VARIADIC_ELEM_149(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, \ - ... \ - ) e149 -# define BOOST_PP_VARIADIC_ELEM_150(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, \ - ... \ - ) e150 -# define BOOST_PP_VARIADIC_ELEM_151(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, \ - ... \ - ) e151 -# define BOOST_PP_VARIADIC_ELEM_152(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, \ - ... \ - ) e152 -# define BOOST_PP_VARIADIC_ELEM_153(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, \ - ... \ - ) e153 -# define BOOST_PP_VARIADIC_ELEM_154(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, \ - ... \ - ) e154 -# define BOOST_PP_VARIADIC_ELEM_155(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, \ - ... \ - ) e155 -# define BOOST_PP_VARIADIC_ELEM_156(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, \ - ... \ - ) e156 -# define BOOST_PP_VARIADIC_ELEM_157(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, \ - ... \ - ) e157 -# define BOOST_PP_VARIADIC_ELEM_158(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, \ - ... \ - ) e158 -# define BOOST_PP_VARIADIC_ELEM_159(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, \ - ... \ - ) e159 -# define BOOST_PP_VARIADIC_ELEM_160(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, \ - ... \ - ) e160 -# define BOOST_PP_VARIADIC_ELEM_161(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, \ - ... \ - ) e161 -# define BOOST_PP_VARIADIC_ELEM_162(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, \ - ... \ - ) e162 -# define BOOST_PP_VARIADIC_ELEM_163(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, \ - ... \ - ) e163 -# define BOOST_PP_VARIADIC_ELEM_164(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, \ - ... \ - ) e164 -# define BOOST_PP_VARIADIC_ELEM_165(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, \ - ... \ - ) e165 -# define BOOST_PP_VARIADIC_ELEM_166(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, \ - ... \ - ) e166 -# define BOOST_PP_VARIADIC_ELEM_167(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, \ - ... \ - ) e167 -# define BOOST_PP_VARIADIC_ELEM_168(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, \ - ... \ - ) e168 -# define BOOST_PP_VARIADIC_ELEM_169(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, \ - ... \ - ) e169 -# define BOOST_PP_VARIADIC_ELEM_170(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, \ - ... \ - ) e170 -# define BOOST_PP_VARIADIC_ELEM_171(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, \ - ... \ - ) e171 -# define BOOST_PP_VARIADIC_ELEM_172(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, \ - ... \ - ) e172 -# define BOOST_PP_VARIADIC_ELEM_173(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, \ - ... \ - ) e173 -# define BOOST_PP_VARIADIC_ELEM_174(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, \ - ... \ - ) e174 -# define BOOST_PP_VARIADIC_ELEM_175(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, \ - ... \ - ) e175 -# define BOOST_PP_VARIADIC_ELEM_176(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, \ - ... \ - ) e176 -# define BOOST_PP_VARIADIC_ELEM_177(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, \ - ... \ - ) e177 -# define BOOST_PP_VARIADIC_ELEM_178(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, \ - ... \ - ) e178 -# define BOOST_PP_VARIADIC_ELEM_179(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, \ - ... \ - ) e179 -# define BOOST_PP_VARIADIC_ELEM_180(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, \ - ... \ - ) e180 -# define BOOST_PP_VARIADIC_ELEM_181(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, \ - ... \ - ) e181 -# define BOOST_PP_VARIADIC_ELEM_182(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, \ - ... \ - ) e182 -# define BOOST_PP_VARIADIC_ELEM_183(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, \ - ... \ - ) e183 -# define BOOST_PP_VARIADIC_ELEM_184(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, \ - ... \ - ) e184 -# define BOOST_PP_VARIADIC_ELEM_185(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, \ - ... \ - ) e185 -# define BOOST_PP_VARIADIC_ELEM_186(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, \ - ... \ - ) e186 -# define BOOST_PP_VARIADIC_ELEM_187(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, \ - ... \ - ) e187 -# define BOOST_PP_VARIADIC_ELEM_188(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, \ - ... \ - ) e188 -# define BOOST_PP_VARIADIC_ELEM_189(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, \ - ... \ - ) e189 -# define BOOST_PP_VARIADIC_ELEM_190(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, \ - ... \ - ) e190 -# define BOOST_PP_VARIADIC_ELEM_191(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - ... \ - ) e191 -# define BOOST_PP_VARIADIC_ELEM_192(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, \ - ... \ - ) e192 -# define BOOST_PP_VARIADIC_ELEM_193(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, \ - ... \ - ) e193 -# define BOOST_PP_VARIADIC_ELEM_194(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, \ - ... \ - ) e194 -# define BOOST_PP_VARIADIC_ELEM_195(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, \ - ... \ - ) e195 -# define BOOST_PP_VARIADIC_ELEM_196(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, \ - ... \ - ) e196 -# define BOOST_PP_VARIADIC_ELEM_197(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, \ - ... \ - ) e197 -# define BOOST_PP_VARIADIC_ELEM_198(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, \ - ... \ - ) e198 -# define BOOST_PP_VARIADIC_ELEM_199(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, \ - ... \ - ) e199 -# define BOOST_PP_VARIADIC_ELEM_200(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, \ - ... \ - ) e200 -# define BOOST_PP_VARIADIC_ELEM_201(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, \ - ... \ - ) e201 -# define BOOST_PP_VARIADIC_ELEM_202(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, \ - ... \ - ) e202 -# define BOOST_PP_VARIADIC_ELEM_203(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, \ - ... \ - ) e203 -# define BOOST_PP_VARIADIC_ELEM_204(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, \ - ... \ - ) e204 -# define BOOST_PP_VARIADIC_ELEM_205(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, \ - ... \ - ) e205 -# define BOOST_PP_VARIADIC_ELEM_206(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, \ - ... \ - ) e206 -# define BOOST_PP_VARIADIC_ELEM_207(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, \ - ... \ - ) e207 -# define BOOST_PP_VARIADIC_ELEM_208(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, \ - ... \ - ) e208 -# define BOOST_PP_VARIADIC_ELEM_209(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, \ - ... \ - ) e209 -# define BOOST_PP_VARIADIC_ELEM_210(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, \ - ... \ - ) e210 -# define BOOST_PP_VARIADIC_ELEM_211(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, \ - ... \ - ) e211 -# define BOOST_PP_VARIADIC_ELEM_212(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, \ - ... \ - ) e212 -# define BOOST_PP_VARIADIC_ELEM_213(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, \ - ... \ - ) e213 -# define BOOST_PP_VARIADIC_ELEM_214(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, \ - ... \ - ) e214 -# define BOOST_PP_VARIADIC_ELEM_215(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, \ - ... \ - ) e215 -# define BOOST_PP_VARIADIC_ELEM_216(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, \ - ... \ - ) e216 -# define BOOST_PP_VARIADIC_ELEM_217(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, \ - ... \ - ) e217 -# define BOOST_PP_VARIADIC_ELEM_218(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, \ - ... \ - ) e218 -# define BOOST_PP_VARIADIC_ELEM_219(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, \ - ... \ - ) e219 -# define BOOST_PP_VARIADIC_ELEM_220(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, \ - ... \ - ) e220 -# define BOOST_PP_VARIADIC_ELEM_221(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, \ - ... \ - ) e221 -# define BOOST_PP_VARIADIC_ELEM_222(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, \ - ... \ - ) e222 -# define BOOST_PP_VARIADIC_ELEM_223(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, \ - ... \ - ) e223 -# define BOOST_PP_VARIADIC_ELEM_224(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, \ - ... \ - ) e224 -# define BOOST_PP_VARIADIC_ELEM_225(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, \ - ... \ - ) e225 -# define BOOST_PP_VARIADIC_ELEM_226(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, \ - ... \ - ) e226 -# define BOOST_PP_VARIADIC_ELEM_227(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, \ - ... \ - ) e227 -# define BOOST_PP_VARIADIC_ELEM_228(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, \ - ... \ - ) e228 -# define BOOST_PP_VARIADIC_ELEM_229(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, \ - ... \ - ) e229 -# define BOOST_PP_VARIADIC_ELEM_230(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, \ - ... \ - ) e230 -# define BOOST_PP_VARIADIC_ELEM_231(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, \ - ... \ - ) e231 -# define BOOST_PP_VARIADIC_ELEM_232(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, \ - ... \ - ) e232 -# define BOOST_PP_VARIADIC_ELEM_233(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, \ - ... \ - ) e233 -# define BOOST_PP_VARIADIC_ELEM_234(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, \ - ... \ - ) e234 -# define BOOST_PP_VARIADIC_ELEM_235(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, \ - ... \ - ) e235 -# define BOOST_PP_VARIADIC_ELEM_236(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, \ - ... \ - ) e236 -# define BOOST_PP_VARIADIC_ELEM_237(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, \ - ... \ - ) e237 -# define BOOST_PP_VARIADIC_ELEM_238(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, \ - ... \ - ) e238 -# define BOOST_PP_VARIADIC_ELEM_239(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, \ - ... \ - ) e239 -# define BOOST_PP_VARIADIC_ELEM_240(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, \ - ... \ - ) e240 -# define BOOST_PP_VARIADIC_ELEM_241(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, \ - ... \ - ) e241 -# define BOOST_PP_VARIADIC_ELEM_242(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, \ - ... \ - ) e242 -# define BOOST_PP_VARIADIC_ELEM_243(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, \ - ... \ - ) e243 -# define BOOST_PP_VARIADIC_ELEM_244(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, \ - ... \ - ) e244 -# define BOOST_PP_VARIADIC_ELEM_245(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, \ - ... \ - ) e245 -# define BOOST_PP_VARIADIC_ELEM_246(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, \ - ... \ - ) e246 -# define BOOST_PP_VARIADIC_ELEM_247(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, \ - ... \ - ) e247 -# define BOOST_PP_VARIADIC_ELEM_248(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, \ - ... \ - ) e248 -# define BOOST_PP_VARIADIC_ELEM_249(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, \ - ... \ - ) e249 -# define BOOST_PP_VARIADIC_ELEM_250(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, \ - ... \ - ) e250 -# define BOOST_PP_VARIADIC_ELEM_251(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, \ - ... \ - ) e251 -# define BOOST_PP_VARIADIC_ELEM_252(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, \ - ... \ - ) e252 -# define BOOST_PP_VARIADIC_ELEM_253(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, \ - ... \ - ) e253 -# define BOOST_PP_VARIADIC_ELEM_254(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, \ - ... \ - ) e254 -# define BOOST_PP_VARIADIC_ELEM_255(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, e255, \ - ... \ - ) e255 -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_256_HPP +# define BOOST_PREPROCESSOR_VARIADIC_ELEM_256_HPP +# +# define BOOST_PP_VARIADIC_ELEM_128(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, \ + ... \ + ) e128 +# define BOOST_PP_VARIADIC_ELEM_129(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, \ + ... \ + ) e129 +# define BOOST_PP_VARIADIC_ELEM_130(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, \ + ... \ + ) e130 +# define BOOST_PP_VARIADIC_ELEM_131(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, \ + ... \ + ) e131 +# define BOOST_PP_VARIADIC_ELEM_132(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, \ + ... \ + ) e132 +# define BOOST_PP_VARIADIC_ELEM_133(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, \ + ... \ + ) e133 +# define BOOST_PP_VARIADIC_ELEM_134(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, \ + ... \ + ) e134 +# define BOOST_PP_VARIADIC_ELEM_135(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, \ + ... \ + ) e135 +# define BOOST_PP_VARIADIC_ELEM_136(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, \ + ... \ + ) e136 +# define BOOST_PP_VARIADIC_ELEM_137(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, \ + ... \ + ) e137 +# define BOOST_PP_VARIADIC_ELEM_138(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, \ + ... \ + ) e138 +# define BOOST_PP_VARIADIC_ELEM_139(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, \ + ... \ + ) e139 +# define BOOST_PP_VARIADIC_ELEM_140(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, \ + ... \ + ) e140 +# define BOOST_PP_VARIADIC_ELEM_141(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, \ + ... \ + ) e141 +# define BOOST_PP_VARIADIC_ELEM_142(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, \ + ... \ + ) e142 +# define BOOST_PP_VARIADIC_ELEM_143(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, \ + ... \ + ) e143 +# define BOOST_PP_VARIADIC_ELEM_144(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, \ + ... \ + ) e144 +# define BOOST_PP_VARIADIC_ELEM_145(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, \ + ... \ + ) e145 +# define BOOST_PP_VARIADIC_ELEM_146(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, \ + ... \ + ) e146 +# define BOOST_PP_VARIADIC_ELEM_147(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, \ + ... \ + ) e147 +# define BOOST_PP_VARIADIC_ELEM_148(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, \ + ... \ + ) e148 +# define BOOST_PP_VARIADIC_ELEM_149(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, \ + ... \ + ) e149 +# define BOOST_PP_VARIADIC_ELEM_150(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, \ + ... \ + ) e150 +# define BOOST_PP_VARIADIC_ELEM_151(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, \ + ... \ + ) e151 +# define BOOST_PP_VARIADIC_ELEM_152(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, \ + ... \ + ) e152 +# define BOOST_PP_VARIADIC_ELEM_153(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, \ + ... \ + ) e153 +# define BOOST_PP_VARIADIC_ELEM_154(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, \ + ... \ + ) e154 +# define BOOST_PP_VARIADIC_ELEM_155(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, \ + ... \ + ) e155 +# define BOOST_PP_VARIADIC_ELEM_156(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, \ + ... \ + ) e156 +# define BOOST_PP_VARIADIC_ELEM_157(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, \ + ... \ + ) e157 +# define BOOST_PP_VARIADIC_ELEM_158(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, \ + ... \ + ) e158 +# define BOOST_PP_VARIADIC_ELEM_159(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, \ + ... \ + ) e159 +# define BOOST_PP_VARIADIC_ELEM_160(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, \ + ... \ + ) e160 +# define BOOST_PP_VARIADIC_ELEM_161(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, \ + ... \ + ) e161 +# define BOOST_PP_VARIADIC_ELEM_162(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, \ + ... \ + ) e162 +# define BOOST_PP_VARIADIC_ELEM_163(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, \ + ... \ + ) e163 +# define BOOST_PP_VARIADIC_ELEM_164(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, \ + ... \ + ) e164 +# define BOOST_PP_VARIADIC_ELEM_165(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, \ + ... \ + ) e165 +# define BOOST_PP_VARIADIC_ELEM_166(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, \ + ... \ + ) e166 +# define BOOST_PP_VARIADIC_ELEM_167(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, \ + ... \ + ) e167 +# define BOOST_PP_VARIADIC_ELEM_168(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, \ + ... \ + ) e168 +# define BOOST_PP_VARIADIC_ELEM_169(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, \ + ... \ + ) e169 +# define BOOST_PP_VARIADIC_ELEM_170(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, \ + ... \ + ) e170 +# define BOOST_PP_VARIADIC_ELEM_171(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, \ + ... \ + ) e171 +# define BOOST_PP_VARIADIC_ELEM_172(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, \ + ... \ + ) e172 +# define BOOST_PP_VARIADIC_ELEM_173(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, \ + ... \ + ) e173 +# define BOOST_PP_VARIADIC_ELEM_174(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, \ + ... \ + ) e174 +# define BOOST_PP_VARIADIC_ELEM_175(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, \ + ... \ + ) e175 +# define BOOST_PP_VARIADIC_ELEM_176(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, \ + ... \ + ) e176 +# define BOOST_PP_VARIADIC_ELEM_177(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, \ + ... \ + ) e177 +# define BOOST_PP_VARIADIC_ELEM_178(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, \ + ... \ + ) e178 +# define BOOST_PP_VARIADIC_ELEM_179(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, \ + ... \ + ) e179 +# define BOOST_PP_VARIADIC_ELEM_180(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, \ + ... \ + ) e180 +# define BOOST_PP_VARIADIC_ELEM_181(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, \ + ... \ + ) e181 +# define BOOST_PP_VARIADIC_ELEM_182(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, \ + ... \ + ) e182 +# define BOOST_PP_VARIADIC_ELEM_183(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, \ + ... \ + ) e183 +# define BOOST_PP_VARIADIC_ELEM_184(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, \ + ... \ + ) e184 +# define BOOST_PP_VARIADIC_ELEM_185(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, \ + ... \ + ) e185 +# define BOOST_PP_VARIADIC_ELEM_186(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, \ + ... \ + ) e186 +# define BOOST_PP_VARIADIC_ELEM_187(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, \ + ... \ + ) e187 +# define BOOST_PP_VARIADIC_ELEM_188(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, \ + ... \ + ) e188 +# define BOOST_PP_VARIADIC_ELEM_189(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, \ + ... \ + ) e189 +# define BOOST_PP_VARIADIC_ELEM_190(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, \ + ... \ + ) e190 +# define BOOST_PP_VARIADIC_ELEM_191(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + ... \ + ) e191 +# define BOOST_PP_VARIADIC_ELEM_192(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, \ + ... \ + ) e192 +# define BOOST_PP_VARIADIC_ELEM_193(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, \ + ... \ + ) e193 +# define BOOST_PP_VARIADIC_ELEM_194(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, \ + ... \ + ) e194 +# define BOOST_PP_VARIADIC_ELEM_195(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, \ + ... \ + ) e195 +# define BOOST_PP_VARIADIC_ELEM_196(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, \ + ... \ + ) e196 +# define BOOST_PP_VARIADIC_ELEM_197(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, \ + ... \ + ) e197 +# define BOOST_PP_VARIADIC_ELEM_198(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, \ + ... \ + ) e198 +# define BOOST_PP_VARIADIC_ELEM_199(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, \ + ... \ + ) e199 +# define BOOST_PP_VARIADIC_ELEM_200(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, \ + ... \ + ) e200 +# define BOOST_PP_VARIADIC_ELEM_201(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, \ + ... \ + ) e201 +# define BOOST_PP_VARIADIC_ELEM_202(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, \ + ... \ + ) e202 +# define BOOST_PP_VARIADIC_ELEM_203(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, \ + ... \ + ) e203 +# define BOOST_PP_VARIADIC_ELEM_204(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, \ + ... \ + ) e204 +# define BOOST_PP_VARIADIC_ELEM_205(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, \ + ... \ + ) e205 +# define BOOST_PP_VARIADIC_ELEM_206(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, \ + ... \ + ) e206 +# define BOOST_PP_VARIADIC_ELEM_207(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, \ + ... \ + ) e207 +# define BOOST_PP_VARIADIC_ELEM_208(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, \ + ... \ + ) e208 +# define BOOST_PP_VARIADIC_ELEM_209(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, \ + ... \ + ) e209 +# define BOOST_PP_VARIADIC_ELEM_210(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, \ + ... \ + ) e210 +# define BOOST_PP_VARIADIC_ELEM_211(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, \ + ... \ + ) e211 +# define BOOST_PP_VARIADIC_ELEM_212(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, \ + ... \ + ) e212 +# define BOOST_PP_VARIADIC_ELEM_213(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, \ + ... \ + ) e213 +# define BOOST_PP_VARIADIC_ELEM_214(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, \ + ... \ + ) e214 +# define BOOST_PP_VARIADIC_ELEM_215(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, \ + ... \ + ) e215 +# define BOOST_PP_VARIADIC_ELEM_216(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, \ + ... \ + ) e216 +# define BOOST_PP_VARIADIC_ELEM_217(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, \ + ... \ + ) e217 +# define BOOST_PP_VARIADIC_ELEM_218(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, \ + ... \ + ) e218 +# define BOOST_PP_VARIADIC_ELEM_219(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, \ + ... \ + ) e219 +# define BOOST_PP_VARIADIC_ELEM_220(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, \ + ... \ + ) e220 +# define BOOST_PP_VARIADIC_ELEM_221(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, \ + ... \ + ) e221 +# define BOOST_PP_VARIADIC_ELEM_222(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, \ + ... \ + ) e222 +# define BOOST_PP_VARIADIC_ELEM_223(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, \ + ... \ + ) e223 +# define BOOST_PP_VARIADIC_ELEM_224(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, \ + ... \ + ) e224 +# define BOOST_PP_VARIADIC_ELEM_225(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, \ + ... \ + ) e225 +# define BOOST_PP_VARIADIC_ELEM_226(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, \ + ... \ + ) e226 +# define BOOST_PP_VARIADIC_ELEM_227(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, \ + ... \ + ) e227 +# define BOOST_PP_VARIADIC_ELEM_228(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, \ + ... \ + ) e228 +# define BOOST_PP_VARIADIC_ELEM_229(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, \ + ... \ + ) e229 +# define BOOST_PP_VARIADIC_ELEM_230(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, \ + ... \ + ) e230 +# define BOOST_PP_VARIADIC_ELEM_231(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, \ + ... \ + ) e231 +# define BOOST_PP_VARIADIC_ELEM_232(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, \ + ... \ + ) e232 +# define BOOST_PP_VARIADIC_ELEM_233(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, \ + ... \ + ) e233 +# define BOOST_PP_VARIADIC_ELEM_234(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, \ + ... \ + ) e234 +# define BOOST_PP_VARIADIC_ELEM_235(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, \ + ... \ + ) e235 +# define BOOST_PP_VARIADIC_ELEM_236(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, \ + ... \ + ) e236 +# define BOOST_PP_VARIADIC_ELEM_237(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, \ + ... \ + ) e237 +# define BOOST_PP_VARIADIC_ELEM_238(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, \ + ... \ + ) e238 +# define BOOST_PP_VARIADIC_ELEM_239(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, \ + ... \ + ) e239 +# define BOOST_PP_VARIADIC_ELEM_240(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, \ + ... \ + ) e240 +# define BOOST_PP_VARIADIC_ELEM_241(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, \ + ... \ + ) e241 +# define BOOST_PP_VARIADIC_ELEM_242(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, \ + ... \ + ) e242 +# define BOOST_PP_VARIADIC_ELEM_243(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, \ + ... \ + ) e243 +# define BOOST_PP_VARIADIC_ELEM_244(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, \ + ... \ + ) e244 +# define BOOST_PP_VARIADIC_ELEM_245(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, \ + ... \ + ) e245 +# define BOOST_PP_VARIADIC_ELEM_246(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, \ + ... \ + ) e246 +# define BOOST_PP_VARIADIC_ELEM_247(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, \ + ... \ + ) e247 +# define BOOST_PP_VARIADIC_ELEM_248(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, \ + ... \ + ) e248 +# define BOOST_PP_VARIADIC_ELEM_249(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, \ + ... \ + ) e249 +# define BOOST_PP_VARIADIC_ELEM_250(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, \ + ... \ + ) e250 +# define BOOST_PP_VARIADIC_ELEM_251(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, \ + ... \ + ) e251 +# define BOOST_PP_VARIADIC_ELEM_252(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, \ + ... \ + ) e252 +# define BOOST_PP_VARIADIC_ELEM_253(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, \ + ... \ + ) e253 +# define BOOST_PP_VARIADIC_ELEM_254(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, \ + ... \ + ) e254 +# define BOOST_PP_VARIADIC_ELEM_255(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, e255, \ + ... \ + ) e255 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_64.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_64.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_64.hpp rename to external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_64.hpp index 6f2a5c4141..f20a4bb4fa 100644 --- a/external/include/boost_1_75/boost/preprocessor/variadic/limits/elem_64.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/elem_64.hpp @@ -1,81 +1,81 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_64_HPP -# define BOOST_PREPROCESSOR_VARIADIC_ELEM_64_HPP -# -# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0 -# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1 -# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2 -# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3 -# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4 -# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5 -# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6 -# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7 -# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8 -# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9 -# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10 -# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11 -# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12 -# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13 -# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14 -# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15 -# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16 -# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17 -# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18 -# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19 -# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20 -# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21 -# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22 -# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23 -# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24 -# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25 -# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26 -# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27 -# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28 -# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29 -# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30 -# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31 -# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32 -# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33 -# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34 -# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35 -# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36 -# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37 -# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38 -# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39 -# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40 -# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41 -# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42 -# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43 -# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44 -# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45 -# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46 -# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47 -# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48 -# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49 -# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50 -# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51 -# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52 -# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53 -# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54 -# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55 -# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56 -# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57 -# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58 -# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59 -# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60 -# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61 -# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62 -# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63 -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_64_HPP +# define BOOST_PREPROCESSOR_VARIADIC_ELEM_64_HPP +# +# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0 +# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1 +# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2 +# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3 +# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4 +# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5 +# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6 +# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7 +# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8 +# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9 +# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10 +# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11 +# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12 +# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13 +# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14 +# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15 +# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16 +# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17 +# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18 +# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19 +# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20 +# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21 +# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22 +# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23 +# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24 +# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25 +# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26 +# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27 +# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28 +# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29 +# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30 +# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31 +# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32 +# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33 +# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34 +# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35 +# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36 +# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37 +# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38 +# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39 +# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40 +# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41 +# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42 +# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43 +# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44 +# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45 +# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46 +# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47 +# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48 +# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49 +# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50 +# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51 +# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52 +# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53 +# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54 +# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55 +# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56 +# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57 +# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58 +# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59 +# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60 +# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61 +# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62 +# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63 +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/limits/size_128.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_128.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/variadic/limits/size_128.hpp rename to external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_128.hpp index 9904276c6e..f6ef577d8e 100644 --- a/external/include/boost_1_75/boost/preprocessor/variadic/limits/size_128.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_128.hpp @@ -1,47 +1,47 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_128_HPP -# define BOOST_PREPROCESSOR_VARIADIC_SIZE_128_HPP -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_DO_SIZE(...) \ - BOOST_PP_CAT \ - ( \ - BOOST_PP_VARIADIC_SIZE_I \ - ( \ - __VA_ARGS__, \ - 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ - 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ - ), \ - ) \ - /**/ -# else -# define BOOST_PP_VARIADIC_DO_SIZE(...) \ - BOOST_PP_VARIADIC_SIZE_I \ - ( \ - __VA_ARGS__, \ - 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ - 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ - ) \ - /**/ -# endif -# define BOOST_PP_VARIADIC_SIZE_I( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - size, ... \ - ) size \ - /**/ -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_128_HPP +# define BOOST_PREPROCESSOR_VARIADIC_SIZE_128_HPP +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_DO_SIZE(...) \ + BOOST_PP_CAT \ + ( \ + BOOST_PP_VARIADIC_SIZE_I \ + ( \ + __VA_ARGS__, \ + 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ + 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ + ), \ + ) \ + /**/ +# else +# define BOOST_PP_VARIADIC_DO_SIZE(...) \ + BOOST_PP_VARIADIC_SIZE_I \ + ( \ + __VA_ARGS__, \ + 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ + 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ + ) \ + /**/ +# endif +# define BOOST_PP_VARIADIC_SIZE_I( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + size, ... \ + ) size \ + /**/ +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/limits/size_256.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_256.hpp similarity index 99% rename from external/include/boost_1_75/boost/preprocessor/variadic/limits/size_256.hpp rename to external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_256.hpp index 21b3abd9c2..0342963b76 100644 --- a/external/include/boost_1_75/boost/preprocessor/variadic/limits/size_256.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_256.hpp @@ -1,53 +1,53 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* Revised by Edward Diener (2020) */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_256_HPP -# define BOOST_PREPROCESSOR_VARIADIC_SIZE_256_HPP -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_DO_SIZE(...) \ - BOOST_PP_CAT \ - ( \ - BOOST_PP_VARIADIC_SIZE_I \ - ( \ - __VA_ARGS__, \ - 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, \ - 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, \ - 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ - 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ - ), \ - ) \ - /**/ -# else -# define BOOST_PP_VARIADIC_DO_SIZE(...) \ - BOOST_PP_VARIADIC_SIZE_I \ - ( \ - __VA_ARGS__, \ - 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, \ - 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, \ - 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ - 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ - ) \ - /**/ -# endif -# define BOOST_PP_VARIADIC_SIZE_I( \ - e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ - e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ - e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ - e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, e255, \ - size, ... \ - ) size \ - /**/ -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_256_HPP +# define BOOST_PREPROCESSOR_VARIADIC_SIZE_256_HPP +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_DO_SIZE(...) \ + BOOST_PP_CAT \ + ( \ + BOOST_PP_VARIADIC_SIZE_I \ + ( \ + __VA_ARGS__, \ + 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, \ + 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, \ + 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ + 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ + ), \ + ) \ + /**/ +# else +# define BOOST_PP_VARIADIC_DO_SIZE(...) \ + BOOST_PP_VARIADIC_SIZE_I \ + ( \ + __VA_ARGS__, \ + 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, \ + 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, \ + 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, \ + 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \ + ) \ + /**/ +# endif +# define BOOST_PP_VARIADIC_SIZE_I( \ + e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, \ + e64, e65, e66, e67, e68, e69, e70, e71, e72, e73, e74, e75, e76, e77, e78, e79, e80, e81, e82, e83, e84, e85, e86, e87, e88, e89, e90, e91, e92, e93, e94, e95, e96, e97, e98, e99, e100, e101, e102, e103, e104, e105, e106, e107, e108, e109, e110, e111, e112, e113, e114, e115, e116, e117, e118, e119, e120, e121, e122, e123, e124, e125, e126, e127, \ + e128, e129, e130, e131, e132, e133, e134, e135, e136, e137, e138, e139, e140, e141, e142, e143, e144, e145, e146, e147, e148, e149, e150, e151, e152, e153, e154, e155, e156, e157, e158, e159, e160, e161, e162, e163, e164, e165, e166, e167, e168, e169, e170, e171, e172, e173, e174, e175, e176, e177, e178, e179, e180, e181, e182, e183, e184, e185, e186, e187, e188, e189, e190, e191, \ + e192, e193, e194, e195, e196, e197, e198, e199, e200, e201, e202, e203, e204, e205, e206, e207, e208, e209, e210, e211, e212, e213, e214, e215, e216, e217, e218, e219, e220, e221, e222, e223, e224, e225, e226, e227, e228, e229, e230, e231, e232, e233, e234, e235, e236, e237, e238, e239, e240, e241, e242, e243, e244, e245, e246, e247, e248, e249, e250, e251, e252, e253, e254, e255, \ + size, ... \ + ) size \ + /**/ +# +# endif diff --git a/external/include/boost_1_75/boost/preprocessor/variadic/limits/size_64.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_64.hpp similarity index 98% rename from external/include/boost_1_75/boost/preprocessor/variadic/limits/size_64.hpp rename to external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_64.hpp index eecac2ae4a..102c4f810a 100644 --- a/external/include/boost_1_75/boost/preprocessor/variadic/limits/size_64.hpp +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/limits/size_64.hpp @@ -1,23 +1,23 @@ -# /* ************************************************************************** -# * * -# * (C) Copyright Edward Diener 2011. * -# * (C) Copyright Paul Mensonides 2011. * -# * 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) * -# * * -# ************************************************************************** */ -# -# /* See http://www.boost.org for most recent version. */ -# -# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_64_HPP -# define BOOST_PREPROCESSOR_VARIADIC_SIZE_64_HPP -# -# if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_DO_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) -# else -# define BOOST_PP_VARIADIC_DO_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) -# endif -# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size -# -# endif +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_64_HPP +# define BOOST_PREPROCESSOR_VARIADIC_SIZE_64_HPP +# +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_DO_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) +# else +# define BOOST_PP_VARIADIC_DO_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) +# endif +# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size +# +# endif diff --git a/external/include/boost_1_90_0/boost/preprocessor/variadic/size.hpp b/external/include/boost_1_90_0/boost/preprocessor/variadic/size.hpp new file mode 100644 index 0000000000..31834ab91f --- /dev/null +++ b/external/include/boost_1_90_0/boost/preprocessor/variadic/size.hpp @@ -0,0 +1,65 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2020) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP +# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_VARIADIC_SIZE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# +# if BOOST_PP_VARIADIC_HAS_OPT() +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_SIZE_NOT_EMPTY(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) +# else +# define BOOST_PP_VARIADIC_SIZE_NOT_EMPTY(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) +# endif +# define BOOST_PP_VARIADIC_SIZE_EMPTY(...) 0 +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_IIF(BOOST_PP_CHECK_EMPTY(__VA_ARGS__),BOOST_PP_VARIADIC_SIZE_EMPTY,BOOST_PP_VARIADIC_SIZE_NOT_EMPTY)(__VA_ARGS__) +# elif BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) +# else +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) +# endif +# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size +# +# else +# +# if BOOST_PP_VARIADIC_HAS_OPT() +# define BOOST_PP_VARIADIC_SIZE_EMPTY(...) 0 +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_IIF(BOOST_PP_CHECK_EMPTY(__VA_ARGS__),BOOST_PP_VARIADIC_SIZE_EMPTY,BOOST_PP_VARIADIC_DO_SIZE)(__VA_ARGS__) +# else +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_DO_SIZE(__VA_ARGS__) +# endif +# +# include +# +# if BOOST_PP_LIMIT_VARIADIC == 64 +# include +# elif BOOST_PP_LIMIT_VARIADIC == 128 +# include +# elif BOOST_PP_LIMIT_VARIADIC == 256 +# include +# else +# error Incorrect value for the BOOST_PP_LIMIT_TUPLE limit +# endif +# +# endif +# +# endif diff --git a/external/include/boost_1_90_0/boost/range/begin.hpp b/external/include/boost_1_90_0/boost/range/begin.hpp new file mode 100644 index 0000000000..27532cd89c --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/begin.hpp @@ -0,0 +1,137 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_BEGIN_HPP +#define BOOST_RANGE_BEGIN_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include + +#include +#include +#include + +namespace boost +{ + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +namespace range_detail +{ +#endif + + ////////////////////////////////////////////////////////////////////// + // primary template + ////////////////////////////////////////////////////////////////////// + + template< typename C > + BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type + range_begin( C& c ) + { + // + // If you get a compile-error here, it is most likely because + // you have not implemented range_begin() properly in + // the namespace of C + // + return c.begin(); + } + + ////////////////////////////////////////////////////////////////////// + // pair + ////////////////////////////////////////////////////////////////////// + + template< typename Iterator > + BOOST_CONSTEXPR inline Iterator range_begin( const std::pair& p ) + { + return p.first; + } + + template< typename Iterator > + BOOST_CONSTEXPR inline Iterator range_begin( std::pair& p ) + { + return p.first; + } + + ////////////////////////////////////////////////////////////////////// + // array + ////////////////////////////////////////////////////////////////////// + + // + // May this be discarded? Or is it needed for bad compilers? + // + template< typename T, std::size_t sz > + BOOST_CONSTEXPR inline const T* range_begin( const T (&a)[sz] ) BOOST_NOEXCEPT + { + return a; + } + + template< typename T, std::size_t sz > + BOOST_CONSTEXPR inline T* range_begin( T (&a)[sz] ) BOOST_NOEXCEPT + { + return a; + } + + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +} // namespace 'range_detail' +#endif + +// Use a ADL namespace barrier to avoid ambiguity with other unqualified +// calls. This is particularly important with C++0x encouraging +// unqualified calls to begin/end. +namespace range_adl_barrier +{ + +template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif +inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( T& r ) +{ +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) + using namespace range_detail; +#endif + return range_begin( r ); +} + +template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif +inline BOOST_DEDUCED_TYPENAME range_iterator::type begin( const T& r ) +{ +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) + using namespace range_detail; +#endif + return range_begin( r ); +} + + } // namespace range_adl_barrier +} // namespace boost + +namespace boost +{ + namespace range_adl_barrier + { + template< class T > + inline BOOST_DEDUCED_TYPENAME range_iterator::type + const_begin( const T& r ) + { + return boost::range_adl_barrier::begin( r ); + } + } // namespace range_adl_barrier + + using namespace range_adl_barrier; +} // namespace boost + +#endif + diff --git a/external/include/boost_1_90_0/boost/range/config.hpp b/external/include/boost_1_90_0/boost/range/config.hpp new file mode 100644 index 0000000000..e05d065fbc --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/config.hpp @@ -0,0 +1,56 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_CONFIG_HPP +#define BOOST_RANGE_CONFIG_HPP + +#include + +#if defined(_MSC_VER) +# pragma once +#endif + +#include + +#ifdef BOOST_RANGE_DEDUCED_TYPENAME +#error "macro already defined!" +#endif + +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +# define BOOST_RANGE_DEDUCED_TYPENAME typename +#else +#define BOOST_RANGE_DEDUCED_TYPENAME BOOST_DEDUCED_TYPENAME +#endif + +#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT +#error "macro already defined!" +#endif + +#if BOOST_WORKAROUND( __MWERKS__, <= 0x3003 ) +#define BOOST_RANGE_NO_ARRAY_SUPPORT 1 +#endif + +#ifdef BOOST_RANGE_NO_ARRAY_SUPPORT +#define BOOST_RANGE_ARRAY_REF() (boost_range_array) +#define BOOST_RANGE_NO_STATIC_ASSERT +#else +#define BOOST_RANGE_ARRAY_REF() (&boost_range_array) +#endif + +#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) +# define BOOST_RANGE_UNUSED __attribute__((unused)) +#else +# define BOOST_RANGE_UNUSED +#endif + + + +#endif + diff --git a/external/include/boost_1_90_0/boost/range/const_iterator.hpp b/external/include/boost_1_90_0/boost/range/const_iterator.hpp new file mode 100644 index 0000000000..7c244ffae3 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/const_iterator.hpp @@ -0,0 +1,76 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_CONST_ITERATOR_HPP +#define BOOST_RANGE_CONST_ITERATOR_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include + +#include +#include +#include +#include +#include +#include + +namespace boost +{ + ////////////////////////////////////////////////////////////////////////// + // default + ////////////////////////////////////////////////////////////////////////// + + namespace range_detail + { + +BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( const_iterator ) + +template< typename C > +struct range_const_iterator_helper + : extract_const_iterator +{}; + +////////////////////////////////////////////////////////////////////////// +// pair +////////////////////////////////////////////////////////////////////////// + +template< typename Iterator > +struct range_const_iterator_helper > +{ + typedef Iterator type; +}; + +////////////////////////////////////////////////////////////////////////// +// array +////////////////////////////////////////////////////////////////////////// + +template< typename T, std::size_t sz > +struct range_const_iterator_helper< T[sz] > +{ + typedef const T* type; +}; + + } // namespace range_detail + +template +struct range_const_iterator + : range_detail::range_const_iterator_helper< + BOOST_DEDUCED_TYPENAME remove_reference::type + > +{ +}; + +} // namespace boost + + +#endif diff --git a/external/include/boost_1_90_0/boost/range/detail/common.hpp b/external/include/boost_1_90_0/boost/range/detail/common.hpp new file mode 100644 index 0000000000..d0cd3b16e4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/detail/common.hpp @@ -0,0 +1,116 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_DETAIL_COMMON_HPP +#define BOOST_RANGE_DETAIL_COMMON_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include +#include +#include +#include +#include + +////////////////////////////////////////////////////////////////////////////// +// missing partial specialization workaround. +////////////////////////////////////////////////////////////////////////////// + +namespace boost +{ + namespace range_detail + { + // 1 = std containers + // 2 = std::pair + // 3 = const std::pair + // 4 = array + // 5 = const array + // 6 = char array + // 7 = wchar_t array + // 8 = char* + // 9 = const char* + // 10 = whar_t* + // 11 = const wchar_t* + // 12 = string + + typedef mpl::int_<1>::type std_container_; + typedef mpl::int_<2>::type std_pair_; + typedef mpl::int_<3>::type const_std_pair_; + typedef mpl::int_<4>::type array_; + typedef mpl::int_<5>::type const_array_; + typedef mpl::int_<6>::type char_array_; + typedef mpl::int_<7>::type wchar_t_array_; + typedef mpl::int_<8>::type char_ptr_; + typedef mpl::int_<9>::type const_char_ptr_; + typedef mpl::int_<10>::type wchar_t_ptr_; + typedef mpl::int_<11>::type const_wchar_t_ptr_; + typedef mpl::int_<12>::type string_; + + template< typename C > + struct range_helper + { + static C* c; + static C ptr; + + BOOST_STATIC_CONSTANT( bool, is_pair_ = sizeof( boost::range_detail::is_pair_impl( c ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_char_ptr_ = sizeof( boost::range_detail::is_char_ptr_impl( ptr ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_const_char_ptr_ = sizeof( boost::range_detail::is_const_char_ptr_impl( ptr ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_wchar_t_ptr_ = sizeof( boost::range_detail::is_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_const_wchar_t_ptr_ = sizeof( boost::range_detail::is_const_wchar_t_ptr_impl( ptr ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_char_array_ = sizeof( boost::range_detail::is_char_array_impl( ptr ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_wchar_t_array_ = sizeof( boost::range_detail::is_wchar_t_array_impl( ptr ) ) == sizeof( yes_type ) ); + BOOST_STATIC_CONSTANT( bool, is_string_ = (is_const_char_ptr_ || is_const_wchar_t_ptr_)); + BOOST_STATIC_CONSTANT( bool, is_array_ = boost::is_array::value ); + + }; + + template< typename C > + class range + { + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_pair_, + boost::range_detail::std_pair_, + void >::type pair_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_array_, + boost::range_detail::array_, + pair_t >::type array_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_string_, + boost::range_detail::string_, + array_t >::type string_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_const_char_ptr_, + boost::range_detail::const_char_ptr_, + string_t >::type const_char_ptr_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_char_ptr_, + boost::range_detail::char_ptr_, + const_char_ptr_t >::type char_ptr_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_const_wchar_t_ptr_, + boost::range_detail::const_wchar_t_ptr_, + char_ptr_t >::type const_wchar_ptr_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_wchar_t_ptr_, + boost::range_detail::wchar_t_ptr_, + const_wchar_ptr_t >::type wchar_ptr_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_wchar_t_array_, + boost::range_detail::wchar_t_array_, + wchar_ptr_t >::type wchar_array_t; + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::range_detail::range_helper::is_char_array_, + boost::range_detail::char_array_, + wchar_array_t >::type char_array_t; + public: + typedef BOOST_RANGE_DEDUCED_TYPENAME boost::mpl::if_c< ::boost::is_void::value, + boost::range_detail::std_container_, + char_array_t >::type type; + }; // class 'range' + } +} + +#endif + diff --git a/external/include/boost_1_90_0/boost/range/detail/extract_optional_type.hpp b/external/include/boost_1_90_0/boost/range/detail/extract_optional_type.hpp new file mode 100644 index 0000000000..5142a31496 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/detail/extract_optional_type.hpp @@ -0,0 +1,48 @@ +// Boost.Range library +// +// Copyright Arno Schoedl & Neil Groves 2009. +// Use, modification and distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// +#ifndef BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED +#define BOOST_RANGE_DETAIL_EXTRACT_OPTIONAL_TYPE_HPP_INCLUDED + +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) + +// Defines extract_some_typedef which exposes T::some_typedef as +// extract_some_typedef::type if T::some_typedef exists. Otherwise +// extract_some_typedef is empty. +#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef ) \ + BOOST_MPL_HAS_XXX_TRAIT_DEF(a_typedef) \ + template< typename C, bool B = BOOST_PP_CAT(has_, a_typedef)::value > \ + struct BOOST_PP_CAT(extract_, a_typedef) \ + {}; \ + template< typename C > \ + struct BOOST_PP_CAT(extract_, a_typedef)< C, true > \ + { \ + typedef BOOST_DEDUCED_TYPENAME C::a_typedef type; \ + }; + +#else + +#define BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( a_typedef ) \ + template< typename C > \ + struct BOOST_PP_CAT(extract_, a_typedef) \ + { \ + typedef BOOST_DEDUCED_TYPENAME C::a_typedef type; \ + }; + +#endif + +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/range/detail/implementation_help.hpp b/external/include/boost_1_90_0/boost/range/detail/implementation_help.hpp new file mode 100644 index 0000000000..e8497283c8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/detail/implementation_help.hpp @@ -0,0 +1,114 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP +#define BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP + +#include +#include +#include +#include +#include + +#ifndef BOOST_NO_CWCHAR +#include +#endif + +namespace boost +{ + namespace range_detail + { + template + inline void boost_range_silence_warning( const T& ) { } + + ///////////////////////////////////////////////////////////////////// + // end() help + ///////////////////////////////////////////////////////////////////// + + inline const char* str_end( const char* s, const char* ) + { + return s + strlen( s ); + } + +#ifndef BOOST_NO_CWCHAR + inline const wchar_t* str_end( const wchar_t* s, const wchar_t* ) + { + return s + wcslen( s ); + } +#else + inline const wchar_t* str_end( const wchar_t* s, const wchar_t* ) + { + if( s == 0 || s[0] == 0 ) + return s; + while( *++s != 0 ) + ; + return s; + } +#endif + + template< class Char > + inline Char* str_end( Char* s ) + { + return const_cast( str_end( s, s ) ); + } + + template< class T, std::size_t sz > + BOOST_CONSTEXPR inline T* array_end( T BOOST_RANGE_ARRAY_REF()[sz] ) BOOST_NOEXCEPT + { + return boost_range_array + sz; + } + + template< class T, std::size_t sz > + BOOST_CONSTEXPR inline const T* array_end( const T BOOST_RANGE_ARRAY_REF()[sz] ) BOOST_NOEXCEPT + { + return boost_range_array + sz; + } + + ///////////////////////////////////////////////////////////////////// + // size() help + ///////////////////////////////////////////////////////////////////// + + template< class Char > + inline std::size_t str_size( const Char* const& s ) + { + return str_end( s ) - s; + } + + template< class T, std::size_t sz > + inline std::size_t array_size( T BOOST_RANGE_ARRAY_REF()[sz] ) + { + boost_range_silence_warning( boost_range_array ); + return sz; + } + + template< class T, std::size_t sz > + inline std::size_t array_size( const T BOOST_RANGE_ARRAY_REF()[sz] ) + { + boost_range_silence_warning( boost_range_array ); + return sz; + } + + inline bool is_same_address(const void* l, const void* r) + { + return l == r; + } + + template + inline bool is_same_object(const T1& l, const T2& r) + { + return range_detail::is_same_address(&l, &r); + } + + } // namespace 'range_detail' + +} // namespace 'boost' + + +#endif diff --git a/external/include/boost_1_90_0/boost/range/detail/msvc_has_iterator_workaround.hpp b/external/include/boost_1_90_0/boost/range/detail/msvc_has_iterator_workaround.hpp new file mode 100644 index 0000000000..8e3730e579 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/detail/msvc_has_iterator_workaround.hpp @@ -0,0 +1,134 @@ +// Boost.Range library +// +// Copyright Eric Niebler 2014. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_DETAIL_MSVC_HAS_ITERATOR_WORKAROUND_HPP +#define BOOST_RANGE_DETAIL_MSVC_HAS_ITERATOR_WORKAROUND_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP +# error This file should only be included from +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) +#include + +namespace boost +{ +namespace cb_details +{ + template + struct iterator; +} + +namespace python +{ + template + struct iterator; +} + +namespace type_erasure +{ + template< + class Traversal, + class T /*= _self*/, + class Reference /*= ::boost::use_default*/, + class DifferenceType /*= ::std::ptrdiff_t*/, + class ValueType /*= typename deduced >::type*/ + > + struct iterator; +} + +namespace unordered { namespace iterator_detail +{ + template + struct iterator; +}} + +namespace container { namespace container_detail +{ + template + class iterator; +}} + +namespace spirit { namespace lex { namespace lexertl +{ + template + class iterator; +}}} + +namespace range_detail +{ + template + struct has_iterator< ::boost::cb_details::iterator > + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::cb_details::iterator const> + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::python::iterator > + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::python::iterator const> + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::type_erasure::iterator > + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::type_erasure::iterator const> + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::unordered::iterator_detail::iterator > + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::unordered::iterator_detail::iterator const> + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::container::container_detail::iterator > + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::container::container_detail::iterator const> + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::spirit::lex::lexertl::iterator > + : mpl::false_ + {}; + + template + struct has_iterator< ::boost::spirit::lex::lexertl::iterator const> + : mpl::false_ + {}; +} +} +#endif +#endif diff --git a/external/include/boost_1_90_0/boost/range/detail/sfinae.hpp b/external/include/boost_1_90_0/boost/range/detail/sfinae.hpp new file mode 100644 index 0000000000..28937e7e61 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/detail/sfinae.hpp @@ -0,0 +1,77 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_DETAIL_SFINAE_HPP +#define BOOST_RANGE_DETAIL_SFINAE_HPP + +#include +#include +#include +#include + + +namespace boost +{ + namespace range_detail + { + using type_traits::yes_type; + using type_traits::no_type; + + ////////////////////////////////////////////////////////////////////// + // string + ////////////////////////////////////////////////////////////////////// + + yes_type is_string_impl( const char* const ); + yes_type is_string_impl( const wchar_t* const ); + no_type is_string_impl( ... ); + + template< std::size_t sz > + yes_type is_char_array_impl( char BOOST_RANGE_ARRAY_REF()[sz] ); + template< std::size_t sz > + yes_type is_char_array_impl( const char BOOST_RANGE_ARRAY_REF()[sz] ); + no_type is_char_array_impl( ... ); + + template< std::size_t sz > + yes_type is_wchar_t_array_impl( wchar_t BOOST_RANGE_ARRAY_REF()[sz] ); + template< std::size_t sz > + yes_type is_wchar_t_array_impl( const wchar_t BOOST_RANGE_ARRAY_REF()[sz] ); + no_type is_wchar_t_array_impl( ... ); + + yes_type is_char_ptr_impl( char* const ); + no_type is_char_ptr_impl( ... ); + + yes_type is_const_char_ptr_impl( const char* const ); + no_type is_const_char_ptr_impl( ... ); + + yes_type is_wchar_t_ptr_impl( wchar_t* const ); + no_type is_wchar_t_ptr_impl( ... ); + + yes_type is_const_wchar_t_ptr_impl( const wchar_t* const ); + no_type is_const_wchar_t_ptr_impl( ... ); + + ////////////////////////////////////////////////////////////////////// + // pair + ////////////////////////////////////////////////////////////////////// + + template< typename Iterator > + yes_type is_pair_impl( const std::pair* ); + no_type is_pair_impl( ... ); + + ////////////////////////////////////////////////////////////////////// + // tags + ////////////////////////////////////////////////////////////////////// + + struct char_or_wchar_t_array_tag {}; + + } // namespace 'range_detail' + +} // namespace 'boost' + +#endif diff --git a/external/include/boost_1_90_0/boost/range/end.hpp b/external/include/boost_1_90_0/boost/range/end.hpp new file mode 100644 index 0000000000..16ff4172cc --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/end.hpp @@ -0,0 +1,130 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_END_HPP +#define BOOST_RANGE_END_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include + +#include +#include +#include +#include +#include + +namespace boost +{ + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +namespace range_detail +{ +#endif + + ////////////////////////////////////////////////////////////////////// + // primary template + ////////////////////////////////////////////////////////////////////// + template< typename C > + BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type + range_end( C& c ) + { + // + // If you get a compile-error here, it is most likely because + // you have not implemented range_begin() properly in + // the namespace of C + // + return c.end(); + } + + ////////////////////////////////////////////////////////////////////// + // pair + ////////////////////////////////////////////////////////////////////// + + template< typename Iterator > + BOOST_CONSTEXPR inline Iterator range_end( const std::pair& p ) + { + return p.second; + } + + template< typename Iterator > + BOOST_CONSTEXPR inline Iterator range_end( std::pair& p ) + { + return p.second; + } + + ////////////////////////////////////////////////////////////////////// + // array + ////////////////////////////////////////////////////////////////////// + + template< typename T, std::size_t sz > + BOOST_CONSTEXPR inline const T* range_end( const T (&a)[sz] ) BOOST_NOEXCEPT + { + return range_detail::array_end( a ); + } + + template< typename T, std::size_t sz > + BOOST_CONSTEXPR inline T* range_end( T (&a)[sz] ) BOOST_NOEXCEPT + { + return range_detail::array_end( a ); + } + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +} // namespace 'range_detail' +#endif + +namespace range_adl_barrier +{ + +template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif +inline BOOST_DEDUCED_TYPENAME range_iterator::type end( T& r ) +{ +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) + using namespace range_detail; +#endif + return range_end( r ); +} + +template< class T > +#if !BOOST_WORKAROUND(BOOST_GCC, < 40700) +BOOST_CONSTEXPR +#endif +inline BOOST_DEDUCED_TYPENAME range_iterator::type end( const T& r ) +{ +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) + using namespace range_detail; +#endif + return range_end( r ); +} + + } // namespace range_adl_barrier +} // namespace 'boost' + +namespace boost +{ + namespace range_adl_barrier + { + template< class T > + BOOST_CONSTEXPR inline BOOST_DEDUCED_TYPENAME range_iterator::type + const_end( const T& r ) + { + return boost::range_adl_barrier::end( r ); + } + } // namespace range_adl_barrier + using namespace range_adl_barrier; +} // namespace boost + +#endif + diff --git a/external/include/boost_1_90_0/boost/range/iterator.hpp b/external/include/boost_1_90_0/boost/range/iterator.hpp new file mode 100644 index 0000000000..12921f1073 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/iterator.hpp @@ -0,0 +1,75 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_ITERATOR_HPP +#define BOOST_RANGE_ITERATOR_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) + + namespace range_detail_vc7_1 + { + template< typename C, typename Sig = void(C) > + struct range_iterator + { + typedef BOOST_RANGE_DEDUCED_TYPENAME + mpl::eval_if_c< is_const::value, + range_const_iterator< typename remove_const::type >, + range_mutable_iterator >::type type; + }; + + template< typename C, typename T > + struct range_iterator< C, void(T[]) > + { + typedef T* type; + }; + } + + template< typename C, typename Enabler=void > + struct range_iterator + { + + typedef BOOST_RANGE_DEDUCED_TYPENAME + range_detail_vc7_1::range_iterator::type type; + + }; + +#else + + template< typename C, typename Enabler=void > + struct range_iterator + : mpl::if_c< + is_const::type>::value, + range_const_iterator::type>::type>, + range_mutable_iterator::type> + >::type + { + }; + +#endif + +} // namespace boost + +#endif diff --git a/external/include/boost_1_90_0/boost/range/mutable_iterator.hpp b/external/include/boost_1_90_0/boost/range/mutable_iterator.hpp new file mode 100644 index 0000000000..71a9ad76b7 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/mutable_iterator.hpp @@ -0,0 +1,79 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_MUTABLE_ITERATOR_HPP +#define BOOST_RANGE_MUTABLE_ITERATOR_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include + +#include +#include +#include +#include +#include +#include + +namespace boost +{ + + ////////////////////////////////////////////////////////////////////////// + // default + ////////////////////////////////////////////////////////////////////////// + + namespace range_detail + { + +BOOST_RANGE_EXTRACT_OPTIONAL_TYPE( iterator ) + +template< typename C > +struct range_mutable_iterator + : range_detail::extract_iterator< + BOOST_DEDUCED_TYPENAME remove_reference::type> +{}; + +////////////////////////////////////////////////////////////////////////// +// pair +////////////////////////////////////////////////////////////////////////// + +template< typename Iterator > +struct range_mutable_iterator< std::pair > +{ + typedef Iterator type; +}; + +////////////////////////////////////////////////////////////////////////// +// array +////////////////////////////////////////////////////////////////////////// + +template< typename T, std::size_t sz > +struct range_mutable_iterator< T[sz] > +{ + typedef T* type; +}; + + } // namespace range_detail + +template +struct range_mutable_iterator + : range_detail::range_mutable_iterator< + BOOST_DEDUCED_TYPENAME remove_reference::type + > +{ +}; + +} // namespace boost + +#include + +#endif diff --git a/external/include/boost_1_90_0/boost/range/range_fwd.hpp b/external/include/boost_1_90_0/boost/range/range_fwd.hpp new file mode 100644 index 0000000000..683efb6c3e --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/range_fwd.hpp @@ -0,0 +1,63 @@ +// Boost.Range library +// +// Copyright Neil Groves 2003-2004. +// Use, modification and distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// +#ifndef BOOST_RANGE_RANGE_FWD_HPP_INCLUDED +#define BOOST_RANGE_RANGE_FWD_HPP_INCLUDED + +namespace boost +{ + +// Extension points + template + struct range_iterator; + + template + struct range_mutable_iterator; + + template + struct range_const_iterator; + +// Core classes + template + class iterator_range; + + template + class sub_range; + +// Meta-functions + template + struct range_category; + + template + struct range_difference; + + template + struct range_pointer; + + template + struct range_reference; + + template + struct range_reverse_iterator; + + template + struct range_size; + + template + struct range_value; + + template + struct has_range_iterator; + + template + struct has_range_const_iterator; + +} // namespace boost + +#endif // include guard diff --git a/external/include/boost_1_90_0/boost/range/rbegin.hpp b/external/include/boost_1_90_0/boost/range/rbegin.hpp new file mode 100644 index 0000000000..335b1dc3f6 --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/rbegin.hpp @@ -0,0 +1,52 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_RBEGIN_HPP +#define BOOST_RANGE_RBEGIN_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include + +namespace boost +{ + +template< class C > +inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type +rbegin( C& c ) +{ + typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type + iter_type; + return iter_type( boost::end( c ) ); +} + +template< class C > +inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type +rbegin( const C& c ) +{ + typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type + iter_type; + return iter_type( boost::end( c ) ); +} + +template< class T > +inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type +const_rbegin( const T& r ) +{ + return boost::rbegin( r ); +} + +} // namespace 'boost' + +#endif + diff --git a/external/include/boost_1_90_0/boost/range/rend.hpp b/external/include/boost_1_90_0/boost/range/rend.hpp new file mode 100644 index 0000000000..b437a5c46a --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/rend.hpp @@ -0,0 +1,52 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_REND_HPP +#define BOOST_RANGE_REND_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include + +namespace boost +{ + +template< class C > +inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type +rend( C& c ) +{ + typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type + iter_type; + return iter_type( boost::begin( c ) ); +} + +template< class C > +inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type +rend( const C& c ) +{ + typedef BOOST_DEDUCED_TYPENAME range_reverse_iterator::type + iter_type; + return iter_type( boost::begin( c ) ); +} + +template< class T > +inline BOOST_DEDUCED_TYPENAME range_reverse_iterator::type +const_rend( const T& r ) +{ + return boost::rend( r ); +} + +} // namespace 'boost' + +#endif + diff --git a/external/include/boost_1_90_0/boost/range/reverse_iterator.hpp b/external/include/boost_1_90_0/boost/range/reverse_iterator.hpp new file mode 100644 index 0000000000..8792c4d71e --- /dev/null +++ b/external/include/boost_1_90_0/boost/range/reverse_iterator.hpp @@ -0,0 +1,42 @@ +// Boost.Range library +// +// Copyright Thorsten Ottosen 2003-2004. Use, modification and +// distribution is subject to 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) +// +// For more information, see http://www.boost.org/libs/range/ +// + +#ifndef BOOST_RANGE_REVERSE_ITERATOR_HPP +#define BOOST_RANGE_REVERSE_ITERATOR_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +#include +#include +#include +#include + + +namespace boost +{ + ////////////////////////////////////////////////////////////////////////// + // default + ////////////////////////////////////////////////////////////////////////// + + template< typename T > + struct range_reverse_iterator + { + typedef reverse_iterator< + BOOST_DEDUCED_TYPENAME range_iterator< + BOOST_DEDUCED_TYPENAME remove_reference::type>::type > type; + }; + + +} // namespace boost + + +#endif diff --git a/external/include/boost_1_75/boost/ref.hpp b/external/include/boost_1_90_0/boost/ref.hpp similarity index 100% rename from external/include/boost_1_75/boost/ref.hpp rename to external/include/boost_1_90_0/boost/ref.hpp diff --git a/external/include/boost_1_90_0/boost/scoped_ptr.hpp b/external/include/boost_1_90_0/boost/scoped_ptr.hpp new file mode 100644 index 0000000000..334a22e2fe --- /dev/null +++ b/external/include/boost_1_90_0/boost/scoped_ptr.hpp @@ -0,0 +1,15 @@ +#ifndef BOOST_SCOPED_PTR_HPP_INCLUDED +#define BOOST_SCOPED_PTR_HPP_INCLUDED + +// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. +// Copyright (c) 2001, 2002 Peter Dimov +// +// 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) +// +// See http://www.boost.org/libs/smart_ptr/ for documentation. + +#include + +#endif // #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/bad_weak_ptr.hpp b/external/include/boost_1_90_0/boost/smart_ptr/bad_weak_ptr.hpp new file mode 100644 index 0000000000..b0cc510939 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/bad_weak_ptr.hpp @@ -0,0 +1,48 @@ +#ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED +#define BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/smart_ptr/bad_weak_ptr.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// +// 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) +// + +#include +#include + +namespace boost +{ + +#if defined(BOOST_CLANG) +// Intel C++ on Mac defines __clang__ but doesn't support the pragma +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wweak-vtables" +#endif + +class bad_weak_ptr: public std::exception +{ +public: + + char const * what() const noexcept override + { + return "tr1::bad_weak_ptr"; + } +}; + +#if defined(BOOST_CLANG) +# pragma clang diagnostic pop +#endif + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_BAD_WEAK_PTR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/deprecated_macros.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/deprecated_macros.hpp new file mode 100644 index 0000000000..02e6e421c4 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/deprecated_macros.hpp @@ -0,0 +1,52 @@ +#ifndef BOOST_SMART_PTR_DETAIL_DEPRECATED_MACROS_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_DEPRECATED_MACROS_HPP_INCLUDED + +// Copyright 2024 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_SP_ENABLE_DEBUG_HOOKS has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#if defined(BOOST_SP_USE_STD_ALLOCATOR) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_SP_USE_STD_ALLOCATOR has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#if defined(BOOST_SP_USE_QUICK_ALLOCATOR) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_SP_USE_QUICK_ALLOCATOR has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#if defined(BOOST_AC_USE_SPINLOCK) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_AC_USE_SPINLOCK has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#if defined(BOOST_AC_USE_PTHREADS) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_AC_USE_PTHREADS has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#if defined(BOOST_SP_USE_SPINLOCK) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_SP_USE_SPINLOCK has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#if defined(BOOST_SP_USE_PTHREADS) + +BOOST_PRAGMA_MESSAGE("The macro BOOST_SP_USE_PTHREADS has been deprecated in 1.87 and support for it was removed in 1.90.") + +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_DEPRECATED_MACROS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/local_counted_base.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/local_counted_base.hpp new file mode 100644 index 0000000000..ec644860b2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/local_counted_base.hpp @@ -0,0 +1,144 @@ +#ifndef BOOST_SMART_PTR_DETAIL_LOCAL_COUNTED_BASE_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_LOCAL_COUNTED_BASE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// detail/local_counted_base.hpp +// +// Copyright 2017 Peter Dimov +// +// 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) +// +// See http://www.boost.org/libs/smart_ptr/ for documentation. + +#include +#include +#include + +namespace boost +{ + +namespace detail +{ + +class BOOST_SYMBOL_VISIBLE local_counted_base +{ +private: + + local_counted_base & operator= ( local_counted_base const & ); + +private: + + // not 'int' or 'unsigned' to avoid aliasing and enable optimizations + enum count_type { min_ = 0, initial_ = 1, max_ = 2147483647 }; + + count_type local_use_count_; + +public: + + constexpr local_counted_base() noexcept: local_use_count_( initial_ ) + { + } + + constexpr local_counted_base( local_counted_base const & ) noexcept: local_use_count_( initial_ ) + { + } + + virtual ~local_counted_base() /*noexcept*/ + { + } + + virtual void local_cb_destroy() noexcept = 0; + + virtual boost::detail::shared_count local_cb_get_shared_count() const noexcept = 0; + + void add_ref() noexcept + { +#if !defined(__NVCC__) +#if defined( __has_builtin ) +# if __has_builtin( __builtin_assume ) + + __builtin_assume( local_use_count_ >= 1 ); + +# endif +#endif +#endif + + local_use_count_ = static_cast( local_use_count_ + 1 ); + } + + void release() noexcept + { + local_use_count_ = static_cast( local_use_count_ - 1 ); + + if( local_use_count_ == 0 ) + { + local_cb_destroy(); + } + } + + long local_use_count() const noexcept + { + return local_use_count_; + } +}; + +class BOOST_SYMBOL_VISIBLE local_counted_impl: public local_counted_base +{ +private: + + local_counted_impl( local_counted_impl const & ); + +private: + + shared_count pn_; + +public: + + explicit local_counted_impl( shared_count const& pn ) noexcept: pn_( pn ) + { + } + + explicit local_counted_impl( shared_count && pn ) noexcept: pn_( std::move(pn) ) + { + } + + void local_cb_destroy() noexcept override + { + delete this; + } + + boost::detail::shared_count local_cb_get_shared_count() const noexcept override + { + return pn_; + } +}; + +class BOOST_SYMBOL_VISIBLE local_counted_impl_em: public local_counted_base +{ +public: + + shared_count pn_; + + void local_cb_destroy() noexcept override + { + shared_count().swap( pn_ ); + } + + boost::detail::shared_count local_cb_get_shared_count() const noexcept override + { + return pn_; + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_LOCAL_COUNTED_BASE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/local_sp_deleter.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/local_sp_deleter.hpp new file mode 100644 index 0000000000..af3743dff0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/local_sp_deleter.hpp @@ -0,0 +1,83 @@ +#ifndef BOOST_SMART_PTR_DETAIL_LOCAL_SP_DELETER_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_LOCAL_SP_DELETER_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// detail/local_sp_deleter.hpp +// +// Copyright 2017 Peter Dimov +// +// 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) +// +// See http://www.boost.org/libs/smart_ptr/ for documentation. + +#include +#include + +namespace boost +{ + +namespace detail +{ + +template class local_sp_deleter: public local_counted_impl_em +{ +private: + + D d_; + +public: + + local_sp_deleter(): d_() + { + } + + explicit local_sp_deleter( D const& d ) noexcept: d_( d ) + { + } + + explicit local_sp_deleter( D&& d ) noexcept: d_( std::move(d) ) + { + } + + D& deleter() noexcept + { + return d_; + } + + template void operator()( Y* p ) noexcept + { + d_( p ); + } + + void operator()( std::nullptr_t p ) noexcept + { + d_( p ); + } +}; + +template<> class local_sp_deleter +{ +}; + +template D * get_local_deleter( local_sp_deleter * p ) noexcept +{ + return &p->deleter(); +} + +inline void * get_local_deleter( local_sp_deleter * /*p*/ ) noexcept +{ + return 0; +} + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_LOCAL_SP_DELETER_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/shared_count.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/shared_count.hpp new file mode 100644 index 0000000000..410862c900 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/shared_count.hpp @@ -0,0 +1,581 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/shared_count.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// 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) +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // std::auto_ptr +#include // std::less +#include // std::size_t + +#ifdef BOOST_NO_EXCEPTIONS +# include // std::bad_alloc +#endif + +#if defined( BOOST_SP_DISABLE_DEPRECATED ) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + +namespace boost +{ + +namespace movelib +{ + +template< class T, class D > class unique_ptr; + +} // namespace movelib + +namespace detail +{ + +struct sp_nothrow_tag {}; + +template< class D > struct sp_inplace_tag +{ +}; + +template< class T > class sp_reference_wrapper +{ +public: + + explicit sp_reference_wrapper( T & t): t_( boost::addressof( t ) ) + { + } + + template< class Y > void operator()( Y * p ) const + { + (*t_)( p ); + } + +private: + + T * t_; +}; + +template< class D > struct sp_convert_reference +{ + typedef D type; +}; + +template< class D > struct sp_convert_reference< D& > +{ + typedef sp_reference_wrapper< D > type; +}; + +template std::size_t sp_hash_pointer( T* p ) noexcept +{ + std::uintptr_t v = reinterpret_cast( p ); + + // match boost::hash + return static_cast( v + ( v >> 3 ) ); +} + +class weak_count; + +class shared_count +{ +private: + + sp_counted_base * pi_; + + friend class weak_count; + +public: + + constexpr shared_count() noexcept: pi_(0) + { + } + + constexpr explicit shared_count( sp_counted_base * pi ) noexcept: pi_( pi ) + { + } + + template explicit shared_count( Y * p ): pi_( 0 ) + { +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = new sp_counted_impl_p( p ); + } + catch(...) + { + boost::checked_delete( p ); + throw; + } + +#else + + pi_ = new sp_counted_impl_p( p ); + + if( pi_ == 0 ) + { + boost::checked_delete( p ); + boost::throw_exception( std::bad_alloc() ); + } + +#endif + } + + template shared_count( P p, D d ): pi_(0) + { +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = new sp_counted_impl_pd(p, d); + } + catch(...) + { + d(p); // delete p + throw; + } + +#else + + pi_ = new sp_counted_impl_pd(p, d); + + if(pi_ == 0) + { + d(p); // delete p + boost::throw_exception(std::bad_alloc()); + } + +#endif + } + + template< class P, class D > shared_count( P p, sp_inplace_tag ): pi_( 0 ) + { +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = new sp_counted_impl_pd< P, D >( p ); + } + catch( ... ) + { + D::operator_fn( p ); // delete p + throw; + } + +#else + + pi_ = new sp_counted_impl_pd< P, D >( p ); + + if( pi_ == 0 ) + { + D::operator_fn( p ); // delete p + boost::throw_exception( std::bad_alloc() ); + } + +#endif // #ifndef BOOST_NO_EXCEPTIONS + } + + template shared_count( P p, D d, A a ): pi_( 0 ) + { + typedef sp_counted_impl_pda impl_type; + + typedef typename std::allocator_traits::template rebind_alloc< impl_type > A2; + + A2 a2( a ); + +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = a2.allocate( 1 ); + ::new( static_cast< void* >( pi_ ) ) impl_type( p, d, a ); + } + catch(...) + { + d( p ); + + if( pi_ != 0 ) + { + a2.deallocate( static_cast< impl_type* >( pi_ ), 1 ); + } + + throw; + } + +#else + + pi_ = a2.allocate( 1 ); + + if( pi_ != 0 ) + { + ::new( static_cast< void* >( pi_ ) ) impl_type( p, d, a ); + } + else + { + d( p ); + boost::throw_exception( std::bad_alloc() ); + } + +#endif + } + + template< class P, class D, class A > shared_count( P p, sp_inplace_tag< D >, A a ): pi_( 0 ) + { + typedef sp_counted_impl_pda< P, D, A > impl_type; + + typedef typename std::allocator_traits::template rebind_alloc< impl_type > A2; + + A2 a2( a ); + +#ifndef BOOST_NO_EXCEPTIONS + + try + { + pi_ = a2.allocate( 1 ); + ::new( static_cast< void* >( pi_ ) ) impl_type( p, a ); + } + catch(...) + { + D::operator_fn( p ); + + if( pi_ != 0 ) + { + a2.deallocate( static_cast< impl_type* >( pi_ ), 1 ); + } + + throw; + } + +#else + + pi_ = a2.allocate( 1 ); + + if( pi_ != 0 ) + { + ::new( static_cast< void* >( pi_ ) ) impl_type( p, a ); + } + else + { + D::operator_fn( p ); + boost::throw_exception( std::bad_alloc() ); + } + +#endif // #ifndef BOOST_NO_EXCEPTIONS + } + +#ifndef BOOST_NO_AUTO_PTR + + // auto_ptr is special cased to provide the strong guarantee + + template + explicit shared_count( std::auto_ptr & r ): pi_( new sp_counted_impl_p( r.get() ) ) + { +#ifdef BOOST_NO_EXCEPTIONS + + if( pi_ == 0 ) + { + boost::throw_exception(std::bad_alloc()); + } + +#endif + + r.release(); + } + +#endif + + template + explicit shared_count( std::unique_ptr & r ): pi_( 0 ) + { + typedef typename sp_convert_reference::type D2; + + D2 d2( static_cast( r.get_deleter() ) ); + pi_ = new sp_counted_impl_pd< typename std::unique_ptr::pointer, D2 >( r.get(), d2 ); + +#ifdef BOOST_NO_EXCEPTIONS + + if( pi_ == 0 ) + { + boost::throw_exception( std::bad_alloc() ); + } + +#endif + + r.release(); + } + + template + explicit shared_count( boost::movelib::unique_ptr & r ): pi_( 0 ) + { + typedef typename sp_convert_reference::type D2; + + D2 d2( r.get_deleter() ); + pi_ = new sp_counted_impl_pd< typename boost::movelib::unique_ptr::pointer, D2 >( r.get(), d2 ); + +#ifdef BOOST_NO_EXCEPTIONS + + if( pi_ == 0 ) + { + boost::throw_exception( std::bad_alloc() ); + } + +#endif + + r.release(); + } + + ~shared_count() /*noexcept*/ + { + if( pi_ != 0 ) pi_->release(); + } + + shared_count(shared_count const & r) noexcept: pi_(r.pi_) + { + if( pi_ != 0 ) pi_->add_ref_copy(); + } + + shared_count(shared_count && r) noexcept: pi_(r.pi_) + { + r.pi_ = 0; + } + + explicit shared_count(weak_count const & r); // throws bad_weak_ptr when r.use_count() == 0 + shared_count( weak_count const & r, sp_nothrow_tag ) noexcept; // constructs an empty *this when r.use_count() == 0 + + shared_count & operator= (shared_count const & r) noexcept + { + sp_counted_base * tmp = r.pi_; + + if( tmp != pi_ ) + { + if( tmp != 0 ) tmp->add_ref_copy(); + if( pi_ != 0 ) pi_->release(); + pi_ = tmp; + } + + return *this; + } + + void swap(shared_count & r) noexcept + { + sp_counted_base * tmp = r.pi_; + r.pi_ = pi_; + pi_ = tmp; + } + + long use_count() const noexcept + { + return pi_ != 0? pi_->use_count(): 0; + } + + bool unique() const noexcept + { + return use_count() == 1; + } + + bool empty() const noexcept + { + return pi_ == 0; + } + + bool operator==( shared_count const & r ) const noexcept + { + return pi_ == r.pi_; + } + + bool operator==( weak_count const & r ) const noexcept; + + bool operator<( shared_count const & r ) const noexcept + { + return std::less()( pi_, r.pi_ ); + } + + bool operator<( weak_count const & r ) const noexcept; + + void * get_deleter( sp_typeinfo_ const & ti ) const noexcept + { + return pi_? pi_->get_deleter( ti ): 0; + } + + void * get_local_deleter( sp_typeinfo_ const & ti ) const noexcept + { + return pi_? pi_->get_local_deleter( ti ): 0; + } + + void * get_untyped_deleter() const noexcept + { + return pi_? pi_->get_untyped_deleter(): 0; + } + + std::size_t hash_value() const noexcept + { + return sp_hash_pointer( pi_ ); + } +}; + + +class weak_count +{ +private: + + sp_counted_base * pi_; + + friend class shared_count; + +public: + + constexpr weak_count() noexcept: pi_(0) + { + } + + weak_count(shared_count const & r) noexcept: pi_(r.pi_) + { + if(pi_ != 0) pi_->weak_add_ref(); + } + + weak_count(weak_count const & r) noexcept: pi_(r.pi_) + { + if(pi_ != 0) pi_->weak_add_ref(); + } + +// Move support + + weak_count(weak_count && r) noexcept: pi_(r.pi_) + { + r.pi_ = 0; + } + + ~weak_count() /*noexcept*/ + { + if(pi_ != 0) pi_->weak_release(); + } + + weak_count & operator= (shared_count const & r) noexcept + { + sp_counted_base * tmp = r.pi_; + + if( tmp != pi_ ) + { + if(tmp != 0) tmp->weak_add_ref(); + if(pi_ != 0) pi_->weak_release(); + pi_ = tmp; + } + + return *this; + } + + weak_count & operator= (weak_count const & r) noexcept + { + sp_counted_base * tmp = r.pi_; + + if( tmp != pi_ ) + { + if(tmp != 0) tmp->weak_add_ref(); + if(pi_ != 0) pi_->weak_release(); + pi_ = tmp; + } + + return *this; + } + + void swap(weak_count & r) noexcept + { + sp_counted_base * tmp = r.pi_; + r.pi_ = pi_; + pi_ = tmp; + } + + long use_count() const noexcept + { + return pi_ != 0? pi_->use_count(): 0; + } + + bool empty() const noexcept + { + return pi_ == 0; + } + + bool operator==( weak_count const & r ) const noexcept + { + return pi_ == r.pi_; + } + + bool operator==( shared_count const & r ) const noexcept + { + return pi_ == r.pi_; + } + + bool operator<( weak_count const & r ) const noexcept + { + return std::less()( pi_, r.pi_ ); + } + + bool operator<( shared_count const & r ) const noexcept + { + return std::less()( pi_, r.pi_ ); + } + + std::size_t hash_value() const noexcept + { + return sp_hash_pointer( pi_ ); + } +}; + +inline shared_count::shared_count( weak_count const & r ): pi_( r.pi_ ) +{ + if( pi_ == 0 || !pi_->add_ref_lock() ) + { + boost::throw_exception( boost::bad_weak_ptr() ); + } +} + +inline shared_count::shared_count( weak_count const & r, sp_nothrow_tag ) noexcept: pi_( r.pi_ ) +{ + if( pi_ != 0 && !pi_->add_ref_lock() ) + { + pi_ = 0; + } +} + +inline bool shared_count::operator==( weak_count const & r ) const noexcept +{ + return pi_ == r.pi_; +} + +inline bool shared_count::operator<( weak_count const & r ) const noexcept +{ + return std::less()( pi_, r.pi_ ); +} + +} // namespace detail + +} // namespace boost + +#if defined( BOOST_SP_DISABLE_DEPRECATED ) +#pragma GCC diagnostic pop +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SHARED_COUNT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_convertible.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_convertible.hpp new file mode 100644 index 0000000000..c60f69fae0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_convertible.hpp @@ -0,0 +1,76 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// detail/sp_convertible.hpp +// +// Copyright 2008 Peter Dimov +// +// 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 + +#include +#include + +namespace boost +{ + +namespace detail +{ + +template< class Y, class T > struct sp_convertible +{ + typedef char (&yes) [1]; + typedef char (&no) [2]; + + static yes f( T* ); + static no f( ... ); + + enum _vt { value = sizeof( (f)( static_cast(0) ) ) == sizeof(yes) }; +}; + +template< class Y, class T > struct sp_convertible< Y, T[] > +{ + enum _vt { value = false }; +}; + +template< class Y, class T > struct sp_convertible< Y[], T[] > +{ + enum _vt { value = sp_convertible< Y[1], T[1] >::value }; +}; + +template< class Y, std::size_t N, class T > struct sp_convertible< Y[N], T[] > +{ + enum _vt { value = sp_convertible< Y[1], T[1] >::value }; +}; + +struct sp_empty +{ +}; + +template< bool > struct sp_enable_if_convertible_impl; + +template<> struct sp_enable_if_convertible_impl +{ + typedef sp_empty type; +}; + +template<> struct sp_enable_if_convertible_impl +{ +}; + +template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value > +{ +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base.hpp new file mode 100644 index 0000000000..c0eb2358ed --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base.hpp @@ -0,0 +1,30 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base.hpp +// +// Copyright 2005-2013 Peter Dimov +// +// 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) +// + +#include + +#if defined( BOOST_SP_DISABLE_THREADS ) +# include + +#else +# include + +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base_nt.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base_nt.hpp new file mode 100644 index 0000000000..7e63c438f0 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base_nt.hpp @@ -0,0 +1,118 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_base_nt.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// 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) +// + +#include +#include +#include + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + +#include +BOOST_PRAGMA_MESSAGE("Using single-threaded, non-atomic sp_counted_base") + +#endif + +namespace boost +{ + +namespace detail +{ + +class BOOST_SYMBOL_VISIBLE sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + std::int_least32_t use_count_; // #shared + std::int_least32_t weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base() noexcept: use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() /*noexcept*/ + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() noexcept = 0; // nothrow + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() noexcept // nothrow + { + delete this; + } + + virtual void * get_deleter( sp_typeinfo_ const & ti ) noexcept = 0; + virtual void * get_local_deleter( sp_typeinfo_ const & ti ) noexcept = 0; + virtual void * get_untyped_deleter() noexcept = 0; + + void add_ref_copy() noexcept + { + ++use_count_; + } + + bool add_ref_lock() noexcept // true on success + { + if( use_count_ == 0 ) return false; + ++use_count_; + return true; + } + + void release() noexcept + { + if( --use_count_ == 0 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() noexcept + { + ++weak_count_; + } + + void weak_release() noexcept + { + if( --weak_count_ == 0 ) + { + destroy(); + } + } + + long use_count() const noexcept + { + return use_count_; + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_NT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp new file mode 100644 index 0000000000..7237f1e0f2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp @@ -0,0 +1,146 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// detail/sp_counted_base_std_atomic.hpp - C++11 std::atomic +// +// Copyright (c) 2007, 2013 Peter Dimov +// +// 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 + +#include +#include +#include +#include + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + +#include +BOOST_PRAGMA_MESSAGE("Using std::atomic sp_counted_base") + +#endif + +namespace boost +{ + +namespace detail +{ + +inline void atomic_increment( std::atomic_int_least32_t * pw ) noexcept +{ + pw->fetch_add( 1, std::memory_order_relaxed ); +} + +inline std::int_least32_t atomic_decrement( std::atomic_int_least32_t * pw ) noexcept +{ + return pw->fetch_sub( 1, std::memory_order_acq_rel ); +} + +inline std::int_least32_t atomic_conditional_increment( std::atomic_int_least32_t * pw ) noexcept +{ + // long r = *pw; + // if( r != 0 ) ++*pw; + // return r; + + std::int_least32_t r = pw->load( std::memory_order_relaxed ); + + for( ;; ) + { + if( r == 0 ) + { + return r; + } + + if( pw->compare_exchange_weak( r, r + 1, std::memory_order_relaxed, std::memory_order_relaxed ) ) + { + return r; + } + } +} + +class BOOST_SYMBOL_VISIBLE sp_counted_base +{ +private: + + sp_counted_base( sp_counted_base const & ); + sp_counted_base & operator= ( sp_counted_base const & ); + + std::atomic_int_least32_t use_count_; // #shared + std::atomic_int_least32_t weak_count_; // #weak + (#shared != 0) + +public: + + sp_counted_base() noexcept: use_count_( 1 ), weak_count_( 1 ) + { + } + + virtual ~sp_counted_base() /*noexcept*/ + { + } + + // dispose() is called when use_count_ drops to zero, to release + // the resources managed by *this. + + virtual void dispose() noexcept = 0; + + // destroy() is called when weak_count_ drops to zero. + + virtual void destroy() noexcept + { + delete this; + } + + virtual void * get_deleter( sp_typeinfo_ const & ti ) noexcept = 0; + virtual void * get_local_deleter( sp_typeinfo_ const & ti ) noexcept = 0; + virtual void * get_untyped_deleter() noexcept = 0; + + void add_ref_copy() noexcept + { + atomic_increment( &use_count_ ); + } + + bool add_ref_lock() noexcept // true on success + { + return atomic_conditional_increment( &use_count_ ) != 0; + } + + void release() noexcept + { + if( atomic_decrement( &use_count_ ) == 1 ) + { + dispose(); + weak_release(); + } + } + + void weak_add_ref() noexcept + { + atomic_increment( &weak_count_ ); + } + + void weak_release() noexcept + { + if( atomic_decrement( &weak_count_ ) == 1 ) + { + destroy(); + } + } + + long use_count() const noexcept + { + return use_count_.load( std::memory_order_acquire ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_STD_ATOMIC_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_impl.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_impl.hpp new file mode 100644 index 0000000000..c8af04e440 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_counted_impl.hpp @@ -0,0 +1,193 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/sp_counted_impl.hpp +// +// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd. +// Copyright 2004-2005 Peter Dimov +// +// 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) +// + +#include +#include +#include +#include +#include + +#include // std::allocator, std::allocator_traits +#include // std::size_t + +namespace boost +{ + +namespace detail +{ + +// get_local_deleter + +template class local_sp_deleter; + +template D * get_local_deleter( D * /*p*/ ) noexcept +{ + return 0; +} + +template D * get_local_deleter( local_sp_deleter * p ) noexcept; + +// + +template class BOOST_SYMBOL_VISIBLE sp_counted_impl_p: public sp_counted_base +{ +private: + + X * px_; + + sp_counted_impl_p( sp_counted_impl_p const & ); + sp_counted_impl_p & operator= ( sp_counted_impl_p const & ); + + typedef sp_counted_impl_p this_type; + +public: + + explicit sp_counted_impl_p( X * px ): px_( px ) + { + } + + void dispose() noexcept override + { + boost::checked_delete( px_ ); + } + + void * get_deleter( sp_typeinfo_ const & ) noexcept override + { + return 0; + } + + void * get_local_deleter( sp_typeinfo_ const & ) noexcept override + { + return 0; + } + + void * get_untyped_deleter() noexcept override + { + return 0; + } +}; + +template class BOOST_SYMBOL_VISIBLE sp_counted_impl_pd: public sp_counted_base +{ +private: + + P ptr; // copy constructor must not throw + D del; // copy/move constructor must not throw + + sp_counted_impl_pd( sp_counted_impl_pd const & ); + sp_counted_impl_pd & operator= ( sp_counted_impl_pd const & ); + + typedef sp_counted_impl_pd this_type; + +public: + + // pre: d(p) must not throw + + sp_counted_impl_pd( P p, D & d ): ptr( p ), del( static_cast< D&& >( d ) ) + { + } + + sp_counted_impl_pd( P p ): ptr( p ), del() + { + } + + void dispose() noexcept override + { + del( ptr ); + } + + void * get_deleter( sp_typeinfo_ const & ti ) noexcept override + { + return ti == BOOST_SP_TYPEID_(D)? &reinterpret_cast( del ): 0; + } + + void * get_local_deleter( sp_typeinfo_ const & ti ) noexcept override + { + return ti == BOOST_SP_TYPEID_(D)? boost::detail::get_local_deleter( boost::addressof( del ) ): 0; + } + + void * get_untyped_deleter() noexcept override + { + return &reinterpret_cast( del ); + } +}; + +template class BOOST_SYMBOL_VISIBLE sp_counted_impl_pda: public sp_counted_base +{ +private: + + P p_; // copy constructor must not throw + D d_; // copy/move constructor must not throw + A a_; // copy constructor must not throw + + sp_counted_impl_pda( sp_counted_impl_pda const & ); + sp_counted_impl_pda & operator= ( sp_counted_impl_pda const & ); + + typedef sp_counted_impl_pda this_type; + +public: + + // pre: d( p ) must not throw + + sp_counted_impl_pda( P p, D & d, A a ): p_( p ), d_( static_cast< D&& >( d ) ), a_( a ) + { + } + + sp_counted_impl_pda( P p, A a ): p_( p ), d_( a ), a_( a ) + { + } + + void dispose() noexcept override + { + d_( p_ ); + } + + void destroy() noexcept override + { + typedef typename std::allocator_traits::template rebind_alloc< this_type > A2; + + A2 a2( a_ ); + + this->~this_type(); + + a2.deallocate( this, 1 ); + } + + void * get_deleter( sp_typeinfo_ const & ti ) noexcept override + { + return ti == BOOST_SP_TYPEID_( D )? &reinterpret_cast( d_ ): 0; + } + + void * get_local_deleter( sp_typeinfo_ const & ti ) noexcept override + { + return ti == BOOST_SP_TYPEID_( D )? boost::detail::get_local_deleter( boost::addressof( d_ ) ): 0; + } + + void * get_untyped_deleter() noexcept override + { + return &reinterpret_cast( d_ ); + } +}; + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_IMPL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp new file mode 100644 index 0000000000..dc7c9ca152 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp @@ -0,0 +1,37 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_CXX20_CONSTEXPR_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_CXX20_CONSTEXPR_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +// detail/sp_noexcept.hpp +// +// Copyright 2025 Mathias Stearn +// +// 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 + + +// This macro is used to mark functions as constexpr if the compiler supports +// constexpr destructors. Since you can't have a constexpr smart pointer object, +// everything except null constructors are guided behind this macro. Because +// this also guards a use of dynamic_cast, we need to check for its availability +// as well. It isn't worth splitting out since all known compilers that support +// constexpr dynamic_cast also support constexpr destructors. +// +// WARNING: This does not check for changing active member of a union in +// constant expressions which is allowed in C++20. If that is needed, we +// need to raise the checked version to 202002L. +#if defined(__cpp_constexpr_dynamic_alloc) && __cpp_constexpr_dynamic_alloc >= 201907L \ + && defined(__cpp_constexpr) && __cpp_constexpr >= 201907L +#define BOOST_SP_CXX20_CONSTEXPR constexpr +#else +#define BOOST_SP_CXX20_CONSTEXPR +#define BOOST_SP_NO_CXX20_CONSTEXPR +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_CXX20_CONSTEXPR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_disable_deprecated.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_disable_deprecated.hpp new file mode 100644 index 0000000000..f79bdf38a8 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_disable_deprecated.hpp @@ -0,0 +1,40 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_DISABLE_DEPRECATED_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_DISABLE_DEPRECATED_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/smart_ptr/detail/sp_disable_deprecated.hpp +// +// Copyright 2015 Peter Dimov +// +// 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) +// + +#include + +#if defined( __GNUC__ ) && ( defined( __GXX_EXPERIMENTAL_CXX0X__ ) || ( __cplusplus >= 201103L ) ) + +# if defined( BOOST_GCC ) + +# if BOOST_GCC >= 40600 +# define BOOST_SP_DISABLE_DEPRECATED +# endif + +# elif defined( __clang__ ) && defined( __has_warning ) + +# if __has_warning( "-Wdeprecated-declarations" ) +# define BOOST_SP_DISABLE_DEPRECATED +# endif + +# endif + +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_DISABLE_DEPRECATED_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_noexcept.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_noexcept.hpp new file mode 100644 index 0000000000..3b0d04ed50 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_noexcept.hpp @@ -0,0 +1,39 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_NOEXCEPT_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_NOEXCEPT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// detail/sp_noexcept.hpp +// +// Copyright 2016, 2017 Peter Dimov +// +// 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 + + +// BOOST_SP_NOEXCEPT (obsolete, only retained for compatibility) + +#define BOOST_SP_NOEXCEPT noexcept + +// BOOST_SP_NOEXCEPT_WITH_ASSERT (noexcept, unless a user assertion handler is present) + +#if defined(BOOST_DISABLE_ASSERTS) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && defined(NDEBUG) ) + +# define BOOST_SP_NOEXCEPT_WITH_ASSERT noexcept + +#elif defined(BOOST_ENABLE_ASSERT_HANDLER) || ( defined(BOOST_ENABLE_ASSERT_DEBUG_HANDLER) && !defined(NDEBUG) ) + +# define BOOST_SP_NOEXCEPT_WITH_ASSERT + +#else + +# define BOOST_SP_NOEXCEPT_WITH_ASSERT noexcept + +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_NOEXCEPT_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_typeinfo_.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_typeinfo_.hpp new file mode 100644 index 0000000000..287bf72818 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/sp_typeinfo_.hpp @@ -0,0 +1,58 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_TYPEINFO_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_TYPEINFO_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// smart_ptr/detail/sp_typeinfo_.hpp +// +// Copyright 2007, 2019 Peter Dimov +// +// 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) + +#include + +#if defined( BOOST_NO_TYPEID ) || defined( BOOST_NO_STD_TYPEINFO ) + +#include + +namespace boost +{ + +namespace detail +{ + +typedef boost::core::typeinfo sp_typeinfo_; + +} // namespace detail + +} // namespace boost + +#define BOOST_SP_TYPEID_(T) BOOST_CORE_TYPEID(T) + +#else // defined( BOOST_NO_TYPEID ) || defined( BOOST_NO_STD_TYPEINFO ) + +#include + +namespace boost +{ + +namespace detail +{ + +typedef std::type_info sp_typeinfo_; + +} // namespace detail + +} // namespace boost + +#define BOOST_SP_TYPEID_(T) typeid(T) + +#endif // defined( BOOST_NO_TYPEID ) || defined( BOOST_NO_STD_TYPEINFO ) + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_TYPEINFO_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock.hpp new file mode 100644 index 0000000000..707059549d --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock.hpp @@ -0,0 +1,44 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/spinlock.hpp +// +// Copyright (c) 2008 Peter Dimov +// +// 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) +// +// struct spinlock +// { +// void lock(); +// bool try_lock(); +// void unlock(); +// +// class scoped_lock; +// }; +// +// #define BOOST_DETAIL_SPINLOCK_INIT +// + +#include + +#if defined(__clang__) + +// Old Clang versions have trouble with ATOMIC_FLAG_INIT +# include + +#else + +# include + +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp new file mode 100644 index 0000000000..d87b8441fc --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp @@ -0,0 +1,94 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ATOMIC_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ATOMIC_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// Copyright 2008, 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + +#include +BOOST_PRAGMA_MESSAGE("Using __atomic spinlock") + +#endif + +namespace boost +{ + +namespace detail +{ + +class spinlock +{ +public: + + // `bool` alignment is required for Apple PPC32 + // https://github.com/boostorg/smart_ptr/issues/105 + // https://github.com/PurpleI2P/i2pd/issues/1726 + // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107590 + + union + { + unsigned char v_; + bool align_; + }; + +public: + + bool try_lock() + { + return __atomic_test_and_set( &v_, __ATOMIC_ACQUIRE ) == 0; + } + + void lock() + { + for( unsigned k = 0; !try_lock(); ++k ) + { + boost::detail::yield( k ); + } + } + + void unlock() + { + __atomic_clear( &v_, __ATOMIC_RELEASE ); + } + +public: + + class scoped_lock + { + private: + + spinlock & sp_; + + scoped_lock( scoped_lock const & ); + scoped_lock & operator=( scoped_lock const & ); + + public: + + explicit scoped_lock( spinlock & sp ): sp_( sp ) + { + sp.lock(); + } + + ~scoped_lock() + { + sp_.unlock(); + } + }; +}; + +} // namespace detail +} // namespace boost + +#define BOOST_DETAIL_SPINLOCK_INIT {{0}} + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_GCC_ATOMIC_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_pool.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_pool.hpp new file mode 100644 index 0000000000..39cf180b24 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_pool.hpp @@ -0,0 +1,91 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/spinlock_pool.hpp +// +// Copyright (c) 2008 Peter Dimov +// +// 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) +// +// spinlock_pool<0> is reserved for atomic<>, when/if it arrives +// spinlock_pool<1> is reserved for shared_ptr reference counts +// spinlock_pool<2> is reserved for shared_ptr atomic access +// + +#include +#include +#include + +namespace boost +{ + +namespace detail +{ + +template< int M > class spinlock_pool +{ +private: + + static spinlock pool_[ 41 ]; + +public: + + static spinlock & spinlock_for( void const * pv ) + { +#if defined(__VMS) && __INITIAL_POINTER_SIZE == 64 + std::size_t i = reinterpret_cast< unsigned long long >( pv ) % 41; +#else + std::size_t i = reinterpret_cast< std::size_t >( pv ) % 41; +#endif + return pool_[ i ]; + } + + class scoped_lock + { + private: + + spinlock & sp_; + + scoped_lock( scoped_lock const & ); + scoped_lock & operator=( scoped_lock const & ); + + public: + + explicit scoped_lock( void const * pv ): sp_( spinlock_for( pv ) ) + { + sp_.lock(); + } + + ~scoped_lock() + { + sp_.unlock(); + } + }; +}; + +template< int M > spinlock spinlock_pool< M >::pool_[ 41 ] = +{ + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, + BOOST_DETAIL_SPINLOCK_INIT +}; + +} // namespace detail +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_POOL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_std_atomic.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_std_atomic.hpp new file mode 100644 index 0000000000..013ce4e021 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/spinlock_std_atomic.hpp @@ -0,0 +1,90 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_STD_ATOMIC_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SPINLOCK_STD_ATOMIC_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// Copyright (c) 2014 Peter Dimov +// +// 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) +// + +#include +#include + +#if defined(BOOST_SP_REPORT_IMPLEMENTATION) + +#include +BOOST_PRAGMA_MESSAGE("Using std::atomic spinlock") + +#endif + +namespace boost +{ + +namespace detail +{ + +class spinlock +{ +public: + + std::atomic_flag v_; + +public: + + bool try_lock() noexcept + { + return !v_.test_and_set( std::memory_order_acquire ); + } + + void lock() noexcept + { + for( unsigned k = 0; !try_lock(); ++k ) + { + boost::detail::yield( k ); + } + } + + void unlock() noexcept + { + v_ .clear( std::memory_order_release ); + } + +public: + + class scoped_lock + { + private: + + spinlock & sp_; + + scoped_lock( scoped_lock const & ); + scoped_lock & operator=( scoped_lock const & ); + + public: + + explicit scoped_lock( spinlock & sp ) noexcept: sp_( sp ) + { + sp.lock(); + } + + ~scoped_lock() /*noexcept*/ + { + sp_.unlock(); + } + }; +}; + +} // namespace detail +} // namespace boost + +#define BOOST_DETAIL_SPINLOCK_INIT { ATOMIC_FLAG_INIT } + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SPINLOCK_STD_ATOMIC_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/detail/yield_k.hpp b/external/include/boost_1_90_0/boost/smart_ptr/detail/yield_k.hpp new file mode 100644 index 0000000000..7f6c645919 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/detail/yield_k.hpp @@ -0,0 +1,49 @@ +#ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/smart_ptr/detail/yield_k.hpp +// +// Copyright 2008, 2020 Peter Dimov +// +// inline void boost::detail::yield( unsigned k ); +// +// Typical use: +// for( unsigned k = 0; !try_lock(); ++k ) yield( k ); +// +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt + +#include + +namespace boost +{ + +namespace detail +{ + +inline void yield( unsigned k ) +{ + // Experiments on Windows and Fedora 32 show that a single pause, + // followed by an immediate sp_thread_sleep(), is best. + + if( k & 1 ) + { + boost::core::sp_thread_sleep(); + } + else + { + boost::core::sp_thread_pause(); + } +} + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_YIELD_K_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/intrusive_ptr.hpp b/external/include/boost_1_90_0/boost/smart_ptr/intrusive_ptr.hpp new file mode 100644 index 0000000000..ce99b7457a --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/intrusive_ptr.hpp @@ -0,0 +1,321 @@ +#ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED +#define BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED + +// +// intrusive_ptr.hpp +// +// Copyright (c) 2001, 2002 Peter Dimov +// +// 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) +// +// See http://www.boost.org/libs/smart_ptr/ for documentation. +// + +#include +#include +#include +#include + +#include // for std::less +#include // for std::basic_ostream +#include + +namespace boost +{ + +// +// intrusive_ptr +// +// A smart pointer that uses intrusive reference counting. +// +// Relies on unqualified calls to +// +// void intrusive_ptr_add_ref(T * p); +// void intrusive_ptr_release(T * p); +// +// (p != 0) +// +// The object is responsible for destroying itself. +// + +template class intrusive_ptr +{ +private: + + typedef intrusive_ptr this_type; + +public: + + typedef T element_type; + + constexpr intrusive_ptr() noexcept : px( 0 ) + { + } + + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr( T * p, bool add_ref = true ): px( p ) + { + if( px != 0 && add_ref ) intrusive_ptr_add_ref( px ); + } + + template + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr( intrusive_ptr const & rhs, typename boost::detail::sp_enable_if_convertible::type = boost::detail::sp_empty() ) + : px( rhs.get() ) + { + if( px != 0 ) intrusive_ptr_add_ref( px ); + } + + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr(intrusive_ptr const & rhs): px( rhs.px ) + { + if( px != 0 ) intrusive_ptr_add_ref( px ); + } + + BOOST_SP_CXX20_CONSTEXPR ~intrusive_ptr() + { + if( px != 0 ) intrusive_ptr_release( px ); + } + + template BOOST_SP_CXX20_CONSTEXPR intrusive_ptr & operator=(intrusive_ptr const & rhs) + { + this_type(rhs).swap(*this); + return *this; + } + +// Move support + + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr(intrusive_ptr && rhs) noexcept : px( rhs.px ) + { + rhs.px = 0; + } + + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr & operator=(intrusive_ptr && rhs) noexcept + { + this_type( static_cast< intrusive_ptr && >( rhs ) ).swap(*this); + return *this; + } + + template friend class intrusive_ptr; + + template + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr(intrusive_ptr && rhs, typename boost::detail::sp_enable_if_convertible::type = boost::detail::sp_empty()) + : px( rhs.px ) + { + rhs.px = 0; + } + + template + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr & operator=(intrusive_ptr && rhs) noexcept + { + this_type( static_cast< intrusive_ptr && >( rhs ) ).swap(*this); + return *this; + } + + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr & operator=(intrusive_ptr const & rhs) + { + this_type(rhs).swap(*this); + return *this; + } + + BOOST_SP_CXX20_CONSTEXPR intrusive_ptr & operator=(T * rhs) + { + this_type(rhs).swap(*this); + return *this; + } + + BOOST_SP_CXX20_CONSTEXPR void reset() + { + this_type().swap( *this ); + } + + BOOST_SP_CXX20_CONSTEXPR void reset( T * rhs ) + { + this_type( rhs ).swap( *this ); + } + + BOOST_SP_CXX20_CONSTEXPR void reset( T * rhs, bool add_ref ) + { + this_type( rhs, add_ref ).swap( *this ); + } + + BOOST_SP_CXX20_CONSTEXPR T * get() const noexcept + { + return px; + } + + BOOST_SP_CXX20_CONSTEXPR T * detach() noexcept + { + T * ret = px; + px = 0; + return ret; + } + + BOOST_SP_CXX20_CONSTEXPR T & operator*() const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + return *px; + } + + BOOST_SP_CXX20_CONSTEXPR T * operator->() const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + return px; + } + + BOOST_SP_CXX20_CONSTEXPR explicit operator bool () const noexcept + { + return px != 0; + } + + BOOST_SP_CXX20_CONSTEXPR void swap(intrusive_ptr & rhs) noexcept + { + T * tmp = px; + px = rhs.px; + rhs.px = tmp; + } + +private: + + T * px; +}; + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator==(intrusive_ptr const & a, intrusive_ptr const & b) noexcept +{ + return a.get() == b.get(); +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator!=(intrusive_ptr const & a, intrusive_ptr const & b) noexcept +{ + return a.get() != b.get(); +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator==(intrusive_ptr const & a, U * b) noexcept +{ + return a.get() == b; +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator!=(intrusive_ptr const & a, U * b) noexcept +{ + return a.get() != b; +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator==(T * a, intrusive_ptr const & b) noexcept +{ + return a == b.get(); +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator!=(T * a, intrusive_ptr const & b) noexcept +{ + return a != b.get(); +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator==( intrusive_ptr const & p, std::nullptr_t ) noexcept +{ + return p.get() == 0; +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator==( std::nullptr_t, intrusive_ptr const & p ) noexcept +{ + return p.get() == 0; +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator!=( intrusive_ptr const & p, std::nullptr_t ) noexcept +{ + return p.get() != 0; +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator!=( std::nullptr_t, intrusive_ptr const & p ) noexcept +{ + return p.get() != 0; +} + +template BOOST_SP_CXX20_CONSTEXPR inline bool operator<(intrusive_ptr const & a, intrusive_ptr const & b) noexcept +{ + return std::less()(a.get(), b.get()); +} + +template BOOST_SP_CXX20_CONSTEXPR inline void swap(intrusive_ptr & lhs, intrusive_ptr & rhs) noexcept +{ + lhs.swap(rhs); +} + +// mem_fn support + +template BOOST_SP_CXX20_CONSTEXPR inline T * get_pointer(intrusive_ptr const & p) noexcept +{ + return p.get(); +} + +// pointer casts + +template BOOST_SP_CXX20_CONSTEXPR inline intrusive_ptr static_pointer_cast(intrusive_ptr const & p) +{ + return static_cast(p.get()); +} + +template BOOST_SP_CXX20_CONSTEXPR inline intrusive_ptr const_pointer_cast(intrusive_ptr const & p) +{ + return const_cast(p.get()); +} + +template BOOST_SP_CXX20_CONSTEXPR inline intrusive_ptr dynamic_pointer_cast(intrusive_ptr const & p) +{ + return dynamic_cast(p.get()); +} + +template BOOST_SP_CXX20_CONSTEXPR inline intrusive_ptr static_pointer_cast( intrusive_ptr && p ) noexcept +{ + return intrusive_ptr( static_cast( p.detach() ), false ); +} + +template BOOST_SP_CXX20_CONSTEXPR inline intrusive_ptr const_pointer_cast( intrusive_ptr && p ) noexcept +{ + return intrusive_ptr( const_cast( p.detach() ), false ); +} + +template BOOST_SP_CXX20_CONSTEXPR inline intrusive_ptr dynamic_pointer_cast( intrusive_ptr && p ) noexcept +{ + T * p2 = dynamic_cast( p.get() ); + + intrusive_ptr r( p2, false ); + + if( p2 ) p.detach(); + + return r; +} + +// operator<< + +template std::basic_ostream & operator<< (std::basic_ostream & os, intrusive_ptr const & p) +{ + os << p.get(); + return os; +} + +// hash_value + +template< class T > struct hash; + +template< class T > std::size_t hash_value( boost::intrusive_ptr const & p ) noexcept +{ + return boost::hash< T* >()( p.get() ); +} + +} // namespace boost + +// std::hash + +namespace std +{ + +template struct hash< ::boost::intrusive_ptr > +{ + std::size_t operator()( ::boost::intrusive_ptr const & p ) const noexcept + { + return std::hash< T* >()( p.get() ); + } +}; + +} // namespace std + +#endif // #ifndef BOOST_SMART_PTR_INTRUSIVE_PTR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/scoped_ptr.hpp b/external/include/boost_1_90_0/boost/smart_ptr/scoped_ptr.hpp new file mode 100644 index 0000000000..7affa09b0a --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/scoped_ptr.hpp @@ -0,0 +1,148 @@ +#ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED +#define BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED + +// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. +// Copyright (c) 2001, 2002 Peter Dimov +// +// 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) +// +// See http://www.boost.org/libs/smart_ptr/ for documentation. + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef BOOST_NO_AUTO_PTR +# include // for std::auto_ptr +#endif + +#if defined( BOOST_SP_DISABLE_DEPRECATED ) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + +namespace boost +{ + +// scoped_ptr mimics a built-in pointer except that it guarantees deletion +// of the object pointed to, either on destruction of the scoped_ptr or via +// an explicit reset(). scoped_ptr is a simple solution for simple needs; +// use shared_ptr or std::auto_ptr if your needs are more complex. + +template class scoped_ptr // noncopyable +{ +private: + + T * px; + + scoped_ptr(scoped_ptr const &); + scoped_ptr & operator=(scoped_ptr const &); + + typedef scoped_ptr this_type; + + void operator==( scoped_ptr const& ) const; + void operator!=( scoped_ptr const& ) const; + +public: + + typedef T element_type; + + explicit scoped_ptr( T * p = 0 ) noexcept : px( p ) + { + } + +#ifndef BOOST_NO_AUTO_PTR + + explicit scoped_ptr( std::auto_ptr p ) noexcept : px( p.release() ) + { + } + +#endif + + ~scoped_ptr() noexcept + { + boost::checked_delete( px ); + } + + void reset(T * p = 0) BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors + this_type(p).swap(*this); + } + + T & operator*() const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + return *px; + } + + T * operator->() const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + return px; + } + + T * get() const noexcept + { + return px; + } + + explicit operator bool () const noexcept + { + return px != 0; + } + + void swap(scoped_ptr & b) noexcept + { + T * tmp = b.px; + b.px = px; + px = tmp; + } +}; + +template inline bool operator==( scoped_ptr const & p, std::nullptr_t ) noexcept +{ + return p.get() == 0; +} + +template inline bool operator==( std::nullptr_t, scoped_ptr const & p ) noexcept +{ + return p.get() == 0; +} + +template inline bool operator!=( scoped_ptr const & p, std::nullptr_t ) noexcept +{ + return p.get() != 0; +} + +template inline bool operator!=( std::nullptr_t, scoped_ptr const & p ) noexcept +{ + return p.get() != 0; +} + +template inline void swap(scoped_ptr & a, scoped_ptr & b) noexcept +{ + a.swap(b); +} + +// get_pointer(p) is a generic way to say p.get() + +template inline T * get_pointer(scoped_ptr const & p) noexcept +{ + return p.get(); +} + +} // namespace boost + +#if defined( BOOST_SP_DISABLE_DEPRECATED ) +#pragma GCC diagnostic pop +#endif + +#endif // #ifndef BOOST_SMART_PTR_SCOPED_PTR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/smart_ptr/shared_ptr.hpp b/external/include/boost_1_90_0/boost/smart_ptr/shared_ptr.hpp new file mode 100644 index 0000000000..2deed9b632 --- /dev/null +++ b/external/include/boost_1_90_0/boost/smart_ptr/shared_ptr.hpp @@ -0,0 +1,986 @@ +#ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED +#define BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED + +// +// shared_ptr.hpp +// +// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. +// Copyright (c) 2001-2008 Peter Dimov +// +// 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) +// +// See http://www.boost.org/libs/smart_ptr/ for documentation. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_SP_NO_ATOMIC_ACCESS) +#include +#endif + +#include // for std::swap +#include // for std::less +#include // for std::bad_cast +#include // for std::size_t +#include // for std::auto_ptr +#include // for std::basic_ostream + +#if defined( BOOST_SP_DISABLE_DEPRECATED ) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + +namespace boost +{ + +template class shared_ptr; +template class weak_ptr; +template class enable_shared_from_this; +class enable_shared_from_raw; + +namespace movelib +{ + + template< class T, class D > class unique_ptr; + +} // namespace movelib + +namespace detail +{ + +// sp_element, element_type + +template< class T > struct sp_element +{ + typedef T type; +}; + +template< class T > struct sp_element< T[] > +{ + typedef T type; +}; + +template< class T, std::size_t N > struct sp_element< T[N] > +{ + typedef T type; +}; + +// sp_dereference, return type of operator* + +template< class T > struct sp_dereference +{ + typedef T & type; +}; + +template<> struct sp_dereference< void > +{ + typedef void type; +}; + +template<> struct sp_dereference< void const > +{ + typedef void type; +}; + +template<> struct sp_dereference< void volatile > +{ + typedef void type; +}; + +template<> struct sp_dereference< void const volatile > +{ + typedef void type; +}; + +template< class T > struct sp_dereference< T[] > +{ + typedef void type; +}; + +template< class T, std::size_t N > struct sp_dereference< T[N] > +{ + typedef void type; +}; + +// sp_member_access, return type of operator-> + +template< class T > struct sp_member_access +{ + typedef T * type; +}; + +template< class T > struct sp_member_access< T[] > +{ + typedef void type; +}; + +template< class T, std::size_t N > struct sp_member_access< T[N] > +{ + typedef void type; +}; + +// sp_array_access, return type of operator[] + +template< class T > struct sp_array_access +{ + typedef void type; +}; + +template< class T > struct sp_array_access< T[] > +{ + typedef T & type; +}; + +template< class T, std::size_t N > struct sp_array_access< T[N] > +{ + typedef T & type; +}; + +// sp_extent, for operator[] index check + +template< class T > struct sp_extent +{ + enum _vt { value = 0 }; +}; + +template< class T, std::size_t N > struct sp_extent< T[N] > +{ + enum _vt { value = N }; +}; + +// enable_shared_from_this support + +template< class X, class Y, class T > inline void sp_enable_shared_from_this( boost::shared_ptr const * ppx, Y const * py, boost::enable_shared_from_this< T > const * pe ) +{ + if( pe != 0 ) + { + pe->_internal_accept_owner( ppx, const_cast< Y* >( py ) ); + } +} + +template< class X, class Y > inline void sp_enable_shared_from_this( boost::shared_ptr * ppx, Y const * py, boost::enable_shared_from_raw const * pe ); + +#ifdef _MANAGED + +// Avoid C4793, ... causes native code generation + +struct sp_any_pointer +{ + template sp_any_pointer( T* ) {} +}; + +inline void sp_enable_shared_from_this( sp_any_pointer, sp_any_pointer, sp_any_pointer ) +{ +} + +#else // _MANAGED + +inline void sp_enable_shared_from_this( ... ) +{ +} + +#endif // _MANAGED + +// sp_assert_convertible + +template< class Y, class T > inline void sp_assert_convertible() noexcept +{ + static_assert( sp_convertible< Y, T >::value, "incompatible pointer type" ); +} + +// pointer constructor helper + +template< class T, class Y > inline void sp_pointer_construct( boost::shared_ptr< T > * ppx, Y * p, boost::detail::shared_count & pn ) +{ + boost::detail::shared_count( p ).swap( pn ); + boost::detail::sp_enable_shared_from_this( ppx, p, p ); +} + +template< class T, class Y > inline void sp_pointer_construct( boost::shared_ptr< T[] > * /*ppx*/, Y * p, boost::detail::shared_count & pn ) +{ + sp_assert_convertible< Y[], T[] >(); + boost::detail::shared_count( p, boost::checked_array_deleter< T >() ).swap( pn ); +} + +template< class T, std::size_t N, class Y > inline void sp_pointer_construct( boost::shared_ptr< T[N] > * /*ppx*/, Y * p, boost::detail::shared_count & pn ) +{ + sp_assert_convertible< Y[N], T[N] >(); + boost::detail::shared_count( p, boost::checked_array_deleter< T >() ).swap( pn ); +} + +// deleter constructor helper + +template< class T, class Y > inline void sp_deleter_construct( boost::shared_ptr< T > * ppx, Y * p ) +{ + boost::detail::sp_enable_shared_from_this( ppx, p, p ); +} + +template< class T, class Y > inline void sp_deleter_construct( boost::shared_ptr< T[] > * /*ppx*/, Y * /*p*/ ) +{ + sp_assert_convertible< Y[], T[] >(); +} + +template< class T, std::size_t N, class Y > inline void sp_deleter_construct( boost::shared_ptr< T[N] > * /*ppx*/, Y * /*p*/ ) +{ + sp_assert_convertible< Y[N], T[N] >(); +} + +struct sp_internal_constructor_tag +{ +}; + +} // namespace detail + + +// +// shared_ptr +// +// An enhanced relative of scoped_ptr with reference counted copy semantics. +// The object pointed to is deleted when the last shared_ptr pointing to it +// is destroyed or reset. +// + +template class shared_ptr +{ +private: + + // Borland 5.5.1 specific workaround + typedef shared_ptr this_type; + +public: + + typedef typename boost::detail::sp_element< T >::type element_type; + + constexpr shared_ptr() noexcept : px( 0 ), pn() + { + } + + constexpr shared_ptr( std::nullptr_t ) noexcept : px( 0 ), pn() + { + } + + constexpr shared_ptr( boost::detail::sp_internal_constructor_tag, element_type * px_, boost::detail::shared_count const & pn_ ) noexcept : px( px_ ), pn( pn_ ) + { + } + + constexpr shared_ptr( boost::detail::sp_internal_constructor_tag, element_type * px_, boost::detail::shared_count && pn_ ) noexcept : px( px_ ), pn( std::move( pn_ ) ) + { + } + + template + explicit shared_ptr( Y * p ): px( p ), pn() // Y must be complete + { + boost::detail::sp_pointer_construct( this, p, pn ); + } + + // + // Requirements: D's copy/move constructors must not throw + // + // shared_ptr will release p by calling d(p) + // + + template shared_ptr( Y * p, D d ): px( p ), pn( p, static_cast< D&& >( d ) ) + { + boost::detail::sp_deleter_construct( this, p ); + } + + template shared_ptr( std::nullptr_t p, D d ): px( p ), pn( p, static_cast< D&& >( d ) ) + { + } + + // As above, but with allocator. A's copy constructor shall not throw. + + template shared_ptr( Y * p, D d, A a ): px( p ), pn( p, static_cast< D&& >( d ), a ) + { + boost::detail::sp_deleter_construct( this, p ); + } + + template shared_ptr( std::nullptr_t p, D d, A a ): px( p ), pn( p, static_cast< D&& >( d ), a ) + { + } + +// generated copy constructor, destructor are fine... +// ... except in C++0x, move disables the implicit copy + + shared_ptr( shared_ptr const & r ) noexcept : px( r.px ), pn( r.pn ) + { + } + + template + explicit shared_ptr( weak_ptr const & r ): pn( r.pn ) // may throw + { + boost::detail::sp_assert_convertible< Y, T >(); + + // it is now safe to copy r.px, as pn(r.pn) did not throw + px = r.px; + } + + template + shared_ptr( weak_ptr const & r, boost::detail::sp_nothrow_tag ) + noexcept : px( 0 ), pn( r.pn, boost::detail::sp_nothrow_tag() ) + { + if( !pn.empty() ) + { + px = r.px; + } + } + + template + shared_ptr( shared_ptr const & r, typename boost::detail::sp_enable_if_convertible::type = boost::detail::sp_empty() ) + noexcept : px( r.px ), pn( r.pn ) + { + boost::detail::sp_assert_convertible< Y, T >(); + } + + // aliasing + template< class Y > + shared_ptr( shared_ptr const & r, element_type * p ) noexcept : px( p ), pn( r.pn ) + { + } + +#ifndef BOOST_NO_AUTO_PTR + + template + explicit shared_ptr( std::auto_ptr & r ): px(r.get()), pn() + { + boost::detail::sp_assert_convertible< Y, T >(); + + Y * tmp = r.get(); + pn = boost::detail::shared_count( r ); + + boost::detail::sp_deleter_construct( this, tmp ); + } + + template + shared_ptr( std::auto_ptr && r ): px(r.get()), pn() + { + boost::detail::sp_assert_convertible< Y, T >(); + + Y * tmp = r.get(); + pn = boost::detail::shared_count( r ); + + boost::detail::sp_deleter_construct( this, tmp ); + } + +#endif // BOOST_NO_AUTO_PTR + + template< class Y, class D > + shared_ptr( std::unique_ptr< Y, D > && r ): px( r.get() ), pn() + { + boost::detail::sp_assert_convertible< Y, T >(); + + typename std::unique_ptr< Y, D >::pointer tmp = r.get(); + + if( tmp != 0 ) + { + pn = boost::detail::shared_count( r ); + boost::detail::sp_deleter_construct( this, tmp ); + } + } + + template< class Y, class D > + shared_ptr( boost::movelib::unique_ptr< Y, D > r ): px( r.get() ), pn() + { + boost::detail::sp_assert_convertible< Y, T >(); + + typename boost::movelib::unique_ptr< Y, D >::pointer tmp = r.get(); + + if( tmp != 0 ) + { + pn = boost::detail::shared_count( r ); + boost::detail::sp_deleter_construct( this, tmp ); + } + } + + // assignment + + shared_ptr & operator=( shared_ptr const & r ) noexcept + { + this_type(r).swap(*this); + return *this; + } + + template + shared_ptr & operator=(shared_ptr const & r) noexcept + { + this_type(r).swap(*this); + return *this; + } + +#ifndef BOOST_NO_AUTO_PTR + + template + shared_ptr & operator=( std::auto_ptr & r ) + { + this_type( r ).swap( *this ); + return *this; + } + + template + shared_ptr & operator=( std::auto_ptr && r ) + { + this_type( static_cast< std::auto_ptr && >( r ) ).swap( *this ); + return *this; + } + +#endif // BOOST_NO_AUTO_PTR + + template + shared_ptr & operator=( std::unique_ptr && r ) + { + this_type( static_cast< std::unique_ptr && >( r ) ).swap(*this); + return *this; + } + + template + shared_ptr & operator=( boost::movelib::unique_ptr r ) + { + // this_type( static_cast< unique_ptr && >( r ) ).swap( *this ); + + boost::detail::sp_assert_convertible< Y, T >(); + + typename boost::movelib::unique_ptr< Y, D >::pointer p = r.get(); + + shared_ptr tmp; + + if( p != 0 ) + { + tmp.px = p; + tmp.pn = boost::detail::shared_count( r ); + + boost::detail::sp_deleter_construct( &tmp, p ); + } + + tmp.swap( *this ); + + return *this; + } + +// Move support + + shared_ptr( shared_ptr && r ) noexcept : px( r.px ), pn( static_cast< boost::detail::shared_count && >( r.pn ) ) + { + r.px = 0; + } + + template + shared_ptr( shared_ptr && r, typename boost::detail::sp_enable_if_convertible::type = boost::detail::sp_empty() ) + noexcept : px( r.px ), pn( static_cast< boost::detail::shared_count && >( r.pn ) ) + { + boost::detail::sp_assert_convertible< Y, T >(); + r.px = 0; + } + + shared_ptr & operator=( shared_ptr && r ) noexcept + { + this_type( static_cast< shared_ptr && >( r ) ).swap( *this ); + return *this; + } + + template + shared_ptr & operator=( shared_ptr && r ) noexcept + { + this_type( static_cast< shared_ptr && >( r ) ).swap( *this ); + return *this; + } + + // aliasing move + template + shared_ptr( shared_ptr && r, element_type * p ) noexcept : px( p ), pn() + { + pn.swap( r.pn ); + r.px = 0; + } + + shared_ptr & operator=( std::nullptr_t ) noexcept + { + this_type().swap(*this); + return *this; + } + + void reset() noexcept + { + this_type().swap(*this); + } + + template void reset( Y * p ) // Y must be complete + { + BOOST_ASSERT( p == 0 || p != px ); // catch self-reset errors + this_type( p ).swap( *this ); + } + + template void reset( Y * p, D d ) + { + this_type( p, static_cast< D&& >( d ) ).swap( *this ); + } + + template void reset( Y * p, D d, A a ) + { + this_type( p, static_cast< D&& >( d ), a ).swap( *this ); + } + + template void reset( shared_ptr const & r, element_type * p ) noexcept + { + this_type( r, p ).swap( *this ); + } + + template void reset( shared_ptr && r, element_type * p ) noexcept + { + this_type( static_cast< shared_ptr && >( r ), p ).swap( *this ); + } + + typename boost::detail::sp_dereference< T >::type operator* () const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + return *px; + } + + typename boost::detail::sp_member_access< T >::type operator-> () const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + return px; + } + + typename boost::detail::sp_array_access< T >::type operator[] ( std::ptrdiff_t i ) const BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( px != 0 ); + BOOST_ASSERT( i >= 0 && ( i < boost::detail::sp_extent< T >::value || boost::detail::sp_extent< T >::value == 0 ) ); + + return static_cast< typename boost::detail::sp_array_access< T >::type >( px[ i ] ); + } + + element_type * get() const noexcept + { + return px; + } + + explicit operator bool () const noexcept + { + return px != 0; + } + + bool unique() const noexcept + { + return pn.unique(); + } + + long use_count() const noexcept + { + return pn.use_count(); + } + + void swap( shared_ptr & other ) noexcept + { + std::swap(px, other.px); + pn.swap(other.pn); + } + + template bool owner_before( shared_ptr const & rhs ) const noexcept + { + return pn < rhs.pn; + } + + template bool owner_before( weak_ptr const & rhs ) const noexcept + { + return pn < rhs.pn; + } + + template bool owner_equals( shared_ptr const & rhs ) const noexcept + { + return pn == rhs.pn; + } + + template bool owner_equals( weak_ptr const & rhs ) const noexcept + { + return pn == rhs.pn; + } + + std::size_t owner_hash_value() const noexcept + { + return pn.hash_value(); + } + + void * _internal_get_deleter( boost::detail::sp_typeinfo_ const & ti ) const noexcept + { + return pn.get_deleter( ti ); + } + + void * _internal_get_local_deleter( boost::detail::sp_typeinfo_ const & ti ) const noexcept + { + return pn.get_local_deleter( ti ); + } + + void * _internal_get_untyped_deleter() const noexcept + { + return pn.get_untyped_deleter(); + } + + bool _internal_equiv( shared_ptr const & r ) const noexcept + { + return px == r.px && pn == r.pn; + } + + boost::detail::shared_count _internal_count() const noexcept + { + return pn; + } + +private: + + template friend class shared_ptr; + template friend class weak_ptr; + + + element_type * px; // contained pointer + boost::detail::shared_count pn; // reference counter + +}; // shared_ptr + +template inline bool operator==(shared_ptr const & a, shared_ptr const & b) noexcept +{ + return a.get() == b.get(); +} + +template inline bool operator!=(shared_ptr const & a, shared_ptr const & b) noexcept +{ + return a.get() != b.get(); +} + +template inline bool operator==( shared_ptr const & p, std::nullptr_t ) noexcept +{ + return p.get() == 0; +} + +template inline bool operator==( std::nullptr_t, shared_ptr const & p ) noexcept +{ + return p.get() == 0; +} + +template inline bool operator!=( shared_ptr const & p, std::nullptr_t ) noexcept +{ + return p.get() != 0; +} + +template inline bool operator!=( std::nullptr_t, shared_ptr const & p ) noexcept +{ + return p.get() != 0; +} + +template inline bool operator<(shared_ptr const & a, shared_ptr const & b) noexcept +{ + return a.owner_before( b ); +} + +template inline void swap(shared_ptr & a, shared_ptr & b) noexcept +{ + a.swap(b); +} + +template shared_ptr static_pointer_cast( shared_ptr const & r ) noexcept +{ + (void) static_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = static_cast< E* >( r.get() ); + return shared_ptr( r, p ); +} + +template shared_ptr const_pointer_cast( shared_ptr const & r ) noexcept +{ + (void) const_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = const_cast< E* >( r.get() ); + return shared_ptr( r, p ); +} + +template shared_ptr dynamic_pointer_cast( shared_ptr const & r ) noexcept +{ + (void) dynamic_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = dynamic_cast< E* >( r.get() ); + return p? shared_ptr( r, p ): shared_ptr(); +} + +template shared_ptr reinterpret_pointer_cast( shared_ptr const & r ) noexcept +{ + (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = reinterpret_cast< E* >( r.get() ); + return shared_ptr( r, p ); +} + +template shared_ptr static_pointer_cast( shared_ptr && r ) noexcept +{ + (void) static_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = static_cast< E* >( r.get() ); + return shared_ptr( std::move(r), p ); +} + +template shared_ptr const_pointer_cast( shared_ptr && r ) noexcept +{ + (void) const_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = const_cast< E* >( r.get() ); + return shared_ptr( std::move(r), p ); +} + +template shared_ptr dynamic_pointer_cast( shared_ptr && r ) noexcept +{ + (void) dynamic_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = dynamic_cast< E* >( r.get() ); + return p? shared_ptr( std::move(r), p ): shared_ptr(); +} + +template shared_ptr reinterpret_pointer_cast( shared_ptr && r ) noexcept +{ + (void) reinterpret_cast< T* >( static_cast< U* >( 0 ) ); + + typedef typename shared_ptr::element_type E; + + E * p = reinterpret_cast< E* >( r.get() ); + return shared_ptr( std::move(r), p ); +} + +// get_pointer() enables boost::mem_fn to recognize shared_ptr + +template inline typename shared_ptr::element_type * get_pointer(shared_ptr const & p) noexcept +{ + return p.get(); +} + +// operator<< + +template std::basic_ostream & operator<< (std::basic_ostream & os, shared_ptr const & p) +{ + os << p.get(); + return os; +} + +// get_deleter + +namespace detail +{ + +template D * basic_get_deleter( shared_ptr const & p ) noexcept +{ + return static_cast( p._internal_get_deleter(BOOST_SP_TYPEID_(D)) ); +} + +template D * basic_get_local_deleter( D *, shared_ptr const & p ) noexcept; +template D const * basic_get_local_deleter( D const *, shared_ptr const & p ) noexcept; + +class esft2_deleter_wrapper +{ +private: + + shared_ptr deleter_; + +public: + + esft2_deleter_wrapper() noexcept + { + } + + template< class T > void set_deleter( shared_ptr const & deleter ) noexcept + { + deleter_ = deleter; + } + + template D* get_deleter() const noexcept + { + return boost::detail::basic_get_deleter( deleter_ ); + } + + template< class T> void operator()( T* ) BOOST_SP_NOEXCEPT_WITH_ASSERT + { + BOOST_ASSERT( deleter_.use_count() <= 1 ); + deleter_.reset(); + } +}; + +} // namespace detail + +template D * get_deleter( shared_ptr const & p ) noexcept +{ + D * d = boost::detail::basic_get_deleter( p ); + + if( d == 0 ) + { + d = boost::detail::basic_get_local_deleter( d, p ); + } + + if( d == 0 ) + { + boost::detail::esft2_deleter_wrapper *del_wrapper = boost::detail::basic_get_deleter(p); +// The following get_deleter method call is fully qualified because +// older versions of gcc (2.95, 3.2.3) fail to compile it when written del_wrapper->get_deleter() + if(del_wrapper) d = del_wrapper->::boost::detail::esft2_deleter_wrapper::get_deleter(); + } + + return d; +} + +// atomic access + +#if !defined(BOOST_SP_NO_ATOMIC_ACCESS) + +template inline bool atomic_is_lock_free( shared_ptr const * /*p*/ ) noexcept +{ + return false; +} + +template shared_ptr atomic_load( shared_ptr const * p ) noexcept +{ + boost::detail::spinlock_pool<2>::scoped_lock lock( p ); + return *p; +} + +template inline shared_ptr atomic_load_explicit( shared_ptr const * p, /*memory_order mo*/ M ) noexcept +{ + return atomic_load( p ); +} + +template void atomic_store( shared_ptr * p, shared_ptr r ) noexcept +{ + boost::detail::spinlock_pool<2>::scoped_lock lock( p ); + p->swap( r ); +} + +template inline void atomic_store_explicit( shared_ptr * p, shared_ptr r, /*memory_order mo*/ M ) noexcept +{ + atomic_store( p, r ); // std::move( r ) +} + +template shared_ptr atomic_exchange( shared_ptr * p, shared_ptr r ) noexcept +{ + boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p ); + + sp.lock(); + p->swap( r ); + sp.unlock(); + + return r; // return std::move( r ) +} + +template shared_ptr inline atomic_exchange_explicit( shared_ptr * p, shared_ptr r, /*memory_order mo*/ M ) noexcept +{ + return atomic_exchange( p, r ); // std::move( r ) +} + +template bool atomic_compare_exchange( shared_ptr * p, shared_ptr * v, shared_ptr w ) noexcept +{ + boost::detail::spinlock & sp = boost::detail::spinlock_pool<2>::spinlock_for( p ); + + sp.lock(); + + if( p->_internal_equiv( *v ) ) + { + p->swap( w ); + + sp.unlock(); + + return true; + } + else + { + shared_ptr tmp( *p ); + + sp.unlock(); + + tmp.swap( *v ); + return false; + } +} + +template inline bool atomic_compare_exchange_explicit( shared_ptr * p, shared_ptr * v, shared_ptr w, /*memory_order success*/ M, /*memory_order failure*/ M ) noexcept +{ + return atomic_compare_exchange( p, v, w ); // std::move( w ) +} + +#endif // !defined(BOOST_SP_NO_ATOMIC_ACCESS) + +// hash_value + +template< class T > struct hash; + +template< class T > std::size_t hash_value( boost::shared_ptr const & p ) noexcept +{ + return boost::hash< typename boost::shared_ptr::element_type* >()( p.get() ); +} + +} // namespace boost + +// std::hash + +namespace std +{ + +template struct hash< ::boost::shared_ptr > +{ + std::size_t operator()( ::boost::shared_ptr const & p ) const noexcept + { + return std::hash< typename ::boost::shared_ptr::element_type* >()( p.get() ); + } +}; + +} // namespace std + +#include + +namespace boost +{ + +namespace detail +{ + +template D * basic_get_local_deleter( D *, shared_ptr const & p ) noexcept +{ + return static_cast( p._internal_get_local_deleter( BOOST_SP_TYPEID_(local_sp_deleter) ) ); +} + +template D const * basic_get_local_deleter( D const *, shared_ptr const & p ) noexcept +{ + return static_cast( p._internal_get_local_deleter( BOOST_SP_TYPEID_(local_sp_deleter) ) ); +} + +} // namespace detail + +#if defined(__cpp_deduction_guides) + +template shared_ptr( weak_ptr ) -> shared_ptr; +template shared_ptr( std::unique_ptr ) -> shared_ptr; + +#endif + +} // namespace boost + +#if defined( BOOST_SP_DISABLE_DEPRECATED ) +#pragma GCC diagnostic pop +#endif + +#endif // #ifndef BOOST_SMART_PTR_SHARED_PTR_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/static_assert.hpp b/external/include/boost_1_90_0/boost/static_assert.hpp new file mode 100644 index 0000000000..f8e59cfb44 --- /dev/null +++ b/external/include/boost_1_90_0/boost/static_assert.hpp @@ -0,0 +1,181 @@ +// (C) Copyright John Maddock 2000. +// Use, modification and distribution are subject to 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) + +// See http://www.boost.org/libs/static_assert for documentation. + +/* + Revision history: + 02 August 2000 + Initial version. +*/ + +#ifndef BOOST_STATIC_ASSERT_HPP +#define BOOST_STATIC_ASSERT_HPP + +#include +#include +#include //for std::size_t + +#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) +// +// This is horrible, but it seems to be the only we can shut up the +// "anonymous variadic macros were introduced in C99 [-Wvariadic-macros]" +// warning that get spewed out otherwise in non-C++11 mode. +// +#pragma GCC system_header +#endif + +#ifndef BOOST_NO_CXX11_STATIC_ASSERT +# ifndef BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_STATIC_ASSERT_MSG( ... ) static_assert(__VA_ARGS__) +# else +# define BOOST_STATIC_ASSERT_MSG( B, Msg ) static_assert( B, Msg ) +# endif +#else +# define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B ) +#endif + +#ifdef BOOST_BORLANDC +// +// workaround for buggy integral-constant expression support: +#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS +#endif + +#if defined(__GNUC__) && (__GNUC__ == 3) && ((__GNUC_MINOR__ == 3) || (__GNUC_MINOR__ == 4)) +// gcc 3.3 and 3.4 don't produce good error messages with the default version: +# define BOOST_SA_GCC_WORKAROUND +#endif + +// +// If the compiler issues warnings about old C style casts, +// then enable this: +// +#if defined(__GNUC__) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))) +# ifndef BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) ((__VA_ARGS__) != 0) +# else +# define BOOST_STATIC_ASSERT_BOOL_CAST( x ) ((x) != 0) +# endif +#else +# ifndef BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_STATIC_ASSERT_BOOL_CAST( ... ) (bool)(__VA_ARGS__) +# else +# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x) +# endif +#endif + +#ifndef BOOST_NO_CXX11_STATIC_ASSERT +# ifndef BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_STATIC_ASSERT( ... ) static_assert(__VA_ARGS__, #__VA_ARGS__) +# else +# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B) +# endif +#else + +namespace boost{ + +// HP aCC cannot deal with missing names for template value parameters +template struct STATIC_ASSERTION_FAILURE; + +template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; + +// HP aCC cannot deal with missing names for template value parameters +template struct static_assert_test{}; + +} + +// +// Implicit instantiation requires that all member declarations be +// instantiated, but that the definitions are *not* instantiated. +// +// It's not particularly clear how this applies to enum's or typedefs; +// both are described as declarations [7.1.3] and [7.2] in the standard, +// however some compilers use "delayed evaluation" of one or more of +// these when implicitly instantiating templates. We use typedef declarations +// by default, but try defining BOOST_USE_ENUM_STATIC_ASSERT if the enum +// version gets better results from your compiler... +// +// Implementation: +// Both of these versions rely on sizeof(incomplete_type) generating an error +// message containing the name of the incomplete type. We use +// "STATIC_ASSERTION_FAILURE" as the type name here to generate +// an eye catching error message. The result of the sizeof expression is either +// used as an enum initialiser, or as a template argument depending which version +// is in use... +// Note that the argument to the assert is explicitly cast to bool using old- +// style casts: too many compilers currently have problems with static_cast +// when used inside integral constant expressions. +// +#if !defined(BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS) + +#if defined(BOOST_MSVC) && defined(BOOST_NO_CXX11_VARIADIC_MACROS) +#define BOOST_STATIC_ASSERT( B ) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST ( B ) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) +#elif defined(BOOST_MSVC) +#define BOOST_STATIC_ASSERT(...) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST (__VA_ARGS__) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__) +#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && defined(BOOST_NO_CXX11_VARIADIC_MACROS) +// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error +// instead of warning in case of failure +# define BOOST_STATIC_ASSERT( B ) \ + typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ + [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >::value ] +#elif (defined(BOOST_INTEL_CXX_VERSION) || defined(BOOST_SA_GCC_WORKAROUND)) && !defined(BOOST_NO_CXX11_VARIADIC_MACROS) +// agurt 15/sep/02: a special care is needed to force Intel C++ issue an error +// instead of warning in case of failure +# define BOOST_STATIC_ASSERT(...) \ + typedef char BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \ + [ ::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >::value ] +#elif defined(__sgi) +// special version for SGI MIPSpro compiler +#define BOOST_STATIC_ASSERT( B ) \ + BOOST_STATIC_CONSTANT(bool, \ + BOOST_JOIN(boost_static_assert_test_, __LINE__) = ( B )); \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< \ + BOOST_JOIN(boost_static_assert_test_, __LINE__) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __LINE__) +#elif BOOST_WORKAROUND(__MWERKS__, <= 0x3003) +// special version for CodeWarrior <= 8.x +#define BOOST_STATIC_ASSERT( B ) \ + BOOST_STATIC_CONSTANT(int, \ + BOOST_JOIN(boost_static_assert_test_, __LINE__) = \ + sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >) ) +#else +// generic version +# ifndef BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_STATIC_ASSERT( ... ) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED +# else +# define BOOST_STATIC_ASSERT( B ) \ + typedef ::boost::static_assert_test<\ + sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\ + BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_ATTRIBUTE_UNUSED +# endif +#endif + +#else +// alternative enum based implementation: +# ifndef BOOST_NO_CXX11_VARIADIC_MACROS +# define BOOST_STATIC_ASSERT( ... ) \ + enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ + = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( __VA_ARGS__ ) >) } +# else +# define BOOST_STATIC_ASSERT(B) \ + enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \ + = sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) } +# endif +#endif +#endif // defined(BOOST_NO_CXX11_STATIC_ASSERT) + +#endif // BOOST_STATIC_ASSERT_HPP + + diff --git a/external/include/boost_1_90_0/boost/throw_exception.hpp b/external/include/boost_1_90_0/boost/throw_exception.hpp new file mode 100644 index 0000000000..64c90c4d8d --- /dev/null +++ b/external/include/boost_1_90_0/boost/throw_exception.hpp @@ -0,0 +1,278 @@ +#ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED +#define BOOST_THROW_EXCEPTION_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/throw_exception.hpp +// +// Copyright (c) 2002, 2018-2022 Peter Dimov +// Copyright (c) 2008-2009 Emil Dotchevski and Reverge Studios, Inc. +// +// 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) +// +// http://www.boost.org/libs/throw_exception + +#include +#include +#include +#include +#include +#include +#include +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include +#endif + +#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_BORLANDC ) && BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x593) ) +# define BOOST_EXCEPTION_DISABLE +#endif + +namespace boost +{ + +#if defined( BOOST_NO_EXCEPTIONS ) + +BOOST_NORETURN void throw_exception( std::exception const & e ); // user defined +BOOST_NORETURN void throw_exception( std::exception const & e, boost::source_location const & loc ); // user defined + +#endif + +// boost::wrapexcept + +namespace detail +{ + +typedef char (&wrapexcept_s1)[ 1 ]; +typedef char (&wrapexcept_s2)[ 2 ]; + +template wrapexcept_s1 wrapexcept_is_convertible( T* ); +template wrapexcept_s2 wrapexcept_is_convertible( void* ); + +template( static_cast< E* >( BOOST_NULLPTR ) ) ) > struct wrapexcept_add_base; + +template struct wrapexcept_add_base +{ + struct type {}; +}; + +template struct wrapexcept_add_base +{ + typedef B type; +}; + +} // namespace detail + +template struct BOOST_SYMBOL_VISIBLE wrapexcept: + public detail::wrapexcept_add_base::type, + public E, + public detail::wrapexcept_add_base::type +{ +private: + + struct deleter + { + wrapexcept * p_; + ~deleter() { delete p_; } + }; + +private: + + void copy_from( void const* ) + { + } + + void copy_from( boost::exception const* p ) + { + static_cast( *this ) = *p; + } + +public: + + explicit wrapexcept( E const & e ): E( e ) + { + copy_from( &e ); + } + + explicit wrapexcept( E const & e, boost::source_location const & loc ): E( e ) + { + copy_from( &e ); + + set_info( *this, throw_file( loc.file_name() ) ); + set_info( *this, throw_line( static_cast( loc.line() ) ) ); + set_info( *this, throw_function( loc.function_name() ) ); + set_info( *this, throw_column( static_cast( loc.column() ) ) ); + } + + virtual boost::exception_detail::clone_base const * clone() const BOOST_OVERRIDE + { + wrapexcept * p = new wrapexcept( *this ); + deleter del = { p }; + + boost::exception_detail::copy_boost_exception( p, this ); + + del.p_ = BOOST_NULLPTR; + return p; + } + + virtual void rethrow() const BOOST_OVERRIDE + { +#if defined( BOOST_NO_EXCEPTIONS ) + + boost::throw_exception( *this ); + +#else + + throw *this; + +#endif + } +}; + +// All boost exceptions are required to derive from std::exception, +// to ensure compatibility with BOOST_NO_EXCEPTIONS. + +inline void throw_exception_assert_compatibility( std::exception const & ) {} + +// boost::throw_exception + +#if !defined( BOOST_NO_EXCEPTIONS ) + +#if defined( BOOST_EXCEPTION_DISABLE ) + +template BOOST_NORETURN void throw_exception( E const & e ) +{ + throw_exception_assert_compatibility( e ); + throw e; +} + +template BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & ) +{ + throw_exception_assert_compatibility( e ); + throw e; +} + +#else // defined( BOOST_EXCEPTION_DISABLE ) + +template BOOST_NORETURN void throw_exception( E const & e ) +{ + throw_exception_assert_compatibility( e ); + throw wrapexcept( e ); +} + +template BOOST_NORETURN void throw_exception( E const & e, boost::source_location const & loc ) +{ + throw_exception_assert_compatibility( e ); + throw wrapexcept( e, loc ); +} + +#endif // defined( BOOST_EXCEPTION_DISABLE ) + +#endif // !defined( BOOST_NO_EXCEPTIONS ) + +} // namespace boost + +// BOOST_THROW_EXCEPTION + +#define BOOST_THROW_EXCEPTION(x) ::boost::throw_exception(x, BOOST_CURRENT_LOCATION) + +namespace boost +{ + +// throw_with_location + +namespace detail +{ + +struct BOOST_SYMBOL_VISIBLE throw_location +{ + boost::source_location location_; + + explicit throw_location( boost::source_location const & loc ): location_( loc ) + { + } +}; + +template class BOOST_SYMBOL_VISIBLE with_throw_location: public E, public throw_location +{ +public: + + with_throw_location( E const & e, boost::source_location const & loc ): E( e ), throw_location( loc ) + { + } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + + with_throw_location( E && e, boost::source_location const & loc ): E( std::move( e ) ), throw_location( loc ) + { + } + +#endif +}; + +} // namespace detail + +#if !defined(BOOST_NO_EXCEPTIONS) + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) + +template BOOST_NORETURN void throw_with_location( E && e, boost::source_location const & loc = BOOST_CURRENT_LOCATION ) +{ + throw_exception_assert_compatibility( e ); + throw detail::with_throw_location::type>( std::forward( e ), loc ); +} + +#else + +template BOOST_NORETURN void throw_with_location( E const & e, boost::source_location const & loc = BOOST_CURRENT_LOCATION ) +{ + throw_exception_assert_compatibility( e ); + throw detail::with_throw_location( e, loc ); +} + +#endif + +#else + +template BOOST_NORETURN void throw_with_location( E const & e, boost::source_location const & loc = BOOST_CURRENT_LOCATION ) +{ + boost::throw_exception( e, loc ); +} + +#endif + +// get_throw_location + +template boost::source_location get_throw_location( E const & e ) +{ +#if defined(BOOST_NO_RTTI) + + (void)e; + return boost::source_location(); + +#else + + if( detail::throw_location const* pl = dynamic_cast< detail::throw_location const* >( &e ) ) + { + return pl->location_; + } + else if( boost::exception const* px = dynamic_cast< boost::exception const* >( &e ) ) + { + return exception_detail::get_exception_throw_location( *px ); + } + else + { + return boost::source_location(); + } + +#endif +} + +} // namespace boost + +#endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/tuple/detail/tuple_basic.hpp b/external/include/boost_1_90_0/boost/tuple/detail/tuple_basic.hpp similarity index 93% rename from external/include/boost_1_75/boost/tuple/detail/tuple_basic.hpp rename to external/include/boost_1_90_0/boost/tuple/detail/tuple_basic.hpp index bed30425f5..09babcb4b5 100644 --- a/external/include/boost_1_75/boost/tuple/detail/tuple_basic.hpp +++ b/external/include/boost_1_90_0/boost/tuple/detail/tuple_basic.hpp @@ -1,991 +1,993 @@ -// tuple_basic.hpp ----------------------------------------------------- - -// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) -// -// 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) - -// For more information, see http://www.boost.org - -// Outside help: -// This and that, Gary Powell. -// Fixed return types for get_head/get_tail -// ( and other bugs ) per suggestion of Jens Maurer -// simplified element type accessors + bug fix (Jeremy Siek) -// Several changes/additions according to suggestions by Douglas Gregor, -// William Kempf, Vesa Karvonen, John Max Skaller, Ed Brey, Beman Dawes, -// David Abrahams. - -// Revision history: -// 2002 05 01 Hugo Duncan: Fix for Borland after Jaakko's previous changes -// 2002 04 18 Jaakko: tuple element types can be void or plain function -// types, as long as no object is created. -// Tuple objects can no hold even noncopyable types -// such as arrays. -// 2001 10 22 John Maddock -// Fixes for Borland C++ -// 2001 08 30 David Abrahams -// Added default constructor for cons<>. -// ----------------------------------------------------------------- - -#ifndef BOOST_TUPLE_BASIC_HPP -#define BOOST_TUPLE_BASIC_HPP - - -#include // needed for the assignment from pair to tuple - -#include -#include -#include -#include - -#include // needed for BOOST_WORKAROUND - -#if defined(BOOST_GCC) && (BOOST_GCC >= 40700) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-local-typedefs" -#endif - -namespace boost { -namespace tuples { - -// -- null_type -------------------------------------------------------- -struct null_type {}; - -// a helper function to provide a const null_type type temporary -namespace detail { - inline const null_type cnull() { return null_type(); } - - -// -- if construct ------------------------------------------------ -// Proposed by Krzysztof Czarnecki and Ulrich Eisenecker - -template struct IF { typedef Then RET; }; - -template struct IF { - typedef Else RET; -}; - -} // end detail - -// - cons forward declaration ----------------------------------------------- -template struct cons; - - -// - tuple forward declaration ----------------------------------------------- -template < - class T0 = null_type, class T1 = null_type, class T2 = null_type, - class T3 = null_type, class T4 = null_type, class T5 = null_type, - class T6 = null_type, class T7 = null_type, class T8 = null_type, - class T9 = null_type> -class tuple; - -// tuple_length forward declaration -template struct length; - - - -namespace detail { - -// -- generate error template, referencing to non-existing members of this -// template is used to produce compilation errors intentionally -template -class generate_error; - -template -struct drop_front { - template - struct apply { - typedef BOOST_DEDUCED_TYPENAME drop_front::BOOST_NESTED_TEMPLATE - apply next; - typedef BOOST_DEDUCED_TYPENAME next::type::tail_type type; - static const type& call(const Tuple& tup) { - return next::call(tup).tail; - } - }; -}; - -template<> -struct drop_front<0> { - template - struct apply { - typedef Tuple type; - static const type& call(const Tuple& tup) { - return tup; - } - }; -}; - -} // end of namespace detail - - -// -cons type accessors ---------------------------------------- -// typename tuples::element::type gets the type of the -// Nth element ot T, first element is at index 0 -// ------------------------------------------------------- - -#ifndef BOOST_NO_CV_SPECIALIZATIONS - -template -struct element -{ - typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE - apply::type::head_type type; -}; - -template -struct element -{ -private: - typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE - apply::type::head_type unqualified_type; -public: -#if BOOST_WORKAROUND(BOOST_BORLANDC,<0x600) - typedef const unqualified_type type; -#else - typedef BOOST_DEDUCED_TYPENAME boost::add_const::type type; -#endif -}; -#else // def BOOST_NO_CV_SPECIALIZATIONS - -namespace detail { - -template -struct element_impl -{ - typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE - apply::type::head_type type; -}; - -template -struct element_impl -{ - typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE - apply::type::head_type unqualified_type; - typedef const unqualified_type type; -}; - -} // end of namespace detail - - -template -struct element: - public detail::element_impl::value> -{ -}; - -#endif - - -// -get function templates ----------------------------------------------- -// Usage: get(aTuple) - -// -- some traits classes for get functions - -// access traits lifted from detail namespace to be part of the interface, -// (Joel de Guzman's suggestion). Rationale: get functions are part of the -// interface, so should the way to express their return types be. - -template struct access_traits { - typedef const T& const_type; - typedef T& non_const_type; - - typedef const typename boost::remove_cv::type& parameter_type; - -// used as the tuple constructors parameter types -// Rationale: non-reference tuple element types can be cv-qualified. -// It should be possible to initialize such types with temporaries, -// and when binding temporaries to references, the reference must -// be non-volatile and const. 8.5.3. (5) -}; - -template struct access_traits { - - typedef T& const_type; - typedef T& non_const_type; - - typedef T& parameter_type; -}; - -// get function for non-const cons-lists, returns a reference to the element - -template -inline typename access_traits< - typename element >::type - >::non_const_type -get(cons& c) { - typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE - apply > impl; - typedef BOOST_DEDUCED_TYPENAME impl::type cons_element; - return const_cast(impl::call(c)).head; -} - -// get function for const cons-lists, returns a const reference to -// the element. If the element is a reference, returns the reference -// as such (that is, can return a non-const reference) -template -inline typename access_traits< - typename element >::type - >::const_type -get(const cons& c) { - typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE - apply > impl; - return impl::call(c).head; -} - -// -- the cons template -------------------------------------------------- -namespace detail { - -// These helper templates wrap void types and plain function types. -// The reationale is to allow one to write tuple types with those types -// as elements, even though it is not possible to instantiate such object. -// E.g: typedef tuple some_type; // ok -// but: some_type x; // fails - -template class non_storeable_type { - non_storeable_type(); -}; - -template struct wrap_non_storeable_type { - typedef typename IF< - ::boost::is_function::value, non_storeable_type, T - >::RET type; -}; -template <> struct wrap_non_storeable_type { - typedef non_storeable_type type; -}; - -} // detail - -template -struct cons { - - typedef HT head_type; - typedef TT tail_type; - - typedef typename - detail::wrap_non_storeable_type::type stored_head_type; - - stored_head_type head; - tail_type tail; - - typename access_traits::non_const_type - get_head() { return head; } - - typename access_traits::non_const_type - get_tail() { return tail; } - - typename access_traits::const_type - get_head() const { return head; } - - typename access_traits::const_type - get_tail() const { return tail; } - - cons() : head(), tail() {} - // cons() : head(detail::default_arg::f()), tail() {} - - // the argument for head is not strictly needed, but it prevents - // array type elements. This is good, since array type elements - // cannot be supported properly in any case (no assignment, - // copy works only if the tails are exactly the same type, ...) - - cons(typename access_traits::parameter_type h, - const tail_type& t) - : head (h), tail(t) {} - - template - cons( T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, - T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 ) - : head (t1), - tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull()) - {} - - template - cons( const null_type& /*t1*/, T2& t2, T3& t3, T4& t4, T5& t5, - T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 ) - : head (), - tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull()) - {} - - cons( const cons& u ) : head(u.head), tail(u.tail) {} - - template - cons( const cons& u ) : head(u.head), tail(u.tail) {} - - template - cons& operator=( const cons& u ) { - head=u.head; tail=u.tail; return *this; - } - - // must define assignment operator explicitly, implicit version is - // illformed if HT is a reference (12.8. (12)) - cons& operator=(const cons& u) { - head = u.head; tail = u.tail; return *this; - } - - template - cons& operator=( const std::pair& u ) { - BOOST_STATIC_ASSERT(length::value == 2); // check length = 2 - head = u.first; tail.head = u.second; return *this; - } - - // get member functions (non-const and const) - template - typename access_traits< - typename element >::type - >::non_const_type - get() { - return boost::tuples::get(*this); // delegate to non-member get - } - - template - typename access_traits< - typename element >::type - >::const_type - get() const { - return boost::tuples::get(*this); // delegate to non-member get - } -}; - -template -struct cons { - - typedef HT head_type; - typedef null_type tail_type; - typedef cons self_type; - - typedef typename - detail::wrap_non_storeable_type::type stored_head_type; - stored_head_type head; - - typename access_traits::non_const_type - get_head() { return head; } - - null_type get_tail() { return null_type(); } - - typename access_traits::const_type - get_head() const { return head; } - - const null_type get_tail() const { return null_type(); } - - // cons() : head(detail::default_arg::f()) {} - cons() : head() {} - - cons(typename access_traits::parameter_type h, - const null_type& = null_type()) - : head (h) {} - - template - cons(T1& t1, const null_type&, const null_type&, const null_type&, - const null_type&, const null_type&, const null_type&, - const null_type&, const null_type&, const null_type&) - : head (t1) {} - - cons(const null_type&, - const null_type&, const null_type&, const null_type&, - const null_type&, const null_type&, const null_type&, - const null_type&, const null_type&, const null_type&) - : head () {} - - cons( const cons& u ) : head(u.head) {} - - template - cons( const cons& u ) : head(u.head) {} - - template - cons& operator=(const cons& u ) - { head = u.head; return *this; } - - // must define assignment operator explicitely, implicit version - // is illformed if HT is a reference - cons& operator=(const cons& u) { head = u.head; return *this; } - - template - typename access_traits< - typename element::type - >::non_const_type - get() { - return boost::tuples::get(*this); - } - - template - typename access_traits< - typename element::type - >::const_type - get() const { - return boost::tuples::get(*this); - } - -}; - -// templates for finding out the length of the tuple ------------------- - -template -struct length: boost::integral_constant::value> -{ -}; - -template<> -struct length >: boost::integral_constant -{ -}; - -template<> -struct length const>: boost::integral_constant -{ -}; - -template<> -struct length: boost::integral_constant -{ -}; - -template<> -struct length: boost::integral_constant -{ -}; - -namespace detail { - -// Tuple to cons mapper -------------------------------------------------- -template -struct map_tuple_to_cons -{ - typedef cons::type - > type; -}; - -// The empty tuple is a null_type -template <> -struct map_tuple_to_cons -{ - typedef null_type type; -}; - -} // end detail - -// ------------------------------------------------------------------- -// -- tuple ------------------------------------------------------ -template - -class tuple : - public detail::map_tuple_to_cons::type -{ -public: - typedef typename - detail::map_tuple_to_cons::type inherited; - typedef typename inherited::head_type head_type; - typedef typename inherited::tail_type tail_type; - - -// access_traits::parameter_type takes non-reference types as const T& - tuple() {} - - explicit tuple(typename access_traits::parameter_type t0) - : inherited(t0, detail::cnull(), detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1) - : inherited(t0, t1, detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2) - : inherited(t0, t1, t2, detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3) - : inherited(t0, t1, t2, t3, detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull(), - detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3, - typename access_traits::parameter_type t4) - : inherited(t0, t1, t2, t3, t4, detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull(), detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3, - typename access_traits::parameter_type t4, - typename access_traits::parameter_type t5) - : inherited(t0, t1, t2, t3, t4, t5, detail::cnull(), detail::cnull(), - detail::cnull(), detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3, - typename access_traits::parameter_type t4, - typename access_traits::parameter_type t5, - typename access_traits::parameter_type t6) - : inherited(t0, t1, t2, t3, t4, t5, t6, detail::cnull(), - detail::cnull(), detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3, - typename access_traits::parameter_type t4, - typename access_traits::parameter_type t5, - typename access_traits::parameter_type t6, - typename access_traits::parameter_type t7) - : inherited(t0, t1, t2, t3, t4, t5, t6, t7, detail::cnull(), - detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3, - typename access_traits::parameter_type t4, - typename access_traits::parameter_type t5, - typename access_traits::parameter_type t6, - typename access_traits::parameter_type t7, - typename access_traits::parameter_type t8) - : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, detail::cnull()) {} - - tuple(typename access_traits::parameter_type t0, - typename access_traits::parameter_type t1, - typename access_traits::parameter_type t2, - typename access_traits::parameter_type t3, - typename access_traits::parameter_type t4, - typename access_traits::parameter_type t5, - typename access_traits::parameter_type t6, - typename access_traits::parameter_type t7, - typename access_traits::parameter_type t8, - typename access_traits::parameter_type t9) - : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {} - - - template - tuple(const cons& p) : inherited(p) {} - - template - tuple& operator=(const cons& k) { - inherited::operator=(k); - return *this; - } - - template - tuple& operator=(const std::pair& k) { - BOOST_STATIC_ASSERT(length::value == 2);// check_length = 2 - this->head = k.first; - this->tail.head = k.second; - return *this; - } - -}; - -// The empty tuple -template <> -class tuple : - public null_type -{ -public: - typedef null_type inherited; -}; - - -// Swallows any assignment (by Doug Gregor) -namespace detail { - -struct swallow_assign; -typedef void (detail::swallow_assign::*ignore_t)(); -struct swallow_assign { - swallow_assign(ignore_t(*)(ignore_t)) {} - template - swallow_assign const& operator=(const T&) const { - return *this; - } -}; - - -} // namespace detail - -// "ignore" allows tuple positions to be ignored when using "tie". -inline detail::ignore_t ignore(detail::ignore_t) { return 0; } - -// --------------------------------------------------------------------------- -// The call_traits for make_tuple -// Honours the reference_wrapper class. - -// Must be instantiated with plain or const plain types (not with references) - -// from template foo(const T& t) : make_tuple_traits::type -// from template foo(T& t) : make_tuple_traits::type - -// Conversions: -// T -> T, -// references -> compile_time_error -// reference_wrapper -> T& -// const reference_wrapper -> T& -// array -> const ref array - - -template -struct make_tuple_traits { - typedef T type; - - // commented away, see below (JJ) - // typedef typename IF< - // boost::is_function::value, - // T&, - // T>::RET type; - -}; - -// The is_function test was there originally for plain function types, -// which can't be stored as such (we must either store them as references or -// pointers). Such a type could be formed if make_tuple was called with a -// reference to a function. -// But this would mean that a const qualified function type was formed in -// the make_tuple function and hence make_tuple can't take a function -// reference as a parameter, and thus T can't be a function type. -// So is_function test was removed. -// (14.8.3. says that type deduction fails if a cv-qualified function type -// is created. (It only applies for the case of explicitly specifying template -// args, though?)) (JJ) - -template -struct make_tuple_traits { - typedef typename - detail::generate_error:: - do_not_use_with_reference_type error; -}; - -// Arrays can't be stored as plain types; convert them to references. -// All arrays are converted to const. This is because make_tuple takes its -// parameters as const T& and thus the knowledge of the potential -// non-constness of actual argument is lost. -template struct make_tuple_traits { - typedef const T (&type)[n]; -}; - -template -struct make_tuple_traits { - typedef const T (&type)[n]; -}; - -template struct make_tuple_traits { - typedef const volatile T (&type)[n]; -}; - -template -struct make_tuple_traits { - typedef const volatile T (&type)[n]; -}; - -template -struct make_tuple_traits >{ - typedef T& type; -}; - -template -struct make_tuple_traits >{ - typedef T& type; -}; - -template<> -struct make_tuple_traits { - typedef detail::swallow_assign type; -}; - - - -namespace detail { - -// a helper traits to make the make_tuple functions shorter (Vesa Karvonen's -// suggestion) -template < - class T0 = null_type, class T1 = null_type, class T2 = null_type, - class T3 = null_type, class T4 = null_type, class T5 = null_type, - class T6 = null_type, class T7 = null_type, class T8 = null_type, - class T9 = null_type -> -struct make_tuple_mapper { - typedef - tuple::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type, - typename make_tuple_traits::type> type; -}; - -} // end detail - -// -make_tuple function templates ----------------------------------- -inline tuple<> make_tuple() { - return tuple<>(); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0) { - typedef typename detail::make_tuple_mapper::type t; - return t(t0); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1) { - typedef typename detail::make_tuple_mapper::type t; - return t(t0, t1); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1, const T2& t2) { - typedef typename detail::make_tuple_mapper::type t; - return t(t0, t1, t2); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) { - typedef typename detail::make_tuple_mapper::type t; - return t(t0, t1, t2, t3); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, - const T4& t4) { - typedef typename detail::make_tuple_mapper::type t; - return t(t0, t1, t2, t3, t4); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, - const T4& t4, const T5& t5) { - typedef typename detail::make_tuple_mapper::type t; - return t(t0, t1, t2, t3, t4, t5); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, - const T4& t4, const T5& t5, const T6& t6) { - typedef typename detail::make_tuple_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6); -} - -template -inline typename detail::make_tuple_mapper::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, - const T4& t4, const T5& t5, const T6& t6, const T7& t7) { - typedef typename detail::make_tuple_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6, t7); -} - -template -inline typename detail::make_tuple_mapper - ::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, - const T4& t4, const T5& t5, const T6& t6, const T7& t7, - const T8& t8) { - typedef typename detail::make_tuple_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6, t7, t8); -} - -template -inline typename detail::make_tuple_mapper - ::type -make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, - const T4& t4, const T5& t5, const T6& t6, const T7& t7, - const T8& t8, const T9& t9) { - typedef typename detail::make_tuple_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); -} - -namespace detail { - -template -struct tie_traits { - typedef T& type; -}; - -template<> -struct tie_traits { - typedef swallow_assign type; -}; - -template<> -struct tie_traits { - typedef null_type type; -}; - -template < - class T0 = void, class T1 = void, class T2 = void, - class T3 = void, class T4 = void, class T5 = void, - class T6 = void, class T7 = void, class T8 = void, - class T9 = void -> -struct tie_mapper { - typedef - tuple::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type, - typename tie_traits::type> type; -}; - -} - -// Tie function templates ------------------------------------------------- -template -inline typename detail::tie_mapper::type -tie(T0& t0) { - typedef typename detail::tie_mapper::type t; - return t(t0); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1) { - typedef typename detail::tie_mapper::type t; - return t(t0, t1); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1, T2& t2) { - typedef typename detail::tie_mapper::type t; - return t(t0, t1, t2); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1, T2& t2, T3& t3) { - typedef typename detail::tie_mapper::type t; - return t(t0, t1, t2, t3); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1, T2& t2, T3& t3, - T4& t4) { - typedef typename detail::tie_mapper::type t; - return t(t0, t1, t2, t3, t4); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1, T2& t2, T3& t3, - T4& t4, T5& t5) { - typedef typename detail::tie_mapper::type t; - return t(t0, t1, t2, t3, t4, t5); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1, T2& t2, T3& t3, - T4& t4, T5& t5, T6& t6) { - typedef typename detail::tie_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6); -} - -template -inline typename detail::tie_mapper::type -tie(T0& t0, T1& t1, T2& t2, T3& t3, - T4& t4, T5& t5, T6& t6, T7& t7) { - typedef typename detail::tie_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6, t7); -} - -template -inline typename detail::tie_mapper - ::type -tie(T0& t0, T1& t1, T2& t2, T3& t3, - T4& t4, T5& t5, T6& t6, T7& t7, - T8& t8) { - typedef typename detail::tie_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6, t7, t8); -} - -template -inline typename detail::tie_mapper - ::type -tie(T0& t0, T1& t1, T2& t2, T3& t3, - T4& t4, T5& t5, T6& t6, T7& t7, - T8& t8, T9& t9) { - typedef typename detail::tie_mapper - ::type t; - return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); -} - -template -void swap(tuple& lhs, - tuple& rhs); -inline void swap(null_type&, null_type&) {} -template -inline void swap(cons& lhs, cons& rhs) { - ::boost::swap(lhs.head, rhs.head); -} -template -inline void swap(cons& lhs, cons& rhs) { - ::boost::swap(lhs.head, rhs.head); - ::boost::tuples::swap(lhs.tail, rhs.tail); -} -template -inline void swap(tuple& lhs, - tuple& rhs) { - typedef tuple tuple_type; - typedef typename tuple_type::inherited base; - ::boost::tuples::swap(static_cast(lhs), static_cast(rhs)); -} - -} // end of namespace tuples -} // end of namespace boost - - -#if defined(BOOST_GCC) && (BOOST_GCC >= 40700) -#pragma GCC diagnostic pop -#endif - - -#endif // BOOST_TUPLE_BASIC_HPP +// tuple_basic.hpp ----------------------------------------------------- + +// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) +// +// 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) + +// For more information, see http://www.boost.org + +// Outside help: +// This and that, Gary Powell. +// Fixed return types for get_head/get_tail +// ( and other bugs ) per suggestion of Jens Maurer +// simplified element type accessors + bug fix (Jeremy Siek) +// Several changes/additions according to suggestions by Douglas Gregor, +// William Kempf, Vesa Karvonen, John Max Skaller, Ed Brey, Beman Dawes, +// David Abrahams. + +// Revision history: +// 2002 05 01 Hugo Duncan: Fix for Borland after Jaakko's previous changes +// 2002 04 18 Jaakko: tuple element types can be void or plain function +// types, as long as no object is created. +// Tuple objects can no hold even noncopyable types +// such as arrays. +// 2001 10 22 John Maddock +// Fixes for Borland C++ +// 2001 08 30 David Abrahams +// Added default constructor for cons<>. +// ----------------------------------------------------------------- + +#ifndef BOOST_TUPLE_BASIC_HPP +#define BOOST_TUPLE_BASIC_HPP + + +#include // needed for the assignment from pair to tuple +#include // for std::size_t + +#include +#include +#include +#include +#include + +#include // needed for BOOST_WORKAROUND + +#if defined(BOOST_GCC) && (BOOST_GCC >= 40700) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-local-typedefs" +#endif + +namespace boost { +namespace tuples { + +// -- null_type -------------------------------------------------------- +struct null_type {}; + +// a helper function to provide a const null_type type temporary +namespace detail { + inline const null_type cnull() { return null_type(); } + + +// -- if construct ------------------------------------------------ +// Proposed by Krzysztof Czarnecki and Ulrich Eisenecker + +template struct IF { typedef Then RET; }; + +template struct IF { + typedef Else RET; +}; + +} // end detail + +// - cons forward declaration ----------------------------------------------- +template struct cons; + + +// - tuple forward declaration ----------------------------------------------- +template < + class T0 = null_type, class T1 = null_type, class T2 = null_type, + class T3 = null_type, class T4 = null_type, class T5 = null_type, + class T6 = null_type, class T7 = null_type, class T8 = null_type, + class T9 = null_type> +class tuple; + +// tuple_length forward declaration +template struct length; + + + +namespace detail { + +// -- generate error template, referencing to non-existing members of this +// template is used to produce compilation errors intentionally +template +class generate_error; + +template +struct drop_front { + template + struct apply { + typedef BOOST_DEDUCED_TYPENAME drop_front::BOOST_NESTED_TEMPLATE + apply next; + typedef BOOST_DEDUCED_TYPENAME next::type::tail_type type; + static const type& call(const Tuple& tup) { + return next::call(tup).tail; + } + }; +}; + +template<> +struct drop_front<0> { + template + struct apply { + typedef Tuple type; + static const type& call(const Tuple& tup) { + return tup; + } + }; +}; + +} // end of namespace detail + + +// -cons type accessors ---------------------------------------- +// typename tuples::element::type gets the type of the +// Nth element ot T, first element is at index 0 +// ------------------------------------------------------- + +#ifndef BOOST_NO_CV_SPECIALIZATIONS + +template +struct element +{ + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply::type::head_type type; +}; + +template +struct element +{ +private: + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply::type::head_type unqualified_type; +public: +#if BOOST_WORKAROUND(BOOST_BORLANDC,<0x600) + typedef const unqualified_type type; +#else + typedef BOOST_DEDUCED_TYPENAME boost::add_const::type type; +#endif +}; +#else // def BOOST_NO_CV_SPECIALIZATIONS + +namespace detail { + +template +struct element_impl +{ + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply::type::head_type type; +}; + +template +struct element_impl +{ + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply::type::head_type unqualified_type; + typedef const unqualified_type type; +}; + +} // end of namespace detail + + +template +struct element: + public detail::element_impl::value> +{ +}; + +#endif + + +// -get function templates ----------------------------------------------- +// Usage: get(aTuple) + +// -- some traits classes for get functions + +// access traits lifted from detail namespace to be part of the interface, +// (Joel de Guzman's suggestion). Rationale: get functions are part of the +// interface, so should the way to express their return types be. + +template struct access_traits { + typedef const T& const_type; + typedef T& non_const_type; + + typedef const typename boost::remove_cv::type& parameter_type; + +// used as the tuple constructors parameter types +// Rationale: non-reference tuple element types can be cv-qualified. +// It should be possible to initialize such types with temporaries, +// and when binding temporaries to references, the reference must +// be non-volatile and const. 8.5.3. (5) +}; + +template struct access_traits { + + typedef T& const_type; + typedef T& non_const_type; + + typedef T& parameter_type; +}; + +// get function for non-const cons-lists, returns a reference to the element + +template +inline typename access_traits< + typename element >::type + >::non_const_type +get(cons& c) { + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply > impl; + typedef BOOST_DEDUCED_TYPENAME impl::type cons_element; + return const_cast(impl::call(c)).head; +} + +// get function for const cons-lists, returns a const reference to +// the element. If the element is a reference, returns the reference +// as such (that is, can return a non-const reference) +template +inline typename access_traits< + typename element >::type + >::const_type +get(const cons& c) { + typedef BOOST_DEDUCED_TYPENAME detail::drop_front::BOOST_NESTED_TEMPLATE + apply > impl; + return impl::call(c).head; +} + +// -- the cons template -------------------------------------------------- +namespace detail { + +// These helper templates wrap void types and plain function types. +// The reationale is to allow one to write tuple types with those types +// as elements, even though it is not possible to instantiate such object. +// E.g: typedef tuple some_type; // ok +// but: some_type x; // fails + +template class non_storeable_type { + non_storeable_type(); +}; + +template struct wrap_non_storeable_type { + typedef typename IF< + ::boost::is_function::value, non_storeable_type, T + >::RET type; +}; +template <> struct wrap_non_storeable_type { + typedef non_storeable_type type; +}; + +} // detail + +template +struct cons { + + typedef HT head_type; + typedef TT tail_type; + + typedef typename + detail::wrap_non_storeable_type::type stored_head_type; + + stored_head_type head; + tail_type tail; + + typename access_traits::non_const_type + get_head() { return head; } + + typename access_traits::non_const_type + get_tail() { return tail; } + + typename access_traits::const_type + get_head() const { return head; } + + typename access_traits::const_type + get_tail() const { return tail; } + + cons() : head(), tail() {} + // cons() : head(detail::default_arg::f()), tail() {} + + // the argument for head is not strictly needed, but it prevents + // array type elements. This is good, since array type elements + // cannot be supported properly in any case (no assignment, + // copy works only if the tails are exactly the same type, ...) + + cons(typename access_traits::parameter_type h, + const tail_type& t) + : head (h), tail(t) {} + + template + cons( T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 ) + : head (t1), + tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull()) + {} + + template + cons( const null_type& /*t1*/, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9, T10& t10 ) + : head (), + tail (t2, t3, t4, t5, t6, t7, t8, t9, t10, detail::cnull()) + {} + + cons( const cons& u ) : head(u.head), tail(u.tail) {} + + template + cons( const cons& u ) : head(u.head), tail(u.tail) {} + + template + cons& operator=( const cons& u ) { + head=u.head; tail=u.tail; return *this; + } + + // must define assignment operator explicitly, implicit version is + // illformed if HT is a reference (12.8. (12)) + cons& operator=(const cons& u) { + head = u.head; tail = u.tail; return *this; + } + + template + cons& operator=( const std::pair& u ) { + BOOST_STATIC_ASSERT(length::value == 2); // check length = 2 + head = u.first; tail.head = u.second; return *this; + } + + // get member functions (non-const and const) + template + typename access_traits< + typename element >::type + >::non_const_type + get() { + return boost::tuples::get(*this); // delegate to non-member get + } + + template + typename access_traits< + typename element >::type + >::const_type + get() const { + return boost::tuples::get(*this); // delegate to non-member get + } +}; + +template +struct cons { + + typedef HT head_type; + typedef null_type tail_type; + typedef cons self_type; + + typedef typename + detail::wrap_non_storeable_type::type stored_head_type; + stored_head_type head; + + typename access_traits::non_const_type + get_head() { return head; } + + null_type get_tail() { return null_type(); } + + typename access_traits::const_type + get_head() const { return head; } + + const null_type get_tail() const { return null_type(); } + + // cons() : head(detail::default_arg::f()) {} + cons() : head() {} + + cons(typename access_traits::parameter_type h, + const null_type& = null_type()) + : head (h) {} + + template + cons(T1& t1, const null_type&, const null_type&, const null_type&, + const null_type&, const null_type&, const null_type&, + const null_type&, const null_type&, const null_type&) + : head (t1) {} + + cons(const null_type&, + const null_type&, const null_type&, const null_type&, + const null_type&, const null_type&, const null_type&, + const null_type&, const null_type&, const null_type&) + : head () {} + + cons( const cons& u ) : head(u.head) {} + + template + cons( const cons& u ) : head(u.head) {} + + template + cons& operator=(const cons& u ) + { head = u.head; return *this; } + + // must define assignment operator explicitely, implicit version + // is illformed if HT is a reference + cons& operator=(const cons& u) { head = u.head; return *this; } + + template + typename access_traits< + typename element::type + >::non_const_type + get() { + return boost::tuples::get(*this); + } + + template + typename access_traits< + typename element::type + >::const_type + get() const { + return boost::tuples::get(*this); + } + +}; + +// templates for finding out the length of the tuple ------------------- + +template +struct length: boost::integral_constant::value> +{ +}; + +template<> +struct length >: boost::integral_constant +{ +}; + +template<> +struct length const>: boost::integral_constant +{ +}; + +template<> +struct length: boost::integral_constant +{ +}; + +template<> +struct length: boost::integral_constant +{ +}; + +namespace detail { + +// Tuple to cons mapper -------------------------------------------------- +template +struct map_tuple_to_cons +{ + typedef cons::type + > type; +}; + +// The empty tuple is a null_type +template <> +struct map_tuple_to_cons +{ + typedef null_type type; +}; + +} // end detail + +// ------------------------------------------------------------------- +// -- tuple ------------------------------------------------------ +template + +class tuple : + public detail::map_tuple_to_cons::type +{ +public: + typedef typename + detail::map_tuple_to_cons::type inherited; + typedef typename inherited::head_type head_type; + typedef typename inherited::tail_type tail_type; + + +// access_traits::parameter_type takes non-reference types as const T& + tuple() {} + + explicit tuple(typename access_traits::parameter_type t0) + : inherited(t0, detail::cnull(), detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1) + : inherited(t0, t1, detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2) + : inherited(t0, t1, t2, detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3) + : inherited(t0, t1, t2, t3, detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull(), + detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3, + typename access_traits::parameter_type t4) + : inherited(t0, t1, t2, t3, t4, detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull(), detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3, + typename access_traits::parameter_type t4, + typename access_traits::parameter_type t5) + : inherited(t0, t1, t2, t3, t4, t5, detail::cnull(), detail::cnull(), + detail::cnull(), detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3, + typename access_traits::parameter_type t4, + typename access_traits::parameter_type t5, + typename access_traits::parameter_type t6) + : inherited(t0, t1, t2, t3, t4, t5, t6, detail::cnull(), + detail::cnull(), detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3, + typename access_traits::parameter_type t4, + typename access_traits::parameter_type t5, + typename access_traits::parameter_type t6, + typename access_traits::parameter_type t7) + : inherited(t0, t1, t2, t3, t4, t5, t6, t7, detail::cnull(), + detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3, + typename access_traits::parameter_type t4, + typename access_traits::parameter_type t5, + typename access_traits::parameter_type t6, + typename access_traits::parameter_type t7, + typename access_traits::parameter_type t8) + : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, detail::cnull()) {} + + tuple(typename access_traits::parameter_type t0, + typename access_traits::parameter_type t1, + typename access_traits::parameter_type t2, + typename access_traits::parameter_type t3, + typename access_traits::parameter_type t4, + typename access_traits::parameter_type t5, + typename access_traits::parameter_type t6, + typename access_traits::parameter_type t7, + typename access_traits::parameter_type t8, + typename access_traits::parameter_type t9) + : inherited(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {} + + + template + tuple(const cons& p) : inherited(p) {} + + template + tuple& operator=(const cons& k) { + inherited::operator=(k); + return *this; + } + + template + tuple& operator=(const std::pair& k) { + BOOST_STATIC_ASSERT(length::value == 2);// check_length = 2 + this->head = k.first; + this->tail.head = k.second; + return *this; + } + +}; + +// The empty tuple +template <> +class tuple : + public null_type +{ +public: + typedef null_type inherited; +}; + + +// Swallows any assignment (by Doug Gregor) +namespace detail { + +struct swallow_assign; +typedef void (detail::swallow_assign::*ignore_t)(); +struct swallow_assign { + swallow_assign(ignore_t(*)(ignore_t)) {} + template + swallow_assign const& operator=(const T&) const { + return *this; + } +}; + + +} // namespace detail + +// "ignore" allows tuple positions to be ignored when using "tie". +inline detail::ignore_t ignore(detail::ignore_t) { return 0; } + +// --------------------------------------------------------------------------- +// The call_traits for make_tuple +// Honours the reference_wrapper class. + +// Must be instantiated with plain or const plain types (not with references) + +// from template foo(const T& t) : make_tuple_traits::type +// from template foo(T& t) : make_tuple_traits::type + +// Conversions: +// T -> T, +// references -> compile_time_error +// reference_wrapper -> T& +// const reference_wrapper -> T& +// array -> const ref array + + +template +struct make_tuple_traits { + typedef T type; + + // commented away, see below (JJ) + // typedef typename IF< + // boost::is_function::value, + // T&, + // T>::RET type; + +}; + +// The is_function test was there originally for plain function types, +// which can't be stored as such (we must either store them as references or +// pointers). Such a type could be formed if make_tuple was called with a +// reference to a function. +// But this would mean that a const qualified function type was formed in +// the make_tuple function and hence make_tuple can't take a function +// reference as a parameter, and thus T can't be a function type. +// So is_function test was removed. +// (14.8.3. says that type deduction fails if a cv-qualified function type +// is created. (It only applies for the case of explicitly specifying template +// args, though?)) (JJ) + +template +struct make_tuple_traits { + typedef typename + detail::generate_error:: + do_not_use_with_reference_type error; +}; + +// Arrays can't be stored as plain types; convert them to references. +// All arrays are converted to const. This is because make_tuple takes its +// parameters as const T& and thus the knowledge of the potential +// non-constness of actual argument is lost. +template struct make_tuple_traits { + typedef const T (&type)[n]; +}; + +template +struct make_tuple_traits { + typedef const T (&type)[n]; +}; + +template struct make_tuple_traits { + typedef const volatile T (&type)[n]; +}; + +template +struct make_tuple_traits { + typedef const volatile T (&type)[n]; +}; + +template +struct make_tuple_traits >{ + typedef T& type; +}; + +template +struct make_tuple_traits >{ + typedef T& type; +}; + +template<> +struct make_tuple_traits { + typedef detail::swallow_assign type; +}; + + + +namespace detail { + +// a helper traits to make the make_tuple functions shorter (Vesa Karvonen's +// suggestion) +template < + class T0 = null_type, class T1 = null_type, class T2 = null_type, + class T3 = null_type, class T4 = null_type, class T5 = null_type, + class T6 = null_type, class T7 = null_type, class T8 = null_type, + class T9 = null_type +> +struct make_tuple_mapper { + typedef + tuple::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type, + typename make_tuple_traits::type> type; +}; + +} // end detail + +// -make_tuple function templates ----------------------------------- +inline tuple<> make_tuple() { + return tuple<>(); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0) { + typedef typename detail::make_tuple_mapper::type t; + return t(t0); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1) { + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1, const T2& t2) { + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3) { + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2, t3); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, + const T4& t4) { + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2, t3, t4); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, + const T4& t4, const T5& t5) { + typedef typename detail::make_tuple_mapper::type t; + return t(t0, t1, t2, t3, t4, t5); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, + const T4& t4, const T5& t5, const T6& t6) { + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6); +} + +template +inline typename detail::make_tuple_mapper::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, + const T4& t4, const T5& t5, const T6& t6, const T7& t7) { + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7); +} + +template +inline typename detail::make_tuple_mapper + ::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, + const T4& t4, const T5& t5, const T6& t6, const T7& t7, + const T8& t8) { + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7, t8); +} + +template +inline typename detail::make_tuple_mapper + ::type +make_tuple(const T0& t0, const T1& t1, const T2& t2, const T3& t3, + const T4& t4, const T5& t5, const T6& t6, const T7& t7, + const T8& t8, const T9& t9) { + typedef typename detail::make_tuple_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); +} + +namespace detail { + +template +struct tie_traits { + typedef T& type; +}; + +template<> +struct tie_traits { + typedef swallow_assign type; +}; + +template<> +struct tie_traits { + typedef null_type type; +}; + +template < + class T0 = void, class T1 = void, class T2 = void, + class T3 = void, class T4 = void, class T5 = void, + class T6 = void, class T7 = void, class T8 = void, + class T9 = void +> +struct tie_mapper { + typedef + tuple::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type, + typename tie_traits::type> type; +}; + +} + +// Tie function templates ------------------------------------------------- +template +inline typename detail::tie_mapper::type +tie(T0& t0) { + typedef typename detail::tie_mapper::type t; + return t(t0); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1) { + typedef typename detail::tie_mapper::type t; + return t(t0, t1); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1, T2& t2) { + typedef typename detail::tie_mapper::type t; + return t(t0, t1, t2); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1, T2& t2, T3& t3) { + typedef typename detail::tie_mapper::type t; + return t(t0, t1, t2, t3); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4) { + typedef typename detail::tie_mapper::type t; + return t(t0, t1, t2, t3, t4); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5) { + typedef typename detail::tie_mapper::type t; + return t(t0, t1, t2, t3, t4, t5); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6) { + typedef typename detail::tie_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6); +} + +template +inline typename detail::tie_mapper::type +tie(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7) { + typedef typename detail::tie_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7); +} + +template +inline typename detail::tie_mapper + ::type +tie(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7, + T8& t8) { + typedef typename detail::tie_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7, t8); +} + +template +inline typename detail::tie_mapper + ::type +tie(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7, + T8& t8, T9& t9) { + typedef typename detail::tie_mapper + ::type t; + return t(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9); +} + +template +void swap(tuple& lhs, + tuple& rhs); +inline void swap(null_type&, null_type&) {} +template +inline void swap(cons& lhs, cons& rhs) { + ::boost::core::invoke_swap(lhs.head, rhs.head); +} +template +inline void swap(cons& lhs, cons& rhs) { + ::boost::core::invoke_swap(lhs.head, rhs.head); + ::boost::tuples::swap(lhs.tail, rhs.tail); +} +template +inline void swap(tuple& lhs, + tuple& rhs) { + typedef tuple tuple_type; + typedef typename tuple_type::inherited base; + ::boost::tuples::swap(static_cast(lhs), static_cast(rhs)); +} + +} // end of namespace tuples +} // end of namespace boost + + +#if defined(BOOST_GCC) && (BOOST_GCC >= 40700) +#pragma GCC diagnostic pop +#endif + + +#endif // BOOST_TUPLE_BASIC_HPP diff --git a/external/include/boost_1_90_0/boost/tuple/tuple.hpp b/external/include/boost_1_90_0/boost/tuple/tuple.hpp new file mode 100644 index 0000000000..d86e9e6868 --- /dev/null +++ b/external/include/boost_1_90_0/boost/tuple/tuple.hpp @@ -0,0 +1,118 @@ +// tuple.hpp - Boost Tuple Library -------------------------------------- + +// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) +// +// 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) + +// For more information, see http://www.boost.org + +// ----------------------------------------------------------------- + +#ifndef BOOST_TUPLE_HPP +#define BOOST_TUPLE_HPP + +#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 +// Work around a compiler bug. +// boost::python::tuple has to be seen by the compiler before the +// boost::tuple class template. +namespace boost { namespace python { class tuple; }} +#endif + +#include +#include + +// other compilers +#include +#include + + +namespace boost { + +using tuples::tuple; +using tuples::make_tuple; +using tuples::tie; +#if !defined(BOOST_NO_USING_TEMPLATE) +using tuples::get; +#else +// +// The "using tuples::get" statement causes the +// Borland compiler to ICE, use forwarding +// functions instead: +// +template +inline typename tuples::access_traits< + typename tuples::element >::type + >::non_const_type +get(tuples::cons& c) { + return tuples::get(c); +} +// get function for const cons-lists, returns a const reference to +// the element. If the element is a reference, returns the reference +// as such (that is, can return a non-const reference) +template +inline typename tuples::access_traits< + typename tuples::element >::type + >::const_type +get(const tuples::cons& c) { + return tuples::get(c); +} + +#endif // BOOST_NO_USING_TEMPLATE + +} // end namespace boost + +#if !defined(BOOST_NO_CXX11_HDR_TUPLE) + +#include +#include + +namespace std +{ + +#if defined(BOOST_CLANG) +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wmismatched-tags" +#endif + +// std::tuple_size + +template + class tuple_size< boost::tuples::tuple >: + public boost::tuples::length< boost::tuples::tuple > +{ +}; + +template class tuple_size< boost::tuples::cons >: + public boost::tuples::length< boost::tuples::cons > +{ +}; + +template<> class tuple_size< boost::tuples::null_type >: + public boost::tuples::length< boost::tuples::null_type > +{ +}; + +// std::tuple_element + +template + class tuple_element< I, boost::tuples::tuple >: + public boost::tuples::element< I, boost::tuples::tuple > +{ +}; + +template class tuple_element< I, boost::tuples::cons >: + public boost::tuples::element< I, boost::tuples::cons > +{ +}; + +#if defined(BOOST_CLANG) +# pragma clang diagnostic pop +#endif + +} // namespace std + +#endif // !defined(BOOST_NO_CXX11_HDR_TUPLE) + +#endif // BOOST_TUPLE_HPP diff --git a/external/include/boost_1_90_0/boost/tuple/tuple_comparison.hpp b/external/include/boost_1_90_0/boost/tuple/tuple_comparison.hpp new file mode 100644 index 0000000000..5796fd2702 --- /dev/null +++ b/external/include/boost_1_90_0/boost/tuple/tuple_comparison.hpp @@ -0,0 +1,175 @@ +// tuple_comparison.hpp ----------------------------------------------------- +// +// Copyright (C) 2001 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) +// Copyright (C) 2001 Gary Powell (gary.powell@sierra.com) +// +// 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) +// +// For more information, see http://www.boost.org +// +// (The idea and first impl. of comparison operators was from Doug Gregor) + +// ----------------------------------------------------------------- + +#ifndef BOOST_TUPLE_COMPARISON_HPP +#define BOOST_TUPLE_COMPARISON_HPP + +#include + +// ------------------------------------------------------------- +// equality and comparison operators +// +// == and != compare tuples elementwise +// <, >, <= and >= use lexicographical ordering +// +// Any operator between tuples of different length fails at compile time +// No dependencies between operators are assumed +// (i.e. !(a=b, a!=b does not imply a==b etc. +// so any weirdnesses of elementary operators are respected). +// +// ------------------------------------------------------------- + + +namespace boost { +namespace tuples { + +inline bool operator==(const null_type&, const null_type&) { return true; } +inline bool operator>=(const null_type&, const null_type&) { return true; } +inline bool operator<=(const null_type&, const null_type&) { return true; } +inline bool operator!=(const null_type&, const null_type&) { return false; } +inline bool operator<(const null_type&, const null_type&) { return false; } +inline bool operator>(const null_type&, const null_type&) { return false; } + + +namespace detail { + // comparison operators check statically the length of its operands and + // delegate the comparing task to the following functions. Hence + // the static check is only made once (should help the compiler). + // These functions assume tuples to be of the same length. + + +template +inline bool eq(const T1& lhs, const T2& rhs) { + return lhs.get_head() == rhs.get_head() && + eq(lhs.get_tail(), rhs.get_tail()); +} +template<> +inline bool eq(const null_type&, const null_type&) { return true; } + +template +inline bool neq(const T1& lhs, const T2& rhs) { + return lhs.get_head() != rhs.get_head() || + neq(lhs.get_tail(), rhs.get_tail()); +} +template<> +inline bool neq(const null_type&, const null_type&) { return false; } + +template +inline bool lt(const T1& lhs, const T2& rhs) { + return lhs.get_head() < rhs.get_head() || + ( !(rhs.get_head() < lhs.get_head()) && + lt(lhs.get_tail(), rhs.get_tail())); +} +template<> +inline bool lt(const null_type&, const null_type&) { return false; } + +template +inline bool gt(const T1& lhs, const T2& rhs) { + return lhs.get_head() > rhs.get_head() || + ( !(rhs.get_head() > lhs.get_head()) && + gt(lhs.get_tail(), rhs.get_tail())); +} +template<> +inline bool gt(const null_type&, const null_type&) { return false; } + +template +inline bool lte(const T1& lhs, const T2& rhs) { + return lhs.get_head() <= rhs.get_head() && + ( !(rhs.get_head() <= lhs.get_head()) || + lte(lhs.get_tail(), rhs.get_tail())); +} +template<> +inline bool lte(const null_type&, const null_type&) { return true; } + +template +inline bool gte(const T1& lhs, const T2& rhs) { + return lhs.get_head() >= rhs.get_head() && + ( !(rhs.get_head() >= lhs.get_head()) || + gte(lhs.get_tail(), rhs.get_tail())); +} +template<> +inline bool gte(const null_type&, const null_type&) { return true; } + +} // end of namespace detail + + +// equal ---- + +template +inline bool operator==(const cons& lhs, const cons& rhs) +{ + // check that tuple lengths are equal + BOOST_STATIC_ASSERT(length::value == length::value); + + return detail::eq(lhs, rhs); +} + +// not equal ----- + +template +inline bool operator!=(const cons& lhs, const cons& rhs) +{ + + // check that tuple lengths are equal + BOOST_STATIC_ASSERT(length::value == length::value); + + return detail::neq(lhs, rhs); +} + +// < +template +inline bool operator<(const cons& lhs, const cons& rhs) +{ + // check that tuple lengths are equal + BOOST_STATIC_ASSERT(length::value == length::value); + + return detail::lt(lhs, rhs); +} + +// > +template +inline bool operator>(const cons& lhs, const cons& rhs) +{ + // check that tuple lengths are equal + BOOST_STATIC_ASSERT(length::value == length::value); + + return detail::gt(lhs, rhs); +} + +// <= +template +inline bool operator<=(const cons& lhs, const cons& rhs) +{ + // check that tuple lengths are equal + BOOST_STATIC_ASSERT(length::value == length::value); + + return detail::lte(lhs, rhs); +} + +// >= +template +inline bool operator>=(const cons& lhs, const cons& rhs) +{ + // check that tuple lengths are equal + BOOST_STATIC_ASSERT(length::value == length::value); + + return detail::gte(lhs, rhs); +} + +} // end of namespace tuples +} // end of namespace boost + + +#endif // BOOST_TUPLE_COMPARISON_HPP diff --git a/external/include/boost_1_75/boost/type.hpp b/external/include/boost_1_90_0/boost/type.hpp similarity index 100% rename from external/include/boost_1_75/boost/type.hpp rename to external/include/boost_1_90_0/boost/type.hpp diff --git a/external/include/boost_1_75/boost/type_traits/add_const.hpp b/external/include/boost_1_90_0/boost/type_traits/add_const.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/add_const.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_const.hpp index 2d60118276..48f94c5d44 100644 --- a/external/include/boost_1_75/boost/type_traits/add_const.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_const.hpp @@ -1,52 +1,52 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_ADD_CONST_HPP_INCLUDED -#define BOOST_TT_ADD_CONST_HPP_INCLUDED - -#include - -namespace boost { - -// * convert a type T to const type - add_const -// this is not required since the result is always -// the same as "T const", but it does suppress warnings -// from some compilers: - -#if defined(BOOST_MSVC) -// This bogus warning will appear when add_const is applied to a -// const volatile reference because we can't detect const volatile -// references with MSVC6. -# pragma warning(push) -# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored -#endif - - template struct add_const - { - typedef T const type; - }; - -#if defined(BOOST_MSVC) -# pragma warning(pop) -#endif - - template struct add_const - { - typedef T& type; - }; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_const_t = typename add_const::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_ADD_CONST_HPP_INCLUDED +#define BOOST_TT_ADD_CONST_HPP_INCLUDED + +#include + +namespace boost { + +// * convert a type T to const type - add_const +// this is not required since the result is always +// the same as "T const", but it does suppress warnings +// from some compilers: + +#if defined(BOOST_MSVC) +// This bogus warning will appear when add_const is applied to a +// const volatile reference because we can't detect const volatile +// references with MSVC6. +# pragma warning(push) +# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored +#endif + + template struct add_const + { + typedef T const type; + }; + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#endif + + template struct add_const + { + typedef T& type; + }; + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using add_const_t = typename add_const::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_ADD_CONST_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/add_cv.hpp b/external/include/boost_1_90_0/boost/type_traits/add_cv.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/add_cv.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_cv.hpp index 425d019bf6..190d1327f0 100644 --- a/external/include/boost_1_75/boost/type_traits/add_cv.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_cv.hpp @@ -1,47 +1,47 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_ADD_CV_HPP_INCLUDED -#define BOOST_TT_ADD_CV_HPP_INCLUDED - -#include - -namespace boost { - -// * convert a type T to a const volatile type - add_cv -// this is not required since the result is always -// the same as "T const volatile", but it does suppress warnings -// from some compilers: - -#if defined(BOOST_MSVC) -// This bogus warning will appear when add_volatile is applied to a -// const volatile reference because we can't detect const volatile -// references with MSVC6. -# pragma warning(push) -# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored -#endif - -template struct add_cv{ typedef T const volatile type; }; - -#if defined(BOOST_MSVC) -# pragma warning(pop) -#endif - -template struct add_cv{ typedef T& type; }; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_cv_t = typename add_cv::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_CV_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_ADD_CV_HPP_INCLUDED +#define BOOST_TT_ADD_CV_HPP_INCLUDED + +#include + +namespace boost { + +// * convert a type T to a const volatile type - add_cv +// this is not required since the result is always +// the same as "T const volatile", but it does suppress warnings +// from some compilers: + +#if defined(BOOST_MSVC) +// This bogus warning will appear when add_volatile is applied to a +// const volatile reference because we can't detect const volatile +// references with MSVC6. +# pragma warning(push) +# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored +#endif + +template struct add_cv{ typedef T const volatile type; }; + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#endif + +template struct add_cv{ typedef T& type; }; + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using add_cv_t = typename add_cv::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_ADD_CV_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/add_lvalue_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/add_lvalue_reference.hpp similarity index 95% rename from external/include/boost_1_75/boost/type_traits/add_lvalue_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_lvalue_reference.hpp index 26b74e67ca..e56ec70612 100644 --- a/external/include/boost_1_75/boost/type_traits/add_lvalue_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_lvalue_reference.hpp @@ -1,33 +1,33 @@ -// Copyright 2010 John Maddock - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP -#define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP - -#include - -namespace boost{ - -template struct add_lvalue_reference -{ - typedef typename boost::add_reference::type type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template struct add_lvalue_reference -{ - typedef T& type; -}; -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_lvalue_reference_t = typename add_lvalue_reference::type; - -#endif - -} - -#endif // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP +// Copyright 2010 John Maddock + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP +#define BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP + +#include + +namespace boost{ + +template struct add_lvalue_reference +{ + typedef typename boost::add_reference::type type; +}; + +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template struct add_lvalue_reference +{ + typedef T& type; +}; +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using add_lvalue_reference_t = typename add_lvalue_reference::type; + +#endif + +} + +#endif // BOOST_TYPE_TRAITS_EXT_ADD_LVALUE_REFERENCE__HPP diff --git a/external/include/boost_1_75/boost/type_traits/add_pointer.hpp b/external/include/boost_1_90_0/boost/type_traits/add_pointer.hpp similarity index 95% rename from external/include/boost_1_75/boost/type_traits/add_pointer.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_pointer.hpp index 80b0703707..d7ae8e4e47 100644 --- a/external/include/boost_1_75/boost/type_traits/add_pointer.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_pointer.hpp @@ -1,67 +1,67 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_ADD_POINTER_HPP_INCLUDED -#define BOOST_TT_ADD_POINTER_HPP_INCLUDED - -#include - -namespace boost { - -#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x5A0) -// -// For some reason this implementation stops Borlands compiler -// from dropping cv-qualifiers, it still fails with references -// to arrays for some reason though (shrug...) (JM 20021104) -// -template -struct add_pointer -{ - typedef T* type; -}; -template -struct add_pointer -{ - typedef T* type; -}; -template -struct add_pointer -{ - typedef T* type; -}; -template -struct add_pointer -{ - typedef T* type; -}; -template -struct add_pointer -{ - typedef T* type; -}; - -#else - -template -struct add_pointer -{ - typedef typename remove_reference::type no_ref_type; - typedef no_ref_type* type; -}; - -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_pointer_t = typename add_pointer::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_ADD_POINTER_HPP_INCLUDED +#define BOOST_TT_ADD_POINTER_HPP_INCLUDED + +#include + +namespace boost { + +#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x5A0) +// +// For some reason this implementation stops Borlands compiler +// from dropping cv-qualifiers, it still fails with references +// to arrays for some reason though (shrug...) (JM 20021104) +// +template +struct add_pointer +{ + typedef T* type; +}; +template +struct add_pointer +{ + typedef T* type; +}; +template +struct add_pointer +{ + typedef T* type; +}; +template +struct add_pointer +{ + typedef T* type; +}; +template +struct add_pointer +{ + typedef T* type; +}; + +#else + +template +struct add_pointer +{ + typedef typename remove_reference::type no_ref_type; + typedef no_ref_type* type; +}; + +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using add_pointer_t = typename add_pointer::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_ADD_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/add_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/add_reference.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/add_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_reference.hpp index 33e9bc79be..6835d35757 100644 --- a/external/include/boost_1_75/boost/type_traits/add_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_reference.hpp @@ -1,66 +1,66 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED -#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - -namespace detail { - -// -// We can't filter out rvalue_references at the same level as -// references or we get ambiguities from msvc: -// - -template -struct add_reference_impl -{ - typedef T& type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template -struct add_reference_impl -{ - typedef T&& type; -}; -#endif - -} // namespace detail - -template struct add_reference -{ - typedef typename boost::detail::add_reference_impl::type type; -}; -template struct add_reference -{ - typedef T& type; -}; - -// these full specialisations are always required: -template <> struct add_reference { typedef void type; }; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template <> struct add_reference { typedef const void type; }; -template <> struct add_reference { typedef const volatile void type; }; -template <> struct add_reference { typedef volatile void type; }; -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - -template using add_reference_t = typename add_reference::type; - -#endif - - -} // namespace boost - -#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_ADD_REFERENCE_HPP_INCLUDED +#define BOOST_TT_ADD_REFERENCE_HPP_INCLUDED + +#include +#include + +namespace boost { + +namespace detail { + +// +// We can't filter out rvalue_references at the same level as +// references or we get ambiguities from msvc: +// + +template +struct add_reference_impl +{ + typedef T& type; +}; + +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template +struct add_reference_impl +{ + typedef T&& type; +}; +#endif + +} // namespace detail + +template struct add_reference +{ + typedef typename boost::detail::add_reference_impl::type type; +}; +template struct add_reference +{ + typedef T& type; +}; + +// these full specialisations are always required: +template <> struct add_reference { typedef void type; }; +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS +template <> struct add_reference { typedef const void type; }; +template <> struct add_reference { typedef const volatile void type; }; +template <> struct add_reference { typedef volatile void type; }; +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + +template using add_reference_t = typename add_reference::type; + +#endif + + +} // namespace boost + +#endif // BOOST_TT_ADD_REFERENCE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/add_rvalue_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/add_rvalue_reference.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/add_rvalue_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_rvalue_reference.hpp index ad64894f77..5c41cbda29 100644 --- a/external/include/boost_1_75/boost/type_traits/add_rvalue_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_rvalue_reference.hpp @@ -1,70 +1,70 @@ -// add_rvalue_reference.hpp ---------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP -#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP - -#include - -//----------------------------------------------------------------------------// - -#include -#include - -//----------------------------------------------------------------------------// -// // -// C++03 implementation of // -// 20.9.7.2 Reference modifications [meta.trans.ref] // -// Written by Vicente J. Botet Escriba // -// // -// If T names an object or function type then the member typedef type -// shall name T&&; otherwise, type shall name T. [ Note: This rule reflects -// the semantics of reference collapsing. For example, when a type T names -// a type T1&, the type add_rvalue_reference::type is not an rvalue -// reference. -end note ] -//----------------------------------------------------------------------------// - -namespace boost { - -namespace type_traits_detail { - - template - struct add_rvalue_reference_helper - { typedef T type; }; - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - struct add_rvalue_reference_helper - { - typedef T&& type; - }; -#endif - - template - struct add_rvalue_reference_imp - { - typedef typename boost::type_traits_detail::add_rvalue_reference_helper - ::value == false && is_reference::value == false) >::type type; - }; - -} - -template struct add_rvalue_reference -{ - typedef typename boost::type_traits_detail::add_rvalue_reference_imp::type type; -}; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_rvalue_reference_t = typename add_rvalue_reference::type; - -#endif - -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP - +// add_rvalue_reference.hpp ---------------------------------------------------------// + +// Copyright 2010 Vicente J. Botet Escriba + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP +#define BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP + +#include + +//----------------------------------------------------------------------------// + +#include +#include + +//----------------------------------------------------------------------------// +// // +// C++03 implementation of // +// 20.9.7.2 Reference modifications [meta.trans.ref] // +// Written by Vicente J. Botet Escriba // +// // +// If T names an object or function type then the member typedef type +// shall name T&&; otherwise, type shall name T. [ Note: This rule reflects +// the semantics of reference collapsing. For example, when a type T names +// a type T1&, the type add_rvalue_reference::type is not an rvalue +// reference. -end note ] +//----------------------------------------------------------------------------// + +namespace boost { + +namespace type_traits_detail { + + template + struct add_rvalue_reference_helper + { typedef T type; }; + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + struct add_rvalue_reference_helper + { + typedef T&& type; + }; +#endif + + template + struct add_rvalue_reference_imp + { + typedef typename boost::type_traits_detail::add_rvalue_reference_helper + ::value == false && is_reference::value == false) >::type type; + }; + +} + +template struct add_rvalue_reference +{ + typedef typename boost::type_traits_detail::add_rvalue_reference_imp::type type; +}; + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using add_rvalue_reference_t = typename add_rvalue_reference::type; + +#endif + +} // namespace boost + +#endif // BOOST_TYPE_TRAITS_EXT_ADD_RVALUE_REFERENCE__HPP + diff --git a/external/include/boost_1_75/boost/type_traits/add_volatile.hpp b/external/include/boost_1_90_0/boost/type_traits/add_volatile.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/add_volatile.hpp rename to external/include/boost_1_90_0/boost/type_traits/add_volatile.hpp index 253751a578..2e2b1c4c18 100644 --- a/external/include/boost_1_75/boost/type_traits/add_volatile.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/add_volatile.hpp @@ -1,46 +1,46 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_ADD_VOLATILE_HPP_INCLUDED -#define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED - -#include - -namespace boost { - -// * convert a type T to volatile type - add_volatile -// this is not required since the result is always -// the same as "T volatile", but it does suppress warnings -// from some compilers: - -#if defined(BOOST_MSVC) -// This bogus warning will appear when add_volatile is applied to a -// const volatile reference because we can't detect const volatile -// references with MSVC6. -# pragma warning(push) -# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored -#endif - -template struct add_volatile{ typedef T volatile type; }; - -#if defined(BOOST_MSVC) -# pragma warning(pop) -#endif - -template struct add_volatile{ typedef T& type; }; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using add_volatile_t = typename add_volatile::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_ADD_VOLATILE_HPP_INCLUDED +#define BOOST_TT_ADD_VOLATILE_HPP_INCLUDED + +#include + +namespace boost { + +// * convert a type T to volatile type - add_volatile +// this is not required since the result is always +// the same as "T volatile", but it does suppress warnings +// from some compilers: + +#if defined(BOOST_MSVC) +// This bogus warning will appear when add_volatile is applied to a +// const volatile reference because we can't detect const volatile +// references with MSVC6. +# pragma warning(push) +# pragma warning(disable:4181) // warning C4181: qualifier applied to reference type ignored +#endif + +template struct add_volatile{ typedef T volatile type; }; + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#endif + +template struct add_volatile{ typedef T& type; }; + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using add_volatile_t = typename add_volatile::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_ADD_VOLATILE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/aligned_storage.hpp b/external/include/boost_1_90_0/boost/type_traits/aligned_storage.hpp new file mode 100644 index 0000000000..7f0e9d966e --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/aligned_storage.hpp @@ -0,0 +1,138 @@ +//----------------------------------------------------------------------------- +// boost aligned_storage.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2002-2003 +// Eric Friedman, Itay Maman +// +// 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) + +#ifndef BOOST_TT_ALIGNED_STORAGE_HPP +#define BOOST_TT_ALIGNED_STORAGE_HPP + +#include // for std::size_t + +#include +#include +#include +#include +#include +#include + +namespace boost { + +namespace detail { namespace aligned_storage { + +BOOST_STATIC_CONSTANT( + std::size_t + , alignment_of_max_align = ::boost::alignment_of::value + ); + +// +// To be TR1 conforming this must be a POD type: +// +template < + std::size_t size_ + , std::size_t alignment_ +> +struct aligned_storage_imp +{ + union data_t + { + char buf[size_]; + + typename ::boost::type_with_alignment::type align_; + } data_; + void* address() const { return const_cast(this); } +}; +template +struct aligned_storage_imp +{ + union data_t + { + char buf[size]; + ::boost::detail::max_align align_; + } data_; + void* address() const { return const_cast(this); } +}; + +template< std::size_t alignment_ > +struct aligned_storage_imp<0u,alignment_> +{ + /* intentionally empty */ + void* address() const { return 0; } +}; + +}} // namespace detail::aligned_storage + +template < + std::size_t size_ + , std::size_t alignment_ = std::size_t(-1) +> +class aligned_storage : +#ifndef BOOST_BORLANDC + private +#else + public +#endif + ::boost::detail::aligned_storage::aligned_storage_imp +{ + +public: // constants + + typedef ::boost::detail::aligned_storage::aligned_storage_imp type; + + BOOST_STATIC_CONSTANT( + std::size_t + , size = size_ + ); + BOOST_STATIC_CONSTANT( + std::size_t + , alignment = ( + alignment_ == std::size_t(-1) + ? ::boost::detail::aligned_storage::alignment_of_max_align + : alignment_ + ) + ); + +private: // noncopyable + + aligned_storage(const aligned_storage&); + aligned_storage& operator=(const aligned_storage&); + +public: // structors + + aligned_storage() + { + } + + ~aligned_storage() + { + } + +public: // accessors + + void* address() + { + return static_cast(this)->address(); + } + + const void* address() const + { + return static_cast(this)->address(); + } +}; + +// +// Make sure that is_pod recognises aligned_storage<>::type +// as a POD (Note that aligned_storage<> itself is not a POD): +// +template +struct is_pod< ::boost::detail::aligned_storage::aligned_storage_imp > : public true_type{}; + +} // namespace boost + +#endif // BOOST_ALIGNED_STORAGE_HPP diff --git a/external/include/boost_1_75/boost/type_traits/alignment_of.hpp b/external/include/boost_1_90_0/boost/type_traits/alignment_of.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/alignment_of.hpp rename to external/include/boost_1_90_0/boost/type_traits/alignment_of.hpp index baa3f4d95b..f156c5e14a 100644 --- a/external/include/boost_1_75/boost/type_traits/alignment_of.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/alignment_of.hpp @@ -1,119 +1,119 @@ - -// (C) Copyright John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED -#define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED - -#include -#include - -#include -#include - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4121 4512) // alignment is sensitive to packing -#endif -#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600) -#pragma option push -Vx- -Ve- -#endif - -namespace boost { - -template struct alignment_of; - -// get the alignment of some arbitrary type: -namespace detail { - -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4324) // structure was padded due to __declspec(align()) -#endif -template -struct alignment_of_hack -{ - char c; - T t; - alignment_of_hack(); -}; -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif - -template -struct alignment_logic -{ - BOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S); -}; - - -template< typename T > -struct alignment_of_impl -{ -#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) - // - // With MSVC both the native __alignof operator - // and our own logic gets things wrong from time to time :-( - // Using a combination of the two seems to make the most of a bad job: - // - BOOST_STATIC_CONSTANT(std::size_t, value = - (::boost::detail::alignment_logic< - sizeof(::boost::detail::alignment_of_hack) - sizeof(T), - __alignof(T) - >::value)); -#elif !defined(BOOST_ALIGNMENT_OF) - BOOST_STATIC_CONSTANT(std::size_t, value = - (::boost::detail::alignment_logic< - sizeof(::boost::detail::alignment_of_hack) - sizeof(T), - sizeof(T) - >::value)); -#else - // - // We put this here, rather than in the definition of - // alignment_of below, because MSVC's __alignof doesn't - // always work in that context for some unexplained reason. - // (See type_with_alignment tests for test cases). - // - BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T)); -#endif -}; - -} // namespace detail - -template struct alignment_of : public integral_constant::value>{}; - -// references have to be treated specially, assume -// that a reference is just a special pointer: -template struct alignment_of : public alignment_of{}; - -#ifdef BOOST_BORLANDC -// long double gives an incorrect value of 10 (!) -// unless we do this... -struct long_double_wrapper{ long double ld; }; -template<> struct alignment_of : public alignment_of{}; -#endif - -// void has to be treated specially: -template<> struct alignment_of : integral_constant{}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template<> struct alignment_of : integral_constant{}; -template<> struct alignment_of : integral_constant{}; -template<> struct alignment_of : integral_constant{}; -#endif - -} // namespace boost - -#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600) -#pragma option pop -#endif -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED - + +// (C) Copyright John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED +#define BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED + +#include +#include + +#include +#include + +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable: 4121 4512) // alignment is sensitive to packing +#endif +#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600) +#pragma option push -Vx- -Ve- +#endif + +namespace boost { + +template struct alignment_of; + +// get the alignment of some arbitrary type: +namespace detail { + +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4324) // structure was padded due to __declspec(align()) +#endif +template +struct alignment_of_hack +{ + char c; + T t; + alignment_of_hack(); +}; +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif + +template +struct alignment_logic +{ + BOOST_STATIC_CONSTANT(std::size_t, value = A < S ? A : S); +}; + + +template< typename T > +struct alignment_of_impl +{ +#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) + // + // With MSVC both the native __alignof operator + // and our own logic gets things wrong from time to time :-( + // Using a combination of the two seems to make the most of a bad job: + // + BOOST_STATIC_CONSTANT(std::size_t, value = + (::boost::detail::alignment_logic< + sizeof(::boost::detail::alignment_of_hack) - sizeof(T), + __alignof(T) + >::value)); +#elif !defined(BOOST_ALIGNMENT_OF) + BOOST_STATIC_CONSTANT(std::size_t, value = + (::boost::detail::alignment_logic< + sizeof(::boost::detail::alignment_of_hack) - sizeof(T), + sizeof(T) + >::value)); +#else + // + // We put this here, rather than in the definition of + // alignment_of below, because MSVC's __alignof doesn't + // always work in that context for some unexplained reason. + // (See type_with_alignment tests for test cases). + // + BOOST_STATIC_CONSTANT(std::size_t, value = BOOST_ALIGNMENT_OF(T)); +#endif +}; + +} // namespace detail + +template struct alignment_of : public integral_constant::value>{}; + +// references have to be treated specially, assume +// that a reference is just a special pointer: +template struct alignment_of : public alignment_of{}; + +#ifdef BOOST_BORLANDC +// long double gives an incorrect value of 10 (!) +// unless we do this... +struct long_double_wrapper{ long double ld; }; +template<> struct alignment_of : public alignment_of{}; +#endif + +// void has to be treated specially: +template<> struct alignment_of : integral_constant{}; +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS +template<> struct alignment_of : integral_constant{}; +template<> struct alignment_of : integral_constant{}; +template<> struct alignment_of : integral_constant{}; +#endif + +} // namespace boost + +#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600) +#pragma option pop +#endif +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif + +#endif // BOOST_TT_ALIGNMENT_OF_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/conditional.hpp b/external/include/boost_1_90_0/boost/type_traits/conditional.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/conditional.hpp rename to external/include/boost_1_90_0/boost/type_traits/conditional.hpp index ec31d8b0bb..eaaa055797 100644 --- a/external/include/boost_1_75/boost/type_traits/conditional.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/conditional.hpp @@ -1,28 +1,28 @@ -// (C) Copyright John Maddock 2010. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED -#define BOOST_TT_CONDITIONAL_HPP_INCLUDED - -#include - -namespace boost { - -template struct conditional { typedef T type; }; -template struct conditional { typedef U type; }; - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using conditional_t = typename conditional::type; - -#endif - -} // namespace boost - - -#endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED +// (C) Copyright John Maddock 2010. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_CONDITIONAL_HPP_INCLUDED +#define BOOST_TT_CONDITIONAL_HPP_INCLUDED + +#include + +namespace boost { + +template struct conditional { typedef T type; }; +template struct conditional { typedef U type; }; + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using conditional_t = typename conditional::type; + +#endif + +} // namespace boost + + +#endif // BOOST_TT_CONDITIONAL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/conjunction.hpp b/external/include/boost_1_90_0/boost/type_traits/conjunction.hpp new file mode 100644 index 0000000000..0302bcb761 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/conjunction.hpp @@ -0,0 +1,40 @@ +/* +Copyright 2020 Glen Joseph Fernandes +(glenjofe@gmail.com) + +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) +*/ + +#ifndef BOOST_TT_CONJUNCTION_HPP_INCLUDED +#define BOOST_TT_CONJUNCTION_HPP_INCLUDED + +#include +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif + +namespace boost { + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +template +struct conjunction + : true_type { }; + +template +struct conjunction + : T { }; + +template +struct conjunction + : conditional, T>::type { }; +#else +template +struct conjunction + : conditional::type { }; +#endif + +} /* boost */ + +#endif diff --git a/external/include/boost_1_90_0/boost/type_traits/cv_traits.hpp b/external/include/boost_1_90_0/boost/type_traits/cv_traits.hpp new file mode 100644 index 0000000000..63c78442e1 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/cv_traits.hpp @@ -0,0 +1,24 @@ +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. +// +// defines traits classes for cv-qualified types: +// is_const, is_volatile, remove_const, remove_volatile, remove_cv. + +#ifndef BOOST_TT_CV_TRAITS_HPP_INCLUDED +#define BOOST_TT_CV_TRAITS_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include + +#endif // BOOST_TT_CV_TRAITS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/decay.hpp b/external/include/boost_1_90_0/boost/type_traits/decay.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/decay.hpp rename to external/include/boost_1_90_0/boost/type_traits/decay.hpp diff --git a/external/include/boost_1_75/boost/type_traits/declval.hpp b/external/include/boost_1_90_0/boost/type_traits/declval.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/declval.hpp rename to external/include/boost_1_90_0/boost/type_traits/declval.hpp index a050012eb5..7a9f04043a 100644 --- a/external/include/boost_1_75/boost/type_traits/declval.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/declval.hpp @@ -1,44 +1,44 @@ -// declval.hpp -------------------------------------------------------------// - -// Copyright 2010 Vicente J. Botet Escriba - -// Distributed under the Boost Software License, Version 1.0. -// See http://www.boost.org/LICENSE_1_0.txt - -#ifndef BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED -#define BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED - -#include - -//----------------------------------------------------------------------------// - -#include - -//----------------------------------------------------------------------------// -// // -// C++03 implementation of // -// 20.2.4 Function template declval [declval] // -// Written by Vicente J. Botet Escriba // -// // -// 1 The library provides the function template declval to simplify the -// definition of expressions which occur as unevaluated operands. -// 2 Remarks: If this function is used, the program is ill-formed. -// 3 Remarks: The template parameter T of declval may be an incomplete type. -// [ Example: -// -// template -// decltype(static_cast(declval())) convert(From&&); -// -// declares a function template convert which only participates in overloading -// if the type From can be explicitly converted to type To. For another example -// see class template common_type (20.9.7.6). -end example ] -//----------------------------------------------------------------------------// - -namespace boost { - - template - typename add_rvalue_reference::type declval() BOOST_NOEXCEPT; // as unevaluated operand - -} // namespace boost - -#endif // BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED +// declval.hpp -------------------------------------------------------------// + +// Copyright 2010 Vicente J. Botet Escriba + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED +#define BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED + +#include + +//----------------------------------------------------------------------------// + +#include + +//----------------------------------------------------------------------------// +// // +// C++03 implementation of // +// 20.2.4 Function template declval [declval] // +// Written by Vicente J. Botet Escriba // +// // +// 1 The library provides the function template declval to simplify the +// definition of expressions which occur as unevaluated operands. +// 2 Remarks: If this function is used, the program is ill-formed. +// 3 Remarks: The template parameter T of declval may be an incomplete type. +// [ Example: +// +// template +// decltype(static_cast(declval())) convert(From&&); +// +// declares a function template convert which only participates in overloading +// if the type From can be explicitly converted to type To. For another example +// see class template common_type (20.9.7.6). -end example ] +//----------------------------------------------------------------------------// + +namespace boost { + + template + typename add_rvalue_reference::type declval() BOOST_NOEXCEPT; // as unevaluated operand + +} // namespace boost + +#endif // BOOST_TYPE_TRAITS_DECLVAL_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/detail/config.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/config.hpp new file mode 100644 index 0000000000..2da414ed2c --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/detail/config.hpp @@ -0,0 +1,116 @@ + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_CONFIG_HPP_INCLUDED +#define BOOST_TT_CONFIG_HPP_INCLUDED + +#ifndef BOOST_CONFIG_HPP +#include +#endif +#include +#include + +// +// whenever we have a conversion function with ellipses +// it needs to be declared __cdecl to suppress compiler +// warnings from MS and Borland compilers (this *must* +// appear before we include is_same.hpp below): +#if defined(BOOST_MSVC) || (defined(BOOST_BORLANDC) && !defined(BOOST_DISABLE_WIN32)) +# define BOOST_TT_DECL __cdecl +#else +# define BOOST_TT_DECL /**/ +#endif + +# if (BOOST_WORKAROUND(__MWERKS__, < 0x3000) \ + || BOOST_WORKAROUND(__IBMCPP__, < 600 ) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, < 0x5A0) \ + || defined(__ghs) \ + || BOOST_WORKAROUND(__HP_aCC, < 60700) \ + || BOOST_WORKAROUND(MPW_CPLUS, BOOST_TESTED_AT(0x890)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580))) \ + && defined(BOOST_NO_IS_ABSTRACT) + +# define BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION 1 + +#endif + +#ifndef BOOST_TT_NO_CONFORMING_IS_CLASS_IMPLEMENTATION +# define BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION 1 +#endif + +// +// define BOOST_TT_TEST_MS_FUNC_SIGS +// when we want to test __stdcall etc function types with is_function etc +// (Note, does not work with Borland, even though it does support __stdcall etc): +// +#if defined(_MSC_EXTENSIONS) && !defined(BOOST_BORLANDC) +# define BOOST_TT_TEST_MS_FUNC_SIGS +#endif + +// +// define BOOST_TT_NO_CV_FUNC_TEST +// if tests for cv-qualified member functions don't +// work in is_member_function_pointer +// +#if BOOST_WORKAROUND(__MWERKS__, < 0x3000) || BOOST_WORKAROUND(__IBMCPP__, <= 600) +# define BOOST_TT_NO_CV_FUNC_TEST +#endif + +// +// Macros that have been deprecated, defined here for backwards compatibility: +// +#define BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(x) +#define BOOST_TT_BROKEN_COMPILER_SPEC(x) + +// +// Can we implement "accurate" binary operator detection: +// +#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(BOOST_GCC, < 40900) +# define BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION +#endif + +#if defined(__clang__) && (__clang_major__ == 3) && (__clang_minor__ < 2) && defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION) +#undef BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION +#endif + +// +// Can we implement accurate is_function/is_member_function_pointer (post C++03)? +// +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !BOOST_WORKAROUND(BOOST_GCC, < 40805)\ + && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4) +# define BOOST_TT_HAS_ACCURATE_IS_FUNCTION +#endif + +#if defined(_MSVC_LANG) && (_MSVC_LANG >= 201703) +# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM +#endif +#if defined(__APPLE_CC__) && defined(__clang_major__) && (__clang_major__ == 9) && (__clang_minor__ == 0) +# define BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM +# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE +#endif +// +// If we have the SD6 macros (check for C++11's __cpp_rvalue_references), and we don't have __cpp_noexcept_function_type +// set, then don't treat noexcept functions as seperate types. This is a fix for msvc with the /Zc:noexceptTypes- flag set. +// +#if defined(__cpp_rvalue_references) && !defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) +# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE +#endif +// +// Check MSVC specific macro on older msvc compilers that don't support the SD6 macros, we don't rely on this +// if the SD6 macros *are* available as it appears to be undocumented. +// +#if defined(BOOST_MSVC) && !defined(__cpp_rvalue_references) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) && !defined(_NOEXCEPT_TYPES_SUPPORTED) +# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE +#endif +#if defined(__cpp_rvalue_references) && defined(__NVCC__) && defined(__CUDACC__) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) +# define BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE +#endif + +#endif // BOOST_TT_CONFIG_HPP_INCLUDED + + diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_function_cxx_03.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_cxx_03.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/detail/is_function_cxx_03.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_function_cxx_03.hpp index 1b6169ab6d..77e03f83c1 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_function_cxx_03.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_cxx_03.hpp @@ -1,108 +1,108 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED -#define BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED - -#include - -#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS) -# include -#else -# include -# include -#endif - -// is a type a function? -// Please note that this implementation is unnecessarily complex: -// we could just use !is_convertible::value, -// except that some compilers erroneously allow conversions from -// function pointers to void*. - -namespace boost { - -#if !defined( BOOST_CODEGEARC ) - -namespace detail { - -#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS) -template -struct is_function_chooser -{ - template< typename T > struct result_ - : public false_type {}; -}; - -template <> -struct is_function_chooser -{ - template< typename T > struct result_ - : public ::boost::type_traits::is_function_ptr_helper {}; -}; - -template -struct is_function_impl - : public is_function_chooser< ::boost::is_reference::value > - ::BOOST_NESTED_TEMPLATE result_ -{ -}; - -#else - -template -struct is_function_impl -{ -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(push) -#pragma warning(disable:6334) -#endif - static T* t; - BOOST_STATIC_CONSTANT( - bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t)) - == sizeof(::boost::type_traits::yes_type) - ); -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(pop) -#endif -}; - -template -struct is_function_impl : public false_type -{}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template -struct is_function_impl : public false_type -{}; -#endif - -#endif - -} // namespace detail - -#endif // !defined( BOOST_CODEGEARC ) - -#if defined( BOOST_CODEGEARC ) -template struct is_function : integral_constant {}; -#else -template struct is_function : integral_constant::value> {}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template struct is_function : public false_type {}; -#endif -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1600) -template struct is_function : public false_type {}; -#endif -#endif -} // namespace boost - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700) -#include -#endif - -#endif // BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED + +// Copyright 2000 John Maddock (john@johnmaddock.co.uk) +// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) +// +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED +#define BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED + +#include + +#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS) +# include +#else +# include +# include +#endif + +// is a type a function? +// Please note that this implementation is unnecessarily complex: +// we could just use !is_convertible::value, +// except that some compilers erroneously allow conversions from +// function pointers to void*. + +namespace boost { + +#if !defined( BOOST_CODEGEARC ) + +namespace detail { + +#if !defined(BOOST_TT_TEST_MS_FUNC_SIGS) +template +struct is_function_chooser +{ + template< typename T > struct result_ + : public false_type {}; +}; + +template <> +struct is_function_chooser +{ + template< typename T > struct result_ + : public ::boost::type_traits::is_function_ptr_helper {}; +}; + +template +struct is_function_impl + : public is_function_chooser< ::boost::is_reference::value > + ::BOOST_NESTED_TEMPLATE result_ +{ +}; + +#else + +template +struct is_function_impl +{ +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(push) +#pragma warning(disable:6334) +#endif + static T* t; + BOOST_STATIC_CONSTANT( + bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t)) + == sizeof(::boost::type_traits::yes_type) + ); +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(pop) +#endif +}; + +template +struct is_function_impl : public false_type +{}; +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template +struct is_function_impl : public false_type +{}; +#endif + +#endif + +} // namespace detail + +#endif // !defined( BOOST_CODEGEARC ) + +#if defined( BOOST_CODEGEARC ) +template struct is_function : integral_constant {}; +#else +template struct is_function : integral_constant::value> {}; +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template struct is_function : public false_type {}; +#endif +#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1600) +template struct is_function : public false_type {}; +#endif +#endif +} // namespace boost + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700) +#include +#endif + +#endif // BOOST_TT_IS_FUNCTION_CXX_03_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_function_cxx_11.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_cxx_11.hpp similarity index 82% rename from external/include/boost_1_75/boost/type_traits/detail/is_function_cxx_11.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_function_cxx_11.hpp index 4de74a7373..74f1651272 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_function_cxx_11.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_cxx_11.hpp @@ -1,597 +1,676 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED -#define BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED - -#include - -namespace boost { - - template - struct is_function : public false_type {}; - -#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) -#define BOOST_TT_NOEXCEPT_PARAM , bool NE -#define BOOST_TT_NOEXCEPT_DECL noexcept(NE) -#else -#define BOOST_TT_NOEXCEPT_PARAM -#define BOOST_TT_NOEXCEPT_DECL -#endif - -#ifdef _MSC_VER -#define BOOST_TT_DEF_CALL __cdecl -#else -#define BOOST_TT_DEF_CALL -#endif - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // Reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // rvalue reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - -#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // rvalue reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - -#endif // _MSC_VER - - // All over again for msvc with noexcept: - -#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) - -#undef BOOST_TT_NOEXCEPT_DECL -#define BOOST_TT_NOEXCEPT_DECL noexcept - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // Reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - - // rvalue reference qualified: - - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const qualified: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // volatile: - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - // const volatile - template - struct is_function : public true_type {}; - template - struct is_function : public true_type {}; - -#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - - // rvalue reference qualified: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - // const volatile: -#ifdef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_function : public true_type {}; -#ifndef __CLR_VER - template - struct is_function : public true_type {}; -#endif -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_function : public true_type {}; -#endif - -#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) - -#endif - -} - -#undef BOOST_TT_NOEXCEPT_DECL -#undef BOOST_TT_NOEXCEPT_PARAM -#undef BOOST_TT_DEF_CALL - -#endif // BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED - + +// Copyright 2000 John Maddock (john@johnmaddock.co.uk) +// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) +// +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED +#define BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED + +#include + +namespace boost { + + template + struct is_function : public false_type {}; + +#if defined(__cpp_noexcept_function_type) && !defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) +#define BOOST_TT_NOEXCEPT_PARAM , bool NE +#define BOOST_TT_NOEXCEPT_DECL noexcept(NE) +#else +#define BOOST_TT_NOEXCEPT_PARAM +#define BOOST_TT_NOEXCEPT_DECL +#endif + +#ifdef _MSC_VER +#define BOOST_TT_DEF_CALL __cdecl +#else +#define BOOST_TT_DEF_CALL +#endif + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const qualified: + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // volatile: + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const volatile +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + + // Reference qualified: + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const qualified: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // volatile: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const volatile +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + + // rvalue reference qualified: + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const qualified: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // volatile: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const volatile +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + + +#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) + +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_X64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const: + +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + + // reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + + // rvalue reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + +#endif // _MSC_VER + + // All over again for msvc with noexcept: + +#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) + +#undef BOOST_TT_NOEXCEPT_DECL +#define BOOST_TT_NOEXCEPT_DECL noexcept + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const qualified: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // volatile: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const volatile +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + + // Reference qualified: + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const qualified: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // volatile: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const volatile +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + + // rvalue reference qualified: + +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const qualified: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // volatile: +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + // const volatile +#if !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif + template + struct is_function : public true_type {}; + + +#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) + +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + + // reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + + // rvalue reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_function : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_function : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_function : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_function : public true_type {}; +#endif +#endif + +#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) + +#endif + +} + +#undef BOOST_TT_NOEXCEPT_DECL +#undef BOOST_TT_NOEXCEPT_PARAM +#undef BOOST_TT_DEF_CALL + +#endif // BOOST_TT_IS_FUNCTION_CXX_11_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_function_msvc10_fix.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_msvc10_fix.hpp similarity index 98% rename from external/include/boost_1_75/boost/type_traits/detail/is_function_msvc10_fix.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_function_msvc10_fix.hpp index ec8ba9ad32..0f0605f41d 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_function_msvc10_fix.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_msvc10_fix.hpp @@ -1,30 +1,30 @@ - -// (C) Copyright John Maddock 2018. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED -#define BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED - -namespace boost { - -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; -template struct is_function : public false_type {}; - -} // namespace boost - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - + +// (C) Copyright John Maddock 2018. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED +#define BOOST_TT_IS_FUNCTION_MSVC10_FIX_HPP_INCLUDED + +namespace boost { + +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; +template struct is_function : public false_type {}; + +} // namespace boost + +#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_function_ptr_helper.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_ptr_helper.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/detail/is_function_ptr_helper.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_function_ptr_helper.hpp index 73a705cc33..d47fea5e59 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_function_ptr_helper.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_ptr_helper.hpp @@ -1,444 +1,444 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED -#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED - -#if defined(BOOST_TT_PREPROCESSING_MODE) -// -// Hide these #include from dependency analysers as -// these are required in maintenance mode only: -// -#define PP1 -#include PP1 -#undef PP1 -#define PP1 -#include PP1 -#undef PP1 -#define PP1 -#include PP1 -#undef PP1 -#endif - -namespace boost { -namespace type_traits { - -template -struct is_function_ptr_helper -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -#if !defined(BOOST_TT_PREPROCESSING_MODE) -// preprocessor-generated part, don't edit by hand! - -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#else - -#undef BOOST_STATIC_CONSTANT -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp")) -#include BOOST_PP_ITERATE() - -#endif // BOOST_TT_PREPROCESSING_MODE - -} // namespace type_traits -} // namespace boost - -#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED - -///// iteration - -#else -#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) - -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#endif -@#if __cpp_noexcept_function_type -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#endif -@#endif -#undef BOOST_PP_COUNTER -#endif // BOOST_PP_IS_ITERATING + +// Copyright 2000 John Maddock (john@johnmaddock.co.uk) +// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) +// +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED +#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED + +#if defined(BOOST_TT_PREPROCESSING_MODE) +// +// Hide these #include from dependency analysers as +// these are required in maintenance mode only: +// +#define PP1 +#include PP1 +#undef PP1 +#define PP1 +#include PP1 +#undef PP1 +#define PP1 +#include PP1 +#undef PP1 +#endif + +namespace boost { +namespace type_traits { + +template +struct is_function_ptr_helper +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +#if !defined(BOOST_TT_PREPROCESSING_MODE) +// preprocessor-generated part, don't edit by hand! + +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#else + +#undef BOOST_STATIC_CONSTANT +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, 25, "boost/type_traits/detail/is_function_ptr_helper.hpp")) +#include BOOST_PP_ITERATE() + +#endif // BOOST_TT_PREPROCESSING_MODE + +} // namespace type_traits +} // namespace boost + +#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_HELPER_HPP_INCLUDED + +///// iteration + +#else +#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) + +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#endif +@#ifdef __cpp_noexcept_function_type +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_function_ptr_helper { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#endif +@#endif +#undef BOOST_PP_COUNTER +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_function_ptr_tester.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_ptr_tester.hpp similarity index 92% rename from external/include/boost_1_75/boost/type_traits/detail/is_function_ptr_tester.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_function_ptr_tester.hpp index 41ddd2260f..6e6e66a35f 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_function_ptr_tester.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_function_ptr_tester.hpp @@ -1,609 +1,609 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED -#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED - -#include - -#if defined(BOOST_TT_PREPROCESSING_MODE) -// -// Hide include dependencies from analysers since they're -// only require in maintenance mode: -// -#define PP1 -#define PP2 -#define PP3 -#include PP1 -#include PP2 -#include PP3 -#undef PP1 -#undef PP2 -#undef PP3 -#endif - -namespace boost { -namespace type_traits { - -// Note it is acceptable to use ellipsis here, since the argument will -// always be a pointer type of some sort (JM 2005/06/04): -no_type BOOST_TT_DECL is_function_ptr_tester(...); - -#if !defined(BOOST_TT_PREPROCESSING_MODE) -// pre-processed code, don't edit, try GNU cpp with -// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename - -template -yes_type is_function_ptr_tester(R(*)()); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)()); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)()); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)()); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)()); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -#endif -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...)); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -#endif -#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -#endif -template -yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -#endif -#else - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (0, 25, "boost/type_traits/detail/is_function_ptr_tester.hpp")) -#include BOOST_PP_ITERATE() - -#endif // BOOST_TT_PREPROCESSING_MODE - -} // namespace type_traits -} // namespace boost - -#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED - -///// iteration - -#else -#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) -#undef __stdcall -#undef __fastcall -#undef __cdecl - -template -yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)); -@#endif -@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); -@#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_function_ptr_tester(R(__vectorcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER, T))); -@#endif -@#ifndef _MANAGED -template -yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); -@#endif -template -yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); -@#endif - -#undef BOOST_PP_COUNTER -#endif // BOOST_PP_IS_ITERATING + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED +#define BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED + +#include + +#if defined(BOOST_TT_PREPROCESSING_MODE) +// +// Hide include dependencies from analysers since they're +// only require in maintenance mode: +// +#define PP1 +#define PP2 +#define PP3 +#include PP1 +#include PP2 +#include PP3 +#undef PP1 +#undef PP2 +#undef PP3 +#endif + +namespace boost { +namespace type_traits { + +// Note it is acceptable to use ellipsis here, since the argument will +// always be a pointer type of some sort (JM 2005/06/04): +no_type BOOST_TT_DECL is_function_ptr_tester(...); + +#if !defined(BOOST_TT_PREPROCESSING_MODE) +// pre-processed code, don't edit, try GNU cpp with +// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename + +template +yes_type is_function_ptr_tester(R(*)()); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)()); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)()); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)()); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)()); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +#endif +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...)); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R(__stdcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +#endif +#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R(__fastcall*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +#endif +template +yes_type is_function_ptr_tester(R(__cdecl*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +#endif +#else + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, 25, "boost/type_traits/detail/is_function_ptr_tester.hpp")) +#include BOOST_PP_ITERATE() + +#endif // BOOST_TT_PREPROCESSING_MODE + +} // namespace type_traits +} // namespace boost + +#endif // BOOST_TT_DETAIL_IS_FUNCTION_PTR_TESTER_HPP_INCLUDED + +///// iteration + +#else +#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) +#undef __stdcall +#undef __fastcall +#undef __cdecl + +template +yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_function_ptr_tester(R (*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)); +@#endif +@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_function_ptr_tester(R (__stdcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); +@#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_function_ptr_tester(R(__vectorcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER, T))); +@#endif +@#ifndef _MANAGED +template +yes_type is_function_ptr_tester(R (__fastcall*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); +@#endif +template +yes_type is_function_ptr_tester(R (__cdecl*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); +@#endif + +#undef BOOST_PP_COUNTER +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp similarity index 98% rename from external/include/boost_1_75/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp index dcc6e2a0a1..a538152039 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp @@ -1,1328 +1,1328 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED -#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED - -#include - -#if defined(BOOST_TT_PREPROCESSING_MODE) -// -// Maintenance mode, hide include dependencies -// from trackers: -// -#define PPI -#include PPI -#undef PPI -#define PPI -#include PPI -#undef PPI -#define PPI -#include PPI -#undef PPI -#endif - -namespace boost { -namespace type_traits { - -template -struct is_mem_fun_pointer_impl -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -#if !defined(BOOST_TT_PREPROCESSING_MODE) -// pre-processed code, don't edit, try GNU cpp with -// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#if __cpp_noexcept_function_type -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -#endif -#endif -#endif - -#else - -#undef BOOST_STATIC_CONSTANT -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_impl.hpp")) -#include BOOST_PP_ITERATE() - -#endif // BOOST_TT_PREPROCESSING_MODE - -} // namespace type_traits -} // namespace boost - -#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED - -///// iteration - -#else -#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#endif - -@#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#endif -@#endif - -@#if __cpp_noexcept_function_type - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#endif - -@#if !defined(BOOST_TT_NO_CV_FUNC_TEST) -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; - -template -struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; -@#endif -@#endif - -@#endif - -#undef BOOST_PP_COUNTER -#endif // BOOST_PP_IS_ITERATING - + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED +#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED + +#include + +#if defined(BOOST_TT_PREPROCESSING_MODE) +// +// Maintenance mode, hide include dependencies +// from trackers: +// +#define PPI +#include PPI +#undef PPI +#define PPI +#include PPI +#undef PPI +#define PPI +#include PPI +#undef PPI +#endif + +namespace boost { +namespace type_traits { + +template +struct is_mem_fun_pointer_impl +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +#if !defined(BOOST_TT_PREPROCESSING_MODE) +// pre-processed code, don't edit, try GNU cpp with +// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#ifdef __cpp_noexcept_function_type +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +#endif +#endif +#endif + +#else + +#undef BOOST_STATIC_CONSTANT +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_impl.hpp")) +#include BOOST_PP_ITERATE() + +#endif // BOOST_TT_PREPROCESSING_MODE + +} // namespace type_traits +} // namespace boost + +#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_IMPL_HPP_INCLUDED + +///// iteration + +#else +#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#endif + +@#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#endif +@#endif + +@#ifdef __cpp_noexcept_function_type + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#endif + +@#if !defined(BOOST_TT_NO_CV_FUNC_TEST) +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; + +template +struct is_mem_fun_pointer_impl { BOOST_STATIC_CONSTANT(bool, value = true); }; +@#endif +@#endif + +@#endif + +#undef BOOST_PP_COUNTER +#endif // BOOST_PP_IS_ITERATING + diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp index 2de883ffb1..802fbb76a5 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp @@ -1,1603 +1,1603 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#if !defined(BOOST_PP_IS_ITERATING) - -///// header body - -#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED -#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED - -#include -#include - -#if defined(BOOST_TT_PREPROCESSING_MODE) -// -// Maintentance mode, hide include dependencies -// from dependency trackers: -// -#define PPI -#include PPI -#undef PPI -#define PPI -#include PPI -#undef PPI -#define PPI -#include PPI -#undef PPI -#endif - -namespace boost { -namespace type_traits { - -no_type BOOST_TT_DECL is_mem_fun_pointer_tester(...); - -#if !defined(BOOST_TT_PREPROCESSING_MODE) -// pre-processed code, don't edit, try GNU cpp with -// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename - -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)()); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)() const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)() volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)() const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)()); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)()); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)() const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)() volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)() const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)()); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)() const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)() volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)() const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)()); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)() const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)() volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)() const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); -#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...)); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...) const); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...) volatile); -template -yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...) const volatile); -#endif -#ifdef BOOST_TT_TEST_MS_FUNC_SIGS -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); -#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); -#endif -#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); -#endif -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); -template -yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); -#endif - -#else - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_tester.hpp")) -#include BOOST_PP_ITERATE() - -#endif // BOOST_TT_PREPROCESSING_MODE - -} // namespace type_traits -} // namespace boost - -#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED - -///// iteration - -#else -#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) -#undef __stdcall -#undef __fastcall -#undef __cdecl - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); - -@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)); - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const); - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile); - -template -yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile); -@#endif -@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers: -template -yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); - -template -yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); - -template -yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); - -template -yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); -@#if (_MSC_VER >= 1800) && !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) -template -yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); - -template -yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); - -template -yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); - -template -yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); -@#endif -@#ifndef _MANAGED -template -yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); - -template -yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); - -template -yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); - -template -yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); - -@#endif - -template -yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); - -template -yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); - -template -yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); - -template -yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); - -@#endif - -#undef BOOST_PP_COUNTER -#endif // BOOST_PP_IS_ITERATING + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED +#define BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED + +#include +#include + +#if defined(BOOST_TT_PREPROCESSING_MODE) +// +// Maintentance mode, hide include dependencies +// from dependency trackers: +// +#define PPI +#include PPI +#undef PPI +#define PPI +#include PPI +#undef PPI +#define PPI +#include PPI +#undef PPI +#endif + +namespace boost { +namespace type_traits { + +no_type BOOST_TT_DECL is_mem_fun_pointer_tester(...); + +#if !defined(BOOST_TT_PREPROCESSING_MODE) +// pre-processed code, don't edit, try GNU cpp with +// cpp -I../../../ -DBOOST_TT_PREPROCESSING_MODE -x c++ -P filename + +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)()); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)() const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)() volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)() const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)()); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)() const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)()); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)() const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)() volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)() const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)()); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)() const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)() volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)() const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)()); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)() const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)() volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)() const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); +#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...)); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...) const); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...) volatile); +template +yes_type is_mem_fun_pointer_tester(R(T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 ...) const volatile); +#endif +#ifdef BOOST_TT_TEST_MS_FUNC_SIGS +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__stdcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); +#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__vectorcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); +#endif +#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__fastcall T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); +#endif +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24)); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) volatile); +template +yes_type is_mem_fun_pointer_tester(R(__cdecl T::*const volatile*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) const volatile); +#endif + +#else + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, 25, "boost/type_traits/detail/is_mem_fun_pointer_tester.hpp")) +#include BOOST_PP_ITERATE() + +#endif // BOOST_TT_PREPROCESSING_MODE + +} // namespace type_traits +} // namespace boost + +#endif // BOOST_TT_DETAIL_IS_MEM_FUN_POINTER_TESTER_HPP_INCLUDED + +///// iteration + +#else +#define BOOST_PP_COUNTER BOOST_PP_FRAME_ITERATION(1) +#undef __stdcall +#undef __fastcall +#undef __cdecl + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); + +@#ifndef BOOST_TT_NO_ELLIPSIS_IN_FUNC_TESTING +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...)); + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const); + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) volatile); + +template +yes_type is_mem_fun_pointer_tester(R (T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T) ...) const volatile); +@#endif +@#ifdef BOOST_TT_TEST_MS_FUNC_SIGS // Other calling conventions used by MS compatible compilers: +template +yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); + +template +yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); + +template +yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); + +template +yes_type is_mem_fun_pointer_tester(R (__stdcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); +@#if (_MSC_VER >= 1800) && !defined(_MANAGED) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) +template +yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); + +template +yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); + +template +yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); + +template +yes_type is_mem_fun_pointer_tester(R (__vectorcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); +@#endif +@#ifndef _MANAGED +template +yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); + +template +yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); + +template +yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); + +template +yes_type is_mem_fun_pointer_tester(R (__fastcall T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); + +@#endif + +template +yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T))); + +template +yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const); + +template +yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) volatile); + +template +yes_type is_mem_fun_pointer_tester(R (__cdecl T::*const volatile*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_COUNTER,T)) const volatile); + +@#endif + +#undef BOOST_PP_COUNTER +#endif // BOOST_PP_IS_ITERATING diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp index 7dbee1d1b8..7653358010 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp @@ -1,117 +1,117 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED -#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED - -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS) - // - // Note: we use the "workaround" version for MSVC because it works for - // __stdcall etc function types, where as the partial specialisation - // version does not do so. - // -# include -# include -# include -#else -# include -# include -# include -# include -#endif - -namespace boost { - -#if defined( BOOST_CODEGEARC ) -template struct is_member_function_pointer : public integral_constant {}; -#elif !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS) - -template struct is_member_function_pointer - : public ::boost::integral_constant::type>::value>{}; - -#else - -namespace detail { - -#ifndef BOOST_BORLANDC - -template -struct is_mem_fun_pointer_select -{ - template struct result_ : public false_type{}; -}; - -template <> -struct is_mem_fun_pointer_select -{ - template struct result_ - { -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(push) -#pragma warning(disable:6334) -#endif - static T* make_t; - typedef result_ self_type; - - BOOST_STATIC_CONSTANT( - bool, value = ( - 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t)) - )); -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(pop) -#endif - }; -}; - -template -struct is_member_function_pointer_impl - : public is_mem_fun_pointer_select< - ::boost::is_reference::value || ::boost::is_array::value>::template result_{}; - -template -struct is_member_function_pointer_impl : public false_type{}; - -#else // Borland C++ - -template -struct is_member_function_pointer_impl -{ - static T* m_t; - BOOST_STATIC_CONSTANT( - bool, value = - (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) ); -}; - -template -struct is_member_function_pointer_impl -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -#endif - -template<> struct is_member_function_pointer_impl : public false_type{}; -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template<> struct is_member_function_pointer_impl : public false_type{}; -template<> struct is_member_function_pointer_impl : public false_type{}; -template<> struct is_member_function_pointer_impl : public false_type{}; -#endif - -} // namespace detail - -template -struct is_member_function_pointer - : public integral_constant::value>{}; - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED +#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_03_HPP_INCLUDED + +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS) + // + // Note: we use the "workaround" version for MSVC because it works for + // __stdcall etc function types, where as the partial specialisation + // version does not do so. + // +# include +# include +# include +#else +# include +# include +# include +# include +#endif + +namespace boost { + +#if defined( BOOST_CODEGEARC ) +template struct is_member_function_pointer : public integral_constant {}; +#elif !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(BOOST_TT_TEST_MS_FUNC_SIGS) + +template struct is_member_function_pointer + : public ::boost::integral_constant::type>::value>{}; + +#else + +namespace detail { + +#ifndef BOOST_BORLANDC + +template +struct is_mem_fun_pointer_select +{ + template struct result_ : public false_type{}; +}; + +template <> +struct is_mem_fun_pointer_select +{ + template struct result_ + { +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(push) +#pragma warning(disable:6334) +#endif + static T* make_t; + typedef result_ self_type; + + BOOST_STATIC_CONSTANT( + bool, value = ( + 1 == sizeof(::boost::type_traits::is_mem_fun_pointer_tester(self_type::make_t)) + )); +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(pop) +#endif + }; +}; + +template +struct is_member_function_pointer_impl + : public is_mem_fun_pointer_select< + ::boost::is_reference::value || ::boost::is_array::value>::template result_{}; + +template +struct is_member_function_pointer_impl : public false_type{}; + +#else // Borland C++ + +template +struct is_member_function_pointer_impl +{ + static T* m_t; + BOOST_STATIC_CONSTANT( + bool, value = + (1 == sizeof(type_traits::is_mem_fun_pointer_tester(m_t))) ); +}; + +template +struct is_member_function_pointer_impl +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +#endif + +template<> struct is_member_function_pointer_impl : public false_type{}; +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS +template<> struct is_member_function_pointer_impl : public false_type{}; +template<> struct is_member_function_pointer_impl : public false_type{}; +template<> struct is_member_function_pointer_impl : public false_type{}; +#endif + +} // namespace detail + +template +struct is_member_function_pointer + : public integral_constant::value>{}; + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp similarity index 88% rename from external/include/boost_1_75/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp index b0502cbe8b..f4582f4681 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp @@ -1,672 +1,697 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED -#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED - -#include - -namespace boost { - -#ifdef _MSC_VER -#define BOOST_TT_DEF_CALL __thiscall -#else -#define BOOST_TT_DEF_CALL -#endif - - - template - struct is_member_function_pointer : public false_type {}; - template - struct is_member_function_pointer : public is_member_function_pointer {}; - template - struct is_member_function_pointer : public is_member_function_pointer {}; - template - struct is_member_function_pointer : public is_member_function_pointer {}; - -#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) - // MSVC can't handle noexcept(b) as a deduced template parameter - // so we will have to write everything out :( -#define BOOST_TT_NOEXCEPT_PARAM -#define BOOST_TT_NOEXCEPT_DECL -#elif defined(__cpp_noexcept_function_type) -#define BOOST_TT_NOEXCEPT_PARAM , bool NE -#define BOOST_TT_NOEXCEPT_DECL noexcept(NE) -#else -#define BOOST_TT_NOEXCEPT_PARAM -#define BOOST_TT_NOEXCEPT_DECL -#endif - - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const qualified: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // volatile: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const volatile - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - - // Reference qualified: - - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const qualified: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // volatile: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const volatile - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - - // rvalue reference qualified: - - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const qualified: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // volatile: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const volatile - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - -#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // reference qualified: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // rvalue reference qualified: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif -#endif - - -#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) - -#undef BOOST_TT_NOEXCEPT_DECL -#define BOOST_TT_NOEXCEPT_DECL noexcept - - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const qualified: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // volatile: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const volatile - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - - // Reference qualified: - - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const qualified: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // volatile: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const volatile - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - - // rvalue reference qualified: - - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const qualified: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // volatile: - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - // const volatile - template - struct is_member_function_pointer : public true_type {}; - template - struct is_member_function_pointer : public true_type {}; - -#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // reference qualified: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // rvalue reference qualified: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif - - // const volatile: -#ifdef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; - -#endif -#ifndef _M_AMD64 - template - struct is_member_function_pointer : public true_type {}; -#ifndef __CLR_VER - template - struct is_member_function_pointer : public true_type {}; -#endif - template - struct is_member_function_pointer : public true_type {}; -#endif -#if !defined(__CLR_VER) && (defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64)) - template - struct is_member_function_pointer : public true_type {}; -#endif -#endif - - -#endif - -#undef BOOST_TT_NOEXCEPT_DECL -#undef BOOST_TT_NOEXCEPT_PARAM -#undef BOOST_TT_DEF_CALL -} - -#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED +#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED + +#include + +namespace boost { + +#ifdef _MSC_VER +#define BOOST_TT_DEF_CALL __thiscall +#else +#define BOOST_TT_DEF_CALL +#endif + + + template + struct is_member_function_pointer : public false_type {}; + template + struct is_member_function_pointer : public is_member_function_pointer {}; + template + struct is_member_function_pointer : public is_member_function_pointer {}; + template + struct is_member_function_pointer : public is_member_function_pointer {}; + +#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) + // MSVC can't handle noexcept(b) as a deduced template parameter + // so we will have to write everything out :( +#define BOOST_TT_NOEXCEPT_PARAM +#define BOOST_TT_NOEXCEPT_DECL +#elif defined(__cpp_noexcept_function_type) +#define BOOST_TT_NOEXCEPT_PARAM , bool NE +#define BOOST_TT_NOEXCEPT_DECL noexcept(NE) +#else +#define BOOST_TT_NOEXCEPT_PARAM +#define BOOST_TT_NOEXCEPT_DECL +#endif + + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const qualified: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // volatile: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const volatile + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + + // Reference qualified: + + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const qualified: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // volatile: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const volatile + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + + // rvalue reference qualified: + + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const qualified: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // volatile: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const volatile + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + +#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // rvalue reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + +#endif + + +#if defined(BOOST_TT_NO_DEDUCED_NOEXCEPT_PARAM) && !defined(BOOST_TT_NO_NOEXCEPT_SEPARATE_TYPE) + +#undef BOOST_TT_NOEXCEPT_DECL +#define BOOST_TT_NOEXCEPT_DECL noexcept + + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const qualified: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // volatile: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const volatile + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + + // Reference qualified: + + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const qualified: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // volatile: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const volatile + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + + // rvalue reference qualified: + + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const qualified: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // volatile: + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + // const volatile + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; + +#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // rvalue reference qualified: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + + // const volatile: +#if !defined(_M_X64) && !defined(_M_CEE_SAFE) && !defined(_M_CEE_PURE) + template + struct is_member_function_pointer : public true_type {}; + template + struct is_member_function_pointer : public true_type {}; +#endif +#ifdef _MANAGED + template + struct is_member_function_pointer : public true_type {}; +#else +#ifndef _M_AMD64 + template + struct is_member_function_pointer : public true_type {}; +#endif +#if defined(_M_IX86_FP) && (_M_IX86_FP >= 2) || defined(_M_X64) + template + struct is_member_function_pointer : public true_type {}; +#endif +#endif + +#endif // defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) + + +#endif + +#undef BOOST_TT_NOEXCEPT_DECL +#undef BOOST_TT_NOEXCEPT_PARAM +#undef BOOST_TT_DEF_CALL +} + +#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_CXX_11_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp similarity index 98% rename from external/include/boost_1_75/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp index d5707359b1..518e353663 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp @@ -1,43 +1,43 @@ - -// (C) Copyright John Maddock 2018. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_RVALUE_REFERENCE_MSVC10_FIX_HPP_INCLUDED -#define BOOST_TT_IS_RVALUE_REFERENCE_MSVC10_FIX_HPP_INCLUDED - -namespace boost { - -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; -template struct is_rvalue_reference : public true_type {}; - -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; -template struct is_rvalue_reference : public false_type {}; - -} // namespace boost - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - + +// (C) Copyright John Maddock 2018. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_RVALUE_REFERENCE_MSVC10_FIX_HPP_INCLUDED +#define BOOST_TT_IS_RVALUE_REFERENCE_MSVC10_FIX_HPP_INCLUDED + +namespace boost { + +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; +template struct is_rvalue_reference : public true_type {}; + +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; +template struct is_rvalue_reference : public false_type {}; + +} // namespace boost + +#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/detail/yes_no_type.hpp b/external/include/boost_1_90_0/boost/type_traits/detail/yes_no_type.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/detail/yes_no_type.hpp rename to external/include/boost_1_90_0/boost/type_traits/detail/yes_no_type.hpp index f583730220..f62087fe66 100644 --- a/external/include/boost_1_75/boost/type_traits/detail/yes_no_type.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/detail/yes_no_type.hpp @@ -1,26 +1,26 @@ - -// (C) Copyright John Maddock and Steve Cleary 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. -// -// macros and helpers for working with integral-constant-expressions. - -#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED -#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED - -namespace boost { -namespace type_traits { - -typedef char yes_type; -struct no_type -{ - char padding[8]; -}; - -} // namespace type_traits -} // namespace boost - -#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED + +// (C) Copyright John Maddock and Steve Cleary 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. +// +// macros and helpers for working with integral-constant-expressions. + +#ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED +#define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED + +namespace boost { +namespace type_traits { + +typedef char yes_type; +struct no_type +{ + char padding[8]; +}; + +} // namespace type_traits +} // namespace boost + +#endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/disjunction.hpp b/external/include/boost_1_90_0/boost/type_traits/disjunction.hpp new file mode 100644 index 0000000000..6a70004500 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/disjunction.hpp @@ -0,0 +1,40 @@ +/* +Copyright 2020 Glen Joseph Fernandes +(glenjofe@gmail.com) + +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) +*/ + +#ifndef BOOST_TT_DISJUNCTION_HPP_INCLUDED +#define BOOST_TT_DISJUNCTION_HPP_INCLUDED + +#include +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif + +namespace boost { + +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +template +struct disjunction + : false_type { }; + +template +struct disjunction + : T { }; + +template +struct disjunction + : conditional >::type { }; +#else +template +struct disjunction + : conditional::type { }; +#endif + +} /* boost */ + +#endif diff --git a/external/include/boost_1_75/boost/type_traits/enable_if.hpp b/external/include/boost_1_90_0/boost/type_traits/enable_if.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/enable_if.hpp rename to external/include/boost_1_90_0/boost/type_traits/enable_if.hpp diff --git a/external/include/boost_1_75/boost/type_traits/function_traits.hpp b/external/include/boost_1_90_0/boost/type_traits/function_traits.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/function_traits.hpp rename to external/include/boost_1_90_0/boost/type_traits/function_traits.hpp index 26d7e05c5f..0e3b265bfb 100644 --- a/external/include/boost_1_75/boost/type_traits/function_traits.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/function_traits.hpp @@ -1,174 +1,174 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED -#define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED - -#include -#include -#include - -namespace boost { - -namespace detail { - -template struct function_traits_helper; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 0); - typedef R result_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 1); - typedef R result_type; - typedef T1 arg1_type; - typedef T1 argument_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 2); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T1 first_argument_type; - typedef T2 second_argument_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 3); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 4); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 5); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; - typedef T5 arg5_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 6); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; - typedef T5 arg5_type; - typedef T6 arg6_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 7); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; - typedef T5 arg5_type; - typedef T6 arg6_type; - typedef T7 arg7_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 8); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; - typedef T5 arg5_type; - typedef T6 arg6_type; - typedef T7 arg7_type; - typedef T8 arg8_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 9); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; - typedef T5 arg5_type; - typedef T6 arg6_type; - typedef T7 arg7_type; - typedef T8 arg8_type; - typedef T9 arg9_type; -}; - -template -struct function_traits_helper -{ - BOOST_STATIC_CONSTANT(unsigned, arity = 10); - typedef R result_type; - typedef T1 arg1_type; - typedef T2 arg2_type; - typedef T3 arg3_type; - typedef T4 arg4_type; - typedef T5 arg5_type; - typedef T6 arg6_type; - typedef T7 arg7_type; - typedef T8 arg8_type; - typedef T9 arg9_type; - typedef T10 arg10_type; -}; - -} // end namespace detail - -template -struct function_traits : - public boost::detail::function_traits_helper::type> -{ -}; - -} - -#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED + +// Copyright 2000 John Maddock (john@johnmaddock.co.uk) +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED +#define BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED + +#include +#include +#include + +namespace boost { + +namespace detail { + +template struct function_traits_helper; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 0); + typedef R result_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 1); + typedef R result_type; + typedef T1 arg1_type; + typedef T1 argument_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 2); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T1 first_argument_type; + typedef T2 second_argument_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 3); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 4); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 5); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; + typedef T5 arg5_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 6); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; + typedef T5 arg5_type; + typedef T6 arg6_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 7); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; + typedef T5 arg5_type; + typedef T6 arg6_type; + typedef T7 arg7_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 8); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; + typedef T5 arg5_type; + typedef T6 arg6_type; + typedef T7 arg7_type; + typedef T8 arg8_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 9); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; + typedef T5 arg5_type; + typedef T6 arg6_type; + typedef T7 arg7_type; + typedef T8 arg8_type; + typedef T9 arg9_type; +}; + +template +struct function_traits_helper +{ + BOOST_STATIC_CONSTANT(unsigned, arity = 10); + typedef R result_type; + typedef T1 arg1_type; + typedef T2 arg2_type; + typedef T3 arg3_type; + typedef T4 arg4_type; + typedef T5 arg5_type; + typedef T6 arg6_type; + typedef T7 arg7_type; + typedef T8 arg8_type; + typedef T9 arg9_type; + typedef T10 arg10_type; +}; + +} // end namespace detail + +template +struct function_traits : + public boost::detail::function_traits_helper::type> +{ +}; + +} + +#endif // BOOST_TT_FUNCTION_TRAITS_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/has_nothrow_assign.hpp b/external/include/boost_1_90_0/boost/type_traits/has_nothrow_assign.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_nothrow_assign.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_nothrow_assign.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_nothrow_constructor.hpp b/external/include/boost_1_90_0/boost/type_traits/has_nothrow_constructor.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_nothrow_constructor.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_nothrow_constructor.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_nothrow_copy.hpp b/external/include/boost_1_90_0/boost/type_traits/has_nothrow_copy.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_nothrow_copy.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_nothrow_copy.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_trivial_assign.hpp b/external/include/boost_1_90_0/boost/type_traits/has_trivial_assign.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_trivial_assign.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_trivial_assign.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_trivial_constructor.hpp b/external/include/boost_1_90_0/boost/type_traits/has_trivial_constructor.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_trivial_constructor.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_trivial_constructor.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_trivial_copy.hpp b/external/include/boost_1_90_0/boost/type_traits/has_trivial_copy.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_trivial_copy.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_trivial_copy.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_trivial_move_assign.hpp b/external/include/boost_1_90_0/boost/type_traits/has_trivial_move_assign.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_trivial_move_assign.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_trivial_move_assign.hpp diff --git a/external/include/boost_1_75/boost/type_traits/has_trivial_move_constructor.hpp b/external/include/boost_1_90_0/boost/type_traits/has_trivial_move_constructor.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/has_trivial_move_constructor.hpp rename to external/include/boost_1_90_0/boost/type_traits/has_trivial_move_constructor.hpp diff --git a/external/include/boost_1_75/boost/type_traits/integral_constant.hpp b/external/include/boost_1_90_0/boost/type_traits/integral_constant.hpp similarity index 78% rename from external/include/boost_1_75/boost/type_traits/integral_constant.hpp rename to external/include/boost_1_90_0/boost/type_traits/integral_constant.hpp index 2592bcb95d..cc3222fc9f 100644 --- a/external/include/boost_1_75/boost/type_traits/integral_constant.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/integral_constant.hpp @@ -1,97 +1,99 @@ -// (C) Copyright John Maddock 2015. -// Use, modification and distribution are subject to 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) - -#ifndef BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP -#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP - -#include -#include - -#if (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ - || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ - || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ - || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ - || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) )\ - || defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) - - -namespace boost{ - namespace mpl - { - template struct bool_; - template struct integral_c; - struct integral_c_tag; - } -} - -#else - -namespace mpl_{ - - template struct bool_; - template struct integral_c; - struct integral_c_tag; -} - -namespace boost -{ - namespace mpl - { - using ::mpl_::bool_; - using ::mpl_::integral_c; - using ::mpl_::integral_c_tag; - } -} - -#endif - -namespace boost{ - - template - struct integral_constant - { - typedef mpl::integral_c_tag tag; - typedef T value_type; - typedef integral_constant type; - static const T value = val; - - operator const mpl::integral_c& ()const - { - static const char data[sizeof(long)] = { 0 }; - static const void* pdata = data; - return *(reinterpret_cast*>(pdata)); - } - BOOST_CONSTEXPR operator T()const { return val; } - }; - - template - T const integral_constant::value; - - template - struct integral_constant - { - typedef mpl::integral_c_tag tag; - typedef bool value_type; - typedef integral_constant type; - static const bool value = val; - - operator const mpl::bool_& ()const - { - static const char data[sizeof(long)] = { 0 }; - static const void* pdata = data; - return *(reinterpret_cast*>(pdata)); - } - BOOST_CONSTEXPR operator bool()const { return val; } - }; - - template - bool const integral_constant::value; - - typedef integral_constant true_type; - typedef integral_constant false_type; - -} - -#endif +// (C) Copyright John Maddock 2015. +// Use, modification and distribution are subject to 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) + +#ifndef BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP +#define BOOST_TYPE_TRAITS_INTEGRAL_CONSTANT_HPP + +#include +#include + +#if (BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) )\ + || defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) + + +namespace boost{ + namespace mpl + { + template struct bool_; + template struct integral_c; + struct integral_c_tag; + } +} + +#else + +namespace mpl_{ + + template struct bool_; + template struct integral_c; + struct integral_c_tag; +} + +namespace boost +{ + namespace mpl + { + using ::mpl_::bool_; + using ::mpl_::integral_c; + using ::mpl_::integral_c_tag; + } +} + +#endif + +namespace boost{ + + template + struct integral_constant + { + typedef mpl::integral_c_tag tag; + typedef T value_type; + typedef integral_constant type; + static const T value = val; + + operator const mpl::integral_c& ()const + { + static const char data[sizeof(long)] = { 0 }; + const void* const pdata = data; + return *static_cast*>(pdata); + } + BOOST_CONSTEXPR operator T()const BOOST_NOEXCEPT { return val; } + BOOST_CONSTEXPR T operator()()const BOOST_NOEXCEPT { return val; } + }; + + template + T const integral_constant::value; + + template + struct integral_constant + { + typedef mpl::integral_c_tag tag; + typedef bool value_type; + typedef integral_constant type; + static const bool value = val; + + operator const mpl::bool_& ()const + { + static const char data[sizeof(long)] = { 0 }; + const void* const pdata = data; + return *static_cast*>(pdata); + } + BOOST_CONSTEXPR operator bool()const BOOST_NOEXCEPT { return val; } + BOOST_CONSTEXPR bool operator()()const BOOST_NOEXCEPT { return val; } + }; + + template + bool const integral_constant::value; + + typedef integral_constant true_type; + typedef integral_constant false_type; + +} + +#endif diff --git a/external/include/boost_1_75/boost/type_traits/intrinsics.hpp b/external/include/boost_1_90_0/boost/type_traits/intrinsics.hpp similarity index 91% rename from external/include/boost_1_75/boost/type_traits/intrinsics.hpp rename to external/include/boost_1_90_0/boost/type_traits/intrinsics.hpp index 02f2a0315b..c0049768cd 100644 --- a/external/include/boost_1_75/boost/type_traits/intrinsics.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/intrinsics.hpp @@ -1,391 +1,405 @@ -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED -#define BOOST_TT_INTRINSICS_HPP_INCLUDED - -#ifndef BOOST_TT_DISABLE_INTRINSICS - -#include - -#ifndef BOOST_TT_CONFIG_HPP_INCLUDED -#include -#endif - -// -// Helper macros for builtin compiler support. -// If your compiler has builtin support for any of the following -// traits concepts, then redefine the appropriate macros to pick -// up on the compiler support: -// -// (these should largely ignore cv-qualifiers) -// BOOST_IS_UNION(T) should evaluate to true if T is a union type -// BOOST_IS_POD(T) should evaluate to true if T is a POD type -// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union) -// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect -// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy -// BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy -// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy -// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy -// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect -// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw -// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw -// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw -// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor -// BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) should evaluate to true if T has a non-throwing move constructor. -// BOOST_IS_NOTHROW_MOVE_ASSIGN(T) should evaluate to true if T has a non-throwing move assignment operator. -// -// The following can also be defined: when detected our implementation is greatly simplified. -// -// BOOST_IS_ABSTRACT(T) true if T is an abstract type -// BOOST_IS_BASE_OF(T,U) true if T is a base class of U -// BOOST_IS_CLASS(T) true if T is a class type (and not a union) -// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U -// BOOST_IS_ENUM(T) true is T is an enum -// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type -// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T. -// -// define BOOST_TT_DISABLE_INTRINSICS to prevent any intrinsics being used (mostly used when testing) -// - -#ifdef BOOST_HAS_SGI_TYPE_TRAITS - // Hook into SGI's __type_traits class, this will pick up user supplied - // specializations as well as SGI - compiler supplied specializations. -# include -# ifdef __NetBSD__ - // There are two different versions of type_traits.h on NetBSD on Spark - // use an implicit include via algorithm instead, to make sure we get - // the same version as the std lib: -# include -# else -# include -# endif -# define BOOST_IS_POD(T) ::boost::is_same< typename ::__type_traits::is_POD_type, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::boost::is_same< typename ::__type_traits::has_trivial_default_constructor, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_COPY(T) ::boost::is_same< typename ::__type_traits::has_trivial_copy_constructor, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ::boost::is_same< typename ::__type_traits::has_trivial_assignment_operator, ::__true_type>::value -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::boost::is_same< typename ::__type_traits::has_trivial_destructor, ::__true_type>::value - -# ifdef __sgi -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -# endif -#endif - -#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) - // Metrowerks compiler is acquiring intrinsic type traits support - // post version 8. We hook into the published interface to pick up - // user defined specializations as well as compiler intrinsics as - // and when they become available: -# include -# define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union::value -# define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD::value -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor::value -# define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor::value -# define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment::value -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor::value -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\ - || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500)) -// -// Note that even though these intrinsics rely on other type traits classes -// we do not #include those here as it produces cyclic dependencies and -// can cause the intrinsics to not even be used at all! -// -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T)) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::boost::is_pod::value && ! ::boost::is_const::value && !::boost::is_volatile::value)) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::boost::is_pod::value) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::boost::has_trivial_constructor::value) -#if !defined(BOOST_INTEL) -# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) || ::boost::has_trivial_copy::value) && !is_array::value) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) || ::boost::is_pod::value) -#elif (_MSC_VER >= 1900) -# define BOOST_HAS_NOTHROW_COPY(T) ((__is_nothrow_constructible(T, typename add_lvalue_reference::type>::type)) && !is_array::value) -# define BOOST_HAS_TRIVIAL_COPY(T) (__is_trivially_constructible(T, typename add_lvalue_reference::type>::type)) -#endif -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::boost::has_trivial_assign::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same::value && !is_function::value)) && !__is_abstract(U)) -# define BOOST_IS_ENUM(T) __is_enum(T) -// This one fails if the default alignment has been changed with /Zp: -// # define BOOST_ALIGNMENT_OF(T) __alignof(T) - -# if defined(_MSC_VER) && (_MSC_VER >= 1800) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__is_trivially_constructible(T, T&&) || boost::is_pod::value) && ! ::boost::is_volatile::value && ! ::boost::is_reference::value) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__is_trivially_assignable(T, T&&) || boost::is_pod::value) && ! ::boost::is_const::value && !::boost::is_volatile::value && ! ::boost::is_reference::value) -# elif defined(_MSC_VER) && (_MSC_VER >= 1700) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || boost::is_pod::value) && ! ::boost::is_volatile::value && ! ::boost::is_reference::value) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || boost::is_pod::value) && ! ::boost::is_const::value && !::boost::is_volatile::value && ! ::boost::is_reference::value) -# endif -#ifndef BOOST_NO_CXX11_FINAL -// This one doesn't quite always do the right thing on older VC++ versions -// we really need it when the final keyword is supported though: -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -#endif -#if _MSC_FULL_VER >= 180020827 -# define BOOST_IS_NOTHROW_MOVE_ASSIGN(T) (__is_nothrow_assignable(T&, T&&)) -# define BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) (__is_nothrow_constructible(T, T&&)) -#endif -#if _MSC_VER >= 1800 -# define BOOST_IS_FINAL(T) __is_final(T) -#endif -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__DMC__) && (__DMC__ >= 0x848) -// For Digital Mars C++, www.digitalmars.com -# define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400) -# define BOOST_IS_POD(T) (__typeinfo(T) & 0x800) -# define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10) -# define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80) -# define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4) -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(BOOST_CLANG) && defined(__has_feature) && !defined(__CUDACC__) -// -// Note that these intrinsics are disabled for the CUDA meta-compiler as it appears -// to not support them, even though the underlying clang compiler does so. -// This is a rubbish fix as it basically stops type traits from working correctly, -// but maybe the best we can do for now. See https://svn.boost.org/trac/boost/ticket/10694 -// -// -// Note that even though these intrinsics rely on other type traits classes -// we do not #include those here as it produces cyclic dependencies and -// can cause the intrinsics to not even be used at all! -// -# include - -# if __has_feature(is_union) -# define BOOST_IS_UNION(T) __is_union(T) -# endif -# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod) -# define BOOST_IS_POD(T) __is_pod(T) -# endif -# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# endif -# if __has_feature(has_trivial_constructor) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# endif -# if __has_feature(has_trivial_copy) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) -# endif -# if __has_feature(has_trivial_assign) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value && is_assignable::value) -# endif -# if __has_feature(has_trivial_destructor) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) && is_destructible::value) -# endif -# if __has_feature(has_nothrow_constructor) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value) -# endif -# if __has_feature(has_nothrow_copy) -# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) -# endif -# if __has_feature(has_nothrow_assign) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value && is_assignable::value) -# endif -# if __has_feature(has_virtual_destructor) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) -# endif -# if __has_feature(is_abstract) -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# endif -# if __has_feature(is_base_of) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# endif -# if __has_feature(is_class) -# define BOOST_IS_CLASS(T) __is_class(T) -# endif -# if __has_feature(is_convertible_to) -# define BOOST_IS_CONVERTIBLE(T,U) __is_convertible_to(T,U) -# endif -# if __has_feature(is_enum) -# define BOOST_IS_ENUM(T) __is_enum(T) -# endif -# if __has_feature(is_polymorphic) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# endif -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -# if __has_extension(is_trivially_constructible) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) -# endif -# if __has_extension(is_trivially_assignable) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) -# endif -#endif -# if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) || !defined(__GNUC__) -// GCC sometimes lies about alignment requirements -// of type double on 32-bit unix platforms, use the -// old implementation instead in that case: -# define BOOST_ALIGNMENT_OF(T) __alignof(T) -# endif -# if __has_feature(is_final) -# define BOOST_IS_FINAL(T) __is_final(T) -# endif - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG) -// -// Note that even though these intrinsics rely on other type traits classes -// we do not #include those here as it produces cyclic dependencies and -// can cause the intrinsics to not even be used at all! -// - -#ifdef BOOST_INTEL -# define BOOST_INTEL_TT_OPTS || is_pod::value -#else -# define BOOST_INTEL_TT_OPTS -#endif - -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) __is_pod(T) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value) -# define BOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_INTEL_TT_OPTS) && !is_reference::value) -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value && ! ::boost::is_const::value && is_assignable::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS && is_destructible::value) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value BOOST_INTEL_TT_OPTS) -# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_const::value && is_assignable::value) -#else -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value && ! ::boost::is_const::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS) -#if ((__GNUC__ * 100 + __GNUC_MINOR__) != 407) && ((__GNUC__ * 100 + __GNUC_MINOR__) != 408) -# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_reference::value && !is_array::value) -#endif -# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_const::value && !is_array::value) -#endif -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_ENUM(T) __is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# if (!defined(unix) && !defined(__unix__) && \ - !(defined(__VXWORKS__) && defined(__i386__))) || defined(__LP64__) - // GCC sometimes lies about alignment requirements - // of type double on 32-bit unix platforms, use the - // old implementation instead in that case: -# define BOOST_ALIGNMENT_OF(T) __alignof__(T) -# endif -# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) -# define BOOST_IS_FINAL(T) __is_final(T) -# endif - -# if (__GNUC__ >= 5) && (__cplusplus >= 201103) -# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) -# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) -# endif - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) -# define BOOST_IS_UNION(T) __oracle_is_union(T) -# define BOOST_IS_POD(T) (__oracle_is_pod(T) && !is_function::value) -# define BOOST_IS_EMPTY(T) __oracle_is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__oracle_has_trivial_constructor(T) && ! ::boost::is_volatile::value) -# define BOOST_HAS_TRIVIAL_COPY(T) (__oracle_has_trivial_copy(T) && !is_reference::value) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && ! ::boost::is_volatile::value && ! ::boost::is_const::value && is_assignable::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__oracle_has_trivial_destructor(T) && is_destructible::value) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) ((__oracle_has_nothrow_constructor(T) || __oracle_has_trivial_constructor(T) || __oracle_is_trivial(T)) && is_default_constructible::value) -// __oracle_has_nothrow_copy appears to behave the same as __oracle_has_nothrow_assign, disabled for now: -//# define BOOST_HAS_NOTHROW_COPY(T) ((__oracle_has_nothrow_copy(T) || __oracle_has_trivial_copy(T) || __oracle_is_trivial(T)) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__oracle_has_nothrow_assign(T) || __oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && !is_volatile::value && !is_const::value && is_assignable::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __oracle_has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __oracle_is_abstract(T) -//# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __oracle_is_class(T) -# define BOOST_IS_ENUM(T) __oracle_is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __oracle_is_polymorphic(T) -# define BOOST_ALIGNMENT_OF(T) __alignof__(T) -# define BOOST_IS_FINAL(T) __oracle_is_final(T) - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) -# include -# include -# include - -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) __is_pod(T) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T) -# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_ENUM(T) __is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# define BOOST_ALIGNMENT_OF(T) __alignof__(T) -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -# if defined(BOOST_CODEGEARC) -# include -# include -# include -# include - -# define BOOST_IS_UNION(T) __is_union(T) -# define BOOST_IS_POD(T) __is_pod(T) -# define BOOST_IS_EMPTY(T) __is_empty(T) -# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T)) -# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_reference::value) -# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value) -# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T)) -# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T)) -# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile::value && !is_reference::value) -# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value) -# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) - -# define BOOST_IS_ABSTRACT(T) __is_abstract(T) -# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void::value && !is_void::value) -# define BOOST_IS_CLASS(T) __is_class(T) -# define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void::value) -# define BOOST_IS_ENUM(T) __is_enum(T) -# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) -# define BOOST_ALIGNMENT_OF(T) alignof(T) - -# define BOOST_HAS_TYPE_TRAITS_INTRINSICS -#endif - -#endif // BOOST_TT_DISABLE_INTRINSICS - -#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED - +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_INTRINSICS_HPP_INCLUDED +#define BOOST_TT_INTRINSICS_HPP_INCLUDED + +#ifndef BOOST_TT_DISABLE_INTRINSICS + +#include + +#ifndef BOOST_TT_CONFIG_HPP_INCLUDED +#include +#endif + +// +// Helper macros for builtin compiler support. +// If your compiler has builtin support for any of the following +// traits concepts, then redefine the appropriate macros to pick +// up on the compiler support: +// +// (these should largely ignore cv-qualifiers) +// BOOST_IS_UNION(T) should evaluate to true if T is a union type +// BOOST_IS_POD(T) should evaluate to true if T is a POD type +// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union) +// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect +// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy +// BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy +// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy +// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy +// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect +// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw +// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw +// BOOST_HAS_NOTHROW_ASSIGN(T) should evaluate to true if t = u can not throw +// BOOST_HAS_VIRTUAL_DESTRUCTOR(T) should evaluate to true T has a virtual destructor +// BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) should evaluate to true if T has a non-throwing move constructor. +// BOOST_IS_NOTHROW_MOVE_ASSIGN(T) should evaluate to true if T has a non-throwing move assignment operator. +// +// The following can also be defined: when detected our implementation is greatly simplified. +// +// BOOST_IS_ABSTRACT(T) true if T is an abstract type +// BOOST_IS_BASE_OF(T,U) true if T is a base class of U +// BOOST_IS_CLASS(T) true if T is a class type (and not a union) +// BOOST_IS_CONVERTIBLE(T,U) true if T is convertible to U +// BOOST_IS_ENUM(T) true is T is an enum +// BOOST_IS_POLYMORPHIC(T) true if T is a polymorphic type +// BOOST_ALIGNMENT_OF(T) should evaluate to the alignment requirements of type T. +// +// define BOOST_TT_DISABLE_INTRINSICS to prevent any intrinsics being used (mostly used when testing) +// + +#ifdef BOOST_HAS_SGI_TYPE_TRAITS + // Hook into SGI's __type_traits class, this will pick up user supplied + // specializations as well as SGI - compiler supplied specializations. +# include +# ifdef __NetBSD__ + // There are two different versions of type_traits.h on NetBSD on Spark + // use an implicit include via algorithm instead, to make sure we get + // the same version as the std lib: +# include +# else +# include +# endif +# define BOOST_IS_POD(T) ::boost::is_same< typename ::__type_traits::is_POD_type, ::__true_type>::value +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ::boost::is_same< typename ::__type_traits::has_trivial_default_constructor, ::__true_type>::value +# define BOOST_HAS_TRIVIAL_COPY(T) ::boost::is_same< typename ::__type_traits::has_trivial_copy_constructor, ::__true_type>::value +# define BOOST_HAS_TRIVIAL_ASSIGN(T) ::boost::is_same< typename ::__type_traits::has_trivial_assignment_operator, ::__true_type>::value +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) ::boost::is_same< typename ::__type_traits::has_trivial_destructor, ::__true_type>::value + +# ifdef __sgi +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +# endif +#endif + +#if defined(__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) + // Metrowerks compiler is acquiring intrinsic type traits support + // post version 8. We hook into the published interface to pick up + // user defined specializations as well as compiler intrinsics as + // and when they become available: +# include +# define BOOST_IS_UNION(T) BOOST_STD_EXTENSION_NAMESPACE::is_union::value +# define BOOST_IS_POD(T) BOOST_STD_EXTENSION_NAMESPACE::is_POD::value +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_default_ctor::value +# define BOOST_HAS_TRIVIAL_COPY(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_copy_ctor::value +# define BOOST_HAS_TRIVIAL_ASSIGN(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_assignment::value +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) BOOST_STD_EXTENSION_NAMESPACE::has_trivial_dtor::value +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\ + || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500)) +// +// Note that even though these intrinsics rely on other type traits classes +// we do not #include those here as it produces cyclic dependencies and +// can cause the intrinsics to not even be used at all! +// +# define BOOST_IS_UNION(T) __is_union(T) +# define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T)) +# define BOOST_IS_EMPTY(T) __is_empty(T) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) || ( ::boost::is_pod::value && ! ::boost::is_const::value && !::boost::is_volatile::value)) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) || ::boost::is_pod::value) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) || ::boost::has_trivial_constructor::value) +#if !defined(BOOST_INTEL) +# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) || ::boost::has_trivial_copy::value) && !is_array::value) +# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) || ::boost::is_pod::value) +#elif (_MSC_VER >= 1900) +# define BOOST_HAS_NOTHROW_COPY(T) ((__is_nothrow_constructible(T, typename add_lvalue_reference::type>::type)) && !is_array::value) +# define BOOST_HAS_TRIVIAL_COPY(T) (__is_trivially_constructible(T, typename add_lvalue_reference::type>::type)) +#endif +# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) || ::boost::has_trivial_assign::value) +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) + +# define BOOST_IS_ABSTRACT(T) __is_abstract(T) +# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) +# define BOOST_IS_CLASS(T) __is_class(T) +# define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same::value && !is_function::value)) && !__is_abstract(U)) +# define BOOST_IS_ENUM(T) __is_enum(T) +// This one fails if the default alignment has been changed with /Zp: +// # define BOOST_ALIGNMENT_OF(T) __alignof(T) + +# if defined(_MSC_VER) && (_MSC_VER >= 1800) +# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__is_trivially_constructible(T, T&&) || boost::is_pod::value) && ! ::boost::is_volatile::value && ! ::boost::is_reference::value) +# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__is_trivially_assignable(T, T&&) || boost::is_pod::value) && ! ::boost::is_const::value && !::boost::is_volatile::value && ! ::boost::is_reference::value) +# elif defined(_MSC_VER) && (_MSC_VER >= 1700) +# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || boost::is_pod::value) && ! ::boost::is_volatile::value && ! ::boost::is_reference::value) +# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || boost::is_pod::value) && ! ::boost::is_const::value && !::boost::is_volatile::value && ! ::boost::is_reference::value) +# endif +#ifndef BOOST_NO_CXX11_FINAL +// This one doesn't quite always do the right thing on older VC++ versions +// we really need it when the final keyword is supported though: +# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) +#endif +#if _MSC_FULL_VER >= 180020827 +# define BOOST_IS_NOTHROW_MOVE_ASSIGN(T) (__is_nothrow_assignable(T&, T&&)) +# define BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) (__is_nothrow_constructible(T, T&&)) +#endif +#if _MSC_VER >= 1800 +# define BOOST_IS_FINAL(T) __is_final(T) +#endif +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#if defined(__DMC__) && (__DMC__ >= 0x848) +// For Digital Mars C++, www.digitalmars.com +# define BOOST_IS_UNION(T) (__typeinfo(T) & 0x400) +# define BOOST_IS_POD(T) (__typeinfo(T) & 0x800) +# define BOOST_IS_EMPTY(T) (__typeinfo(T) & 0x1000) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__typeinfo(T) & 0x10) +# define BOOST_HAS_TRIVIAL_COPY(T) (__typeinfo(T) & 0x20) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__typeinfo(T) & 0x40) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__typeinfo(T) & 0x8) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__typeinfo(T) & 0x80) +# define BOOST_HAS_NOTHROW_COPY(T) (__typeinfo(T) & 0x100) +# define BOOST_HAS_NOTHROW_ASSIGN(T) (__typeinfo(T) & 0x200) +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) (__typeinfo(T) & 0x4) +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#if defined(BOOST_CLANG) && defined(__has_feature) && defined(__has_builtin) && (!(defined(__CUDACC__) && (__CUDACC_VER_MAJOR__ < 11)) || defined(__CUDA__)) +// +// Note that these intrinsics are disabled for the CUDA meta-compiler as it appears +// to not support them, even though the underlying clang compiler does so. +// This is a rubbish fix as it basically stops type traits from working correctly, +// but maybe the best we can do for now. See https://svn.boost.org/trac/boost/ticket/10694 +// +// +// Note that even though these intrinsics rely on other type traits classes +// we do not #include those here as it produces cyclic dependencies and +// can cause the intrinsics to not even be used at all! +// +# include + +# if __has_feature(is_union) +# define BOOST_IS_UNION(T) __is_union(T) +# endif +# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_pod) +# define BOOST_IS_POD(T) __is_pod(T) +# endif +# if (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20080306 && __GLIBCXX__ != 20080519)) && __has_feature(is_empty) +# define BOOST_IS_EMPTY(T) __is_empty(T) +# endif +# if __has_builtin(__is_trivially_constructible) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __is_trivially_constructible(T) +# elif __has_feature(has_trivial_constructor) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) +# endif +# if __has_builtin(__is_trivially_copyable) +# define BOOST_HAS_TRIVIAL_COPY(T) (__is_trivially_copyable(T) && !is_reference::value) +# elif __has_feature(has_trivial_copy) +# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) +# endif +# if __has_builtin(__is_trivially_assignable) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__is_trivially_assignable(T&, const T&) && !is_volatile::value && is_assignable::value) +# elif __has_feature(has_trivial_assign) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value && is_assignable::value) +# endif +# if __has_builtin(__is_trivially_destructible) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__is_trivially_destructible(T) && is_destructible::value) +# elif __has_feature(has_trivial_destructor) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) && is_destructible::value) +# endif +# if __has_builtin(__is_nothrow_constructible) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__is_nothrow_constructible(T) && is_default_constructible::value) +# elif __has_feature(has_nothrow_constructor) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value) +# endif +# if __has_builtin(__is_nothrow_constructible) +# define BOOST_HAS_NOTHROW_COPY(T) (__is_nothrow_constructible(T, const T&) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) +# elif __has_feature(has_nothrow_copy) +# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) +# endif +# if __has_builtin(__is_nothrow_assignable) +# define BOOST_HAS_NOTHROW_ASSIGN(T) (__is_nothrow_assignable(T&, const T&) && !is_volatile::value && is_assignable::value) +# elif __has_feature(has_nothrow_assign) +# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value && is_assignable::value) +# endif +# if __has_feature(has_virtual_destructor) +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) +# endif +# if __has_feature(is_abstract) +# define BOOST_IS_ABSTRACT(T) __is_abstract(T) +# endif +# if __has_feature(is_base_of) +# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) +# endif +# if __has_feature(is_class) +# define BOOST_IS_CLASS(T) __is_class(T) +# endif +# if __has_feature(is_convertible_to) +# define BOOST_IS_CONVERTIBLE(T,U) __is_convertible_to(T,U) +# endif +# if __has_feature(is_enum) +# define BOOST_IS_ENUM(T) __is_enum(T) +# endif +# if __has_feature(is_polymorphic) +# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) +# endif +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +# if __has_extension(is_trivially_constructible) +# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) +# endif +# if __has_extension(is_trivially_assignable) +# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) +# endif +#endif +# if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) || !defined(__GNUC__) +// GCC sometimes lies about alignment requirements +// of type double on 32-bit unix platforms, use the +// old implementation instead in that case: +# define BOOST_ALIGNMENT_OF(T) __alignof(T) +# endif +# if __has_feature(is_final) +# define BOOST_IS_FINAL(T) __is_final(T) +# endif + +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) && !defined(__GCCXML__))) && !defined(BOOST_CLANG) +// +// Note that even though these intrinsics rely on other type traits classes +// we do not #include those here as it produces cyclic dependencies and +// can cause the intrinsics to not even be used at all! +// + +#ifdef BOOST_INTEL +# define BOOST_INTEL_TT_OPTS || is_pod::value +#else +# define BOOST_INTEL_TT_OPTS +#endif + +# define BOOST_IS_UNION(T) __is_union(T) +# define BOOST_IS_POD(T) __is_pod(T) +# define BOOST_IS_EMPTY(T) __is_empty(T) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) ((__has_trivial_constructor(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value) +# define BOOST_HAS_TRIVIAL_COPY(T) ((__has_trivial_copy(T) BOOST_INTEL_TT_OPTS) && !is_reference::value) +#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 +# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value && ! ::boost::is_const::value && is_assignable::value) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS && is_destructible::value) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) && is_default_constructible::value BOOST_INTEL_TT_OPTS) +# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) +# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_const::value && is_assignable::value) +#else +# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile::value && ! ::boost::is_const::value) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS) +#if ((__GNUC__ * 100 + __GNUC_MINOR__) != 407) && ((__GNUC__ * 100 + __GNUC_MINOR__) != 408) +# define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_reference::value && !is_array::value) +#endif +# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile::value && !is_const::value && !is_array::value) +#endif +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) + +# define BOOST_IS_ABSTRACT(T) __is_abstract(T) +# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) +# define BOOST_IS_CLASS(T) __is_class(T) +# define BOOST_IS_ENUM(T) __is_enum(T) +# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) +# if (!defined(unix) && !defined(__unix__) && \ + !(defined(__VXWORKS__) && defined(__i386__))) || defined(__LP64__) + // GCC sometimes lies about alignment requirements + // of type double on 32-bit unix platforms, use the + // old implementation instead in that case: +# define BOOST_ALIGNMENT_OF(T) __alignof__(T) +# endif +# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) +# define BOOST_IS_FINAL(T) __is_final(T) +# endif + +# if (__GNUC__ >= 5) && (__cplusplus >= 201103) +# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) +# define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) +# endif + +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) +# define BOOST_IS_UNION(T) __oracle_is_union(T) +# define BOOST_IS_POD(T) (__oracle_is_pod(T) && !is_function::value) +# define BOOST_IS_EMPTY(T) __oracle_is_empty(T) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__oracle_has_trivial_constructor(T) && ! ::boost::is_volatile::value) +# define BOOST_HAS_TRIVIAL_COPY(T) (__oracle_has_trivial_copy(T) && !is_reference::value) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && ! ::boost::is_volatile::value && ! ::boost::is_const::value && is_assignable::value) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__oracle_has_trivial_destructor(T) && is_destructible::value) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) ((__oracle_has_nothrow_constructor(T) || __oracle_has_trivial_constructor(T) || __oracle_is_trivial(T)) && is_default_constructible::value) +// __oracle_has_nothrow_copy appears to behave the same as __oracle_has_nothrow_assign, disabled for now: +//# define BOOST_HAS_NOTHROW_COPY(T) ((__oracle_has_nothrow_copy(T) || __oracle_has_trivial_copy(T) || __oracle_is_trivial(T)) && !is_volatile::value && !is_reference::value && is_copy_constructible::value) +# define BOOST_HAS_NOTHROW_ASSIGN(T) ((__oracle_has_nothrow_assign(T) || __oracle_has_trivial_assign(T) || __oracle_is_trivial(T)) && !is_volatile::value && !is_const::value && is_assignable::value) +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __oracle_has_virtual_destructor(T) + +# define BOOST_IS_ABSTRACT(T) __oracle_is_abstract(T) +//# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) +# define BOOST_IS_CLASS(T) __oracle_is_class(T) +# define BOOST_IS_ENUM(T) __oracle_is_enum(T) +# define BOOST_IS_POLYMORPHIC(T) __oracle_is_polymorphic(T) +# define BOOST_ALIGNMENT_OF(T) __alignof__(T) +# define BOOST_IS_FINAL(T) __oracle_is_final(T) + +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#if defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) +# include +# include +# include + +# define BOOST_IS_UNION(T) __is_union(T) +# define BOOST_IS_POD(T) __is_pod(T) +# define BOOST_IS_EMPTY(T) __is_empty(T) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) __has_trivial_constructor(T) +# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy(T) && !is_reference::value) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) __has_nothrow_constructor(T) +# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy(T) && !is_volatile::value && !is_reference::value) +# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value) +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) + +# define BOOST_IS_ABSTRACT(T) __is_abstract(T) +# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same::value) +# define BOOST_IS_CLASS(T) __is_class(T) +# define BOOST_IS_ENUM(T) __is_enum(T) +# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) +# define BOOST_ALIGNMENT_OF(T) __alignof__(T) +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +# if defined(BOOST_CODEGEARC) +# include +# include +# include +# include + +# define BOOST_IS_UNION(T) __is_union(T) +# define BOOST_IS_POD(T) __is_pod(T) +# define BOOST_IS_EMPTY(T) __is_empty(T) +# define BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) (__has_trivial_default_constructor(T)) +# define BOOST_HAS_TRIVIAL_COPY(T) (__has_trivial_copy_constructor(T) && !is_reference::value) +# define BOOST_HAS_TRIVIAL_ASSIGN(T) (__has_trivial_assign(T) && !is_volatile::value) +# define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T)) +# define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_default_constructor(T)) +# define BOOST_HAS_NOTHROW_COPY(T) (__has_nothrow_copy_constructor(T) && !is_volatile::value && !is_reference::value) +# define BOOST_HAS_NOTHROW_ASSIGN(T) (__has_nothrow_assign(T) && !is_volatile::value) +# define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T) + +# define BOOST_IS_ABSTRACT(T) __is_abstract(T) +# define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_void::value && !is_void::value) +# define BOOST_IS_CLASS(T) __is_class(T) +# define BOOST_IS_CONVERTIBLE(T,U) (__is_convertible(T,U) || is_void::value) +# define BOOST_IS_ENUM(T) __is_enum(T) +# define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) +# define BOOST_ALIGNMENT_OF(T) alignof(T) + +# define BOOST_HAS_TYPE_TRAITS_INTRINSICS +#endif + +#endif // BOOST_TT_DISABLE_INTRINSICS + +#endif // BOOST_TT_INTRINSICS_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/is_abstract.hpp b/external/include/boost_1_90_0/boost/type_traits/is_abstract.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/is_abstract.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_abstract.hpp index 781d94a479..e42e22f728 100644 --- a/external/include/boost_1_75/boost/type_traits/is_abstract.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_abstract.hpp @@ -1,150 +1,150 @@ -#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP -#define BOOST_TT_IS_ABSTRACT_CLASS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// is_abstract_class.hpp: -// -// (C) Copyright 2002 Rani Sharoni (rani_sharoni@hotmail.com) and Robert Ramey -// Use, modification and distribution is subject to 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) -// -// See http://www.boost.org for updates, documentation, and revision history. -// - -// Compile type discovery whether given type is abstract class or not. -// -// Requires DR 337 to be supported by compiler -// (http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#337). -// -// -// Believed (Jan 2004) to work on: -// - GCC 3.4 -// - VC++ 7.1 -// - compilers with new EDG frontend (Intel C++ 7, Comeau 4.3.2) -// -// Doesn't work on: -// - VC++6, VC++7.0 and less -// - GCC 3.3.X and less -// - Borland C++ 6 and less -// -// -// History: -// - Originally written by Rani Sharoni, see -// http://groups.google.com/groups?selm=df893da6.0207110613.75b2fe90%40posting.google.com -// At this time supported by EDG (Intel C++ 7, Comeau 4.3.2) and VC7.1. -// - Adapted and added into Boost.Serialization library by Robert Ramey -// (starting with submission #10). -// - Jan 2004: GCC 3.4 fixed to support DR337 (Giovanni Bajo). -// - Jan 2004: modified to be part of Boost.TypeTraits (Pavel Vozenilek). -// - Nov 2004: Christoph Ludwig found that the implementation did not work with -// template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig -// and John Maddock. -// - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template -// to degrade gracefully, rather than trash the compiler (John Maddock). -// - -#include // size_t -#include -#include -#ifndef BOOST_IS_ABSTRACT -#include -#include -#include -#ifdef BOOST_NO_IS_ABSTRACT -#include -#endif -#endif - -namespace boost { - -namespace detail{ - -#ifdef BOOST_IS_ABSTRACT -template -struct is_abstract_imp -{ - BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T)); -}; -#elif !defined(BOOST_NO_IS_ABSTRACT) -template -struct is_abstract_imp2 -{ - // Deduction fails if T is void, function type, - // reference type (14.8.2/2)or an abstract class type - // according to review status issue #337 - // - template - static type_traits::no_type check_sig(U (*)[1]); - template - static type_traits::yes_type check_sig(...); - // - // T must be a complete type, further if T is a template then - // it must be instantiated in order for us to get the right answer: - // - BOOST_STATIC_ASSERT(sizeof(T) != 0); - - // GCC2 won't even parse this template if we embed the computation - // of s1 in the computation of value. -#ifdef __GNUC__ - BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2::template check_sig(0))); -#else -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(push) -#pragma warning(disable:6334) -#endif - BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig(0))); -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(pop) -#endif -#endif - - BOOST_STATIC_CONSTANT(bool, value = - (s1 == sizeof(type_traits::yes_type))); -}; - -template -struct is_abstract_select -{ - template - struct rebind - { - typedef is_abstract_imp2 type; - }; -}; -template <> -struct is_abstract_select -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template -struct is_abstract_imp -{ - typedef is_abstract_select< ::boost::is_class::value> selector; - typedef typename selector::template rebind binder; - typedef typename binder::type type; - - BOOST_STATIC_CONSTANT(bool, value = type::value); -}; - -#endif -} - -#ifndef BOOST_NO_IS_ABSTRACT -template struct is_abstract : public integral_constant::value> {}; -#else -template struct is_abstract : public integral_constant::value> {}; -#endif - -} // namespace boost - -#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP +#ifndef BOOST_TT_IS_ABSTRACT_CLASS_HPP +#define BOOST_TT_IS_ABSTRACT_CLASS_HPP + +#if defined(_MSC_VER) +# pragma once +#endif + +/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 +// is_abstract_class.hpp: +// +// (C) Copyright 2002 Rani Sharoni (rani_sharoni@hotmail.com) and Robert Ramey +// Use, modification and distribution is subject to 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) +// +// See http://www.boost.org for updates, documentation, and revision history. +// + +// Compile type discovery whether given type is abstract class or not. +// +// Requires DR 337 to be supported by compiler +// (http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#337). +// +// +// Believed (Jan 2004) to work on: +// - GCC 3.4 +// - VC++ 7.1 +// - compilers with new EDG frontend (Intel C++ 7, Comeau 4.3.2) +// +// Doesn't work on: +// - VC++6, VC++7.0 and less +// - GCC 3.3.X and less +// - Borland C++ 6 and less +// +// +// History: +// - Originally written by Rani Sharoni, see +// http://groups.google.com/groups?selm=df893da6.0207110613.75b2fe90%40posting.google.com +// At this time supported by EDG (Intel C++ 7, Comeau 4.3.2) and VC7.1. +// - Adapted and added into Boost.Serialization library by Robert Ramey +// (starting with submission #10). +// - Jan 2004: GCC 3.4 fixed to support DR337 (Giovanni Bajo). +// - Jan 2004: modified to be part of Boost.TypeTraits (Pavel Vozenilek). +// - Nov 2004: Christoph Ludwig found that the implementation did not work with +// template types and gcc-3.4 or VC7.1, fix due to Christoph Ludwig +// and John Maddock. +// - Dec 2004: Added new config macro BOOST_NO_IS_ABSTRACT which causes the template +// to degrade gracefully, rather than trash the compiler (John Maddock). +// + +#include // size_t +#include +#include +#ifndef BOOST_IS_ABSTRACT +#include +#include +#include +#ifdef BOOST_NO_IS_ABSTRACT +#include +#endif +#endif + +namespace boost { + +namespace detail{ + +#ifdef BOOST_IS_ABSTRACT +template +struct is_abstract_imp +{ + BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_ABSTRACT(T)); +}; +#elif !defined(BOOST_NO_IS_ABSTRACT) +template +struct is_abstract_imp2 +{ + // Deduction fails if T is void, function type, + // reference type (14.8.2/2)or an abstract class type + // according to review status issue #337 + // + template + static type_traits::no_type check_sig(U (*)[1]); + template + static type_traits::yes_type check_sig(...); + // + // T must be a complete type, further if T is a template then + // it must be instantiated in order for us to get the right answer: + // + BOOST_STATIC_ASSERT(sizeof(T) != 0); + + // GCC2 won't even parse this template if we embed the computation + // of s1 in the computation of value. +#ifdef __GNUC__ + BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(is_abstract_imp2::template check_sig(0))); +#else +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(push) +#pragma warning(disable:6334) +#endif + BOOST_STATIC_CONSTANT(std::size_t, s1 = sizeof(check_sig(0))); +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(pop) +#endif +#endif + + BOOST_STATIC_CONSTANT(bool, value = + (s1 == sizeof(type_traits::yes_type))); +}; + +template +struct is_abstract_select +{ + template + struct rebind + { + typedef is_abstract_imp2 type; + }; +}; +template <> +struct is_abstract_select +{ + template + struct rebind + { + typedef false_type type; + }; +}; + +template +struct is_abstract_imp +{ + typedef is_abstract_select< ::boost::is_class::value> selector; + typedef typename selector::template rebind binder; + typedef typename binder::type type; + + BOOST_STATIC_CONSTANT(bool, value = type::value); +}; + +#endif +} + +#ifndef BOOST_NO_IS_ABSTRACT +template struct is_abstract : public integral_constant::value> {}; +#else +template struct is_abstract : public integral_constant::value> {}; +#endif + +} // namespace boost + +#endif //BOOST_TT_IS_ABSTRACT_CLASS_HPP diff --git a/external/include/boost_1_75/boost/type_traits/is_arithmetic.hpp b/external/include/boost_1_90_0/boost/type_traits/is_arithmetic.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_arithmetic.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_arithmetic.hpp index c23811ebea..c234b725b3 100644 --- a/external/include/boost_1_75/boost/type_traits/is_arithmetic.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_arithmetic.hpp @@ -1,22 +1,22 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED -#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED - -#include -#include - -namespace boost { - -template -struct is_arithmetic : public integral_constant::value || is_floating_point::value> {}; - -} // namespace boost - -#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED +#define BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED + +#include +#include + +namespace boost { + +template +struct is_arithmetic : public integral_constant::value || is_floating_point::value> {}; + +} // namespace boost + +#endif // BOOST_TT_IS_ARITHMETIC_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_array.hpp b/external/include/boost_1_90_0/boost/type_traits/is_array.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_array.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_array.hpp index 16f6a1b227..95b7652c3d 100644 --- a/external/include/boost_1_75/boost/type_traits/is_array.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_array.hpp @@ -1,43 +1,43 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -// Some fixes for is_array are based on a newsgroup posting by Jonathan Lundquist. - - -#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED -#define BOOST_TT_IS_ARRAY_HPP_INCLUDED - -#include -#include // size_t - -namespace boost { - -#if defined( BOOST_CODEGEARC ) - template struct is_array : public integral_constant {}; -#else - template struct is_array : public false_type {}; -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) - template struct is_array : public true_type {}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; - template struct is_array : public true_type{}; -#endif -#endif - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +// Some fixes for is_array are based on a newsgroup posting by Jonathan Lundquist. + + +#ifndef BOOST_TT_IS_ARRAY_HPP_INCLUDED +#define BOOST_TT_IS_ARRAY_HPP_INCLUDED + +#include +#include // size_t + +namespace boost { + +#if defined( BOOST_CODEGEARC ) + template struct is_array : public integral_constant {}; +#else + template struct is_array : public false_type {}; +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) + template struct is_array : public true_type {}; + template struct is_array : public true_type{}; + template struct is_array : public true_type{}; + template struct is_array : public true_type{}; +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + template struct is_array : public true_type{}; + template struct is_array : public true_type{}; + template struct is_array : public true_type{}; + template struct is_array : public true_type{}; +#endif +#endif + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_ARRAY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_assignable.hpp b/external/include/boost_1_90_0/boost/type_traits/is_assignable.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_assignable.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_assignable.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_base_and_derived.hpp b/external/include/boost_1_90_0/boost/type_traits/is_base_and_derived.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_base_and_derived.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_base_and_derived.hpp index 7973e5af57..45019ee93a 100644 --- a/external/include/boost_1_75/boost/type_traits/is_base_and_derived.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_base_and_derived.hpp @@ -1,244 +1,244 @@ - -// (C) Copyright Rani Sharoni 2003. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED -#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED - -#include -#include -#ifndef BOOST_IS_BASE_OF -#include -#include -#include -#include -#include -#endif -#include -#include - -namespace boost { - -namespace detail { - -#ifndef BOOST_IS_BASE_OF -#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) \ - && !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \ - && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \ - && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - - // The EDG version number is a lower estimate. - // It is not currently known which EDG version - // exactly fixes the problem. - -/************************************************************************* - -This version detects ambiguous base classes and private base classes -correctly, and was devised by Rani Sharoni. - -Explanation by Terje Slettebo and Rani Sharoni. - -Let's take the multiple base class below as an example, and the following -will also show why there's not a problem with private or ambiguous base -class: - -struct B {}; -struct B1 : B {}; -struct B2 : B {}; -struct D : private B1, private B2 {}; - -is_base_and_derived::value; - -First, some terminology: - -SC - Standard conversion -UDC - User-defined conversion - -A user-defined conversion sequence consists of an SC, followed by an UDC, -followed by another SC. Either SC may be the identity conversion. - -When passing the default-constructed Host object to the overloaded check_sig() -functions (initialization 8.5/14/4/3), we have several viable implicit -conversion sequences: - -For "static no_type check_sig(B const volatile *, int)" we have the conversion -sequences: - -C -> C const (SC - Qualification Adjustment) -> B const volatile* (UDC) -C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* -> - B const volatile* (SC - Conversion) - -For "static yes_type check_sig(D const volatile *, T)" we have the conversion -sequence: - -C -> D const volatile* (UDC) - -According to 13.3.3.1/4, in context of user-defined conversion only the -standard conversion sequence is considered when selecting the best viable -function, so it only considers up to the user-defined conversion. For the -first function this means choosing between C -> C const and C -> C, and it -chooses the latter, because it's a proper subset (13.3.3.2/3/2) of the -former. Therefore, we have: - -C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* -> - B const volatile* (SC - Conversion) -C -> D const volatile* (UDC) - -Here, the principle of the "shortest subsequence" applies again, and it -chooses C -> D const volatile*. This shows that it doesn't even need to -consider the multiple paths to B, or accessibility, as that possibility is -eliminated before it could possibly cause ambiguity or access violation. - -If D is not derived from B, it has to choose between C -> C const -> B const -volatile* for the first function, and C -> D const volatile* for the second -function, which are just as good (both requires a UDC, 13.3.3.2), had it not -been for the fact that "static no_type check_sig(B const volatile *, int)" is -not templated, which makes C -> C const -> B const volatile* the best choice -(13.3.3/1/4), resulting in "no". - -Also, if Host::operator B const volatile* hadn't been const, the two -conversion sequences for "static no_type check_sig(B const volatile *, int)", in -the case where D is derived from B, would have been ambiguous. - -See also -http://groups.google.com/groups?selm=df893da6.0301280859.522081f7%40posting. -google.com and links therein. - -*************************************************************************/ - -template -struct bd_helper -{ - // - // This VC7.1 specific workaround stops the compiler from generating - // an internal compiler error when compiling with /vmg (thanks to - // Aleksey Gurtovoy for figuring out the workaround). - // -#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) - template - static type_traits::yes_type check_sig(D const volatile *, T); - static type_traits::no_type check_sig(B const volatile *, int); -#else - static type_traits::yes_type check_sig(D const volatile *, long); - static type_traits::no_type check_sig(B const volatile * const&, int); -#endif -}; - -template -struct is_base_and_derived_impl2 -{ -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(push) -#pragma warning(disable:6334) -#endif - // - // May silently do the wrong thing with incomplete types - // unless we trap them here: - // - BOOST_STATIC_ASSERT(sizeof(B) != 0); - BOOST_STATIC_ASSERT(sizeof(D) != 0); - - struct Host - { -#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) - operator B const volatile *() const; -#else - operator B const volatile * const&() const; -#endif - operator D const volatile *(); - }; - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(bd_helper::check_sig(Host(), 0)) == sizeof(type_traits::yes_type)); -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(pop) -#endif -}; - -#else - -// -// broken version: -// -template -struct is_base_and_derived_impl2 -{ - BOOST_STATIC_CONSTANT(bool, value = - (::boost::is_convertible::value)); -}; - -#define BOOST_BROKEN_IS_BASE_AND_DERIVED - -#endif - -template -struct is_base_and_derived_impl3 -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template -struct is_base_and_derived_select -{ - template - struct rebind - { - typedef is_base_and_derived_impl3 type; - }; -}; - -template <> -struct is_base_and_derived_select -{ - template - struct rebind - { - typedef is_base_and_derived_impl2 type; - }; -}; - -template -struct is_base_and_derived_impl -{ - typedef typename remove_cv::type ncvB; - typedef typename remove_cv::type ncvD; - - typedef is_base_and_derived_select< - ::boost::is_class::value, - ::boost::is_class::value, - ::boost::is_same::value> selector; - typedef typename selector::template rebind binder; - typedef typename binder::type bound_type; - - BOOST_STATIC_CONSTANT(bool, value = bound_type::value); -}; -#else -template -struct is_base_and_derived_impl -{ - typedef typename remove_cv::type ncvB; - typedef typename remove_cv::type ncvD; - - BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same::value)); -}; -#endif -} // namespace detail - -template struct is_base_and_derived - : public integral_constant::value)> {}; - -template struct is_base_and_derived : public false_type{}; -template struct is_base_and_derived : public false_type{}; -template struct is_base_and_derived : public false_type{}; - -#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x610)) -template struct is_base_and_derived : public true_type{}; -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED + +// (C) Copyright Rani Sharoni 2003. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED +#define BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED + +#include +#include +#ifndef BOOST_IS_BASE_OF +#include +#include +#include +#include +#include +#endif +#include +#include + +namespace boost { + +namespace detail { + +#ifndef BOOST_IS_BASE_OF +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) \ + && !BOOST_WORKAROUND(__SUNPRO_CC , <= 0x540) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) \ + && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + + // The EDG version number is a lower estimate. + // It is not currently known which EDG version + // exactly fixes the problem. + +/************************************************************************* + +This version detects ambiguous base classes and private base classes +correctly, and was devised by Rani Sharoni. + +Explanation by Terje Slettebo and Rani Sharoni. + +Let's take the multiple base class below as an example, and the following +will also show why there's not a problem with private or ambiguous base +class: + +struct B {}; +struct B1 : B {}; +struct B2 : B {}; +struct D : private B1, private B2 {}; + +is_base_and_derived::value; + +First, some terminology: + +SC - Standard conversion +UDC - User-defined conversion + +A user-defined conversion sequence consists of an SC, followed by an UDC, +followed by another SC. Either SC may be the identity conversion. + +When passing the default-constructed Host object to the overloaded check_sig() +functions (initialization 8.5/14/4/3), we have several viable implicit +conversion sequences: + +For "static no_type check_sig(B const volatile *, int)" we have the conversion +sequences: + +C -> C const (SC - Qualification Adjustment) -> B const volatile* (UDC) +C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* -> + B const volatile* (SC - Conversion) + +For "static yes_type check_sig(D const volatile *, T)" we have the conversion +sequence: + +C -> D const volatile* (UDC) + +According to 13.3.3.1/4, in context of user-defined conversion only the +standard conversion sequence is considered when selecting the best viable +function, so it only considers up to the user-defined conversion. For the +first function this means choosing between C -> C const and C -> C, and it +chooses the latter, because it's a proper subset (13.3.3.2/3/2) of the +former. Therefore, we have: + +C -> D const volatile* (UDC) -> B1 const volatile* / B2 const volatile* -> + B const volatile* (SC - Conversion) +C -> D const volatile* (UDC) + +Here, the principle of the "shortest subsequence" applies again, and it +chooses C -> D const volatile*. This shows that it doesn't even need to +consider the multiple paths to B, or accessibility, as that possibility is +eliminated before it could possibly cause ambiguity or access violation. + +If D is not derived from B, it has to choose between C -> C const -> B const +volatile* for the first function, and C -> D const volatile* for the second +function, which are just as good (both requires a UDC, 13.3.3.2), had it not +been for the fact that "static no_type check_sig(B const volatile *, int)" is +not templated, which makes C -> C const -> B const volatile* the best choice +(13.3.3/1/4), resulting in "no". + +Also, if Host::operator B const volatile* hadn't been const, the two +conversion sequences for "static no_type check_sig(B const volatile *, int)", in +the case where D is derived from B, would have been ambiguous. + +See also +http://groups.google.com/groups?selm=df893da6.0301280859.522081f7%40posting. +google.com and links therein. + +*************************************************************************/ + +template +struct bd_helper +{ + // + // This VC7.1 specific workaround stops the compiler from generating + // an internal compiler error when compiling with /vmg (thanks to + // Aleksey Gurtovoy for figuring out the workaround). + // +#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) + template + static type_traits::yes_type check_sig(D const volatile *, T); + static type_traits::no_type check_sig(B const volatile *, int); +#else + static type_traits::yes_type check_sig(D const volatile *, long); + static type_traits::no_type check_sig(B const volatile * const&, int); +#endif +}; + +template +struct is_base_and_derived_impl2 +{ +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(push) +#pragma warning(disable:6334) +#endif + // + // May silently do the wrong thing with incomplete types + // unless we trap them here: + // + BOOST_STATIC_ASSERT(sizeof(B) != 0); + BOOST_STATIC_ASSERT(sizeof(D) != 0); + + struct Host + { +#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) + operator B const volatile *() const; +#else + operator B const volatile * const&() const; +#endif + operator D const volatile *(); + }; + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(bd_helper::check_sig(Host(), 0)) == sizeof(type_traits::yes_type)); +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(pop) +#endif +}; + +#else + +// +// broken version: +// +template +struct is_base_and_derived_impl2 +{ + BOOST_STATIC_CONSTANT(bool, value = + (::boost::is_convertible::value)); +}; + +#define BOOST_BROKEN_IS_BASE_AND_DERIVED + +#endif + +template +struct is_base_and_derived_impl3 +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template +struct is_base_and_derived_select +{ + template + struct rebind + { + typedef is_base_and_derived_impl3 type; + }; +}; + +template <> +struct is_base_and_derived_select +{ + template + struct rebind + { + typedef is_base_and_derived_impl2 type; + }; +}; + +template +struct is_base_and_derived_impl +{ + typedef typename remove_cv::type ncvB; + typedef typename remove_cv::type ncvD; + + typedef is_base_and_derived_select< + ::boost::is_class::value, + ::boost::is_class::value, + ::boost::is_same::value> selector; + typedef typename selector::template rebind binder; + typedef typename binder::type bound_type; + + BOOST_STATIC_CONSTANT(bool, value = bound_type::value); +}; +#else +template +struct is_base_and_derived_impl +{ + typedef typename remove_cv::type ncvB; + typedef typename remove_cv::type ncvD; + + BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same::value)); +}; +#endif +} // namespace detail + +template struct is_base_and_derived + : public integral_constant::value)> {}; + +template struct is_base_and_derived : public false_type{}; +template struct is_base_and_derived : public false_type{}; +template struct is_base_and_derived : public false_type{}; + +#if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x610)) +template struct is_base_and_derived : public true_type{}; +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_BASE_AND_DERIVED_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_base_of.hpp b/external/include/boost_1_90_0/boost/type_traits/is_base_of.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_base_of.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_base_of.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_class.hpp b/external/include/boost_1_90_0/boost/type_traits/is_class.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/is_class.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_class.hpp index e3a22d2b63..2caa2a74b4 100644 --- a/external/include/boost_1_75/boost/type_traits/is_class.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_class.hpp @@ -1,114 +1,114 @@ -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000-2003. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_CLASS_HPP_INCLUDED -#define BOOST_TT_IS_CLASS_HPP_INCLUDED - -#include -#include -#include -#ifndef BOOST_IS_CLASS -# include - -#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION -# include -#else -# include -# include -# include -# include -# include -#endif - -#endif // BOOST_IS_CLASS - -namespace boost { - -namespace detail { - -#ifndef BOOST_IS_CLASS -#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION - -// This is actually the conforming implementation which works with -// abstract classes. However, enough compilers have trouble with -// it that most will use the one in -// boost/type_traits/object_traits.hpp. This implementation -// actually works with VC7.0, but other interactions seem to fail -// when we use it. - -// is_class<> metafunction due to Paul Mensonides -// (leavings@attbi.com). For more details: -// http://groups.google.com/groups?hl=en&selm=000001c1cc83%24e154d5e0%247772e50c%40c161550a&rnum=1 -#if defined(__GNUC__) && !defined(__EDG_VERSION__) - -template ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); -template ::boost::type_traits::no_type is_class_tester(...); - -template -struct is_class_impl -{ - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(is_class_tester(0)) == sizeof(::boost::type_traits::yes_type) - && ! ::boost::is_union::value - ); -}; - -#else - -template -struct is_class_impl -{ - template static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); - template static ::boost::type_traits::no_type is_class_tester(...); - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(is_class_tester(0)) == sizeof(::boost::type_traits::yes_type) - && ! ::boost::is_union::value - ); -}; - -#endif - -#else - -template -struct is_class_impl -{ - BOOST_STATIC_CONSTANT(bool, value = - ! ::boost::is_union::value >::value - && ! ::boost::is_scalar::value - && ! ::boost::is_array::value - && ! ::boost::is_reference::value - && ! ::boost::is_void::value - && ! ::boost::is_function::value - ); -}; - -# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION -# else // BOOST_IS_CLASS -template -struct is_class_impl -{ - BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T)); -}; -# endif // BOOST_IS_CLASS - -} // namespace detail - -template struct is_class : public integral_constant::value> {}; -# ifdef __EDG_VERSION__ -template struct is_class : public is_class{}; -template struct is_class : public is_class{}; -template struct is_class : public is_class{}; -# endif - -} // namespace boost - -#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000-2003. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_IS_CLASS_HPP_INCLUDED +#define BOOST_TT_IS_CLASS_HPP_INCLUDED + +#include +#include +#include +#ifndef BOOST_IS_CLASS +# include + +#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION +# include +#else +# include +# include +# include +# include +# include +#endif + +#endif // BOOST_IS_CLASS + +namespace boost { + +namespace detail { + +#ifndef BOOST_IS_CLASS +#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION + +// This is actually the conforming implementation which works with +// abstract classes. However, enough compilers have trouble with +// it that most will use the one in +// boost/type_traits/object_traits.hpp. This implementation +// actually works with VC7.0, but other interactions seem to fail +// when we use it. + +// is_class<> metafunction due to Paul Mensonides +// (leavings@attbi.com). For more details: +// http://groups.google.com/groups?hl=en&selm=000001c1cc83%24e154d5e0%247772e50c%40c161550a&rnum=1 +#if defined(__GNUC__) && !defined(__EDG_VERSION__) + +template ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); +template ::boost::type_traits::no_type is_class_tester(...); + +template +struct is_class_impl +{ + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(is_class_tester(0)) == sizeof(::boost::type_traits::yes_type) + && ! ::boost::is_union::value + ); +}; + +#else + +template +struct is_class_impl +{ + template static ::boost::type_traits::yes_type is_class_tester(void(U::*)(void)); + template static ::boost::type_traits::no_type is_class_tester(...); + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(is_class_tester(0)) == sizeof(::boost::type_traits::yes_type) + && ! ::boost::is_union::value + ); +}; + +#endif + +#else + +template +struct is_class_impl +{ + BOOST_STATIC_CONSTANT(bool, value = + ! ::boost::is_union::value >::value + && ! ::boost::is_scalar::value + && ! ::boost::is_array::value + && ! ::boost::is_reference::value + && ! ::boost::is_void::value + && ! ::boost::is_function::value + ); +}; + +# endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION +# else // BOOST_IS_CLASS +template +struct is_class_impl +{ + BOOST_STATIC_CONSTANT(bool, value = BOOST_IS_CLASS(T)); +}; +# endif // BOOST_IS_CLASS + +} // namespace detail + +template struct is_class : public integral_constant::value> {}; +# ifdef __EDG_VERSION__ +template struct is_class : public is_class{}; +template struct is_class : public is_class{}; +template struct is_class : public is_class{}; +# endif + +} // namespace boost + +#endif // BOOST_TT_IS_CLASS_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/is_complete.hpp b/external/include/boost_1_90_0/boost/type_traits/is_complete.hpp new file mode 100644 index 0000000000..57ac25d83c --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/is_complete.hpp @@ -0,0 +1,114 @@ + +// (C) Copyright John Maddock 2017. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_COMPLETE_HPP_INCLUDED +#define BOOST_TT_IS_COMPLETE_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +/* + * CAUTION: + * ~~~~~~~~ + * + * THIS TRAIT EXISTS SOLELY TO GENERATE HARD ERRORS WHEN A ANOTHER TRAIT + * WHICH REQUIRES COMPLETE TYPES AS ARGUMENTS IS PASSED AN INCOMPLETE TYPE + * + * DO NOT MAKE GENERAL USE OF THIS TRAIT, AS THE COMPLETENESS OF A TYPE + * VARIES ACROSS TRANSLATION UNITS AS WELL AS WITHIN A SINGLE UNIT. + * + */ + +namespace boost { + +// +// We will undef this if the trait isn't fully functional: +// +#define BOOST_TT_HAS_WORKING_IS_COMPLETE + +#if !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_MSVC, <= 1900) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40600) + + namespace detail { + + template + struct ok_tag { double d; char c[N]; }; + + template + ok_tag check_is_complete(int); + template + char check_is_complete(...); + + } // namespace detail + + template struct is_complete + : public integral_constant::type>::value || (sizeof(boost::detail::check_is_complete(0)) != sizeof(char))> {}; + +#elif !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40500) + + namespace detail { + + template + struct is_complete_imp + { + template ())) > + static type_traits::yes_type check(U*); + + template + static type_traits::no_type check(...); + + static const bool value = sizeof(check(0)) == sizeof(type_traits::yes_type); + }; + + } // namespace detail + + + template + struct is_complete : boost::integral_constant::type>::value || ::boost::detail::is_complete_imp::value> + {}; + template + struct is_complete : boost::is_complete {}; + +#else + + namespace detail { + + template + struct is_complete_impl : public boost::true_type {}; + + template < > + struct is_complete_impl : public boost::false_type {}; + + template + struct is_complete_impl : public boost::false_type {}; + + template + struct is_complete_impl : public is_complete_impl::type {}; + + } // namespace detail + + template + struct is_complete : public detail::is_complete_impl::type {}; + template + struct is_complete : public detail::is_complete_impl::type {}; + template + struct is_complete : public detail::is_complete_impl::type {}; + template + struct is_complete : public detail::is_complete_impl::type {}; + +#undef BOOST_TT_HAS_WORKING_IS_COMPLETE + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_COMPLETE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_const.hpp b/external/include/boost_1_90_0/boost/type_traits/is_const.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_const.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_const.hpp index 256326f803..eade4c37dc 100644 --- a/external/include/boost_1_75/boost/type_traits/is_const.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_const.hpp @@ -1,47 +1,47 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_CONST_HPP_INCLUDED -#define BOOST_TT_IS_CONST_HPP_INCLUDED - -#include // size_t -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) - - template - struct is_const : public integral_constant {}; - -#else - - template - struct is_const : public false_type {}; - template struct is_const : public true_type{}; - template struct is_const : public true_type{}; - template struct is_const : public true_type{}; - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_CONST_HPP_INCLUDED - + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, +// is_member_pointer based on the Simulated Partial Specialization work +// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or +// http://groups.yahoo.com/group/boost/message/5441 +// Some workarounds in here use ideas suggested from "Generic: +// Mappings between Types and Values" +// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). + + +#ifndef BOOST_TT_IS_CONST_HPP_INCLUDED +#define BOOST_TT_IS_CONST_HPP_INCLUDED + +#include // size_t +#include + +namespace boost { + +#if defined( BOOST_CODEGEARC ) + + template + struct is_const : public integral_constant {}; + +#else + + template + struct is_const : public false_type {}; + template struct is_const : public true_type{}; + template struct is_const : public true_type{}; + template struct is_const : public true_type{}; + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_CONST_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/is_constructible.hpp b/external/include/boost_1_90_0/boost/type_traits/is_constructible.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_constructible.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_constructible.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_convertible.hpp b/external/include/boost_1_90_0/boost/type_traits/is_convertible.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_convertible.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_convertible.hpp index 8e73d9bfa3..b4991a0a9b 100644 --- a/external/include/boost_1_75/boost/type_traits/is_convertible.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_convertible.hpp @@ -1,506 +1,506 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu) -// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED -#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#ifndef BOOST_IS_CONVERTIBLE -#include -#include -#include -#include -#include -#if !defined(BOOST_NO_IS_ABSTRACT) -#include -#endif -#include -#include -#include - -#if defined(__MWERKS__) -#include -#endif -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -# include -#endif -#elif defined(BOOST_MSVC) || defined(BOOST_INTEL) -#include -#include -#endif // BOOST_IS_CONVERTIBLE - -namespace boost { - -#ifndef BOOST_IS_CONVERTIBLE - -// is one type convertible to another? -// -// there are multiple versions of the is_convertible -// template, almost every compiler seems to require its -// own version. -// -// Thanks to Andrei Alexandrescu for the original version of the -// conversion detection technique! -// - -namespace detail { - -#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_GCC) && (BOOST_GCC < 40700)) - - // This is a C++11 conforming version, place this first and use it wherever possible: - -# define BOOST_TT_CXX11_IS_CONVERTIBLE - - template - struct or_helper - { - static const bool value = (A::value || B::value || C::value); - }; - - template, boost::is_function, boost::is_array >::value> - struct is_convertible_basic_impl - { - // Nothing converts to function or array, but void converts to void: - static const bool value = is_void::value; - }; - - template - class is_convertible_basic_impl - { - typedef char one; - typedef int two; - - template - static void test_aux(To1); - - template - static decltype(test_aux(boost::declval()), one()) test(int); - - template - static two test(...); - - public: - static const bool value = sizeof(test(0)) == 1; - }; - -#elif defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x560) -// -// special version for Borland compilers -// this version breaks when used for some -// UDT conversions: -// -template -struct is_convertible_impl -{ -#pragma option push -w-8074 - // This workaround for Borland breaks the EDG C++ frontend, - // so we only use it for Borland. - template struct checker - { - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T); - }; - - static typename add_lvalue_reference::type _m_from; - static bool const value = sizeof( checker::_m_check(_m_from) ) - == sizeof(::boost::type_traits::yes_type); -#pragma option pop -}; - -#elif defined(__GNUC__) || defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600) -// special version for gcc compiler + recent Borland versions -// note that this does not pass UDT's through (...) - -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - template any_conversion(T&); -}; - -template struct checker -{ - static boost::type_traits::no_type _m_check(any_conversion ...); - static boost::type_traits::yes_type _m_check(T, int); -}; - -template -struct is_convertible_basic_impl -{ - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))) - static bool const value = - sizeof( boost::detail::checker::_m_check(static_cast(_m_from), 0) ) - == sizeof(::boost::type_traits::yes_type); -#else - static bool const value = - sizeof( boost::detail::checker::_m_check(_m_from, 0) ) - == sizeof(::boost::type_traits::yes_type); -#endif -}; - -#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \ - || defined(__IBMCPP__) || defined(__HP_aCC) -// -// This is *almost* an ideal world implementation as it doesn't rely -// on undefined behaviour by passing UDT's through (...). -// Unfortunately it doesn't quite pass all the tests for most compilers (sigh...) -// Enable this for your compiler if is_convertible_test.cpp will compile it... -// -// Note we do not enable this for VC7.1, because even though it passes all the -// type_traits tests it is known to cause problems when instantiation occurs -// deep within the instantiation tree :-( -// -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - // we need this constructor to catch references to functions - // (which can not be cv-qualified): - template any_conversion(T&); -}; - -template -struct is_convertible_basic_impl -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -}; - -#elif defined(__DMC__) - -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - // we need this constructor to catch references to functions - // (which can not be cv-qualified): - template any_conversion(T&); -}; - -template -struct is_convertible_basic_impl -{ - // Using '...' doesn't always work on Digital Mars. This version seems to. - template - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion, float, T); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; - - // Static constants sometime cause the conversion of _m_from to To to be - // called. This doesn't happen with an enum. -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - enum { value = - sizeof( _m_check(static_cast(_m_from), 0, 0) ) == sizeof(::boost::type_traits::yes_type) - }; -#else - enum { value = - sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type) - }; -#endif -}; - -#elif defined(__MWERKS__) -// -// CW works with the technique implemented above for EDG, except when From -// is a function type (or a reference to such a type), in which case -// any_conversion won't be accepted as a valid conversion. We detect this -// exceptional situation and channel it through an alternative algorithm. -// - -template -struct is_convertible_basic_impl_aux; - -struct any_conversion -{ - template any_conversion(const volatile T&); - template any_conversion(const T&); - template any_conversion(volatile T&); - template any_conversion(T&); -}; - -template -struct is_convertible_basic_impl_aux -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -}; - -template -struct is_convertible_basic_impl_aux -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To); - typedef typename add_lvalue_reference::type lvalue_type; - typedef typename add_rvalue_reference::type rvalue_type; - static lvalue_type _m_from; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from)) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -}; - -template -struct is_convertible_basic_impl: - is_convertible_basic_impl_aux< - From,To, - ::boost::is_function::type>::value - > -{}; - -#else -// -// This version seems to work pretty well for a wide spectrum of compilers, -// however it does rely on undefined behaviour by passing UDT's through (...). -// - -//Workaround for old compilers like MSVC 7.1 to avoid -//forming a reference to an array of unknown bound -template -struct is_convertible_basic_impl_add_lvalue_reference - : add_lvalue_reference -{}; - -template -struct is_convertible_basic_impl_add_lvalue_reference -{ - typedef From type []; -}; - -template -struct is_convertible_basic_impl -{ - static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); - static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To); - typedef typename is_convertible_basic_impl_add_lvalue_reference::type lvalue_type; - static lvalue_type _m_from; -#ifdef BOOST_MSVC -#pragma warning(push) -#pragma warning(disable:4244) -#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) -#pragma warning(disable:6334) -#endif -#endif -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - typedef typename add_rvalue_reference::type rvalue_type; - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(static_cast(_m_from)) ) == sizeof(::boost::type_traits::yes_type) - ); -#else - BOOST_STATIC_CONSTANT(bool, value = - sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) - ); -#endif -#ifdef BOOST_MSVC -#pragma warning(pop) -#endif -}; - -#endif // is_convertible_impl - -#if defined(__DMC__) -// As before, a static constant sometimes causes errors on Digital Mars. -template -struct is_convertible_impl -{ - enum { - value = ( ::boost::detail::is_convertible_basic_impl::value && ! ::boost::is_array::value && ! ::boost::is_function::value) - }; -}; -#elif !defined(BOOST_BORLANDC) || BOOST_BORLANDC > 0x551 -template -struct is_convertible_impl -{ - BOOST_STATIC_CONSTANT(bool, value = ( ::boost::detail::is_convertible_basic_impl::value && !::boost::is_array::value && !::boost::is_function::value)); -}; -#endif - -template -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef is_convertible_impl type; - }; -}; - -template <> -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef true_type type; - }; -}; - -template <> -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template <> -struct is_convertible_impl_select -{ - template - struct rebind - { - typedef false_type type; - }; -}; - -template -struct is_convertible_impl_dispatch_base -{ -#if !BOOST_WORKAROUND(__HP_aCC, < 60700) - typedef is_convertible_impl_select< - ::boost::is_arithmetic::value, - ::boost::is_arithmetic::value, -#if !defined(BOOST_NO_IS_ABSTRACT) && !defined(BOOST_TT_CXX11_IS_CONVERTIBLE) - // We need to filter out abstract types, only if we don't have a strictly conforming C++11 version: - ::boost::is_abstract::value -#else - false -#endif - > selector; -#else - typedef is_convertible_impl_select selector; -#endif - typedef typename selector::template rebind isc_binder; - typedef typename isc_binder::type type; -}; - -template -struct is_convertible_impl_dispatch - : public is_convertible_impl_dispatch_base::type -{}; - -// -// Now add the full and partial specialisations -// for void types, these are common to all the -// implementation above: -// -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; -template <> struct is_convertible_impl_dispatch : public true_type{}; - -#else -template <> struct is_convertible_impl_dispatch : public true_type{}; -#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS - -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; - -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -template struct is_convertible_impl_dispatch : public false_type{}; -#endif - -} // namespace detail - -template -struct is_convertible : public integral_constant::value> -{ - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "Destination argument type to is_convertible must be a complete type"); - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "From argument type to is_convertible must be a complete type"); -}; - -#else - -template -struct is_convertible : public integral_constant -{ -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1900) - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value || boost::is_reference::value, "From argument type to is_convertible must be a complete type"); -#endif -#if defined(__clang__) - // clang's intrinsic doesn't assert on incomplete types: - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "Destination argument type to is_convertible must be a complete type"); - BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "From argument type to is_convertible must be a complete type"); -#endif -}; - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED + +// Copyright 2000 John Maddock (john@johnmaddock.co.uk) +// Copyright 2000 Jeremy Siek (jsiek@lsc.nd.edu) +// Copyright 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi) +// +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED +#define BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#ifndef BOOST_IS_CONVERTIBLE +#include +#include +#include +#include +#include +#if !defined(BOOST_NO_IS_ABSTRACT) +#include +#endif +#include +#include +#include + +#if defined(__MWERKS__) +#include +#endif +#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +# include +#endif +#elif defined(BOOST_MSVC) || defined(BOOST_INTEL) +#include +#include +#endif // BOOST_IS_CONVERTIBLE + +namespace boost { + +#ifndef BOOST_IS_CONVERTIBLE + +// is one type convertible to another? +// +// there are multiple versions of the is_convertible +// template, almost every compiler seems to require its +// own version. +// +// Thanks to Andrei Alexandrescu for the original version of the +// conversion detection technique! +// + +namespace detail { + +#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !(defined(BOOST_GCC) && (BOOST_GCC < 40700)) + + // This is a C++11 conforming version, place this first and use it wherever possible: + +# define BOOST_TT_CXX11_IS_CONVERTIBLE + + template + struct or_helper + { + static const bool value = (A::value || B::value || C::value); + }; + + template, boost::is_function, boost::is_array >::value> + struct is_convertible_basic_impl + { + // Nothing converts to function or array, but void converts to void: + static const bool value = is_void::value; + }; + + template + class is_convertible_basic_impl + { + typedef char one; + typedef int two; + + template + static void test_aux(To1); + + template + static decltype(test_aux(boost::declval()), one()) test(int); + + template + static two test(...); + + public: + static const bool value = sizeof(test(0)) == 1; + }; + +#elif defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x560) +// +// special version for Borland compilers +// this version breaks when used for some +// UDT conversions: +// +template +struct is_convertible_impl +{ +#pragma option push -w-8074 + // This workaround for Borland breaks the EDG C++ frontend, + // so we only use it for Borland. + template struct checker + { + static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); + static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(T); + }; + + static typename add_lvalue_reference::type _m_from; + static bool const value = sizeof( checker::_m_check(_m_from) ) + == sizeof(::boost::type_traits::yes_type); +#pragma option pop +}; + +#elif defined(__GNUC__) || defined(BOOST_BORLANDC) && (BOOST_BORLANDC < 0x600) +// special version for gcc compiler + recent Borland versions +// note that this does not pass UDT's through (...) + +struct any_conversion +{ + template any_conversion(const volatile T&); + template any_conversion(const T&); + template any_conversion(volatile T&); + template any_conversion(T&); +}; + +template struct checker +{ + static boost::type_traits::no_type _m_check(any_conversion ...); + static boost::type_traits::yes_type _m_check(T, int); +}; + +template +struct is_convertible_basic_impl +{ + typedef typename add_lvalue_reference::type lvalue_type; + typedef typename add_rvalue_reference::type rvalue_type; + static lvalue_type _m_from; +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))) + static bool const value = + sizeof( boost::detail::checker::_m_check(static_cast(_m_from), 0) ) + == sizeof(::boost::type_traits::yes_type); +#else + static bool const value = + sizeof( boost::detail::checker::_m_check(_m_from, 0) ) + == sizeof(::boost::type_traits::yes_type); +#endif +}; + +#elif (defined(__EDG_VERSION__) && (__EDG_VERSION__ >= 245) && !defined(__ICL)) \ + || defined(__IBMCPP__) || defined(__HP_aCC) +// +// This is *almost* an ideal world implementation as it doesn't rely +// on undefined behaviour by passing UDT's through (...). +// Unfortunately it doesn't quite pass all the tests for most compilers (sigh...) +// Enable this for your compiler if is_convertible_test.cpp will compile it... +// +// Note we do not enable this for VC7.1, because even though it passes all the +// type_traits tests it is known to cause problems when instantiation occurs +// deep within the instantiation tree :-( +// +struct any_conversion +{ + template any_conversion(const volatile T&); + template any_conversion(const T&); + template any_conversion(volatile T&); + // we need this constructor to catch references to functions + // (which can not be cv-qualified): + template any_conversion(T&); +}; + +template +struct is_convertible_basic_impl +{ + static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...); + static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); + typedef typename add_lvalue_reference::type lvalue_type; + typedef typename add_rvalue_reference::type rvalue_type; + static lvalue_type _m_from; + +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(static_cast(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type) + ); +#else + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) + ); +#endif +}; + +#elif defined(__DMC__) + +struct any_conversion +{ + template any_conversion(const volatile T&); + template any_conversion(const T&); + template any_conversion(volatile T&); + // we need this constructor to catch references to functions + // (which can not be cv-qualified): + template any_conversion(T&); +}; + +template +struct is_convertible_basic_impl +{ + // Using '...' doesn't always work on Digital Mars. This version seems to. + template + static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion, float, T); + static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int, int); + typedef typename add_lvalue_reference::type lvalue_type; + typedef typename add_rvalue_reference::type rvalue_type; + static lvalue_type _m_from; + + // Static constants sometime cause the conversion of _m_from to To to be + // called. This doesn't happen with an enum. +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + enum { value = + sizeof( _m_check(static_cast(_m_from), 0, 0) ) == sizeof(::boost::type_traits::yes_type) + }; +#else + enum { value = + sizeof( _m_check(_m_from, 0, 0) ) == sizeof(::boost::type_traits::yes_type) + }; +#endif +}; + +#elif defined(__MWERKS__) +// +// CW works with the technique implemented above for EDG, except when From +// is a function type (or a reference to such a type), in which case +// any_conversion won't be accepted as a valid conversion. We detect this +// exceptional situation and channel it through an alternative algorithm. +// + +template +struct is_convertible_basic_impl_aux; + +struct any_conversion +{ + template any_conversion(const volatile T&); + template any_conversion(const T&); + template any_conversion(volatile T&); + template any_conversion(T&); +}; + +template +struct is_convertible_basic_impl_aux +{ + static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(any_conversion ...); + static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To, int); + typedef typename add_lvalue_reference::type lvalue_type; + typedef typename add_rvalue_reference::type rvalue_type; + static lvalue_type _m_from; + +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(static_cast(_m_from), 0) ) == sizeof(::boost::type_traits::yes_type) + ); +#else + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(_m_from, 0) ) == sizeof(::boost::type_traits::yes_type) + ); +#endif +}; + +template +struct is_convertible_basic_impl_aux +{ + static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); + static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To); + typedef typename add_lvalue_reference::type lvalue_type; + typedef typename add_rvalue_reference::type rvalue_type; + static lvalue_type _m_from; +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(static_cast(_m_from)) ) == sizeof(::boost::type_traits::yes_type) + ); +#else + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) + ); +#endif +}; + +template +struct is_convertible_basic_impl: + is_convertible_basic_impl_aux< + From,To, + ::boost::is_function::type>::value + > +{}; + +#else +// +// This version seems to work pretty well for a wide spectrum of compilers, +// however it does rely on undefined behaviour by passing UDT's through (...). +// + +//Workaround for old compilers like MSVC 7.1 to avoid +//forming a reference to an array of unknown bound +template +struct is_convertible_basic_impl_add_lvalue_reference + : add_lvalue_reference +{}; + +template +struct is_convertible_basic_impl_add_lvalue_reference +{ + typedef From type []; +}; + +template +struct is_convertible_basic_impl +{ + static ::boost::type_traits::no_type BOOST_TT_DECL _m_check(...); + static ::boost::type_traits::yes_type BOOST_TT_DECL _m_check(To); + typedef typename is_convertible_basic_impl_add_lvalue_reference::type lvalue_type; + static lvalue_type _m_from; +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4244) +#if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000) +#pragma warning(disable:6334) +#endif +#endif +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + typedef typename add_rvalue_reference::type rvalue_type; + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(static_cast(_m_from)) ) == sizeof(::boost::type_traits::yes_type) + ); +#else + BOOST_STATIC_CONSTANT(bool, value = + sizeof( _m_check(_m_from) ) == sizeof(::boost::type_traits::yes_type) + ); +#endif +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif +}; + +#endif // is_convertible_impl + +#if defined(__DMC__) +// As before, a static constant sometimes causes errors on Digital Mars. +template +struct is_convertible_impl +{ + enum { + value = ( ::boost::detail::is_convertible_basic_impl::value && ! ::boost::is_array::value && ! ::boost::is_function::value) + }; +}; +#elif !defined(BOOST_BORLANDC) || BOOST_BORLANDC > 0x551 +template +struct is_convertible_impl +{ + BOOST_STATIC_CONSTANT(bool, value = ( ::boost::detail::is_convertible_basic_impl::value && !::boost::is_array::value && !::boost::is_function::value)); +}; +#endif + +template +struct is_convertible_impl_select +{ + template + struct rebind + { + typedef is_convertible_impl type; + }; +}; + +template <> +struct is_convertible_impl_select +{ + template + struct rebind + { + typedef true_type type; + }; +}; + +template <> +struct is_convertible_impl_select +{ + template + struct rebind + { + typedef false_type type; + }; +}; + +template <> +struct is_convertible_impl_select +{ + template + struct rebind + { + typedef false_type type; + }; +}; + +template +struct is_convertible_impl_dispatch_base +{ +#if !BOOST_WORKAROUND(__HP_aCC, < 60700) + typedef is_convertible_impl_select< + ::boost::is_arithmetic::value, + ::boost::is_arithmetic::value, +#if !defined(BOOST_NO_IS_ABSTRACT) && !defined(BOOST_TT_CXX11_IS_CONVERTIBLE) + // We need to filter out abstract types, only if we don't have a strictly conforming C++11 version: + ::boost::is_abstract::value +#else + false +#endif + > selector; +#else + typedef is_convertible_impl_select selector; +#endif + typedef typename selector::template rebind isc_binder; + typedef typename isc_binder::type type; +}; + +template +struct is_convertible_impl_dispatch + : public is_convertible_impl_dispatch_base::type +{}; + +// +// Now add the full and partial specialisations +// for void types, these are common to all the +// implementation above: +// +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS + +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; + +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; + +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; + +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; +template <> struct is_convertible_impl_dispatch : public true_type{}; + +#else +template <> struct is_convertible_impl_dispatch : public true_type{}; +#endif // BOOST_NO_CV_VOID_SPECIALIZATIONS + +template struct is_convertible_impl_dispatch : public false_type{}; +template struct is_convertible_impl_dispatch : public false_type{}; + +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS +template struct is_convertible_impl_dispatch : public false_type{}; +template struct is_convertible_impl_dispatch : public false_type{}; +template struct is_convertible_impl_dispatch : public false_type{}; +template struct is_convertible_impl_dispatch : public false_type{}; +template struct is_convertible_impl_dispatch : public false_type{}; +template struct is_convertible_impl_dispatch : public false_type{}; +#endif + +} // namespace detail + +template +struct is_convertible : public integral_constant::value> +{ + BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "Destination argument type to is_convertible must be a complete type"); + BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "From argument type to is_convertible must be a complete type"); +}; + +#else + +template +struct is_convertible : public integral_constant +{ +#if defined(BOOST_MSVC) + BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value || boost::is_reference::value, "From argument type to is_convertible must be a complete type"); +#endif +#if defined(__clang__) + // clang's intrinsic doesn't assert on incomplete types: + BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "Destination argument type to is_convertible must be a complete type"); + BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value, "From argument type to is_convertible must be a complete type"); +#endif +}; + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_CONVERTIBLE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_copy_constructible.hpp b/external/include/boost_1_90_0/boost/type_traits/is_copy_constructible.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_copy_constructible.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_copy_constructible.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_default_constructible.hpp b/external/include/boost_1_90_0/boost/type_traits/is_default_constructible.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_default_constructible.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_default_constructible.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_destructible.hpp b/external/include/boost_1_90_0/boost/type_traits/is_destructible.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_destructible.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_destructible.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_enum.hpp b/external/include/boost_1_90_0/boost/type_traits/is_enum.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/is_enum.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_enum.hpp index d23baa1145..b639cd9062 100644 --- a/external/include/boost_1_75/boost/type_traits/is_enum.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_enum.hpp @@ -1,166 +1,166 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED -#define BOOST_TT_IS_ENUM_HPP_INCLUDED - -#include -#include -#ifndef BOOST_IS_ENUM -#include -#include -#include -#include -#include -#ifdef __GNUC__ -#include -#endif -#include -#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) -# include -# include -#endif -#endif - -namespace boost { - -#ifndef BOOST_IS_ENUM -#if !(defined(BOOST_BORLANDC) && (BOOST_BORLANDC <= 0x551)) - -namespace detail { - -#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) - -template -struct is_class_or_union -{ - BOOST_STATIC_CONSTANT(bool, value = ::boost::is_class::value || ::boost::is_union::value); -}; - -#else - -template -struct is_class_or_union -{ -# if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581))// we simply can't detect it this way. - BOOST_STATIC_CONSTANT(bool, value = false); -# else - template static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void)); - -# if BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE - static ::boost::type_traits::no_type is_class_or_union_tester(...); - BOOST_STATIC_CONSTANT( - bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type)); -# else - template - static ::boost::type_traits::no_type is_class_or_union_tester(...); - BOOST_STATIC_CONSTANT( - bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type)); -# endif -# endif -}; -#endif - -struct int_convertible -{ - int_convertible(int); -}; - -// Don't evaluate convertibility to int_convertible unless the type -// is non-arithmetic. This suppresses warnings with GCC. -template -struct is_enum_helper -{ - template struct type - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}; - -template <> -struct is_enum_helper -{ - template struct type - { - static const bool value = ::boost::is_convertible::type, ::boost::detail::int_convertible>::value; - }; -}; - -template struct is_enum_impl -{ - //typedef ::boost::add_reference ar_t; - //typedef typename ar_t::type r_type; - -#if defined(__GNUC__) - -#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION - - // We MUST check for is_class_or_union on conforming compilers in - // order to correctly deduce that noncopyable types are not enums - // (dwa 2002/04/15)... - BOOST_STATIC_CONSTANT(bool, selector = - ::boost::is_arithmetic::value - || ::boost::is_reference::value - || ::boost::is_function::value - || is_class_or_union::value - || is_array::value); -#else - // ...however, not checking is_class_or_union on non-conforming - // compilers prevents a dependency recursion. - BOOST_STATIC_CONSTANT(bool, selector = - ::boost::is_arithmetic::value - || ::boost::is_reference::value - || ::boost::is_function::value - || is_array::value); -#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION - -#else // !defined(__GNUC__): - - BOOST_STATIC_CONSTANT(bool, selector = - ::boost::is_arithmetic::value - || ::boost::is_reference::value - || is_class_or_union::value - || is_array::value); - -#endif - -#if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) - typedef ::boost::detail::is_enum_helper< - ::boost::detail::is_enum_impl::selector - > se_t; -#else - typedef ::boost::detail::is_enum_helper se_t; -#endif - - typedef typename se_t::template type helper; - BOOST_STATIC_CONSTANT(bool, value = helper::value); -}; - -} // namespace detail - -template struct is_enum : public integral_constant::value> {}; - -#else // BOOST_BORLANDC -// -// buggy is_convertible prevents working -// implementation of is_enum: -template struct is_enum : public integral_constant {}; - -#endif - -#else // BOOST_IS_ENUM - -template struct is_enum : public integral_constant {}; - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_IS_ENUM_HPP_INCLUDED +#define BOOST_TT_IS_ENUM_HPP_INCLUDED + +#include +#include +#ifndef BOOST_IS_ENUM +#include +#include +#include +#include +#include +#ifdef __GNUC__ +#include +#endif +#include +#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) +# include +# include +#endif +#endif + +namespace boost { + +#ifndef BOOST_IS_ENUM +#if !(defined(BOOST_BORLANDC) && (BOOST_BORLANDC <= 0x551)) + +namespace detail { + +#if defined(BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION) + +template +struct is_class_or_union +{ + BOOST_STATIC_CONSTANT(bool, value = ::boost::is_class::value || ::boost::is_union::value); +}; + +#else + +template +struct is_class_or_union +{ +# if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581))// we simply can't detect it this way. + BOOST_STATIC_CONSTANT(bool, value = false); +# else + template static ::boost::type_traits::yes_type is_class_or_union_tester(void(U::*)(void)); + +# if BOOST_WORKAROUND(__MWERKS__, <= 0x3000) // no SFINAE + static ::boost::type_traits::no_type is_class_or_union_tester(...); + BOOST_STATIC_CONSTANT( + bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type)); +# else + template + static ::boost::type_traits::no_type is_class_or_union_tester(...); + BOOST_STATIC_CONSTANT( + bool, value = sizeof(is_class_or_union_tester(0)) == sizeof(::boost::type_traits::yes_type)); +# endif +# endif +}; +#endif + +struct int_convertible +{ + int_convertible(int); +}; + +// Don't evaluate convertibility to int_convertible unless the type +// is non-arithmetic. This suppresses warnings with GCC. +template +struct is_enum_helper +{ + template struct type + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template <> +struct is_enum_helper +{ + template struct type + { + static const bool value = ::boost::is_convertible::type, ::boost::detail::int_convertible>::value; + }; +}; + +template struct is_enum_impl +{ + //typedef ::boost::add_reference ar_t; + //typedef typename ar_t::type r_type; + +#if defined(__GNUC__) + +#ifdef BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION + + // We MUST check for is_class_or_union on conforming compilers in + // order to correctly deduce that noncopyable types are not enums + // (dwa 2002/04/15)... + BOOST_STATIC_CONSTANT(bool, selector = + ::boost::is_arithmetic::value + || ::boost::is_reference::value + || ::boost::is_function::value + || is_class_or_union::value + || is_array::value); +#else + // ...however, not checking is_class_or_union on non-conforming + // compilers prevents a dependency recursion. + BOOST_STATIC_CONSTANT(bool, selector = + ::boost::is_arithmetic::value + || ::boost::is_reference::value + || ::boost::is_function::value + || is_array::value); +#endif // BOOST_TT_HAS_CONFORMING_IS_CLASS_IMPLEMENTATION + +#else // !defined(__GNUC__): + + BOOST_STATIC_CONSTANT(bool, selector = + ::boost::is_arithmetic::value + || ::boost::is_reference::value + || is_class_or_union::value + || is_array::value); + +#endif + +#if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) + typedef ::boost::detail::is_enum_helper< + ::boost::detail::is_enum_impl::selector + > se_t; +#else + typedef ::boost::detail::is_enum_helper se_t; +#endif + + typedef typename se_t::template type helper; + BOOST_STATIC_CONSTANT(bool, value = helper::value); +}; + +} // namespace detail + +template struct is_enum : public integral_constant::value> {}; + +#else // BOOST_BORLANDC +// +// buggy is_convertible prevents working +// implementation of is_enum: +template struct is_enum : public integral_constant {}; + +#endif + +#else // BOOST_IS_ENUM + +template struct is_enum : public integral_constant {}; + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_ENUM_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/is_floating_point.hpp b/external/include/boost_1_90_0/boost/type_traits/is_floating_point.hpp new file mode 100644 index 0000000000..104491af63 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/is_floating_point.hpp @@ -0,0 +1,52 @@ +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000-2005. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED +#define BOOST_TYPE_TRAITS_IS_FLOATING_HPP_INCLUDED + +#include + +#ifndef BOOST_NO_CXX23_HDR_STDFLOAT +#include +#endif + +namespace boost { + +//* is a type T a floating-point type described in the standard (3.9.1p8) + template struct is_floating_point : public false_type{}; + template struct is_floating_point : public is_floating_point{}; + template struct is_floating_point : public is_floating_point{}; + template struct is_floating_point : public is_floating_point{}; + template<> struct is_floating_point : public true_type{}; + template<> struct is_floating_point : public true_type{}; + template<> struct is_floating_point : public true_type{}; + +#if defined(BOOST_HAS_FLOAT128) + template<> struct is_floating_point<__float128> : public true_type{}; +#endif + +#ifndef BOOST_NO_CXX23_HDR_STDFLOAT +#if defined(__STDCPP_FLOAT16_T__) + template<> struct is_floating_point : public true_type {}; +#endif +#if defined(__STDCPP_FLOAT32_T__) + template<> struct is_floating_point : public true_type {}; +#endif +#if defined(__STDCPP_FLOAT64_T__) + template<> struct is_floating_point : public true_type {}; +#endif +#if defined(__STDCPP_FLOAT128_T__) + template<> struct is_floating_point : public true_type {}; +#endif +#if defined(__STDCPP_BFLOAT16_T__) + template<> struct is_floating_point : public true_type {}; +#endif +#endif + +} // namespace boost + +#endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_function.hpp b/external/include/boost_1_90_0/boost/type_traits/is_function.hpp similarity index 91% rename from external/include/boost_1_75/boost/type_traits/is_function.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_function.hpp index 8556235a43..3a2522c340 100644 --- a/external/include/boost_1_75/boost/type_traits/is_function.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_function.hpp @@ -1,27 +1,27 @@ - -// Copyright 2000 John Maddock (john@johnmaddock.co.uk) -// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) -// -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED -#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED - -#include -#include - -#ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION - -#include - -#else - -#include - -#endif - -#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED + +// Copyright 2000 John Maddock (john@johnmaddock.co.uk) +// Copyright 2002 Aleksey Gurtovoy (agurtovoy@meta-comm.com) +// +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED +#define BOOST_TT_IS_FUNCTION_HPP_INCLUDED + +#include +#include + +#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION + +#include + +#else + +#include + +#endif + +#endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_integral.hpp b/external/include/boost_1_90_0/boost/type_traits/is_integral.hpp similarity index 94% rename from external/include/boost_1_75/boost/type_traits/is_integral.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_integral.hpp index 6c6e239c31..d7af1859f8 100644 --- a/external/include/boost_1_75/boost/type_traits/is_integral.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_integral.hpp @@ -1,89 +1,92 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED -#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED - -#include -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) - template - struct is_integral : public integral_constant {}; -#else - -template struct is_integral : public false_type {}; -template struct is_integral : public is_integral {}; -template struct is_integral : public is_integral{}; -template struct is_integral : public is_integral{}; - -//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3) -// as an extension we include long long, as this is likely to be added to the -// standard at a later date -template<> struct is_integral : public true_type {}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; - -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; - -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; - -#ifndef BOOST_NO_INTRINSIC_WCHAR_T -// If the following line fails to compile and you're using the Intel -// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php, -// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line. -template<> struct is_integral : public true_type{}; -#endif - -// Same set of integral types as in boost/type_traits/integral_promotion.hpp. -// Please, keep in sync. -- Alexander Nasonov -#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ - || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER < 1300)) -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -template<> struct is_integral<__int8> : public true_type{}; -template<> struct is_integral<__int16> : public true_type{}; -template<> struct is_integral<__int32> : public true_type{}; -#ifdef BOOST_BORLANDC -template<> struct is_integral : public true_type{}; -template<> struct is_integral<__int64> : public true_type{}; -#endif -#endif - -# if defined(BOOST_HAS_LONG_LONG) -template<> struct is_integral< ::boost::ulong_long_type> : public true_type{}; -template<> struct is_integral< ::boost::long_long_type> : public true_type{}; -#elif defined(BOOST_HAS_MS_INT64) -template<> struct is_integral : public true_type{}; -template<> struct is_integral<__int64> : public true_type{}; -#endif - -#ifdef BOOST_HAS_INT128 -template<> struct is_integral : public true_type{}; -template<> struct is_integral : public true_type{}; -#endif -#ifndef BOOST_NO_CXX11_CHAR16_T -template<> struct is_integral : public true_type{}; -#endif -#ifndef BOOST_NO_CXX11_CHAR32_T -template<> struct is_integral : public true_type{}; -#endif - -#endif // non-CodeGear implementation - -} // namespace boost - -#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_INTEGRAL_HPP_INCLUDED +#define BOOST_TT_IS_INTEGRAL_HPP_INCLUDED + +#include +#include + +namespace boost { + +#if defined( BOOST_CODEGEARC ) + template + struct is_integral : public integral_constant {}; +#else + +template struct is_integral : public false_type {}; +template struct is_integral : public is_integral {}; +template struct is_integral : public is_integral{}; +template struct is_integral : public is_integral{}; + +//* is a type T an [cv-qualified-] integral type described in the standard (3.9.1p3) +// as an extension we include long long, as this is likely to be added to the +// standard at a later date +template<> struct is_integral : public true_type {}; +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; + +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; + +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +// If the following line fails to compile and you're using the Intel +// compiler, see http://lists.boost.org/MailArchives/boost-users/msg06567.php, +// and define BOOST_NO_INTRINSIC_WCHAR_T on the command line. +template<> struct is_integral : public true_type{}; +#endif + +// Same set of integral types as in boost/type_traits/integral_promotion.hpp. +// Please, keep in sync. -- Alexander Nasonov +#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \ + || (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER < 1300)) +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; +template<> struct is_integral<__int8> : public true_type{}; +template<> struct is_integral<__int16> : public true_type{}; +template<> struct is_integral<__int32> : public true_type{}; +#ifdef BOOST_BORLANDC +template<> struct is_integral : public true_type{}; +template<> struct is_integral<__int64> : public true_type{}; +#endif +#endif + +# if defined(BOOST_HAS_LONG_LONG) +template<> struct is_integral< ::boost::ulong_long_type> : public true_type{}; +template<> struct is_integral< ::boost::long_long_type> : public true_type{}; +#elif defined(BOOST_HAS_MS_INT64) +template<> struct is_integral : public true_type{}; +template<> struct is_integral<__int64> : public true_type{}; +#endif + +#ifdef BOOST_HAS_INT128 +template<> struct is_integral : public true_type{}; +template<> struct is_integral : public true_type{}; +#endif +#ifndef BOOST_NO_CXX11_CHAR16_T +template<> struct is_integral : public true_type{}; +#endif +#ifndef BOOST_NO_CXX11_CHAR32_T +template<> struct is_integral : public true_type{}; +#endif +#if defined(__cpp_char8_t) && __cpp_char8_t >= 201811L +template<> struct is_integral : public true_type{}; +#endif + +#endif // non-CodeGear implementation + +} // namespace boost + +#endif // BOOST_TT_IS_INTEGRAL_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_lvalue_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/is_lvalue_reference.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_lvalue_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_lvalue_reference.hpp index 553cb9f4e7..bbab4597ac 100644 --- a/external/include/boost_1_75/boost/type_traits/is_lvalue_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_lvalue_reference.hpp @@ -1,50 +1,50 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_lvalue_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED -#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED - -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) - template struct is_lvalue_reference : public integral_constant{}; -#else - - template struct is_lvalue_reference : public false_type{}; - template struct is_lvalue_reference : public true_type{}; - -#if defined(BOOST_ILLEGAL_CV_REFERENCES) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... - template struct is_lvalue_reference : public true_type{}; - template struct is_lvalue_reference : public true_type{}; - template struct is_lvalue_reference : public true_type{}; -#endif - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +// Fixed is_pointer, is_lvalue_reference, is_const, is_volatile, is_same, +// is_member_pointer based on the Simulated Partial Specialization work +// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or +// http://groups.yahoo.com/group/boost/message/5441 +// Some workarounds in here use ideas suggested from "Generic: +// Mappings between Types and Values" +// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). + + +#ifndef BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED +#define BOOST_TT_IS_LVALUE_REFERENCE_HPP_INCLUDED + +#include + +namespace boost { + +#if defined( BOOST_CODEGEARC ) + template struct is_lvalue_reference : public integral_constant{}; +#else + + template struct is_lvalue_reference : public false_type{}; + template struct is_lvalue_reference : public true_type{}; + +#if defined(BOOST_ILLEGAL_CV_REFERENCES) +// these are illegal specialisations; cv-qualifies applied to +// references have no effect according to [8.3.2p1], +// C++ Builder requires them though as it treats cv-qualified +// references as distinct types... + template struct is_lvalue_reference : public true_type{}; + template struct is_lvalue_reference : public true_type{}; + template struct is_lvalue_reference : public true_type{}; +#endif + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED + diff --git a/external/include/boost_1_90_0/boost/type_traits/is_member_function_pointer.hpp b/external/include/boost_1_90_0/boost/type_traits/is_member_function_pointer.hpp new file mode 100644 index 0000000000..3dd0106728 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/is_member_function_pointer.hpp @@ -0,0 +1,26 @@ + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED +#define BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED + +#include + +#ifdef BOOST_TT_HAS_ACCURATE_IS_FUNCTION + +#include + +#else + +#include + +#endif + +#endif // BOOST_TT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_member_object_pointer.hpp b/external/include/boost_1_90_0/boost/type_traits/is_member_object_pointer.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_member_object_pointer.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_member_object_pointer.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_member_pointer.hpp b/external/include/boost_1_90_0/boost/type_traits/is_member_pointer.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_member_pointer.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_member_pointer.hpp index 2078f15b86..d026112fba 100644 --- a/external/include/boost_1_75/boost/type_traits/is_member_pointer.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_member_pointer.hpp @@ -1,45 +1,45 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED -#define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED - -#include -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) -template struct is_member_pointer : public integral_constant{}; -#else -template struct is_member_pointer : public integral_constant::value>{}; -template struct is_member_pointer : public true_type{}; - -#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600) -template struct is_member_pointer : public true_type{}; -template struct is_member_pointer : public true_type{}; -template struct is_member_pointer : public true_type{}; -#endif - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, +// is_member_pointer based on the Simulated Partial Specialization work +// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or +// http://groups.yahoo.com/group/boost/message/5441 +// Some workarounds in here use ideas suggested from "Generic: +// Mappings between Types and Values" +// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). + + +#ifndef BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED +#define BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED + +#include +#include + +namespace boost { + +#if defined( BOOST_CODEGEARC ) +template struct is_member_pointer : public integral_constant{}; +#else +template struct is_member_pointer : public integral_constant::value>{}; +template struct is_member_pointer : public true_type{}; + +#if !BOOST_WORKAROUND(__MWERKS__,<=0x3003) && !BOOST_WORKAROUND(__IBMCPP__, <=600) +template struct is_member_pointer : public true_type{}; +template struct is_member_pointer : public true_type{}; +template struct is_member_pointer : public true_type{}; +#endif + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_MEMBER_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_noncopyable.hpp b/external/include/boost_1_90_0/boost/type_traits/is_noncopyable.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_noncopyable.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_noncopyable.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_nothrow_move_assignable.hpp b/external/include/boost_1_90_0/boost/type_traits/is_nothrow_move_assignable.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_nothrow_move_assignable.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_nothrow_move_assignable.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_nothrow_move_constructible.hpp b/external/include/boost_1_90_0/boost/type_traits/is_nothrow_move_constructible.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/is_nothrow_move_constructible.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_nothrow_move_constructible.hpp diff --git a/external/include/boost_1_75/boost/type_traits/is_pod.hpp b/external/include/boost_1_90_0/boost/type_traits/is_pod.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/is_pod.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_pod.hpp index 9bd196257a..0ba0c56703 100644 --- a/external/include/boost_1_75/boost/type_traits/is_pod.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_pod.hpp @@ -1,59 +1,59 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_POD_HPP_INCLUDED -#define BOOST_TT_IS_POD_HPP_INCLUDED - -#include // size_t -#include -#include -#include -#include - -#ifdef __SUNPRO_CC -#include -#endif - -#include - -#ifndef BOOST_IS_POD -#define BOOST_INTERNAL_IS_POD(T) false -#else -#define BOOST_INTERNAL_IS_POD(T) BOOST_IS_POD(T) -#endif - -namespace boost { - -// forward declaration, needed by 'is_pod_array_helper' template below -template< typename T > struct is_POD; - -template struct is_pod -: public integral_constant::value || ::boost::is_void::value || BOOST_INTERNAL_IS_POD(T)> -{}; - -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -template struct is_pod : public is_pod{}; -#endif - - -// the following help compilers without partial specialization support: -template<> struct is_pod : public true_type{}; - -#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS -template<> struct is_pod : public true_type{}; -template<> struct is_pod : public true_type{}; -template<> struct is_pod : public true_type{}; -#endif - -template struct is_POD : public is_pod{}; - -} // namespace boost - -#undef BOOST_INTERNAL_IS_POD - -#endif // BOOST_TT_IS_POD_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_POD_HPP_INCLUDED +#define BOOST_TT_IS_POD_HPP_INCLUDED + +#include // size_t +#include +#include +#include +#include + +#ifdef __SUNPRO_CC +#include +#endif + +#include + +#ifndef BOOST_IS_POD +#define BOOST_INTERNAL_IS_POD(T) false +#else +#define BOOST_INTERNAL_IS_POD(T) BOOST_IS_POD(T) +#endif + +namespace boost { + +// forward declaration, needed by 'is_pod_array_helper' template below +template< typename T > struct is_POD; + +template struct is_pod +: public integral_constant::value || ::boost::is_void::value || BOOST_INTERNAL_IS_POD(T)> +{}; + +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +template struct is_pod : public is_pod{}; +#endif + + +// the following help compilers without partial specialization support: +template<> struct is_pod : public true_type{}; + +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS +template<> struct is_pod : public true_type{}; +template<> struct is_pod : public true_type{}; +template<> struct is_pod : public true_type{}; +#endif + +template struct is_POD : public is_pod{}; + +} // namespace boost + +#undef BOOST_INTERNAL_IS_POD + +#endif // BOOST_TT_IS_POD_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_pointer.hpp b/external/include/boost_1_90_0/boost/type_traits/is_pointer.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_pointer.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_pointer.hpp index 632c3c8883..b6e844c9e9 100644 --- a/external/include/boost_1_75/boost/type_traits/is_pointer.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_pointer.hpp @@ -1,47 +1,47 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_POINTER_HPP_INCLUDED -#define BOOST_TT_IS_POINTER_HPP_INCLUDED - -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) -template struct is_pointer : public integral_constant{}; -#else -template struct is_pointer : public false_type{}; -template struct is_pointer : public true_type{}; -template struct is_pointer : public true_type{}; -template struct is_pointer : public true_type{}; -template struct is_pointer : public true_type{}; - -#ifdef BOOST_MSVC -template struct is_pointer : public is_pointer{}; -template struct is_pointer : public is_pointer{}; -template struct is_pointer : public is_pointer{}; -#endif - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, +// is_member_pointer based on the Simulated Partial Specialization work +// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or +// http://groups.yahoo.com/group/boost/message/5441 +// Some workarounds in here use ideas suggested from "Generic: +// Mappings between Types and Values" +// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). + + +#ifndef BOOST_TT_IS_POINTER_HPP_INCLUDED +#define BOOST_TT_IS_POINTER_HPP_INCLUDED + +#include + +namespace boost { + +#if defined( BOOST_CODEGEARC ) +template struct is_pointer : public integral_constant{}; +#else +template struct is_pointer : public false_type{}; +template struct is_pointer : public true_type{}; +template struct is_pointer : public true_type{}; +template struct is_pointer : public true_type{}; +template struct is_pointer : public true_type{}; + +#ifdef BOOST_MSVC +template struct is_pointer : public is_pointer{}; +template struct is_pointer : public is_pointer{}; +template struct is_pointer : public is_pointer{}; +#endif + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_POINTER_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_polymorphic.hpp b/external/include/boost_1_90_0/boost/type_traits/is_polymorphic.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/is_polymorphic.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_polymorphic.hpp index 722d8b46b2..a8386929c6 100644 --- a/external/include/boost_1_75/boost/type_traits/is_polymorphic.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_polymorphic.hpp @@ -1,122 +1,122 @@ -// (C) Copyright John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_POLYMORPHIC_HPP -#define BOOST_TT_IS_POLYMORPHIC_HPP - -#include -#include -#ifndef BOOST_IS_POLYMORPHIC -#include -#endif -#include - -#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700) -#pragma warning(push) -#pragma warning(disable:4250) -#endif - -namespace boost{ - -#ifndef BOOST_IS_POLYMORPHIC - -namespace detail{ - -template -struct is_polymorphic_imp1 -{ -# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always. - typedef char d1, (&d2)[2]; -# else - struct d1 : public T - { - d1(); -# if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC - ~d1()throw(); -# endif - char padding[256]; - private: - // keep some picky compilers happy: - d1(const d1&); - d1& operator=(const d1&); - }; - struct d2 : public T - { - d2(); - virtual ~d2()throw(); -# if !defined(BOOST_MSVC) && !defined(__ICL) - // for some reason this messes up VC++ when T has virtual bases, - // probably likewise for compilers that use the same ABI: - struct unique{}; - virtual void unique_name_to_boost5487629(unique*); -# endif - char padding[256]; - private: - // keep some picky compilers happy: - d2(const d2&); - d2& operator=(const d2&); - }; -# endif - BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1))); -}; - -template struct is_polymorphic_imp1 : public is_polymorphic_imp1{}; -template struct is_polymorphic_imp1 : public is_polymorphic_imp1{}; -template struct is_polymorphic_imp1 : public is_polymorphic_imp1{}; - -template -struct is_polymorphic_imp2 -{ - BOOST_STATIC_CONSTANT(bool, value = false); -}; - -template -struct is_polymorphic_selector -{ - template - struct rebind - { - typedef is_polymorphic_imp2 type; - }; -}; - -template <> -struct is_polymorphic_selector -{ - template - struct rebind - { - typedef is_polymorphic_imp1 type; - }; -}; - -template -struct is_polymorphic_imp -{ - typedef is_polymorphic_selector< ::boost::is_class::value> selector; - typedef typename selector::template rebind binder; - typedef typename binder::type imp_type; - BOOST_STATIC_CONSTANT(bool, value = imp_type::value); -}; - -} // namespace detail - -template struct is_polymorphic : public integral_constant::value> {}; - -#else // BOOST_IS_POLYMORPHIC - -template struct is_polymorphic : public integral_constant {}; - -#endif - -} // namespace boost - -#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700) -#pragma warning(pop) -#endif - -#endif +// (C) Copyright John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_POLYMORPHIC_HPP +#define BOOST_TT_IS_POLYMORPHIC_HPP + +#include +#include +#ifndef BOOST_IS_POLYMORPHIC +#include +#endif +#include + +#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700) +#pragma warning(push) +#pragma warning(disable:4250) +#endif + +namespace boost{ + +#ifndef BOOST_IS_POLYMORPHIC + +namespace detail{ + +template +struct is_polymorphic_imp1 +{ +# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) // CWPro7 should return false always. + typedef char d1, (&d2)[2]; +# else + struct d1 : public T + { + d1(); +# if !defined(__GNUC__) // this raises warnings with some classes, and buys nothing with GCC + ~d1()throw(); +# endif + char padding[256]; + private: + // keep some picky compilers happy: + d1(const d1&); + d1& operator=(const d1&); + }; + struct d2 : public T + { + d2(); + virtual ~d2()throw(); +# if !defined(BOOST_MSVC) && !defined(__ICL) + // for some reason this messes up VC++ when T has virtual bases, + // probably likewise for compilers that use the same ABI: + struct unique{}; + virtual void unique_name_to_boost5487629(unique*); +# endif + char padding[256]; + private: + // keep some picky compilers happy: + d2(const d2&); + d2& operator=(const d2&); + }; +# endif + BOOST_STATIC_CONSTANT(bool, value = (sizeof(d2) == sizeof(d1))); +}; + +template struct is_polymorphic_imp1 : public is_polymorphic_imp1{}; +template struct is_polymorphic_imp1 : public is_polymorphic_imp1{}; +template struct is_polymorphic_imp1 : public is_polymorphic_imp1{}; + +template +struct is_polymorphic_imp2 +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template +struct is_polymorphic_selector +{ + template + struct rebind + { + typedef is_polymorphic_imp2 type; + }; +}; + +template <> +struct is_polymorphic_selector +{ + template + struct rebind + { + typedef is_polymorphic_imp1 type; + }; +}; + +template +struct is_polymorphic_imp +{ + typedef is_polymorphic_selector< ::boost::is_class::value> selector; + typedef typename selector::template rebind binder; + typedef typename binder::type imp_type; + BOOST_STATIC_CONSTANT(bool, value = imp_type::value); +}; + +} // namespace detail + +template struct is_polymorphic : public integral_constant::value> {}; + +#else // BOOST_IS_POLYMORPHIC + +template struct is_polymorphic : public integral_constant {}; + +#endif + +} // namespace boost + +#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1700) +#pragma warning(pop) +#endif + +#endif diff --git a/external/include/boost_1_75/boost/type_traits/is_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/is_reference.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/is_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_reference.hpp index 85f0a63204..22f94f8e78 100644 --- a/external/include/boost_1_75/boost/type_traits/is_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_reference.hpp @@ -1,30 +1,30 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000, 2010. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED -#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - -template struct is_reference - : public - integral_constant< - bool, - ::boost::is_lvalue_reference::value || ::boost::is_rvalue_reference::value> -{}; - -} // namespace boost - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000, 2010. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED +#define BOOST_TT_IS_REFERENCE_HPP_INCLUDED + +#include +#include + +namespace boost { + +template struct is_reference + : public + integral_constant< + bool, + ::boost::is_lvalue_reference::value || ::boost::is_rvalue_reference::value> +{}; + +} // namespace boost + +#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/is_rvalue_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/is_rvalue_reference.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_rvalue_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_rvalue_reference.hpp index 37d33c95a4..7486b39dcb 100644 --- a/external/include/boost_1_75/boost/type_traits/is_rvalue_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_rvalue_reference.hpp @@ -1,29 +1,29 @@ - -// (C) Copyright John Maddock 2010. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED -#define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - -template struct is_rvalue_reference : public false_type {}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template struct is_rvalue_reference : public true_type {}; -#endif - -} // namespace boost - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700) -#include -#endif - -#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED - + +// (C) Copyright John Maddock 2010. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED +#define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED + +#include +#include + +namespace boost { + +template struct is_rvalue_reference : public false_type {}; +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template struct is_rvalue_reference : public true_type {}; +#endif + +} // namespace boost + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, <= 1700) +#include +#endif + +#endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED + diff --git a/external/include/boost_1_90_0/boost/type_traits/is_same.hpp b/external/include/boost_1_90_0/boost/type_traits/is_same.hpp new file mode 100644 index 0000000000..aa87b13531 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/is_same.hpp @@ -0,0 +1,41 @@ + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, +// is_member_pointer based on the Simulated Partial Specialization work +// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or +// http://groups.yahoo.com/group/boost/message/5441 +// Some workarounds in here use ideas suggested from "Generic: +// Mappings between Types and Values" +// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). + + +#ifndef BOOST_TT_IS_SAME_HPP_INCLUDED +#define BOOST_TT_IS_SAME_HPP_INCLUDED + +#include + +namespace boost { + + + template struct is_same : public false_type {}; + template struct is_same : public true_type {}; +#if BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) +// without this, Borland's compiler gives the wrong answer for +// references to arrays: + template struct is_same : public true_type{}; +#endif + + +} // namespace boost + +#endif // BOOST_TT_IS_SAME_HPP_INCLUDED + diff --git a/external/include/boost_1_75/boost/type_traits/is_scalar.hpp b/external/include/boost_1_90_0/boost/type_traits/is_scalar.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_scalar.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_scalar.hpp index 3031440596..4db8740136 100644 --- a/external/include/boost_1_75/boost/type_traits/is_scalar.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_scalar.hpp @@ -1,27 +1,27 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED -#define BOOST_TT_IS_SCALAR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { - -template -struct is_scalar - : public integral_constant::value || ::boost::is_enum::value || ::boost::is_pointer::value || ::boost::is_member_pointer::value> -{}; - -} // namespace boost - -#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED +#define BOOST_TT_IS_SCALAR_HPP_INCLUDED + +#include +#include +#include +#include +#include + +namespace boost { + +template +struct is_scalar + : public integral_constant::value || ::boost::is_enum::value || ::boost::is_pointer::value || ::boost::is_member_pointer::value> +{}; + +} // namespace boost + +#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_union.hpp b/external/include/boost_1_90_0/boost/type_traits/is_union.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_union.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_union.hpp index c5e1a96019..8518ad0c21 100644 --- a/external/include/boost_1_75/boost/type_traits/is_union.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_union.hpp @@ -1,31 +1,31 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED -#define BOOST_TT_IS_UNION_HPP_INCLUDED - -#include -#include - -namespace boost { - -#ifdef BOOST_IS_UNION -template struct is_union : public integral_constant {}; -#else -template struct is_union : public integral_constant {}; -#endif - -template struct is_union : public is_union{}; -template struct is_union : public is_union{}; -template struct is_union : public is_union{}; - -} // namespace boost - -#endif // BOOST_TT_IS_UNION_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_IS_UNION_HPP_INCLUDED +#define BOOST_TT_IS_UNION_HPP_INCLUDED + +#include +#include + +namespace boost { + +#ifdef BOOST_IS_UNION +template struct is_union : public integral_constant {}; +#else +template struct is_union : public integral_constant {}; +#endif + +template struct is_union : public is_union{}; +template struct is_union : public is_union{}; +template struct is_union : public is_union{}; + +} // namespace boost + +#endif // BOOST_TT_IS_UNION_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_void.hpp b/external/include/boost_1_90_0/boost/type_traits/is_void.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_void.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_void.hpp index 183f8abf56..0a3c3d3594 100644 --- a/external/include/boost_1_75/boost/type_traits/is_void.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_void.hpp @@ -1,26 +1,26 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED -#define BOOST_TT_IS_VOID_HPP_INCLUDED - -#include - -namespace boost { - -template -struct is_void : public false_type {}; - -template<> struct is_void : public true_type {}; -template<> struct is_void : public true_type{}; -template<> struct is_void : public true_type{}; -template<> struct is_void : public true_type{}; - -} // namespace boost - -#endif // BOOST_TT_IS_VOID_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_IS_VOID_HPP_INCLUDED +#define BOOST_TT_IS_VOID_HPP_INCLUDED + +#include + +namespace boost { + +template +struct is_void : public false_type {}; + +template<> struct is_void : public true_type {}; +template<> struct is_void : public true_type{}; +template<> struct is_void : public true_type{}; +template<> struct is_void : public true_type{}; + +} // namespace boost + +#endif // BOOST_TT_IS_VOID_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/is_volatile.hpp b/external/include/boost_1_90_0/boost/type_traits/is_volatile.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/is_volatile.hpp rename to external/include/boost_1_90_0/boost/type_traits/is_volatile.hpp index 3f9b0630a7..db2f463446 100644 --- a/external/include/boost_1_75/boost/type_traits/is_volatile.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/is_volatile.hpp @@ -1,46 +1,46 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, -// Howard Hinnant and John Maddock 2000. -// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 - -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, -// is_member_pointer based on the Simulated Partial Specialization work -// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or -// http://groups.yahoo.com/group/boost/message/5441 -// Some workarounds in here use ideas suggested from "Generic: -// Mappings between Types and Values" -// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). - - -#ifndef BOOST_TT_IS_VOLATILE_HPP_INCLUDED -#define BOOST_TT_IS_VOLATILE_HPP_INCLUDED - -#include // size_t -#include - -namespace boost { - -#if defined( BOOST_CODEGEARC ) - - template - struct is_volatile : public integral_constant {}; - -#else - - template - struct is_volatile : public false_type {}; - template struct is_volatile : public true_type{}; - template struct is_volatile : public true_type{}; - template struct is_volatile : public true_type{}; - -#endif - -} // namespace boost - -#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Howard Hinnant and John Maddock 2000. +// (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001 + +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +// Fixed is_pointer, is_reference, is_const, is_volatile, is_same, +// is_member_pointer based on the Simulated Partial Specialization work +// of Mat Marcus and Jesse Jones. See http://opensource.adobe.com or +// http://groups.yahoo.com/group/boost/message/5441 +// Some workarounds in here use ideas suggested from "Generic: +// Mappings between Types and Values" +// by Andrei Alexandrescu (see http://www.cuj.com/experts/1810/alexandr.html). + + +#ifndef BOOST_TT_IS_VOLATILE_HPP_INCLUDED +#define BOOST_TT_IS_VOLATILE_HPP_INCLUDED + +#include // size_t +#include + +namespace boost { + +#if defined( BOOST_CODEGEARC ) + + template + struct is_volatile : public integral_constant {}; + +#else + + template + struct is_volatile : public false_type {}; + template struct is_volatile : public true_type{}; + template struct is_volatile : public true_type{}; + template struct is_volatile : public true_type{}; + +#endif + +} // namespace boost + +#endif // BOOST_TT_IS_VOLATILE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/negation.hpp b/external/include/boost_1_90_0/boost/type_traits/negation.hpp new file mode 100644 index 0000000000..814f83d5d2 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/negation.hpp @@ -0,0 +1,23 @@ +/* +Copyright 2020 Glen Joseph Fernandes +(glenjofe@gmail.com) + +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) +*/ + +#ifndef BOOST_TT_NEGATION_HPP_INCLUDED +#define BOOST_TT_NEGATION_HPP_INCLUDED + +#include + +namespace boost { + +template +struct negation + : integral_constant { }; + +} /* boost */ + +#endif diff --git a/external/include/boost_1_75/boost/type_traits/remove_all_extents.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_all_extents.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/remove_all_extents.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_all_extents.hpp diff --git a/external/include/boost_1_75/boost/type_traits/remove_bounds.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_bounds.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/remove_bounds.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_bounds.hpp diff --git a/external/include/boost_1_75/boost/type_traits/remove_const.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_const.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/remove_const.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_const.hpp index 045c6b8228..3b475801a2 100644 --- a/external/include/boost_1_75/boost/type_traits/remove_const.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/remove_const.hpp @@ -1,39 +1,39 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED -#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED - -#include -#include // size_t -#include - -namespace boost { - - // convert a type T to a non-cv-qualified type - remove_const - template struct remove_const{ typedef T type; }; - template struct remove_const{ typedef T type; }; - -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) - template struct remove_const{ typedef T type[N]; }; -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - template struct remove_const{ typedef T type[]; }; -#endif -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_const_t = typename remove_const::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_REMOVE_CONST_HPP_INCLUDED +#define BOOST_TT_REMOVE_CONST_HPP_INCLUDED + +#include +#include // size_t +#include + +namespace boost { + + // convert a type T to a non-cv-qualified type - remove_const + template struct remove_const{ typedef T type; }; + template struct remove_const{ typedef T type; }; + +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) + template struct remove_const{ typedef T type[N]; }; +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + template struct remove_const{ typedef T type[]; }; +#endif +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using remove_const_t = typename remove_const::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_REMOVE_CONST_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/remove_cv.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_cv.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/remove_cv.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_cv.hpp index 2a68af533e..ad46d81822 100644 --- a/external/include/boost_1_75/boost/type_traits/remove_cv.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/remove_cv.hpp @@ -1,45 +1,45 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED -#define BOOST_TT_REMOVE_CV_HPP_INCLUDED - -#include -#include -#include // size_t - -namespace boost { - - // convert a type T to a non-cv-qualified type - remove_cv -template struct remove_cv{ typedef T type; }; -template struct remove_cv{ typedef T type; }; -template struct remove_cv{ typedef T type; }; -template struct remove_cv{ typedef T type; }; - -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) -template struct remove_cv{ typedef T type[N]; }; -template struct remove_cv{ typedef T type[N]; }; -template struct remove_cv{ typedef T type[N]; }; -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) -template struct remove_cv{ typedef T type[]; }; -template struct remove_cv{ typedef T type[]; }; -template struct remove_cv{ typedef T type[]; }; -#endif -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_cv_t = typename remove_cv::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_REMOVE_CV_HPP_INCLUDED +#define BOOST_TT_REMOVE_CV_HPP_INCLUDED + +#include +#include +#include // size_t + +namespace boost { + + // convert a type T to a non-cv-qualified type - remove_cv +template struct remove_cv{ typedef T type; }; +template struct remove_cv{ typedef T type; }; +template struct remove_cv{ typedef T type; }; +template struct remove_cv{ typedef T type; }; + +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +template struct remove_cv{ typedef T type[N]; }; +template struct remove_cv{ typedef T type[N]; }; +template struct remove_cv{ typedef T type[N]; }; +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +template struct remove_cv{ typedef T type[]; }; +template struct remove_cv{ typedef T type[]; }; +template struct remove_cv{ typedef T type[]; }; +#endif +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using remove_cv_t = typename remove_cv::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_REMOVE_CV_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/remove_extent.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_extent.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/remove_extent.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_extent.hpp diff --git a/external/include/boost_1_75/boost/type_traits/remove_pointer.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_pointer.hpp similarity index 100% rename from external/include/boost_1_75/boost/type_traits/remove_pointer.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_pointer.hpp diff --git a/external/include/boost_1_75/boost/type_traits/remove_reference.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_reference.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/remove_reference.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_reference.hpp index 70949fbb2a..c6bd653f96 100644 --- a/external/include/boost_1_75/boost/type_traits/remove_reference.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/remove_reference.hpp @@ -1,59 +1,59 @@ - -// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED -#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED - -#include -#include - -namespace boost { - - -namespace detail{ -// -// We can't filter out rvalue_references at the same level as -// references or we get ambiguities from msvc: -// -template -struct remove_rvalue_ref -{ - typedef T type; -}; -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -template -struct remove_rvalue_ref -{ - typedef T type; -}; -#endif - -} // namespace detail - -template struct remove_reference{ typedef typename boost::detail::remove_rvalue_ref::type type; }; -template struct remove_reference{ typedef T type; }; - -#if defined(BOOST_ILLEGAL_CV_REFERENCES) -// these are illegal specialisations; cv-qualifies applied to -// references have no effect according to [8.3.2p1], -// C++ Builder requires them though as it treats cv-qualified -// references as distinct types... -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -template struct remove_reference{ typedef T type; }; -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_reference_t = typename remove_reference::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED + +// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED +#define BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED + +#include +#include + +namespace boost { + + +namespace detail{ +// +// We can't filter out rvalue_references at the same level as +// references or we get ambiguities from msvc: +// +template +struct remove_rvalue_ref +{ + typedef T type; +}; +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template +struct remove_rvalue_ref +{ + typedef T type; +}; +#endif + +} // namespace detail + +template struct remove_reference{ typedef typename boost::detail::remove_rvalue_ref::type type; }; +template struct remove_reference{ typedef T type; }; + +#if defined(BOOST_ILLEGAL_CV_REFERENCES) +// these are illegal specialisations; cv-qualifies applied to +// references have no effect according to [8.3.2p1], +// C++ Builder requires them though as it treats cv-qualified +// references as distinct types... +template struct remove_reference{ typedef T type; }; +template struct remove_reference{ typedef T type; }; +template struct remove_reference{ typedef T type; }; +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using remove_reference_t = typename remove_reference::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_REMOVE_REFERENCE_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/remove_volatile.hpp b/external/include/boost_1_90_0/boost/type_traits/remove_volatile.hpp similarity index 97% rename from external/include/boost_1_75/boost/type_traits/remove_volatile.hpp rename to external/include/boost_1_90_0/boost/type_traits/remove_volatile.hpp index 162d0c2a7f..3d96b29916 100644 --- a/external/include/boost_1_75/boost/type_traits/remove_volatile.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/remove_volatile.hpp @@ -1,39 +1,39 @@ - -// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard -// Hinnant & John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - - -#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED -#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED - -#include -#include -#include // size_t - -namespace boost { - - // convert a type T to a non-cv-qualified type - remove_volatile - template struct remove_volatile{ typedef T type; }; - template struct remove_volatile{ typedef T type; }; - -#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) - template struct remove_volatile{ typedef T type[N]; }; -#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) - template struct remove_volatile{ typedef T type[]; }; -#endif -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) - - template using remove_volatile_t = typename remove_volatile::type; - -#endif - -} // namespace boost - -#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, Howard +// Hinnant & John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + + +#ifndef BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED +#define BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED + +#include +#include +#include // size_t + +namespace boost { + + // convert a type T to a non-cv-qualified type - remove_volatile + template struct remove_volatile{ typedef T type; }; + template struct remove_volatile{ typedef T type; }; + +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) + template struct remove_volatile{ typedef T type[N]; }; +#if !BOOST_WORKAROUND(BOOST_BORLANDC, < 0x600) && !defined(__IBMCPP__) && !BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + template struct remove_volatile{ typedef T type[]; }; +#endif +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + template using remove_volatile_t = typename remove_volatile::type; + +#endif + +} // namespace boost + +#endif // BOOST_TT_REMOVE_VOLATILE_HPP_INCLUDED diff --git a/external/include/boost_1_90_0/boost/type_traits/type_identity.hpp b/external/include/boost_1_90_0/boost/type_traits/type_identity.hpp new file mode 100644 index 0000000000..0906f70f82 --- /dev/null +++ b/external/include/boost_1_90_0/boost/type_traits/type_identity.hpp @@ -0,0 +1,31 @@ +#ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED +#define BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED + +// +// Copyright 2015 Peter Dimov +// +// 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 +// + +#include + +namespace boost +{ + +template struct type_identity +{ + typedef T type; +}; + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + +template using type_identity_t = typename type_identity::type; + +#endif + + +} // namespace boost + +#endif // #ifndef BOOST_TYPE_TRAITS_TYPE_IDENTITY_HPP_INCLUDED diff --git a/external/include/boost_1_75/boost/type_traits/type_with_alignment.hpp b/external/include/boost_1_90_0/boost/type_traits/type_with_alignment.hpp similarity index 96% rename from external/include/boost_1_75/boost/type_traits/type_with_alignment.hpp rename to external/include/boost_1_90_0/boost/type_traits/type_with_alignment.hpp index e396349f7b..bb44f1e7e3 100644 --- a/external/include/boost_1_75/boost/type_traits/type_with_alignment.hpp +++ b/external/include/boost_1_90_0/boost/type_traits/type_with_alignment.hpp @@ -1,260 +1,260 @@ -// (C) Copyright John Maddock 2000. -// Use, modification and distribution are subject to 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). -// -// See http://www.boost.org/libs/type_traits for most recent version including documentation. - -#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED -#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED - -#include -#include -#include -#include -#include // size_t -#include - -#ifdef BOOST_MSVC -# pragma warning(push) -# pragma warning(disable: 4121) // alignment is sensitive to packing -#endif - -#ifdef _MSC_VER -#include -#endif - -namespace boost { -#ifndef BOOST_BORLANDC - namespace detail{ - - union max_align - { - char c; - short s; - int i; - long l; -#ifndef BOOST_NO_LONG_LONG - boost::long_long_type ll; -#endif -#ifdef BOOST_HAS_INT128 - boost::int128_type i128; -#endif - float f; - double d; - long double ld; -#ifdef BOOST_HAS_FLOAT128 - __float128 f128; -#endif - }; - -template struct long_double_alignment{ typedef long double type; }; -template struct long_double_alignment{ typedef boost::detail::max_align type; }; - -template struct double_alignment{ typedef double type; }; -template struct double_alignment{ typedef typename long_double_alignment::value >= Target>::type type; }; - -#ifndef BOOST_NO_LONG_LONG -template struct long_long_alignment{ typedef boost::long_long_type type; }; -template struct long_long_alignment{ typedef typename double_alignment::value >= Target>::type type; }; -#endif - -template struct long_alignment{ typedef long type; }; -#ifndef BOOST_NO_LONG_LONG -template struct long_alignment{ typedef typename long_long_alignment::value >= Target>::type type; }; -#else -template struct long_alignment{ typedef typename double_alignment::value >= Target>::type type; }; -#endif - -template struct int_alignment{ typedef int type; }; -template struct int_alignment{ typedef typename long_alignment::value >= Target>::type type; }; - -template struct short_alignment{ typedef short type; }; -template struct short_alignment{ typedef typename int_alignment::value >= Target>::type type; }; - -template struct char_alignment{ typedef char type; }; -template struct char_alignment{ typedef typename short_alignment::value >= Target>::type type; }; - -} // namespace detail - -template -struct type_with_alignment -{ - typedef typename boost::detail::char_alignment::value >= Align>::type type; -}; - -#if (defined(__GNUC__) || (defined (__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) || defined(__clang__)) && !defined(BOOST_TT_DISABLE_INTRINSICS) -namespace tt_align_ns { -struct __attribute__((__aligned__(2))) a2 {}; -struct __attribute__((__aligned__(4))) a4 {}; -struct __attribute__((__aligned__(8))) a8 {}; -struct __attribute__((__aligned__(16))) a16 {}; -struct __attribute__((__aligned__(32))) a32 {}; -struct __attribute__((__aligned__(64))) a64 {}; -struct __attribute__((__aligned__(128))) a128 {}; -} - -template<> struct type_with_alignment<1> { public: typedef char type; }; -template<> struct type_with_alignment<2> { public: typedef tt_align_ns::a2 type; }; -template<> struct type_with_alignment<4> { public: typedef tt_align_ns::a4 type; }; -template<> struct type_with_alignment<8> { public: typedef tt_align_ns::a8 type; }; -template<> struct type_with_alignment<16> { public: typedef tt_align_ns::a16 type; }; -template<> struct type_with_alignment<32> { public: typedef tt_align_ns::a32 type; }; -template<> struct type_with_alignment<64> { public: typedef tt_align_ns::a64 type; }; -template<> struct type_with_alignment<128> { public: typedef tt_align_ns::a128 type; }; - -template<> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a32> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a64> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{}; - -#endif -#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && !defined(BOOST_TT_DISABLE_INTRINSICS) -// -// MSVC supports types which have alignments greater than the normal -// maximum: these are used for example in the types __m64 and __m128 -// to provide types with alignment requirements which match the SSE -// registers. Therefore we extend type_with_alignment<> to support -// such types, however, we have to be careful to use a builtin type -// whenever possible otherwise we break previously working code: -// see http://article.gmane.org/gmane.comp.lib.boost.devel/173011 -// for an example and test case. Thus types like a8 below will -// be used *only* if the existing implementation can't provide a type -// with suitable alignment. This does mean however, that type_with_alignment<> -// may return a type which cannot be passed through a function call -// by value (and neither can any type containing such a type like -// Boost.Optional). However, this only happens when we have no choice -// in the matter because no other "ordinary" type is available. -// -namespace tt_align_ns { -struct __declspec(align(8)) a8 { - char m[8]; - typedef a8 type; -}; -struct __declspec(align(16)) a16 { - char m[16]; - typedef a16 type; -}; -struct __declspec(align(32)) a32 { - char m[32]; - typedef a32 type; -}; -struct __declspec(align(64)) a64 -{ - char m[64]; - typedef a64 type; -}; -struct __declspec(align(128)) a128 { - char m[128]; - typedef a128 type; -}; -} - -template<> struct type_with_alignment<8> -{ - typedef boost::conditional< - ::boost::alignment_of::value < 8, - tt_align_ns::a8, - boost::detail::char_alignment<8, false> >::type t1; -public: - typedef t1::type type; -}; -template<> struct type_with_alignment<16> -{ - typedef boost::conditional< - ::boost::alignment_of::value < 16, - tt_align_ns::a16, - boost::detail::char_alignment<16, false> >::type t1; -public: - typedef t1::type type; -}; -template<> struct type_with_alignment<32> -{ - typedef boost::conditional< - ::boost::alignment_of::value < 32, - tt_align_ns::a32, - boost::detail::char_alignment<32, false> >::type t1; -public: - typedef t1::type type; -}; -template<> struct type_with_alignment<64> { - typedef boost::conditional< - ::boost::alignment_of::value < 64, - tt_align_ns::a64, - boost::detail::char_alignment<64, false> >::type t1; -public: - typedef t1::type type; -}; -template<> struct type_with_alignment<128> { - typedef boost::conditional< - ::boost::alignment_of::value < 128, - tt_align_ns::a128, - boost::detail::char_alignment<128, false> >::type t1; -public: - typedef t1::type type; -}; - -template<> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a32> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a64> : public true_type{}; -template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{}; - -#endif - -#else - -// -// Borland specific version, we have this for two reasons: -// 1) The version above doesn't always compile (with the new test cases for example) -// 2) Because of Borlands #pragma option we can create types with alignments that are -// greater that the largest aligned builtin type. - -namespace tt_align_ns{ -#pragma option push -a16 -struct a2{ short s; }; -struct a4{ int s; }; -struct a8{ double s; }; -struct a16{ long double s; }; -#pragma option pop -} - -namespace detail { - -typedef ::boost::tt_align_ns::a16 max_align; - -} -//#if ! BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x610)) -template <> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{}; -template <> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{}; -template <> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{}; -template <> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{}; -//#endif - -template struct type_with_alignment -{ - // We should never get to here, but if we do use the maximally - // aligned type: - // BOOST_STATIC_ASSERT(0); - typedef tt_align_ns::a16 type; -}; -template <> struct type_with_alignment<1>{ typedef char type; }; -template <> struct type_with_alignment<2>{ typedef tt_align_ns::a2 type; }; -template <> struct type_with_alignment<4>{ typedef tt_align_ns::a4 type; }; -template <> struct type_with_alignment<8>{ typedef tt_align_ns::a8 type; }; -template <> struct type_with_alignment<16>{ typedef tt_align_ns::a16 type; }; - -#endif - -} // namespace boost - -#ifdef BOOST_MSVC -# pragma warning(pop) -#endif - -#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED - - +// (C) Copyright John Maddock 2000. +// Use, modification and distribution are subject to 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). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED +#define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED + +#include +#include +#include +#include +#include // size_t +#include + +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable: 4121) // alignment is sensitive to packing +#endif + +#ifdef _MSC_VER +#include +#endif + +namespace boost { +#ifndef BOOST_BORLANDC + namespace detail{ + + union max_align + { + char c; + short s; + int i; + long l; +#ifndef BOOST_NO_LONG_LONG + boost::long_long_type ll; +#endif +#ifdef BOOST_HAS_INT128 + boost::int128_type i128; +#endif + float f; + double d; + long double ld; +#ifdef BOOST_HAS_FLOAT128 + __float128 f128; +#endif + }; + +template struct long_double_alignment{ typedef long double type; }; +template struct long_double_alignment{ typedef boost::detail::max_align type; }; + +template struct double_alignment{ typedef double type; }; +template struct double_alignment{ typedef typename long_double_alignment::value >= Target>::type type; }; + +#ifndef BOOST_NO_LONG_LONG +template struct long_long_alignment{ typedef boost::long_long_type type; }; +template struct long_long_alignment{ typedef typename double_alignment::value >= Target>::type type; }; +#endif + +template struct long_alignment{ typedef long type; }; +#ifndef BOOST_NO_LONG_LONG +template struct long_alignment{ typedef typename long_long_alignment::value >= Target>::type type; }; +#else +template struct long_alignment{ typedef typename double_alignment::value >= Target>::type type; }; +#endif + +template struct int_alignment{ typedef int type; }; +template struct int_alignment{ typedef typename long_alignment::value >= Target>::type type; }; + +template struct short_alignment{ typedef short type; }; +template struct short_alignment{ typedef typename int_alignment::value >= Target>::type type; }; + +template struct char_alignment{ typedef char type; }; +template struct char_alignment{ typedef typename short_alignment::value >= Target>::type type; }; + +} // namespace detail + +template +struct type_with_alignment +{ + typedef typename boost::detail::char_alignment::value >= Align>::type type; +}; + +#if (defined(__GNUC__) || (defined (__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) || defined(__clang__)) && !defined(BOOST_TT_DISABLE_INTRINSICS) +namespace tt_align_ns { +struct __attribute__((__aligned__(2))) a2 {}; +struct __attribute__((__aligned__(4))) a4 {}; +struct __attribute__((__aligned__(8))) a8 {}; +struct __attribute__((__aligned__(16))) a16 {}; +struct __attribute__((__aligned__(32))) a32 {}; +struct __attribute__((__aligned__(64))) a64 {}; +struct __attribute__((__aligned__(128))) a128 {}; +} + +template<> struct type_with_alignment<1> { public: typedef char type; }; +template<> struct type_with_alignment<2> { public: typedef tt_align_ns::a2 type; }; +template<> struct type_with_alignment<4> { public: typedef tt_align_ns::a4 type; }; +template<> struct type_with_alignment<8> { public: typedef tt_align_ns::a8 type; }; +template<> struct type_with_alignment<16> { public: typedef tt_align_ns::a16 type; }; +template<> struct type_with_alignment<32> { public: typedef tt_align_ns::a32 type; }; +template<> struct type_with_alignment<64> { public: typedef tt_align_ns::a64 type; }; +template<> struct type_with_alignment<128> { public: typedef tt_align_ns::a128 type; }; + +template<> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a32> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a64> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{}; + +#endif +#if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && !defined(BOOST_TT_DISABLE_INTRINSICS) +// +// MSVC supports types which have alignments greater than the normal +// maximum: these are used for example in the types __m64 and __m128 +// to provide types with alignment requirements which match the SSE +// registers. Therefore we extend type_with_alignment<> to support +// such types, however, we have to be careful to use a builtin type +// whenever possible otherwise we break previously working code: +// see https://lists.boost.org/Archives/boost/2014/03/212391.php +// for an example and test case. Thus types like a8 below will +// be used *only* if the existing implementation can't provide a type +// with suitable alignment. This does mean however, that type_with_alignment<> +// may return a type which cannot be passed through a function call +// by value (and neither can any type containing such a type like +// Boost.Optional). However, this only happens when we have no choice +// in the matter because no other "ordinary" type is available. +// +namespace tt_align_ns { +struct __declspec(align(8)) a8 { + char m[8]; + typedef a8 type; +}; +struct __declspec(align(16)) a16 { + char m[16]; + typedef a16 type; +}; +struct __declspec(align(32)) a32 { + char m[32]; + typedef a32 type; +}; +struct __declspec(align(64)) a64 +{ + char m[64]; + typedef a64 type; +}; +struct __declspec(align(128)) a128 { + char m[128]; + typedef a128 type; +}; +} + +template<> struct type_with_alignment<8> +{ + typedef boost::conditional< + ::boost::alignment_of::value < 8, + tt_align_ns::a8, + boost::detail::char_alignment<8, false> >::type t1; +public: + typedef t1::type type; +}; +template<> struct type_with_alignment<16> +{ + typedef boost::conditional< + ::boost::alignment_of::value < 16, + tt_align_ns::a16, + boost::detail::char_alignment<16, false> >::type t1; +public: + typedef t1::type type; +}; +template<> struct type_with_alignment<32> +{ + typedef boost::conditional< + ::boost::alignment_of::value < 32, + tt_align_ns::a32, + boost::detail::char_alignment<32, false> >::type t1; +public: + typedef t1::type type; +}; +template<> struct type_with_alignment<64> { + typedef boost::conditional< + ::boost::alignment_of::value < 64, + tt_align_ns::a64, + boost::detail::char_alignment<64, false> >::type t1; +public: + typedef t1::type type; +}; +template<> struct type_with_alignment<128> { + typedef boost::conditional< + ::boost::alignment_of::value < 128, + tt_align_ns::a128, + boost::detail::char_alignment<128, false> >::type t1; +public: + typedef t1::type type; +}; + +template<> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a32> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a64> : public true_type{}; +template<> struct is_pod< ::boost::tt_align_ns::a128> : public true_type{}; + +#endif + +#else + +// +// Borland specific version, we have this for two reasons: +// 1) The version above doesn't always compile (with the new test cases for example) +// 2) Because of Borlands #pragma option we can create types with alignments that are +// greater that the largest aligned builtin type. + +namespace tt_align_ns{ +#pragma option push -a16 +struct a2{ short s; }; +struct a4{ int s; }; +struct a8{ double s; }; +struct a16{ long double s; }; +#pragma option pop +} + +namespace detail { + +typedef ::boost::tt_align_ns::a16 max_align; + +} +//#if ! BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x610)) +template <> struct is_pod< ::boost::tt_align_ns::a2> : public true_type{}; +template <> struct is_pod< ::boost::tt_align_ns::a4> : public true_type{}; +template <> struct is_pod< ::boost::tt_align_ns::a8> : public true_type{}; +template <> struct is_pod< ::boost::tt_align_ns::a16> : public true_type{}; +//#endif + +template struct type_with_alignment +{ + // We should never get to here, but if we do use the maximally + // aligned type: + // BOOST_STATIC_ASSERT(0); + typedef tt_align_ns::a16 type; +}; +template <> struct type_with_alignment<1>{ typedef char type; }; +template <> struct type_with_alignment<2>{ typedef tt_align_ns::a2 type; }; +template <> struct type_with_alignment<4>{ typedef tt_align_ns::a4 type; }; +template <> struct type_with_alignment<8>{ typedef tt_align_ns::a8 type; }; +template <> struct type_with_alignment<16>{ typedef tt_align_ns::a16 type; }; + +#endif + +} // namespace boost + +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif + +#endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED + + diff --git a/external/include/boost_1_90_0/boost/utility/addressof.hpp b/external/include/boost_1_90_0/boost/utility/addressof.hpp new file mode 100644 index 0000000000..eb4ab2db9d --- /dev/null +++ b/external/include/boost_1_90_0/boost/utility/addressof.hpp @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2014 Glen Fernandes + * + * 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) + */ + +#ifndef BOOST_UTILITY_ADDRESSOF_HPP +#define BOOST_UTILITY_ADDRESSOF_HPP + +// The header file at this path is deprecated; +// use boost/core/addressof.hpp instead. + +#include + +#endif diff --git a/external/include/boost_1_90_0/boost/utility/enable_if.hpp b/external/include/boost_1_90_0/boost/utility/enable_if.hpp new file mode 100644 index 0000000000..67e985b589 --- /dev/null +++ b/external/include/boost_1_90_0/boost/utility/enable_if.hpp @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2014 Glen Fernandes + * + * 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) + */ + +#ifndef BOOST_UTILITY_ENABLE_IF_HPP +#define BOOST_UTILITY_ENABLE_IF_HPP + +// The header file at this path is deprecated; +// use boost/core/enable_if.hpp instead. + +#include + +#endif diff --git a/external/include/boost_1_90_0/boost/version.hpp b/external/include/boost_1_90_0/boost/version.hpp new file mode 100644 index 0000000000..39ba1c959a --- /dev/null +++ b/external/include/boost_1_90_0/boost/version.hpp @@ -0,0 +1,32 @@ +// Boost version.hpp configuration header file ------------------------------// + +// (C) Copyright John maddock 1999. 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) + +// See http://www.boost.org/libs/config for documentation + +#ifndef BOOST_VERSION_HPP +#define BOOST_VERSION_HPP + +// +// Caution: this is the only Boost header that is guaranteed +// to change with every Boost release. Including this header +// will cause a recompile every time a new Boost version is +// used. +// +// BOOST_VERSION % 100 is the patch level +// BOOST_VERSION / 100 % 1000 is the minor version +// BOOST_VERSION / 100000 is the major version + +#define BOOST_VERSION 109000 + +// +// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION +// but as a *string* in the form "x_y[_z]" where x is the major version +// number, y is the minor version number, and z is the patch level if not 0. +// This is used by to select which library version to link to. + +#define BOOST_LIB_VERSION "1_90" + +#endif diff --git a/external/include/boost_1_75/boost/visit_each.hpp b/external/include/boost_1_90_0/boost/visit_each.hpp similarity index 100% rename from external/include/boost_1_75/boost/visit_each.hpp rename to external/include/boost_1_90_0/boost/visit_each.hpp diff --git a/external/include/meson.build b/external/include/meson.build index 32d57f889b..340a57133e 100644 --- a/external/include/meson.build +++ b/external/include/meson.build @@ -1,4 +1,4 @@ -external_inc_dirs = [include_directories('boost_1_75', +external_inc_dirs = [include_directories('boost_1_90_0', 'fmod-2.2.13', 'fmod-2.2.13', 'glad-2.0.0-beta', diff --git a/external/sources/luabind-0.7.1/.gitignore b/external/sources/luabind-0.7.1/.gitignore deleted file mode 100644 index 59e06aa6e2..0000000000 --- a/external/sources/luabind-0.7.1/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -**/bin.v2/* -**/bin/* -doc/*.html -doc/version.rst - -_Bin/* -!_Bin/*.lib \ No newline at end of file diff --git a/external/sources/luabind-0.7.1/_Bin/luabind-debug-release.lib b/external/sources/luabind-0.7.1/_Bin/luabind-debug-release.lib deleted file mode 100644 index 0749f6a4bb..0000000000 Binary files a/external/sources/luabind-0.7.1/_Bin/luabind-debug-release.lib and /dev/null differ diff --git a/external/sources/luabind-0.7.1/_Bin/luabind-debug.lib b/external/sources/luabind-0.7.1/_Bin/luabind-debug.lib deleted file mode 100644 index 80e09ac98f..0000000000 Binary files a/external/sources/luabind-0.7.1/_Bin/luabind-debug.lib and /dev/null differ diff --git a/external/sources/luabind-0.7.1/_Bin/luabind-release.lib b/external/sources/luabind-0.7.1/_Bin/luabind-release.lib deleted file mode 100644 index b3ac106063..0000000000 Binary files a/external/sources/luabind-0.7.1/_Bin/luabind-release.lib and /dev/null differ diff --git a/external/sources/luabind-0.7.1/doc/building.rst b/external/sources/luabind-0.7.1/doc/building.rst deleted file mode 100644 index b06da2f771..0000000000 --- a/external/sources/luabind-0.7.1/doc/building.rst +++ /dev/null @@ -1,90 +0,0 @@ -Building luabind -================ - -Prerequisites -------------- - -Luabind depends on a number of Boost 1.34 libraries. It also depends on -Boost Jam and Boost Build V2 to build the library and run the tests. -Boost provides `precompiled bjam binaries`__ for a number of platforms. -If there isn't a precompiled binary available for your platform, you may -need to `build it yourself`__. - -__ http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941 -__ http://www.boost.org/doc/libs/1_36_0/doc/html/jam/building.html - - -Windows -------- - -The environment varaible ``LUA_PATH`` needs to be set to point to a -directory containing the Lua include directory and built libraries. At -least for the purpose of running the test suite, the recommended way to -get these is the `Lua Binaries`_ *Windows x86 DLL and Includes* package. - -Furthermore, the environment variable ``BOOST_ROOT`` must point to -a Boost installation directory. - -.. _`Lua Binaries`: http://luabinaries.luaforge.net - - -Linux and other \*nix flavors ------------------------------ - -If your system already has Lua installed, it is very likely that the -build system will automatically find it and just work. If you have -Lua installed in a non-standard location, you may need to set -``LUA_PATH`` to point to the installation prefix. - -``BOOST_ROOT`` can be set to a Boost installation directory. If left -unset, the build system will try to use boost headers from the standard -include path. - -MacOSX -~~~~~~ - -If you have both the 10.4 and 10.5 SDK installed, Boost Build seems to -default to 10.4. Lua, at least when installed from MacPorts, will be -linked with the 10.5 SDK. If the luabind build fails with link errors, -you may need to explicitly build with the 10.5 SDK:: - - $ bjam macosx-version=10.5 - - -Building and testing --------------------- - -Building the default variant of the library, which is a shared debug -library, is simply done by invoking ``bjam`` in the luabind root -directory:: - - $ bjam - ...patience... - ...found 714 targets... - ...updating 23 targets... - -When building with GCC on Linux, this results in:: - - bin/gcc-4.2.3/debug/libluabind.so - -On Windows a dll and matching import library would be produced. - -To run the unit tests, invoke ``bjam`` with the ``test`` target:: - - $ bjam test - -This will build and run the unit tests in four different variants: -debug, release, debug-static-lib, release-static-lib. A clean test run -output should end with something like: - -.. parsed-literal:: - - ... updated *xxx* targets... - -A failed run would end with something like: - -.. parsed-literal:: - - ...failed updating *xxx* target... - ...skipped *xxx* targets... - diff --git a/external/sources/luabind-0.7.1/doc/docs.rst b/external/sources/luabind-0.7.1/doc/docs.rst deleted file mode 100755 index 8922ccf135..0000000000 --- a/external/sources/luabind-0.7.1/doc/docs.rst +++ /dev/null @@ -1,2553 +0,0 @@ -.. include:: version.rst - -+++++++++++++++++++ - luabind |version| -+++++++++++++++++++ - -:Author: Daniel Wallin, Arvid Norberg -:Copyright: Copyright Daniel Wallin, Arvid Norberg 2003. -:License: Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF - ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT - SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE - OR OTHER DEALINGS IN THE SOFTWARE. - - -.. _MIT license: http://www.opensource.org/licenses/mit-license.php -.. _Boost: http://www.boost.org - -Note: This library is currently in public beta phase. This documentation -should be considered beta as well. Please report any grammatical -corrections/spelling corrections. - -.. contents:: - :depth: 2 - :backlinks: none -.. section-numbering:: - -Introduction -============ - -Luabind is a library that helps you create bindings between C++ and Lua. It has -the ability to expose functions and classes, written in C++, to Lua. It will -also supply the functionality to define classes in Lua and let them derive from -other Lua classes or C++ classes. Lua classes can override virtual functions -from their C++ base classes. It is written towards Lua 5.0, and does not work -with Lua 4. - -It is implemented utilizing template meta programming. That means that you -don't need an extra preprocess pass to compile your project (it is done by the -compiler). It also means you don't (usually) have to know the exact signature -of each function you register, since the library will generate code depending -on the compile-time type of the function (which includes the signature). The -main drawback of this approach is that the compilation time will increase for -the file that does the registration, it is therefore recommended that you -register everything in the same cpp-file. - -Luabind is released under the terms of the `MIT license`_. - -We are very interested in hearing about projects that use luabind, please let -us know about your project. - -The main channel for help and feedback is the `luabind mailing list`_. -There's also an IRC channel ``#luabind`` on irc.freenode.net. - -.. _`luabind mailing list`: https://lists.sourceforge.net/lists/listinfo/luabind-user - - -Features -======== - -Luabind supports: - - - Overloaded free functions - - C++ classes in Lua - - Overloaded member functions - - Operators - - Properties - - Enums - - Lua functions in C++ - - Lua classes in C++ - - Lua classes (single inheritance) - - Derives from Lua or C++ classes - - Override virtual functions from C++ classes - - Implicit casts between registered types - - Best match signature matching - - Return value policies and parameter policies - - -Portability -=========== - -Luabind has been tested to work on the following compilers: - - - Visual Studio 7.1 - - Visual Studio 7.0 - - Visual Studio 6.0 (sp 5) - - Intel C++ 6.0 (Windows) - - GCC 2.95.3 (cygwin) - - GCC 3.0.4 (Debian/Linux) - - GCC 3.1 (SunOS 5.8) - - GCC 3.2 (cygwin) - - GCC 3.3.1 (cygwin) - - GCC 3.3 (Apple, MacOS X) - - GCC 4.0 (Apple, MacOS X) - -It has been confirmed not to work with: - - - GCC 2.95.2 (SunOS 5.8) - -Metrowerks 8.3 (Windows) compiles but fails the const-test. This -means that const member functions are treated as non-const member -functions. - -If you have tried luabind with a compiler not listed here, let us know -your result with it. - -.. include:: building.rst - -Basic usage -=========== - -To use luabind, you must include ``lua.h`` and luabind's main header file:: - - extern "C" - { - #include "lua.h" - } - - #include - -This includes support for both registering classes and functions. If you just -want to have support for functions or classes you can include -``luabind/function.hpp`` and ``luabind/class.hpp`` separately:: - - #include - #include - -The first thing you need to do is to call ``luabind::open(lua_State*)`` which -will register the functions to create classes from Lua, and initialize some -state-global structures used by luabind. If you don't call this function you -will hit asserts later in the library. There is no corresponding close function -because once a class has been registered in Lua, there really isn't any good -way to remove it. Partly because any remaining instances of that class relies -on the class being there. Everything will be cleaned up when the state is -closed though. - -.. Isn't this wrong? Don't we include lua.h using lua_include.hpp ? - -Luabind's headers will never include ``lua.h`` directly, but through -````. If you for some reason need to include another -Lua header, you can modify this file. - - -Hello world ------------ - -:: - - #include - #include - - void greet() - { - std::cout << "hello world!\n"; - } - - extern "C" int init(lua_State* L) - { - using namespace luabind; - - open(L); - - module(L) - [ - def("greet", &greet) - ]; - - return 0; - } - -:: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - > loadlib('hello_world.dll', 'init')() - > greet() - Hello world! - > - -Scopes -====== - -Everything that gets registered in Lua is registered in a namespace (Lua -tables) or in the global scope (called module). All registrations must be -surrounded by its scope. To define a module, the ``luabind::module`` class is -used. It is used like this:: - - module(L) - [ - // declarations - ]; - -This will register all declared functions or classes in the global namespace in -Lua. If you want to have a namespace for your module (like the standard -libraries) you can give a name to the constructor, like this:: - - module(L, "my_library") - [ - // declarations - ]; - -Here all declarations will be put in the my_library table. - -If you want nested namespace's you can use the ``luabind::namespace_`` class. It -works exactly as ``luabind::module`` except that it doesn't take a lua_State* -in it's constructor. An example of its usage could look like this:: - - module(L, "my_library") - [ - // declarations - - namespace_("detail") - [ - // library-private declarations - ] - ]; - -As you might have figured out, the following declarations are equivalent:: - - module(L) - [ - namespace_("my_library") - [ - // declarations - ] - - ]; - -:: - - module(L, "my_library") - [ - // declarations - ]; - -Each declaration must be separated by a comma, like this:: - - module(L) - [ - def("f", &f), - def("g", &g), - class_("A") - .def(constructor), - def("h", &h) - ]; - - -More about the actual declarations in the `Binding functions to Lua`_ and -`Binding classes to Lua`_ sections. - -A word of caution, if you are in really bad need for performance, putting your -functions in tables will increase the lookup time. - - -Binding functions to Lua -======================== - -To bind functions to Lua you use the function ``luabind::def()``. It has the -following synopsis:: - - template - void def(const char* name, F f, const Policies&); - -- name is the name the function will have within Lua. -- F is the function pointer you want to register. -- The Policies parameter is used to describe how parameters and return values - are treated by the function, this is an optional parameter. More on this in - the `policies`_ section. - -An example usage could be if you want to register the function ``float -std::sin(float)``:: - - module(L) - [ - def("sin", &std::sin) - ]; - -Overloaded functions --------------------- - -If you have more than one function with the same name, and want to register -them in Lua, you have to explicitly give the signature. This is to let C++ know -which function you refer to. For example, if you have two functions, ``int -f(const char*)`` and ``void f(int)``. :: - - module(L) - [ - def("f", (int(*)(const char*)) &f), - def("f", (void(*)(int)) &f) - ]; - -Signature matching ------------------- - -luabind will generate code that checks the Lua stack to see if the values there -can match your functions' signatures. It will handle implicit typecasts between -derived classes, and it will prefer matches with the least number of implicit -casts. In a function call, if the function is overloaded and there's no -overload that match the parameters better than the other, you have an -ambiguity. This will spawn a run-time error, stating that the function call is -ambiguous. A simple example of this is to register one function that takes an -int and one that takes a float. Since Lua doesn't distinguish between floats and -integers, both will always match. - -Since all overloads are tested, it will always find the best match (not the -first match). This also means that it can handle situations where the only -difference in the signature is that one member function is const and the other -isn't. - -.. sidebar:: Ownership transfer - - To correctly handle ownership transfer, create_a() would need an adopt - return value policy. More on this in the `Policies`_ section. - -For example, if the following function and class is registered: - -:: - - struct A - { - void f(); - void f() const; - }; - - const A* create_a(); - - struct B: A {}; - struct C: B {}; - - void g(A*); - void g(B*); - -And the following Lua code is executed:: - - a1 = create_a() - a1:f() -- the const version is called - - a2 = A() - a2:f() -- the non-const version is called - - a = A() - b = B() - c = C() - - g(a) -- calls g(A*) - g(b) -- calls g(B*) - g(c) -- calls g(B*) - - -Calling Lua functions ---------------------- - -To call a Lua function, you can either use ``call_function()`` or -an ``object``. - -:: - - template - Ret call_function(lua_State* L, const char* name, ...) - template - Ret call_function(object const& obj, ...) - -There are two overloads of the ``call_function`` function, one that calls -a function given its name, and one that takes an object that should be a Lua -value that can be called as a function. - -The overload that takes a name can only call global Lua functions. The ... -represents a variable number of parameters that are sent to the Lua -function. This function call may throw ``luabind::error`` if the function -call fails. - -The return value isn't actually Ret (the template parameter), but a proxy -object that will do the function call. This enables you to give policies to the -call. You do this with the operator[]. You give the policies within the -brackets, like this:: - - int ret = call_function( - L - , "a_lua_function" - , new complex_class() - )[ adopt(_1) ]; - -If you want to pass a parameter as a reference, you have to wrap it with the -`Boost.Ref`__. - -__ http://www.boost.org/doc/html/ref.html - -Like this:: - - int ret = call_function(L, "fun", boost::ref(val)); - - -If you want to use a custom error handler for the function call, see -``set_pcall_callback`` under `pcall errorfunc`_. - -Using Lua threads ------------------ - -To start a Lua thread, you have to call ``lua_resume()``, this means that you -cannot use the previous function ``call_function()`` to start a thread. You have -to use - -:: - - template - Ret resume_function(lua_State* L, const char* name, ...) - template - Ret resume_function(object const& obj, ...) - -and - -:: - - template - Ret resume(lua_State* L, ...) - -The first time you start the thread, you have to give it a function to execute. i.e. you -have to use ``resume_function``, when the Lua function yields, it will return the first -value passed in to ``lua_yield()``. When you want to continue the execution, you just call -``resume()`` on your ``lua_State``, since it's already executing a function, you don't pass -it one. The parameters to ``resume()`` will be returned by ``yield()`` on the Lua side. - -For yielding C++-functions (without the support of passing data back and forth between the -Lua side and the c++ side), you can use the yield_ policy. - -With the overload of ``resume_function`` that takes an object_, it is important that the -object was constructed with the thread as its ``lua_State*``. Like this: - -.. parsed-literal:: - - lua_State* thread = lua_newthread(L); - object fun = get_global(**thread**)["my_thread_fun"]; - resume_function(fun); - - -Binding classes to Lua -====================== - -To register classes you use a class called ``class_``. Its name is supposed to -resemble the C++ keyword, to make it look more intuitive. It has an overloaded -member function ``def()`` that is used to register member functions, operators, -constructors, enums and properties on the class. It will return its -this-pointer, to let you register more members directly. - -Let's start with a simple example. Consider the following C++ class:: - - class testclass - { - public: - testclass(const std::string& s): m_string(s) {} - void print_string() { std::cout << m_string << "\n"; } - - private: - std::string m_string; - }; - -To register it with a Lua environment, write as follows (assuming you are using -namespace luabind):: - - module(L) - [ - class_("testclass") - .def(constructor()) - .def("print_string", &testclass::print_string) - ]; - -This will register the class with the name testclass and constructor that takes -a string as argument and one member function with the name ``print_string``. - -:: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - > a = testclass('a string') - > a:print_string() - a string - -It is also possible to register free functions as member functions. The -requirement on the function is that it takes a pointer, const pointer, -reference or const reference to the class type as the first parameter. The rest -of the parameters are the ones that are visible in Lua, while the object -pointer is given as the first parameter. If we have the following C++ code:: - - struct A - { - int a; - }; - - int plus(A* o, int v) { return o->a + v; } - -You can register ``plus()`` as if it was a member function of A like this:: - - class_("A") - .def("plus", &plus) - -``plus()`` can now be called as a member function on A with one parameter, int. -If the object pointer parameter is const, the function will act as if it was a -const member function (it can be called on const objects). - - -Overloaded member functions ---------------------------- - -When binding more than one overloads of a member function, or just binding -one overload of an overloaded member function, you have to disambiguate -the member function pointer you pass to ``def``. To do this, you can use an -ordinary C-style cast, to cast it to the right overload. To do this, you have -to know how to express member function types in C++, here's a short tutorial -(for more info, refer to your favourite book on C++). - -The syntax for member function pointer follows: - -.. parsed-literal:: - - *return-value* (*class-name*::\*)(*arg1-type*, *arg2-type*, *...*) - -Here's an example illlustrating this:: - - struct A - { - void f(int); - void f(int, int); - }; - -:: - - class_() - .def("f", (void(A::*)(int))&A::f) - -This selects the first overload of the function ``f`` to bind. The second -overload is not bound. - - -Properties ----------- - -To register a global data member with a class is easily done. Consider the -following class:: - - struct A - { - int a; - }; - -This class is registered like this:: - - module(L) - [ - class_("A") - .def_readwrite("a", &A::a) - ]; - -This gives read and write access to the member variable ``A::a``. It is also -possible to register attributes with read-only access:: - - module(L) - [ - class_("A") - .def_readonly("a", &A::a) - ]; - -When binding members that are a non-primitive type, the auto generated getter -function will return a reference to it. This is to allow chained .-operators. -For example, when having a struct containing another struct. Like this:: - - struct A { int m; }; - struct B { A a; }; - -When binding ``B`` to lua, the following expression code should work:: - - b = B() - b.a.m = 1 - assert(b.a.m == 1) - -This requires the first lookup (on ``a``) to return a reference to ``A``, and -not a copy. In that case, luabind will automatically use the dependency policy -to make the return value dependent on the object in which it is stored. So, if -the returned reference lives longer than all references to the object (b in -this case) it will keep the object alive, to avoid being a dangling pointer. - -You can also register getter and setter functions and make them look as if they -were a public data member. Consider the following class:: - - class A - { - public: - void set_a(int x) { a = x; } - int get_a() const { return a; } - - private: - int a; - }; - -It can be registered as if it had a public data member a like this:: - - class_("A") - .property("a", &A::get_a, &A::set_a) - -This way the ``get_a()`` and ``set_a()`` functions will be called instead of -just writing to the data member. If you want to make it read only you can just -omit the last parameter. Please note that the get function **has to be -const**, otherwise it won't compile. This seems to be a common source of errors. - - -Enums ------ - -If your class contains enumerated constants (enums), you can register them as -well to make them available in Lua. Note that they will not be type safe, all -enums are integers in Lua, and all functions that takes an enum, will accept -any integer. You register them like this:: - - module(L) - [ - class_("A") - .enum_("constants") - [ - value("my_enum", 4), - value("my_2nd_enum", 7), - value("another_enum", 6) - ] - ]; - -In Lua they are accessed like any data member, except that they are read-only -and reached on the class itself rather than on an instance of the class. - -:: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - > print(A.my_enum) - 4 - > print(A.another_enum) - 6 - - -Operators ---------- - -To bind operators you have to include ````. - -The mechanism for registering operators on your class is pretty simple. You use -a global name ``luabind::self`` to refer to the class itself and then you just -write the operator expression inside the ``def()`` call. This class:: - - struct vec - { - vec operator+(int s); - }; - -Is registered like this: - -.. parsed-literal:: - - module(L) - [ - class_("vec") - .def(**self + int()**) - ]; - -This will work regardless if your plus operator is defined inside your class or -as a free function. - -If your operator is const (or, when defined as a free function, takes a const -reference to the class itself) you have to use ``const_self`` instead of -``self``. Like this: - -.. parsed-literal:: - - module(L) - [ - class_("vec") - .def(**const_self** + int()) - ]; - -The operators supported are those available in Lua: - -.. parsed-literal:: - - + - \* / == < <= - -This means, no in-place operators. The equality operator (``==``) has a little -hitch; it will not be called if the references are equal. This means that the -``==`` operator has to do pretty much what's it's expected to do. - -Lua does not support operators such as ``!=``, ``>`` or ``>=``. That's why you -can only register the operators listed above. When you invoke one of the -mentioned operators, lua will define it in terms of one of the avaliable -operators. - -In the above example the other operand type is instantiated by writing -``int()``. If the operand type is a complex type that cannot easily be -instantiated you can wrap the type in a class called ``other<>``. For example: - -To register this class, we don't want to instantiate a string just to register -the operator. - -:: - - struct vec - { - vec operator+(std::string); - }; - -Instead we use the ``other<>`` wrapper like this: - -.. parsed-literal:: - - module(L) - [ - class_("vec") - .def(self + **other()**) - ]; - -To register an application (function call-) operator: - -.. parsed-literal:: - - module(L) - [ - class_("vec") - .def( **self(int())** ) - ]; - -There's one special operator. In Lua it's called ``__tostring``, it's not -really an operator. It is used for converting objects to strings in a standard -way in Lua. If you register this functionality, you will be able to use the lua -standard function ``tostring()`` for converting your object to a string. - -To implement this operator in C++ you should supply an ``operator<<`` for -std::ostream. Like this example: - -.. parsed-literal:: - - class number {}; - std::ostream& operator<<(std::ostream&, number&); - - ... - - module(L) - [ - class_("number") - .def(**tostring(self)**) - ]; - - -Nested scopes and static functions ----------------------------------- - -It is possible to add nested scopes to a class. This is useful when you need -to wrap a nested class, or a static function. - -.. parsed-literal:: - - class_("foo") - .def(constructor<>()) - **.scope - [ - class_("nested"), - def("f", &f) - ]**; - -In this example, ``f`` will behave like a static member function of the class -``foo``, and the class ``nested`` will behave like a nested class of ``foo``. - -It's also possible to add namespace's to classes using the same syntax. - - -Derived classes ---------------- - -If you want to register classes that derives from other classes, you can -specify a template parameter ``bases<>`` to the ``class_`` instantiation. The -following hierarchy:: - - struct A {}; - struct B : A {}; - -Would be registered like this:: - - module(L) - [ - class_("A"), - class_("B") - ]; - -If you have multiple inheritance you can specify more than one base. If B would -also derive from a class C, it would be registered like this:: - - module(L) - [ - class_ >("B") - ]; - -Note that you can omit ``bases<>`` when using single inheritance. - -.. note:: - If you don't specify that classes derive from each other, luabind will not - be able to implicitly cast pointers between the types. - - -Smart pointers --------------- - -When you register a class you can tell luabind that all instances of that class -should be held by some kind of smart pointer (boost::shared_ptr for instance). -You do this by giving the holder type as an extra template parameter to -the ``class_`` you are constructing, like this:: - - module(L) - [ - class_ >("A") - ]; - -You also have to supply two functions for your smart pointer. One that returns -the type of const version of the smart pointer type (boost::shared_ptr -in this case). And one function that extracts the raw pointer from the smart -pointer. The first function is needed because luabind has to allow the -non-const -> conversion when passing values from Lua to C++. The second -function is needed when Lua calls member functions on held types, the this -pointer must be a raw pointer, it is also needed to allow the smart_pointer -> -raw_pointer conversion from Lua to C++. They look like this:: - - namespace luabind { - - template - T* get_pointer(boost::shared_ptr& p) - { - return p.get(); - } - - template - boost::shared_ptr* - get_const_holder(boost::shared_ptr*) - { - return 0; - } - } - -The second function will only be used to get a compile time mapping -of ``boost::shared_ptr`` to its const version, -``boost::shared_ptr``. It will never be called, so the -return value doesn't matter (only the return type). - -The conversion that works are (given that B is a base class of A): - -.. topic:: From Lua to C++ - - ========================= ======================== - Source Target - ========================= ======================== - ``holder_type`` ``A*`` - ``holder_type`` ``B*`` - ``holder_type`` ``A const*`` - ``holder_type`` ``B const*`` - ``holder_type`` ``holder_type`` - ``holder_type`` ``holder_type`` - ``holder_type`` ``A const*`` - ``holder_type`` ``B const*`` - ``holder_type`` ``holder_type`` - ========================= ======================== - -.. topic:: From C++ to Lua - - =============================== ======================== - Source Target - =============================== ======================== - ``holder_type`` ``holder_type`` - ``holder_type`` ``holder_type`` - ``holder_type const&`` ``holder_type`` - ``holder_type const&`` ``holder_type`` - =============================== ======================== - -When using a holder type, it can be useful to know if the pointer is valid -(i.e. not null). For example when using std::auto_ptr, the holder will be -invalidated when passed as a parameter to a function. For this purpose there -is a member of all object instances in luabind: ``__ok``. :: - - struct X {}; - void f(std::auto_ptr); - - module(L) - [ - class_ >("X") - .def(constructor<>()), - - def("f", &f) - ]; - -:: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - > a = X() - > f(a) - > print a.__ok - false - - -When registering a hierarchy of classes, where all instances are to be held -by a smart pointer, all the classes should have the baseclass' holder type. -Like this: - -.. parsed-literal:: - - module(L) - [ - class_ >("base") - .def(constructor<>()), - class_** >("base") - .def(constructor<>()) - ]; - -Internally, luabind will do the necessary conversions on the raw pointers, which -are first extracted from the holder type. - - -Splitting class registrations ------------------------------ - -In some situations it may be desirable to split a registration of a class -across different compilation units. Partly to save rebuild time when changing -in one part of the binding, and in some cases compiler limits may force you -to split it. To do this is very simple. Consider the following sample code:: - - void register_part1(class_& x) - { - x.def(/*...*/); - } - - void register_part2(class_& x) - { - x.def(/*...*/); - } - - void register_(lua_State* L) - { - class_ x("x"); - - register_part1(x); - register_part2(x); - - module(L) [ x ]; - } - -Here, the class ``X`` is registered in two steps. The two functions -``register_part1`` and ``register_part2`` may be put in separate compilation -units. - -To separate the module registration and the classes to be registered, see -`Splitting up the registration`_. - -Object -====== - -Since functions have to be able to take Lua values (of variable type) we need a -wrapper around them. This wrapper is called ``luabind::object``. If the -function you register takes an object, it will match any Lua value. To use it, -you need to include ````. - -.. topic:: Synopsis - - .. parsed-literal:: - - class object - { - public: - template - object(lua_State\*, T const& value); - object(from_stack const&); - object(object const&); - object(); - - ~object(); - - lua_State\* interpreter() const; - void push() const; - bool is_valid() const; - operator *safe_bool_type* () const; - - template - *implementation-defined* operator[](Key const&); - - template - object& operator=(T const&); - object& operator=(object const&); - - bool operator==(object const&) const; - bool operator<(object const&) const; - bool operator<=(object const&) const; - bool operator>(object const&) const; - bool operator>=(object const&) const; - bool operator!=(object const&) const; - - template - *implementation-defined* operator[](T const& key) const - - void swap(object&); - - *implementation-defined* operator()(); - - template - *implementation-defined* operator()(A0 const& a0); - - template - *implementation-defined* operator()(A0 const& a0, A1 const& a1); - - /\* ... \*/ - }; - -When you have a Lua object, you can assign it a new value with the assignment -operator (=). When you do this, the ``default_policy`` will be used to make the -conversion from C++ value to Lua. If your ``luabind::object`` is a table you -can access its members through the operator[] or the Iterators_. The value -returned from the operator[] is a proxy object that can be used both for -reading and writing values into the table (using operator=). - -Note that it is impossible to know if a Lua value is indexable or not -(``lua_gettable`` doesn't fail, it succeeds or crashes). This means that if -you're trying to index something that cannot be indexed, you're on your own. -Lua will call its ``panic()`` function. See `lua panic`_. - -There are also free functions that can be used for indexing the table, see -`Related functions`_. - -The constructor that takes a ``from_stack`` object is used when you want to -initialize the object with a value from the lua stack. The ``from_stack`` -type has the following constructor:: - - from_stack(lua_State* L, int index); - -The index is an ordinary lua stack index, negative values are indexed from the -top of the stack. You use it like this:: - - object o(from_stack(L, -1)); - -This will create the object ``o`` and copy the value from the top of the lua stack. - -The ``interpreter()`` function returns the Lua state where this object is stored. -If you want to manipulate the object with Lua functions directly you can push -it onto the Lua stack by calling ``push()``. - -The operator== will call lua_equal() on the operands and return its result. - -The ``is_valid()`` function tells you whether the object has been initialized -or not. When created with its default constructor, objects are invalid. To make -an object valid, you can assign it a value. If you want to invalidate an object -you can simply assign it an invalid object. - -The ``operator safe_bool_type()`` is equivalent to ``is_valid()``. This means -that these snippets are equivalent:: - - object o; - // ... - if (o) - { - // ... - } - - ... - - object o; - // ... - if (o.is_valid()) - { - // ... - } - -The application operator will call the value as if it was a function. You can -give it any number of parameters (currently the ``default_policy`` will be used -for the conversion). The returned object refers to the return value (currently -only one return value is supported). This operator may throw ``luabind::error`` -if the function call fails. If you want to specify policies to your function -call, you can use index-operator (operator[]) on the function call, and give -the policies within the [ and ]. Like this:: - - my_function_object( - 2 - , 8 - , new my_complex_structure(6) - ) [ adopt(_3) ]; - -This tells luabind to make Lua adopt the ownership and responsibility for the -pointer passed in to the lua-function. - -It's important that all instances of object have been destructed by the time -the Lua state is closed. The object will keep a pointer to the lua state and -release its Lua object in its destructor. - -Here's an example of how a function can use a table:: - - void my_function(object const& table) - { - if (type(table) == LUA_TTABLE) - { - table["time"] = std::clock(); - table["name"] = std::rand() < 500 ? "unusual" : "usual"; - - std::cout << object_cast(table[5]) << "\n"; - } - } - -If you take a ``luabind::object`` as a parameter to a function, any Lua value -will match that parameter. That's why we have to make sure it's a table before -we index into it. - -:: - - std::ostream& operator<<(std::ostream&, object const&); - -There's a stream operator that makes it possible to print objects or use -``boost::lexical_cast`` to convert it to a string. This will use lua's string -conversion function. So if you convert a C++ object with a ``tostring`` -operator, the stream operator for that type will be used. - -Iterators ---------- - -There are two kinds of iterators. The normal iterator that will use the metamethod -of the object (if there is any) when the value is retrieved. This iterator is simply -called ``luabind::iterator``. The other iterator is called ``luabind::raw_iterator`` -and will bypass the metamethod and give the true contents of the table. They have -identical interfaces, which implements the ForwardIterator_ concept. Apart from -the members of standard iterators, they have the following members and constructors: - -.. _ForwardIterator: http://www.sgi.com/tech/stl/ForwardIterator.html - -.. parsed-literal:: - - class iterator - { - iterator(); - iterator(object const&); - - object key() const; - - *standard iterator members* - }; - -The constructor that takes a ``luabind::object`` is actually a template that can be -used with object. Passing an object as the parameter to the iterator will -construct the iterator to refer to the first element in the object. - -The default constructor will initialize the iterator to the one-past-end -iterator. This is used to test for the end of the sequence. - -The value type of the iterator is an implementation defined proxy type which -supports the same operations as ``luabind::object``. Which means that in most -cases you can just treat it as an ordinary object. The difference is that any -assignments to this proxy will result in the value being inserted at the -iterators position, in the table. - -The ``key()`` member returns the key used by the iterator when indexing the -associated Lua table. - -An example using iterators:: - - for (iterator i(globals(L)["a"]), end; i != end; ++i) - { - *i = 1; - } - -The iterator named ``end`` will be constructed using the default constructor -and hence refer to the end of the sequence. This example will simply iterate -over the entries in the global table ``a`` and set all its values to 1. - -Related functions ------------------ - -There are a couple of functions related to objects and tables. - -:: - - int type(object const&); - -This function will return the lua type index of the given object. -i.e. ``LUA_TNIL``, ``LUA_TNUMBER`` etc. - -:: - - template - void settable(object const& o, K const& key, T const& value); - template - object gettable(object const& o, K const& key); - template - void rawset(object const& o, K const& key, T const& value); - template - object rawget(object const& o, K const& key); - -These functions are used for indexing into tables. ``settable`` and ``gettable`` -translates into calls to ``lua_settable`` and ``lua_gettable`` respectively. Which -means that you could just as well use the index operator of the object. - -``rawset`` and ``rawget`` will translate into calls to ``lua_rawset`` and -``lua_rawget`` respectively. So they will bypass any metamethod and give you the -true value of the table entry. - -:: - - template - T object_cast(object const&); - template - T object_cast(object const&, Policies); - - template - boost::optional object_cast_nothrow(object const&); - template - boost::optional object_cast_nothrow(object const&, Policies); - -The ``object_cast`` function casts the value of an object to a C++ value. -You can supply a policy to handle the conversion from lua to C++. If the cast -cannot be made a ``cast_failed`` exception will be thrown. If you have -defined LUABIND_NO_ERROR_CHECKING (see `Build options`_) no checking will occur, -and if the cast is invalid the application may very well crash. The nothrow -versions will return an uninitialized ``boost::optional`` object, to -indicate that the cast could not be performed. - -The function signatures of all of the above functions are really templates -for the object parameter, but the intention is that you should only pass -objects in there, that's why it's left out of the documentation. - -:: - - object globals(lua_State*); - object registry(lua_State*); - -These functions return the global environment table and the registry table respectively. - -:: - - object newtable(lua_State*); - -This function creates a new table and returns it as an object. - -Assigning nil -------------- - -To set a table entry to ``nil``, you can use ``luabind::nil``. It will avoid -having to take the detour by first assigning ``nil`` to an object and then -assign that to the table entry. It will simply result in a ``lua_pushnil()`` -call, instead of copying an object. - -Example:: - - using luabind; - object table = newtable(L); - table["foo"] = "bar"; - - // now, clear the "foo"-field - table["foo"] = nil; - - -Defining classes in Lua -======================= - -In addition to binding C++ functions and classes with Lua, luabind also provide -an OO-system in Lua. :: - - class 'lua_testclass' - - function lua_testclass:__init(name) - self.name = name - end - - function lua_testclass:print() - print(self.name) - end - - a = lua_testclass('example') - a:print() - - -Inheritance can be used between lua-classes:: - - class 'derived' (lua_testclass) - - function derived:__init() super('derived name') - end - - function derived:print() - print('Derived:print() -> ') - lua_testclass.print(self) - end - -Here the ``super`` keyword is used in the constructor to initialize the base -class. The user is required to call ``super`` first in the constructor. - -As you can see in this example, you can call the base class member functions. -You can find all member functions in the base class, but you will have to give -the this-pointer (``self``) as first argument. - - -Deriving in lua ---------------- - -It is also possible to derive Lua classes from C++ classes, and override -virtual functions with Lua functions. To do this we have to create a wrapper -class for our C++ base class. This is the class that will hold the Lua object -when we instantiate a Lua class. - -:: - - class base - { - public: - base(const char* s) - { std::cout << s << "\n"; } - - virtual void f(int a) - { std::cout << "f(" << a << ")\n"; } - }; - - struct base_wrapper : base, luabind::wrap_base - { - base_wrapper(const char* s) - : base(s) - {} - - virtual void f(int a) - { - call("f", a); - } - - static void default_f(base* ptr, int a) - { - return ptr->base::f(a); - } - }; - - ... - - module(L) - [ - class_("base") - .def(constructor()) - .def("f", &base::f, &base_wrapper::default_f) - ]; - -.. Important:: - Since MSVC6.5 doesn't support explicit template parameters - to member functions, instead of using the member function ``call()`` - you call a free function ``call_member()`` and pass the this-pointer - as first parameter. - -Note that if you have both base classes and a base class wrapper, you must give -both bases and the base class wrapper type as template parameter to -``class_`` (as done in the example above). The order in which you specify -them is not important. You must also register both the static version and the -virtual version of the function from the wrapper, this is necessary in order -to allow luabind to use both dynamic and static dispatch when calling the function. - -.. Important:: - It is extremely important that the signatures of the static (default) function - is identical to the virtual function. The fact that one of them is a free - function and the other a member function doesn't matter, but the parameters - as seen from lua must match. It would not have worked if the static function - took a ``base_wrapper*`` as its first argument, since the virtual function - takes a ``base*`` as its first argument (its this pointer). There's currently - no check in luabind to make sure the signatures match. - -If we didn't have a class wrapper, it would not be possible to pass a Lua class -back to C++. Since the entry points of the virtual functions would still point -to the C++ base class, and not to the functions defined in Lua. That's why we -need one function that calls the base class' real function (used if the lua -class doesn't redefine it) and one virtual function that dispatches the call -into luabind, to allow it to select if a Lua function should be called, or if -the original function should be called. If you don't intend to derive from a -C++ class, or if it doesn't have any virtual member functions, you can register -it without a class wrapper. - -You don't need to have a class wrapper in order to derive from a class, but if -it has virtual functions you may have silent errors. - -.. Unnecessary? The rule of thumb is: - If your class has virtual functions, create a wrapper type, if it doesn't - don't create a wrapper type. - -The wrappers must derive from ``luabind::wrap_base``, it contains a Lua reference -that will hold the Lua instance of the object to make it possible to dispatch -virtual function calls into Lua. This is done through an overloaded member function:: - - template - Ret call(char const* name, ...) - -Its used in a similar way as ``call_function``, with the exception that it doesn't -take a ``lua_State`` pointer, and the name is a member function in the Lua class. - -.. warning:: - - The current implementation of ``call_member`` is not able to distinguish const - member functions from non-const. If you have a situation where you have an overloaded - virtual function where the only difference in their signatures is their constness, the - wrong overload will be called by ``call_member``. This is rarely the case though. - -Object identity -~~~~~~~~~~~~~~~ - -When a pointer or reference to a registered class with a wrapper is passed -to Lua, luabind will query for it's dynamic type. If the dynamic type -inherits from ``wrap_base``, object identity is preserved. - -:: - - struct A { .. }; - struct A_wrap : A, wrap_base { .. }; - - A* f(A* ptr) { return ptr; } - - module(L) - [ - class_("A"), - def("f", &f) - ]; - -:: - - > class 'B' (A) - > x = B() - > assert(x == f(x)) -- object identity is preserved when object is - -- passed through C++ - -This functionality relies on RTTI being enabled (that ``LUABIND_NO_RTTI`` is -not defined). - -Overloading operators ---------------------- - -You can overload most operators in Lua for your classes. You do this by simply -declaring a member function with the same name as an operator (the name of the -metamethods in Lua). The operators you can overload are: - - - ``__add`` - - ``__sub`` - - ``__mul`` - - ``__div`` - - ``__pow`` - - ``__lt`` - - ``__le`` - - ``__eq`` - - ``__call`` - - ``__unm`` - - ``__tostring`` - -``__tostring`` isn't really an operator, but it's the metamethod that is called -by the standard library's ``tostring()`` function. There's one strange behavior -regarding binary operators. You are not guaranteed that the self pointer you -get actually refers to an instance of your class. This is because Lua doesn't -distinguish the two cases where you get the other operand as left hand value or -right hand value. Consider the following examples:: - - class 'my_class' - - function my_class:__init(v) - self.val = v - end - - function my_class:__sub(v) - return my_class(self.val - v.val) - end - - function my_class:__tostring() - return self.val - end - -This will work well as long as you only subtracts instances of my_class with -each other. But If you want to be able to subtract ordinary numbers from your -class too, you have to manually check the type of both operands, including the -self object. :: - - function my_class:__sub(v) - if (type(self) == 'number') then - return my_class(self - v.val) - - elseif (type(v) == 'number') then - return my_class(self.val - v) - - else - -- assume both operands are instances of my_class - return my_class(self.val - v.val) - - end - end - -The reason why ``__sub`` is used as an example is because subtraction is not -commutative (the order of the operands matters). That's why luabind cannot -change order of the operands to make the self reference always refer to the -actual class instance. - -If you have two different Lua classes with an overloaded operator, the operator -of the right hand side type will be called. If the other operand is a C++ class -with the same operator overloaded, it will be prioritized over the Lua class' -operator. If none of the C++ overloads matches, the Lua class operator will be -called. - - -Finalizers ----------- - -If an object needs to perform actions when it's collected we provide a -``__finalize`` function that can be overridden in lua-classes. The -``__finalize`` functions will be called on all classes in the inheritance -chain, starting with the most derived type. :: - - ... - - function lua_testclass:__finalize() - -- called when the an object is collected - end - - -Slicing -------- - -If your lua C++ classes don't have wrappers (see `Deriving in lua`_) and -you derive from them in lua, they may be sliced. Meaning, if an object -is passed into C++ as a pointer to its base class, the lua part will be -separated from the C++ base part. This means that if you call virtual -functions on that C++ object, they will not be dispatched to the lua -class. It also means that if you adopt the object, the lua part will be -garbage collected. - -:: - - +--------------------+ - | C++ object | <- ownership of this part is transferred - | | to c++ when adopted - +--------------------+ - | lua class instance | <- this part is garbage collected when - | and lua members | instance is adopted, since it cannot - +--------------------+ be held by c++. - - -The problem can be illustrated by this example:: - - struct A {}; - - A* filter_a(A* a) { return a; } - void adopt_a(A* a) { delete a; } - - -:: - - using namespace luabind; - - module(L) - [ - class_("A"), - def("filter_a", &filter_a), - def("adopt_a", &adopt_a, adopt(_1)) - ] - - -In lua:: - - a = A() - b = filter_a(a) - adopt_a(b) - -In this example, lua cannot know that ``b`` actually is the same object as -``a``, and it will therefore consider the object to be owned by the C++ side. -When the ``b`` pointer then is adopted, a runtime error will be raised because -an object not owned by lua is being adopted to C++. - -If you have a wrapper for your class, none of this will happen, see -`Object identity`_. - - -Exceptions -========== - -If any of the functions you register throws an exception when called, that -exception will be caught by luabind and converted to an error string and -``lua_error()`` will be invoked. If the exception is a ``std::exception`` or a -``const char*`` the string that is pushed on the Lua stack, as error message, -will be the string returned by ``std::exception::what()`` or the string itself -respectively. If the exception is unknown, a generic string saying that the -function threw an exception will be pushed. - -Exceptions thrown from user defined functions have to be caught by luabind. If -they weren't they would be thrown through Lua itself, which is usually compiled -as C code and doesn't support the stack-unwinding that exceptions imply. - -Any function that invokes Lua code may throw ``luabind::error``. This exception -means that a Lua run-time error occurred. The error message is found on top of -the Lua stack. The reason why the exception doesn't contain the error string -itself is because it would then require heap allocation which may fail. If an -exception class throws an exception while it is being thrown itself, the -application will be terminated. - -Error's synopsis is:: - - class error : public std::exception - { - public: - error(lua_State*); - lua_State* state() const throw(); - virtual const char* what() const throw(); - }; - -The state function returns a pointer to the Lua state in which the error was -thrown. This pointer may be invalid if you catch this exception after the lua -state is destructed. If the Lua state is valid you can use it to retrieve the -error message from the top of the Lua stack. - -An example of where the Lua state pointer may point to an invalid state -follows:: - - struct lua_state - { - lua_state(lua_State* L): m_L(L) {} - ~lua_state() { lua_close(m_L); } - operator lua_State*() { return m_L; } - lua_State* m_L; - }; - - int main() - { - try - { - lua_state L = lua_open(); - /* ... */ - } - catch(luabind::error& e) - { - lua_State* L = e.state(); - // L will now point to the destructed - // Lua state and be invalid - /* ... */ - } - } - -There's another exception that luabind may throw: ``luabind::cast_failed``, -this exception is thrown from ``call_function<>`` or ``call_member<>``. It -means that the return value from the Lua function couldn't be converted to -a C++ value. It is also thrown from ``object_cast<>`` if the cast cannot -be made. - -The synopsis for ``luabind::cast_failed`` is:: - - class cast_failed : public std::exception - { - public: - cast_failed(lua_State*); - lua_State* state() const throw(); - LUABIND_TYPE_INFO info() const throw(); - virtual const char* what() const throw(); - }; - -Again, the state member function returns a pointer to the Lua state where the -error occurred. See the example above to see where this pointer may be invalid. - -The info member function returns the user defined ``LUABIND_TYPE_INFO``, which -defaults to a ``const std::type_info*``. This type info describes the type that -we tried to cast a Lua value to. - -If you have defined ``LUABIND_NO_EXCEPTIONS`` none of these exceptions will be -thrown, instead you can set two callback functions that are called instead. -These two functions are only defined if ``LUABIND_NO_EXCEPTIONS`` are defined. - -:: - - luabind::set_error_callback(void(*)(lua_State*)) - -The function you set will be called when a runtime-error occur in Lua code. You -can find an error message on top of the Lua stack. This function is not -expected to return, if it does luabind will call ``std::terminate()``. - -:: - - luabind::set_cast_failed_callback(void(*)(lua_State*, LUABIND_TYPE_INFO)) - -The function you set is called instead of throwing ``cast_failed``. This function -is not expected to return, if it does luabind will call ``std::terminate()``. - - -Policies -======== - -Sometimes it is necessary to control how luabind passes arguments and return -value, to do this we have policies. All policies use an index to associate -them with an argument in the function signature. These indices are ``result`` -and ``_N`` (where ``N >= 1``). When dealing with member functions ``_1`` refers -to the ``this`` pointer. - -.. contents:: Policies currently implemented - :local: - :depth: 1 - -.. include:: adopt.rst -.. include:: dependency.rst -.. include:: out_value.rst -.. include:: pure_out_value.rst -.. include:: return_reference_to.rst -.. include:: copy.rst -.. include:: discard_result.rst -.. include:: return_stl_iterator.rst -.. include:: raw.rst -.. include:: yield.rst - -.. old policies section - =================================================== - - Copy - ---- - - This will make a copy of the parameter. This is the default behavior when - passing parameters by-value. Note that this can only be used when passing from - C++ to Lua. This policy requires that the parameter type has a copy - constructor. - - To use this policy you need to include ``luabind/copy_policy.hpp``. - - - Adopt - ----- - - This will transfer ownership of the parameter. - - Consider making a factory function in C++ and exposing it to lua:: - - base* create_base() - { - return new base(); - } - - ... - - module(L) - [ - def("create_base", create_base) - ]; - - Here we need to make sure Lua understands that it should adopt the pointer - returned by the factory-function. This can be done using the adopt-policy. - - :: - - module(L) - [ - def(L, "create_base", adopt(return_value)) - ]; - - To specify multiple policies we just separate them with '+'. - - :: - - base* set_and_get_new(base* ptr) - { - base_ptrs.push_back(ptr); - return new base(); - } - - module(L) - [ - def("set_and_get_new", &set_and_get_new, - adopt(return_value) + adopt(_1)) - ]; - - When Lua adopts a pointer, it will call delete on it. This means that it cannot - adopt pointers allocated with another allocator than new (no malloc for - example). - - To use this policy you need to include ``luabind/adopt_policy.hpp``. - - - Dependency - ---------- - - The dependency policy is used to create life-time dependencies between values. - Consider the following example:: - - struct A - { - B member; - - const B& get_member() - { - return member; - } - }; - - When wrapping this class, we would do something like:: - - module(L) - [ - class_("A") - .def(constructor<>()) - .def("get_member", &A::get_member) - ]; - - - However, since the return value of get_member is a reference to a member of A, - this will create some life-time issues. For example:: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - a = A() - b = a:get_member() -- b points to a member of a - a = nil - collectgarbage(0) -- since there are no references left to a, it is - -- removed - -- at this point, b is pointing into a removed object - - When using the dependency-policy, it is possible to tell luabind to tie the - lifetime of one object to another, like this:: - - module(L) - [ - class_("A") - .def(constructor<>()) - .def("get_member", &A::get_member, dependency(result, _1)) - ]; - - This will create a dependency between the return-value of the function, and the - self-object. This means that the self-object will be kept alive as long as the - result is still alive. :: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - a = A() - b = a:get_member() -- b points to a member of a - a = nil - collectgarbage(0) -- a is dependent on b, so it isn't removed - b = nil - collectgarbage(0) -- all dependencies to a gone, a is removed - - To use this policy you need to include ``luabind/dependency_policy.hpp``. - - - Return reference to - ------------------- - - It is very common to return references to arguments or the this-pointer to - allow for chaining in C++. - - :: - - struct A - { - float val; - - A& set(float v) - { - val = v; - return *this; - } - }; - - When luabind generates code for this, it will create a new object for the - return-value, pointing to the self-object. This isn't a problem, but could be a - bit inefficient. When using the return_reference_to-policy we have the ability - to tell luabind that the return-value is already on the Lua stack. - - :: - - module(L) - [ - class_("A") - .def(constructor<>()) - .def("set", &A::set, return_reference_to(_1)) - ]; - - Instead of creating a new object, luabind will just copy the object that is - already on the stack. - - .. warning:: - This policy ignores all type information and should be used only it - situations where the parameter type is a perfect match to the - return-type (such as in the example). - - To use this policy you need to include ``luabind/return_reference_to_policy.hpp``. - - - Out value - --------- - - This policy makes it possible to wrap functions that take non const references - as its parameters with the intention to write return values to them. - - :: - - void f(float& val) { val = val + 10.f; } - - or - - :: - - void f(float* val) { *val = *val + 10.f; } - - Can be wrapped by doing:: - - module(L) - [ - def("f", &f, out_value(_1)) - ]; - - When invoking this function from Lua it will return the value assigned to its - parameter. - - :: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - > a = f(10) - > print(a) - 20 - - When this policy is used in conjunction with user define types we often need - to do ownership transfers. - - :: - - struct A; - - void f1(A*& obj) { obj = new A(); } - void f2(A** obj) { *obj = new A(); } - - Here we need to make sure luabind takes control over object returned, for - this we use the adopt policy:: - - module(L) - [ - class_("A"), - def("f1", &f1, out_value(_1, adopt(_2))) - def("f2", &f2, out_value(_1, adopt(_2))) - ]; - - Here we are using adopt as an internal policy to out_value. The index - specified, _2, means adopt will be used to convert the value back to Lua. - Using _1 means the policy will be used when converting from Lua to C++. - - To use this policy you need to include ``luabind/out_value_policy.hpp``. - - Pure out value - -------------- - - This policy works in exactly the same way as out_value, except that it - replaces the parameters with default-constructed objects. - - :: - - void get(float& x, float& y) - { - x = 3.f; - y = 4.f; - } - - ... - - module(L) - [ - def("get", &get, - pure_out_value(_1) + pure_out_value(_2)) - ]; - - :: - - Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio - > x, y = get() - > print(x, y) - 3 5 - - Like out_value, it is possible to specify an internal policy used then - converting the values back to Lua. - - :: - - void get(test_class*& obj) - { - obj = new test_class(); - } - - ... - - module(L) - [ - def("get", &get, pure_out_value(_1, adopt(_1))) - ]; - - - Discard result - -------------- - - This is a very simple policy which makes it possible to throw away - the value returned by a C++ function, instead of converting it to - Lua. This example makes sure the this reference never gets converted - to Lua. - - :: - - struct simple - { - simple& set_name(const std::string& n) - { - name = n; - return *this; - } - - std::string name; - }; - - ... - - module(L) - [ - class_("simple") - .def("set_name", &simple::set_name, discard_result) - ]; - - To use this policy you need to include ``luabind/discard_result_policy.hpp``. - - - Return STL iterator - ------------------- - - This policy converts an STL container to a generator function that can be used - in Lua to iterate over the container. It works on any container that defines - ``begin()`` and ``end()`` member functions (they have to return iterators). It - can be used like this:: - - struct A - { - std::vector names; - }; - - - module(L) - [ - class_("A") - .def_readwrite("names", &A::names, return_stl_iterator) - ]; - - The Lua code to iterate over the container:: - - a = A() - - for name in a.names do - print(name) - end - - - To use this policy you need to include ``luabind/iterator_policy.hpp``. - - - Yield - ----- - - This policy will cause the function to always yield the current thread when - returning. See the Lua manual for restrictions on yield. - - -Splitting up the registration -============================= - -It is possible to split up a module registration into several -translation units without making each registration dependent -on the module it's being registered in. - -``a.cpp``:: - - luabind::scope register_a() - { - return - class_("a") - .def("f", &a::f) - ; - } - -``b.cpp``:: - - luabind::scope register_b() - { - return - class_("b") - .def("g", &b::g) - ; - } - -``module_ab.cpp``:: - - luabind::scope register_a(); - luabind::scope register_b(); - - void register_module(lua_State* L) - { - module("b", L) - [ - register_a(), - register_b() - ]; - } - - -Error Handling -============== - -pcall errorfunc ---------------- - -As mentioned in the `Lua documentation`_, it is possible to pass an -error handler function to ``lua_pcall()``. Luabind makes use of -``lua_pcall()`` internally when calling member functions and free functions. -It is possible to set the error handler function that Luabind will use -globally:: - - typedef int(*pcall_callback_fun)(lua_State*); - void set_pcall_callback(pcall_callback_fun fn); - -This is primarily useful for adding more information to the error message -returned by a failed protected call. For more information on how to use the -pcall_callback function, see ``errfunc`` under the -`pcall section of the lua manual`_. - -For more information on how to retrieve debugging information from lua, see -`the debug section of the lua manual`_. - -The message returned by the ``pcall_callback`` is accessable as the top lua -value on the stack. For example, if you would like to access it as a luabind -object, you could do like this:: - - catch(error& e) - { - object error_msg(from_stack(e.state(), -1)); - std::cout << error_msg << std::endl; - } - -.. _Lua documentation: http://www.lua.org/manual/5.0/manual.html -.. _`pcall section of the lua manual`: http://www.lua.org/manual/5.0/manual.html#3.15 -.. _`the debug section of the lua manual`: http://www.lua.org/manual/5.0/manual.html#4 - -file and line numbers ---------------------- - -If you want to add file name and line number to the error messages generated -by luabind you can define your own `pcall errorfunc`_. You may want to modify -this callback to better suit your needs, but the basic functionality could be -implemented like this:: - - int add_file_and_line(lua_State* L) - { - lua_Debug d; - lua_getstack(L, 1, &d); - lua_getinfo(L, "Sln", &d); - std::string err = lua_tostring(L, -1); - lua_pop(L, 1); - std::stringstream msg; - msg << d.short_src << ":" << d.currentline; - - if (d.name != 0) - { - msg << "(" << d.namewhat << " " << d.name << ")"; - } - msg << " " << err; - lua_pushstring(L, msg.str().c_str()); - return 1; - } - -For more information about what kind of information you can add to the error -message, see `the debug section of the lua manual`_. - -Note that the callback set by ``set_pcall_callback()`` will only be used when -luabind executes lua code. Anytime when you call ``lua_pcall`` yourself, you -have to supply your function if you want error messages translated. - -lua panic ---------- - -When lua encounters a fatal error caused by a bug from the C/C++ side, it will -call its internal panic function. This can happen, for example, when you call -``lua_gettable`` on a value that isn't a table. If you do the same thing from -within lua, it will of course just fail with an error message. - -The default panic function will ``exit()`` the application. If you want to -handle this case without terminating your application, you can define your own -panic function using ``lua_atpanic``. The best way to continue from the panic -function is to make sure lua is compiled as C++ and throw an exception from -the panic function. Throwing an exception instead of using ``setjmp`` and -``longjmp`` will make sure the stack is correctly unwound. - -When the panic function is called, the lua state is invalid, and the only -allowed operation on it is to close it. - -For more information, see the `lua manual section 3.19`_. - -.. _`lua manual section 3.19`: http://www.lua.org/manual/5.0/manual.html#3.19 - -structured exceptions (MSVC) ----------------------------- - -Since lua is generally built as a C library, any callbacks called from lua -cannot under any circumstance throw an exception. Because of that, luabind has -to catch all exceptions and translate them into proper lua errors (by calling -``lua_error()``). This means we have a ``catch(...) {}`` in there. - -In Visual Studio, ``catch (...)`` will not only catch C++ exceptions, it will -also catch structured exceptions, such as segmentation fault. This means that if -your function, that gets called from luabind, makes an invalid memory -adressing, you won't notice it. All that will happen is that lua will return -an error message saying "unknown exception". - -To remedy this, you can create your own *exception translator*:: - - void straight_to_debugger(unsigned int, _EXCEPTION_POINTERS*) - { throw; } - - #ifdef _MSC_VER - ::_set_se_translator(straight_to_debugger); - #endif - -This will make structured exceptions, like segmentation fault, to actually get -caught by the debugger. - - -Error messages --------------- - -These are the error messages that can be generated by luabind, with a more -in-depth explanation. - -- .. parsed-literal:: - - the attribute '*class-name.attribute-name*' is read only - - There is no data member named *attribute-name* in the class *class-name*, - or there's no setter-function registered on that property name. See the - Properties_ section. - -- .. parsed-literal:: - - the attribute '*class-name.attribute-name*' is of type: (*class-name*) and does not match (*class_name*) - - This error is generated if you try to assign an attribute with a value - of a type that cannot be converted to the attribute's type. - - -- .. parsed-literal:: - - *class-name()* threw an exception, *class-name:function-name()* threw an exception - - The class' constructor or member function threw an unknown exception. - Known exceptions are const char*, std::exception. See the - `exceptions`_ section. - -- .. parsed-literal:: - - no overload of '*class-name:function-name*' matched the arguments (*parameter-types*) - no match for function call '*function-name*' with the parameters (*parameter-types*) - no constructor of *class-name* matched the arguments (*parameter-types*) - no operator *operator-name* matched the arguments (*parameter-types*) - - No function/operator with the given name takes the parameters you gave - it. You have either misspelled the function name, or given it incorrect - parameters. This error is followed by a list of possible candidate - functions to help you figure out what parameter has the wrong type. If - the candidate list is empty there's no function at all with that name. - See the signature matching section. - -- .. parsed-literal:: - - call of overloaded '*class-name:function-name*(*parameter-types*)' is ambiguous - ambiguous match for function call '*function-name*' with the parameters (*parameter-types*) - call of overloaded constructor '*class-name*(*parameter-types*)' is ambiguous - call of overloaded operator *operator-name* (*parameter-types*) is ambiguous - - This means that the function/operator you are trying to call has at least - one other overload that matches the arguments just as good as the first - overload. - -- .. parsed-literal:: - - cannot derive from C++ class '*class-name*'. It does not have a wrapped type. - - - -Build options -============= - -There are a number of configuration options available when building luabind. -It is very important that your project has the exact same configuration -options as the ones given when the library was build! The exceptions are the -``LUABIND_MAX_ARITY`` and ``LUABIND_MAX_BASES`` which are template-based -options and only matters when you use the library (which means they can -differ from the settings of the library). - -The default settings which will be used if no other settings are given -can be found in ``luabind/config.hpp``. - -If you want to change the settings of the library, you can modify the -config file. It is included and used by all makefiles. You can change paths -to Lua and boost in there as well. - -LUABIND_MAX_ARITY - Controls the maximum arity of functions that are registered with luabind. - You can't register functions that takes more parameters than the number - this macro is set to. It defaults to 5, so, if your functions have greater - arity you have to redefine it. A high limit will increase compilation time. - -LUABIND_MAX_BASES - Controls the maximum number of classes one class can derive from in - luabind (the number of classes specified within ``bases<>``). - ``LUABIND_MAX_BASES`` defaults to 4. A high limit will increase - compilation time. - -LUABIND_NO_ERROR_CHECKING - If this macro is defined, all the Lua code is expected only to make legal - calls. If illegal function calls are made (e.g. giving parameters that - doesn't match the function signature) they will not be detected by luabind - and the application will probably crash. Error checking could be disabled - when shipping a release build (given that no end-user has access to write - custom Lua code). Note that function parameter matching will be done if a - function is overloaded, since otherwise it's impossible to know which one - was called. Functions will still be able to throw exceptions when error - checking is disabled. - - If a function throws an exception it will be caught by luabind and - propagated with ``lua_error()``. - -LUABIND_NO_EXCEPTIONS - This define will disable all usage of try, catch and throw in luabind. - This will in many cases disable run-time errors, when performing invalid - casts or calling Lua functions that fails or returns values that cannot - be converted by the given policy. luabind requires that no function called - directly or indirectly by luabind throws an exception (throwing exceptions - through Lua has undefined behavior). - - Where exceptions are the only way to get an error report from luabind, - they will be replaced with calls to the callback functions set with - ``set_error_callback()`` and ``set_cast_failed_callback()``. - -LUA_API - If you want to link dynamically against Lua, you can set this define to - the import-keyword on your compiler and platform. On Windows in Visual Studio - this should be ``__declspec(dllimport)`` if you want to link against Lua - as a dll. - -LUABIND_EXPORT, LUABIND_IMPORT - If you want to link against luabind as a dll (in Visual Studio), you can - define ``LUABIND_EXPORT`` to ``__declspec(dllexport)`` and - ``LUABIND_IMPORT`` to ``__declspec(dllimport)`` or - ``__attribute__ ((visibility("default")))`` on GCC 4. - Note that you have to link against Lua as a dll aswell, to make it work. - -LUABIND_NO_RTTI - You can define this if you don't want luabind to use ``dynamic_cast<>``. - It will disable `Object identity`_. - -LUABIND_TYPE_INFO, LUABIND_TYPE_INFO_EQUAL(i1,i2), LUABIND_TYPEID(t), LUABIND_INVALID_TYPE_INFO - If you don't want to use the RTTI supplied by C++ you can supply your own - type-info structure with the ``LUABIND_TYPE_INFO`` define. Your type-info - structure must be copyable and must be able to compare itself against - other type-info structures. You supply the compare function through the - ``LUABIND_TYPE_INFO_EQUAL()`` define. It should compare the two type-info - structures it is given and return true if they represent the same type and - false otherwise. You also have to supply a function to generate your - type-info structure. You do this through the ``LUABIND_TYPEID()`` define. - It should return your type-info structure and it takes a type as its - parameter. That is, a compile time parameter. - ``LUABIND_INVALID_TYPE_INFO`` macro should be defined to an invalid type. - No other type should be able to produce this type info. To use it you - probably have to make a traits class with specializations for all classes - that you have type-info for. Like this:: - - class A; - class B; - class C; - - template struct typeinfo_trait; - - template<> struct typeinfo_trait { enum { type_id = 0 }; }; - template<> struct typeinfo_trait { enum { type_id = 1 }; }; - template<> struct typeinfo_trait { enum { type_id = 2 }; }; - - If you have set up your own RTTI system like this (by using integers to - identify types) you can have luabind use it with the following defines:: - - #define LUABIND_TYPE_INFO const std::type_info* - #define LUABIND_TYPEID(t) &typeid(t) - #define LUABIND_TYPE_INFO_EQUAL(i1, i2) *i1 == *i2 - #define LUABIND_INVALID_TYPE_INFO &typeid(detail::null_type) - - Currently the type given through ``LUABIND_TYPE_INFO`` must be less-than - comparable! - -NDEBUG - This define will disable all asserts and should be defined in a release - build. - - -Implementation notes -==================== - -The classes and objects are implemented as user data in Lua. To make sure that -the user data really is the internal structure it is supposed to be, we tag -their metatables. A user data who's metatable contains a boolean member named -``__luabind_classrep`` is expected to be a class exported by luabind. A user -data who's metatable contains a boolean member named ``__luabind_class`` is -expected to be an instantiation of a luabind class. - -This means that if you make your own user data and tags its metatable with the -exact same names, you can very easily fool luabind and crash the application. - -In the Lua registry, luabind keeps an entry called ``__luabind_classes``. It -should not be removed or overwritten. - -In the global table, a variable called ``super`` is used every time a -constructor in a lua-class is called. This is to make it easy for that -constructor to call its base class' constructor. So, if you have a global -variable named super it may be overwritten. This is probably not the best -solution, and this restriction may be removed in the future. - -Luabind uses two upvalues for functions that it registers. The first is a -userdata containing a list of overloads for the function, the other is a light -userdata with the value 0x1337, this last value is used to identify functions -registered by luabind. It should be virtually impossible to have such a pointer -as secondary upvalue by pure chance. This means, if you are trying to replace -an existing function with a luabind function, luabind will see that the -secondary upvalue isn't the magic id number and replace it. If it can identify -the function to be a luabind function, it won't replace it, but rather add -another overload to it. - -Inside the luabind namespace, there's another namespace called detail. This -namespace contains non-public classes and are not supposed to be used directly. - - -FAQ -=== - -What's up with __cdecl and __stdcall? - If you're having problem with functions - that cannot be converted from ``void (__stdcall *)(int,int)`` to - ``void (__cdecl*)(int,int)``. You can change the project settings to make the - compiler generate functions with __cdecl calling conventions. This is - a problem in developer studio. - -What's wrong with functions taking variable number of arguments? - You cannot register a function with ellipses in its signature. Since - ellipses don't preserve type safety, those should be avoided anyway. - -Internal structure overflow in VC - If you, in visual studio, get fatal error C1204: compiler limit : - internal structure overflow. You should try to split that compilation - unit up in smaller ones. See `Splitting up the registration`_ and - `Splitting class registrations`_. - -What's wrong with precompiled headers in VC? - Visual Studio doesn't like anonymous namespace's in its precompiled - headers. If you encounter this problem you can disable precompiled - headers for the compilation unit (cpp-file) that uses luabind. - -error C1076: compiler limit - internal heap limit reached in VC - In visual studio you will probably hit this error. To fix it you have to - increase the internal heap with a command-line option. We managed to - compile the test suit with /Zm300, but you may need a larger heap then - that. - -error C1055: compiler limit \: out of keys in VC - It seems that this error occurs when too many assert() are used in a - program, or more specifically, the __LINE__ macro. It seems to be fixed by - changing /ZI (Program database for edit and continue) to /Zi - (Program database). - -How come my executable is huge? - If you're compiling in debug mode, you will probably have a lot of - debug-info and symbols (luabind consists of a lot of functions). Also, - if built in debug mode, no optimizations were applied, luabind relies on - that the compiler is able to inline functions. If you built in release - mode, try running strip on your executable to remove export-symbols, - this will trim down the size. - - Our tests suggests that cygwin's gcc produces much bigger executables - compared to gcc on other platforms and other compilers. - -.. HUH?! // check the magic number that identifies luabind's functions - -Can I register class templates with luabind? - Yes you can, but you can only register explicit instantiations of the - class. Because there's no Lua counterpart to C++ templates. For example, - you can register an explicit instantiation of std::vector<> like this:: - - module(L) - [ - class_ >("vector") - .def(constructor) - .def("push_back", &std::vector::push_back) - ]; - -.. Again, irrelevant to docs: Note that the space between the two > is required by C++. - -Do I have to register destructors for my classes? - No, the destructor of a class is always called by luabind when an - object is collected. Note that Lua has to own the object to collect it. - If you pass it to C++ and gives up ownership (with adopt policy) it will - no longer be owned by Lua, and not collected. - - If you have a class hierarchy, you should make the destructor virtual if - you want to be sure that the correct destructor is called (this apply to C++ - in general). - -.. And again, the above is irrelevant to docs. This isn't a general C++ FAQ. But it saves us support questions. - -Fatal Error C1063 compiler limit \: compiler stack overflow in VC - VC6.5 chokes on warnings, if you are getting alot of warnings from your - code try suppressing them with a pragma directive, this should solve the - problem. - -Crashes when linking against luabind as a dll in Windows - When you build luabind, Lua and you project, make sure you link against - the runtime dynamically (as a dll). - -I cannot register a function with a non-const parameter - This is because there is no way to get a reference to a Lua value. Have - a look at out_value_ and pure_out_value_ policies. - - -Known issues -============ - -- You cannot use strings with extra nulls in them as member names that refers - to C++ members. - -- If one class registers two functions with the same name and the same - signature, there's currently no error. The last registered function will - be the one that's used. - -- In VC7, classes can not be called test. - -- If you register a function and later rename it, error messages will use the - original function name. - -- luabind does not support class hierarchies with virtual inheritance. Casts are - done with static pointer offsets. - - -Acknowledgments -=============== - -Written by Daniel Wallin and Arvid Norberg. © Copyright 2003. -All rights reserved. - -Evan Wies has contributed with thorough testing, countless bug reports -and feature ideas. - -This library was highly inspired by Dave Abrahams' Boost.Python_ library. - -.. _Boost.Python: http://www.boost.org/libraries/python - diff --git a/external/sources/luabind-0.7.1/examples/any_converter/Jamfile b/external/sources/luabind-0.7.1/examples/any_converter/Jamfile deleted file mode 100755 index 28b67abc9a..0000000000 --- a/external/sources/luabind-0.7.1/examples/any_converter/Jamfile +++ /dev/null @@ -1,7 +0,0 @@ -import modules ; - -exe any_converter - : any_converter.cpp - /luabind//luabind - ; - diff --git a/external/sources/luabind-0.7.1/examples/any_converter/any_converter.cpp b/external/sources/luabind-0.7.1/examples/any_converter/any_converter.cpp deleted file mode 100644 index a5f6995c85..0000000000 --- a/external/sources/luabind-0.7.1/examples/any_converter/any_converter.cpp +++ /dev/null @@ -1,97 +0,0 @@ -#include - -extern "C" -{ - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" -} - -bool dostring(lua_State* L, const char* str) -{ - if (luaL_loadbuffer(L, str, std::strlen(str), str) || lua_pcall(L, 0, 0, 0)) - { - const char* a = lua_tostring(L, -1); - std::cout << a << "\n"; - lua_pop(L, 1); - return true; - } - return false; -} - -#include -#include -#include - -template -struct convert_any -{ - static void convert(lua_State* L, const boost::any& a) - { - luabind::detail::convert_to_lua(L, *boost::any_cast(&a)); - } -}; - -std::map any_converters; - -template -void register_any_converter() -{ - any_converters[&typeid(T)] = convert_any::convert; -} - -namespace luabind -{ - namespace converters - { - yes_t is_user_defined(by_value); - yes_t is_user_defined(by_const_reference); - - void convert_cpp_to_lua(lua_State* L, const boost::any& a) - { - typedef void(*conv_t)(lua_State* L, const boost::any&); - conv_t conv = any_converters[&a.type()]; - conv(L, a); - } - } -} - -boost::any f(bool b) -{ - if (b) return "foobar"; - else return 3.5f; -} - -int main() -{ - register_any_converter(); - register_any_converter(); - register_any_converter(); - register_any_converter(); - - lua_State* L = lua_open(); -#if LUA_VERSION_NUM >= 501 - luaL_openlibs(L); -#else - lua_baselibopen(L); -#endif - - using namespace luabind; - - open(L); - module(L) - [ - def("f", &f) - ]; - - dostring(L, "print( f(true) )"); - dostring(L, "print( f(false) )"); - dostring(L, "function update(p) print(p) end"); - - boost::any param = std::string("foo"); - - luabind::call_function(L, "update", param); - - lua_close(L); -} - diff --git a/external/sources/luabind-0.7.1/examples/cln/cln_test.cpp b/external/sources/luabind-0.7.1/examples/cln/cln_test.cpp deleted file mode 100644 index 24c622af97..0000000000 --- a/external/sources/luabind-0.7.1/examples/cln/cln_test.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include - -extern "C" -{ - #include "lua.h" - #include "lualib.h" - #include "lauxlib.h" -} - -#include - -void bind_cln(lua_State* L) -{ - using namespace luabind; - using namespace cln; - - module(L) - [ - // real numbers - class_("cl_R") - .def(constructor<>()) - .def(constructor()) - .def(constructor()) - .def(constructor()) - .def(tostring(const_self)) - .def(-self) - .def(const_self + const_self) - .def(const_self - const_self) - .def(const_self * const_self) - .def(const_self / const_self) - .def(const_self <= const_self) - .def(const_self < const_self) - .def(const_self == const_self) - .def(other() + const_self) - .def(other() - const_self) - .def(other() * const_self) - .def(other() / const_self) - .def(other() <= const_self) - .def(other() < const_self) - .def(const_self + other()) - .def(const_self - other()) - .def(const_self * other()) - .def(const_self / other()) - .def(const_self <= other()) - .def(const_self < other()) - , - - // rational numbers - class_("cl_RA") - .def(constructor<>()) - .def(constructor()) - .def(constructor()) - .def(constructor()) - .def(tostring(const_self)) - .def(-self) - .def(const_self + const_self) - .def(const_self - const_self) - .def(const_self * const_self) - .def(const_self / const_self) - .def(const_self <= const_self) - .def(const_self < const_self) - .def(const_self == const_self) - .def(other() + const_self) - .def(other() - const_self) - .def(other() * const_self) - .def(other() / const_self) - .def(other() <= const_self) - .def(other() < const_self) - .def(const_self + other()) - .def(const_self - other()) - .def(const_self * other()) - .def(const_self / other()) - .def(const_self <= other()) - .def(const_self < other()) - , - - // integers - class_("cl_I") - .def(constructor<>()) - .def(constructor()) - .def(constructor()) - .def(constructor()) - .def(tostring(const_self)) - .def(-self) - .def(const_self + const_self) - .def(const_self - const_self) - .def(const_self * const_self) - .def(const_self <= const_self) - .def(const_self < const_self) - .def(const_self == const_self) - .def(other() + const_self) - .def(other() - const_self) - .def(other() * const_self) - .def(other() <= const_self) - .def(other() < const_self) - .def(const_self + other()) - .def(const_self - other()) - .def(const_self * other()) - .def(const_self <= other()) - .def(const_self < other()) - , - - def("factorial", &cln::factorial), - def("sqrt", (const cl_R(*)(const cl_R&))&cln::sqrt) - ]; -} - -int main() -{ - lua_State* L = lua_open(); - lua_baselibopen(L); - lua_mathlibopen(L); - luabind::open(L); - - bind_cln(L); - - lua_dofile(L, "cln_test.lua"); - - lua_close(L); - return 0; -} - diff --git a/external/sources/luabind-0.7.1/examples/filesystem/Jamfile b/external/sources/luabind-0.7.1/examples/filesystem/Jamfile deleted file mode 100755 index 37aa9b95f6..0000000000 --- a/external/sources/luabind-0.7.1/examples/filesystem/Jamfile +++ /dev/null @@ -1,12 +0,0 @@ -import modules ; - -BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ; - -use-project /boost : $(BOOST_ROOT) ; - -exe filesystem - : filesystem.cpp - /boost/filesystem//boost_filesystem/static - /luabind//luabind - ; - diff --git a/external/sources/luabind-0.7.1/examples/filesystem/directory_iterator.hpp b/external/sources/luabind-0.7.1/examples/filesystem/directory_iterator.hpp deleted file mode 100755 index c8958c79f8..0000000000 --- a/external/sources/luabind-0.7.1/examples/filesystem/directory_iterator.hpp +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_DIRECTORY_ITERATOR_HPP_INCLUDED -#define LUABIND_DIRECTORY_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - template - struct dir_iterator_state - { - typedef dir_iterator_state self_t; - - static int step(lua_State* L) - { - self_t& state = *static_cast(lua_touserdata(L, lua_upvalueindex(1))); - - if (state.start == state.end) - { - lua_pushnil(L); - return 1; - } - else - { - convert_to_lua(L, *state.start); - } - - ++state.start; - - return 1; - } - - dir_iterator_state(const Iter& s, const Iter& e) - : start(s) - , end(e) - {} - - Iter start; - Iter end; - }; - - struct dir_iterator_converter - { - template - void apply(lua_State* L, const T& c) - { - typedef boost::filesystem::directory_iterator iter_t; - typedef dir_iterator_state state_t; - - // note that this should be destructed, for now.. just hope that iterator - // is a pod - void* iter = lua_newuserdata(L, sizeof(state_t)); - new (iter) state_t(iter_t(c), iter_t()); - lua_pushcclosure(L, state_t::step, 1); - } - - template - void apply(lua_State* L, T& c) - { - typedef boost::filesystem::directory_iterator iter_t; - typedef dir_iterator_state state_t; - - // note that this should be destructed, for now.. just hope that iterator - // is a pod - void* iter = lua_newuserdata(L, sizeof(state_t)); - new (iter) state_t(iter_t(c), iter_t()); - lua_pushcclosure(L, state_t::step, 1); - } - }; - - struct dir_iterator_policy : conversion_policy<0> - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - template - struct generate_converter - { - typedef dir_iterator_converter type; - }; - }; - -}} - -namespace luabind -{ - namespace - { - LUABIND_ANONYMOUS_FIX detail::policy_cons return_directory_iterator; - } -} - -#endif // LUABIND_ITERATOR_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/examples/filesystem/filesystem.cpp b/external/sources/luabind-0.7.1/examples/filesystem/filesystem.cpp deleted file mode 100755 index 5d6915ee87..0000000000 --- a/external/sources/luabind-0.7.1/examples/filesystem/filesystem.cpp +++ /dev/null @@ -1,115 +0,0 @@ -#include - -extern "C" -{ - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" -} - -#include -#include -#include -#include - -#include "directory_iterator.hpp" - -const boost::filesystem::path& -identity(const boost::filesystem::path& x) -{ - return x; -} - -void bind_filesystem(lua_State* L) -{ - using namespace luabind; - using namespace boost::filesystem; - - namespace fs = boost::filesystem; - - module(L, "filesystem") - [ - class_("path") - .def(constructor<>()) - .def(constructor()) - .def("string", &fs::path::string) - .def("native_file_string", &fs::path::native_file_string) - .def("native_directory_string", &fs::path::native_directory_string) - .def("root_path", &fs::path::root_path) - .def("root_name", &fs::path::root_name) - .def("root_directory", &fs::path::root_directory) - .def("relative_path", &fs::path::relative_path) - .def("leaf", &fs::path::leaf) - .def("branch_path", &fs::path::branch_path) - - .def("empty", &fs::path::empty) - .def("is_complete", &fs::path::is_complete) - .def("is_directory", &fs::is_directory) - .def("is_empty", &fs::is_empty) - .def("has_root_path", &fs::path::has_root_path) - .def("has_root_name", &fs::path::has_root_name) - .def("has_root_directory", &fs::path::has_root_directory) - .def("has_relative_path", &fs::path::has_relative_path) - .def("has_leaf", &fs::path::has_leaf) - .def("has_branch_path", &fs::path::has_branch_path) - - .def(const_self / const_self) - .def(other() / const_self) - .def(const_self / other()) - -// .property("contents", &identity, return_directory_iterator) - , - - def("exists", &fs::exists), - def("is_directory", &fs::is_directory), - def("is_empty", &fs::is_empty), - def("create_directory", &fs::create_directory), - def("remove", &fs::remove), - def("remove_all", &fs::remove_all), - def("rename", &fs::rename), - def("copy_file", &fs::copy_file), - - def("initial_path", &fs::initial_path), - def("current_path", &fs::current_path), - def("complete", &fs::complete), - def("system_complete", &fs::system_complete) - ]; -} - -int main(int argc, const char* argv[]) -{ - lua_State* L = lua_open(); - luaopen_base(L); - luaopen_string(L); - luaopen_table(L); - luaopen_math(L); - luaopen_io(L); - luaopen_debug(L); - - if (argc < 2) - { - std::cout << "This example will bind parts of the boost.Filesystem library\n" - "and then run the given lua file.\n\n" - "usage: filesystem filename [args]\n"; - return 1; - } - - using namespace luabind; - - open(L); - - bind_filesystem(L); - - object args = newtable(L); - - for (int i = 0; i < argc; ++i) - { - args[i + 1] = argv[i]; - } - - args["n"] = argc; - globals(L)["args"] = args; - - luaL_dofile(L, argv[1]); -} - diff --git a/external/sources/luabind-0.7.1/examples/glut/Jamfile b/external/sources/luabind-0.7.1/examples/glut/Jamfile deleted file mode 100755 index c67d85f333..0000000000 --- a/external/sources/luabind-0.7.1/examples/glut/Jamfile +++ /dev/null @@ -1,14 +0,0 @@ -import modules ; - -lib glut : : glut ; -lib glu : : glu ; -lib gl : : gl ; - -exe glut_bind - : glut_bind.cpp gl glu glut - /luabind//lualib - /luabind//luabind - ; - -stage . : glut_bind ; - diff --git a/external/sources/luabind-0.7.1/examples/glut/glut_bind.cpp b/external/sources/luabind-0.7.1/examples/glut/glut_bind.cpp deleted file mode 100644 index f7022eec20..0000000000 --- a/external/sources/luabind-0.7.1/examples/glut/glut_bind.cpp +++ /dev/null @@ -1,182 +0,0 @@ -extern "C" -{ - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" -} - -#include -#include -#include -#include - - -#include -#include -#include - -struct glut_constants {}; -struct gl_constants {}; - -using luabind::object; - -namespace glut_bindings -{ - object displayfunc; - - void displayfunc_callback() - { - displayfunc(); - } - - void set_displayfunc(object const& fun) - { - glutDisplayFunc(&displayfunc_callback); - displayfunc = fun; - } - - object idlefunc; - - void idlefunc_callback() - { - idlefunc(); - } - - void set_idlefunc(object const& fun) - { - glutIdleFunc(&idlefunc_callback); - idlefunc = fun; - } - - - object reshapefunc; - - void reshapefunc_callback(int w, int h) - { - reshapefunc(w, h); - } - - void set_reshapefunc(object const& fun) - { - reshapefunc = fun; - } - - object keyboardfunc; - - void keyboardfunc_callback(unsigned char key, int x, int y) - { - keyboardfunc(key, x, y); - } - - void set_keyboardfunc(object const& fun) - { - glutKeyboardFunc(&keyboardfunc_callback); - keyboardfunc = fun; - } - - object mousefunc; - - void mousefunc_callback(int button, int state, int x, int y) - { - mousefunc(button, state, x, y); - } - - void set_mousefunc(object const& fun) - { - mousefunc = fun; - } -} - -void bind_glut(lua_State* L) -{ - using namespace luabind; - using namespace glut_bindings; - - open(L); - - module(L) - [ - def("glutInitWindowSize", &glutInitWindowSize), - def("glutInitWindowPosition", &glutInitWindowPosition), - def("glutInitDisplayMode", &glutInitDisplayMode), - - class_("glut") - .enum_("constants") - [ - value("RGB", GLUT_RGB), - value("RGBA", GLUT_RGBA), - value("INDEX", GLUT_INDEX), - value("SINGLE", GLUT_SINGLE), - value("DOUBLE", GLUT_DOUBLE), - value("DEPTH", GLUT_DEPTH), - value("STENCIL", GLUT_STENCIL), - value("LEFT_BUTTON", GLUT_LEFT_BUTTON), - value("MIDDLE_BUTTON", GLUT_MIDDLE_BUTTON), - value("RIGHT_BUTTON", GLUT_RIGHT_BUTTON), - value("UP", GLUT_UP), - value("DOWN", GLUT_DOWN), - value("ELAPSED_TIME", GLUT_ELAPSED_TIME) - ], - - def("glutCreateWindow", &glutCreateWindow), - def("glutDestroyWindow", &glutDestroyWindow), - def("glutFullScreen", &glutFullScreen), - def("glutDisplayFunc", &set_displayfunc), - def("glutKeyboardFunc", &set_keyboardfunc), - def("glutReshapeFunc", &set_reshapefunc), - def("glutIdleFunc", &set_idlefunc), - def("glutMainLoop", &glutMainLoop), - def("glutSwapBuffers", &glutSwapBuffers), - def("glutGet", &glutGet), - def("glutSolidSphere", &glutSolidSphere), - def("glutWireSphere", &glutWireSphere), - def("glutWireTeapot", &glutWireTeapot), - def("glutSolidTeapot", &glutSolidTeapot), - - // -- opengl - - class_("gl") - .enum_("constants") - [ - value("COLOR_BUFFER_BIT", GL_COLOR_BUFFER_BIT), - value("DEPTH_BUFFER_BIT", GL_DEPTH_BUFFER_BIT), - value("TRIANGLES", GL_TRIANGLES), - value("MODELVIEW", GL_MODELVIEW), - value("PROJECTION", GL_PROJECTION) - ], - - def("glBegin", &glBegin), - def("glVertex3", &glVertex3f), - def("glEnd", &glEnd), - def("glClear", &glClear), - def("glPushMatrix", &glPushMatrix), - def("glPopMatrix", &glPopMatrix), - def("glRotate", &glRotatef), - def("glColor3", &glColor3f), - def("glColor4", &glColor4f), - def("glMatrixMode", &glMatrixMode), - def("glLoadIdentity", &glLoadIdentity), - def("glViewport", &glViewport), - def("glTranslate", &glTranslatef), - - // -- glu - - def("gluPerspective", &gluPerspective) - ]; -} - -int main(int argc, char* argv[]) -{ - lua_State* L = lua_open(); - lua_baselibopen(L); - lua_mathlibopen(L); - bind_glut(L); - - glutInit (&argc, argv); - - lua_dofile(L, "glut_bindings.lua"); - - lua_close(L); - return 0; -} - diff --git a/external/sources/luabind-0.7.1/examples/glut/glut_bindings.lua b/external/sources/luabind-0.7.1/examples/glut/glut_bindings.lua deleted file mode 100644 index a412838256..0000000000 --- a/external/sources/luabind-0.7.1/examples/glut/glut_bindings.lua +++ /dev/null @@ -1,79 +0,0 @@ -quit = false - -function resize_func(w, h) - local ratio = w / h - - print('====== resize') - - glMatrixMode(gl.PROJECTION) - glLoadIdentity() - - glViewport(0,0,w,h) - - gluPerspective(45,ratio,1,1000) - - glMatrixMode(gl.MODELVIEW) - glLoadIdentity() -end - -angle = 0 -angle2 = 0 -previous_time = 0 - -function display_func() - - if quit then return end - - local cur_time = glutGet(glut.ELAPSED_TIME) - local delta = (cur_time - previous_time) / 1000 - previous_time = cur_time - - glClear(gl.COLOR_BUFFER_BIT + gl.DEPTH_BUFFER_BIT) - - glPushMatrix() - - glTranslate(0,0,-5) - glRotate(angle, 0, 1, 0) - glRotate(angle2, 0, 0, 1) - glColor3(1,0,0) --- glutWireSphere(0.75, 10, 10) - glutSolidTeapot(0.75) --- glColor3(1,1,1) --- glutWireTeapot(0.75) - - glPopMatrix() - - angle = angle + 200 * delta - angle2 = angle2 + 170 * delta - - frames = frames + 1 - - if math.mod(frames, 100) == 0 then - local fps = frames * 1000 / (glutGet(glut.ELAPSED_TIME) - start_time); - print('fps: ' .. fps .. ' time: ' .. glutGet(glut.ELAPSED_TIME) .. ' frames: ' .. frames) - end - - glutSwapBuffers() -end - -function keyboard_func(key,x,y) - print('keyboard' .. key) - if key == 27 then glutDestroyWindow(window) quit = true end -end - -glutInitWindowSize(600,600) -glutInitWindowPosition(0,0) -glutInitDisplayMode(glut.RGB + glut.DOUBLE + glut.DEPTH) -window = glutCreateWindow("luabind, glut-bindings") -glutDisplayFunc(display_func) -glutIdleFunc(display_func) -glutKeyboardFunc(keyboard_func) -glutReshapeFunc(resize_func) - -resize_func(600,600) - -start_time = glutGet(glut.ELAPSED_TIME) -frames = 0 - -glutMainLoop() - diff --git a/external/sources/luabind-0.7.1/examples/hello_world/Jamfile b/external/sources/luabind-0.7.1/examples/hello_world/Jamfile deleted file mode 100755 index 707e5da5a0..0000000000 --- a/external/sources/luabind-0.7.1/examples/hello_world/Jamfile +++ /dev/null @@ -1,9 +0,0 @@ -import modules ; - -use-project /luabind : ../../ ; - -lib hello_world - : hello_world.cpp /luabind//luabind/static /luabind//lua ; - -stage . : hello_world ; - diff --git a/external/sources/luabind-0.7.1/examples/intrusive_ptr/Jamfile b/external/sources/luabind-0.7.1/examples/intrusive_ptr/Jamfile deleted file mode 100755 index 2eb48de954..0000000000 --- a/external/sources/luabind-0.7.1/examples/intrusive_ptr/Jamfile +++ /dev/null @@ -1,9 +0,0 @@ -import modules ; - -exe intrusive_ptr - : intrusive_ptr.cpp - /luabind//luabind - ; - -stage . : intrusive_ptr ; - diff --git a/external/sources/luabind-0.7.1/examples/intrusive_ptr/intrusive_ptr.cpp b/external/sources/luabind-0.7.1/examples/intrusive_ptr/intrusive_ptr.cpp deleted file mode 100644 index d477948a7d..0000000000 --- a/external/sources/luabind-0.7.1/examples/intrusive_ptr/intrusive_ptr.cpp +++ /dev/null @@ -1,166 +0,0 @@ -#include - -extern "C" -{ - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" -} - -bool dostring(lua_State* L, const char* str) -{ - if (luaL_loadbuffer(L, str, std::strlen(str), str) || lua_pcall(L, 0, 0, 0)) - { - const char* a = lua_tostring(L, -1); - std::cout << a << "\n"; - lua_pop(L, 1); - return true; - } - return false; -} - -#include -#include - -namespace luabind -{ - namespace converters - { - // tell luabind that there is a converter for boost::intrusive_ptr - template - yes_t is_user_defined(by_value >); - - template - yes_t is_user_defined(by_const_reference >); - - // function used to destruct the object in lua - template - struct decrement_ref_count - { - static void apply(void* ptr) - { - T* p = static_cast(ptr); - intrusive_ptr_release(p); - } - }; - - template - void convert_cpp_to_lua(lua_State* L, const boost::intrusive_ptr& ptr) - { - if (!ptr) - { - lua_pushnil(L); - return; - } - - T* raw_ptr = ptr.get(); - // add reference to object, this will be released when the object is collected - intrusive_ptr_add_ref(raw_ptr); - - detail::class_registry* registry = luabind::detail::class_registry::get_registry(L); - detail::class_rep* crep = registry->find_class(LUABIND_TYPEID(T)); - - assert(crep != 0 && "You are trying to convert an unregistered type"); - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(detail::object_rep)); - // we send 0 as destructor since we know it will never be called - new(obj) luabind::detail::object_rep(raw_ptr, crep, detail::object_rep::owner, decrement_ref_count::apply); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - - template - boost::intrusive_ptr - convert_lua_to_cpp(lua_State* L, by_const_reference >, int index) - { - typename detail::default_policy::template generate_converter::type converter; - T* ptr = converter.apply(L, LUABIND_DECORATE_TYPE(T*), index); - return boost::intrusive_ptr(ptr); - } - - template - boost::intrusive_ptr convert_lua_to_cpp(lua_State* L, by_value >, int index) - { - return convert_lua_to_cpp(L, by_const_reference >(), index); - } - - template - int match_lua_to_cpp(lua_State* L, by_value >, int index) - { - typedef typename detail::default_policy::template generate_converter::type converter_t; - return converter_t::match(L, LUABIND_DECORATE_TYPE(T*), index); - } - - template - int match_lua_to_cpp(lua_State* L, by_const_reference >, int index) - { - typedef typename detail::default_policy::template generate_converter::type converter_t; - return converter_t::match(L, LUABIND_DECORATE_TYPE(T*), index); - } - - } -} - -struct A -{ - A() - : cnt(0) - {} - - ~A() { std::cout << "free memory\n"; } - - int cnt; -}; - -void intrusive_ptr_add_ref(A* ptr) -{ - ++ptr->cnt; - std::cout << "add ref\n"; -} - -void intrusive_ptr_release(A* ptr) -{ - --ptr->cnt; - std::cout << "release\n"; - if (ptr->cnt == 0) delete ptr; -} - -void f(boost::intrusive_ptr ptr) -{ - std::cout << "count: " << ptr->cnt << "\n"; -} - -boost::intrusive_ptr factory() -{ - return boost::intrusive_ptr(new A()); -} - -int main() -{ - lua_State* L = lua_open(); - lua_baselibopen(L); - - luabind::open(L); - - using namespace luabind; - - module(L) - [ - class_("A") - .def_readonly("cnt", &A::cnt), - - def("factory", &factory), - def("f", &f) - ]; - - dostring(L, "a = factory()"); - dostring(L, "print('lua count: ' .. a.cnt)"); - dostring(L, "f(a)"); - - lua_close(L); - return 0; -} - diff --git a/external/sources/luabind-0.7.1/examples/regexp/Jamfile b/external/sources/luabind-0.7.1/examples/regexp/Jamfile deleted file mode 100755 index 66ab569767..0000000000 --- a/external/sources/luabind-0.7.1/examples/regexp/Jamfile +++ /dev/null @@ -1,12 +0,0 @@ -import modules ; - -BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ; - -use-project /boost : $(BOOST_ROOT) ; - -exe regexp - : regex_wrap.cpp - /boost/regex//boost_regex/static - /luabind//luabind - ; - diff --git a/external/sources/luabind-0.7.1/examples/regexp/regex.lua b/external/sources/luabind-0.7.1/examples/regexp/regex.lua deleted file mode 100644 index 33df5a8e7a..0000000000 --- a/external/sources/luabind-0.7.1/examples/regexp/regex.lua +++ /dev/null @@ -1,12 +0,0 @@ - -html_tag = regex("<(.*?)>") -src = 'dadasdsa' - -while html_tag:search(src) do - print('tag: ' .. html_tag:what(1)) - src = string.sub(src, html_tag:position(0) + html_tag:length(0)) -end - -print('-------------') - - diff --git a/external/sources/luabind-0.7.1/examples/regexp/regex_wrap.cpp b/external/sources/luabind-0.7.1/examples/regexp/regex_wrap.cpp deleted file mode 100644 index 6a924cb241..0000000000 --- a/external/sources/luabind-0.7.1/examples/regexp/regex_wrap.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include - -extern "C" -{ - #include "lua.h" - #include "lauxlib.h" - #include "lualib.h" -} - -#include - -namespace -{ - bool match(boost::RegEx& r, const char* s) - { - return r.Match(s); - } - - bool search(boost::RegEx& r, const char* s) - { - return r.Search(s); - } -} // namespace unnamed - - -void wrap_regex(lua_State* L) -{ - using boost::RegEx; - using namespace luabind; - - module(L) - [ - class_("regex") - .def(constructor()) - .def(constructor()) - .def("match", match) - .def("search", search) - .def("what", &RegEx::What) - .def("matched", &RegEx::Matched) - .def("length", &RegEx::Length) - .def("position", &RegEx::Position) - ]; -} - -int main() -{ - lua_State* L = lua_open(); - lua_baselibopen(L); - lua_strlibopen(L); - luabind::open(L); - - wrap_regex(L); - - lua_dofile(L, "regex.lua"); - - lua_close(L); -} - diff --git a/external/sources/luabind-0.7.1/luabind.sln b/external/sources/luabind-0.7.1/luabind.sln deleted file mode 100644 index cf6807e63a..0000000000 --- a/external/sources/luabind-0.7.1/luabind.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.5.33318.248 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luabind", "luabind.vcxproj", "{AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - RelWithDebInfo|x64 = RelWithDebInfo|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}.Debug|x64.ActiveCfg = Debug|x64 - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}.Debug|x64.Build.0 = Debug|x64 - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}.Release|x64.ActiveCfg = Release|x64 - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}.Release|x64.Build.0 = Release|x64 - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B34EF7E6-92E4-3702-B270-2FB601EF679D} - EndGlobalSection -EndGlobal diff --git a/external/sources/luabind-0.7.1/luabind.vcxproj b/external/sources/luabind-0.7.1/luabind.vcxproj deleted file mode 100644 index dcd4337f34..0000000000 --- a/external/sources/luabind-0.7.1/luabind.vcxproj +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - Debug - x64 - - - Release - x64 - - - RelWithDebInfo - x64 - - - - {AF484DB4-5CA2-3DB9-B84B-174EB84D32AA} - 10.0 - Win32Proj - x64 - luabind - NoUpgrade - - - - StaticLibrary - MultiByte - v143 - - - StaticLibrary - MultiByte - v143 - - - StaticLibrary - MultiByte - v143 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - _Bin\ - _Bin\$(ProjectName)\$(Platform)\$(Configuration)\ - luabind-debug - .lib - _Bin\ - _Bin\$(ProjectName)\$(Platform)\$(Configuration)\ - luabind-release - .lib - _Bin\ - _Bin\$(ProjectName)\$(Platform)\$(Configuration)\ - luabind-debug-release - .lib - - - - $(SolutionDir);$(SolutionDir)..\;$(SolutionDir)..\LuaJIT-2.1\src;$(SolutionDir)..\..\include\boost_1_75;%(AdditionalIncludeDirectories) - $(IntDir) - EnableFastChecks - ProgramDatabase - Sync - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - true - false - Level3 - _ITERATOR_DEBUG_LEVEL=0;WIN32;_WINDOWS;BOOST_BIND_GLOBAL_PLACEHOLDERS=1;LUABIND_BUILDING;%(PreprocessorDefinitions) - $(IntDir) - %(AdditionalOptions) - true - - - %(AdditionalOptions) - true - - - - - $(SolutionDir);$(SolutionDir)..\;$(SolutionDir)..\LuaJIT-2.1\src;$(SolutionDir)..\..\include\boost_1_75;%(AdditionalIncludeDirectories) - $(IntDir) - Sync - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - true - false - Level3 - _ITERATOR_DEBUG_LEVEL=0;WIN32;_WINDOWS;BOOST_BIND_GLOBAL_PLACEHOLDERS=1;NDEBUG;LUABIND_BUILDING;%(PreprocessorDefinitions) - $(IntDir) - - - %(AdditionalOptions) - true - - - %(AdditionalOptions) - true - - - - - $(SolutionDir);$(SolutionDir)..\;$(SolutionDir)..\LuaJIT-2.1\src;$(SolutionDir)..\..\include\boost_1_75;%(AdditionalIncludeDirectories) - $(IntDir) - ProgramDatabase - Sync - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - true - false - Level3 - _ITERATOR_DEBUG_LEVEL=0;WIN32;_WINDOWS;BOOST_BIND_GLOBAL_PLACEHOLDERS=1;NDEBUG;LUABIND_BUILDING;%(PreprocessorDefinitions) - $(IntDir) - %(AdditionalOptions) - true - - - %(AdditionalOptions) - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/external/sources/luabind-0.7.1/luabind.vcxproj.filters b/external/sources/luabind-0.7.1/luabind.vcxproj.filters deleted file mode 100644 index 7989f0d54c..0000000000 --- a/external/sources/luabind-0.7.1/luabind.vcxproj.filters +++ /dev/null @@ -1,297 +0,0 @@ - - - - - {E939E9EA-C561-35F8-BA4D-B80C21FD56B4} - - - {0a156ec2-ccce-44a9-bd97-466bb0e55318} - - - {818fe66b-6c95-4ec1-9562-415baa24def8} - - - - - 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 - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files\detail - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/external/sources/luabind-0.7.1/luabind/adopt_policy.hpp b/external/sources/luabind-0.7.1/luabind/adopt_policy.hpp deleted file mode 100644 index a601cd7272..0000000000 --- a/external/sources/luabind-0.7.1/luabind/adopt_policy.hpp +++ /dev/null @@ -1,159 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_ADOPT_POLICY_HPP_INCLUDED -#define LUABIND_ADOPT_POLICY_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - template - struct adopt_pointer - { - typedef boost::mpl::bool_ is_value_converter; - typedef adopt_pointer type; - - template - T* apply(lua_State* L, by_pointer, int index) - { - // preconditions: - // lua_isuserdata(L, index); - // getmetatable().__lua_class is true - // object_rep->flags() & object_rep::constant == 0 - - int offset = 0; - object_rep* obj = static_cast(lua_touserdata(L, index)); - assert((obj != 0) && "internal error, please report"); - const class_rep* crep = obj->crep(); - - int steps = implicit_cast(crep, LUABIND_TYPEID(T), offset); - (void)steps; - - assert((steps >= 0) && "adopt_pointer used with type that cannot be converted"); - obj->remove_ownership(); - T* ptr = reinterpret_cast(obj->ptr(offset)); - - return ptr; - } - - template - static int match(lua_State* L, by_pointer, int index) - { - object_rep* obj = is_class_object(L, index); - if (obj == 0) return -1; - // cannot cast a constant object to nonconst - if (obj->flags() & object_rep::constant) return -1; - if (!(obj->flags() & object_rep::owner)) return -1; - int d; - return implicit_cast(obj->crep(), LUABIND_TYPEID(T), d); - } - - template - void converter_postcall(lua_State*, T, int) {} - }; - - template<> - struct adopt_pointer - { - typedef boost::mpl::bool_ is_value_converter; - typedef adopt_pointer type; - - template - void apply(lua_State* L, T* ptr) - { - if (ptr == 0) - { - lua_pushnil(L); - return; - } - - // if there is a back_reference, then the - // ownership will be removed from the - // back reference and put on the lua stack. - if (luabind::move_back_reference(L, ptr)) - { - object_rep* obj = static_cast(lua_touserdata(L, -1)); - obj->set_flags(obj->flags() | object_rep::owner); - return; - } - - class_registry* registry = class_registry::get_registry(L); - class_rep* crep = registry->find_class(LUABIND_TYPEID(T)); - -/* // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - // we send 0 as destructor since we know it will never be called - new(obj) object_rep(ptr, crep, object_rep::owner, delete_s::apply);*/ - - void* obj; - void* held; - - assert(crep && "adopt_pointer used with type that cannot be converted"); - boost::tie(obj,held) = crep->allocate(L); - - new(obj) object_rep(ptr, crep, object_rep::owner, delete_s::apply); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - template -// struct adopt_policy : converter_policy_tag - struct adopt_policy : conversion_policy - { -// BOOST_STATIC_CONSTANT(int, index = N); - - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - struct only_accepts_nonconst_pointers {}; - - template - struct apply - { - typedef luabind::detail::is_nonconst_pointer is_nonconst_p; - typedef typename boost::mpl::if_, only_accepts_nonconst_pointers>::type type; - }; - }; - -}} - -namespace luabind -{ - template - detail::policy_cons, detail::null_type> - adopt(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons, detail::null_type>(); - } -} - -#endif // LUABIND_ADOPT_POLICY_HPP_INCLUDE - diff --git a/external/sources/luabind-0.7.1/luabind/class.hpp b/external/sources/luabind-0.7.1/luabind/class.hpp deleted file mode 100644 index 630bbdc277..0000000000 --- a/external/sources/luabind-0.7.1/luabind/class.hpp +++ /dev/null @@ -1,1354 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CLASS_HPP_INCLUDED -#define LUABIND_CLASS_HPP_INCLUDED - -/* - ISSUES: - ------------------------------------------------------ - - * solved for member functions, not application operator * - if we have a base class that defines a function a derived class must be able to - override that function (not just overload). Right now we just add the other overload - to the overloads list and will probably get an ambiguity. If we want to support this - each method_rep must include a vector of type_info pointers for each parameter. - Operators do not have this problem, since operators always have to have - it's own type as one of the arguments, no ambiguity can occur. Application - operator, on the other hand, would have this problem. - Properties cannot be overloaded, so they should always be overridden. - If this is to work for application operator, we really need to specify if an application - operator is const or not. - - If one class registers two functions with the same name and the same - signature, there's currently no error. The last registered function will - be the one that's used. - How do we know which class registered the function? If the function was - defined by the base class, it is a legal operation, to override it. - we cannot look at the pointer offset, since it always will be zero for one of the bases. - - - - TODO: - ------------------------------------------------------ - - finish smart pointer support - * the adopt policy should not be able to adopt pointers to held_types. This - must be prohibited. - * name_of_type must recognize holder_types and not return "custom" - - document custom policies, custom converters - - store the instance object for policies. - - support the __concat metamethod. This is a bit tricky, since it cannot be - treated as a normal operator. It is a binary operator but we want to use the - __tostring implementation for both arguments. - -*/ - -#include -#include - -#include -#include -#include -#include - -#define BOOST_BIND_GLOBAL_PLACEHOLDERS 1 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// to remove the 'this' used in initialization list-warning -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable: 4355) -#endif - -namespace boost -{ - - template class shared_ptr; - -} // namespace boost - -namespace luabind -{ - namespace detail - { - struct unspecified {}; - - template struct operator_; - - struct you_need_to_define_a_get_const_holder_function_for_your_smart_ptr {}; - } - - template - struct class_; - - // TODO: this function will only be invoked if the user hasn't defined a correct overload - // maybe we should have a static assert in here? - inline detail::you_need_to_define_a_get_const_holder_function_for_your_smart_ptr* - get_const_holder(...) - { - return 0; - } - - template - boost::shared_ptr* get_const_holder(boost::shared_ptr*) - { - return 0; - } - - namespace detail - { - template - double is_bases_helper(const bases&); - -#ifndef BOOST_MSVC - template - char is_bases_helper(const T&); -#else - char is_bases_helper(...); -#endif - - template - struct is_bases - { - static const T& t; - - BOOST_STATIC_CONSTANT(bool, value = sizeof(is_bases_helper(t)) == sizeof(double)); - typedef boost::mpl::bool_ type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_bases,(T)) - }; - - double is_not_unspecified_helper(const unspecified*); - char is_not_unspecified_helper(...); - - template - struct is_not_unspecified - { - BOOST_STATIC_CONSTANT(bool, value = sizeof(is_not_unspecified_helper(static_cast(0))) == sizeof(char)); - typedef boost::mpl::bool_ type; - BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_not_unspecified,(T)) - }; - - template - struct get_predicate - { - typedef typename boost::mpl::and_< - is_not_unspecified - , Predicate - > type; - }; - - template - struct extract_parameter - { - typedef typename get_predicate::type pred; - typedef typename boost::mpl::find_if::type iterator; - typedef typename boost::mpl::eval_if< - boost::is_same< - iterator - , typename boost::mpl::end::type - > - , boost::mpl::identity - , boost::mpl::deref - >::type type; - }; - - template - struct mem_fn_callback - { - typedef int result_type; - - int operator()(lua_State* L) const - { - return call(fn, (Class*)0, L, (Policies*)0); - } - - mem_fn_callback(Fn fn_) - : fn(fn_) - { - } - - Fn fn; - }; - - template - struct mem_fn_matcher - { - typedef int result_type; - - int operator()(lua_State* L) const - { - return match(fn, L, (Class*)0, (Policies*)0); - } - - mem_fn_matcher(Fn fn_) - : fn(fn_) - { - } - - Fn fn; - }; - - struct pure_virtual_tag - { - static void precall(lua_State*, index_map const&) {} - static void postcall(lua_State*, index_map const&) {} - }; - - template - struct has_pure_virtual - { - typedef typename boost::mpl::eval_if< - boost::is_same - , boost::mpl::true_ - , has_pure_virtual - >::type type; - - BOOST_STATIC_CONSTANT(bool, value = type::value); - }; - - template<> - struct has_pure_virtual - { - BOOST_STATIC_CONSTANT(bool, value = false); - typedef boost::mpl::bool_ type; - }; - - // prints the types of the values on the stack, in the - // range [start_index, lua_gettop()] - - LUABIND_API std::string stack_content_by_name(lua_State* L, int start_index); - - struct LUABIND_API create_class - { - static int stage1(lua_State* L); - static int stage2(lua_State* L); - }; - - // if the class is held by a smart pointer, we need to be able to - // implicitly dereference the pointer when needed. - - template - struct extract_underlying_type - { - static void* extract(void* ptr) - { - HeldT& held_obj = *reinterpret_cast(ptr); - UnderlyingT* underlying_ptr = static_cast(get_pointer(held_obj)); - return underlying_ptr; - } - }; - - template - struct extract_underlying_const_type - { - static const void* extract(void* ptr) - { - HeldT& held_obj = *reinterpret_cast(ptr); - const UnderlyingT* underlying_ptr = static_cast(get_pointer(held_obj)); - return underlying_ptr; - } - }; - - template - struct internal_holder_extractor - { - typedef void*(*extractor_fun)(void*); - - template - static extractor_fun apply(detail::type_) - { - return &detail::extract_underlying_type::extract; - } - }; - - template<> - struct internal_holder_extractor - { - typedef void*(*extractor_fun)(void*); - - template - static extractor_fun apply(detail::type_) - { - return 0; - } - }; - - - template - struct convert_holder - { - static void apply(void* holder, void* target) - { - new(target) ConstHolderType(*reinterpret_cast(holder)); - }; - }; - - - template - struct const_converter - { - typedef void(*converter_fun)(void*, void*); - - template - static converter_fun apply(ConstHolderType*) - { - return &detail::convert_holder::apply; - } - }; - - template<> - struct const_converter - { - typedef void(*converter_fun)(void*, void*); - - template - static converter_fun apply(T*) - { - return 0; - } - }; - - - - - template - struct internal_const_holder_extractor - { - typedef const void*(*extractor_fun)(void*); - - template - static extractor_fun apply(detail::type_) - { - return get_extractor(detail::type_(), get_const_holder(static_cast(0))); - } - private: - template - static extractor_fun get_extractor(detail::type_, ConstHolderType*) - { - return &detail::extract_underlying_const_type::extract; - } - }; - - template<> - struct internal_const_holder_extractor - { - typedef const void*(*extractor_fun)(void*); - - template - static extractor_fun apply(detail::type_) - { - return 0; - } - }; - - - - // this is simply a selector that returns the type_info - // of the held type, or invalid_type_info if we don't have - // a held_type - template - struct internal_holder_type - { - static LUABIND_TYPE_INFO apply() - { - return LUABIND_TYPEID(HeldType); - } - }; - - template<> - struct internal_holder_type - { - static LUABIND_TYPE_INFO apply() - { - return LUABIND_INVALID_TYPE_INFO; - } - }; - - - // this is the actual held_type constructor - template - struct internal_construct_holder - { - static void apply(void* target, void* raw_pointer) - { - new(target) HeldType(static_cast(raw_pointer)); - } - }; - - // this is the actual held_type default constructor - template - struct internal_default_construct_holder - { - static void apply(void* target) - { - new(target) HeldType(); - } - }; - - // the following two functions are the ones that returns - // a pointer to a held_type_constructor, or 0 if there - // is no held_type - template - struct holder_constructor - { - typedef void(*constructor)(void*,void*); - template - static constructor apply(detail::type_) - { - return &internal_construct_holder::apply; - } - }; - - template<> - struct holder_constructor - { - typedef void(*constructor)(void*,void*); - template - static constructor apply(detail::type_) - { - return 0; - } - }; - - // the following two functions are the ones that returns - // a pointer to a const_held_type_constructor, or 0 if there - // is no held_type - template - struct const_holder_constructor - { - typedef void(*constructor)(void*,void*); - template - static constructor apply(detail::type_) - { - return get_const_holder_constructor(detail::type_(), get_const_holder(static_cast(0))); - } - - private: - - template - static constructor get_const_holder_constructor(detail::type_, ConstHolderType*) - { - return &internal_construct_holder::apply; - } - }; - - template<> - struct const_holder_constructor - { - typedef void(*constructor)(void*,void*); - template - static constructor apply(detail::type_) - { - return 0; - } - }; - - - // the following two functions are the ones that returns - // a pointer to a held_type_constructor, or 0 if there - // is no held_type. The holder_type is default constructed - template - struct holder_default_constructor - { - typedef void(*constructor)(void*); - template - static constructor apply(detail::type_) - { - return &internal_default_construct_holder::apply; - } - }; - - template<> - struct holder_default_constructor - { - typedef void(*constructor)(void*); - template - static constructor apply(detail::type_) - { - return 0; - } - }; - - - // the following two functions are the ones that returns - // a pointer to a const_held_type_constructor, or 0 if there - // is no held_type. The constructed held_type is default - // constructed - template - struct const_holder_default_constructor - { - typedef void(*constructor)(void*); - template - static constructor apply(detail::type_) - { - return get_const_holder_default_constructor(detail::type_(), get_const_holder(static_cast(0))); - } - - private: - - template - static constructor get_const_holder_default_constructor(detail::type_, ConstHolderType*) - { - return &internal_default_construct_holder::apply; - } - }; - - template<> - struct const_holder_default_constructor - { - typedef void(*constructor)(void*); - template - static constructor apply(detail::type_) - { - return 0; - } - }; - - - - - // this is a selector that returns the size of the held_type - // or 0 if we don't have a held_type - template - struct internal_holder_size - { - static int apply() { return get_internal_holder_size(get_const_holder(static_cast(0))); } - private: - template - static int get_internal_holder_size(ConstHolderType*) - { - return max_c::value; - } - }; - - template <> - struct internal_holder_size - { - static int apply() { return 0; } - }; - - - // if we have a held type, return the destructor to it - // note the difference. The held_type should only be destructed (not deleted) - // since it's constructed in the lua userdata - template - struct internal_holder_destructor - { - typedef void(*destructor_t)(void*); - template - static destructor_t apply(detail::type_) - { - return &detail::destruct_only_s::apply; - } - }; - - // if we don't have a held type, return the destructor of the raw type - template<> - struct internal_holder_destructor - { - typedef void(*destructor_t)(void*); - template - static destructor_t apply(detail::type_) - { - return &detail::delete_s::apply; - } - }; - - - // if we have a held type, return the destructor to it's const version - template - struct internal_const_holder_destructor - { - typedef void(*destructor_t)(void*); - template - static destructor_t apply(detail::type_) - { - return const_holder_type_destructor(get_const_holder(static_cast(0))); - } - - private: - - template - static destructor_t const_holder_type_destructor(ConstHolderType*) - { - return &detail::destruct_only_s::apply; - } - - }; - - // if we don't have a held type, return the destructor of the raw type - template<> - struct internal_const_holder_destructor - { - typedef void(*destructor_t)(void*); - template - static destructor_t apply(detail::type_) - { - return 0; - } - }; - - - - - template - struct get_holder_alignment - { - static int apply() - { - return internal_alignment(get_const_holder(static_cast(0))); - } - - private: - - template - static int internal_alignment(ConstHolderType*) - { - return detail::max_c::value - , boost::alignment_of::value>::value; - } - }; - - template<> - struct get_holder_alignment - { - static int apply() - { - return 1; - } - }; - - - } // detail - - namespace detail { - - template - struct static_scope - { - static_scope(T& self_) : self(self_) - { - } - - T& operator[](scope s) const - { - self.add_inner_scope(s); - return self; - } - - private: - template void operator,(U const&) const; - void operator=(static_scope const&); - - T& self; - }; - - struct class_registration; - - struct LUABIND_API class_base : scope - { - public: - class_base(char const* name); - - struct base_desc - { - LUABIND_TYPE_INFO type; - int ptr_offset; - }; - - void init( - LUABIND_TYPE_INFO type - , LUABIND_TYPE_INFO holder_type - , LUABIND_TYPE_INFO const_holder_type - , void*(*extractor)(void*) - , const void*(*const_extractor)(void*) - , void(*const_converter)(void*,void*) - , void(*holder_constructor)(void*,void*) - , void(*const_holder_constructor)(void*,void*) - , void(*holder_default_constructor)(void*) - , void(*const_holder_default_constructor)(void*) - , void(*destructor)(void*) - , void(*const_holder_destructor)(void*) - , void(*m_adopt_fun)(void*) - , int holder_size - , int holder_alignment); - - void add_getter( - const char* name - , const boost::function2& g); - -#ifdef LUABIND_NO_ERROR_CHECKING - void add_setter( - const char* name - , const boost::function2& s); -#else - void add_setter( - const char* name - , const boost::function2& s - , int (*match)(lua_State*, int) - , void (*get_sig_ptr)(lua_State*, std::string&)); -#endif - - void add_base(const base_desc& b); - void add_constructor(const detail::construct_rep::overload_t& o); - void add_method(const char* name, const detail::overload_rep& o); - -#ifndef LUABIND_NO_ERROR_CHECKING - void add_operator( - int op_id - , int(*func)(lua_State*) - , int(*matcher)(lua_State*) - , void(*sig)(lua_State* - , std::string&) - , int arity); -#else - void add_operator( - int op_id - , int(*func)(lua_State*) - , int(*matcher)(lua_State*) - , int arity); -#endif - - const char* name() const; - - void add_static_constant(const char* name, int val); - void add_inner_scope(scope& s); - - private: - class_registration* m_registration; - }; - - template - struct adopt_function - { - static void execute(void* p) - { - wrapped_self_t& self = wrap_access::ref( - *static_cast(static_cast(p)) - ); - - LUABIND_CHECK_STACK(self.state()); - - self.get(self.state()); - self.m_strong_ref.set(self.state()); - } - }; - - } // namespace detail - - // registers a class in the lua environment - template - struct class_: detail::class_base - { - typedef class_ self_t; - - private: - - template - class_(const class_&); - - public: - - // WrappedType MUST inherit from T - typedef typename detail::extract_parameter< - boost::mpl::vector3 - , boost::is_base_and_derived - , detail::null_type - >::type WrappedType; - - typedef typename detail::extract_parameter< - boost::mpl::list3 - , boost::mpl::not_< - boost::mpl::or_< - boost::mpl::or_< - detail::is_bases - , boost::is_base_and_derived - > - , boost::is_base_and_derived - > - > - , detail::null_type - >::type HeldType; - - // this function generates conversion information - // in the given class_rep structure. It will be able - // to implicitly cast to the given template type - template - void gen_base_info(detail::type_) - { - // fist, make sure the given base class is registered. - // if it's not registered we can't push it's lua table onto - // the stack because it doesn't have a table - - // try to cast this type to the base type and remember - // the pointer offset. For multiple inheritance the pointer - // may change when casting. Since we need to be able to - // cast we need this pointer offset. - // store the information in this class' base class-vector - base_desc base; - base.type = LUABIND_TYPEID(To); - base.ptr_offset = detail::ptr_offset(detail::type_(), detail::type_()); - add_base(base); - } - - void gen_base_info(detail::type_) - {} - -#define LUABIND_GEN_BASE_INFO(z, n, text) gen_base_info(detail::type_()); - - template - void generate_baseclass_list(detail::type_ >) - { - BOOST_PP_REPEAT(LUABIND_MAX_BASES, LUABIND_GEN_BASE_INFO, _) - } - -#undef LUABIND_GEN_BASE_INFO - - class_(const char* name): class_base(name), scope(*this) - { -#ifndef NDEBUG - detail::check_link_compatibility(); -#endif - init(); - } - - template - class_& def(const char* name, F f) - { - return this->virtual_def( - name, f, detail::null_type() - , detail::null_type(), boost::mpl::true_()); - } - - // virtual functions - template - class_& def(char const* name, F fn, DefaultOrPolicies default_or_policies) - { - return this->virtual_def( - name, fn, default_or_policies, detail::null_type() - , LUABIND_MSVC_TYPENAME detail::is_policy_cons::type()); - } - - template - class_& def(char const* name, F fn - , Default default_, Policies const& policies) - { - return this->virtual_def( - name, fn, default_ - , policies, boost::mpl::false_()); - } - - template - class_& def(constructor sig) - { - return this->def_constructor( - boost::is_same() - , &sig - , detail::null_type() - ); - } - - template - class_& def(constructor sig, const Policies& policies) - { - return this->def_constructor( - boost::is_same() - , &sig - , policies - ); - } - - template - class_& property(const char* name, Getter g) - { - add_getter(name, boost::bind(detail::get_caller(), _1, _2, g)); - return *this; - } - - template - class_& property(const char* name, Getter g, MaybeSetter s) - { - return property_impl(name, g, s, boost::mpl::bool_::value>()); - } - - template - class_& property(const char* name, Getter g, Setter s, const GetPolicies& get_policies) - { - add_getter(name, boost::bind(detail::get_caller(get_policies), _1, _2, g)); -#ifndef LUABIND_NO_ERROR_CHECKING - add_setter( - name - , boost::bind(detail::set_caller(), _1, _2, s) - , detail::gen_set_matcher((Setter)0, (detail::null_type*)0) - , &detail::get_member_signature::apply); -#else - add_setter( - name - , boost::bind(detail::set_caller(), _1, _2, s)); -#endif - return *this; - } - - template - class_& property(const char* name - , Getter g, Setter s - , const GetPolicies& get_policies - , const SetPolicies& set_policies) - { - add_getter(name, boost::bind(detail::get_caller(get_policies), _1, _2, g)); -#ifndef LUABIND_NO_ERROR_CHECKING - add_setter( - name - , boost::bind(detail::set_caller(), _1, _2, s) - , detail::gen_set_matcher((Setter)0, (SetPolicies*)0) - , &detail::get_member_signature::apply); -#else - add_setter(name, boost::bind(detail::set_caller(set_policies), _1, _2, s)); -#endif - return *this; - } - - template - class_& def_readonly(const char* name, D T::*member_ptr) - { - add_getter(name, boost::bind(detail::auto_get(), _1, _2, member_ptr)); - return *this; - } - - template - class_& def_readonly(const char* name, D T::*member_ptr, const Policies& policies) - { - add_getter(name, boost::bind(detail::auto_get(policies), _1, _2, member_ptr)); - return *this; - } - - template - class_& def_readwrite(const char* name, D T::*member_ptr) - { - add_getter(name, boost::bind(detail::auto_get(), _1, _2, member_ptr)); -#ifndef LUABIND_NO_ERROR_CHECKING - add_setter( - name - , boost::bind(detail::auto_set(), _1, _2, member_ptr) - , &detail::set_matcher::apply - , &detail::get_setter_signature::apply); -#else - add_setter(name, boost::bind(detail::auto_set(), _1, _2, member_ptr)); -#endif - return *this; - } - - template - class_& def_readwrite(const char* name, D T::*member_ptr, const GetPolicies& get_policies) - { - add_getter(name, boost::bind(detail::auto_get(get_policies), _1, _2, member_ptr)); -#ifndef LUABIND_NO_ERROR_CHECKING - add_setter( - name - , boost::bind(detail::auto_set(), _1, _2, member_ptr) - , &detail::set_matcher::apply - , &detail::get_setter_signature::apply); -#else - add_setter(name, boost::bind(detail::auto_set(), _1, _2, member_ptr)); -#endif - return *this; - } - - template - class_& def_readwrite(const char* name, D T::*member_ptr, const GetPolicies& get_policies, const SetPolicies& set_policies) - { - add_getter(name, boost::bind(detail::auto_get(get_policies), _1, _2, member_ptr)); -#ifndef LUABIND_NO_ERROR_CHECKING - add_setter( - name - , boost::bind(detail::auto_set(), _1, _2, member_ptr) - , &detail::set_matcher::apply - , &detail::get_setter_signature::apply); -#else - add_setter(name, boost::bind(detail::auto_set(set_policies), _1, _2, member_ptr)); -#endif - return *this; - } - - template - class_& def(detail::operator_, Policies const& policies) - { - return this->def( - Derived::name() - , &Derived::template apply::execute - , raw(_1) + policies - ); - } - - template - class_& def(detail::operator_) - { - return this->def( - Derived::name() - , &Derived::template apply::execute - , raw(_1) - ); - } - -/* - template - class_& def(detail::operator_, const Policies& policies) - { - typedef typename detail::operator_unwrapper op_type; -#ifndef LUABIND_NO_ERROR_CHECKING - add_operator(op_type::get_id() - , &op_type::execute - , &op_type::match - , &detail::get_signature >::apply - , detail::is_unary(op_type::get_id()) ? 1 : 2); -#else - add_operator(op_type::get_id() - , &op_type::execute - , &op_type::match - , detail::is_unary(op_type::get_id()) ? 1 : 2); -#endif - return *this; - } - - template - class_& def(detail::operator_) - { - typedef typename detail::operator_unwrapper op_type; - -#ifndef LUABIND_NO_ERROR_CHECKING - add_operator(op_type::get_id() - , &op_type::execute - , &op_type::match - , &detail::get_signature >::apply - , detail::is_unary(op_type::get_id()) ? 1 : 2); -#else - add_operator(op_type::get_id() - , &op_type::execute - , &op_type::match - , detail::is_unary(op_type::get_id()) ? 1 : 2); -#endif - return *this; - } - - template - class_& def(detail::application_operator*) - { - typedef detail::application_operator op_t; - - int arity = detail::calc_arity::apply( - Signature(), static_cast(0)); - -#ifndef LUABIND_NO_ERROR_CHECKING - add_operator( - detail::op_call - , &op_t::template apply::execute - , &op_t::match - , &detail::get_signature::apply - , arity + 1); -#else - add_operator( - detail::op_call - , &op_t::template apply::execute - , &op_t::match - , arity + 1); -#endif - - return *this; - } - - template - class_& def(detail::application_operator*, const Policies& policies) - { - typedef detail::application_operator op_t; - - int arity = detail::calc_arity::apply(Signature(), static_cast(0)); - -#ifndef LUABIND_NO_ERROR_CHECKING - add_operator( - detail::op_call - , &op_t::template apply::execute - , &op_t::match - , &detail::get_signature::apply - , arity + 1); -#else - add_operator( - detail::op_call - , &op_t::template apply::execute - , &op_t::match - , arity + 1); -#endif - - return *this; - } -*/ - detail::enum_maker enum_(const char*) - { - return detail::enum_maker(*this); - } - - detail::static_scope scope; - - private: - void operator=(class_ const&); - - void init() - { - typedef typename detail::extract_parameter< - boost::mpl::list3 - , boost::mpl::or_< - detail::is_bases - , boost::is_base_and_derived - > - , no_bases - >::type bases_t; - - typedef typename - boost::mpl::if_ - , bases_t - , bases - >::type Base; - - class_base::init(LUABIND_TYPEID(T) - , detail::internal_holder_type::apply() - , detail::pointee_typeid( - get_const_holder(static_cast(0))) - , detail::internal_holder_extractor::apply(detail::type_()) - , detail::internal_const_holder_extractor::apply(detail::type_()) - , detail::const_converter::apply( - get_const_holder((HeldType*)0)) - , detail::holder_constructor::apply(detail::type_()) - , detail::const_holder_constructor::apply(detail::type_()) - , detail::holder_default_constructor::apply(detail::type_()) - , detail::const_holder_default_constructor::apply(detail::type_()) - , get_adopt_fun((WrappedType*)0) // adopt fun - , detail::internal_holder_destructor::apply(detail::type_()) - , detail::internal_const_holder_destructor::apply(detail::type_()) - , detail::internal_holder_size::apply() - , detail::get_holder_alignment::apply()); - - generate_baseclass_list(detail::type_()); - } - - template - class_& property_impl(const char* name, - Getter g, - GetPolicies policies, - boost::mpl::bool_) - { - add_getter(name, boost::bind(detail::get_caller(policies), _1, _2, g)); - return *this; - } - - template - class_& property_impl(const char* name, - Getter g, - Setter s, - boost::mpl::bool_) - { - add_getter(name, boost::bind(detail::get_caller(), _1, _2, g)); -#ifndef LUABIND_NO_ERROR_CHECKING - add_setter( - name - , boost::bind(detail::set_caller(), _1, _2, s) - , detail::gen_set_matcher((Setter)0, (detail::null_type*)0) - , &detail::get_member_signature::apply); -#else - add_setter(name, boost::bind(detail::set_caller(), _1, _2, s)); -#endif - return *this; - } - - // these handle default implementation of virtual functions - template - class_& virtual_def(char const* name, F const& fn - , Policies const&, detail::null_type, boost::mpl::true_) - { - // normal def() call - detail::overload_rep o(fn, static_cast(0)); - - o.set_match_fun(detail::mem_fn_matcher(fn)); - o.set_fun(detail::mem_fn_callback(fn)); - -#ifndef LUABIND_NO_ERROR_CHECKING - o.set_sig_fun(&detail::get_member_signature::apply); -#endif - this->add_method(name, o); - return *this; - } - - template - class_& virtual_def(char const* name, F const& fn - , Default const& default_, Policies const&, boost::mpl::false_) - { - // default_ is a default implementation - // policies is either null_type or a policy list - - // normal def() call - detail::overload_rep o(fn, (Policies*)0); - - o.set_match_fun(detail::mem_fn_matcher(fn)); - o.set_fun(detail::mem_fn_callback(fn)); - - o.set_fun_static( - detail::mem_fn_callback(default_)); - -#ifndef LUABIND_NO_ERROR_CHECKING - o.set_sig_fun(&detail::get_member_signature::apply); -#endif - - this->add_method(name, o); - // register virtual function - return *this; - } - - template - class_& def_constructor( - boost::mpl::true_ /* HasWrapper */ - , Signature* - , Policies const&) - { - detail::construct_rep::overload_t o; - - o.set_constructor( - &detail::construct_class< - T - , Policies - , Signature - >::apply); - - o.set_match_fun( - &detail::constructor_match< - Signature - , 2 - , Policies - >::apply); - -#ifndef LUABIND_NO_ERROR_CHECKING - o.set_sig_fun(&detail::get_signature::apply); -#endif - o.set_arity(detail::calc_arity::apply(Signature(), (Policies*)0)); - this->add_constructor(o); - return *this; - } - - template - class_& def_constructor( - boost::mpl::false_ /* !HasWrapper */ - , Signature* - , Policies const&) - { - detail::construct_rep::overload_t o; - - o.set_constructor( - &detail::construct_wrapped_class< - T - , WrappedType - , Policies - , Signature - >::apply); - - o.set_match_fun( - &detail::constructor_match< - Signature - , 2 - , Policies - >::apply); - -#ifndef LUABIND_NO_ERROR_CHECKING - o.set_sig_fun(&detail::get_signature::apply); -#endif - o.set_arity(detail::calc_arity::apply(Signature(), (Policies*)0)); - this->add_constructor(o); - return *this; - } - - typedef void(*adopt_fun_t)(void*); - - template - adopt_fun_t get_adopt_fun(W*) - { - return &detail::adopt_function::execute; - } - - adopt_fun_t get_adopt_fun(detail::null_type*) - { - return 0; - } - }; - - namespace - { - LUABIND_ANONYMOUS_FIX detail::policy_cons< - detail::pure_virtual_tag - , detail::null_type - > pure_virtual; - } -} - -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#endif // LUABIND_CLASS_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/config.hpp b/external/sources/luabind-0.7.1/luabind/config.hpp deleted file mode 100644 index 5001db1e6b..0000000000 --- a/external/sources/luabind-0.7.1/luabind/config.hpp +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CONFIG_HPP_INCLUDED -#define LUABIND_CONFIG_HPP_INCLUDED - -#include - -#ifdef BOOST_MSVC - #define LUABIND_ANONYMOUS_FIX static -#else - #define LUABIND_ANONYMOUS_FIX -#endif - -#if defined (BOOST_MSVC) && (BOOST_MSVC <= 1200) - -#define for if (false) {} else for - -#include - -namespace std -{ - using ::strlen; - using ::strcmp; - using ::type_info; -} - -#endif - - -#if defined (BOOST_MSVC) && (BOOST_MSVC <= 1300) - #define LUABIND_MSVC_TYPENAME -#else - #define LUABIND_MSVC_TYPENAME typename -#endif - -// the maximum number of arguments of functions that's -// registered. Must at least be 2 -#ifndef LUABIND_MAX_ARITY - #define LUABIND_MAX_ARITY 10 -#elif LUABIND_MAX_ARITY <= 1 - #undef LUABIND_MAX_ARITY - #define LUABIND_MAX_ARITY 2 -#endif - -// the maximum number of classes one class -// can derive from -// max bases must at least be 1 -#ifndef LUABIND_MAX_BASES - #define LUABIND_MAX_BASES 4 -#elif LUABIND_MAX_BASES <= 0 - #undef LUABIND_MAX_BASES - #define LUABIND_MAX_BASES 1 -#endif - -// LUABIND_NO_ERROR_CHECKING -// define this to remove all error checks -// this will improve performance and memory -// footprint. -// if it is defined matchers will only be called on -// overloaded functions, functions that's -// not overloaded will be called directly. The -// parameters on the lua stack are assumed -// to match those of the function. -// exceptions will still be catched when there's -// no error checking. - -// LUABIND_NOT_THREADSAFE -// this define will make luabind non-thread safe. That is, -// it will rely on a static variable. You can still have -// multiple lua states and use coroutines, but only -// one of your real threads may run lua code. - -// If you don't want to use the rtti supplied by C++ -// you can supply your own type-info structure with the -// LUABIND_TYPE_INFO define. Your type-info structure -// must be copyable and it must be able to compare itself -// against other type-info structures. You supply the compare -// function through the LUABIND_TYPE_INFO_EQUAL() -// define. It should compare the two type-info structures -// it is given and return true if they represent the same type -// and false otherwise. You also have to supply a function -// to generate your type-info structure. You do this through -// the LUABIND_TYPEID() define. It takes a type as it's -// parameter. That is, a compile time parameter. To use it -// you probably have to make a traits class with specializations -// for all classes that you have type-info for. - -#ifndef LUABIND_TYPE_INFO - #define LUABIND_TYPE_INFO const std::type_info* - #define LUABIND_TYPEID(t) &typeid(t) - #define LUABIND_TYPE_INFO_EQUAL(i1, i2) *i1 == *i2 - #define LUABIND_INVALID_TYPE_INFO &typeid(detail::null_type) -#include -#endif - -// LUABIND_NO_EXCEPTIONS -// this define will disable all usage of try, catch and throw in -// luabind. This will in many cases disable runtime-errors, such -// as invalid casts, when calling lua-functions that fails or -// returns values that cannot be converted by the given policy. -// Luabind requires that no function called directly or indirectly -// by luabind throws an exception (throwing exceptions through -// C code has undefined behavior, lua is written in C). - -// LUABIND_EXPORT -// LUABIND_IMPORT -// If you're building luabind as a dll on windows with devstudio -// you can set LUABIND_EXPORT to __declspec(dllexport) -// and LUABIND_IMPORT to __declspec(dllimport) - -#if _GNUC_ >= 4 -#define LUABIND_API __attribute__ ((visibility("default"))) -#else - -// this define is set if we're currently building a luabind file -// select import or export depending on it -#ifdef LUABIND_BUILDING - #ifdef LUABIND_EXPORT - #define LUABIND_API LUABIND_EXPORT - #else - #define LUABIND_API - #endif -#else - #ifdef LUABIND_IMPORT - #define LUABIND_API LUABIND_IMPORT - #else - #define LUABIND_API - #endif -#endif - -#endif - -#endif // LUABIND_CONFIG_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/container_policy.hpp b/external/sources/luabind-0.7.1/luabind/container_policy.hpp deleted file mode 100644 index 38cfaec677..0000000000 --- a/external/sources/luabind-0.7.1/luabind/container_policy.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CONTAINER_POLICY_HPP_INCLUDED -#define LUABIND_CONTAINER_POLICY_HPP_INCLUDED - -#include -#include -#include - -namespace luabind { namespace detail { - - namespace mpl = boost::mpl; - - template - struct container_converter_lua_to_cpp - { - template - T apply(lua_State* L, by_const_reference, int index) - { - typedef typename T::value_type value_type; - - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - - T container; - - lua_pushnil(L); - while (lua_next(L, index)) - { - container.push_back(converter.apply(L, LUABIND_DECORATE_TYPE(value_type), -1)); - lua_pop(L, 1); // pop value - } - - return container; - } - - template - T apply(lua_State* L, by_value, int index) - { - return apply(L, by_const_reference(), index); - } - - template - static int match(lua_State* L, by_const_reference, int index) - { - if (lua_istable(L, index)) return 0; else return -1; - } - - template - void converter_postcall(lua_State*, T, int) {} - }; - - template - struct container_converter_cpp_to_lua - { - template - void apply(lua_State* L, const T& container) - { - typedef typename T::value_type value_type; - - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - - lua_newtable(L); - - int index = 1; - - for (typename T::const_iterator i = container.begin(); i != container.end(); ++i) - { - converter.apply(L, *i); - lua_rawseti(L, -2, index); - ++index; - } - } - }; - - template -// struct container_policy : converter_policy_tag - struct container_policy : conversion_policy - { -// BOOST_STATIC_CONSTANT(int, index = N); - - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - struct only_accepts_nonconst_pointers {}; - - template - struct apply - { - typedef typename boost::mpl::if_ - , container_converter_lua_to_cpp - , container_converter_cpp_to_lua - >::type type; - }; - }; - -}} - -namespace luabind -{ - template - detail::policy_cons, detail::null_type> - container(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons, detail::null_type>(); - } - - template - detail::policy_cons, detail::null_type> - container(LUABIND_PLACEHOLDER_ARG(N), const Policies&) - { - return detail::policy_cons, detail::null_type>(); - } -} - -#endif // LUABIND_CONTAINER_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/copy_policy.hpp b/external/sources/luabind-0.7.1/luabind/copy_policy.hpp deleted file mode 100644 index eb4bafc23b..0000000000 --- a/external/sources/luabind-0.7.1/luabind/copy_policy.hpp +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_COPY_POLICY_HPP_INCLUDED -#define LUABIND_COPY_POLICY_HPP_INCLUDED - -#include - -#include -#include -#include - -namespace luabind { namespace detail { - - struct copy_pointer_to - { - template - void apply(lua_State* L, const T* ptr) - { - if (ptr == 0) - { - lua_pushnil(L); - return; - } - - class_registry* registry = class_registry::get_registry(L); - - class_rep* crep = registry->find_class(LUABIND_TYPEID(T)); - - // if you get caught in this assert you are trying - // to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - T* copied_obj = new T(*ptr); - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - // we send 0 as destructor since we know it will never be called - new(obj) object_rep(copied_obj, crep, object_rep::owner, delete_s::apply); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - struct copy_reference_to - { - template - void apply(lua_State* L, const T& ref) - { - class_registry* registry = class_registry::get_registry(L); - class_rep* crep = registry->find_class(LUABIND_TYPEID(T)); - - // if you get caught in this assert you are trying - // to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - T* copied_obj = new T(ref); - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - // we send 0 as destructor since we know it will never be called - new(obj) object_rep(copied_obj, crep, object_rep::owner, delete_s::apply); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - template - struct copy_policy : conversion_policy - { - struct only_accepts_pointers_or_references {}; - struct only_converts_from_cpp_to_lua {}; - - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - template - struct apply - { - typedef typename boost::mpl::if_ - , typename boost::mpl::if_ - , copy_pointer_to - , typename boost::mpl::if_ - , copy_reference_to - , only_accepts_pointers_or_references>::type>::type - , only_converts_from_cpp_to_lua>::type type; - }; - }; -}} - -namespace luabind -{ - template - detail::policy_cons, detail::null_type> - copy(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons, detail::null_type>(); - } -} - -#endif // LUABIND_COPY_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/dependency_policy.hpp b/external/sources/luabind-0.7.1/luabind/dependency_policy.hpp deleted file mode 100644 index 7c1245ca19..0000000000 --- a/external/sources/luabind-0.7.1/luabind/dependency_policy.hpp +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED -#define LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail -{ - // makes A dependent on B, meaning B will outlive A. - // internally A stores a reference to B - template - struct dependency_policy - { - static void postcall(lua_State* L, const index_map& indices) - { - int nurse_index = indices[A]; - int patient = indices[B]; - - object_rep* nurse = static_cast(lua_touserdata(L, nurse_index)); - assert((nurse != 0) && "internal error, please report"); // internal error - - nurse->add_dependency(L, patient); - } - }; - -}} - -#if defined (BOOST_MSVC) && (BOOST_MSVC <= 1200) - -namespace luabind -{ - // most absurd workaround of all time? - namespace detail - { - template - struct size_char_array - { - char storage[N + 2]; - }; - - template - size_char_array deduce_size(LUABIND_PLACEHOLDER_ARG(N)); - - template - struct get_index_workaround - { - static T t; - BOOST_STATIC_CONSTANT(int, value = sizeof(deduce_size(t)) - 2); - }; - } - - template - detail::policy_cons::value - , detail::get_index_workaround::value>, detail::null_type> dependency(A,B) - { - return detail::policy_cons::value, detail::get_index_workaround::value> - , detail::null_type>(); - } - - template - detail::policy_cons::value>, detail::null_type> - return_internal_reference(A) - { - return detail::policy_cons::value>, detail::null_type>(); - } -} - -#else - -namespace luabind -{ - template - detail::policy_cons, detail::null_type> - dependency(LUABIND_PLACEHOLDER_ARG(A), LUABIND_PLACEHOLDER_ARG(B)) - { - return detail::policy_cons, detail::null_type>(); - } - - template - detail::policy_cons, detail::null_type> - return_internal_reference(LUABIND_PLACEHOLDER_ARG(A)) - { - return detail::policy_cons, detail::null_type>(); - } -} - -#endif - -#endif // LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/calc_arity.hpp b/external/sources/luabind-0.7.1/luabind/detail/calc_arity.hpp deleted file mode 100644 index fecb1dd6a3..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/calc_arity.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_CALC_ARITY_HPP_INCLUDED -#define LUABIND_CALC_ARITY_HPP_INCLUDED - -#define LUABIND_FIND_CONV(z,n,text) typedef typename find_conversion_policy::type p##n; -#define LUABIND_CALC_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg - -namespace luabind { namespace detail -{ - template struct calc_arity; - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() -}} - -#undef LUABIND_CALC_ARITY -#undef LUABIND_FIND_CONV - - -#endif // LUABIND_CALC_ARITY_HPP_INCLUDED - -#else // BOOST_PP_ITERATE - - template<> - struct calc_arity - { - template - static int apply(constructor, Policies*) - { - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_FIND_CONV, _) - return 0 BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_CALC_ARITY, _); - } - }; - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/detail/call.hpp b/external/sources/luabind-0.7.1/luabind/detail/call.hpp deleted file mode 100644 index 86e02a1fca..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/call.hpp +++ /dev/null @@ -1,424 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_CALL_HPP_INCLUDED -#define LUABIND_CALL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#define LUABIND_DECL(z, n, off) \ - typedef typename find_conversion_policy< \ - n + off \ - , Policies \ - >::type BOOST_PP_CAT(converter_policy,n); \ -\ - typename mpl::apply_wrap2< \ - BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp \ - >::type BOOST_PP_CAT(c,n); - -#define LUABIND_ADD_INDEX(z,n,text) \ - + BOOST_PP_CAT(converter_policy,n)::has_arg - -#define LUABIND_INDEX_MAP(z,n,text) \ - text BOOST_PP_REPEAT(n, LUABIND_ADD_INDEX, _) - -#define LUABIND_PARAMS(z,n,text) \ - BOOST_PP_CAT(c,n).apply( \ - L \ - , LUABIND_DECORATE_TYPE(A##n) \ - , LUABIND_INDEX_MAP(_,n,text) \ - ) - -#define LUABIND_POSTCALL(z,n,text) \ - BOOST_PP_CAT(c,n).converter_postcall( \ - L \ - , LUABIND_DECORATE_TYPE(A##n) \ - , LUABIND_INDEX_MAP(_,n,text) \ - ); - -namespace luabind { namespace detail -{ - - namespace mpl = boost::mpl; - - template - struct maybe_yield - { - static inline int apply(lua_State* L, int nret) - { - return ret(L, nret, boost::mpl::bool_::value>()); - } - - static inline int ret(lua_State* L, int nret, boost::mpl::bool_) - { - return lua_yield(L, nret); - } - - static inline int ret(lua_State*, int nret, boost::mpl::bool_) - { - return nret; - } - }; - - template - struct returns - { - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - }; - - template<> - struct returns - { - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 2)) - #include BOOST_PP_ITERATE() - }; - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 3)) - #include BOOST_PP_ITERATE() -}} - -#undef LUABIND_DECL -#undef LUABIND_PARAMS -#undef LUABIND_POSTCALL -#undef LUABIND_ADD_INDEX -#undef LUABIND_INDEX_MAP - -#endif // LUABIND_CALL_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - - template< - class C - , class WrappedClass - , class Policies - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - static int call( - T(C::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , WrappedClass* - , lua_State* L - , Policies const*) - { - int nargs = lua_gettop(L); - - typedef typename most_derived::type self_type; - pointer_converter self_cv; - - typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret; - typename mpl::apply_wrap2::type converter_ret; - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, 2) - - converter_ret.apply( - L - , (self_cv.apply(L, LUABIND_DECORATE_TYPE(self_type*), 1)->*f) - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, 2) - )); - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, 2) - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - nargs + nret // result - , 1 // self - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, 2) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); - } - - template< - class C - , class WrappedClass - , class Policies - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - static int call( - T(C::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) const - , WrappedClass* - , lua_State* L - , Policies const*) - { - int nargs = lua_gettop(L); - - typedef typename most_derived::type self_type; - const_pointer_converter self_cv; - - typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret; - typename mpl::apply_wrap2::type converter_ret; - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, 2) - - converter_ret.apply( - L - , (self_cv.apply(L, LUABIND_DECORATE_TYPE(self_type const*), 1)->*f) - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, 2) - )); - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, 2) - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - nargs + nret // result - , 1 // self - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, 2) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); - } - - template< - class WrappedClass - , class Policies - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - static int call( - T(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , WrappedClass* - , lua_State* L - , Policies const*) - { - int nargs = lua_gettop(L); - typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret; - typename mpl::apply_wrap2::type converter_ret; - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, 1) - converter_ret.apply(L, f - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, 1) - )); - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, 1) - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - nargs + nret // result - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, 1) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); - } - -#elif BOOST_PP_ITERATION_FLAGS() == 2 - - template< - class C - , class WrappedClass - , class Policies - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - static int call( - void(C::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , WrappedClass* - , lua_State* L - , Policies* const) - { - int nargs = lua_gettop(L); - L = L; // L is used, but metrowerks compiler seem to warn about it before expanding the macros - - typedef typename most_derived::type self_type; - pointer_converter self_cv; - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, 2) - (self_cv.apply(L, LUABIND_DECORATE_TYPE(self_type*), 1)->*f) - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, 2) - ); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, 2) - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - nargs + nret // result - , 1 // self - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, 2) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); - } - - template< - class C - , class WrappedClass - , class Policies - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - static int call( - void(C::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) const - , WrappedClass* - , lua_State* L - , Policies const*) - { - int nargs = lua_gettop(L); - L = L; // L is used, but metrowerks compiler seem to warn about it before expanding the macros - - typedef typename most_derived::type self_type; - const_pointer_converter self_cv; - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, 2) - (self_cv.apply(L, LUABIND_DECORATE_TYPE(self_type const*), 1)->*f) - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, 2) - ); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, 2) - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - nargs + nret // result - , 1 // self - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, 2) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); - } - - template< - class WrappedClass - , class Policies - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - static int call( - void(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , WrappedClass* - , lua_State* L - , Policies const*) - { - int nargs = lua_gettop(L); - L = L; // L is used, but metrowerks compiler seem to warn about it before expanding the macros - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, 1) - f( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, 1) - ); - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - nargs + nret /* result */ - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, 1) - }; - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, 1) - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); - } - -#elif BOOST_PP_ITERATION_FLAGS() == 3 - - template< - class WrappedClass - , class Policies - , class R - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - int call( - R(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , WrappedClass* - , lua_State* L - , Policies const*) - { - return returns::call(f, (WrappedClass*)0, L, (Policies*)0); - } - - template< - class T - , class WrappedClass - , class Policies - , class R - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - int call( - R(T::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , WrappedClass* - , lua_State* L - , Policies const*) - { - return returns::call(f, (WrappedClass*)0, L, (Policies*)0); - } - - template< - class T - , class WrappedClass - , class Policies - , class R - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - int call( - R(T::*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) const - , WrappedClass* - , lua_State* L - , Policies const*) - { - return returns::call(f, (WrappedClass*)0, L, (Policies*)0); - } - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/detail/call_function.hpp b/external/sources/luabind-0.7.1/luabind/detail/call_function.hpp deleted file mode 100644 index edf24596ae..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/call_function.hpp +++ /dev/null @@ -1,443 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_CALL_FUNCTION_HPP_INCLUDED -#define LUABIND_CALL_FUNCTION_HPP_INCLUDED - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace luabind -{ - namespace detail - { - - // if the proxy_function_caller returns non-void - template - class proxy_function_caller - { -// friend class luabind::object; - public: - - typedef int(*function_t)(lua_State*, int, int); - - proxy_function_caller( - lua_State* L - , int params - , function_t fun - , const Tuple args) - : m_state(L) - , m_params(params) - , m_fun(fun) - , m_args(args) - , m_called(false) - { - } - - proxy_function_caller(const proxy_function_caller& rhs) - : m_state(rhs.m_state) - , m_params(rhs.m_params) - , m_fun(rhs.m_fun) - , m_args(rhs.m_args) - , m_called(rhs.m_called) - { - rhs.m_called = true; - } - - ~proxy_function_caller() - { - if (m_called) return; - - m_called = true; - lua_State* L = m_state; - - int top = lua_gettop(L); - - push_args_from_tuple<1>::apply(L, m_args); - if (m_fun(L, boost::tuples::length::value, 0)) - { - assert(lua_gettop(L) == top - m_params + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); - -#endif - } - - // pops the return values from the function call - stack_pop pop(L, lua_gettop(L) - top + m_params); - } - - operator Ret() - { - typename mpl::apply_wrap2::type converter; - - m_called = true; - lua_State* L = m_state; - - int top = lua_gettop(L); - - push_args_from_tuple<1>::apply(L, m_args); - if (m_fun(L, boost::tuples::length::value, 1)) - { - assert(lua_gettop(L) == top - m_params + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); -#endif - } - - // pops the return values from the function call - stack_pop pop(L, lua_gettop(L) - top + m_params); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) - { -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(L, LUABIND_TYPEID(Ret)); -#else - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(L, LUABIND_TYPEID(Ret)); - - assert(0 && "the lua function's return value could not be converted." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); - -#endif - } -#endif - return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); - } - - template - Ret operator[](const Policies& p) - { - typedef typename detail::find_conversion_policy<0, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - - m_called = true; - lua_State* L = m_state; - - int top = lua_gettop(L); - - detail::push_args_from_tuple<1>::apply(L, m_args, p); - if (m_fun(L, boost::tuples::length::value, 1)) - { - assert(lua_gettop(L) == top - m_params + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); -#endif - } - - // pops the return values from the function call - stack_pop pop(L, lua_gettop(L) - top + m_params); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) - { -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(L, LUABIND_TYPEID(Ret)); -#else - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(L, LUABIND_TYPEID(Ret)); - - assert(0 && "the lua function's return value could not be converted." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); - -#endif - } -#endif - return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); - } - - private: - - lua_State* m_state; - int m_params; - function_t m_fun; - Tuple m_args; - mutable bool m_called; - - }; - - // if the proxy_member_caller returns void - template - class proxy_function_void_caller - { - friend class luabind::object; - public: - - typedef int(*function_t)(lua_State*, int, int); - - proxy_function_void_caller( - lua_State* L - , int params - , function_t fun - , const Tuple args) - : m_state(L) - , m_params(params) - , m_fun(fun) - , m_args(args) - , m_called(false) - { - } - - proxy_function_void_caller(const proxy_function_void_caller& rhs) - : m_state(rhs.m_state) - , m_params(rhs.m_params) - , m_fun(rhs.m_fun) - , m_args(rhs.m_args) - , m_called(rhs.m_called) - { - rhs.m_called = true; - } - - ~proxy_function_void_caller() - { - if (m_called) return; - - m_called = true; - lua_State* L = m_state; - - int top = lua_gettop(L); - - push_args_from_tuple<1>::apply(L, m_args); - if (m_fun(L, boost::tuples::length::value, 0)) - { - assert(lua_gettop(L) == top - m_params + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); -#endif - } - // pops the return values from the function call - stack_pop pop(L, lua_gettop(L) - top + m_params); - } - - template - void operator[](const Policies& p) - { - m_called = true; - lua_State* L = m_state; - - int top = lua_gettop(L); - - detail::push_args_from_tuple<1>::apply(L, m_args, p); - if (m_fun(L, boost::tuples::length::value, 0)) - { - assert(lua_gettop(L) == top - m_params + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - " If you want to handle the error you can use luabind::set_error_callback()"); - std::terminate(); -#endif - } - // pops the return values from the function call - stack_pop pop(L, lua_gettop(L) - top + m_params); - } - - private: - - lua_State* m_state; - int m_params; - function_t m_fun; - Tuple m_args; - mutable bool m_called; - - }; - - } - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - -} - -#endif // LUABIND_CALL_FUNCTION_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - -#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * -#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n - - - template - typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type - call_function(lua_State* L, const char* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) - { - assert(name && "luabind::call_function() expects a function name"); - typedef boost::tuples::tuple tuple_t; -#if BOOST_PP_ITERATION() == 0 - tuple_t args; -#else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); -#endif - typedef typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type proxy_type; - - lua_pushstring(L, name); - lua_gettable(L, LUA_GLOBALSINDEX); - - return proxy_type(L, 1, &detail::pcall, args); - } - - template - typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type - call_function(luabind::object const& obj BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) - { - typedef boost::tuples::tuple tuple_t; -#if BOOST_PP_ITERATION() == 0 - tuple_t args; -#else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); -#endif - typedef typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type proxy_type; - - obj.push(obj.interpreter()); - return proxy_type(obj.interpreter(), 1, &detail::pcall, args); - } - - template - typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type - resume_function(lua_State* L, const char* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) - { - assert(name && "luabind::resume_function() expects a function name"); - typedef boost::tuples::tuple tuple_t; -#if BOOST_PP_ITERATION() == 0 - tuple_t args; -#else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); -#endif - typedef typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type proxy_type; - - lua_pushstring(L, name); - lua_gettable(L, LUA_GLOBALSINDEX); - - return proxy_type(L, 1, &detail::resume_impl, args); - } - - template - typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type - resume_function(luabind::object const& obj BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) - { - typedef boost::tuples::tuple tuple_t; -#if BOOST_PP_ITERATION() == 0 - tuple_t args; -#else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); -#endif - typedef typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type proxy_type; - - obj.push(obj.interpreter()); - return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args); - } - - template - typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type - resume(lua_State* L BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) - { - typedef boost::tuples::tuple tuple_t; -#if BOOST_PP_ITERATION() == 0 - tuple_t args; -#else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); -#endif - typedef typename boost::mpl::if_ - , luabind::detail::proxy_function_void_caller > - , luabind::detail::proxy_function_caller > >::type proxy_type; - - return proxy_type(L, 0, &detail::resume_impl, args); - } - - -#undef LUABIND_OPERATOR_PARAMS -#undef LUABIND_TUPLE_PARAMS - - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/detail/call_member.hpp b/external/sources/luabind-0.7.1/luabind/detail/call_member.hpp deleted file mode 100644 index 4d3a5dcbb8..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/call_member.hpp +++ /dev/null @@ -1,362 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_CALL_MEMBER_HPP_INCLUDED -#define LUABIND_CALL_MEMBER_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include // TODO: REMOVE DEPENDENCY - -#include - -#include -#include - -#include - -namespace luabind -{ - namespace detail - { - - namespace mpl = boost::mpl; - - // if the proxy_member_caller returns non-void - template - class proxy_member_caller - { -// friend class luabind::object; - public: - - proxy_member_caller(lua_State* L_, const Tuple args) - : L(L_) - , m_args(args) - , m_called(false) - { - } - - proxy_member_caller(const proxy_member_caller& rhs) - : L(rhs.L) - , m_args(rhs.m_args) - , m_called(rhs.m_called) - { - rhs.m_called = true; - } - - ~proxy_member_caller() - { - if (m_called) return; - - m_called = true; - - // don't count the function and self-reference - // since those will be popped by pcall - int top = lua_gettop(L) - 2; - - // pcall will pop the function and self reference - // and all the parameters - - push_args_from_tuple<1>::apply(L, m_args); - if (pcall(L, boost::tuples::length::value + 1, 0)) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - // pops the return values from the function - stack_pop pop(L, lua_gettop(L) - top); - } - - operator Ret() - { - typename mpl::apply_wrap2::type converter; - - m_called = true; - - // don't count the function and self-reference - // since those will be popped by pcall - int top = lua_gettop(L) - 2; - - // pcall will pop the function and self reference - // and all the parameters - push_args_from_tuple<1>::apply(L, m_args); - if (pcall(L, boost::tuples::length::value + 1, 1)) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - - // pops the return values from the function - stack_pop pop(L, lua_gettop(L) - top); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(L, LUABIND_TYPEID(Ret)); -#else - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(L, LUABIND_TYPEID(Ret)); - - assert(0 && "the lua function's return value could not be converted." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } -#endif - return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); - } - - template - Ret operator[](const Policies& p) - { - typedef typename find_conversion_policy<0, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - - m_called = true; - - // don't count the function and self-reference - // since those will be popped by pcall - int top = lua_gettop(L) - 2; - - // pcall will pop the function and self reference - // and all the parameters - - detail::push_args_from_tuple<1>::apply(L, m_args, p); - if (pcall(L, boost::tuples::length::value + 1, 1)) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - - // pops the return values from the function - stack_pop pop(L, lua_gettop(L) - top); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(L, LUABIND_TYPEID(Ret)); -#else - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(L, LUABIND_TYPEID(Ret)); - - assert(0 && "the lua function's return value could not be converted." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } -#endif - return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); - } - - private: - - lua_State* L; - Tuple m_args; - mutable bool m_called; - - }; - - // if the proxy_member_caller returns void - template - class proxy_member_void_caller - { - friend class luabind::object; - public: - - proxy_member_void_caller(lua_State* L_, const Tuple args) - : L(L_) - , m_args(args) - , m_called(false) - { - } - - proxy_member_void_caller(const proxy_member_void_caller& rhs) - : L(rhs.L) - , m_args(rhs.m_args) - , m_called(rhs.m_called) - { - rhs.m_called = true; - } - - ~proxy_member_void_caller() - { - if (m_called) return; - - m_called = true; - - // don't count the function and self-reference - // since those will be popped by pcall - int top = lua_gettop(L) - 2; - - // pcall will pop the function and self reference - // and all the parameters - - push_args_from_tuple<1>::apply(L, m_args); - if (pcall(L, boost::tuples::length::value + 1, 0)) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - // pops the return values from the function - stack_pop pop(L, lua_gettop(L) - top); - } - - template - void operator[](const Policies& p) - { - m_called = true; - - // don't count the function and self-reference - // since those will be popped by pcall - int top = lua_gettop(L) - 2; - - // pcall will pop the function and self reference - // and all the parameters - - detail::push_args_from_tuple<1>::apply(L, m_args, p); - if (pcall(L, boost::tuples::length::value + 1, 0)) - { - assert(lua_gettop(L) == top + 1); -#ifndef LUABIND_NO_EXCEPTIONS - throw error(L); -#else - error_callback_fun e = get_error_callback(); - if (e) e(L); - - assert(0 && "the lua function threw an error and exceptions are disabled." - "If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - // pops the return values from the function - stack_pop pop(L, lua_gettop(L) - top); - } - - private: - lua_State* L; - Tuple m_args; - mutable bool m_called; - - }; - - } // detail - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - -} - -#endif // LUABIND_CALL_MEMBER_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - -#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * -#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n - - template - typename boost::mpl::if_ - , luabind::detail::proxy_member_void_caller > - , luabind::detail::proxy_member_caller > >::type - call_member(object const& obj, const char* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _)) - { - typedef boost::tuples::tuple tuple_t; -#if BOOST_PP_ITERATION() == 0 - tuple_t args; -#else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); -#endif - - typedef typename boost::mpl::if_ - , luabind::detail::proxy_member_void_caller > - , luabind::detail::proxy_member_caller > >::type proxy_type; - - // this will be cleaned up by the proxy object - // once the call has been made - - // get the function - obj.push(obj.interpreter()); - lua_pushstring(obj.interpreter(), name); - lua_gettable(obj.interpreter(), -2); - // duplicate the self-object - lua_pushvalue(obj.interpreter(), -2); - // remove the bottom self-object - lua_remove(obj.interpreter(), -3); - - // now the function and self objects - // are on the stack. These will both - // be popped by pcall - return proxy_type(obj.interpreter(), args); - } - -#undef LUABIND_OPERATOR_PARAMS -#undef LUABIND_TUPLE_PARAMS - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/detail/class_cache.hpp b/external/sources/luabind-0.7.1/luabind/detail/class_cache.hpp deleted file mode 100755 index 17d3a44600..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/class_cache.hpp +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef CLASS_CACHE_040218_HPP -#define CLASS_CACHE_040218_HPP - -#include -#include -#include - -namespace luabind { namespace detail { - -#ifdef LUABIND_NOT_THREADSAFE - - class class_rep; - - template - struct class_cache_impl - { - static lua_State* state; - static class_rep* class_; - }; - - template - lua_State* class_cache_impl::state = 0; - - template - class_rep* class_cache_impl::class_ = 0; - - template - struct class_cache - : class_cache_impl< - typename boost::add_reference< - typename boost::add_const< - T - >::type - >::type - > - { - }; - - template - class_rep* get_class_rep(lua_State* L, void(*)(T*) = 0) - { - if (class_cache::state != L) - { - class_cache::state = L; - - class_registry* registry = class_registry::get_registry(L); - class_cache::class_ = registry->find_class(LUABIND_TYPEID(T)); - } - - return class_cache::class_; - } - -#else - - template - class_rep* get_class_rep(lua_State* L, void(*)(T*) = 0) - { - class_registry* registry = class_registry::get_registry(L); - return registry->find_class(LUABIND_TYPEID(T)); - } - -#endif - -}} // namespace luabind::detail - -#endif // CLASS_CACHE_040218_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/detail/class_registry.hpp b/external/sources/luabind-0.7.1/luabind/detail/class_registry.hpp deleted file mode 100644 index 766c939498..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/class_registry.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CLASS_REGISTRY_HPP_INCLUDED -#define LUABIND_CLASS_REGISTRY_HPP_INCLUDED - -#include -#include - -#include -#include - -namespace luabind { namespace detail -{ - class class_rep; - - struct LUABIND_API class_registry - { - class_registry(lua_State* L); - - static class_registry* get_registry(lua_State* L); - - int cpp_instance() const { return m_cpp_instance_metatable; } - int cpp_class() const { return m_cpp_class_metatable; } - - int lua_instance() const { return m_lua_instance_metatable; } - int lua_class() const { return m_lua_class_metatable; } - int lua_function() const { return m_lua_function_metatable; } - - void add_class(LUABIND_TYPE_INFO info, class_rep* crep); - - struct cmp - { - bool operator()(const std::type_info* a, const std::type_info* b) const - { - return a->before(*b) != 0; - } - - template - bool operator()(const T& a, const T& b) const - { - return a < b; - } - }; - - class_rep* find_class(LUABIND_TYPE_INFO info) const; - - private: - - std::map m_classes; - - // this is a lua reference that points to the lua table - // that is to be used as meta table for all C++ class - // instances. It is a kind of v-table. - int m_cpp_instance_metatable; - - // this is a lua reference to the metatable to be used - // for all classes defined in C++. - int m_cpp_class_metatable; - - // this is a lua reference that points to the lua table - // that is to be used as meta table for all lua class - // instances. It is a kind of v-table. - int m_lua_instance_metatable; - - // this is a lua reference to the metatable to be used - // for all classes defined in lua - int m_lua_class_metatable; - - // this metatable only contains a destructor - // for luabind::Detail::free_functions::function_rep - int m_lua_function_metatable; - - }; - -}} - -#endif // LUABIND_CLASS_REGISTRY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/class_rep.hpp b/external/sources/luabind-0.7.1/luabind/detail/class_rep.hpp deleted file mode 100644 index efc2f46ccf..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/class_rep.hpp +++ /dev/null @@ -1,400 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CLASS_REP_HPP_INCLUDED -#define LUABIND_CLASS_REP_HPP_INCLUDED - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_MSVC -// msvc doesn't have two-phase, but requires -// method_rep (and overload_rep) to be complete -// because of its std::list implementation. -// gcc on the other hand has two-phase but doesn't -// require method_rep to be complete. -#include -#endif - -namespace luabind -{ - - template - struct bases {}; - typedef bases no_bases; -} - -namespace luabind { namespace detail -{ - - struct method_rep; - LUABIND_API std::string stack_content_by_name(lua_State* L, int start_index); - int construct_lua_class_callback(lua_State* L); - - struct class_registration; - - // this is class-specific information, poor man's vtable - // this is allocated statically (removed by the compiler) - // a pointer to this structure is stored in the lua tables' - // metatable with the name __classrep - // it is used when matching parameters to function calls - // to determine possible implicit casts - // it is also used when finding the best match for overloaded - // methods - - class LUABIND_API class_rep - { - friend struct class_registration; - friend int super_callback(lua_State*); -//TODO: avoid the lua-prefix - friend int lua_class_gettable(lua_State*); - friend int lua_class_settable(lua_State*); - friend int static_class_gettable(lua_State*); - public: - - enum class_type - { - cpp_class = 0, - lua_class = 1 - }; - -#ifndef NDEBUG - std::string class_info_string(lua_State*) const; -#endif - - // destructor is a lua callback function that is hooked as garbage collector event on every instance - // of this class (including those that is not owned by lua). It gets an object_rep as argument - // on the lua stack. It should delete the object pointed to by object_rep::ptr if object_pre::flags - // is object_rep::owner (which means that lua owns the object) - - // EXPECTS THE TOP VALUE ON THE LUA STACK TO - // BE THE USER DATA WHERE THIS CLASS IS BEING - // INSTANTIATED! - class_rep(LUABIND_TYPE_INFO type - , const char* name - , lua_State* L - , void(*destructor)(void*) - , void(*const_holder_destructor)(void*) - , LUABIND_TYPE_INFO holder_type - , LUABIND_TYPE_INFO const_holder_type - , void*(*extractor)(void*) - , const void*(*const_extractor)(void*) - , void(*const_converter)(void*,void*) - , void(*construct_holder)(void*,void*) - , void(*construct_const_holder)(void*,void*) - , void(*default_construct_holder)(void*) - , void(*default_construct_const_holder)(void*) - , void(*adopt_fun)(void*) - , int holder_size - , int holder_alignment); - - // used when creating a lua class - // EXPECTS THE TOP VALUE ON THE LUA STACK TO - // BE THE USER DATA WHERE THIS CLASS IS BEING - // INSTANTIATED! - class_rep(lua_State* L, const char* name); - - ~class_rep(); - - std::pair allocate(lua_State* L) const; - - // called from the metamethod for __index - // the object pointer is passed on the lua stack - int gettable(lua_State* L); - - // called from the metamethod for __newindex - // the object pointer is passed on the lua stack - bool settable(lua_State* L); - - // this is called as __index metamethod on every instance of this class - static int gettable_dispatcher(lua_State* L); - - // this is called as __newindex metamethod on every instance of this class - static int settable_dispatcher(lua_State* L); - static int operator_dispatcher(lua_State* L); - - // this is called as metamethod __call on the class_rep. - static int constructor_dispatcher(lua_State* L); - - static int function_dispatcher(lua_State* L); - - struct base_info - { - int pointer_offset; // the offset added to the pointer to obtain a basepointer (due to multiple-inheritance) - class_rep* base; - }; - - void add_base_class(const base_info& binfo); - - const std::vector& bases() const throw() { return m_bases; } - - void set_type(LUABIND_TYPE_INFO t) { m_type = t; } - LUABIND_TYPE_INFO type() const throw() { return m_type; } - LUABIND_TYPE_INFO holder_type() const throw() { return m_holder_type; } - LUABIND_TYPE_INFO const_holder_type() const throw() { return m_const_holder_type; } - bool has_holder() const throw() { return m_construct_holder != 0; } - - const char* name() const throw() { return m_name; } - - // the lua reference to this class_rep - // TODO: remove -// int self_ref() const throw() { return m_self_ref; } - // the lua reference to the metatable for this class' instances - int metatable_ref() const throw() { return m_instance_metatable; } - - void get_table(lua_State* L) const { m_table.push(L); } - void get_default_table(lua_State* L) const { m_default_table.push(L); } - - void(*construct_holder() const)(void*, void*) { return m_construct_holder; } - void(*destructor() const)(void*) { return m_destructor; } - void(*const_holder_destructor() const)(void*) { return m_const_holder_destructor; } - typedef const void*(*t_const_extractor)(void*); - t_const_extractor const_extractor() const { return m_const_extractor; } - typedef void*(*t_extractor)(void*); - t_extractor extractor() const { return m_extractor; } - - void(*const_converter() const)(void*,void*) { return m_const_converter; } - - class_type get_class_type() const { return m_class_type; } - - void add_static_constant(const char* name, int val); - void add_method(detail::method_rep const& m); - void register_methods(lua_State* L); - - // takes a pointer to the instance object - // and if it has a wrapper, the wrapper - // will convert its weak_ptr into a strong ptr. - void adopt(bool const_obj, void* obj); - - static int super_callback(lua_State* L); - - static int lua_settable_dispatcher(lua_State* L); - static int construct_lua_class_callback(lua_State* L); - - // called from the metamethod for __index - // obj is the object pointer - static int lua_class_gettable(lua_State* L); - - // called from the metamethod for __newindex - // obj is the object pointer - static int lua_class_settable(lua_State* L); - - // called from the metamethod for __index - // obj is the object pointer - static int static_class_gettable(lua_State* L); - - void* convert_to(LUABIND_TYPE_INFO target_type, const object_rep* obj, void*) const; - - bool has_operator_in_lua(lua_State*, int id); - - // this is used to describe setters and getters - struct callback - { - boost::function2 func; -#ifndef LUABIND_NO_ERROR_CHECKING - int (*match)(lua_State*, int); - - typedef void(*get_sig_ptr)(lua_State*, std::string&); - get_sig_ptr sig; -#endif - int pointer_offset; - }; - - const std::map& properties() const; - typedef std::map property_map; - - int holder_alignment() const - { - return m_holder_alignment; - } - - int holder_size() const - { - return m_holder_size; - } - - - void set_holder_alignment(int n) - { - m_holder_alignment = n; - } - - void set_holder_size(int n) - { - m_holder_size = n; - } - - void derived_from(const class_rep* base) - { - m_holder_alignment = base->m_holder_alignment; - m_holder_size = base->m_holder_size; - m_holder_type = base->m_holder_type; - m_const_holder_type = base->m_const_holder_type; - m_extractor = base->m_extractor; - m_const_extractor = base->m_const_extractor; - m_const_converter = base->m_const_converter; - m_construct_holder = base->m_construct_holder; - m_construct_const_holder = base->m_construct_const_holder; - m_default_construct_holder = base->m_default_construct_holder; - m_default_construct_const_holder = base->m_default_construct_const_holder; - } - - struct operator_callback: public overload_rep_base - { - inline void set_fun(int (*f)(lua_State*)) { func = f; } - inline int call(lua_State* L) { return func(L); } - inline void set_arity(int arity) { m_arity = arity; } - - private: - int(*func)(lua_State*); - }; - - private: - - void cache_operators(lua_State*); - - // this is a pointer to the type_info structure for - // this type - // warning: this may be a problem when using dll:s, since - // typeid() may actually return different pointers for the same - // type. - LUABIND_TYPE_INFO m_type; - LUABIND_TYPE_INFO m_holder_type; - LUABIND_TYPE_INFO m_const_holder_type; - - // this function pointer is used if the type is held by - // a smart pointer. This function takes the type we are holding - // (the held_type, the smart pointer) and extracts the actual - // pointer. - void*(*m_extractor)(void*); - const void*(*m_const_extractor)(void*); - - void(*m_const_converter)(void*, void*); - - // this function is used to construct the held_type - // (the smart pointer). The arguments are the memory - // in which it should be constructed (with placement new) - // and the raw pointer that should be wrapped in the - // smart pointer - typedef void(*construct_held_type_t)(void*,void*); - construct_held_type_t m_construct_holder; - construct_held_type_t m_construct_const_holder; - - typedef void(*default_construct_held_type_t)(void*); - default_construct_held_type_t m_default_construct_holder; - default_construct_held_type_t m_default_construct_const_holder; - - typedef void(*adopt_t)(void*); - adopt_t m_adopt_fun; - - // this is the size of the userdata chunk - // for each object_rep of this class. We - // need this since held_types are constructed - // in the same memory (to avoid fragmentation) - int m_holder_size; - int m_holder_alignment; - - // a list of info for every class this class derives from - // the information stored here is sufficient to do - // type casts to the base classes - std::vector m_bases; - - // the class' name (as given when registered to lua with class_) - const char* m_name; - - // contains signatures and construction functions - // for all constructors - construct_rep m_constructor; - - // a reference to this structure itself. Since this struct - // is kept inside lua (to let lua collect it when lua_close() - // is called) we need to lock it to prevent collection. - // the actual reference is not currently used. - detail::lua_reference m_self_ref; - - // this should always be used when accessing - // members in instances of a class. - // this table contains c closures for all - // member functions in this class, they - // may point to both static and virtual functions - handle m_table; - - // this table contains default implementations of the - // virtual functions in m_table. - handle m_default_table; - - // the type of this class.. determines if it's written in c++ or lua - class_type m_class_type; - - // this is a lua reference that points to the lua table - // that is to be used as meta table for all instances - // of this class. - int m_instance_metatable; - - // ***** the maps below contains all members in this class ***** - - // list of methods. pointers into this list is put in the m_table and - // m_default_table for access. The struct contains the function- - // signatures for every overload - std::list m_methods; - - // datamembers, some members may be readonly, and - // only have a getter function - std::map m_getters; - std::map m_setters; - - std::vector m_operators[number_of_operators]; // the operators in lua - - void(*m_destructor)(void*); - void(*m_const_holder_destructor)(void*); - - std::map m_static_constants; - - // the first time an operator is invoked - // we check the associated lua table - // and cache the result - int m_operator_cache; - }; - - bool is_class_rep(lua_State* L, int index); - -}} - -//#include - -#endif // LUABIND_CLASS_REP_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/construct_rep.hpp b/external/sources/luabind-0.7.1/luabind/detail/construct_rep.hpp deleted file mode 100644 index a7729bb86d..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/construct_rep.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CONSTRUCT_REP_HPP_INCLUDED -#define LUABIND_CONSTRUCT_REP_HPP_INCLUDED - -#include - -#include -#include - -#include -#include -#include - -//#include -#include -#include - -namespace luabind { namespace detail -{ - - - struct construct_rep - { - struct overload_t: public overload_rep_base - { - overload_t(): wrapped_construct_fun(0) - { - } - - typedef void*(*construct_ptr)(lua_State*, weak_ref const&); - typedef void*(*wrapped_construct_ptr)(lua_State*, weak_ref const&); - typedef void(*get_signature_ptr)(lua_State*, std::string&); - - inline void set_constructor(construct_ptr f) { construct_fun = f; } - inline void set_wrapped_constructor(wrapped_construct_ptr f) { wrapped_construct_fun = f; } - - inline void* construct(lua_State* L, weak_ref const& backref) - { - return construct_fun(L, backref); - } - - inline void* construct_wrapped(lua_State* L, weak_ref const& ref) { return wrapped_construct_fun(L, ref); } - inline bool has_wrapped_construct() { return wrapped_construct_fun != 0; } - - inline void set_arity(int arity) { m_arity = arity; } - - private: - - construct_ptr construct_fun; - wrapped_construct_ptr wrapped_construct_fun; - - }; - - void swap(construct_rep& x) - { - std::swap(x.overloads, overloads); - } - - std::vector overloads; - }; - -}} - -#endif // LUABIND_CONSTRUCT_REP_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/constructor.hpp b/external/sources/luabind-0.7.1/luabind/detail/constructor.hpp deleted file mode 100644 index 410a949712..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/constructor.hpp +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_CONSTRUCTOR_HPP_INCLUDED -#define LUABIND_CONSTRUCTOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - template - struct constructor_helper; - - namespace mpl = boost::mpl; - - template - struct wrapped_constructor_helper; - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - - template - struct construct_class - { - inline static void* apply(lua_State* L, weak_ref const& ref) - { - typedef constructor_helper helper; - return helper::execute( - L - , ref - , (T*)0 - , (ConstructorSig*)0 - , (Policies*)0 - ); - } - }; - - template - struct construct_wrapped_class - { - inline static void* apply(lua_State* L, weak_ref const& ref) - { - typedef wrapped_constructor_helper helper; - return helper::execute( - L - , ref - , (T*)0 - , (W*)0 - , (ConstructorSig*)0 - , (Policies*)0 - ); - } - }; - -}} - -#endif // LUABIND_CONSTRUCTOR_HPP_INCLUDED - - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - - -#define LUABIND_DECL(z, n, text) \ - typedef typename find_conversion_policy::type BOOST_PP_CAT(converter_policy,n); \ -\ - typename mpl::apply_wrap2< \ - BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp \ - >::type BOOST_PP_CAT(c,n); - -#define LUABIND_PARAM(z,n,text) \ - BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A,n)), n + 2) - - template<> - struct constructor_helper - { - template - static T* execute( - lua_State* L - , weak_ref const& - , T* - , constructor* - , Policies*) - { - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, _) - return new T(BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAM, _)); - } -/* - template - struct apply - { - template - static T* call(lua_State* L, const constructor*, const Policies*) - { - // L is used, but the metrowerks compiler warns about this before expanding the macros - L = L; - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, _) - return new T(BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAM, _)); - } - };*/ - }; - - template<> - struct wrapped_constructor_helper - { - template - static T* execute( - lua_State* L - , weak_ref const& ref - , T* - , W* - , constructor* - , Policies*) - { - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, _) - W* result = new W(BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAM, _)); - static_cast(detail::wrap_access::ref(*result)) = ref; - return result; - } -/* - template - struct apply - { - template - static T* call(lua_State* L, weak_ref const& ref, const constructor*, const Policies*) - { - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, _) - T* o = new T(BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAM, _)); - static_cast(detail::wrap_access::ref(*o)) = ref; - return o; - } - };*/ - }; - - -#undef LUABIND_PARAM -#undef LUABIND_DECL - -#endif // LUABIND_CONSTRUCTOR_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/convert_to_lua.hpp b/external/sources/luabind-0.7.1/luabind/detail/convert_to_lua.hpp deleted file mode 100644 index f5aa89aea7..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/convert_to_lua.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_CONVERT_TO_LUA_HPP_INCLUDED -#define LUABIND_CONVERT_TO_LUA_HPP_INCLUDED - -#include -#include -#include - -#include - -namespace luabind { namespace detail -{ - template - struct unwrap_ref - { - template - static const T& get(const T& r) { return r; } - - template - struct apply - { - typedef T type; - }; - }; - - template<> - struct unwrap_ref - { - template - static T& get(const boost::reference_wrapper& r) { return r.get(); } - - template - struct apply - { - typedef typename T::type& type; - }; - }; - - namespace mpl = boost::mpl; - - template - void convert_to_lua(lua_State* L, const T& v) - { - typedef typename mpl::apply_wrap1< - unwrap_ref::value> - , T - >::type value_type; - - typename mpl::apply_wrap2::type converter; - - converter.apply(L, unwrap_ref::value>::get(v)); - } - - template - void convert_to_lua_p(lua_State* L, const T& v, const Policies&) - { - typedef typename mpl::apply_wrap1< - unwrap_ref::value> - , T - >::type value_type; - - typedef typename find_conversion_policy::type converter_policy; - typename mpl::apply_wrap2::type converter; - - converter.apply(L, unwrap_ref::value>::get(v)); - } -}} - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/detail/debug.hpp b/external/sources/luabind-0.7.1/luabind/detail/debug.hpp deleted file mode 100755 index ef13bc8862..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/debug.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_DEBUG_HPP_INCLUDED -#define LUABIND_DEBUG_HPP_INCLUDED - -#ifndef NDEBUG - -#include -#include - -namespace luabind { namespace detail -{ - struct stack_checker_type - { - stack_checker_type(lua_State* L) - : m_L(L) - , m_stack(lua_gettop(m_L)) - {} - - ~stack_checker_type() - { - assert(m_stack == lua_gettop(m_L)); - } - - lua_State* m_L; - int m_stack; - }; - -}} -#define LUABIND_CHECK_STACK(L) luabind::detail::stack_checker_type stack_checker_object(L) -#else -#define LUABIND_CHECK_STACK(L) do {} while (0) -#endif - -#endif // LUABIND_DEBUG_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/decorate_type.hpp b/external/sources/luabind-0.7.1/luabind/detail/decorate_type.hpp deleted file mode 100644 index bb144c463b..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/decorate_type.hpp +++ /dev/null @@ -1,266 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_DECORATE_TYPE_HPP_INCLUDED -#define LUABIND_DECORATE_TYPE_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail -{ - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - template - struct decorated_type - { - static by_value t; - static inline by_value& get() { return /*by_value()*/t; } - }; - - template - by_value decorated_type::t; - - template - struct decorated_type - { - static by_pointer t; - static inline by_pointer& get() { return /*by_pointer()*/t; } - }; - - template - by_pointer decorated_type::t; - - template - struct decorated_type - { - static by_const_pointer t; - static inline by_const_pointer get() { return /*by_const_pointer()*/t; } - }; - - template - by_const_pointer decorated_type::t; - - template - struct decorated_type - { - static by_const_pointer t; - static inline by_const_pointer& get() { return /*by_const_pointer()*/t; } - }; - - template - by_const_pointer decorated_type::t; - - template - struct decorated_type - { - static by_reference t; - static inline by_reference& get() { return /*by_reference()*/t; } - }; - - template - by_reference decorated_type::t; - - template - struct decorated_type - { - static by_const_reference t; - static inline by_const_reference& get() { return /*by_const_reference()*/t; } - }; - - template - by_const_reference decorated_type::t; - - #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get() - -#else - -#include - - namespace - { - LUABIND_ANONYMOUS_FIX char decorated_type_array[64]; - } - - template - struct decorated_type_cref_impl - { -#if defined(BOOST_MSVC) && BOOST_MSVC == 1200 - template - static by_const_reference get(const U&) - { - return by_const_reference(); - } - static T data() { return reinterpret_cast(decorated_type_array); } -#else - - static void(*data())(T) - { return (void(*)(T))0; } - - template - static by_const_reference get(void(*f)(const U&)) - { return by_const_reference(); } -#endif - }; - - template - struct decorated_type_ref_impl - { -#if defined(BOOST_MSVC) && BOOST_MSVC == 1200 - template - static by_reference get(U&) - { - return by_reference(); - } - static T data() { return reinterpret_cast(decorated_type_array); } -#else - static void(*data())(T) - { return (void(*)(T))0; } - - template - static by_reference get(void(*)(U&)) - { return by_reference(); } -#endif - }; - - template - struct decorated_type_cptr_impl - { -#if defined(BOOST_MSVC) && BOOST_MSVC == 1200 - template - static by_const_pointer get(const U*) - { - return by_const_pointer(); - } - static T& data() { return reinterpret_cast(decorated_type_array); } -#else - static void(*data())(T) - { return (void(*)(T))0; } - - template - static by_const_pointer get(void(*)(const U*)) - { return by_const_pointer(); } -#endif - }; - - template - struct decorated_type_ptr_impl - { -#if defined(BOOST_MSVC) && BOOST_MSVC == 1200 - template - static by_pointer get(U*) - { - return by_pointer(); - } - static T& data() { return reinterpret_cast(decorated_type_array); } -#else - static void(*data())(T) - { return (void(*)(T))0; } - - template - static by_pointer get(void(*)(U*)) - { return by_pointer(); } -#endif - }; - - template - struct decorated_type_value_impl - { -#if defined(BOOST_MSVC) && BOOST_MSVC == 1200 - template - static by_value get(U&) - { - return by_value(); - } - static T& data() { return reinterpret_cast(decorated_type_array); } -#else - static void(*data())(T&) - { return (void(*)(T&))0; } - - template - static by_value get(void(*)(U&)) - { return by_value(); } -#endif - }; - - template<> - struct decorated_type_value_impl - { - static by_value get(int) - { - return by_value(); - } - static int data() { return 0; } - }; - - template - struct decorated_type_array_impl - { - template - static by_pointer get(U*) - { - return by_pointer(); - } - - template - static by_pointer get(void(*)(U)) - { return by_pointer(); } - - static T& data() { return reinterpret_cast(decorated_type_array); } - }; - - template - struct decorated_type -// : boost::mpl::if_ -// , decorated_type_array_impl - : boost::mpl::if_ - , decorated_type_cref_impl - , typename boost::mpl::if_ - , decorated_type_ref_impl - , typename boost::mpl::if_ - , decorated_type_ptr_impl - , typename boost::mpl::if_ - , decorated_type_cptr_impl - , decorated_type_value_impl - >::type - >::type - >::type - >::type -// >::type - { - }; - -#if defined(BOOST_MSVC) && BOOST_MSVC == 1200 - #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get(luabind::detail::decorated_type::data()) -#else -// #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get((void(*)(type))0) - #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get(luabind::detail::decorated_type::data()) - //#define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get(type()) -#endif - -#endif - -}} - -#endif // LUABIND_DECORATE_TYPE_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/enum_maker.hpp b/external/sources/luabind-0.7.1/luabind/detail/enum_maker.hpp deleted file mode 100644 index 9d5e2613ee..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/enum_maker.hpp +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_ENUM_MAKER_HPP_INCLUDED -#define LUABIND_ENUM_MAKER_HPP_INCLUDED - -#include -#include - -#include -#include - -namespace luabind -{ - struct value; - - struct value_vector : public std::vector - { - // a bug in intel's compiler forces us to declare these constructors explicitly. - value_vector(); - virtual ~value_vector(); - value_vector(const value_vector& v); - value_vector& operator,(const value& rhs); - }; - - struct value - { - friend class std::vector; - template - value(const char* name, T v) - : name_(name) - , val_(v) - {} - - const char* name_; - int val_; - - value_vector operator,(const value& rhs) const - { - value_vector v; - - v.push_back(*this); - v.push_back(rhs); - - return v; - } - - private: - - value() {} - }; - - inline value_vector::value_vector() - : std::vector() - { - } - - inline value_vector::~value_vector() {} - - inline value_vector::value_vector(const value_vector& rhs) - : std::vector(rhs) - { - } - - inline value_vector& value_vector::operator,(const value& rhs) - { - push_back(rhs); - return *this; - } - - namespace detail - { - template - struct enum_maker - { - explicit enum_maker(From& from): from_(from) {} - - From& operator[](const value& val) - { - from_.add_static_constant(val.name_, val.val_); - return from_; - } - - From& operator[](const value_vector& values) - { - for (value_vector::const_iterator i = values.begin(); i != values.end(); ++i) - { - from_.add_static_constant(i->name_, i->val_); - } - - return from_; - } - - From& from_; - - private: - template void operator,(T const&) const; - }; - } -} - -#endif // LUABIND_ENUM_MAKER_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/find_best_match.hpp b/external/sources/luabind-0.7.1/luabind/detail/find_best_match.hpp deleted file mode 100644 index 2612e95eb5..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/find_best_match.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_FIND_BEST_MATCH_HPP_INCLUDED -#define LUABIND_FIND_BEST_MATCH_HPP_INCLUDED - -#include - -#include - -namespace luabind { namespace detail -{ - - // expects that a match function can be accesed through the iterator - // as int match_fun(lua_State*) - // returns true if it found a match better than the given. If it finds a - // better match match_index is updated to contain the new index to the best - // match (this index now refers to the list given to this call). - // orep_size is supposed to tell the size of the actual structures that - // start and end points to ambiguous is set to true if the match was - // ambiguous min_match should be initialized to the currently best match - // value (the number of implicit casts to get a perfect match). If there - // are no previous matches, set min_match to - // std::numeric_limits::max() - - LUABIND_API bool find_best_match(lua_State* L - , detail::overload_rep_base const* start, int num_overloads - , size_t orep_size, bool& ambiguous, int& min_match, int& match_index - , int num_params); - - LUABIND_API void find_exact_match(lua_State* L - , detail::overload_rep_base const* start, int num_overloads - , size_t orep_size, int cmp_match, int num_params - , std::vector& dest); - -}} - -#endif // LUABIND_FIND_BEST_MATCH_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/garbage_collector.hpp b/external/sources/luabind-0.7.1/luabind/detail/garbage_collector.hpp deleted file mode 100644 index c0d68aa366..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/garbage_collector.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED -#define LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED - -#include - -namespace luabind { namespace detail -{ - // function that is used as __gc metafunction on several objects - template - inline int garbage_collector(lua_State* L) - { - T* obj = static_cast(lua_touserdata(L, -1)); - obj->~T(); - return 0; - } - - template - struct garbage_collector_s - { - static int apply(lua_State* L) - { - T* obj = static_cast(lua_touserdata(L, -1)); - obj->~T(); - return 0; - } - }; - -}} - -#endif // LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/get_overload_signature.hpp b/external/sources/luabind-0.7.1/luabind/detail/get_overload_signature.hpp deleted file mode 100644 index f4c151c2d0..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/get_overload_signature.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_GET_OVERLOAD_SIGNATURE_HPP_INCLUDED -#define LUABIND_GET_OVERLOAD_SIGNATURE_HPP_INCLUDED - -#include - -namespace luabind { namespace detail -{ - - template - std::string get_overload_signatures(lua_State* L, It start, It end, std::string name) - { - std::string s; - for (; start != end; ++start) - { - s += name; - start->get_signature(L, s); - s += "\n"; - } - return s; - } - - -#ifndef LUABIND_NO_ERROR_CHECKING - - std::string get_overload_signatures_candidates(lua_State* L, std::vector::iterator start, std::vector::iterator end, std::string name); - -#endif - -}} - -#endif // LUABIND_GET_OVERLOAD_SIGNATURE_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/get_signature.hpp b/external/sources/luabind-0.7.1/luabind/detail/get_signature.hpp deleted file mode 100644 index 72514cfa3a..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/get_signature.hpp +++ /dev/null @@ -1,215 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_NO_ERROR_CHECKING - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_GET_SIGNATURE_HPP_INCLUDED -#define LUABIND_GET_SIGNATURE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -namespace luabind { namespace detail -{ - - std::string LUABIND_API get_class_name(lua_State* L, LUABIND_TYPE_INFO i); - - template - std::string name_of_type(by_value, lua_State* L, int) { return luabind::detail::get_class_name(L, LUABIND_TYPEID(T)); }; - template - std::string name_of_type(by_reference, lua_State* L, int) { return name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L) + "&"; }; - template - std::string name_of_type(by_pointer, lua_State* L, int) { return name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L) + "*"; }; - template - std::string name_of_type(by_const_reference, lua_State* L, int) { return "const " + name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L) + "&"; }; - template - std::string name_of_type(by_const_pointer, lua_State* L, int) { return "const " + name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L) + "*"; }; - - inline std::string name_of_type(by_value, lua_State*, int) { return "object"; }; - inline std::string name_of_type(by_const_reference, lua_State*, int) { return "object"; }; - inline std::string name_of_type(by_value, lua_State*, int) { return "boolean"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - - inline std::string name_of_type(by_value, lua_State*, int) { return "boolean"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - inline std::string name_of_type(by_value, lua_State*, int) { return "number"; } - -// template -// inline std::string name_of_type(by_value >, lua_State* L, long) { return "function<" + name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L) + ">"; } - - inline std::string name_of_type(by_value, lua_State*, int) { return "string"; } - inline std::string name_of_type(by_const_pointer, lua_State*, int) { return "string"; } - inline std::string name_of_type(by_pointer, lua_State*, int) { return "lua_State*"; } - - template - struct type_name_unless_void - { - inline static void apply(std::string& s, lua_State* L, bool first) - { - if (!first) s += ", "; - s += name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L); - } - }; - - template<> - struct type_name_unless_void - { - inline static void apply(std::string&, lua_State*, bool) {} - }; - -#define LUABIND_ADD_LUA_TYPE_NAME(z, n, _) type_name_unless_void::apply(s, L, false); - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - - template - struct get_member_signature - { - static inline void apply(lua_State* L, std::string& s) - { - get_member_signature_impl(static_cast(0), L, s); - } - }; - - template - struct get_free_function_signature - { - static inline void apply(lua_State* L, std::string& s) - { - get_free_function_signature_impl(static_cast(0), L, s); - } - }; - - - template - struct get_signature - { - static inline void apply(lua_State* L, std::string& s) - { - get_signature_impl(static_cast(0), L, s); - } - }; - - template - inline void get_signature_impl(const constructor*, lua_State* L, std::string& s) - { - s += "("; - type_name_unless_void::apply(s, L, true); - BOOST_PP_REPEAT(BOOST_PP_DEC(LUABIND_MAX_ARITY), LUABIND_ADD_LUA_TYPE_NAME, _) - s += ")"; - } - -#undef LUABIND_ADD_LUA_TYPE_NAME - - template - struct get_setter_signature - { - static void apply(lua_State* L, std::string& s) - { - s += "("; - s += name_of_type(LUABIND_DECORATE_TYPE(T), L, 0L); - s += ")"; - } - }; - -}} - -#endif // LUABIND_GET_SIGNATURE_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - - // member functions - template - inline void get_member_signature_impl(T(C::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, std::string& s) - { - s += "("; -#if BOOST_PP_ITERATION() > 0 - s += name_of_type(LUABIND_DECORATE_TYPE(A0), L, 0L); - BOOST_PP_REPEAT(BOOST_PP_DEC(BOOST_PP_ITERATION()), LUABIND_ADD_LUA_TYPE_NAME, _) -#endif - s += ")"; - } - - template - inline void get_member_signature_impl(T(C::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) const, lua_State* L, std::string& s) - { - (void)L; - s += "("; -#if BOOST_PP_ITERATION() > 0 - s += name_of_type(LUABIND_DECORATE_TYPE(A0), L, 0L); - BOOST_PP_REPEAT(BOOST_PP_DEC(BOOST_PP_ITERATION()), LUABIND_ADD_LUA_TYPE_NAME, _) -#endif - s += ") const"; - } - - // const C& obj - template - inline void get_member_signature_impl(T(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, std::string& s) - { - s += "("; -#if BOOST_PP_ITERATION() > 0 - s += name_of_type(LUABIND_DECORATE_TYPE(A0), L, 0L); - BOOST_PP_REPEAT(BOOST_PP_DEC(BOOST_PP_ITERATION()), LUABIND_ADD_LUA_TYPE_NAME, _) -#endif - s += ")"; - } - - // free functions - template - inline void get_free_function_signature_impl(T(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, std::string& s) - { - (void)f; - s += "("; -#if BOOST_PP_ITERATION() > 0 - s += name_of_type(LUABIND_DECORATE_TYPE(A0), L, 0L); - BOOST_PP_REPEAT(BOOST_PP_DEC(BOOST_PP_ITERATION()), LUABIND_ADD_LUA_TYPE_NAME, _) -#endif - s += ")"; - } - -#endif - -#endif // LUABIND_NO_ERROR_CHECKING diff --git a/external/sources/luabind-0.7.1/luabind/detail/implicit_cast.hpp b/external/sources/luabind-0.7.1/luabind/detail/implicit_cast.hpp deleted file mode 100644 index e906289eda..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/implicit_cast.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_IMPLICIT_CAST_HPP_INCLUDED -#define LUABIND_IMPLICIT_CAST_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail -{ - // returns -1 if there exists no implicit cast from the given class_rep - // to T. If there exists an implicit cast to T, the number of steps times 2 - // is returned and pointer_offset is filled with the number of bytes - // the pointer have to be offseted to perform the cast - // the reason why we return the number of cast-steps times two, instead of - // just the number of steps is to be consistent with the function matchers. They - // have to give one matching-point extra to match const functions. There may be - // two functions that match their parameters exactly, but there is one const - // function and one non-const function, then (if the this-pointer is non-const) - // both functions will match. To avoid amiguaties, the const version will get - // one penalty point to make the match-selector select the non-const version. It - // the this-pointer is const, there's no problem, since the non-const function - // will not match at all. - - LUABIND_API int implicit_cast(const class_rep*, LUABIND_TYPE_INFO const&, int&); - -}} - -#endif // LUABIND_IMPLICIT_CAST_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/is_indirect_const.hpp b/external/sources/luabind-0.7.1/luabind/detail/is_indirect_const.hpp deleted file mode 100755 index b6c1282fb1..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/is_indirect_const.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef IS_INDIRECT_CONST_040211_HPP -#define IS_INDIRECT_CONST_040211_HPP - -#include -#include -#include - -namespace luabind { - - namespace detail { - - template - typename boost::is_const::type - is_indirect_const_check(T(*)(), int); - - template - typename boost::is_const::type - is_indirect_const_check(T*(*)(), long); - - template - typename boost::is_const::type - is_indirect_const_check(T&(*)(), long); - - yes_t to_yes_no(boost::mpl::true_); - no_t to_yes_no(boost::mpl::false_); - - } // namespace detail - - // returns true for: - // T = U* is_const - // T = U& is_const - // T = U is_const - template - struct is_indirect_const - { - BOOST_STATIC_CONSTANT(int, value = ( - sizeof( - detail::to_yes_no( - detail::is_indirect_const_check((T(*)())0, 0L) - )) - == sizeof(detail::yes_t) - )); - }; - -} // namespace luabind - -#endif // IS_INDIRECT_CONST_040211_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/detail/link_compatibility.hpp b/external/sources/luabind-0.7.1/luabind/detail/link_compatibility.hpp deleted file mode 100755 index 6f0006afa7..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/link_compatibility.hpp +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_LINK_COMPATIBILITY_HPP_INCLUDED -#define LUABIND_LINK_COMPATIBILITY_HPP_INCLUDED - -#include - -namespace luabind { namespace detail -{ - -#ifdef LUABIND_NOT_THREADSAFE - LUABIND_API void not_threadsafe_defined_conflict(); -#else - LUABIND_API void not_threadsafe_not_defined_conflict(); -#endif - -#ifdef LUABIND_NO_ERROR_CHECKING - LUABIND_API void no_error_checking_defined_conflict(); -#else - LUABIND_API void no_error_checking_not_defined_conflict(); -#endif - - inline void check_link_compatibility() - { - #ifdef LUABIND_NOT_THREADSAFE - not_threadsafe_defined_conflict(); - #else - not_threadsafe_not_defined_conflict(); - #endif - - #ifdef LUABIND_NO_ERROR_CHECKING - no_error_checking_defined_conflict(); - #else - no_error_checking_not_defined_conflict(); - #endif - } - -}} - -#endif diff --git a/external/sources/luabind-0.7.1/luabind/detail/method_rep.hpp b/external/sources/luabind-0.7.1/luabind/detail/method_rep.hpp deleted file mode 100644 index 8844d624c6..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/method_rep.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_METHOD_REP_HPP_INCLUDED -#define LUABIND_METHOD_REP_HPP_INCLUDED - -#include - -#include - -#include - -namespace luabind { namespace detail -{ - - class class_rep; - - /* - contains information about a method. It contains - a list of all overloads of the function. If a class - derives from another class all methods and overloads - are copied into the derived class and the pointer - offset is applied to each copied method. The pointer - offset is needed because if the method is called - on a derived object the method needs a pointer - to the base class, and that typecast may need - an offseted pointer (if multiple inheritance is used). - */ - struct method_rep - { - void add_overload(const overload_rep& o) - { - std::vector::iterator i = std::find(m_overloads.begin(), m_overloads.end(), o); - if (i == m_overloads.end()) - { - // if this overload does not exist, we can just add it to the end of the overloads list - m_overloads.push_back(o); - } - else - { - // if this specific overload already exists, replace it - *i = o; - } - } - const std::vector& overloads() const throw() { return m_overloads; } - - // this is a pointer to the string kept in class_rep::m_methods, and those strings are deleted - // at the end of the lua session. - const char* name; - - // the class_rep in which this method_rep is found - const class_rep* crep; - - private: - // this have to be write protected, since each time an overload is - // added it has to be checked for existence. add_overload() should - // be used. - std::vector m_overloads; - }; - -}} - -#endif // LUABIND_METHOD_REP_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/object_funs.hpp b/external/sources/luabind-0.7.1/luabind/detail/object_funs.hpp deleted file mode 100644 index bfecf12078..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/object_funs.hpp +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_OBJECT_PROXY_HPP_INCLUDED -#define LUABIND_OBJECT_PROXY_HPP_INCLUDED - -#include - -#include -#include -#include -#include -#include -#include - -#include - -namespace luabind -{ - - namespace detail - { - - namespace mpl = boost::mpl; - - template - inline T object_cast_impl(const Obj& obj, const Policies&) - { - if (obj.lua_state() == 0) - { -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(0, LUABIND_TYPEID(T)); -#else - lua_State* L = obj.lua_state(); - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(L, LUABIND_TYPEID(T)); - - assert(0 && "object_cast failed. If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - - LUABIND_CHECK_STACK(obj.lua_state()); - - typedef typename detail::find_conversion_policy<0, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - - obj.pushvalue(); - - lua_State* L = obj.lua_state(); - detail::stack_pop p(L, 1); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (converter.match(L, LUABIND_DECORATE_TYPE(T), -1) < 0) - { -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(L, LUABIND_TYPEID(T)); -#else - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(L, LUABIND_TYPEID(T)); - - assert(0 && "object_cast failed. If you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } -#endif - - return converter.apply(L, LUABIND_DECORATE_TYPE(T), -1); - } - - template - boost::optional object_cast_nothrow_impl(const Obj& obj, const Policies&) - { - typedef typename detail::find_conversion_policy<0, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - - if (obj.lua_state() == 0) return boost::optional(); - LUABIND_CHECK_STACK(obj.lua_state()); - - obj.pushvalue(); - - lua_State* L = obj.lua_state(); - detail::stack_pop p(L, 1); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (converter.match(L, LUABIND_DECORATE_TYPE(T), -1) < 0) - return boost::optional(); -#endif - - return boost::optional(converter.apply(L, LUABIND_DECORATE_TYPE(T), -1)); - } - } - - template - T object_cast(const object& obj) - { return detail::object_cast_impl(obj, detail::null_type()); } - - template - T object_cast(const object& obj, const Policies& p) - { return detail::object_cast_impl(obj, p); } - - template - boost::optional object_cast_nothrow(const object& obj) - { return detail::object_cast_nothrow_impl(obj, detail::null_type()); } - - template - boost::optional object_cast_nothrow(const object& obj, const Policies& p) - { return detail::object_cast_nothrow_impl(obj, p); } - - - template - T object_cast(const detail::proxy_object& obj) - { return detail::object_cast_impl(obj, detail::null_type()); } - - template - T object_cast(const detail::proxy_object& obj, const Policies& p) - { return detail::object_cast_impl(obj, p); } - - template - boost::optional object_cast_nothrow(const detail::proxy_object& obj) - { return detail::object_cast_nothrow_impl(obj, detail::null_type()); } - - template - boost::optional object_cast_nothrow(const detail::proxy_object& obj, const Policies& p) - { return detail::object_cast_nothrow_impl(obj, p); } - - - template - T object_cast(const detail::proxy_raw_object& obj) - { return detail::object_cast_impl(obj, detail::null_type()); } - - template - T object_cast(const detail::proxy_raw_object& obj, const Policies& p) - { return detail::object_cast_impl(obj, p); } - - template - boost::optional object_cast_nothrow(const detail::proxy_raw_object& obj) - { return detail::object_cast_nothrow_impl(obj, detail::null_type()); } - - template - boost::optional object_cast_nothrow(const detail::proxy_raw_object& obj, const Policies& p) - { return detail::object_cast_nothrow_impl(obj, p); } - - - template - T object_cast(const detail::proxy_array_object& obj) - { return detail::object_cast_impl(obj, detail::null_type()); } - - template - T object_cast(const detail::proxy_array_object& obj, const Policies& p) - { return detail::object_cast_impl(obj, p); } - - template - boost::optional object_cast_nothrow(const detail::proxy_array_object& obj) - { return detail::object_cast_nothrow_impl(obj, detail::null_type()); } - - template - boost::optional object_cast_nothrow(const detail::proxy_array_object& obj, const Policies& p) - { return detail::object_cast_nothrow_impl(obj, p); } - - - - - inline object get_globals(lua_State* L) - { - lua_pushvalue(L, LUA_GLOBALSINDEX); - detail::lua_reference ref; - ref.set(L); - return object(L, ref, true/*object::reference()*/); - } - - inline object get_registry(lua_State* L) - { - lua_pushvalue(L, LUA_REGISTRYINDEX); - detail::lua_reference ref; - ref.set(L); - return object(L, ref, true/*object::reference()*/); - } - - inline object newtable(lua_State* L) - { - lua_newtable(L); - detail::lua_reference ref; - ref.set(L); - return object(L, ref, true/*object::reference()*/); - } -} - -/* - -struct A -{ -}; - -object f = class_(); - -A* ptr = object_cast(f(), adopt(_1)); - -delete ptr; - -*/ - -#endif // LUABIND_OBJECT_PROXY_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/object_rep.hpp b/external/sources/luabind-0.7.1/luabind/detail/object_rep.hpp deleted file mode 100644 index 8c65e3f27d..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/object_rep.hpp +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_OBJECT_REP_HPP_INCLUDED -#define LUABIND_OBJECT_REP_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail -{ - class class_rep; - - void finalize(lua_State* L, class_rep* crep); - - // this class is allocated inside lua for each pointer. - // it contains the actual c++ object-pointer. - // it also tells if it is const or not. - class LUABIND_API object_rep - { - public: - enum { constant = 1, owner = 2, lua_class = 4, call_super = 8 }; - - // dest is a function that is called to delete the c++ object this struct holds - object_rep(void* obj, class_rep* crep, int flags, void(*dest)(void*)); - object_rep(class_rep* crep, int flags, detail::lua_reference const& table_ref); - ~object_rep(); - - void* ptr() const { return m_object; } - - void* ptr(int pointer_offset) const - { - return reinterpret_cast(m_object) + pointer_offset; - } - - const class_rep* crep() const { return m_classrep; } - class_rep* crep() { return m_classrep; } - int flags() const { return m_flags; } - void set_flags(int flags) { m_flags = flags; } - - detail::lua_reference& get_lua_table() { return m_lua_table_ref; } - detail::lua_reference const& get_lua_table() const { return m_lua_table_ref; } - - void remove_ownership(); - void set_destructor(void(*ptr)(void*)); - - void set_object(void* p) { m_object = p; } - - void add_dependency(lua_State* L, int index); - - static int garbage_collector(lua_State* L); - - private: - - void* m_object; // pointer to the c++ object or holder / if lua class, this is a pointer the the instance of the - // c++ base or 0. - class_rep* m_classrep; // the class information about this object's type - int m_flags; - detail::lua_reference m_lua_table_ref; // reference to lua table if this is a lua class - void(*m_destructor)(void*); // this could be in class_rep? it can't: see intrusive_ptr - int m_dependency_cnt; // counts dependencies - detail::lua_reference m_dependency_ref; // reference to lua table holding dependency references - - // ======== the new way, separate object_rep from the holder -// instance_holder* m_instance; - }; - - template - struct delete_s - { - static void apply(void* ptr) - { - delete static_cast(ptr); - } - }; - - template - struct destruct_only_s - { - static void apply(void* ptr) - { - // Removes unreferenced formal parameter warning on VC7. - (void)ptr; -#ifndef NDEBUG - int completeness_check[sizeof(T)]; - (void)completeness_check; -#endif - static_cast(ptr)->~T(); - } - }; - - - inline object_rep* is_class_object(lua_State* L, int index) - { - object_rep* obj = static_cast(lua_touserdata(L, index)); - if (!obj) return 0; - if (lua_getmetatable(L, index) == 0) return 0; - - lua_pushstring(L, "__luabind_class"); - lua_gettable(L, -2); - bool confirmation = lua_toboolean(L, -1) != 0; - lua_pop(L, 2); - if (!confirmation) return 0; - return obj; - - } - -}} - -#endif // LUABIND_OBJECT_REP_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/open.hpp b/external/sources/luabind-0.7.1/luabind/detail/open.hpp deleted file mode 100644 index a30faeef88..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/open.hpp +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_OPEN_HPP_INCLUDED -#define LUABIND_OPEN_HPP_INCLUDED - -#include - -namespace luabind -{ - namespace detail - { - LUABIND_API void add_operator_to_metatable(lua_State* L, int op_index); - LUABIND_API int create_cpp_class_metatable(lua_State* L); - LUABIND_API int create_cpp_instance_metatable(lua_State* L); - LUABIND_API int create_lua_class_metatable(lua_State* L); - LUABIND_API int create_lua_instance_metatable(lua_State* L); - LUABIND_API int create_lua_function_metatable(lua_State* L); - } - - LUABIND_API void open(lua_State* L); -} - -#endif // LUABIND_OPEN_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/operator_id.hpp b/external/sources/luabind-0.7.1/luabind/detail/operator_id.hpp deleted file mode 100644 index d12e9d815a..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/operator_id.hpp +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_OPERATOR_ID_HPP_INCLUDED -#define LUABIND_OPERATOR_ID_HPP_INCLUDED - -#include - -namespace luabind { namespace detail { - - enum operator_id - { - op_add = 0, - op_sub, - op_mul, - op_div, - op_pow, - op_lt, - op_le, - op_eq, - op_call, - op_unm, - op_tostring, - op_concat, - - number_of_operators - }; - - struct op_add_tag {}; - struct op_sub_tag {}; - struct op_mul_tag {}; - struct op_div_tag {}; - struct op_pow_tag {}; - struct op_lt_tag {}; - struct op_le_tag {}; - struct op_eq_tag {}; - struct op_call_tag {}; - struct op_unm_tag {}; - struct op_tostring_tag {}; - struct op_concat_tag {}; - - inline const char* get_operator_name(int i) - { - static const char* a[number_of_operators] = { - "__add", "__sub", "__mul", "__div", "__pow", - "__lt", "__le", "__eq", "__call", "__unm", - "__tostring", "__concat" }; - return a[i]; - } - - inline const char* get_operator_symbol(int i) - { - static const char* a[number_of_operators] = { - "+", "-", "*", "/", "^", "<", - "<=", "==", "()", "- (unary)", - "tostring", ".." }; - return a[i]; - } - - inline bool is_unary(int i) - { - // the reason why unary minus is not considered a unary operator here is - // that it always is given two parameters, where the second parameter always - // is nil. - return i == op_tostring; - } - - -}} - -#endif // LUABIND_OPERATOR_ID_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/other.hpp b/external/sources/luabind-0.7.1/luabind/detail/other.hpp deleted file mode 100644 index 679058c9ec..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/other.hpp +++ /dev/null @@ -1,119 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_OTHER_HPP_INCLUDED -#define LUABIND_OTHER_HPP_INCLUDED - -// header derived from source code found in Boost.Python - -// Copyright David Abrahams 2002. Permission to copy, use, -// modify, sell and distribute this software is granted provided this -// copyright notice appears in all copies. This software is provided -// "as is" without express or implied warranty, and with no claim as -// to its suitability for any purpose. - -#include -#include - -namespace luabind -{ - template - struct other - { - typedef T type; - }; -} - -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -namespace luabind { namespace detail -{ - template - class unwrap_other - { - public: - typedef T type; - }; - - template - class unwrap_other > - { - public: - typedef T type; - }; -}} // namespace luabind::detail - -# else // no partial specialization - -#include - -namespace luabind { namespace detail -{ - typedef char (&yes_other_t)[1]; - typedef char (&no_other_t)[2]; - - no_other_t is_other_test(...); - - template - yes_other_t is_other_test(type_< other >); - - template - struct other_unwrapper - { - template - struct apply - { - typedef T type; - }; - }; - - template<> - struct other_unwrapper - { - template - struct apply - { - typedef typename T::type type; - }; - }; - - template - class is_other - { - public: - BOOST_STATIC_CONSTANT( - bool, value = ( - sizeof(detail::is_other_test(type_())) - == sizeof(detail::yes_other_t))); - }; - - template - class unwrap_other - : public detail::other_unwrapper< - is_other::value - >::template apply - {}; - -}} // namespace luabind::detail -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - -#endif // LUABIND_OTHER_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/overload_rep.hpp b/external/sources/luabind-0.7.1/luabind/detail/overload_rep.hpp deleted file mode 100644 index 483b2fc5b0..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/overload_rep.hpp +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_OVERLOAD_REP_HPP_INCLUDED -#define LUABIND_OVERLOAD_REP_HPP_INCLUDED - -#include - -#include -#include -#include -#include -#include - -#include - -#include - -#ifndef BOOST_MSVC -#include -#endif - -namespace luabind { namespace detail -{ - struct dummy_ {}; - - // this class represents a specific overload of a member-function. - struct overload_rep: public overload_rep_base - { - #define BOOST_PP_ITERATION_PARAMS_1 (4 \ - , (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - - bool operator==(const overload_rep& o) - { - if (o.m_const != m_const) return false; - if (o.m_arity != m_arity) return false; - if (o.m_params_.size() != m_params_.size()) return false; - for (int i = 0; i < (int)m_params_.size(); ++i) - { - if (!(LUABIND_TYPE_INFO_EQUAL(m_params_[i], o.m_params_[i]))) - return false; - } - return true; - } - - void set_fun(boost::function1 const& f) - { call_fun = f; } - - void set_fun_static(boost::function1 const& f) - { call_fun_static = f; } - - int call(lua_State* L, bool force_static_call) const; - - bool has_static() const { return !call_fun_static.empty(); } - - private: - - // this is the normal function pointer that may be a virtual - boost::function1 call_fun; - - // this is the optional function pointer that is only set if - // the first function pointer is virtual. This must always point - // to a static function. - boost::function1 call_fun_static; - - // the types of the parameter it takes - std::vector m_params_; - // is true if the overload is const (this is a part of the signature) - bool m_const; - }; - -}} // namespace luabind::detail - -#endif // LUABIND_OVERLOAD_REP_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - -#define LUABIND_PARAM(z, n, _) m_params_.push_back(LUABIND_TYPEID(A##n)); -#define LUABIND_POLICY_DECL(z,n,offset) typedef typename detail::find_conversion_policy::type BOOST_PP_CAT(p,n); -#define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg - - // overloaded template funtion that initializes the parameter list - // called m_params and the m_arity member. - template - overload_rep(R(T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), Policies*) - : m_const(false) - { - m_params_.reserve(BOOST_PP_ITERATION()); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_PARAM, _) - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POLICY_DECL, 2) - m_arity = 1 BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_ARITY, 0); - } - - template - overload_rep(R(T::*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) const, Policies*) - : m_const(true) - { - m_params_.reserve(BOOST_PP_ITERATION()); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_PARAM, _) - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POLICY_DECL, 2) - m_arity = 1 BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_ARITY, 0); - } - - template - overload_rep(R(*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), Policies*) - : m_const(false/*is_indirect_const::value*/) - { - m_params_.reserve(BOOST_PP_ITERATION()); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_PARAM, _) - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POLICY_DECL, 1) - m_arity = 0 BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_ARITY, 0); - } - -#undef LUABIND_ARITY -#undef LUABIND_POLICY_DECL -#undef LUABIND_PARAM - -#endif diff --git a/external/sources/luabind-0.7.1/luabind/detail/overload_rep_base.hpp b/external/sources/luabind-0.7.1/luabind/detail/overload_rep_base.hpp deleted file mode 100644 index 774461f0d2..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/overload_rep_base.hpp +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_OVERLOAD_REP_BASE_HPP_INCLUDED -#define LUABIND_OVERLOAD_REP_BASE_HPP_INCLUDED - -#include -#include - -struct lua_State; - -namespace luabind { namespace detail -{ - // this class represents a specific overload of a member-function. - struct overload_rep_base - { -#if !defined(NDEBUG) && !defined(LUABIND_NO_ERROR_CHECKING) - overload_rep_base(): m_get_signature_fun(0), m_match_fun(0), m_arity(-1) {} -#else - overload_rep_base(): m_match_fun(0), m_arity(-1) {} -#endif - - typedef boost::function1 match_fun_t; - typedef void(*get_sig_ptr)(lua_State*, std::string&); - - inline int match(lua_State* L, int num_params) const - { - if (num_params != m_arity) return -1; - return m_match_fun(L); - } - - inline void set_match_fun(match_fun_t const& fn) - { - m_match_fun = fn; - } - -#ifndef LUABIND_NO_ERROR_CHECKING - inline void get_signature(lua_State* L, std::string& s) const - { - m_get_signature_fun(L, s); - } - - inline void set_sig_fun(get_sig_ptr f) - { - m_get_signature_fun = f; - } -#endif - - protected: - -#ifndef LUABIND_NO_ERROR_CHECKING - get_sig_ptr m_get_signature_fun; -#endif - -// match_ptr m_match_fun; - match_fun_t m_match_fun; - int m_arity; - }; - -}} // namespace luabind::detail - -#endif // LUABIND_OVERLOAD_REP_BASE_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/pointee_typeid.hpp b/external/sources/luabind-0.7.1/luabind/detail/pointee_typeid.hpp deleted file mode 100755 index 3db23992c0..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/pointee_typeid.hpp +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef POINTEE_TYPEID_040211_HPP -#define POINTEE_TYPEID_040211_HPP - -#include - -namespace luabind { namespace detail { - - template - LUABIND_TYPE_INFO pointee_typeid(T*) - { - return LUABIND_TYPEID(T); - } - -}} // namespace luabind::detail - -#endif // POINTEE_TYPEID_040211_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/detail/policy.hpp b/external/sources/luabind-0.7.1/luabind/detail/policy.hpp deleted file mode 100644 index e1d62d18a0..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/policy.hpp +++ /dev/null @@ -1,1332 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_POLICY_HPP_INCLUDED -#define LUABIND_POLICY_HPP_INCLUDED - -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include -#include - -namespace luabind -{ - namespace detail - { - struct conversion_policy_base {}; - } - - template - struct conversion_policy : detail::conversion_policy_base - { - BOOST_STATIC_CONSTANT(int, index = N); - BOOST_STATIC_CONSTANT(bool, has_arg = HasArg); - }; - - class index_map - { - public: - index_map(const int* m): m_map(m) {} - - int operator[](int index) const - { - return m_map[index]; - } - - private: - const int* m_map; - }; - - namespace converters - { - using luabind::detail::yes_t; - using luabind::detail::no_t; - using luabind::detail::by_value; - using luabind::detail::by_reference; - using luabind::detail::by_const_reference; - using luabind::detail::by_pointer; - using luabind::detail::by_const_pointer; - - no_t is_user_defined(...); - } - - namespace detail - { - template - struct is_user_defined - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(luabind::converters::is_user_defined(LUABIND_DECORATE_TYPE(T))) == sizeof(yes_t)); - }; - - LUABIND_API int implicit_cast(const class_rep* crep, LUABIND_TYPE_INFO const&, int& pointer_offset); - } - -// template class functor; - class weak_ref; -} - -namespace luabind { namespace detail -{ - template - struct is_primitive; -/* - template - yes_t is_lua_functor_test(const functor&); - -#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) - no_t is_lua_functor_test(...); -#else - template - no_t is_lua_functor_test(const T&); -#endif - - template - struct is_lua_functor - { - static T t; - - BOOST_STATIC_CONSTANT(bool, value = sizeof(is_lua_functor_test(t)) == sizeof(yes_t)); - }; -*/ - template - struct policy_cons - { - typedef H head; - typedef T tail; - - template - policy_cons > operator,(policy_cons) - { - return policy_cons >(); - } - - template - policy_cons > operator+(policy_cons) - { - return policy_cons >(); - } - - template - policy_cons > operator|(policy_cons) - { - return policy_cons >(); - } - }; - - struct indirection_layer - { - template - indirection_layer(const T&); - }; - - yes_t is_policy_cons_test(const null_type&); - template - yes_t is_policy_cons_test(const policy_cons&); - no_t is_policy_cons_test(...); - - template - struct is_policy_cons - { - static const T& t; - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(is_policy_cons_test(t)) == sizeof(yes_t)); - - typedef boost::mpl::bool_ type; - }; - - template - struct is_string_literal - { - static no_t helper(indirection_layer); - static yes_t helper(const char*); - }; - - template<> - struct is_string_literal - { - static no_t helper(indirection_layer); - }; - - - template - struct is_primitive/*: boost::mpl::bool_c*/ - { - static T t; - - BOOST_STATIC_CONSTANT(bool, value = - sizeof(is_string_literal::value>::helper(t)) == sizeof(yes_t)); - }; - -#define LUABIND_INTEGER_TYPE(type) \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; - - LUABIND_INTEGER_TYPE(char) - LUABIND_INTEGER_TYPE(short) - LUABIND_INTEGER_TYPE(int) - LUABIND_INTEGER_TYPE(long) - - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - template<> struct is_primitive : boost::mpl::true_ {}; \ - -#undef LUABIND_INTEGER_TYPE - - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - - // TODO: add more - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - template<> struct is_primitive: boost::mpl::bool_ {}; - - - template struct primitive_converter; - - template<> - struct primitive_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef primitive_converter type; - - void apply(lua_State* L, int v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, short v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, char v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, long v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, unsigned int v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, unsigned short v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, unsigned char v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, unsigned long v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, float v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, double v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, long double v) { lua_pushnumber(L, (lua_Number)v); } - void apply(lua_State* L, const char* v) - { - if (v) - { - lua_pushstring(L, v); - } - else - { - lua_pushnil(L); - } - } - void apply(lua_State* L, const std::string& v) - { lua_pushlstring(L, v.data(), v.size()); } - void apply(lua_State* L, bool b) { lua_pushboolean(L, b); } - }; - - template<> - struct primitive_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef primitive_converter type; - - #define PRIMITIVE_CONVERTER(prim) \ - prim apply(lua_State* L, luabind::detail::by_const_reference, int index) { return apply(L, detail::by_value(), index); } \ - prim apply(lua_State* L, luabind::detail::by_value, int index) { return apply(L, detail::by_value(), index); } \ - prim apply(lua_State* L, luabind::detail::by_value, int index) - - #define PRIMITIVE_MATCHER(prim) \ - static int match(lua_State* L, luabind::detail::by_const_reference, int index) { return match(L, detail::by_value(), index); } \ - static int match(lua_State* L, luabind::detail::by_value, int index) { return match(L, detail::by_value(), index); } \ - static int match(lua_State* L, luabind::detail::by_value, int index) - - PRIMITIVE_CONVERTER(bool) { return lua_toboolean(L, index) == 1; } - PRIMITIVE_MATCHER(bool) { if (lua_type(L, index) == LUA_TBOOLEAN) return 0; else return -1; } - - PRIMITIVE_CONVERTER(int) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(int) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(unsigned int) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(unsigned int) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(char) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(char) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(signed char) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(signed char) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(unsigned char) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(unsigned char) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(short) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(short) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(unsigned short) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(unsigned short) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(long) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(long) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(unsigned long) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(unsigned long) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(float) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(float) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(double) { return static_cast(lua_tonumber(L, index)); } - PRIMITIVE_MATCHER(double) { if (lua_type(L, index) == LUA_TNUMBER) return 0; else return -1; } - - PRIMITIVE_CONVERTER(lua_State*) { return lua_tothread(L, index); } - PRIMITIVE_MATCHER(lua_State*) { if (lua_type(L, index) == LUA_TTHREAD) return 0; else return -1; } - - PRIMITIVE_CONVERTER(std::string) - { return std::string(lua_tostring(L, index), lua_strlen(L, index)); } - PRIMITIVE_MATCHER(std::string) { if (lua_type(L, index) == LUA_TSTRING) return 0; else return -1; } - - PRIMITIVE_CONVERTER(luabind::weak_ref) - { - LUABIND_CHECK_STACK(L); - return luabind::weak_ref(L, index); - } - - PRIMITIVE_MATCHER(luabind::weak_ref) { (void)index; (void)L; return (std::numeric_limits::max)() - 1; } - - const char* apply(lua_State* L, detail::by_const_pointer, int index) - { - return static_cast(lua_tostring(L, index)); - } - - const char* apply(lua_State* L, detail::by_const_pointer, int index) - { - return static_cast(lua_tostring(L, index)); - } - - static int match(lua_State* L, by_const_pointer, int index) - { - return lua_type(L, index) == LUA_TSTRING - || lua_isnil(L, index) ? 0 : -1; - } - static int match(lua_State* L, by_const_pointer, int index) - { - return lua_type(L, index) == LUA_TSTRING - || lua_isnil(L, index) ? 0 : -1; - } - - template - void converter_postcall(lua_State*, T, int) {} - - #undef PRIMITIVE_MATCHER - #undef PRIMITIVE_CONVERTER - }; - - - -// ********** user defined converter *********** - - template struct user_defined_converter; - - template<> - struct user_defined_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef user_defined_converter type; - - template - T apply(lua_State* L, detail::by_value, int index) - { - using namespace converters; - return convert_lua_to_cpp(L, detail::by_value(), index); - } - - template - T apply(lua_State* L, detail::by_reference, int index) - { - using namespace converters; - return convert_lua_to_cpp(L, detail::by_reference(), index); - } - - template - T apply(lua_State* L, detail::by_const_reference, int index) - { - using namespace converters; - return convert_lua_to_cpp(L, detail::by_const_reference(), index); - } - - template - T* apply(lua_State* L, detail::by_pointer, int index) - { - using namespace converters; - return convert_lua_to_cpp(L, detail::by_pointer(), index); - } - - template - const T* apply(lua_State* L, detail::by_const_pointer, int index) - { - using namespace converters; - return convert_lua_to_cpp(L, detail::by_pointer(), index); - } - - template - static int match(lua_State* L, T, int index) - { - using namespace converters; - return match_lua_to_cpp(L, T(), index); - } - - template - void converter_postcall(lua_State*, T, int) {} - }; - - template<> - struct user_defined_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef user_defined_converter type; - - template - void apply(lua_State* L, const T& v) - { - using namespace converters; - convert_cpp_to_lua(L, v); - } - }; - -// ********** pointer converter *********** - - - template struct pointer_converter; - - template<> - struct pointer_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef pointer_converter type; - - template - void apply(lua_State* L, T* ptr) - { - if (ptr == 0) - { - lua_pushnil(L); - return; - } - - if (luabind::get_back_reference(L, ptr)) - return; - - class_rep* crep = get_class_rep(L); - - // if you get caught in this assert you are - // trying to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - //new(obj) object_rep(ptr, crep, object_rep::owner, destructor_s::apply); - new(obj) object_rep(ptr, crep, 0, 0); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - template struct make_pointer { typedef T* type; }; - template<> - struct pointer_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef pointer_converter type; - - // TODO: does the pointer converter need this?! - char target[32]; - void (*destructor)(void *); - - pointer_converter(): destructor(0) {} - - template - typename make_pointer::type apply(lua_State* L, by_pointer, int index) - { - // preconditions: - // lua_isuserdata(L, index); - // getmetatable().__lua_class is true - // object_rep->flags() & object_rep::constant == 0 - - if (lua_isnil(L, index)) return 0; - - object_rep* obj = static_cast(lua_touserdata(L, index)); - assert((obj != 0) && "internal error, please report"); // internal error - const class_rep* crep = obj->crep(); - - T* ptr = reinterpret_cast(crep->convert_to(LUABIND_TYPEID(T), obj, target)); - - if ((void*)ptr == (char*)target) destructor = detail::destruct_only_s::apply; - assert(!destructor || sizeof(T) <= 32); - - return ptr; - } - - template - static int match(lua_State* L, by_pointer, int index) - { - if (lua_isnil(L, index)) return 0; - object_rep* obj = is_class_object(L, index); - if (obj == 0) return -1; - // cannot cast a constant object to nonconst - if (obj->flags() & object_rep::constant) return -1; - - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?-1:0; - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->const_holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?0:-1; - - int d; - return implicit_cast(obj->crep(), LUABIND_TYPEID(T), d); - } - - ~pointer_converter() - { - if (destructor) destructor(target); - } - - template - void converter_postcall(lua_State*, by_pointer, int) - {} - }; - -// ******* value converter ******* - - template struct value_converter; - - template<> - struct value_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef value_converter type; - - template - void apply(lua_State* L, const T& ref) - { - if (luabind::get_back_reference(L, ref)) - return; - - class_rep* crep = get_class_rep(L); - - // if you get caught in this assert you are - // trying to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - void* obj_rep; - void* held; - - boost::tie(obj_rep,held) = crep->allocate(L); - - void* object_ptr; - void(*destructor)(void*); - destructor = crep->destructor(); - int flags = object_rep::owner; - if (crep->has_holder()) - { - if (LUABIND_TYPE_INFO_EQUAL(LUABIND_TYPEID(T), crep->const_holder_type())) - { - new(held) T(ref); - object_ptr = held; - flags |= object_rep::constant; - destructor = crep->const_holder_destructor(); - } - else if (LUABIND_TYPE_INFO_EQUAL(LUABIND_TYPEID(T), crep->holder_type())) - { - new(held) T(ref); - object_ptr = held; - } - else - { - assert(LUABIND_TYPE_INFO_EQUAL(LUABIND_TYPEID(T), crep->type())); - std::auto_ptr obj(new T(ref)); - crep->construct_holder()(held, obj.get()); - object_ptr = held; - obj.release(); - } - } - else - { - object_ptr = new T(ref); - } - new(obj_rep) object_rep(object_ptr, crep, flags, destructor); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - - template struct make_const_reference { typedef const T& type; }; - - template - struct destruct_guard - { - T* ptr; - bool dismiss; - destruct_guard(T* p): ptr(p), dismiss(false) {} - - ~destruct_guard() - { - if (!dismiss) - ptr->~T(); - } - }; - - template<> - struct value_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef value_converter type; - - template - T apply(lua_State* L, by_value, int index) - { - // preconditions: - // lua_isuserdata(L, index); - // getmetatable().__lua_class is true - // object_rep->flags() & object_rep::constant == 0 - - object_rep* obj = 0; - const class_rep* crep = 0; - - // special case if we get nil in, try to convert the holder type - if (lua_isnil(L, index)) - { - crep = get_class_rep(L); - assert(crep); - } - else - { - obj = static_cast(lua_touserdata(L, index)); - assert((obj != 0) && "internal error, please report"); // internal error - crep = obj->crep(); - } - assert(crep); - - // TODO: align! - char target[sizeof(T)]; - T* ptr = reinterpret_cast(crep->convert_to(LUABIND_TYPEID(T), obj, target)); - - destruct_guard guard(ptr); - if ((void*)ptr != (void*)target) guard.dismiss = true; - - return *ptr; - } - - template - static int match(lua_State* L, by_value, int index) - { - // special case if we get nil in, try to match the holder type - if (lua_isnil(L, index)) - { - class_rep* crep = get_class_rep(L); - if (crep == 0) return -1; - if ((LUABIND_TYPE_INFO_EQUAL(crep->holder_type(), LUABIND_TYPEID(T)))) - return 0; - if ((LUABIND_TYPE_INFO_EQUAL(crep->const_holder_type(), LUABIND_TYPEID(T)))) - return 0; - return -1; - } - - object_rep* obj = is_class_object(L, index); - if (obj == 0) return -1; - int d; - - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?-1:0; - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->const_holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?0:1; - - return implicit_cast(obj->crep(), LUABIND_TYPEID(T), d); - } - - template - void converter_postcall(lua_State*, T, int) {} - }; - -// ******* const pointer converter ******* - - template struct const_pointer_converter; - - template<> - struct const_pointer_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef const_pointer_converter type; - - template - void apply(lua_State* L, const T* ptr) - { - if (ptr == 0) - { - lua_pushnil(L); - return; - } - - if (luabind::get_back_reference(L, ptr)) - return; - - class_rep* crep = get_class_rep(L); - - // if you get caught in this assert you are - // trying to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - assert(obj && "internal error, please report"); - // we send 0 as destructor since we know it will never be called - new(obj) object_rep(const_cast(ptr), crep, object_rep::constant, 0); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - - template struct make_const_pointer { typedef const T* type; }; - template<> - struct const_pointer_converter - : private pointer_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef const_pointer_converter type; - - template - typename make_const_pointer::type apply(lua_State* L, by_const_pointer, int index) - { - return pointer_converter::apply(L, by_pointer(), index); - } - - template - static int match(lua_State* L, by_const_pointer, int index) - { - if (lua_isnil(L, index)) return 0; - object_rep* obj = is_class_object(L, index); - if (obj == 0) return -1; // if the type is not one of our own registered types, classify it as a non-match - - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?-1:0; - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->const_holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?0:1; - - bool const_ = obj->flags() & object_rep::constant; - int d; - int points = implicit_cast(obj->crep(), LUABIND_TYPEID(T), d); - return points == -1 ? -1 : points + !const_; - } - - template - void converter_postcall(lua_State* L, by_const_pointer, int index) - { - pointer_converter::converter_postcall(L, by_pointer(), index); - } - }; - -// ******* reference converter ******* - - template struct ref_converter; - - template<> - struct ref_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef ref_converter type; - - template - void apply(lua_State* L, T& ref) - { - if (luabind::get_back_reference(L, ref)) - return; - - class_rep* crep = get_class_rep(L); - - // if you get caught in this assert you are - // trying to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - T* ptr = &ref; - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - assert(obj && "internal error, please report"); - new(obj) object_rep(ptr, crep, 0, 0); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - template struct make_reference { typedef T& type; }; - template<> - struct ref_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef ref_converter type; - - template - typename make_reference::type apply(lua_State* L, by_reference, int index) - { - assert(!lua_isnil(L, index)); - return *pointer_converter().apply(L, by_pointer(), index); - } - - template - static int match(lua_State* L, by_reference, int index) - { - if (lua_isnil(L, index)) return -1; - return pointer_converter::match(L, by_pointer(), index); - } - - template - void converter_postcall(lua_State*, T, int) {} - }; - -// ******** const reference converter ********* - - template struct const_ref_converter; - - template<> - struct const_ref_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef const_ref_converter type; - - template - void apply(lua_State* L, T const& ref) - { - if (luabind::get_back_reference(L, ref)) - return; - - class_rep* crep = get_class_rep(L); - - // if you get caught in this assert you are - // trying to use an unregistered type - assert(crep && "you are trying to use an unregistered type"); - - T const* ptr = &ref; - - // create the struct to hold the object - void* obj = lua_newuserdata(L, sizeof(object_rep)); - assert(obj && "internal error, please report"); - new(obj) object_rep(const_cast(ptr), crep, object_rep::constant, 0); - - // set the meta table - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - } - }; - - template<> - struct const_ref_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef const_ref_converter type; - - // TODO: align! - char target[32]; - void (*destructor)(void*); - - const_ref_converter(): destructor(0) {} - - template - typename make_const_reference::type apply(lua_State* L, by_const_reference, int index) - { - object_rep* obj = 0; - class_rep const * crep = 0; - - // special case if we get nil in, try to convert the holder type - if (lua_isnil(L, index)) - { - crep = get_class_rep(L); - assert(crep); - } - else - { - obj = static_cast(lua_touserdata(L, index)); - assert((obj != 0) && "internal error, please report"); // internal error - crep = obj->crep(); - } - assert(crep); - - T* ptr = reinterpret_cast(crep->convert_to(LUABIND_TYPEID(T), obj, target)); - // if the pointer returned points into the converter storage, - // we need to destruct it once the converter destructs - if ((void*)ptr == (void*)target) destructor = detail::destruct_only_s::apply; - assert(!destructor || sizeof(T) <= 32); - - return *ptr; - } - - template - static int match(lua_State* L, by_const_reference, int index) - { - // special case if we get nil in, try to match the holder type - if (lua_isnil(L, index)) - { - class_rep* crep = get_class_rep(L); - if (crep == 0) return -1; - if ((LUABIND_TYPE_INFO_EQUAL(crep->holder_type(), LUABIND_TYPEID(T)))) - return 0; - if ((LUABIND_TYPE_INFO_EQUAL(crep->const_holder_type(), LUABIND_TYPEID(T)))) - return 0; - return -1; - } - - object_rep* obj = is_class_object(L, index); - if (obj == 0) return -1; // if the type is not one of our own registered types, classify it as a non-match - - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?-1:0; - if ((LUABIND_TYPE_INFO_EQUAL(obj->crep()->const_holder_type(), LUABIND_TYPEID(T)))) - return (obj->flags() & object_rep::constant)?0:1; - - bool const_ = obj->flags() & object_rep::constant; - int d; - int points = implicit_cast(obj->crep(), LUABIND_TYPEID(T), d); - return points == -1 ? -1 : points + !const_; - } - - ~const_ref_converter() - { - if (destructor) destructor(target); - } - - template - void converter_postcall(lua_State* L, by_const_reference, int index) - { - } - }; - - // ****** enum converter ******** - - template - struct enum_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef enum_converter type; - - void apply(lua_State* L, int val) - { - lua_pushnumber(L, val); - } - }; - - template<> - struct enum_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef enum_converter type; - - template - T apply(lua_State* L, by_value, int index) - { - return static_cast(static_cast(lua_tonumber(L, index))); - } - - template - static int match(lua_State* L, by_value, int index) - { - if (lua_isnumber(L, index)) return 0; else return -1; - } - - template - T apply(lua_State* L, by_const_reference, int index) - { - return static_cast(static_cast(lua_tonumber(L, index))); - } - - template - static int match(lua_State* L, by_const_reference, int index) - { - if (lua_isnumber(L, index)) return 0; else return -1; - } - - template - void converter_postcall(lua_State*, T, int) {} - }; -/* - // ****** functor converter ******** - - template struct functor_converter; - - template<> - struct functor_converter - { - typedef functor_converter type; - - template - functor apply(lua_State* L, by_const_reference >, int index) - { - if (lua_isnil(L, index)) - return functor(); - - lua_pushvalue(L, index); - detail::lua_reference ref; - ref.set(L); - return functor(L, ref); - } - - template - functor apply(lua_State* L, by_value >, int index) - { - if (lua_isnil(L, index)) - return functor(); - - lua_pushvalue(L, index); - detail::lua_reference ref; - ref.set(L); - return functor(L, ref); - } - - template - static int match(lua_State* L, by_const_reference >, int index) - { - if (lua_isfunction(L, index) || lua_isnil(L, index)) return 0; else return -1; - } - - template - static int match(lua_State* L, by_value >, int index) - { - if (lua_isfunction(L, index) || lua_isnil(L, index)) return 0; else return -1; - } - - template - void converter_postcall(lua_State*, T, int) {} - }; -*/ - - template - struct value_wrapper_converter; - - template<> - struct value_wrapper_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef value_wrapper_converter type; - - template - T apply(lua_State* L, by_const_reference, int index) - { - return T(from_stack(L, index)); - } - - template - T apply(lua_State* L, by_value, int index) - { - return apply(L, by_const_reference(), index); - } - - template - static int match(lua_State* L, by_const_reference, int index) - { - return value_wrapper_traits::check(L, index) - ? (std::numeric_limits::max)() / LUABIND_MAX_ARITY - : -1; - } - - template - static int match(lua_State* L, by_value, int index) - { - return match(L, by_const_reference(), index); - } - - void converter_postcall(...) {} - }; - - template<> - struct value_wrapper_converter - { - typedef boost::mpl::bool_ is_value_converter; - typedef value_wrapper_converter type; - - template - void apply(lua_State* interpreter, T const& value_wrapper) - { - value_wrapper_traits::unwrap(interpreter, value_wrapper); - } - }; - -// *********** default_policy ***************** - - using boost::mpl::eval_if; - - struct default_policy : converter_policy_tag - { - BOOST_STATIC_CONSTANT(bool, has_arg = true); - - template - static void precall(lua_State*, T, int) {} - - template - struct apply - : eval_if< - is_user_defined - , user_defined_converter - , eval_if< - is_value_wrapper_arg - , value_wrapper_converter - , eval_if< - is_primitive - , primitive_converter - , eval_if< -// is_lua_functor -// , functor_converter -// , eval_if< - boost::is_enum::type> - , enum_converter - , eval_if< - is_nonconst_pointer - , pointer_converter - , eval_if< - is_const_pointer - , const_pointer_converter - , eval_if< - is_nonconst_reference - , ref_converter - , eval_if< - is_const_reference - , const_ref_converter - , value_converter - > - > - > - > - > -// > - > - > - > - { - }; - }; - -// ============== new policy system ================= - - template struct find_conversion_policy; - - template - struct find_conversion_impl - { - template - struct apply - { - typedef typename find_conversion_policy::type type; - }; - }; - - template<> - struct find_conversion_impl - { - template - struct apply - { - typedef typename Policies::head head; - typedef typename Policies::tail tail; - - BOOST_STATIC_CONSTANT(bool, found = (N == head::index)); - - typedef typename - boost::mpl::if_c::type - >::type type; - }; - }; - - template - struct find_conversion_impl2 - { - template - struct apply - : find_conversion_impl< - boost::is_base_and_derived::value - >::template apply - { - }; - }; - - template<> - struct find_conversion_impl2 - { - template - struct apply - { - typedef default_policy type; - }; - }; - - template - struct find_conversion_policy : find_conversion_impl2::template apply - { - }; - - template - struct policy_list_postcall - { - typedef typename List::head head; - typedef typename List::tail tail; - - static void apply(lua_State* L, const index_map& i) - { - head::postcall(L, i); - policy_list_postcall::apply(L, i); - } - }; - - template<> - struct policy_list_postcall - { - static void apply(lua_State*, const index_map&) {} - }; - -// ================================================== - -// ************** precall and postcall on policy_cons ********************* - - - template - struct policy_precall - { - typedef typename List::head head; - typedef typename List::tail tail; - - static void apply(lua_State* L, int index) - { - head::precall(L, index); - policy_precall::apply(L, index); - } - }; - - template<> - struct policy_precall - { - static void apply(lua_State*, int) {} - }; - - template - struct policy_postcall - { - typedef typename List::head head; - typedef typename List::tail tail; - - static void apply(lua_State* L, int index) - { - head::postcall(L, index); - policy_postcall::apply(L, index); - } - }; - - template<> - struct policy_postcall - { - static void apply(lua_State*, int) {} - }; - -}} // namespace luabind::detail - - -namespace luabind { namespace -{ -#if defined(__GNUC__) && \ - (__GNUC__ * 100 + __GNUC_MINOR__ <= 400 || BOOST_VERSION <= 103401) - static inline boost::arg<0> return_value() - { - return boost::arg<0>(); - } - - static inline boost::arg<0> result() - { - return boost::arg<0>(); - } -# define LUABIND_PLACEHOLDER_ARG(N) boost::arg(*)() -#elif defined(BOOST_MSVC) || defined(__MWERKS__) - static boost::arg<0> return_value; - static boost::arg<0> result; -# define LUABIND_PLACEHOLDER_ARG(N) boost::arg -#else - boost::arg<0> return_value; - boost::arg<0> result; -# define LUABIND_PLACEHOLDER_ARG(N) boost::arg -#endif -}} - -#endif // LUABIND_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/primitives.hpp b/external/sources/luabind-0.7.1/luabind/detail/primitives.hpp deleted file mode 100644 index 04ce17b872..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/primitives.hpp +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_PRIMITIVES_HPP_INCLUDED -#define LUABIND_PRIMITIVES_HPP_INCLUDED - -#include -#include - -#include -#include - -namespace luabind { namespace detail -{ - template - struct identity - { - typedef T type; - }; - - template - struct type_ {}; - - struct null_type {}; - -/* typedef char yes_t; - typedef double no_t;*/ - - struct lua_to_cpp {}; - struct cpp_to_lua {}; - - template struct by_value {}; - template struct by_reference {}; - template struct by_const_reference {}; - template struct by_pointer {}; - template struct by_const_pointer {}; - - struct converter_policy_tag {}; - - struct ltstr - { - bool operator()(const char* s1, const char* s2) const { return std::strcmp(s1, s2) < 0; } - }; - - template - struct aligned - { - char storage[N]; - }; - - // returns the offset added to a Derived* when cast to a Base* - // TODO: return ptrdiff - template - int ptr_offset(type_, type_) - { - aligned obj; - Derived* ptr = reinterpret_cast(&obj); - - return int(static_cast(static_cast(static_cast(ptr))) - - static_cast(static_cast(ptr))); - } - -}} - -#endif // LUABIND_PRIMITIVES_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/property.hpp b/external/sources/luabind-0.7.1/luabind/detail/property.hpp deleted file mode 100644 index fc9f6f7e2d..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/property.hpp +++ /dev/null @@ -1,247 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_PROPERTY_HPP_INCLUDED -#define LUABIND_PROPERTY_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - namespace mpl = boost::mpl; - - class object_rep; -/* - template - int get(R(T::*f)() const, T* obj, lua_State* L, Policies* policies) { return returns::call(f, obj, L, policies); } - - template - int get(R(*f)(const T*), T* obj, lua_State* L, Policies* policies) { return returns::call(f, obj, L, policies); } - - template - int get(R(*f)(const T&), T* obj, lua_State* L, Policies* policies) { return returns::call(f, obj, L, policies); } -*/ - - template - int get(R(C::*f)() const, T* obj, lua_State* L, Policies* policies) - { - return returns::call(f, obj, L, policies); - } - - template - int get(R(*f)(T), U* obj, lua_State* L, Policies* policies) - { - return returns::call(f, obj, L, policies); - } - - template - struct get_caller : Policies - { - get_caller() {} - get_caller(const Policies& p): Policies(p) {} - - int operator()(lua_State* L, int pointer_offset, F f) - { - // parameters on the lua stack: - // 1. object_rep - // 2. key (property name) - return get(f, (T*)0, L, static_cast(this)); - } - }; - - template - int set(R(C::*f)(A1), T* obj, lua_State* L, Policies* policies) - { - return returns::call(f, obj, L, policies); - } -/* - template - int set(void(*f)(T*, A1), T* obj, lua_State* L, Policies* policies) { return returns::call(f, obj, L, policies); } - - template - int set(void(*f)(T&, A1), T* obj, lua_State* L, Policies* policies) { return returns::call(f, obj, L, policies); } -*/ - - template - int set(R(*f)(T, A1), U* obj, lua_State* L, Policies* policies) { return returns::call(f, obj, L, policies); } - - template - struct set_caller : Policies - { - int operator()(lua_State* L, int pointer_offset, F f) - { - // parameters on the lua stack: - // 1. object_rep - // 2. key (property name) - // 3. value - - // and since call() expects it's first - // parameter on index 2 we need to - // remove the key-parameter (parameter 2). - lua_remove(L, 2); - return luabind::detail::set(f, (T*)0, L, static_cast(this)); - } - }; - - typedef int (*match_fun_ptr)(lua_State*, int); - - template - struct set_matcher - { - static int apply(lua_State* L, int index) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typedef typename mpl::apply_wrap2::type converter; - return converter::match(L, LUABIND_DECORATE_TYPE(T), index); - } - }; - - template - match_fun_ptr gen_set_matcher(void (*)(T, Param), Policy*) - { - return set_matcher::apply; - } - - template - match_fun_ptr gen_set_matcher(void (T::*)(Param), Policy*) - { - return set_matcher::apply; - } - - template - struct auto_set : Policies - { - auto_set() {} - auto_set(const Policies& p): Policies(p) {} - - int operator()(lua_State* L, int pointer_offset, D T::*member) - { - int nargs = lua_gettop(L); - - // parameters on the lua stack: - // 1. object_rep - // 2. key (property name) - // 3. value - object_rep* obj = static_cast(lua_touserdata(L, 1)); - class_rep* crep = obj->crep(); - - void* raw_ptr; - - if (crep->has_holder()) - raw_ptr = crep->extractor()(obj->ptr()); - else - raw_ptr = obj->ptr(); - - T* ptr = reinterpret_cast(static_cast(raw_ptr) + pointer_offset); - - typedef typename find_conversion_policy<1,Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - ptr->*member = converter.apply(L, LUABIND_DECORATE_TYPE(D), 3); - - int nret = lua_gettop(L) - nargs; - - const int indices[] = { 1, nargs + nret, 3 }; - - policy_list_postcall::apply(L, indices); - - return nret; - } - }; - - // if the input type is a value_converter, it will produce - // a reference converter - template - struct make_reference_converter - { - typedef typename mpl::apply_wrap2< - ConverterPolicy - , typename boost::add_reference::type - , cpp_to_lua - >::type type; - }; - - template - struct auto_get : Policies - { - auto_get() {} - auto_get(const Policies& p): Policies(p) {} - - int operator()(lua_State* L, int pointer_offset, D T::*member) - { - int nargs = lua_gettop(L); - - // parameters on the lua stack: - // 1. object_rep - // 2. key (property name) - object_rep* obj = static_cast(lua_touserdata(L, 1)); - class_rep* crep = obj->crep(); - - void* raw_ptr; - - if (crep->has_holder()) - raw_ptr = crep->extractor()(obj->ptr()); - else - raw_ptr = obj->ptr(); - - T* ptr = reinterpret_cast(static_cast(raw_ptr) + pointer_offset); - - typedef typename find_conversion_policy<0,Policies>::type converter_policy; - typedef typename mpl::apply_wrap2::type converter1_t; - - // if the converter is a valua converer, return a reference instead - typedef typename boost::mpl::eval_if< - BOOST_DEDUCED_TYPENAME converter1_t::is_value_converter - , make_reference_converter - , mpl::identity - >::type converter2_t; - - // If this yields a reference converter, the dependency policy - // is automatically added - typedef typename boost::mpl::if_< - BOOST_DEDUCED_TYPENAME converter1_t::is_value_converter - , policy_cons, Policies> - , Policies - >::type policy_list; - - converter2_t converter; - converter.apply(L, ptr->*member); - - int nret = lua_gettop(L) - nargs; - - const int indices[] = { 1, nargs + nret }; - - policy_list_postcall::apply(L, indices); - - return nret; - } - }; - -}} - -#endif // LUABIND_PROPERTY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/ref.hpp b/external/sources/luabind-0.7.1/luabind/detail/ref.hpp deleted file mode 100644 index e89c0eec65..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/ref.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_REF_HPP_INCLUDED -#define LUABIND_REF_HPP_INCLUDED - -#include -#include - -#include -#include - -struct lua_State; - -namespace luabind -{ - -#if LUA_VERSION_NUM >= 501 -#define LUA_REFNIL (-1) -#undef luaL_setn -#undef luaL_getn -#endif - -namespace detail -{ - - int LUABIND_API ref(lua_State *L); - void LUABIND_API unref(lua_State *L, int ref); - - inline void getref(lua_State* L, int r) - { - lua_rawgeti(L, LUA_REGISTRYINDEX, r); - } - - struct lua_reference - { - lua_reference(lua_State* L_ = 0) - : L(L_) - , m_ref(LUA_NOREF) - {} - lua_reference(lua_reference const& r) - : L(r.L) - , m_ref(LUA_NOREF) - { - if (!r.is_valid()) return; - r.get(L); - set(L); - } - ~lua_reference() { reset(); } - - lua_State* state() const { return L; } - - void operator=(lua_reference const& r) - { - // TODO: self assignment problems - reset(); - if (!r.is_valid()) return; - r.get(r.state()); - set(r.state()); - } - - bool is_valid() const - { return m_ref != LUA_NOREF; } - - void set(lua_State* L_) - { - reset(); - L = L_; - m_ref = ref(L); - } - - void replace(lua_State* L_) - { - lua_rawseti(L_, LUA_REGISTRYINDEX, m_ref); - } - - // L may not be the same pointer as - // was used when creating this reference - // since it may be a thread that shares - // the same globals table. - void get(lua_State* L_) const - { - assert(m_ref != LUA_NOREF); - assert(L_); - getref(L_, m_ref); - } - - void reset() - { - if (L && m_ref != LUA_NOREF) unref(L, m_ref); - m_ref = LUA_NOREF; - } - - void swap(lua_reference& r) - { - assert(r.L == L); - std::swap(r.m_ref, m_ref); - } - - private: - lua_State* L; - int m_ref; - }; - -}} - -#endif // LUABIND_REF_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/signature_match.hpp b/external/sources/luabind-0.7.1/luabind/detail/signature_match.hpp deleted file mode 100644 index 1844d0dd72..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/signature_match.hpp +++ /dev/null @@ -1,260 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_SIGNATURE_MATCH_HPP_INCLUDED -#define LUABIND_SIGNATURE_MATCH_HPP_INCLUDED - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace luabind -{ - - namespace detail - { - template - struct constructor_arity_helper - { - BOOST_STATIC_CONSTANT(int, value = 1); - }; - - template<> - struct constructor_arity_helper - { - BOOST_STATIC_CONSTANT(int, value = 0); - }; - } - - -#define LUABIND_SUM(z, n, _) detail::constructor_arity_helper::value + - - template - struct constructor - { - BOOST_STATIC_CONSTANT(int, arity = BOOST_PP_REPEAT(LUABIND_MAX_ARITY, LUABIND_SUM, _) 0); - }; - -#undef LUABIND_SUM -} - -namespace luabind { namespace detail -{ -#define LUABIND_MATCH_DECL(Z, N,_) \ - typedef typename find_conversion_policy< \ - N + 1 \ - , Policies \ - >::type BOOST_PP_CAT(converter_policy, N); \ -\ - typedef typename boost::mpl::apply_wrap2< \ - BOOST_PP_CAT(converter_policy, N), BOOST_PP_CAT(A, N), lua_to_cpp \ - >::type BOOST_PP_CAT(converter, N); \ -\ - int BOOST_PP_CAT(r, N) = BOOST_PP_CAT(converter, N)::match( \ - L \ - , LUABIND_DECORATE_TYPE(BOOST_PP_CAT(A, N)) \ - , start_index + current_index \ - ); \ -\ - current_index += BOOST_PP_CAT(converter_policy, N)::has_arg; \ -\ - if (BOOST_PP_CAT(r, N) < 0) return -1; \ - else m += BOOST_PP_CAT(r, N); - - template struct match_constructor; - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 2)) - #include BOOST_PP_ITERATE() - -#undef LUABIND_MATCH_DECL - - // this is a function that checks if the lua stack (starting at the given start_index) matches - // the types in the constructor type given as 3:rd parameter. It uses the Policies given as - // 4:th parameter to do the matching. It returns the total number of cast-steps that needs to - // be taken in order to match the parameters on the lua stack to the given parameter-list. Or, - // if the parameter doesn't match, it returns -1. - template< - BOOST_PP_ENUM_PARAMS(LUABIND_MAX_ARITY, class A) - , class Policies - > - int match_params( - lua_State* L - , int start_index - , const constructor* c - , const Policies* p) - { - typedef constructor sig_t; - return match_constructor::apply( - L, start_index, c, p); - } - - template - struct constructor_match - { - inline static int apply(lua_State* L) - { - int top = lua_gettop(L) - StartIndex + 1; - if (top != Sig::arity) return -1; - - return match_params(L, StartIndex, (Sig*)0, (Policies*)0); - }}; - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - -}} - -#endif // LUABIND_SIGNATURE_MATCH_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - -#define N BOOST_PP_ITERATION() - - // non-const non-member function this as a pointer - template< - class WrappedClass - , class Policies - , class R - BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), class A) - > - int match(R(*)( - BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)) - , lua_State* L - , WrappedClass* - , Policies const*) - { - typedef constructor ParameterTypes; - return match_params( - L, 1, (ParameterTypes*)0, (Policies*)0); - } - -# if (BOOST_PP_ITERATION() < (LUABIND_MAX_ARITY - 1)) - - // non-const member function - template< - class T - , class WrappedClass - , class Policies - , class R - BOOST_PP_COMMA_IF(N) - BOOST_PP_ENUM_PARAMS(N, class A) - > - int match( - R(T::*)(BOOST_PP_ENUM_PARAMS(N, A)) - , lua_State* L - , WrappedClass* - , Policies const*) - { - typedef constructor< - BOOST_DEDUCED_TYPENAME most_derived::type& - BOOST_PP_ENUM_TRAILING_PARAMS(N, A) - > params_t; - - return match_params( - L, 1, (params_t*)0, (Policies*)0); - } - - // const member function - template< - class T - , class WrappedClass - , class Policies - , class R - BOOST_PP_COMMA_IF(N) - BOOST_PP_ENUM_PARAMS(N, class A) - > - int match( - R(T::*)(BOOST_PP_ENUM_PARAMS(N, A)) const - , lua_State* L - , WrappedClass* - , Policies const* policies) - { - typedef constructor< - BOOST_DEDUCED_TYPENAME most_derived::type const& - BOOST_PP_ENUM_TRAILING_PARAMS(N, A) - > params_t; - return match_params( - L, 1, (params_t*)0, (Policies*)0); - } - -# endif - -#undef N - -#elif BOOST_PP_ITERATION_FLAGS() == 2 - -#define N BOOST_PP_ITERATION() - - template<> - struct match_constructor - { - template< - BOOST_PP_ENUM_PARAMS(LUABIND_MAX_ARITY, class A) - , class Policies - > - static int apply( - lua_State* L - , int start_index - , const constructor* - , const Policies*) - { - int m = 0; -#if N - int current_index = 0; -#endif - // Removes unreferenced local variable warning on VC7. - (void)start_index; - (void)L; - - BOOST_PP_REPEAT(N, LUABIND_MATCH_DECL, _) - return m; - } - }; - -#undef N - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/detail/typetraits.hpp b/external/sources/luabind-0.7.1/luabind/detail/typetraits.hpp deleted file mode 100644 index f27934e98d..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/typetraits.hpp +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_TYPETRAITS_HPP_INCLUDED -#define LUABIND_TYPETRAITS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - -#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION - - template - struct is_const_type - { - typedef typename boost::mpl::if_ - , yes_t - , no_t - >::type type; - }; - - template - struct is_const_reference_helper - { - template - struct apply - { - enum - { - value = false - }; - }; - }; - - template - typename is_const_type::type is_const_reference_tester(T&); - no_t is_const_reference_tester(...); - - template<> - struct is_const_reference_helper - { - template - struct apply - { - static T getT(); - - enum - { - value = sizeof(is_const_reference_tester(getT())) == sizeof(yes_t) - }; - }; - }; - - template - struct is_const_reference - : is_const_reference_helper::value>::template apply - { - typedef boost::mpl::bool_ type; - }; - -#else - - template - struct is_const_reference - { - enum { value = false }; - typedef boost::mpl::bool_ type; - }; - - template - struct is_const_reference - { - enum { value = true }; - typedef boost::mpl::bool_ type; - }; - -#endif - - - template - struct is_nonconst_reference - { - enum - { - value = boost::is_reference::value && !is_const_reference::value - }; - typedef boost::mpl::bool_ type; - }; - - template - yes_t is_const_pointer_helper(void(*)(const A*)); - no_t is_const_pointer_helper(...); - - template - struct is_const_pointer - { - enum { value = sizeof(is_const_pointer_helper((void(*)(T))0)) == sizeof(yes_t) }; - typedef boost::mpl::bool_ type; - }; - - template - yes_t is_nonconst_pointer_helper(void(*)(A*)); - no_t is_nonconst_pointer_helper(...); - - template - struct is_nonconst_pointer - { - enum { value = sizeof(is_nonconst_pointer_helper((void(*)(T))0)) == sizeof(yes_t) && !is_const_pointer::value }; - typedef boost::mpl::bool_ type; - }; -/* - template - struct is_constructable_from_helper - { - static yes_t check(const T&); - static no_t check(...); - }; - - template - struct is_constructable_from - { - static From getFrom(); - - enum - { - value = sizeof(is_constructable_from_helper::check(getFrom())) == sizeof(yes_t) - }; - }; - - template - struct is_const_member_function_helper - { - static no_t test(...); - template - static yes_t test(R(T::*)() const); - template - static yes_t test(R(T::*)(A1) const); - template - static yes_t test(R(T::*)(A1,A2) const); - template - static yes_t test(R(T::*)(A1,A2,A3) const); - }; - - template - struct is_const_member_function - { - static U getU(); - - enum - { - value = sizeof(is_const_member_function_helper::test(getU())) == sizeof(yes_t) - }; - }; -*/ - - template - struct max_c - { - enum { value = (v1>v2)?v1:v2 }; - }; - -}} - -#endif // LUABIND_TYPETRAITS_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/detail/yes_no.hpp b/external/sources/luabind-0.7.1/luabind/detail/yes_no.hpp deleted file mode 100755 index 931847c60b..0000000000 --- a/external/sources/luabind-0.7.1/luabind/detail/yes_no.hpp +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef YES_NO_040211_HPP -#define YES_NO_040211_HPP - -namespace luabind { namespace detail { - - typedef char(&yes_t)[1]; - typedef char(&no_t)[2]; - -}} // namespace luabind::detail - -#endif // YES_NO_040211_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/discard_result_policy.hpp b/external/sources/luabind-0.7.1/luabind/discard_result_policy.hpp deleted file mode 100644 index dc03c1240e..0000000000 --- a/external/sources/luabind-0.7.1/luabind/discard_result_policy.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_DISCARD_RESULT_POLICY_HPP_INCLUDED -#define LUABIND_DISCARD_RESULT_POLICY_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail -{ - struct discard_converter - { - template - void apply(lua_State*, T) {} - }; - - struct discard_result_policy : conversion_policy<0> - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - struct can_only_convert_from_cpp_to_lua {}; - - template - struct apply - { - typedef typename boost::mpl::if_ - , discard_converter - , can_only_convert_from_cpp_to_lua - >::type type; - }; - }; - -}} - -namespace luabind -{ - namespace - { - LUABIND_ANONYMOUS_FIX detail::policy_cons discard_result; - } -} - -#endif // LUABIND_DISCARD_RESULT_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/error.hpp b/external/sources/luabind-0.7.1/luabind/error.hpp deleted file mode 100755 index 3824a70636..0000000000 --- a/external/sources/luabind-0.7.1/luabind/error.hpp +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_ERROR_HPP_INCLUDED -#define LUABIND_ERROR_HPP_INCLUDED - -#include -#include -#include - -struct lua_State; - -namespace luabind -{ - -#ifndef LUABIND_NO_EXCEPTIONS - - // this exception usually means that the lua function you called - // from C++ failed with an error code. You will have to - // read the error code from the top of the lua stack - // the reason why this exception class doesn't contain - // the message itself is that std::string's copy constructor - // may throw, if the copy constructor of an exception that is - // being thrown throws another exception, terminate will be called - // and the entire application is killed. - class LUABIND_API error : public std::exception - { - public: - explicit error(lua_State* L): m_L(L) {} - lua_State* state() const throw() { return m_L; } - virtual const char* what() const throw() - { - return "lua runtime error"; - } - private: - lua_State* m_L; - }; - - // if an object_cast<>() fails, this is thrown - // it is also thrown if the return value of - // a lua function cannot be converted - class LUABIND_API cast_failed : public std::exception - { - public: - cast_failed(lua_State* L, LUABIND_TYPE_INFO i): m_L(L), m_info(i) {} - lua_State* state() const throw() { return m_L; } - LUABIND_TYPE_INFO info() const throw() { return m_info; } - virtual const char* what() const throw() { return "unable to make cast"; } - private: - lua_State* m_L; - LUABIND_TYPE_INFO m_info; - }; - -#else - - typedef void(*error_callback_fun)(lua_State*); - typedef void(*cast_failed_callback_fun)(lua_State*, LUABIND_TYPE_INFO); - - LUABIND_API void set_error_callback(error_callback_fun e); - LUABIND_API void set_cast_failed_callback(cast_failed_callback_fun c); - LUABIND_API error_callback_fun get_error_callback(); - LUABIND_API cast_failed_callback_fun get_cast_failed_callback(); - -#endif - - typedef int(*pcall_callback_fun)(lua_State*); - LUABIND_API void set_pcall_callback(pcall_callback_fun e); - LUABIND_API pcall_callback_fun get_pcall_callback(); - -} - -#endif // LUABIND_ERROR_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/function.hpp b/external/sources/luabind-0.7.1/luabind/function.hpp deleted file mode 100644 index 9b1a297011..0000000000 --- a/external/sources/luabind-0.7.1/luabind/function.hpp +++ /dev/null @@ -1,419 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_FUNCTION_HPP_INCLUDED -#define LUABIND_FUNCTION_HPP_INCLUDED - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -namespace luabind -{ - namespace detail - { - - namespace mpl = boost::mpl; - - namespace free_functions - { - - struct overload_rep: public overload_rep_base - { - -#define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) -#include BOOST_PP_ITERATE() - - inline bool operator==(const overload_rep& o) const - { - if (o.m_arity != m_arity) return false; - if (o.m_params_.size() != m_params_.size()) return false; - for (int i = 0; i < (int)m_params_.size(); ++i) - if (!(LUABIND_TYPE_INFO_EQUAL(m_params_[i], o.m_params_[i]))) return false; - return true; - } - - typedef int(*call_ptr)(lua_State*, void(*)()); - - inline void set_fun(call_ptr f) { call_fun = f; } - inline int call(lua_State* L, void(*f)()) const { return call_fun(L, f); } - - // this is the actual function pointer to be called when this overload is invoked - void (*fun)(); - -//TODO: private: - - call_ptr call_fun; - - // the types of the parameter it takes - std::vector m_params_; - - char end; - }; - - struct LUABIND_API function_rep - { - function_rep(const char* name): m_name(name) {} - void add_overload(const free_functions::overload_rep& o); - - const std::vector& overloads() const throw() { return m_overloads; } - - const char* name() const { return m_name; } - - private: - const char* m_name; - - // this have to be write protected, since each time an overload is - // added it has to be checked for existence. add_overload() should - // be used. - std::vector m_overloads; - }; - - - - // returns generates functions that calls function pointers - -#define LUABIND_DECL(z, n, text) typedef typename find_conversion_policy::type BOOST_PP_CAT(converter_policy,n); \ - typename mpl::apply_wrap2< \ - BOOST_PP_CAT(converter_policy,n), BOOST_PP_CAT(A,n), lua_to_cpp \ - >::type BOOST_PP_CAT(c,n); - -#define LUABIND_ADD_INDEX(z,n,text) + BOOST_PP_CAT(converter_policy,n)::has_arg -#define LUABIND_INDEX_MAP(z,n,text) 1 BOOST_PP_REPEAT(n, LUABIND_ADD_INDEX, _) -#define LUABIND_PARAMS(z,n,text) BOOST_PP_CAT(c,n).apply(L, LUABIND_DECORATE_TYPE(A##n), LUABIND_INDEX_MAP(_,n,_)) -#define LUABIND_POSTCALL(z,n,text) BOOST_PP_CAT(c,n).converter_postcall(L, LUABIND_DECORATE_TYPE(A##n), LUABIND_INDEX_MAP(_,n,_)); - - template - struct maybe_yield - { - static inline int apply(lua_State* L, int nret) - { - return ret(L, nret, boost::mpl::bool_::value>()); - } - - static inline int ret(lua_State* L, int nret, boost::mpl::bool_) - { - return lua_yield(L, nret); - } - - static inline int ret(lua_State*, int nret, boost::mpl::bool_) - { - return nret; - } - }; - - - template - struct returns - { - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 2)) - #include BOOST_PP_ITERATE() - }; - - template<> - struct returns - { - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 3)) - #include BOOST_PP_ITERATE() - }; - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 4)) - #include BOOST_PP_ITERATE() - - -#undef LUABIND_PARAMS -#undef LUABIND_DECL -#undef LUABIND_POSTCALL -#undef LUABIND_ADD_INDEX -#undef LUABIND_INDEX_MAP - - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 5)) - #include BOOST_PP_ITERATE() - - - template - struct function_callback_s - { - static inline int apply(lua_State* L, void(*fun)()) - { - return free_functions::call(reinterpret_cast(fun), L, static_cast(0)); - } - }; - - template - struct match_function_callback_s - { - static inline int apply(lua_State* L) - { - F fptr = 0; - return free_functions::match(fptr, L, static_cast(0)); - } - - static int callback(lua_State* L) - { - F fptr = 0; - return free_functions::match(fptr, L, static_cast(0)); - } - }; - - LUABIND_API int function_dispatcher(lua_State* L); - } - } - - // deprecated - template - void function(lua_State* L, const char* name, F f, const Policies& p) - { - module(L) [ def(name, f, p) ]; - } - - // deprecated - template - void function(lua_State* L, const char* name, F f) - { - luabind::function(L, name, f, detail::null_type()); - } - - namespace detail - { - template - struct function_commiter : detail::registration - { - function_commiter(const char* n, F f, const Policies& p) - : m_name(n) - , fun(f) - , policies(p) - {} - - virtual void register_(lua_State* L) const - { - detail::free_functions::overload_rep o(fun, static_cast(0)); - - o.set_match_fun(&detail::free_functions::match_function_callback_s::apply); - o.set_fun(&detail::free_functions::function_callback_s::apply); - -#ifndef LUABIND_NO_ERROR_CHECKING - o.set_sig_fun(&detail::get_free_function_signature::apply); -#endif - - lua_pushstring(L, m_name); - lua_gettable(L, -2); - - detail::free_functions::function_rep* rep = 0; - if (lua_iscfunction(L, -1)) - { - if (lua_getupvalue(L, -1, 2) != 0) - { - // check the magic number that identifies luabind's functions - if (lua_touserdata(L, -1) == (void*)0x1337) - { - if (lua_getupvalue(L, -2, 1) != 0) - { - rep = static_cast(lua_touserdata(L, -1)); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - - if (rep == 0) - { - lua_pushstring(L, m_name); - // create a new function_rep - rep = static_cast(lua_newuserdata(L, sizeof(detail::free_functions::function_rep))); - new(rep) detail::free_functions::function_rep(m_name); - - // STORE IN REGISTRY - lua_pushvalue(L, -1); - detail::ref(L); - - detail::class_registry* r = detail::class_registry::get_registry(L); - assert(r && "you must call luabind::open() prior to any function registrations"); - detail::getref(L, r->lua_function()); - int ret = lua_setmetatable(L, -2); - (void)ret; - assert(ret != 0); - - // this is just a magic number to identify functions that luabind created - lua_pushlightuserdata(L, (void*)0x1337); - - lua_pushcclosure(L, &free_functions::function_dispatcher, 2); - lua_settable(L, -3); - } - - rep->add_overload(o); - } - - char const* m_name; - F fun; - Policies policies; - }; - } - - template - scope def(const char* name, F f, const Policies& policies) - { - return scope(std::auto_ptr( - new detail::function_commiter(name, f, policies))); - } - - template - scope def(const char* name, F f) - { - return scope(std::auto_ptr( - new detail::function_commiter( - name, f, detail::null_type()))); - } - -} // namespace luabind - - -#endif // LUABIND_FUNCTION_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - -// overloaded template funtion that initializes the parameter list -// called m_params and the m_arity member. - -#define LUABIND_INIT_PARAM(z, n, _) m_params_.push_back(LUABIND_TYPEID(A##n)); -#define LUABIND_POLICY_DECL(z,n,text) typedef typename find_conversion_policy::type BOOST_PP_CAT(p,n); -#define LUABIND_ARITY(z,n,text) + BOOST_PP_CAT(p,n)::has_arg - -template -overload_rep(R(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), Policies*) - : fun(reinterpret_cast(f)) -{ - m_params_.reserve(BOOST_PP_ITERATION()); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_INIT_PARAM, _) - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POLICY_DECL, _) - - m_arity = 0 BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_ARITY, _); -} - -#undef LUABIND_INIT_PARAM -#undef LUABIND_POLICY_DECL -#undef LUABIND_ARITY - -#elif BOOST_PP_ITERATION_FLAGS() == 2 - -template -static int call(T(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, const Policies*) -{ - int nargs = lua_gettop(L); - - typedef typename find_conversion_policy<0, Policies>::type converter_policy_ret; - typename mpl::apply_wrap2::type converter_ret; - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, _) - converter_ret.apply(L, f - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, _) - )); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, _) - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - -1 /* self */, - nargs + nret /* result*/ - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, _) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); -} - - - -#elif BOOST_PP_ITERATION_FLAGS() == 3 - -template -static int call(void(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, const Policies*) -{ - int nargs = lua_gettop(L); - - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_DECL, _) - f - ( - BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_PARAMS, _) - ); - BOOST_PP_REPEAT(BOOST_PP_ITERATION(), LUABIND_POSTCALL, _) - - int nret = lua_gettop(L) - nargs; - - const int indices[] = - { - -1 /* self */, - nargs + nret /* result*/ - BOOST_PP_ENUM_TRAILING(BOOST_PP_ITERATION(), LUABIND_INDEX_MAP, _) - }; - - policy_list_postcall::apply(L, indices); - - return maybe_yield::apply(L, nret); -} - - -#elif BOOST_PP_ITERATION_FLAGS() == 4 - -template -int call(R(*f)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, const Policies* policies) -{ - return free_functions::returns::call(f, L, policies); -} - -#elif BOOST_PP_ITERATION_FLAGS() == 5 - - template - static int match(R(*)(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), A)), lua_State* L, const Policies* policies) - { - //if (lua_gettop(L) != BOOST_PP_ITERATION()) return -1; - typedef constructor ParameterTypes; - return match_params(L, 1, static_cast(0), policies); - } - - - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/handle.hpp b/external/sources/luabind-0.7.1/luabind/handle.hpp deleted file mode 100755 index 1416c46362..0000000000 --- a/external/sources/luabind-0.7.1/luabind/handle.hpp +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright (c) 2005 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_HANDLE_050420_HPP -#define LUABIND_HANDLE_050420_HPP - -#include -#include -#include - -namespace luabind { - -// A reference to a Lua value. Represents an entry in the -// registry table. -class handle -{ -public: - handle(); - handle(lua_State* interpreter, int stack_index); - handle(handle const& other); - ~handle(); - - handle& operator=(handle const& other); - void swap(handle& other); - - void push(lua_State* interpreter) const; - - lua_State* interpreter() const; - - void replace(lua_State* interpreter, int stack_index); - -private: - lua_State* m_interpreter; - int m_index; -}; - -inline handle::handle() - : m_interpreter(0) - , m_index(LUA_NOREF) -{} - -inline handle::handle(handle const& other) - : m_interpreter(other.m_interpreter) - , m_index(LUA_NOREF) -{ - if (m_interpreter == 0) return; - detail::getref(m_interpreter, other.m_index); - m_index = detail::ref(m_interpreter); -} - -inline handle::handle(lua_State* interpreter, int stack_index) - : m_interpreter(interpreter) - , m_index(LUA_NOREF) -{ - lua_pushvalue(interpreter, stack_index); - m_index = detail::ref(interpreter); -} - -inline handle::~handle() -{ - if (m_interpreter && m_index != LUA_NOREF) - detail::unref(m_interpreter, m_index); -} - -inline handle& handle::operator=(handle const& other) -{ - handle(other).swap(*this); - return *this; -} - -inline void handle::swap(handle& other) -{ - std::swap(m_interpreter, other.m_interpreter); - std::swap(m_index, other.m_index); -} - -inline void handle::push(lua_State* interpreter) const -{ - detail::getref(interpreter, m_index); -} - -inline lua_State* handle::interpreter() const -{ - return m_interpreter; -} - -inline void handle::replace(lua_State* interpreter, int stack_index) -{ - lua_pushvalue(interpreter, stack_index); - lua_rawseti(interpreter, LUA_REGISTRYINDEX, m_index); -} - -template<> -struct value_wrapper_traits -{ - typedef boost::mpl::true_ is_specialized; - - static lua_State* interpreter(handle const& value) - { - return value.interpreter(); - } - - static void unwrap(lua_State* interpreter, handle const& value) - { - value.push(interpreter); - } - - static bool check(...) - { - return true; - } -}; - -} // namespace luabind - -#endif // LUABIND_HANDLE_050420_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/iterator_policy.hpp b/external/sources/luabind-0.7.1/luabind/iterator_policy.hpp deleted file mode 100755 index 865b83e5dc..0000000000 --- a/external/sources/luabind-0.7.1/luabind/iterator_policy.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright Daniel Wallin 2007. Use, modification and distribution is -// subject to 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) - -#ifndef LUABIND_ITERATOR_POLICY__071111_HPP -# define LUABIND_ITERATOR_POLICY__071111_HPP - -# include -# include -# include - -namespace luabind { namespace detail { - -template -struct iterator -{ - static int next(lua_State* L) - { - iterator* self = static_cast( - lua_touserdata(L, lua_upvalueindex(1))); - - if (self->first != self->last) - { - convert_to_lua(L, *self->first); - ++self->first; - } - else - { - lua_pushnil(L); - } - - return 1; - } - - static int destroy(lua_State* L) - { - iterator* self = static_cast( - lua_touserdata(L, lua_upvalueindex(1))); - self->~iterator(); - return 0; - } - - iterator(Iterator first, Iterator last) - : first(first) - , last(last) - {} - - Iterator first; - Iterator last; -}; - -template -int make_range(lua_State* L, Iterator first, Iterator last) -{ - void* storage = lua_newuserdata(L, sizeof(iterator)); - lua_newtable(L); - lua_pushcclosure(L, iterator::destroy, 0); - lua_setfield(L, -2, "__gc"); - lua_setmetatable(L, -2); - lua_pushcclosure(L, iterator::next, 1); - new (storage) iterator(first, last); - return 1; -} - -template -int make_range(lua_State* L, Container& container) -{ - return make_range(L, container.begin(), container.end()); -} - -template -int make_range(lua_State* L, Container* container) -{ - return make_range(L, container->begin(), container->end()); -} - -struct iterator_converter -{ - typedef boost::mpl::bool_ is_value_converter; - typedef iterator_converter type; - - template - void apply(lua_State* L, Container& container) - { - make_range(L, container); - } - - template - void apply(lua_State* L, Container const& container) - { - make_range(L, container); - } -}; - -struct iterator_policy : conversion_policy<0> -{ - static void precall(lua_State*, index_map const&) - {} - - static void postcall(lua_State*, index_map const&) - {} - - template - struct apply - { - typedef iterator_converter type; - }; -}; - -}} // namespace luabind::detail - -namespace luabind { namespace { - -LUABIND_ANONYMOUS_FIX detail::policy_cons< - detail::iterator_policy, detail::null_type> return_stl_iterator; - -}} // namespace luabind::unnamed - -#endif // LUABIND_ITERATOR_POLICY__071111_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/lua_include.hpp b/external/sources/luabind-0.7.1/luabind/lua_include.hpp deleted file mode 100755 index 3420d775d5..0000000000 --- a/external/sources/luabind-0.7.1/luabind/lua_include.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUA_INCLUDE_HPP_INCLUDED -#define LUA_INCLUDE_HPP_INCLUDED - -extern "C" -{ - #include "lua.h" - #include "lauxlib.h" -} - -#endif - diff --git a/external/sources/luabind-0.7.1/luabind/object.hpp b/external/sources/luabind-0.7.1/luabind/object.hpp deleted file mode 100644 index a09d789060..0000000000 --- a/external/sources/luabind-0.7.1/luabind/object.hpp +++ /dev/null @@ -1,1232 +0,0 @@ -// Copyright (c) 2005 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_OBJECT_050419_HPP -#define LUABIND_OBJECT_050419_HPP - -#include // detail::push() -#include // detail::push() -#include // value_wrapper_traits specializations -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include // REFACTOR - -#include // iterator -#include - -#include -#include - -namespace luabind { - -namespace detail -{ - namespace mpl = boost::mpl; - - template - void push_aux(lua_State* interpreter, T& value, ConverterGenerator*) - { - typedef typename boost::mpl::if_< - boost::is_reference_wrapper - , BOOST_DEDUCED_TYPENAME boost::unwrap_reference::type& - , T - >::type unwrapped_type; - - typename mpl::apply_wrap2< - ConverterGenerator,unwrapped_type,cpp_to_lua - >::type cv; - - cv.apply( - interpreter - , boost::implicit_cast< - BOOST_DEDUCED_TYPENAME boost::unwrap_reference::type& - >(value) - ); - } - - template - void push(lua_State* interpreter, T& value, Policies const&) - { - typedef typename find_conversion_policy< - 0 - , Policies - >::type converter_policy; - - push_aux(interpreter, value, (converter_policy*)0); - } - - template - void push(lua_State* interpreter, T& value) - { - push(interpreter, value, null_type()); - } - -} // namespace detail - -namespace adl -{ - namespace mpl = boost::mpl; - - template - class object_interface; - - namespace is_object_interface_aux - { - typedef char (&yes)[1]; - typedef char (&no)[2]; - - template - yes check(object_interface*); - no check(void*); - - template - struct impl - { - BOOST_STATIC_CONSTANT(bool, value = - sizeof(is_object_interface_aux::check((T*)0)) == sizeof(yes) - ); - - typedef mpl::bool_ type; - }; - - } // namespace detail - - template - struct is_object_interface - : is_object_interface_aux::impl::type - {}; - - template - struct enable_binary -# ifndef BOOST_NO_SFINAE - : boost::enable_if< - mpl::or_< - is_object_interface - , is_object_interface - > - , R - > - {}; -# else - { - typedef R type; - }; -# endif - - template - int binary_interpreter(lua_State*& L, T const& lhs, U const& rhs - , boost::mpl::true_, boost::mpl::true_) - { - L = value_wrapper_traits::interpreter(lhs); - lua_State* L2 = value_wrapper_traits::interpreter(rhs); - - // you are comparing objects with different interpreters - // that's not allowed. - assert(L == L2 || L == 0 || L2 == 0); - - // if the two objects we compare have different interpreters - // then they - - if (L != L2) return -1; - if (L == 0) return 1; - return 0; - } - - template - int binary_interpreter(lua_State*& L, T const& x, U const& - , boost::mpl::true_, boost::mpl::false_) - { - L = value_wrapper_traits::interpreter(x); - return 0; - } - - template - int binary_interpreter(lua_State*& L, T const&, U const& x, boost::mpl::false_, boost::mpl::true_) - { - L = value_wrapper_traits::interpreter(x); - return 0; - } - - template - int binary_interpreter(lua_State*& L, T const& x, U const& y) - { - return binary_interpreter( - L - , x - , y - , is_value_wrapper() - , is_value_wrapper() - ); - } - -#define LUABIND_BINARY_OP_DEF(op, fn) \ - template \ - typename enable_binary::type \ - operator op(LHS const& lhs, RHS const& rhs) \ - { \ - lua_State* L = 0; \ - switch (binary_interpreter(L, lhs, rhs)) \ - { \ - case 1: \ - return true; \ - case -1: \ - return false; \ - } \ -\ - assert(L); \ -\ - detail::stack_pop pop1(L, 1); \ - detail::push(L, lhs); \ - detail::stack_pop pop2(L, 1); \ - detail::push(L, rhs); \ -\ - return fn(L, -1, -2) != 0; \ - } - -LUABIND_BINARY_OP_DEF(==, lua_equal) -LUABIND_BINARY_OP_DEF(<, lua_lessthan) - - template - std::ostream& operator<<(std::ostream& os - , object_interface const& v) - { - using namespace luabind; - lua_State* interpreter = value_wrapper_traits::interpreter( - static_cast(v)); - detail::stack_pop pop(interpreter, 1); - value_wrapper_traits::unwrap(interpreter - , static_cast(v)); - char const* p = lua_tostring(interpreter, -1); - int len = lua_strlen(interpreter, -1); - std::copy(p, p + len, std::ostream_iterator(os)); - return os; - } - -#undef LUABIND_BINARY_OP_DEF - - template - typename enable_binary::type - operator>(LHS const& lhs, RHS const& rhs) - { - return !(lhs < rhs || lhs == rhs); - } - - template - typename enable_binary::type - operator<=(LHS const& lhs, RHS const& rhs) - { - return lhs < rhs || lhs == rhs; - } - - template - typename enable_binary::type - operator>=(LHS const& lhs, RHS const& rhs) - { - return !(lhs < rhs); - } - - template - typename enable_binary::type - operator!=(LHS const& lhs, RHS const& rhs) - { - return !(lhs < rhs); - } - - template - struct call_proxy; - - template - class index_proxy; - - class object; - - template - class object_interface - { - public: - ~object_interface() {} - - call_proxy > operator()(); - - template - call_proxy< - Derived - , boost::tuples::tuple - > operator()(A0 const& a0) - { - typedef boost::tuples::tuple arguments; - - return call_proxy( - derived() - , arguments(&a0) - ); - } - - template - call_proxy< - Derived - , boost::tuples::tuple - > operator()(A0 const& a0, A1 const& a1) - { - typedef boost::tuples::tuple arguments; - - return call_proxy( - derived() - , arguments(&a0, &a1) - ); - } - - // The rest of the overloads are PP-generated. - #define BOOST_PP_ITERATION_PARAMS_1 (3, \ - (3, LUABIND_MAX_ARITY, )) - #include BOOST_PP_ITERATE() - - private: - Derived& derived() - { - return *static_cast(this); - } - - Derived const& derived() const - { - return *static_cast(this); - } - }; - -#ifdef LUABIND_USE_VALUE_WRAPPER_TAG - struct iterator_proxy_tag; -#endif - - template - class iterator_proxy - : public object_interface > - { - public: -#ifdef LUABIND_USE_VALUE_WRAPPER_TAG - typedef iterator_proxy_tag value_wrapper_tag; -#endif - - iterator_proxy(lua_State* interpreter, handle const& table, handle const& key) - : m_interpreter(interpreter) - , m_table_index(lua_gettop(interpreter) + 1) - , m_key_index(m_table_index + 1) - { - table.push(m_interpreter); - key.push(m_interpreter); - } - - iterator_proxy(iterator_proxy const& other) - : m_interpreter(other.m_interpreter) - , m_table_index(other.m_table_index) - , m_key_index(other.m_key_index) - { - other.m_interpreter = 0; - } - - ~iterator_proxy() - { - if (m_interpreter) - lua_pop(m_interpreter, 2); - } - - // this will set the value to nil - iterator_proxy & operator=(luabind::detail::nil_type) - { - lua_pushvalue(m_interpreter, m_key_index); - lua_pushnil(m_interpreter); - AccessPolicy::set(m_interpreter, m_table_index); - return *this; - } - - template - iterator_proxy& operator=(T const& value) - { - lua_pushvalue(m_interpreter, m_key_index); - detail::push(m_interpreter, value); - AccessPolicy::set(m_interpreter, m_table_index); - return *this; - } - - template - index_proxy > operator[](Key const& key) - { - return index_proxy >( - *this, m_interpreter, key - ); - } - - // This is non-const to prevent conversion on lvalues. - operator object(); - - lua_State* interpreter() const - { - return m_interpreter; - } - - // TODO: Why is it non-const? - void push(lua_State* interpreter) - { - assert(interpreter == m_interpreter); - lua_pushvalue(m_interpreter, m_key_index); - AccessPolicy::get(m_interpreter, m_table_index); - } - - private: - mutable lua_State* m_interpreter; - int m_table_index; - int m_key_index; - }; - -} // namespace adl - -namespace detail -{ - struct basic_access - { - static void set(lua_State* interpreter, int table) - { - lua_settable(interpreter, table); - } - - static void get(lua_State* interpreter, int table) - { - lua_gettable(interpreter, table); - } - }; - - struct raw_access - { - static void set(lua_State* interpreter, int table) - { - lua_rawset(interpreter, table); - } - - static void get(lua_State* interpreter, int table) - { - lua_rawget(interpreter, table); - } - }; - - template - class basic_iterator - : public boost::iterator_facade< - basic_iterator - , adl::iterator_proxy - , boost::single_pass_traversal_tag - , adl::iterator_proxy - > - { - public: - basic_iterator() - : m_interpreter(0) - {} - - template - explicit basic_iterator(ValueWrapper const& value_wrapper) - : m_interpreter( - value_wrapper_traits::interpreter(value_wrapper) - ) - { - detail::stack_pop pop(m_interpreter, 1); - value_wrapper_traits::unwrap(m_interpreter, value_wrapper); - - lua_pushnil(m_interpreter); - if (lua_next(m_interpreter, -2) != 0) - { - detail::stack_pop pop(m_interpreter, 2); - handle(m_interpreter, -2).swap(m_key); - } - else - { - m_interpreter = 0; - return; - } - - handle(m_interpreter, -1).swap(m_table); - } - - adl::object key() const; - - private: - friend class boost::iterator_core_access; - - void increment() - { - m_table.push(m_interpreter); - m_key.push(m_interpreter); - - detail::stack_pop pop(m_interpreter, 1); - - if (lua_next(m_interpreter, -2) != 0) - { - m_key.replace(m_interpreter, -2); - lua_pop(m_interpreter, 2); - } - else - { - m_interpreter = 0; - handle().swap(m_table); - handle().swap(m_key); - } - } - - bool equal(basic_iterator const& other) const - { - if (m_interpreter == 0 && other.m_interpreter == 0) - return true; - - if (m_interpreter != other.m_interpreter) - return false; - - detail::stack_pop pop(m_interpreter, 2); - m_key.push(m_interpreter); - other.m_key.push(m_interpreter); - return lua_equal(m_interpreter, -2, -1) != 0; - } - - adl::iterator_proxy dereference() const - { - return adl::iterator_proxy(m_interpreter, m_table, m_key); - } - - lua_State* m_interpreter; - handle m_table; - handle m_key; - }; - -#if BOOST_VERSION < 105700 -// Needed because of some strange ADL issues. - -#define LUABIND_OPERATOR_ADL_WKND(op) \ - inline bool operator op( \ - basic_iterator const& x \ - , basic_iterator const& y) \ - { \ - return boost::operator op(x, y); \ - } \ - \ - inline bool operator op( \ - basic_iterator const& x \ - , basic_iterator const& y) \ - { \ - return boost::operator op(x, y); \ - } - - LUABIND_OPERATOR_ADL_WKND(==) - LUABIND_OPERATOR_ADL_WKND(!=) - -#undef LUABIND_OPERATOR_ADL_WKND -#endif - -} // namespace detail - -namespace adl -{ - -#ifdef LUABIND_USE_VALUE_WRAPPER_TAG - struct index_proxy_tag; -#endif - - template - class index_proxy - : public object_interface > - { - public: -#ifdef LUABIND_USE_VALUE_WRAPPER_TAG - typedef index_proxy_tag value_wrapper_tag; -#endif - - typedef index_proxy this_type; - - template - index_proxy(Next const& next, lua_State* interpreter, Key const& key) - : m_interpreter(interpreter) - , m_key_index(lua_gettop(interpreter) + 1) - , m_next(next) - { - detail::push(m_interpreter, key); - } - - index_proxy(index_proxy const& other) - : m_interpreter(other.m_interpreter) - , m_key_index(other.m_key_index) - , m_next(other.m_next) - { - other.m_interpreter = 0; - } - - ~index_proxy() - { - if (m_interpreter) - lua_pop(m_interpreter, 1); - } - - // This is non-const to prevent conversion on lvalues. - operator object(); - - // this will set the value to nil - this_type& operator=(luabind::detail::nil_type) - { - value_wrapper_traits::unwrap(m_interpreter, m_next); - detail::stack_pop pop(m_interpreter, 1); - - lua_pushvalue(m_interpreter, m_key_index); - lua_pushnil(m_interpreter); - lua_settable(m_interpreter, -3); - return *this; - } - - template - this_type& operator=(T const& value) - { - value_wrapper_traits::unwrap(m_interpreter, m_next); - detail::stack_pop pop(m_interpreter, 1); - - lua_pushvalue(m_interpreter, m_key_index); - detail::push(m_interpreter, value); - lua_settable(m_interpreter, -3); - return *this; - } - - this_type& operator=(this_type const& value) - { - value_wrapper_traits::unwrap(m_interpreter, m_next); - detail::stack_pop pop(m_interpreter, 1); - - lua_pushvalue(m_interpreter, m_key_index); - detail::push(m_interpreter, value); - lua_settable(m_interpreter, -3); - return *this; - } - - template - index_proxy operator[](T const& key) - { - return index_proxy(*this, m_interpreter, key); - } - - void push(lua_State* interpreter); - - lua_State* interpreter() const - { - return m_interpreter; - } - - private: - struct hidden_type {}; - -// this_type& operator=(index_proxy const&); - - mutable lua_State* m_interpreter; - int m_key_index; - - Next const& m_next; - }; - -} // namespace adl - -typedef detail::basic_iterator iterator; -typedef detail::basic_iterator raw_iterator; - -#ifndef LUABIND_USE_VALUE_WRAPPER_TAG -template -struct value_wrapper_traits > -#else -template<> -struct value_wrapper_traits -#endif -{ - typedef boost::mpl::true_ is_specialized; - - template - static lua_State* interpreter(adl::index_proxy const& proxy) - { - return proxy.interpreter(); - } - - template - static void unwrap(lua_State* interpreter, adl::index_proxy const& proxy) - { - const_cast&>(proxy).push(interpreter); - } -}; - -#ifndef LUABIND_USE_VALUE_WRAPPER_TAG -template -struct value_wrapper_traits > -#else -template<> -struct value_wrapper_traits -#endif -{ - typedef boost::mpl::true_ is_specialized; - - template - static lua_State* interpreter(Proxy const& p) - { - return p.interpreter(); - } - - template - static void unwrap(lua_State* interpreter, Proxy const& p) - { - // TODO: Why const_cast? - const_cast(p).push(interpreter); - } -}; - -namespace adl -{ - class object_init - { - protected: - object_init() - {} - - explicit object_init(from_stack const& stack_reference, boost::mpl::true_) - : m_handle(stack_reference.interpreter, stack_reference.index) - { - } - - template - explicit object_init(ValueWrapper const& value_wrapper, boost::mpl::false_) - { - lua_State* interpreter = value_wrapper_traits::interpreter( - value_wrapper - ); - - value_wrapper_traits::unwrap(interpreter, value_wrapper); - detail::stack_pop pop(interpreter, 1); - - handle(interpreter, -1).swap(m_handle); - } - - handle m_handle; - }; - - // An object holds a reference to a Lua value residing - // in the registry. - class object : public object_interface - { - struct safe_bool_type {}; - public: - object() - {} - - explicit object(handle const& other) - : m_handle(other) - {} - - explicit object(from_stack const& stack_reference) - : m_handle(stack_reference.interpreter, stack_reference.index) - { - } - - template - object(lua_State* interpreter, T const& value) - { - detail::push(interpreter, value); - detail::stack_pop pop(interpreter, 1); - handle(interpreter, -1).swap(m_handle); - } - - template - object(lua_State* interpreter, T const& value, Policies const&) - { - detail::push(interpreter, value, Policies()); - detail::stack_pop pop(interpreter, 1); - handle(interpreter, -1).swap(m_handle); - } - - void push(lua_State* interpreter) const; - lua_State* interpreter() const; - bool is_valid() const; - operator safe_bool_type*() const; - - template - index_proxy operator[](T const& key) const - { - return index_proxy( - *this, m_handle.interpreter(), key - ); - } - - void swap(object& other) - { - m_handle.swap(other.m_handle); - } - - private: - handle m_handle; - }; - - inline void object::push(lua_State* interpreter) const - { - m_handle.push(interpreter); - } - - inline lua_State* object::interpreter() const - { - return m_handle.interpreter(); - } - - inline bool object::is_valid() const - { - return m_handle.interpreter() != 0; - } - - inline object::operator object::safe_bool_type*() const - { - return is_valid()?(safe_bool_type*)1:0; - } - -} // namespace adl - -using adl::object; - -#ifndef LUABIND_USE_VALUE_WRAPPER_TAG -template -struct value_wrapper_traits > -#else -template<> -struct value_wrapper_traits -#endif -{ - typedef boost::mpl::true_ is_specialized; - - template - static lua_State* interpreter(adl::call_proxy const& proxy) - { - return value_wrapper_traits::interpreter(*proxy.value_wrapper); - } - - template - static void unwrap(lua_State* interpreter, adl::call_proxy const& proxy) - { - object result = const_cast&>(proxy); - result.push(result.interpreter()); - } -}; - -template<> -struct value_wrapper_traits -{ - typedef boost::mpl::true_ is_specialized; - - static lua_State* interpreter(object const& value) - { - return value.interpreter(); - } - - static void unwrap(lua_State* interpreter, object const& value) - { - value.push(interpreter); - } - - static bool check(...) - { - return true; - } -}; - -template -inline void adl::index_proxy::push(lua_State* interpreter) -{ - assert(interpreter == m_interpreter); - - value_wrapper_traits::unwrap(m_interpreter, m_next); - - lua_pushvalue(m_interpreter, m_key_index); - lua_gettable(m_interpreter, -2); - lua_remove(m_interpreter, -2); -} - -template -inline adl::index_proxy::operator object() -{ - detail::stack_pop pop(m_interpreter, 1); - push(m_interpreter); - return object(from_stack(m_interpreter, -1)); -} - -template -adl::iterator_proxy::operator object() -{ - lua_pushvalue(m_interpreter, m_key_index); - AccessPolicy::get(m_interpreter, m_table_index); - detail::stack_pop pop(m_interpreter, 1); - return object(from_stack(m_interpreter, -1)); -} - -template -object detail::basic_iterator::key() const -{ - return object(m_key); -} - -namespace detail -{ - - template< - class T - , class ValueWrapper - , class Policies - , class ErrorPolicy - , class ReturnType - > - ReturnType object_cast_aux( - ValueWrapper const& value_wrapper - , T* - , Policies* - , ErrorPolicy* - , ReturnType* - ) - { - lua_State* interpreter = value_wrapper_traits::interpreter( - value_wrapper - ); - -#ifndef LUABIND_NO_ERROR_CHECKING - if (!interpreter) - return ErrorPolicy::handle_error(interpreter, LUABIND_TYPEID(void)); -#endif - - value_wrapper_traits::unwrap(interpreter, value_wrapper); - - detail::stack_pop pop(interpreter, 1); - - typedef typename detail::find_conversion_policy< - 0 - , Policies - >::type converter_generator; - - typename mpl::apply_wrap2::type cv; - -#ifndef LUABIND_NO_ERROR_CHECKING - if (cv.match(interpreter, LUABIND_DECORATE_TYPE(T), -1) < 0) - { - return ErrorPolicy::handle_error(interpreter, LUABIND_TYPEID(T)); - } -#endif - - return cv.apply(interpreter, LUABIND_DECORATE_TYPE(T), -1); - } - - template - struct throw_error_policy - { - static T handle_error(lua_State* interpreter, LUABIND_TYPE_INFO type_info) - { -#ifndef LUABIND_NO_EXCEPTIONS - throw cast_failed(interpreter, type_info); -#else - cast_failed_callback_fun e = get_cast_failed_callback(); - if (e) e(interpreter, type_info); - - assert(0 && "object_cast failed. If you want to handle this error use " - "luabind::set_error_callback()"); - std::terminate(); -#endif - return *(typename boost::remove_reference::type*)0; - } - }; - - template - struct nothrow_error_policy - { - static boost::optional handle_error(lua_State*, LUABIND_TYPE_INFO) - { - return boost::optional(); - } - }; - -} // namespace detail - -template -T object_cast(ValueWrapper const& value_wrapper) -{ - return detail::object_cast_aux( - value_wrapper - , (T*)0 - , (detail::null_type*)0 - , (detail::throw_error_policy*)0 - , (T*)0 - ); -} - -template -T object_cast(ValueWrapper const& value_wrapper, Policies const&) -{ - return detail::object_cast_aux( - value_wrapper - , (T*)0 - , (Policies*)0 - , (detail::throw_error_policy*)0 - , (T*)0 - ); -} - -template -boost::optional object_cast_nothrow(ValueWrapper const& value_wrapper) -{ - return detail::object_cast_aux( - value_wrapper - , (T*)0 - , (detail::null_type*)0 - , (detail::nothrow_error_policy*)0 - , (boost::optional*)0 - ); -} - -template -boost::optional object_cast_nothrow(ValueWrapper const& value_wrapper, Policies const&) -{ - return detail::object_cast_aux( - value_wrapper - , (T*)0 - , (Policies*)0 - , (detail::nothrow_error_policy*)0 - , (boost::optional*)0 - ); -} - -namespace detail -{ - - template - struct push_args_from_tuple - { - template - inline static void apply(lua_State* L, const boost::tuples::cons& x, const Policies& p) - { - convert_to_lua_p(L, *x.get_head(), p); - push_args_from_tuple::apply(L, x.get_tail(), p); - } - - template - inline static void apply(lua_State* L, const boost::tuples::cons& x) - { - convert_to_lua(L, *x.get_head()); - push_args_from_tuple::apply(L, x.get_tail()); - } - - template - inline static void apply(lua_State*, const boost::tuples::null_type&, const Policies&) {} - - inline static void apply(lua_State*, const boost::tuples::null_type&) {} - }; - -} // namespace detail - -namespace adl -{ - - template - struct call_proxy - { - call_proxy(ValueWrapper& value_wrapper, Arguments arguments) - : value_wrapper(&value_wrapper) - , arguments(arguments) - {} - - call_proxy(call_proxy const& other) - : value_wrapper(other.value_wrapper) - , arguments(other.arguments) - { - other.value_wrapper = 0; - } - - ~call_proxy() - { - if (value_wrapper) - call((detail::null_type*)0); - } - - operator object() - { - return call((detail::null_type*)0); - } - - template - object operator[](Policies const&) - { - return call((Policies*)0); - } - - template - object call(Policies*) - { - lua_State* interpreter = value_wrapper_traits::interpreter( - *value_wrapper - ); - - value_wrapper_traits::unwrap( - interpreter - , *value_wrapper - ); - - value_wrapper = 0; - - detail::push_args_from_tuple<1>::apply(interpreter, arguments, Policies()); - - if (detail::pcall(interpreter, boost::tuples::length::value, 1)) - { -#ifndef LUABIND_NO_EXCEPTIONS - throw luabind::error(interpreter); -#else - error_callback_fun e = get_error_callback(); - if (e) e(interpreter); - - assert(0 && "the lua function threw an error and exceptions are disabled." - "if you want to handle this error use luabind::set_error_callback()"); - std::terminate(); -#endif - } - - detail::stack_pop pop(interpreter, 1); - return object(from_stack(interpreter, -1)); - } - - mutable ValueWrapper* value_wrapper; - Arguments arguments; - }; - - template - call_proxy > - object_interface::operator()() - { - return call_proxy >( - derived() - , boost::tuples::tuple<>() - ); - } - -} // namespace adl - -inline object newtable(lua_State* interpreter) -{ - lua_newtable(interpreter); - detail::stack_pop pop(interpreter, 1); - return object(from_stack(interpreter, -1)); -} - -// this could be optimized by returning a proxy -inline object globals(lua_State* interpreter) -{ - lua_pushvalue(interpreter, LUA_GLOBALSINDEX); - detail::stack_pop pop(interpreter, 1); - return object(from_stack(interpreter, -1)); -} - -// this could be optimized by returning a proxy -inline object registry(lua_State* interpreter) -{ - lua_pushvalue(interpreter, LUA_REGISTRYINDEX); - detail::stack_pop pop(interpreter, 1); - return object(from_stack(interpreter, -1)); -} - -template -inline object gettable(ValueWrapper const& table, K const& key) -{ - lua_State* interpreter = value_wrapper_traits::interpreter( - table - ); - - value_wrapper_traits::unwrap(interpreter, table); - detail::stack_pop pop(interpreter, 2); - detail::push(interpreter, key); - lua_gettable(interpreter, -2); - return object(from_stack(interpreter, -1)); -} - -template -inline void settable(ValueWrapper const& table, K const& key, T const& value) -{ - lua_State* interpreter = value_wrapper_traits::interpreter( - table - ); - - // TODO: Exception safe? - - value_wrapper_traits::unwrap(interpreter, table); - detail::stack_pop pop(interpreter, 1); - detail::push(interpreter, key); - detail::push(interpreter, value); - lua_settable(interpreter, -3); -} - -template -inline object rawget(ValueWrapper const& table, K const& key) -{ - lua_State* interpreter = value_wrapper_traits::interpreter( - table - ); - - value_wrapper_traits::unwrap(interpreter, table); - detail::stack_pop pop(interpreter, 2); - detail::push(interpreter, key); - lua_rawget(interpreter, -2); - return object(from_stack(interpreter, -1)); -} - -template -inline void rawset(ValueWrapper const& table, K const& key, T const& value) -{ - lua_State* interpreter = value_wrapper_traits::interpreter( - table - ); - - // TODO: Exception safe? - - value_wrapper_traits::unwrap(interpreter, table); - detail::stack_pop pop(interpreter, 1); - detail::push(interpreter, key); - detail::push(interpreter, value); - lua_rawset(interpreter, -3); -} - -template -inline int type(ValueWrapper const& value) -{ - lua_State* interpreter = value_wrapper_traits::interpreter( - value - ); - - value_wrapper_traits::unwrap(interpreter, value); - detail::stack_pop pop(interpreter, 1); - return lua_type(interpreter, -1); -} - -} // namespace luabind - -#endif // LUABIND_OBJECT_050419_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/open.hpp b/external/sources/luabind-0.7.1/luabind/open.hpp deleted file mode 100755 index cca4c7a525..0000000000 --- a/external/sources/luabind-0.7.1/luabind/open.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_OPEN_HPP_INCLUDED -#define LUABIND_OPEN_HPP_INCLUDED - -#include - -namespace luabind { - - LUABIND_API void open(lua_State* L); - -} - -#endif // LUABIND_OPEN_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/out_value_policy.hpp b/external/sources/luabind-0.7.1/luabind/out_value_policy.hpp deleted file mode 100644 index b9509faf3f..0000000000 --- a/external/sources/luabind-0.7.1/luabind/out_value_policy.hpp +++ /dev/null @@ -1,270 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_OUT_VALUE_POLICY_HPP_INCLUDED -#define LUABIND_OUT_VALUE_POLICY_HPP_INCLUDED - -#include -#include -#include - -namespace luabind { namespace detail -{ - template - struct char_array - { - char storage[N]; - }; - -#if defined(__GNUC__) && ( __GNUC__ == 3 && __GNUC_MINOR__ == 1 ) - - template - char_array indirect_sizeof_test(by_reference); - - template - char_array indirect_sizeof_test(by_const_reference); - - template - char_array indirect_sizeof_test(by_pointer); - - template - char_array indirect_sizeof_test(by_const_pointer); - - template - char_array indirect_sizeof_test(by_value); - -#else - - template - char_array::type)> indirect_sizeof_test(by_reference); - - template - char_array::type)> indirect_sizeof_test(by_const_reference); - - template - char_array::type)> indirect_sizeof_test(by_pointer); - - template - char_array::type)> indirect_sizeof_test(by_const_pointer); - - template - char_array::type)> indirect_sizeof_test(by_value); - -#endif - - template - struct indirect_sizeof - { - BOOST_STATIC_CONSTANT(int, value = sizeof(indirect_sizeof_test(LUABIND_DECORATE_TYPE(T)))); - }; - - namespace mpl = boost::mpl; - - template - struct out_value_converter - { - template - T& apply(lua_State* L, by_reference, int index) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - new (m_storage) T(converter.apply(L, LUABIND_DECORATE_TYPE(T), index)); - return *reinterpret_cast(m_storage); - } - - template - static int match(lua_State* L, by_reference, int index) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typedef typename mpl::apply_wrap2::type converter; - return converter::match(L, LUABIND_DECORATE_TYPE(T), index); - } - - template - void converter_postcall(lua_State* L, by_reference, int) - { - typedef typename find_conversion_policy<2, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - converter.apply(L, *reinterpret_cast(m_storage)); - reinterpret_cast(m_storage)->~T(); - } - - template - T* apply(lua_State* L, by_pointer, int index) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - new (m_storage) T(converter.apply(L, LUABIND_DECORATE_TYPE(T), index)); - return reinterpret_cast(m_storage); - } - - template - static int match(lua_State* L, by_pointer, int index) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typedef typename mpl::apply_wrap2::type converter; - return converter::match(L, LUABIND_DECORATE_TYPE(T), index); - } - - template - void converter_postcall(lua_State* L, by_pointer, int) - { - typedef typename find_conversion_policy<2, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - converter.apply(L, *reinterpret_cast(m_storage)); - reinterpret_cast(m_storage)->~T(); - } - - char m_storage[Size]; - }; - - template - struct out_value_policy : conversion_policy - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - struct only_accepts_nonconst_references_or_pointers {}; - struct can_only_convert_from_lua_to_cpp {}; - - template - struct apply - { - typedef typename boost::mpl::if_ - , typename boost::mpl::if_, is_nonconst_pointer > - , out_value_converter::value, Policies> - , only_accepts_nonconst_references_or_pointers - >::type - , can_only_convert_from_lua_to_cpp - >::type type; - }; - }; - - template - struct pure_out_value_converter - { - template - T& apply(lua_State* L, by_reference, int index) - { - new (m_storage) T(); - return *reinterpret_cast(m_storage); - } - - template - static int match(lua_State* L, by_reference, int index) - { - return 0; - } - - template - void converter_postcall(lua_State* L, by_reference, int) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - converter.apply(L, *reinterpret_cast(m_storage)); - reinterpret_cast(m_storage)->~T(); - } - - template - T* apply(lua_State* L, by_pointer, int index) - { - new (m_storage) T(); - return reinterpret_cast(m_storage); - } - - template - static int match(lua_State* L, by_pointer, int index) - { - return 0; - } - - template - void converter_postcall(lua_State* L, by_pointer, int) - { - typedef typename find_conversion_policy<1, Policies>::type converter_policy; - typename mpl::apply_wrap2::type converter; - converter.apply(L, *reinterpret_cast(m_storage)); - reinterpret_cast(m_storage)->~T(); - } - - - char m_storage[Size]; - }; - - template - struct pure_out_value_policy : conversion_policy - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - struct only_accepts_nonconst_references_or_pointers {}; - struct can_only_convert_from_lua_to_cpp {}; - - template - struct apply - { - typedef typename boost::mpl::if_ - , typename boost::mpl::if_, is_nonconst_pointer > - , pure_out_value_converter::value, Policies> - , only_accepts_nonconst_references_or_pointers - >::type - , can_only_convert_from_lua_to_cpp - >::type type; - }; - }; - -}} - -namespace luabind -{ - template - detail::policy_cons, detail::null_type> - out_value(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons, detail::null_type>(); - } - - template - detail::policy_cons, detail::null_type> - out_value(LUABIND_PLACEHOLDER_ARG(N), const Policies&) - { - return detail::policy_cons, detail::null_type>(); - } - - template - detail::policy_cons, detail::null_type> - pure_out_value(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons, detail::null_type>(); - } - - template - detail::policy_cons, detail::null_type> - pure_out_value(LUABIND_PLACEHOLDER_ARG(N), const Policies&) - { - return detail::policy_cons, detail::null_type>(); - } -} - -#endif // LUABIND_OUT_VALUE_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/raw_policy.hpp b/external/sources/luabind-0.7.1/luabind/raw_policy.hpp deleted file mode 100755 index 2872f29d3b..0000000000 --- a/external/sources/luabind-0.7.1/luabind/raw_policy.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_RAW_POLICY_HPP_INCLUDED -#define LUABIND_RAW_POLICY_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail { - - struct raw_converter - { - lua_State* apply(lua_State* L, by_pointer, int) - { - return L; - } - - static int match(...) - { - return 0; - } - - void converter_postcall(lua_State*, by_pointer, int) {} - }; - - template - struct raw_policy : conversion_policy - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - - template - struct apply - { - typedef raw_converter type; - }; - }; - -}} // namespace luabind::detail - -namespace luabind { - - template - detail::policy_cons< - detail::raw_policy - , detail::null_type - > - inline raw(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons< - detail::raw_policy - , detail::null_type - >(); - } - -} // namespace luabind - -#endif // LUABIND_RAW_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/return_reference_to_policy.hpp b/external/sources/luabind-0.7.1/luabind/return_reference_to_policy.hpp deleted file mode 100644 index 1432f79e03..0000000000 --- a/external/sources/luabind-0.7.1/luabind/return_reference_to_policy.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#ifndef LUABIND_RETURN_REFERENCE_TO_POLICY_HPP_INCLUDED -#define LUABIND_RETURN_REFERENCE_TO_POLICY_HPP_INCLUDED - -namespace luabind { namespace detail -{ - template - struct return_reference_to_converter; - - template<> - struct return_reference_to_converter - { - template - void apply(lua_State* L, const T&) - { - lua_pushnil(L); - } - }; - - template - struct return_reference_to_policy : conversion_policy<0> - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State* L, const index_map& indices) - { - int result_index = indices[0]; - int ref_to_index = indices[N]; - - lua_pushvalue(L, ref_to_index); - lua_replace(L, result_index); - } - - template - struct apply - { - typedef return_reference_to_converter type; - }; - }; -}} - -namespace luabind -{ - template - detail::policy_cons, detail::null_type> - return_reference_to(LUABIND_PLACEHOLDER_ARG(N)) - { - return detail::policy_cons, detail::null_type>(); - } -} - -#endif // LUABIND_RETURN_REFERENCE_TO_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/luabind/wrapper_base.hpp b/external/sources/luabind-0.7.1/luabind/wrapper_base.hpp deleted file mode 100755 index 18532fe8f5..0000000000 --- a/external/sources/luabind-0.7.1/luabind/wrapper_base.hpp +++ /dev/null @@ -1,182 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#if !BOOST_PP_IS_ITERATING - -#ifndef LUABIND_WRAPPER_BASE_HPP_INCLUDED -#define LUABIND_WRAPPER_BASE_HPP_INCLUDED - -#include -#include -#include -#include - -#include -#include - -namespace luabind -{ - namespace detail - { - struct wrap_access; - - // implements the selection between dynamic dispatch - // or default implementation calls from within a virtual - // function wrapper. The input is the self reference on - // the top of the stack. Output is the function to call - // on the top of the stack (the input self reference will - // be popped) - LUABIND_API void do_call_member_selection(lua_State* L, char const* name); - } - - struct wrapped_self_t: weak_ref - { - detail::lua_reference m_strong_ref; - }; - - struct wrap_base - { - friend struct detail::wrap_access; - wrap_base() {} - - #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) - #include BOOST_PP_ITERATE() - - private: - wrapped_self_t m_self; - }; - -#define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 2)) -#include BOOST_PP_ITERATE() - - namespace detail - { - struct wrap_access - { - static wrapped_self_t const& ref(wrap_base const& b) - { - return b.m_self; - } - - static wrapped_self_t& ref(wrap_base& b) - { - return b.m_self; - } - }; - } -} - -#endif // LUABIND_WRAPPER_BASE_HPP_INCLUDED - -#elif BOOST_PP_ITERATION_FLAGS() == 1 - -#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * -#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n - - template - typename boost::mpl::if_ - , luabind::detail::proxy_member_void_caller > - , luabind::detail::proxy_member_caller > >::type - call(char const* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _), detail::type_* = 0) const - { - typedef boost::tuples::tuple tuple_t; - #if BOOST_PP_ITERATION() == 0 - tuple_t args; - #else - tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); - #endif - - typedef typename boost::mpl::if_ - , luabind::detail::proxy_member_void_caller > - , luabind::detail::proxy_member_caller > >::type proxy_type; - - // this will be cleaned up by the proxy object - // once the call has been made - - // TODO: what happens if this virtual function is - // dispatched from a lua thread where the state - // pointer is different? - - // get the function - lua_State* L = m_self.state(); - m_self.get(L); - assert(!lua_isnil(L, -1)); - detail::do_call_member_selection(L, name); - - // push the self reference as the first parameter - m_self.get(L); - - // now the function and self objects - // are on the stack. These will both - // be popped by pcall - return proxy_type(L, args); - } - -#undef LUABIND_CALL_MEMBER_NAME -#undef LUABIND_OPERATOR_PARAMS -#undef LUABIND_TUPLE_PARAMS - -#else // free call_member forwardarding functions - -#define N BOOST_PP_ITERATION() - -#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * -#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n - - template< - class R - BOOST_PP_ENUM_TRAILING_PARAMS(N, class A) - > - typename boost::mpl::if_< - boost::is_void - , detail::proxy_member_void_caller< - boost::tuples::tuple< - BOOST_PP_ENUM(N, LUABIND_TUPLE_PARAMS, _) - > - > - , detail::proxy_member_caller< - R - , boost::tuples::tuple< - BOOST_PP_ENUM(N, LUABIND_TUPLE_PARAMS, _) - > - > - >::type - call_member( - wrap_base const* self - , char const* fn - BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, A, &a) - , detail::type_* = 0 - ) - { - return self->call( - fn - BOOST_PP_ENUM_TRAILING_PARAMS(N, a) - , (detail::type_*)0 - ); - } - -#undef LUABIND_OPERATOR_PARAMS -#undef LUABIND_TUPLE_PARAMS - -#undef N - -#endif diff --git a/external/sources/luabind-0.7.1/luabind/yield_policy.hpp b/external/sources/luabind-0.7.1/luabind/yield_policy.hpp deleted file mode 100755 index b4de01255b..0000000000 --- a/external/sources/luabind-0.7.1/luabind/yield_policy.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - - -#ifndef LUABIND_YIELD_POLICY_HPP_INCLUDED -#define LUABIND_YIELD_POLICY_HPP_INCLUDED - -#include -#include - -namespace luabind { namespace detail -{ - struct yield_policy - { - static void precall(lua_State*, const index_map&) {} - static void postcall(lua_State*, const index_map&) {} - }; - - template - struct has_yield - { - BOOST_STATIC_CONSTANT(bool, - value = (boost::is_same::value || - has_yield::value)); - }; - - template<> - struct has_yield - { - BOOST_STATIC_CONSTANT(bool, value = false); - }; -}} - -namespace luabind -{ - namespace - { - LUABIND_ANONYMOUS_FIX detail::policy_cons yield; - } -} - -#endif // LUABIND_YIELD_POLICY_HPP_INCLUDED - diff --git a/external/sources/luabind-0.7.1/meson.build b/external/sources/luabind-0.7.1/meson.build deleted file mode 100644 index 989746d305..0000000000 --- a/external/sources/luabind-0.7.1/meson.build +++ /dev/null @@ -1,27 +0,0 @@ -project('luabind', 'cpp') -subdir('src') - -luabind_include = include_directories('.', 'luabind') - -luabind_args = ['-D_HAS_AUTO_PTR_ETC=1', '-D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES'] - -luabind_dependencies = [dependency('luajit', 'LuaJIT-2.1'), dependency('boost-175')] - -cpp_args = [] -cpp_options = [] -deps = [] -cxx = meson.get_compiler('cpp') -if cxx.get_argument_syntax() == 'gcc' - cpp_args = ['-w', '-fpermissive'] - luabind_args += cpp_args -elif cxx.get_argument_syntax() == 'msvc' - cpp_args = ['-permissive', '-DBOOST_BIND_GLOBAL_PLACEHOLDERS=1', '-DLUABIND_BUILDING', '-D_ITERATOR_DEBUG_LEVEL=0'] - luabind_args = ['-D_HAS_AUTO_PTR_ETC=1', '-DBOOST_BIND_GLOBAL_PLACEHOLDERS=1', '-permissive'] - cpp_options = ['cpp_std=vc++20'] -endif - -luabind = static_library('luabind071', luabind_src, dependencies: luabind_dependencies, include_directories:luabind_include, cpp_args:cpp_args+ luabind_args, override_options: ['warning_level=0']+ cpp_options) - -luabind_dep = declare_dependency(link_with: luabind, dependencies: deps, include_directories: luabind_include, compile_args: luabind_args) - -meson.override_dependency('luabind', luabind_dep) diff --git a/external/sources/luabind-0.7.1/src/class.cpp b/external/sources/luabind-0.7.1/src/class.cpp deleted file mode 100755 index 1c5e457ed5..0000000000 --- a/external/sources/luabind-0.7.1/src/class.cpp +++ /dev/null @@ -1,427 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include - -#include -#include - -namespace luabind -{ - LUABIND_API detail::nil_type nil; -} - -namespace luabind { namespace detail { - - struct method_name - { - method_name(char const* n): name(n) {} - bool operator()(method_rep const& o) const - { return std::strcmp(o.name, name) == 0; } - char const* name; - }; - - struct class_registration : registration - { - class_registration(char const* name); - - void register_(lua_State* L) const; - - const char* m_name; - - mutable std::list m_methods; - - // datamembers, some members may be readonly, and - // only have a getter function - mutable std::map m_getters; - mutable std::map m_setters; - - // the operators in lua - mutable std::vector m_operators[detail::number_of_operators]; - mutable std::map m_static_constants; - - mutable std::vector m_bases; - mutable detail::construct_rep m_constructor; - - void(*m_destructor)(void*); - void(*m_const_holder_destructor)(void*); - - void*(*m_extractor)(void*); - const void*(*m_const_extractor)(void*); - - void(*m_const_converter)(void*,void*); - - void(*m_construct_holder)(void*, void*); - void(*m_construct_const_holder)(void*, void*); - - void(*m_default_construct_holder)(void*); - void(*m_default_construct_const_holder)(void*); - - void(*m_adopt_fun)(void*); - - int m_holder_size; - int m_holder_alignment; - - LUABIND_TYPE_INFO m_type; - LUABIND_TYPE_INFO m_holder_type; - LUABIND_TYPE_INFO m_const_holder_type; - - scope m_scope; - }; - - class_registration::class_registration(char const* name) - { - m_name = name; - } - - void class_registration::register_(lua_State* L) const - { - LUABIND_CHECK_STACK(L); - - assert(lua_type(L, -1) == LUA_TTABLE); - - lua_pushstring(L, m_name); - - detail::class_rep* crep; - - detail::class_registry* r = detail::class_registry::get_registry(L); - // create a class_rep structure for this class. - // allocate it within lua to let lua collect it on - // lua_close(). This is better than allocating it - // as a static, since it will then be destructed - // when the program exits instead. - // warning: we assume that lua will not - // move the userdata memory. - lua_newuserdata(L, sizeof(detail::class_rep)); - crep = reinterpret_cast(lua_touserdata(L, -1)); - - new(crep) detail::class_rep( - m_type - , m_name - , L - , m_destructor - , m_const_holder_destructor - , m_holder_type - , m_const_holder_type - , m_extractor - , m_const_extractor - , m_const_converter - , m_construct_holder - , m_construct_const_holder - , m_default_construct_holder - , m_default_construct_const_holder - , m_adopt_fun - , m_holder_size - , m_holder_alignment); - - // register this new type in the class registry - r->add_class(m_type, crep); - if (!(LUABIND_TYPE_INFO_EQUAL(m_holder_type, LUABIND_INVALID_TYPE_INFO))) - { - // if we have a held type - // we have to register it in the class-table - // but only for the base class, if it already - // exists, we don't have to register it - detail::class_rep* c = r->find_class(m_holder_type); - if (c == 0) - { - r->add_class(m_holder_type, crep); - r->add_class(m_const_holder_type, crep); - } - } - - // constructors - m_constructor.swap(crep->m_constructor); - - crep->m_getters.swap(m_getters); - crep->m_setters.swap(m_setters); - - for (int i = 0; i < detail::number_of_operators; ++i) - crep->m_operators[i].swap(m_operators[i]); - - crep->m_static_constants.swap(m_static_constants); - - typedef std::list methods_t; - - detail::class_registry* registry = detail::class_registry::get_registry(L); - - for (std::vector::iterator i = m_bases.begin(); - i != m_bases.end(); ++i) - { - LUABIND_CHECK_STACK(L); - - // the baseclass' class_rep structure - detail::class_rep* bcrep = registry->find_class(i->type); - - detail::class_rep::base_info base; - base.pointer_offset = i->ptr_offset; - base.base = bcrep; - - crep->add_base_class(base); - - // copy base class table - crep->get_table(L); - bcrep->get_table(L); - lua_pushnil(L); - - while (lua_next(L, -2)) - { - lua_pushvalue(L, -2); // copy key - lua_insert(L, -2); - lua_settable(L, -5); - } - lua_pop(L, 2); - - // copy base class detaults table - crep->get_default_table(L); - bcrep->get_default_table(L); - lua_pushnil(L); - - while (lua_next(L, -2)) - { - lua_pushvalue(L, -2); // copy key - lua_insert(L, -2); - lua_settable(L, -5); - } - lua_pop(L, 2); - - } - - // add methods - for (std::list::iterator i - = m_methods.begin(); i != m_methods.end(); ++i) - { - LUABIND_CHECK_STACK(L); - crep->add_method(*i); - } - - crep->register_methods(L); - - m_methods.clear(); - - crep->get_default_table(L); - m_scope.register_(L); - lua_pop(L, 1); - - lua_settable(L, -3); - } - - // -- interface --------------------------------------------------------- - - class_base::class_base(char const* name) - : scope(std::auto_ptr( - m_registration = new class_registration(name)) - ) - { - } - - void class_base::init( - LUABIND_TYPE_INFO type_id - , LUABIND_TYPE_INFO holder_type - , LUABIND_TYPE_INFO const_holder_type - , void*(*extractor)(void*) - , const void*(*const_extractor)(void*) - , void(*const_converter_)(void*,void*) - , void(*holder_constructor_)(void*,void*) - , void(*const_holder_constructor_)(void*,void*) - , void(*holder_default_constructor_)(void*) - , void(*const_holder_default_constructor_)(void*) - , void(*adopt_fun)(void*) - , void(*destructor)(void*) - , void(*const_holder_destructor)(void*) - , int holder_size - , int holder_alignment) - { - m_registration->m_type = type_id; - m_registration->m_holder_type = holder_type; - m_registration->m_const_holder_type = const_holder_type; - m_registration->m_extractor = extractor; - m_registration->m_const_extractor = const_extractor; - m_registration->m_const_converter = const_converter_; - m_registration->m_construct_holder = holder_constructor_; - m_registration->m_construct_const_holder = const_holder_constructor_; - m_registration->m_default_construct_holder = holder_default_constructor_; - m_registration->m_default_construct_const_holder = const_holder_default_constructor_; - m_registration->m_destructor = destructor; - m_registration->m_const_holder_destructor = const_holder_destructor; - m_registration->m_adopt_fun = adopt_fun; - m_registration->m_holder_size = holder_size; - m_registration->m_holder_alignment = holder_alignment; - } - - void class_base::add_getter( - const char* name, const boost::function2& g) - { - detail::class_rep::callback c; - c.func = g; - c.pointer_offset = 0; - - const char* key = name; - m_registration->m_getters[key] = c; - } - -#ifdef LUABIND_NO_ERROR_CHECKING - void class_base::add_setter( - const char* name - , const boost::function2& s) -#else - void class_base::add_setter( - const char* name - , const boost::function2& s - , int (*match)(lua_State*, int) - , void (*get_sig_ptr)(lua_State*, std::string&)) -#endif - { - detail::class_rep::callback c; - c.func = s; - c.pointer_offset = 0; - -#ifndef LUABIND_NO_ERROR_CHECKING - c.match = match; - c.sig = get_sig_ptr; -#endif - - - const char* key = name; - m_registration->m_setters[key] = c; - } - - void class_base::add_base(const base_desc& b) - { - m_registration->m_bases.push_back(b); - } - - void class_base::add_constructor(const detail::construct_rep::overload_t& o) - { - m_registration->m_constructor.overloads.push_back(o); - } - - void class_base::add_method(const char* name, const detail::overload_rep& o) - { - typedef std::list methods_t; - - methods_t::iterator m = std::find_if( - m_registration->m_methods.begin() - , m_registration->m_methods.end() - , method_name(name)); - if (m == m_registration->m_methods.end()) - { - m_registration->m_methods.push_back(method_rep()); - m = m_registration->m_methods.end(); - std::advance(m, -1); - m->name = name; - } - - m->add_overload(o); - m->crep = 0; - } - -#ifndef LUABIND_NO_ERROR_CHECKING - void class_base::add_operator( - int op_id, int(*func)(lua_State*), int(*matcher)(lua_State*) - , void(*sig)(lua_State*, std::string&), int arity) -#else - void class_base::add_operator( - int op_id, int(*func)(lua_State*) - , int(*matcher)(lua_State*), int arity) -#endif - { - detail::class_rep::operator_callback o; - o.set_fun(func); - o.set_match_fun(matcher); - o.set_arity(arity); - -#ifndef LUABIND_NO_ERROR_CHECKING - - o.set_sig_fun(sig); - -#endif - m_registration->m_operators[op_id].push_back(o); - } - - const char* class_base::name() const - { - return m_registration->m_name; - } - - void class_base::add_static_constant(const char* name, int val) - { - m_registration->m_static_constants[name] = val; - } - - void class_base::add_inner_scope(scope& s) - { - m_registration->m_scope.operator,(s); - } - - template - void add_custom_name(T i, std::string& s) {} - - void add_custom_name(std::type_info const* i, std::string& s) - { - s += " ["; - s += i->name(); - s += "]"; - } - - std::string get_class_name(lua_State* L, LUABIND_TYPE_INFO i) - { - std::string ret; - - assert(L); - - class_registry* r = class_registry::get_registry(L); - class_rep* crep = r->find_class(i); - - if (crep == 0) - { - ret = "custom"; - add_custom_name(i, ret); - } - else - { - if (LUABIND_TYPE_INFO_EQUAL(i, crep->holder_type())) - { - ret += "smart_ptr<"; - ret += crep->name(); - ret += ">"; - } - else if (LUABIND_TYPE_INFO_EQUAL(i, crep->const_holder_type())) - { - ret += "smart_ptrname(); - ret += ">"; - } - else - { - ret += crep->name(); - } - } - return ret; - }; - -}} // namespace luabind::detail - diff --git a/external/sources/luabind-0.7.1/src/class_info.cpp b/external/sources/luabind-0.7.1/src/class_info.cpp deleted file mode 100755 index 044a35b15c..0000000000 --- a/external/sources/luabind-0.7.1/src/class_info.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include - -namespace luabind -{ - class_info get_class_info(const object& o) - { - lua_State* L = o.interpreter(); - - class_info result; - - o.push(L); - detail::object_rep* obj = static_cast(lua_touserdata(L, -1)); - lua_pop(L, 1); - - result.name = obj->crep()->name(); - obj->crep()->get_table(L); - - object methods(from_stack(L, -1)); - - methods.swap(result.methods); - lua_pop(L, 1); - - result.attributes = newtable(L); - - typedef detail::class_rep::property_map map_type; - - std::size_t index = 1; - - for (map_type::const_iterator i = obj->crep()->properties().begin(); - i != obj->crep()->properties().end(); ++i, ++index) - { - result.attributes[index] = i->first; - } - - return result; - } - - void bind_class_info(lua_State* L) - { - module(L) - [ - class_("class_info_data") - .def_readonly("name", &class_info::name) - .def_readonly("methods", &class_info::methods) - .def_readonly("attributes", &class_info::attributes), - - def("class_info", &get_class_info) - ]; - } -} - diff --git a/external/sources/luabind-0.7.1/src/class_registry.cpp b/external/sources/luabind-0.7.1/src/class_registry.cpp deleted file mode 100755 index 5fa1a5d9e4..0000000000 --- a/external/sources/luabind-0.7.1/src/class_registry.cpp +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace luabind { namespace detail { - - namespace { - - void add_operator_to_metatable(lua_State* L, int op_index) - { - lua_pushstring(L, get_operator_name(op_index)); - lua_pushstring(L, get_operator_name(op_index)); - lua_pushboolean(L, op_index == op_unm); - lua_pushcclosure(L, &class_rep::operator_dispatcher, 2); - lua_settable(L, -3); - } - - int create_cpp_class_metatable(lua_State* L) - { - lua_newtable(L); - - // mark the table with our (hopefully) unique tag - // that says that the user data that has this - // metatable is a class_rep - lua_pushstring(L, "__luabind_classrep"); - lua_pushboolean(L, 1); - lua_rawset(L, -3); - - lua_pushstring(L, "__gc"); - lua_pushcclosure( - L - , &garbage_collector_s< - detail::class_rep - >::apply - , 0); - - lua_rawset(L, -3); - - lua_pushstring(L, "__call"); - lua_pushcclosure(L, &class_rep::constructor_dispatcher, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__index"); - lua_pushcclosure(L, &class_rep::static_class_gettable, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__newindex"); - lua_pushcclosure(L, &class_rep::lua_settable_dispatcher, 0); - lua_rawset(L, -3); - - return detail::ref(L); - } - - int create_cpp_instance_metatable(lua_State* L) - { - lua_newtable(L); - - // just indicate that this really is a class and not just - // any user data - lua_pushstring(L, "__luabind_class"); - lua_pushboolean(L, 1); - lua_rawset(L, -3); - - // __index and __newindex will simply be references to the - // class_rep which in turn has it's own metamethods for __index - // and __newindex - lua_pushstring(L, "__index"); - lua_pushcclosure(L, &class_rep::gettable_dispatcher, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__newindex"); - lua_pushcclosure(L, &class_rep::settable_dispatcher, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__gc"); - - lua_pushcclosure(L, detail::object_rep::garbage_collector, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__gettable"); - lua_pushcclosure(L, &class_rep::static_class_gettable, 0); - lua_rawset(L, -3); - - for (int i = 0; i < number_of_operators; ++i) - add_operator_to_metatable(L, i); - - // store a reference to the instance-metatable in our class_rep - assert((lua_type(L, -1) == LUA_TTABLE) - && "internal error, please report"); - - return detail::ref(L); - } - - int create_lua_class_metatable(lua_State* L) - { - lua_newtable(L); - - lua_pushstring(L, "__luabind_classrep"); - lua_pushboolean(L, 1); - lua_rawset(L, -3); - - lua_pushstring(L, "__gc"); - lua_pushcclosure( - L - , &detail::garbage_collector_s< - detail::class_rep - >::apply - , 0); - - lua_rawset(L, -3); - - lua_pushstring(L, "__newindex"); - lua_pushcclosure(L, &class_rep::lua_settable_dispatcher, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__call"); - lua_pushcclosure(L, &class_rep::construct_lua_class_callback, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__index"); - lua_pushcclosure(L, &class_rep::static_class_gettable, 0); - lua_rawset(L, -3); - - return detail::ref(L); - } - - int create_lua_instance_metatable(lua_State* L) - { - lua_newtable(L); - - // just indicate that this really is a class and not just - // any user data - lua_pushstring(L, "__luabind_class"); - lua_pushboolean(L, 1); - lua_rawset(L, -3); - - lua_pushstring(L, "__index"); - lua_pushcclosure(L, &class_rep::lua_class_gettable, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__newindex"); - lua_pushcclosure(L, &class_rep::lua_class_settable, 0); - lua_rawset(L, -3); - - lua_pushstring(L, "__gc"); - lua_pushcclosure(L, detail::object_rep::garbage_collector, 0); - lua_rawset(L, -3); - - for (int i = 0; i < number_of_operators; ++i) - add_operator_to_metatable(L, i); - - // store a reference to the instance-metatable in our class_rep - return detail::ref(L); - } - - int create_lua_function_metatable(lua_State* L) - { - lua_newtable(L); - - lua_pushstring(L, "__gc"); - lua_pushcclosure( - L - , detail::garbage_collector_s< - detail::free_functions::function_rep - >::apply - , 0); - - lua_rawset(L, -3); - - return detail::ref(L); - } - - } // namespace unnamed - - class class_rep; - - class_registry::class_registry(lua_State* L) - : m_cpp_instance_metatable(create_cpp_instance_metatable(L)) - , m_cpp_class_metatable(create_cpp_class_metatable(L)) - , m_lua_instance_metatable(create_lua_instance_metatable(L)) - , m_lua_class_metatable(create_lua_class_metatable(L)) - , m_lua_function_metatable(create_lua_function_metatable(L)) - { - } - - class_registry* class_registry::get_registry(lua_State* L) - { - -#ifdef LUABIND_NOT_THREADSAFE - - // if we don't have to be thread safe, we can keep a - // chache of the class_registry pointer without the - // need of a mutex - static lua_State* cache_key = 0; - static class_registry* registry_cache = 0; - if (cache_key == L) return registry_cache; - -#endif - - lua_pushstring(L, "__luabind_classes"); - lua_gettable(L, LUA_REGISTRYINDEX); - class_registry* p = static_cast(lua_touserdata(L, -1)); - lua_pop(L, 1); - -#ifdef LUABIND_NOT_THREADSAFE - - cache_key = L; - registry_cache = p; - -#endif - - return p; - } - - void class_registry::add_class(LUABIND_TYPE_INFO info, class_rep* crep) - { - // class is already registered - assert((m_classes.find(info) == m_classes.end()) - && "you are trying to register a class twice"); - m_classes[info] = crep; - } - - class_rep* class_registry::find_class(LUABIND_TYPE_INFO info) const - { - std::map::const_iterator i( - m_classes.find(info)); - - if (i == m_classes.end()) return 0; // the type is not registered - return i->second; - } - -}} // namespace luabind::detail - diff --git a/external/sources/luabind-0.7.1/src/class_rep.cpp b/external/sources/luabind-0.7.1/src/class_rep.cpp deleted file mode 100755 index 86f5701e83..0000000000 --- a/external/sources/luabind-0.7.1/src/class_rep.cpp +++ /dev/null @@ -1,1647 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include - -using namespace luabind::detail; - -namespace luabind { namespace detail -{ - struct method_name - { - method_name(char const* n): name(n) {} - bool operator()(method_rep const& o) const - { return std::strcmp(o.name, name) == 0; } - char const* name; - }; -}} - - -#ifndef LUABIND_NO_ERROR_CHECKING - - std::string luabind::detail::get_overload_signatures_candidates( - lua_State* L - , std::vector::iterator start - , std::vector::iterator end - , std::string name) - { - std::string s; - for (; start != end; ++start) - { - s += name; - (*start)->get_signature(L, s); - s += "\n"; - } - return s; - } - -#endif - - -luabind::detail::class_rep::class_rep(LUABIND_TYPE_INFO type - , const char* name - , lua_State* L - , void(*destructor)(void*) - , void(*const_holder_destructor)(void*) - , LUABIND_TYPE_INFO holder_type - , LUABIND_TYPE_INFO const_holder_type - , void*(*extractor)(void*) - , const void*(*const_extractor)(void*) - , void(*const_converter)(void*,void*) - , void(*construct_holder)(void*,void*) - , void(*construct_const_holder)(void*,void*) - , void(*default_construct_holder)(void*) - , void(*default_construct_const_holder)(void*) - , void(*adopt_fun)(void*) - , int holder_size - , int holder_alignment) - - : m_type(type) - , m_holder_type(holder_type) - , m_const_holder_type(const_holder_type) - , m_extractor(extractor) - , m_const_extractor(const_extractor) - , m_const_converter(const_converter) - , m_construct_holder(construct_holder) - , m_construct_const_holder(construct_const_holder) - , m_default_construct_holder(default_construct_holder) - , m_default_construct_const_holder(default_construct_const_holder) - , m_adopt_fun(adopt_fun) - , m_holder_size(holder_size) - , m_holder_alignment(holder_alignment) - , m_name(name) - , m_class_type(cpp_class) - , m_destructor(destructor) - , m_const_holder_destructor(const_holder_destructor) - , m_operator_cache(0) -{ - assert(m_holder_alignment >= 1 && "internal error"); - - lua_newtable(L); - handle(L, -1).swap(m_table); - lua_newtable(L); - handle(L, -1).swap(m_default_table); - lua_pop(L, 2); - - class_registry* r = class_registry::get_registry(L); - assert((r->cpp_class() != LUA_NOREF) && "you must call luabind::open()"); - - detail::getref(L, r->cpp_class()); - lua_setmetatable(L, -2); - - lua_pushvalue(L, -1); // duplicate our user data - m_self_ref.set(L); - - m_instance_metatable = r->cpp_instance(); -} - -luabind::detail::class_rep::class_rep(lua_State* L, const char* name) - : m_type(LUABIND_INVALID_TYPE_INFO) - , m_holder_type(LUABIND_INVALID_TYPE_INFO) - , m_const_holder_type(LUABIND_INVALID_TYPE_INFO) - , m_extractor(0) - , m_const_extractor(0) - , m_const_converter(0) - , m_construct_holder(0) - , m_construct_const_holder(0) - , m_default_construct_holder(0) - , m_default_construct_const_holder(0) - , m_adopt_fun(0) - , m_holder_size(0) - , m_holder_alignment(1) - , m_name(name) - , m_class_type(lua_class) - , m_destructor(0) - , m_const_holder_destructor(0) - , m_operator_cache(0) -{ - lua_newtable(L); - handle(L, -1).swap(m_table); - lua_newtable(L); - handle(L, -1).swap(m_default_table); - lua_pop(L, 2); - - class_registry* r = class_registry::get_registry(L); - assert((r->cpp_class() != LUA_NOREF) && "you must call luabind::open()"); - - detail::getref(L, r->lua_class()); - lua_setmetatable(L, -2); - lua_pushvalue(L, -1); // duplicate our user data - m_self_ref.set(L); - - m_instance_metatable = r->lua_instance(); -} - -luabind::detail::class_rep::~class_rep() -{ -} - -// leaves object on lua stack -std::pair -luabind::detail::class_rep::allocate(lua_State* L) const -{ - const int overlap = sizeof(object_rep)&(m_holder_alignment-1); - const int padding = overlap==0?0:m_holder_alignment-overlap; - const int size = sizeof(object_rep) + padding + m_holder_size; - - char* mem = static_cast(lua_newuserdata(L, size)); - char* ptr = mem + sizeof(object_rep) + padding; - - return std::pair(mem,ptr); -} - -void luabind::detail::class_rep::adopt(bool const_obj, void* obj) -{ - if (m_adopt_fun == 0) return; - - if (m_extractor) - { - assert(m_const_extractor); - if (const_obj) - m_adopt_fun(const_cast(m_const_extractor(obj))); - else - m_adopt_fun(m_extractor(obj)); - } - else - { - m_adopt_fun(obj); - } -} - -// lua stack: userdata, key -int luabind::detail::class_rep::gettable(lua_State* L) -{ - // if key is nil, return nil - if (lua_isnil(L, 2)) - { - lua_pushnil(L); - return 1; - } - - object_rep* obj = static_cast(lua_touserdata(L, 1)); - - // we have to ignore the first argument since this may point to - // a method that is not present in this class (but in a subclass) - const char* key = lua_tostring(L, 2); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (std::strlen(key) != lua_strlen(L, 2)) - { - { - std::string msg("luabind does not support " - "member names with extra nulls:\n"); - msg += std::string(lua_tostring(L, 2), lua_strlen(L, 2)); - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - -#endif - - // special case to see if this is a null-pointer - if (key && !std::strcmp(key, "__ok")) - { - class_rep* crep = obj->crep(); - - void* p = crep->extractor() ? crep->extractor()(obj->ptr()) - : obj->ptr(); - - lua_pushboolean(L, p != 0); - return 1; - } - -// First, look in the instance's table - detail::lua_reference const& tbl = obj->get_lua_table(); - if (tbl.is_valid()) - { - tbl.get(L); - lua_pushvalue(L, 2); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) - { - lua_remove(L, -2); // remove table - return 1; - } - lua_pop(L, 2); - } - -// Then look in the class' table for this member - obj->crep()->get_table(L); - lua_pushvalue(L, 2); - lua_gettable(L, -2); - - if (!lua_isnil(L, -1)) - { - lua_remove(L, -2); // remove table - return 1; - } - lua_pop(L, 2); - - std::map::iterator j = m_getters.find(key); - if (j != m_getters.end()) - { - // the name is a data member - return j->second.func(L, j->second.pointer_offset); - } - - lua_pushnil(L); - return 1; -} - -// called from the metamethod for __newindex -// the object pointer is passed on the lua stack -// lua stack: userdata, key, value -bool luabind::detail::class_rep::settable(lua_State* L) -{ - // if the key is 'nil' fail - if (lua_isnil(L, 2)) return false; - - // we have to ignore the first argument since this may point to - // a method that is not present in this class (but in a subclass) - - const char* key = lua_tostring(L, 2); - - if (std::strlen(key) == lua_strlen(L, 2)) - { - std::map::iterator j = m_setters.find(key); - if (j != m_setters.end()) - { - // the name is a data member -#ifndef LUABIND_NO_ERROR_CHECKING - if (j->second.match(L, 3) < 0) - { - std::string msg("the attribute '"); - msg += m_name; - msg += "."; - msg += key; - msg += "' is of type: "; - j->second.sig(L, msg); - msg += "\nand does not match: ("; - msg += stack_content_by_name(L, 3); - msg += ")"; - lua_pushstring(L, msg.c_str()); - return false; - } -#endif - j->second.func(L, j->second.pointer_offset); - return true; - } - - if (m_getters.find(key) != m_getters.end()) - { - // this means that we have a getter but no - // setter for an attribute. We will then fail - // because that attribute is read-only - std::string msg("the attribute '"); - msg += m_name; - msg += "."; - msg += key; - msg += "' is read only"; - lua_pushstring(L, msg.c_str()); - return false; - } - } - - // set the attribute to the object's table - object_rep* obj = static_cast(lua_touserdata(L, 1)); - detail::lua_reference& tbl = obj->get_lua_table(); - if (!tbl.is_valid()) - { - // this is the first time we are trying to add - // a member to this instance, create the table. - lua_newtable(L); - lua_pushvalue(L, -1); - tbl.set(L); - } - else - { - tbl.get(L); - } - lua_pushvalue(L, 2); - lua_pushvalue(L, 3); - lua_settable(L, 4); - lua_pop(L, 3); - return true; -} - -int class_rep::gettable_dispatcher(lua_State* L) -{ - object_rep* obj = static_cast(lua_touserdata(L, 1)); - return obj->crep()->gettable(L); -} - -// this is called as __newindex metamethod on every instance of this class -int luabind::detail::class_rep::settable_dispatcher(lua_State* L) -{ - object_rep* obj = static_cast(lua_touserdata(L, 1)); - - bool success = obj->crep()->settable(L); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (!success) - { - // class_rep::settable() will leave - // error message on the stack in case - // of failure - lua_error(L); - } - -#endif - - return 0; -} - - -int luabind::detail::class_rep::operator_dispatcher(lua_State* L) -{ - for (int i = 0; i < 2; ++i) - { - if (is_class_object(L, 1 + i)) - { - int nargs = lua_gettop(L); - - lua_pushvalue(L, lua_upvalueindex(1)); - lua_gettable(L, 1 + i); - - if (lua_isnil(L, -1)) - { - lua_pop(L, 1); - continue; - } - - lua_insert(L, 1); // move the function to the bottom - - nargs = lua_toboolean(L, lua_upvalueindex(2)) ? 1 : nargs; - - if (lua_toboolean(L, lua_upvalueindex(2))) // remove trailing nil - lua_remove(L, 3); - - lua_call(L, nargs, 1); - return 1; - } - } - - lua_pop(L, lua_gettop(L)); - lua_pushstring(L, "No such operator defined"); - lua_error(L); - - return 0; -} - -// this is called as metamethod __call on the class_rep. -int luabind::detail::class_rep::constructor_dispatcher(lua_State* L) -{ - class_rep* crep = static_cast(lua_touserdata(L, 1)); - construct_rep* rep = &crep->m_constructor; - - bool ambiguous = false; - int match_index = -1; - int min_match = std::numeric_limits::max(); - bool found; - -#ifdef LUABIND_NO_ERROR_CHECKING - - if (rep->overloads.size() == 1) - { - match_index = 0; - found = true; - } - else - { - -#endif - - int num_params = lua_gettop(L) - 1; - overload_rep_base const* first = - rep->overloads.empty() ? 0 : &rep->overloads.front(); - found = find_best_match(L, first, rep->overloads.size(), sizeof(construct_rep::overload_t), ambiguous, min_match, match_index, num_params); - -#ifdef LUABIND_NO_ERROR_CHECKING - } - -#else - - if (!found) - { - { - std::string msg("no constructor of '"); - msg += crep->name(); - msg += "' matched the arguments ("; - msg += stack_content_by_name(L, 2); - msg += ")\n candidates are:\n"; - - msg += get_overload_signatures(L, rep->overloads.begin(), rep->overloads.end(), crep->name()); - - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - else if (ambiguous) - { - { - std::string msg("call of overloaded constructor '"); - msg += crep->m_name; - msg += "("; - msg += stack_content_by_name(L, 2); - msg += ")' is ambiguous\nnone of the overloads have a best conversion:\n"; - - std::vector candidates; - find_exact_match(L, &rep->overloads.front(), rep->overloads.size(), sizeof(construct_rep::overload_t), min_match, num_params, candidates); - msg += get_overload_signatures_candidates(L, candidates.begin(), candidates.end(), crep->name()); - - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - -#endif - -#ifndef LUABIND_NO_EXCEPTIONS - - try - { - -#endif - void* obj_rep; - void* held; - - boost::tie(obj_rep,held) = crep->allocate(L); - - weak_ref backref(L, -1); - - void* object_ptr = rep->overloads[match_index].construct(L, backref); - - if (crep->has_holder()) - { - crep->m_construct_holder(held, object_ptr); - object_ptr = held; - } - new(obj_rep) object_rep(object_ptr, crep, object_rep::owner, crep->destructor()); - - detail::getref(L, crep->m_instance_metatable); - lua_setmetatable(L, -2); - return 1; - -#ifndef LUABIND_NO_EXCEPTIONS - - } - - catch(const error&) - { - } - catch(const std::exception& e) - { - lua_pushstring(L, e.what()); - } - catch(const char* s) - { - lua_pushstring(L, s); - } - catch(...) - { - { - std::string msg = crep->name(); - msg += "() threw an exception"; - lua_pushstring(L, msg.c_str()); - } - } - - // we can only reach this line if an exception was thrown - lua_error(L); - return 0; // will never be reached - -#endif - -} - -/* - the functions dispatcher assumes the following: - - upvalues: - 1: method_rep* method, points to the method_rep that this dispatcher is to call - 2: boolean force_static, is true if this is to be a static call - and false if it is a normal call (= virtual if possible). - - stack: - 1: object_rep* self, points to the object the call is being made on -*/ - -int luabind::detail::class_rep::function_dispatcher(lua_State* L) -{ -#ifndef NDEBUG - -/* lua_Debug tmp_; - assert(lua_getinfo(L, "u", &tmp_)); - assert(tmp_.nups == 2);*/ - assert(lua_type(L, lua_upvalueindex(1)) == LUA_TLIGHTUSERDATA); - assert(lua_type(L, lua_upvalueindex(2)) == LUA_TBOOLEAN); - assert(lua_type(L, lua_upvalueindex(3)) == LUA_TLIGHTUSERDATA); - assert(lua_touserdata(L, lua_upvalueindex(3)) == reinterpret_cast(0x1337)); - - - -// assert(lua_type(L, 1) == LUA_TUSERDATA); - -#endif - - method_rep* rep = static_cast(lua_touserdata(L, lua_upvalueindex(1))); - int force_static_call = lua_toboolean(L, lua_upvalueindex(2)); - - bool ambiguous = false; - int match_index = -1; - int min_match = std::numeric_limits::max(); - bool found; - -#ifdef LUABIND_NO_ERROR_CHECKING - if (rep->overloads().size() == 1) - { - match_index = 0; - } - else - { -#endif - - int num_params = lua_gettop(L) /*- 1*/; - found = find_best_match(L, &rep->overloads().front(), rep->overloads().size() - , sizeof(overload_rep), ambiguous, min_match, match_index, num_params); - -#ifdef LUABIND_NO_ERROR_CHECKING - - } - -#else - - if (!found) - { - { - std::string msg = "no overload of '"; - msg += rep->crep->name(); - msg += ":"; - msg += rep->name; - msg += "' matched the arguments ("; - msg += stack_content_by_name(L, 1); - msg += ")\ncandidates are:\n"; - - std::string function_name; - function_name += rep->crep->name(); - function_name += ":"; - function_name += rep->name; - - msg += get_overload_signatures(L, rep->overloads().begin() - , rep->overloads().end(), function_name); - - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - else if (ambiguous) - { - { - std::string msg = "call of overloaded '"; - msg += rep->crep->name(); - msg += ":"; - msg += rep->name; - msg += "("; - msg += stack_content_by_name(L, 1); - msg += ")' is ambiguous\nnone of the overloads have a best conversion:\n"; - - std::vector candidates; - find_exact_match(L, &rep->overloads().front(), rep->overloads().size() - , sizeof(overload_rep), min_match, num_params, candidates); - - std::string function_name; - function_name += rep->crep->name(); - function_name += ":"; - function_name += rep->name; - - msg += get_overload_signatures_candidates(L, candidates.begin() - , candidates.end(), function_name); - - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - -#endif - -#ifndef LUABIND_NO_EXCEPTIONS - - try - { - -#endif - - const overload_rep& o = rep->overloads()[match_index]; - - if (force_static_call && !o.has_static()) - { - lua_pushstring(L, "pure virtual function called"); - } - else - { - return o.call(L, force_static_call != 0); - } - -#ifndef LUABIND_NO_EXCEPTIONS - - } - catch(const error&) - { - } - catch(const std::exception& e) - { - lua_pushstring(L, e.what()); - } - catch (const char* s) - { - lua_pushstring(L, s); - } - catch(...) - { - std::string msg = rep->crep->name(); - msg += ":"; - msg += rep->name; - msg += "() threw an exception"; - lua_pushstring(L, msg.c_str()); - } - -#endif - - // we can only reach this line if an error occured - lua_error(L); - return 0; // will never be reached -} - -#ifndef NDEBUG - -#ifndef BOOST_NO_STRINGSTREAM -#include -#else -#include -#endif - -namespace -{ - std::string to_string(luabind::object const& o) - { - using namespace luabind; - if (type(o) == LUA_TSTRING) return object_cast(o); - lua_State* L = o.interpreter(); - LUABIND_CHECK_STACK(L); - -#ifdef BOOST_NO_STRINGSTREAM - std::strstream s; -#else - std::stringstream s; -#endif - - if (type(o) == LUA_TNUMBER) - { - s << object_cast(o); - return s.str(); - } - - s << "<" << lua_typename(L, type(o)) << ">"; -#ifdef BOOST_NO_STRINGSTREAM - s << std::ends; -#endif - return s.str(); - } - - - std::string member_to_string(luabind::object const& e) - { -#if !defined(LUABIND_NO_ERROR_CHECKING) - using namespace luabind; - lua_State* L = e.interpreter(); - LUABIND_CHECK_STACK(L); - - if (type(e) == LUA_TFUNCTION) - { - e.push(L); - detail::stack_pop p(L, 1); - - { - if (lua_getupvalue(L, -1, 3) == 0) return to_string(e); - detail::stack_pop p2(L, 1); - if (lua_touserdata(L, -1) != reinterpret_cast(0x1337)) return to_string(e); - } - -#ifdef BOOST_NO_STRINGSTREAM - std::strstream s; -#else - std::stringstream s; -#endif - { - lua_getupvalue(L, -1, 2); - detail::stack_pop p2(L, 1); - int b = lua_toboolean(L, -1); - s << " "; - } - - { - lua_getupvalue(L, -1, 1); - detail::stack_pop p2(L, 1); - method_rep* m = static_cast(lua_touserdata(L, -1)); - s << m << "\n"; - for (std::vector::const_iterator i = m->overloads().begin(); - i != m->overloads().end(); ++i) - { - std::string str; - i->get_signature(L, str); - s << " " << str << "\n"; - } - } -#ifdef BOOST_NO_STRINGSTREAM - s << std::ends; -#endif - return s.str(); - } - - return to_string(e); -#else - return ""; -#endif - } -} - -std::string luabind::detail::class_rep::class_info_string(lua_State* L) const -{ -#ifdef BOOST_NO_STRINGSTREAM - std::strstream ret; -#else - std::stringstream ret; -#endif - - ret << "CLASS: " << m_name << "\n"; - - ret << "dynamic dispatch functions:\n------------------\n"; - - for (luabind::iterator i(m_table), end; i != end; ++i) - { - luabind::object e = *i; - ret << " " << to_string(i.key()) << ": " << member_to_string(e) << "\n"; - } - - ret << "default implementations:\n------------------\n"; - - for (luabind::iterator i(m_default_table), end; i != end; ++i) - { - luabind::object e = *i; - ret << " " << to_string(i.key()) << ": " << member_to_string(e) << "\n"; - } -#ifdef BOOST_NO_STRINGSTREAM - ret << std::ends; -#endif - return ret.str(); -} -#endif - -void luabind::detail::class_rep::add_base_class(const luabind::detail::class_rep::base_info& binfo) -{ - // If you hit this assert you are deriving from a type that is not registered - // in lua. That is, in the class_<> you are giving a baseclass that isn't registered. - // Please note that if you don't need to have access to the base class or the - // conversion from the derived class to the base class, you don't need - // to tell luabind that it derives. - assert(binfo.base && "You cannot derive from an unregistered type"); - - class_rep* bcrep = binfo.base; - - // import all functions from the base - typedef std::list methods_t; - - for (methods_t::const_iterator i = bcrep->m_methods.begin(); - i != bcrep->m_methods.end(); ++i) - { - add_method(*i); - } - - // import all getters from the base - for (std::map::const_iterator i = bcrep->m_getters.begin(); - i != bcrep->m_getters.end(); ++i) - { - callback& m = m_getters[i->first]; - m.pointer_offset = i->second.pointer_offset + binfo.pointer_offset; - m.func = i->second.func; - -#ifndef LUABIND_NO_ERROR_CHECKING - m.match = i->second.match; - m.sig = i->second.sig; -#endif - } - - // import all setters from the base - for (std::map::const_iterator i = bcrep->m_setters.begin(); - i != bcrep->m_setters.end(); ++i) - { - callback& m = m_setters[i->first]; - m.pointer_offset = i->second.pointer_offset + binfo.pointer_offset; - m.func = i->second.func; - -#ifndef LUABIND_NO_ERROR_CHECKING - m.match = i->second.match; - m.sig = i->second.sig; -#endif - } - - // import all static constants - for (std::map::const_iterator i = bcrep->m_static_constants.begin(); - i != bcrep->m_static_constants.end(); ++i) - { - int& v = m_static_constants[i->first]; - v = i->second; - } - - // import all operators - for (int i = 0; i < number_of_operators; ++i) - { - for (std::vector::const_iterator j = bcrep->m_operators[i].begin(); - j != bcrep->m_operators[i].end(); ++j) - m_operators[i].push_back(*j); - } - - // also, save the baseclass info to be used for typecasts - m_bases.push_back(binfo); -} - -int luabind::detail::class_rep::super_callback(lua_State* L) -{ - int args = lua_gettop(L); - - object_rep* obj = static_cast(lua_touserdata(L, lua_upvalueindex(2))); - class_rep* crep = static_cast(lua_touserdata(L, lua_upvalueindex(1))); - class_rep* base = crep->bases()[0].base; - - if (base->get_class_type() == class_rep::lua_class) - { - if (base->bases().empty()) - { - obj->set_flags(obj->flags() & ~object_rep::call_super); - - lua_pushstring(L, "super"); - lua_pushnil(L); - lua_settable(L, LUA_GLOBALSINDEX); - } - else - { - lua_pushstring(L, "super"); - lua_pushlightuserdata(L, base); - lua_pushvalue(L, lua_upvalueindex(2)); - lua_pushcclosure(L, super_callback, 2); - lua_settable(L, LUA_GLOBALSINDEX); - } - - base->get_table(L); - lua_pushstring(L, "__init"); - lua_gettable(L, -2); - lua_insert(L, 1); - lua_pop(L, 1); - - lua_pushvalue(L, lua_upvalueindex(2)); - lua_insert(L, 2); - - lua_call(L, args + 1, 0); - - // TODO: instead of clearing the global variable "super" - // store it temporarily in the registry. maybe we should - // have some kind of warning if the super global is used? - lua_pushstring(L, "super"); - lua_pushnil(L); - lua_settable(L, LUA_GLOBALSINDEX); - } - else - { - obj->set_flags(obj->flags() & ~object_rep::call_super); - - // we need to push some garbage at index 1 to make the construction work - lua_pushboolean(L, 1); - lua_insert(L, 1); - - construct_rep* rep = &base->m_constructor; - - bool ambiguous = false; - int match_index = -1; - int min_match = std::numeric_limits::max(); - bool found; - -#ifdef LUABIND_NO_ERROR_CHECKING - - if (rep->overloads.size() == 1) - { - match_index = 0; - } - else - { - -#endif - - int num_params = lua_gettop(L) - 1; - found = find_best_match(L, &rep->overloads.front(), rep->overloads.size(), sizeof(construct_rep::overload_t), ambiguous, min_match, match_index, num_params); - -#ifdef LUABIND_NO_ERROR_CHECKING - - } - -#else - - if (!found) - { - { - std::string msg = "no constructor of '"; - msg += base->m_name; - msg += "' matched the arguments ("; - msg += stack_content_by_name(L, 2); - msg += ")"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - else if (ambiguous) - { - { - std::string msg = "call of overloaded constructor '"; - msg += base->m_name; - msg += "("; - msg += stack_content_by_name(L, 2); - msg += ")' is ambiguous"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - - // TODO: should this be a warning or something? -/* - // since the derived class is a lua class - // it may have reimplemented virtual functions - // therefore, we have to instantiate the Basewrapper - // if there is no basewrapper, throw a run-time error - if (!rep->overloads[match_index].has_wrapped_construct()) - { - { - std::string msg = "Cannot derive from C++ class '"; - msg += base->name(); - msg += "'. It does not have a wrapped type"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } -*/ -#endif - -#ifndef LUABIND_NO_EXCEPTIONS - - try - { - -#endif - lua_pushvalue(L, lua_upvalueindex(2)); - weak_ref backref(L, -1); - lua_pop(L, 1); - - void* storage_ptr = obj->ptr(); - - if (!rep->overloads[match_index].has_wrapped_construct()) - { - // if the type doesn't have a wrapped type, use the ordinary constructor - void* instance = rep->overloads[match_index].construct(L, backref); - - if (crep->has_holder()) - { - crep->m_construct_holder(storage_ptr, instance); - } - else - { - obj->set_object(instance); - } - } - else - { - // get reference to lua object -/* lua_pushvalue(L, lua_upvalueindex(2)); - detail::lua_reference ref; - ref.set(L); - void* instance = rep->overloads[match_index].construct_wrapped(L, ref);*/ - - void* instance = rep->overloads[match_index].construct_wrapped(L, backref); - - if (crep->has_holder()) - { - crep->m_construct_holder(storage_ptr, instance); - } - else - { - obj->set_object(instance); - } - } - // TODO: is the wrapped type destructed correctly? - // it should, since the destructor is either the wrapped type's - // destructor or the base type's destructor, depending on wether - // the type has a wrapped type or not. - obj->set_destructor(base->destructor()); - return 0; - -#ifndef LUABIND_NO_EXCEPTIONS - - } - catch(const error&) - { - } - catch(const std::exception& e) - { - lua_pushstring(L, e.what()); - } - catch(const char* s) - { - lua_pushstring(L, s); - } - catch(...) - { - std::string msg = base->m_name; - msg += "() threw an exception"; - lua_pushstring(L, msg.c_str()); - } - // can only be reached if an exception was thrown - lua_error(L); -#endif - } - - return 0; - -} - - - -int luabind::detail::class_rep::lua_settable_dispatcher(lua_State* L) -{ - class_rep* crep = static_cast(lua_touserdata(L, 1)); - - // get first table - crep->get_table(L); - - // copy key, value - lua_pushvalue(L, -3); - lua_pushvalue(L, -3); - lua_rawset(L, -3); - // pop table - lua_pop(L, 1); - - // get default table - crep->get_default_table(L); - lua_replace(L, 1); - lua_rawset(L, -3); - - crep->m_operator_cache = 0; // invalidate cache - - return 0; -} - -int luabind::detail::class_rep::construct_lua_class_callback(lua_State* L) -{ - class_rep* crep = static_cast(lua_touserdata(L, 1)); - - int args = lua_gettop(L); - - // lua stack: crep - - lua_newtable(L); - detail::lua_reference ref; - ref.set(L); - - bool has_bases = !crep->bases().empty(); - - if (has_bases) - { - lua_pushstring(L, "super"); - lua_pushvalue(L, 1); // crep - } - - // lua stack: crep "super" crep - // or - // lua stack: crep - - // if we have a baseclass we set the flag to say that the super has not yet been called - // we will use this flag later to check that it actually was called from __init() - int flags = object_rep::lua_class | object_rep::owner | (has_bases ? object_rep::call_super : 0); - -// void* obj_ptr = lua_newuserdata(L, sizeof(object_rep)); - void* obj_ptr; - void* held_storage; - - boost::tie(obj_ptr, held_storage) = crep->allocate(L); - (new(obj_ptr) object_rep(crep, flags, ref))->set_object(held_storage); - - detail::getref(L, crep->metatable_ref()); - lua_setmetatable(L, -2); - - // lua stack: crep "super" crep obj_ptr - // or - // lua stack: crep obj_ptr - - if (has_bases) lua_pushvalue(L, -1); // obj_ptr - lua_replace(L, 1); // obj_ptr - - // lua stack: obj_ptr "super" crep obj_ptr - // or - // lua stack: obj_ptr - - if (has_bases) - { - lua_pushcclosure(L, super_callback, 2); - // lua stack: crep "super" function - lua_settable(L, LUA_GLOBALSINDEX); - } - - // lua stack: crep - - lua_pushvalue(L, 1); - lua_insert(L, 1); - - crep->get_table(L); - lua_pushstring(L, "__init"); - lua_gettable(L, -2); - -#ifndef LUABIND_NO_ERROR_CHECKING - - // TODO: should this be a run-time error? - // maybe the default behavior should be to just call - // the base calss' constructor. We should register - // the super callback funktion as __init - if (!lua_isfunction(L, -1)) - { - { - std::string msg = crep->name(); - msg += ":__init is not defined"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - -#endif - - lua_insert(L, 2); // function first on stack - lua_pop(L, 1); - // TODO: lua_call may invoke longjump! make sure we don't have any memory leaks! - // we don't have any stack objects here - lua_call(L, args, 0); - -#ifndef LUABIND_NO_ERROR_CHECKING - - object_rep* obj = static_cast(obj_ptr); - if (obj->flags() & object_rep::call_super) - { - lua_pushstring(L, "derived class must call super on base"); - lua_error(L); - } - -#endif - - return 1; -} - -// called from the metamethod for __index -// obj is the object pointer -int luabind::detail::class_rep::lua_class_gettable(lua_State* L) -{ - object_rep* obj = static_cast(lua_touserdata(L, 1)); - class_rep* crep = obj->crep(); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (obj->flags() & object_rep::call_super) - { - lua_pushstring(L, "derived class must call super on base"); - lua_error(L); - } - -#endif - - // we have to ignore the first argument since this may point to - // a method that is not present in this class (but in a subclass) - - // BUG: This might catch members called "__ok\0foobar" - const char* key = lua_tostring(L, 2); - - if (key && !std::strcmp(key, "__ok")) - { - class_rep* crep = obj->crep(); - - void* p = crep->extractor() ? crep->extractor()(obj->ptr()) - : obj->ptr(); - - lua_pushboolean(L, p != 0); - return 1; - } - - // first look in the instance's table - detail::lua_reference const& tbl = obj->get_lua_table(); - assert(tbl.is_valid()); - tbl.get(L); - lua_pushvalue(L, 2); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) - { - lua_remove(L, -2); // remove table - return 1; - } - lua_pop(L, 2); - - // then look in the class' table - crep->get_table(L); - lua_pushvalue(L, 2); - lua_gettable(L, -2); - - if (!lua_isnil(L, -1)) - { - lua_remove(L, -2); // more table - return 1; - } - - lua_pop(L, 2); - - if (lua_isnil(L, 2)) - { - lua_pushnil(L); - return 1; - } - - std::map::iterator j = crep->m_getters.find(key); - if (j != crep->m_getters.end()) - { - // the name is a data member - return j->second.func(L, j->second.pointer_offset); - } - - lua_pushnil(L); - return 1; -} - -// called from the metamethod for __newindex -// obj is the object pointer -int luabind::detail::class_rep::lua_class_settable(lua_State* L) -{ - object_rep* obj = static_cast(lua_touserdata(L, 1)); - class_rep* crep = obj->crep(); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (obj->flags() & object_rep::call_super) - { - // this block makes sure the std::string is destructed - // before lua_error is called - { - std::string msg = "derived class '"; - msg += crep->name(); - msg += "'must call super on base"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - -#endif - - // we have to ignore the first argument since this may point to - // a method that is not present in this class (but in a subclass) - // BUG: This will not work with keys with extra nulls in them - const char* key = lua_tostring(L, 2); - - - std::map::iterator j = crep->m_setters.find(key); - - // if the strlen(key) is not the true length, - // it means that the member-name contains - // extra nulls. luabind does not support such - // names as member names. So, use the lua - // table as fall-back - if (j == crep->m_setters.end() - || std::strlen(key) != lua_strlen(L, 2)) - { - std::map::iterator k = crep->m_getters.find(key); - -#ifndef LUABIND_NO_ERROR_CHECKING - - if (k != crep->m_getters.end()) - { - { - std::string msg = "cannot set property '"; - msg += crep->name(); - msg += "."; - msg += key; - msg += "', because it's read only"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } - -#endif - - detail::lua_reference const& tbl = obj->get_lua_table(); - assert(tbl.is_valid()); - tbl.get(L); - lua_replace(L, 1); - lua_settable(L, 1); - } - else - { - // the name is a data member - j->second.func(L, j->second.pointer_offset); - } - - return 0; -} - -/* - stack: - 1: class_rep - 2: member name -*/ -int luabind::detail::class_rep::static_class_gettable(lua_State* L) -{ - class_rep* crep = static_cast(lua_touserdata(L, 1)); - - // look in the static function table - crep->get_default_table(L); - lua_pushvalue(L, 2); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) return 1; - else lua_pop(L, 2); - - const char* key = lua_tostring(L, 2); - - if (std::strlen(key) != lua_strlen(L, 2)) - { - lua_pushnil(L); - return 1; - } - - std::map::const_iterator j = crep->m_static_constants.find(key); - - if (j != crep->m_static_constants.end()) - { - lua_pushnumber(L, j->second); - return 1; - } - -#ifndef LUABIND_NO_ERROR_CHECKING - - { - std::string msg = "no static '"; - msg += key; - msg += "' in class '"; - msg += crep->name(); - msg += "'"; - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - -#endif - - lua_pushnil(L); - - return 1; -} - -bool luabind::detail::is_class_rep(lua_State* L, int index) -{ - if (lua_getmetatable(L, index) == 0) return false; - - lua_pushstring(L, "__luabind_classrep"); - lua_gettable(L, -2); - if (lua_toboolean(L, -1)) - { - lua_pop(L, 2); - return true; - } - - lua_pop(L, 2); - return false; -} - -void luabind::detail::finalize(lua_State* L, class_rep* crep) -{ - if (crep->get_class_type() != class_rep::lua_class) return; - -// lua_pushvalue(L, -1); // copy the object ref - crep->get_table(L); - lua_pushstring(L, "__finalize"); - lua_gettable(L, -2); - lua_remove(L, -2); - - if (lua_isnil(L, -1)) - { - lua_pop(L, 1); - } - else - { - lua_pushvalue(L, -2); - lua_call(L, 1, 0); - } - - for (std::vector::const_iterator - i = crep->bases().begin(); i != crep->bases().end(); ++i) - { - if (i->base) finalize(L, i->base); - } -} - -void* luabind::detail::class_rep::convert_to( - LUABIND_TYPE_INFO target_type - , const object_rep* obj - , void* target_memory) const -{ - // TODO: since this is a member function, we don't have to use the accesor functions for - // the types and the extractor - - assert(obj == 0 || obj->crep() == this); - - int steps = 0; - int offset = 0; - if (!(LUABIND_TYPE_INFO_EQUAL(holder_type(), target_type)) - && !(LUABIND_TYPE_INFO_EQUAL(const_holder_type(), target_type))) - { - steps = implicit_cast(this, target_type, offset); - } - - // should never be called with a type that can't be cast - assert((steps >= 0) && "internal error, please report"); - - if (LUABIND_TYPE_INFO_EQUAL(target_type, holder_type())) - { - if (obj == 0) - { - // we are trying to convert nil to a holder type - m_default_construct_holder(target_memory); - return target_memory; - } - // if the type we are trying to convert to is the holder_type - // it means that his crep has a holder_type (since it would have - // been invalid otherwise, and T cannot be invalid). It also means - // that we need no conversion, since the holder_type is what the - // object points to. - return obj->ptr(); - } - - if (LUABIND_TYPE_INFO_EQUAL(target_type, const_holder_type())) - { - if (obj == 0) - { - // we are trying to convert nil to a const holder type - m_default_construct_const_holder(target_memory); - return target_memory; - } - - if (obj->flags() & object_rep::constant) - { - // we are holding a constant - return obj->ptr(); - } - else - { - // we are holding a non-constant, we need to convert it - // to a const_holder. - m_const_converter(obj->ptr(), target_memory); - return target_memory; - } - } - - void* raw_pointer; - - if (has_holder()) - { - assert(obj); - // this means that we have a holder type where the - // raw-pointer needs to be extracted - raw_pointer = extractor()(obj->ptr()); - } - else - { - if (obj == 0) raw_pointer = 0; - else raw_pointer = obj->ptr(); - } - - return static_cast(raw_pointer) + offset; -} - -void luabind::detail::class_rep::cache_operators(lua_State* L) -{ - m_operator_cache = 0x1; - - for (int i = 0; i < number_of_operators; ++i) - { - get_table(L); - lua_pushstring(L, get_operator_name(i)); - lua_rawget(L, -2); - - if (lua_isfunction(L, -1)) m_operator_cache |= 1 << (i + 1); - - lua_pop(L, 2); - } -} - -bool luabind::detail::class_rep::has_operator_in_lua(lua_State* L, int id) -{ - if ((m_operator_cache & 0x1) == 0) - cache_operators(L); - - const int mask = 1 << (id + 1); - - return (m_operator_cache & mask) != 0; -} - - -// this will merge all overloads of fun into the list of -// overloads in this class -void luabind::detail::class_rep::add_method(luabind::detail::method_rep const& fun) -{ - typedef std::list methods_t; - - methods_t::iterator m = std::find_if( - m_methods.begin() - , m_methods.end() - , method_name(fun.name)); - if (m == m_methods.end()) - { - m_methods.push_back(method_rep()); - m = m_methods.end(); - std::advance(m, -1); - m->name = fun.name; - } - m->crep = this; - - typedef std::vector overloads_t; - - for (overloads_t::const_iterator j = fun.overloads().begin(); - j != fun.overloads().end(); ++j) - { - detail::overload_rep o = *j; - m->add_overload(o); - } -} - -// this function will add all the overloads in method rep to -// this class' lua tables. If there already are overloads with this -// name, thses will simply be appended to the overload list -void luabind::detail::class_rep::register_methods(lua_State* L) -{ - LUABIND_CHECK_STACK(L); - // insert the function in the normal member table - // and in the default member table - m_default_table.push(L); - m_table.push(L); - - // pops the tables - detail::stack_pop pop_tables(L, 2); - - for (std::list::const_iterator m = m_methods.begin(); - m != m_methods.end(); ++m) - { - // create the function closure in m_table - lua_pushstring(L, m->name); - lua_pushlightuserdata(L, const_cast((const void*)&(*m))); - lua_pushboolean(L, 0); - lua_pushlightuserdata(L, reinterpret_cast(0x1337)); - lua_pushcclosure(L, function_dispatcher, 3); - lua_settable(L, -3); - - // create the function closure in m_default_table - lua_pushstring(L, m->name); - lua_pushlightuserdata(L, const_cast((const void*)&(*m))); - lua_pushboolean(L, 1); - lua_pushlightuserdata(L, reinterpret_cast(0x1337)); - lua_pushcclosure(L, function_dispatcher, 3); - lua_settable(L, -4); - } -} - -const class_rep::property_map& luabind::detail::class_rep::properties() const -{ - return m_getters; -} - diff --git a/external/sources/luabind-0.7.1/src/create_class.cpp b/external/sources/luabind-0.7.1/src/create_class.cpp deleted file mode 100755 index 27657f4764..0000000000 --- a/external/sources/luabind-0.7.1/src/create_class.cpp +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include - -namespace luabind { namespace detail -{ - namespace - { - // expects two tables on the lua stack: - // 1: destination - // 2: source - void copy_member_table(lua_State* L) - { - lua_pushnil(L); - - while (lua_next(L, -2)) - { - lua_pushstring(L, "__init"); - if (lua_equal(L, -1, -3)) - { - lua_pop(L, 2); - continue; - } - else lua_pop(L, 1); // __init string - - lua_pushstring(L, "__finalize"); - if (lua_equal(L, -1, -3)) - { - lua_pop(L, 2); - continue; - } - else lua_pop(L, 1); // __finalize string - - lua_pushvalue(L, -2); // copy key - lua_insert(L, -2); - lua_settable(L, -5); - } - } - } - - - int create_class::stage2(lua_State* L) - { - class_rep* crep = static_cast(lua_touserdata(L, lua_upvalueindex(1))); - assert((crep != 0) && "internal error, please report"); - assert((is_class_rep(L, lua_upvalueindex(1))) && "internal error, please report"); - - #ifndef LUABIND_NO_ERROR_CHECKING - - if (!is_class_rep(L, 1)) - { - lua_pushstring(L, "expected class to derive from or a newline"); - lua_error(L); - } - - #endif - - class_rep* base = static_cast(lua_touserdata(L, 1)); - class_rep::base_info binfo; - - binfo.pointer_offset = 0; - binfo.base = base; - crep->add_base_class(binfo); - - // set holder size and alignment so that we can class_rep::allocate - // can return the correctly sized buffers - crep->derived_from(base); - - // copy base class members - - crep->get_table(L); - base->get_table(L); - copy_member_table(L); - - crep->get_default_table(L); - base->get_default_table(L); - copy_member_table(L); - - crep->set_type(base->type()); - - return 0; - } - - int create_class::stage1(lua_State* L) - { - - #ifndef LUABIND_NO_ERROR_CHECKING - - if (lua_gettop(L) != 1 || lua_type(L, 1) != LUA_TSTRING || lua_isnumber(L, 1)) - { - lua_pushstring(L, "invalid construct, expected class name"); - lua_error(L); - } - - if (std::strlen(lua_tostring(L, 1)) != lua_strlen(L, 1)) - { - lua_pushstring(L, "luabind does not support class names with extra nulls"); - lua_error(L); - } - - #endif - - const char* name = lua_tostring(L, 1); - - void* c = lua_newuserdata(L, sizeof(class_rep)); - new(c) class_rep(L, name); - - // make the class globally available - lua_pushstring(L, name); - lua_pushvalue(L, -2); - lua_settable(L, LUA_GLOBALSINDEX); - - // also add it to the closure as return value - lua_pushcclosure(L, &stage2, 1); - - return 1; - } - -}} - diff --git a/external/sources/luabind-0.7.1/src/error.cpp b/external/sources/luabind-0.7.1/src/error.cpp deleted file mode 100755 index 09928fcfc9..0000000000 --- a/external/sources/luabind-0.7.1/src/error.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - - -namespace luabind -{ - - namespace - { - pcall_callback_fun pcall_callback = 0; -#ifdef LUABIND_NO_EXCEPTIONS - error_callback_fun error_callback = 0; - cast_failed_callback_fun cast_failed_callback = 0; -#endif - } - - -#ifdef LUABIND_NO_EXCEPTIONS - - typedef void(*error_callback_fun)(lua_State*); - typedef void(*cast_failed_callback_fun)(lua_State*, LUABIND_TYPE_INFO); - - void set_error_callback(error_callback_fun e) - { - error_callback = e; - } - - void set_cast_failed_callback(cast_failed_callback_fun c) - { - cast_failed_callback = c; - } - - error_callback_fun get_error_callback() - { - return error_callback; - } - - cast_failed_callback_fun get_cast_failed_callback() - { - return cast_failed_callback; - } - -#endif - - void set_pcall_callback(pcall_callback_fun e) - { - pcall_callback = e; - } - - pcall_callback_fun get_pcall_callback() - { - return pcall_callback; - } - -} diff --git a/external/sources/luabind-0.7.1/src/find_best_match.cpp b/external/sources/luabind-0.7.1/src/find_best_match.cpp deleted file mode 100755 index 80d925cd11..0000000000 --- a/external/sources/luabind-0.7.1/src/find_best_match.cpp +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include - -using namespace luabind::detail; - -bool luabind::detail::find_best_match( - lua_State* L - , overload_rep_base const* start - , int num_overloads - , size_t orep_size - , bool& ambiguous - , int& min_match - , int& match_index - , int num_params) -{ - int min_but_one_match = std::numeric_limits::max(); - bool found = false; - - for (int index = 0; index < num_overloads; ++index) - { - int match_value = start->match(L, num_params); - - reinterpret_cast(start) += orep_size; - - if (match_value < 0) continue; - if (match_value < min_match) - { - found = true; - match_index = index; - min_but_one_match = min_match; - min_match = match_value; - } - else if (match_value < min_but_one_match) - { - min_but_one_match = match_value; - } - } - - ambiguous = min_match == min_but_one_match - && min_match < std::numeric_limits::max(); - return found; -} - -void luabind::detail::find_exact_match( - lua_State* L - , overload_rep_base const* start - , int num_overloads - , size_t orep_size - , int cmp_match - , int num_params - , std::vector& dest) -{ - for (int i = 0; i < num_overloads; ++i) - { - int match_value = start->match(L, num_params); - if (match_value == cmp_match) dest.push_back(start); - reinterpret_cast(start) += orep_size; - } -} - diff --git a/external/sources/luabind-0.7.1/src/function.cpp b/external/sources/luabind-0.7.1/src/function.cpp deleted file mode 100755 index 44e2b150d4..0000000000 --- a/external/sources/luabind-0.7.1/src/function.cpp +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include - -namespace luabind { namespace detail { namespace free_functions { - - void function_rep::add_overload(overload_rep const& o) - { - std::vector::iterator i = std::find( - m_overloads.begin(), m_overloads.end(), o); - - // if the overload already exists, overwrite the existing function - if (i != m_overloads.end()) - { - *i = o; - } - else - { - m_overloads.push_back(o); - } - } - - int function_dispatcher(lua_State* L) - { - function_rep* rep = static_cast( - lua_touserdata(L, lua_upvalueindex(1)) - ); - - bool ambiguous = false; - int min_match = std::numeric_limits::max(); - int match_index = -1; - bool ret; - -#ifdef LUABIND_NO_ERROR_CHECKING - if (rep->overloads().size() == 1) - { - match_index = 0; - } - else - { -#endif - int num_params = lua_gettop(L); - ret = find_best_match( - L - , &rep->overloads().front() - , (int)rep->overloads().size() - , sizeof(overload_rep) - , ambiguous - , min_match - , match_index - , num_params - ); -#ifdef LUABIND_NO_ERROR_CHECKING - } -#else - if (!ret) - { - // this bock is needed to make sure the std::string is destructed - { - std::string msg = "no match for function call '"; - msg += rep->name(); - msg += "' with the parameters ("; - msg += stack_content_by_name(L, 1); - msg += ")\ncandidates are:\n"; - - msg += get_overload_signatures( - L - , rep->overloads().begin() - , rep->overloads().end() - , rep->name() - ); - - lua_pushstring(L, msg.c_str()); - } - - lua_error(L); - } - - if (ambiguous) - { - // this bock is needed to make sure the std::string is destructed - { - std::string msg = "call of overloaded function '"; - msg += rep->name(); - msg += "("; - msg += stack_content_by_name(L, 1); - msg += ") is ambiguous\nnone of the overloads " - "have a best conversion:"; - - std::vector candidates; - find_exact_match( - L - , &rep->overloads().front() - , (int)rep->overloads().size() - , sizeof(overload_rep) - , min_match - , num_params - , candidates - ); - - msg += get_overload_signatures_candidates( - L - , candidates.begin() - , candidates.end() - , rep->name() - ); - - lua_pushstring(L, msg.c_str()); - } - lua_error(L); - } -#endif - overload_rep const& ov_rep = rep->overloads()[match_index]; - -#ifndef LUABIND_NO_EXCEPTIONS - try - { -#endif - return ov_rep.call(L, ov_rep.fun); -#ifndef LUABIND_NO_EXCEPTIONS - } - catch(const luabind::error&) - { - } - catch(const std::exception& e) - { - lua_pushstring(L, e.what()); - } - catch (const char* s) - { - lua_pushstring(L, s); - } - catch(...) - { - std::string msg = rep->name(); - msg += "() threw an exception"; - lua_pushstring(L, msg.c_str()); - } - // we can only reach this line if an exception was thrown - lua_error(L); - return 0; // will never be reached -#endif - } - -}}} // namespace luabind::detail::free_functions - diff --git a/external/sources/luabind-0.7.1/src/implicit_cast.cpp b/external/sources/luabind-0.7.1/src/implicit_cast.cpp deleted file mode 100755 index 22bcbcbcd4..0000000000 --- a/external/sources/luabind-0.7.1/src/implicit_cast.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include - -namespace luabind { namespace detail { - - // returns -1 if there exists no implicit cast from the given class_rep - // to T. If there exists an implicit cast to T, the number of steps times - // 2 is returned and pointer_offset is filled with the number of bytes - // the pointer have to be offseted to perform the cast the reason why we - // return the number of cast-steps times two, instead of just the number - // of steps is to be consistent with the function matchers. They have to - // give one matching-point extra to match const functions. There may be - // two functions that match their parameters exactly, but there is one - // const function and one non-const function, then (if the this-pointer - // is non-const) both functions will match. To avoid amiguaties, the const - // version will get one penalty point to make the match-selector select - // the non-const version. If the this-pointer is const, there's no - // problem, since the non-const function will not match at all. - - int implicit_cast( - class_rep const* crep - , LUABIND_TYPE_INFO const& type_id - , int& pointer_offset) - { - int offset = 0; - if (LUABIND_TYPE_INFO_EQUAL(crep->type(), type_id)) return 0; - - for (std::vector::const_iterator i = - crep->bases().begin(); i != crep->bases().end(); ++i) - { - int steps = implicit_cast(i->base, type_id, offset); - pointer_offset = offset + i->pointer_offset; - if (steps >= 0) return steps + 2; - } - return -1; - } -}} - diff --git a/external/sources/luabind-0.7.1/src/meson.build b/external/sources/luabind-0.7.1/src/meson.build deleted file mode 100644 index 2db2a73995..0000000000 --- a/external/sources/luabind-0.7.1/src/meson.build +++ /dev/null @@ -1,19 +0,0 @@ -luabind_src = files('class.cpp', -'class_info.cpp', -'class_registry.cpp', -'class_rep.cpp', -'create_class.cpp', -'error.cpp', -'find_best_match.cpp', -'function.cpp', -'implicit_cast.cpp', -'link_compatibility.cpp', -'object_rep.cpp', -'open.cpp', -'overload_rep.cpp', -'pcall.cpp', -'ref.cpp', -'scope.cpp', -'stack_content_by_name.cpp', -'weak_ref.cpp', -'wrapper_base.cpp') \ No newline at end of file diff --git a/external/sources/luabind-0.7.1/src/object_rep.cpp b/external/sources/luabind-0.7.1/src/object_rep.cpp deleted file mode 100755 index 054f8deb8e..0000000000 --- a/external/sources/luabind-0.7.1/src/object_rep.cpp +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include -#include - -namespace luabind { namespace detail -{ - - // dest is a function that is called to delete the c++ object this struct holds - object_rep::object_rep(void* obj, class_rep* crep, int flags, void(*dest)(void*)) - : m_object(obj) - , m_classrep(crep) - , m_flags(flags) - , m_destructor(dest) - , m_dependency_cnt(1) - { - // if the object is owned by lua, a valid destructor must be given - assert((((m_flags & owner) && dest) || !(m_flags & owner)) && "internal error, please report"); - } - - object_rep::object_rep(class_rep* crep, int flags, detail::lua_reference const& table_ref) - : m_object(0) - , m_classrep(crep) - , m_flags(flags) - , m_lua_table_ref(table_ref) - , m_destructor(0) - , m_dependency_cnt(1) - { - } - - object_rep::~object_rep() - { - if (m_flags & owner && m_destructor) m_destructor(m_object); - } - - void object_rep::remove_ownership() - { - assert((m_flags & owner) && "cannot remove ownership of object that's not owned"); - assert(m_classrep->get_class_type() == class_rep::cpp_class - || m_classrep->bases().size() == 1 && "can only adopt c++ types or lua classes that derives from a c++ class"); - - // daniel040727 Bogus assert above? C++ types can be adopted just fine - // without a hierarchy? - - m_flags &= ~owner; - // if this is a type with a wrapper we also have to - // transform the wrappers weak_ref into a strong - // reference, to make sure the lua part - // stays alive as long as the c++ part stays - // alive. -/* if (m_classrep->get_class_type() == class_rep::cpp_class) - m_classrep->adopt(m_flags & constant, m_object); - else*/ - - // daniel040727 I changed the above. It just seems wrong. adopt() - // should only be called on the wrapper type. - if (m_classrep->get_class_type() == class_rep::lua_class) - m_classrep->bases().front().base->adopt(m_flags & constant, m_object); - } - - void object_rep::set_destructor(void(*ptr)(void*)) - { - m_destructor = ptr; - } - - void object_rep::add_dependency(lua_State* L, int index) - { - if (!m_dependency_ref.is_valid()) - { - lua_newtable(L); - m_dependency_ref.set(L); - } - - m_dependency_ref.get(L); - lua_pushvalue(L, index); - lua_rawseti(L, -2, m_dependency_cnt); - lua_pop(L, 1); - ++m_dependency_cnt; - } - - int object_rep::garbage_collector(lua_State* L) - { - object_rep* obj = static_cast(lua_touserdata(L, -1)); - - finalize(L, obj->crep()); - - obj->~object_rep(); - return 0; - } - -}} - diff --git a/external/sources/luabind-0.7.1/src/open.cpp b/external/sources/luabind-0.7.1/src/open.cpp deleted file mode 100755 index f5ad86db1e..0000000000 --- a/external/sources/luabind-0.7.1/src/open.cpp +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include -#include - -namespace luabind { - - void open(lua_State* L) - { - // get the global class registry, or create one if it doesn't exist - // (it's global within a lua state) - detail::class_registry* r = 0; - - // If you hit this assert it's because you have called luabind::open() - // twice on the same lua_State. - assert((detail::class_registry::get_registry(L) == 0) - && "you cannot call luabind::open() twice"); - - lua_pushstring(L, "__luabind_classes"); - r = static_cast( - lua_newuserdata(L, sizeof(detail::class_registry))); - - // set gc metatable - lua_newtable(L); - lua_pushstring(L, "__gc"); - lua_pushcclosure( - L - , detail::garbage_collector_s< - detail::class_registry - >::apply - , 0); - - lua_settable(L, -3); - lua_setmetatable(L, -2); - - new(r) detail::class_registry(L); - lua_settable(L, LUA_REGISTRYINDEX); - - // add functions (class, cast etc...) - lua_pushstring(L, "class"); - lua_pushcclosure(L, detail::create_class::stage1, 0); - lua_settable(L, LUA_GLOBALSINDEX); - } - -} // namespace luabind - diff --git a/external/sources/luabind-0.7.1/src/overload_rep.cpp b/external/sources/luabind-0.7.1/src/overload_rep.cpp deleted file mode 100644 index a4417ffd2b..0000000000 --- a/external/sources/luabind-0.7.1/src/overload_rep.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2005 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -namespace luabind { namespace detail -{ - int overload_rep::call(lua_State* L, bool force_static_call) const - { - if (force_static_call) - return call_fun_static(L); - else - return call_fun(L); - } - -}} // namespace luabind::detail - - diff --git a/external/sources/luabind-0.7.1/src/pcall.cpp b/external/sources/luabind-0.7.1/src/pcall.cpp deleted file mode 100755 index 6b284e5e5b..0000000000 --- a/external/sources/luabind-0.7.1/src/pcall.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include -#include -#include - -namespace luabind { namespace detail -{ - int pcall(lua_State *L, int nargs, int nresults) - { - pcall_callback_fun e = get_pcall_callback(); - int en = 0; - if ( e ) - { - int base = lua_gettop(L) - nargs; - lua_pushcfunction(L, e); - lua_insert(L, base); // push pcall_callback under chunk and args - en = base; - } - int result = lua_pcall(L, nargs, nresults, en); - if ( en ) - lua_remove(L, en); // remove pcall_callback - return result; - } - - int resume_impl(lua_State *L, int nargs, int) - { -#if LUA_VERSION_NUM >= 501 - // Lua 5.1 added LUA_YIELD as a possible return value, - // this was causing crashes, because the caller expects 0 on success. - int res = lua_resume(L, nargs); - return (res == LUA_YIELD) ? 0 : res; -#else - return lua_resume(L, nargs); -#endif - } - -}} diff --git a/external/sources/luabind-0.7.1/src/ref.cpp b/external/sources/luabind-0.7.1/src/ref.cpp deleted file mode 100755 index f227fe2d0a..0000000000 --- a/external/sources/luabind-0.7.1/src/ref.cpp +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - -// most of the code in this file comes from -// lauxlib.c in lua distribution - -/****************************************************************************** -* Copyright (C) 1994-2003 Tecgraf, PUC-Rio. All rights reserved. -* -* Permission is hereby granted, free of charge, to any person obtaining -* a copy of this software and associated documentation files (the -* "Software"), to deal in the Software without restriction, including -* without limitation the rights to use, copy, modify, merge, publish, -* distribute, sublicense, and/or sell copies of the Software, and to -* permit persons to whom the Software is furnished to do so, subject to -* the following conditions: -* -* The above copyright notice and this permission notice shall be -* included in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -******************************************************************************/ - - enum - { - // the number of reserved references - RESERVED_REFS = 2, - - // free list of references - FREELIST_REF = 1, - - // array sizes (not used here) - ARRAYSIZE_REF = 2 - }; - - int checkint (lua_State *L, int topop) - { - int n = (int)lua_tonumber(L, -1); - if (n == 0 && !lua_isnumber(L, -1)) n = -1; - lua_pop(L, topop); - return n; - } - - - void getsizes (lua_State *L) - { - lua_rawgeti(L, LUA_REGISTRYINDEX, ARRAYSIZE_REF); - if (lua_isnil(L, -1)) { /* no `size' table? */ - lua_pop(L, 1); /* remove nil */ - lua_newtable(L); /* create it */ - lua_pushvalue(L, -1); /* `size' will be its own metatable */ - lua_setmetatable(L, -2); - lua_pushliteral(L, "__mode"); - lua_pushliteral(L, "k"); - lua_rawset(L, -3); /* metatable(N).__mode = "k" */ - lua_pushvalue(L, -1); - lua_rawseti(L, LUA_REGISTRYINDEX, ARRAYSIZE_REF); /* store in register */ - } - } - - void luaL_setn (lua_State *L, int t, int n) - { - lua_pushliteral(L, "n"); - lua_rawget(L, t); - if (checkint(L, 1) >= 0) { /* is there a numeric field `n'? */ - lua_pushliteral(L, "n"); /* use it */ - lua_pushnumber(L, n); - lua_rawset(L, t); - } - else { /* use `sizes' */ - getsizes(L); - lua_pushvalue(L, t); - lua_pushnumber(L, n); - lua_rawset(L, -3); /* sizes[t] = n */ - lua_pop(L, 1); /* remove `sizes' */ - } - } - - int luaL_getn (lua_State *L, int t) - { - int n; - lua_pushliteral(L, "n"); /* try t.n */ - lua_rawget(L, t); - if ((n = checkint(L, 1)) >= 0) return n; - getsizes(L); /* else try sizes[t] */ - lua_pushvalue(L, t); - lua_rawget(L, -2); - if ((n = checkint(L, 2)) >= 0) return n; - for (n = 1; ; n++) { /* else must count elements */ - lua_rawgeti(L, t, n); - if (lua_isnil(L, -1)) break; - lua_pop(L, 1); - } - lua_pop(L, 1); - return n - 1; - } - - - // based on luaL_ref - int LUABIND_API ref(lua_State *L) - { - int t = LUA_REGISTRYINDEX; - - int ref; - if (lua_isnil(L, -1)) - { - lua_pop(L, 1); /* remove from stack */ - return LUA_REFNIL; /* `nil' has a unique fixed reference */ - } - - lua_rawgeti(L, t, FREELIST_REF); /* get first free element */ - ref = (int)lua_tonumber(L, -1); /* ref = t[FREELIST_REF] */ - lua_pop(L, 1); /* remove it from stack */ - if (ref != 0) { /* any free element? */ - lua_rawgeti(L, t, ref); /* remove it from list */ - lua_rawseti(L, t, FREELIST_REF); /* (t[FREELIST_REF] = t[ref]) */ - } - else { /* no free elements */ - ref = ::luabind::detail::luaL_getn(L, t); - if (ref < RESERVED_REFS) - ref = RESERVED_REFS; /* skip reserved references */ - ref++; /* create new reference */ - ::luabind::detail::luaL_setn(L, t, ref); - } - lua_rawseti(L, t, ref); - return ref; - } - - void LUABIND_API unref(lua_State *L, int ref) - { - LUABIND_CHECK_STACK(L); - - int t = LUA_REGISTRYINDEX; - if (ref >= 0) { - lua_rawgeti(L, t, FREELIST_REF); - lua_rawseti(L, t, ref); /* t[ref] = t[FREELIST_REF] */ - lua_pushnumber(L, ref); - lua_rawseti(L, t, FREELIST_REF); /* t[FREELIST_REF] = ref */ - } - } - -}} diff --git a/external/sources/luabind-0.7.1/src/stack_content_by_name.cpp b/external/sources/luabind-0.7.1/src/stack_content_by_name.cpp deleted file mode 100755 index e1956c5e84..0000000000 --- a/external/sources/luabind-0.7.1/src/stack_content_by_name.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include - -using namespace luabind::detail; - -std::string luabind::detail::stack_content_by_name(lua_State* L, int start_index) -{ - std::string ret; - int top = lua_gettop(L); - for (int i = start_index; i <= top; ++i) - { - object_rep* obj = is_class_object(L, i); - class_rep* crep = is_class_rep(L, i)?(class_rep*)lua_touserdata(L, i):0; - if (obj == 0 && crep == 0) - { - int type = lua_type(L, i); - ret += lua_typename(L, type); - } - else if (obj) - { - if (obj->flags() & object_rep::constant) ret += "const "; - ret += obj->crep()->name(); - } - else if (crep) - { - ret += "<"; - ret += crep->name(); - ret += ">"; - } - if (i < top) ret += ", "; - } - return ret; -} - diff --git a/external/sources/luabind-0.7.1/src/weak_ref.cpp b/external/sources/luabind-0.7.1/src/weak_ref.cpp deleted file mode 100755 index 9eab9bfa37..0000000000 --- a/external/sources/luabind-0.7.1/src/weak_ref.cpp +++ /dev/null @@ -1,203 +0,0 @@ -// Copyright (c) 2004 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include - -#include - -#include -#include -#include - -namespace luabind { - -// allocation code from lauxlib.c -/****************************************************************************** -* Copyright (C) 1994-2003 Tecgraf, PUC-Rio. All rights reserved. -* -* Permission is hereby granted, free of charge, to any person obtaining -* a copy of this software and associated documentation files (the -* "Software"), to deal in the Software without restriction, including -* without limitation the rights to use, copy, modify, merge, publish, -* distribute, sublicense, and/or sell copies of the Software, and to -* permit persons to whom the Software is furnished to do so, subject to -* the following conditions: -* -* The above copyright notice and this permission notice shall be -* included in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -******************************************************************************/ - - namespace { - - enum - { - freelist_ref = 1, count_ref = 2 - }; - - void get_weak_table(lua_State* L) - { - lua_pushliteral(L, "__luabind_weak_refs"); - lua_gettable(L, LUA_REGISTRYINDEX); - - if (lua_isnil(L, -1)) - { - lua_pop(L, 1); - lua_newtable(L); - // metatable - lua_newtable(L); - lua_pushliteral(L, "__mode"); - lua_pushliteral(L, "v"); - lua_rawset(L, -3); - // set metatable - lua_setmetatable(L, -2); - lua_pushnumber(L, 0); - lua_rawseti(L, -2, freelist_ref); - lua_pushnumber(L, 2); - lua_rawseti(L, -2, count_ref); - - lua_pushliteral(L, "__luabind_weak_refs"); - lua_pushvalue(L, -2); - lua_settable(L, LUA_REGISTRYINDEX); - } - } - - } // namespace unnamed - - struct weak_ref::impl - { - impl(lua_State* s, int index) - : count(0) - , state(s) - , ref(0) - { - lua_pushvalue(s, index); - get_weak_table(s); - - lua_rawgeti(s, -1, freelist_ref); - ref = (int)lua_tonumber(s, -1); - lua_pop(s, 1); - - if (ref == 0) - { - lua_rawgeti(s, -1, count_ref); - ref = (int)lua_tonumber(s, -1) + 1; - lua_pop(s, 1); - lua_pushnumber(s, ref); - lua_rawseti(s, -2, count_ref); - } - else - { - lua_rawgeti(s, -1, ref); - lua_rawseti(s, -2, freelist_ref); - } - - lua_pushvalue(s, -2); // duplicate value - lua_rawseti(s, -2, ref); - lua_pop(s, 2); // pop weakref table and value - } - - ~impl() - { - get_weak_table(state); - lua_rawgeti(state, -1, freelist_ref); - lua_rawseti(state, -2, ref); - lua_pushnumber(state, ref); - lua_rawseti(state, -2, freelist_ref); - lua_pop(state, 1); - } - - int count; - lua_State* state; - int ref; - }; - - weak_ref::weak_ref() - : m_impl(0) - { - } - - weak_ref::weak_ref(lua_State* L, int index) - : m_impl(new impl(L, index)) - { - m_impl->count = 1; - } - - weak_ref::weak_ref(weak_ref const& other) - : m_impl(other.m_impl) - { - if (m_impl) ++m_impl->count; - } - - weak_ref::~weak_ref() - { - if (m_impl && --m_impl->count == 0) - { - delete m_impl; - } - } - - weak_ref& weak_ref::operator=(weak_ref const& other) - { - weak_ref(other).swap(*this); - return *this; - } - - void weak_ref::swap(weak_ref& other) - { - std::swap(m_impl, other.m_impl); - } - - int weak_ref::id() const - { - assert(m_impl); - return m_impl->ref; - } - - // L may not be the same pointer as - // was used when creating this reference - // since it may be a thread that shares - // the same globals table. - void weak_ref::get(lua_State* L) const - { - assert(m_impl); - assert(L); - get_weak_table(L); - lua_rawgeti(L, -1, m_impl->ref); - lua_remove(L, -2); - } - - lua_State* weak_ref::state() const - { - assert(m_impl); - return m_impl->state; - } - -} // namespace luabind - diff --git a/external/sources/luabind-0.7.1/src/wrapper_base.cpp b/external/sources/luabind-0.7.1/src/wrapper_base.cpp deleted file mode 100755 index c5296f0865..0000000000 --- a/external/sources/luabind-0.7.1/src/wrapper_base.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2003 Daniel Wallin and Arvid Norberg - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include - -namespace luabind { namespace detail -{ - LUABIND_API void do_call_member_selection(lua_State* L, char const* name) - { - object_rep* obj = static_cast(lua_touserdata(L, -1)); - lua_pop(L, 1); // pop self - - obj->crep()->get_table(L); // push the crep table - lua_pushstring(L, name); - lua_gettable(L, -2); - lua_remove(L, -2); // remove the crep table - - { - if (!lua_iscfunction(L, -1)) return; - if (lua_getupvalue(L, -1, 3) == 0) return; - detail::stack_pop p(L, 1); - if (lua_touserdata(L, -1) != reinterpret_cast(0x1337)) return; - } - - // this (usually) means the function has not been - // overridden by lua, call the default implementation - lua_pop(L, 1); - obj->crep()->get_default_table(L); // push the crep table - lua_pushstring(L, name); - lua_gettable(L, -2); - assert(!lua_isnil(L, -1)); - lua_remove(L, -2); // remove the crep table - } -}} diff --git a/external/sources/luabind-oberon00-49814f6/.gitignore b/external/sources/luabind-oberon00-49814f6/.gitignore new file mode 100644 index 0000000000..b9ccdab286 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/.gitignore @@ -0,0 +1,8 @@ +bin.v2 +bin +doc/*.html +doc/version.rst +nppBackup/ +build/ +_build/ +*.kdev4 diff --git a/external/sources/luabind-oberon00-49814f6/.travis.yml b/external/sources/luabind-oberon00-49814f6/.travis.yml new file mode 100644 index 0000000000..265e329c4b --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/.travis.yml @@ -0,0 +1,34 @@ +language: cpp +os: linux +addons: + apt: + packages: + - cmake + - libboost-dev +env: + - C_CXX11=OFF C_LUAV=5.1.5 C_LXX=src + - C_CXX11=ON C_LUAV=5.2.4 C_LXX=src + - C_CXX11=ON C_LUAV=5.2.4 C_LXX=cxx C_EXTRA="-DLUABIND_CPLUSPLUS_LUA=ON" + - C_CXX11=ON C_LUAV=5.3.4 C_LXX=src +compiler: + - gcc +before_install: + - mkdir build; cd build + - $TRAVIS_BUILD_DIR/get-deps.sh $C_LUAV $C_LXX +script: + - LUA_DIR=$PWD/lua-$C_LUAV/$C_LXX/ cmake + -DLUABIND_BUILD_HEADER_TESTS=ON + -DLUABIND_USE_CXX11=$C_CXX11 + -DCMAKE_BUILD_TYPE=Debug + $C_EXTRA + .. + - make + - CTEST_OUTPUT_ON_FAILURE=1 make test +jobs: + # clang can only be used in C++98 mode with Travis' old boost version. + include: + - compiler: clang + env: C_CXX11=OFF C_LUAV=5.1.5 C_LXX=src + - compiler: clang + env: C_CXX11=OFF C_LUAV=5.3.4 C_LXX=cxx C_EXTRA="-DLUABIND_CPLUSPLUS_LUA=ON" + diff --git a/external/sources/luabind-oberon00-49814f6/CMakeLists.txt b/external/sources/luabind-oberon00-49814f6/CMakeLists.txt new file mode 100644 index 0000000000..e35f8c4a52 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/CMakeLists.txt @@ -0,0 +1,261 @@ +# Build for LuaBind +# Ryan Pavlik +# http://academic.cleardefinition.com/ +# Iowa State University HCI Graduate Program/VRAC + +# monkey patched version bump +#cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.5) +set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required +project(LuaBind) +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +include(CheckCXXCompilerFlag) + +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "9") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_PACKAGE_VERSION + "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +list(APPEND CMAKE_MODULE_PATH + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules") + +if(NOT Boost_FOUND) + set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_MULTITHREADED ON) + set(Boost_USE_STATIC_RUNTIME OFF) + find_package(Boost REQUIRED) +endif() + +if(NOT LUA_FOUND AND NOT LUA51_FOUND AND NOT LUA52_FOUND) + set(LUABIND_LUA_VERSION "" CACHE STRING + "51 or 52; empty to use 51 if 52 cannot be found and 52 otherwise.") + + if(LUABIND_LUA_VERSION) + find_package("Lua${LUABIND_LUA_VERSION}" REQUIRED) + else() + find_package(Lua52) + if(NOT LUA52_FOUND) + find_package(Lua51) + if(NOT LUA51_FOUND) + message(FATAL_ERROR "Neither Lua 5.1 nor 5.2 could be found.") + endif() + endif() + endif() + set(LUA_INCLUDE_DIRS "${LUA_INCLUDE_DIR}") +endif() + +if(NOT MSVC) + check_cxx_compiler_flag(-std=c++11 LUABIND_HAS_CXX11) + if (LUABIND_HAS_CXX11) + set (LUABIND_CXX11_COMPILER_FLAGS "-std=c++11") + else() + message("Compiler does not support -std=c++11 flag, C++11 disabled.") + endif() +elseif(MSVC_VERSION GREATER 1699) # 1700 = VS 11 (2012) + set (LUABIND_HAS_CXX11 ON) +else() + set (LUABIND_HAS_CXX11 OFF) + message("MSVC < 11 (2012) detected, C++11 disabled.") +endif() + +if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + # We are the top-level project + option(LUABIND_INSTALL "Install the LuaBind library and headers" ON) + option(LUABIND_APPEND_VERSION_SUFFIX "Append a version suffix to the library name (like luabind09)?" ON) + option(LUABIND_NO_ERROR_CHECKING "Build so that all the Lua code is expected only to make legal calls?" OFF) + option(LUABIND_NO_EXCEPTIONS "Disable all usage of try, catch, and throw?" OFF) + option(LUABIND_CPLUSPLUS_LUA "Was Lua built as C++?" OFF) + option(LUABIND_DYNAMIC_LINK "Build luabind as a shared library?" OFF) + option(LUABIND_NOT_THREADSAFE "Permit the use of static variables, thus making Luabind usable only from one of your system threads." OFF) + option(LUABIND_ENABLE_WARNINGS "Enable extra warnings during the build of the library and tests" ON) + if (LUABIND_HAS_CXX11) + option(LUABIND_USE_CXX11 "Build Luabind using C++11 features?" ON) + else() + set(LUABIND_USE_CXX11 OFF) + endif() + + if(Boost_VERSION LESS 104700) + set(LUABIND_USE_NOEXCEPT_DEF OFF) + # 1900 = VS 14 (2015) + if (LUABIND_CXX11_DEFAULT AND NOT MSVC OR MSVC_VERSION GREATER 1899) + set(LUABIND_USE_NOEXCEPT_DEF ON) + endif() + option(LUABIND_USE_NOEXCEPT "If your compiler is C++11 compliant, but you're using old Boost, you need to set this." ${LUABIND_USE_NOEXCEPT_DEF}) + unset(LUABIND_USE_NOEXCEPT_DEF) + endif() + + if(LUABIND_USE_CXX11 AND NOT LUABIND_HAS_CXX11) + # The compiler supports no C++11 + set(LUABIND_USE_CXX11 OFF CACHE BOOL "Build Luabind using C++11 features?" FORCE) + endif() + + if(LUABIND_USE_CXX11) + option(LUABIND_NO_SCOPED_ENUM "Indicates that your compiler and standard library lacks scoped enums and std::underlying_type" OFF) + set(LUABIND_NO_STD_SHARED_PTR OFF) + else() + # No CXX11, can't have scoped enum + # TODO is this right? + #set(LUABIND_NO_SCOPED_ENUM ON CACHE INTERNAL "" FORCE) + option(LUABIND_NO_STD_SHARED_PTR "Indicates that your standard library lacks C++11 shared_ptr in std namespace" ON) + endif() + +endif() + +if(LUABIND_NO_STD_SHARED_PTR) + add_definitions(-DLUABIND_NO_STD_SHARED_PTR) +endif() + +# Configure the build info header +file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/luabind") +configure_file(build_information.hpp.cmake_in "${CMAKE_CURRENT_BINARY_DIR}/luabind/build_information.hpp") + +# Set up the build +set(BUILD_SHARED_LIBS ${LUABIND_DYNAMIC_LINK}) + +if(LUABIND_USE_CXX11 AND LUABIND_CXX11_COMPILER_FLAGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LUABIND_CXX11_COMPILER_FLAGS}") +elseif(NOT LUABIND_USE_CXX11 AND NOT MSVC) + check_cxx_compiler_flag(-std=c++98 LUABIND_HAS_CXX98FLAG) + if (LUABIND_HAS_CXX98FLAG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98") + endif() +endif() + +# Test and enable warning flags if desired, as well as other compiler flag +macro(_luabind_add_flag _flag _var) + check_cxx_compiler_flag(${_flag} ${_var}) + if(${_var}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}") + endif() +endmacro() + +if(MSVC) + # multi-process compile + _luabind_add_flag(/MP SUPPORTS_MP_FLAG) + if(LUABIND_ENABLE_WARNINGS) + # Warning level 4 + _luabind_add_flag(/W4 SUPPORTS_W4_FLAG) + + # Disable incorrect warning C4709 + # ("comma operator within array index expression") + _luabind_add_flag(/wd4709 SUPPORTS_WD4709_FLAG) + + IF (MSVC_VERSION GREATER 1899) # 1900 = MSVC 14 (2015) + # Disable overly pendantic warning C4459 "declaration of 'var' hides + # global declaration" which is issued a lot for 'result' which is + # globally declared for policies. See also + # https://connect.microsoft.com/VisualStudio/feedback/details/1355600/. + _luabind_add_flag(/wd4459 SUPPORTS_WD4459_FLAG) + + # Disable warning C4913 "user defined binary operator ',' exists but + # no overload could convert all operands, default built-in binary + # operator ',' used" which is triggered even when no comma is + # involved at all, refering to the 'T const& x, + # operator_void_return' overload in luabind::detail. + _luabind_add_flag(/wd4913 SUPPORTS_WD4913_FLAG) + endif() + endif() +else() + + set(possible_flags) + if(BUILD_SHARED_LIBS) + list(APPEND possible_flags fvisibility=hidden) + endif() + if(LUABIND_ENABLE_WARNINGS) + list(APPEND possible_flags + Wall + Wextra + Wno-deprecated-declarations # auto_ptr is OK for now + Wno-unused-macros + Wlogical-op + Wmissing-declarations + Wsign-conversion + pedantic + Wcast-align + Wcast-qual + Wctor-dtor-privacy + Winit-self + Wdisabled-optimizations + Wformat=2 + Wmissing-include-dirs + Wold-style-cast + Woverloaded-virtual + Wredundant-decls + Wshadow + Wsign-promo + Wstrict-null-sentinel + Wstrict-overflow=5) + + + if(LUABIND_USE_CXX11) + list(APPEND possible_flags Wnoexcept) + endif() + + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + list(APPEND possible_flags + Weverything + Wno-unused-local-typedef + Wno-shadow + Wno-undef + Wno-global-constructors + Wno-weak-vtables + Wno-padded + Wno-exit-time-destructors + Wno-missing-noreturn) + + if(LUABIND_USE_CXX11) + list(APPEND possible_flags + Wno-zero-as-nullpointer + Wno-c++98-compat + Wno-c++98-compat-pedantic) + else() + list(APPEND possible_flags + Wno-c++11-long-long) + endif() + + elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT LUABIND_USE_CXX11) + list(APPEND possible_flags Wno-long-long) + endif() + + endif() + + if(possible_flags) + foreach(_flag ${possible_flags}) + string(REGEX REPLACE [-+=] _ sanitized_flag ${_flag}) + _luabind_add_flag(-${_flag} SUPPORTS_${sanitized_flag}_FLAG) + endforeach() + endif() +endif() + +include_directories(BEFORE + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_BINARY_DIR}") +include_directories(AFTER SYSTEM + ${Boost_INCLUDE_DIRS} + ${LUA_INCLUDE_DIRS}) + +add_subdirectory(src) + +# Set up testing and documentation, only if we are the top-level project. +if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + include(CTest) + if(BUILD_TESTING) + add_subdirectory(test) + endif() + add_subdirectory(doc) +endif() + +if(LUABIND_INSTALL) + if(WIN32 AND NOT CYGWIN) + set(INSTALL_CMAKE_DIR CMake) + set(INSTALL_CMAKE_DIR_LUA CMake) + else() + set(INSTALL_CMAKE_DIR lib/CMake/Luabind) + set(INSTALL_CMAKE_DIR_LUA lib/CMake/Lua52) + endif() + install(FILES "cmake/Modules/FindLuabind.cmake" DESTINATION ${INSTALL_CMAKE_DIR}) + install(FILES "cmake/Modules/FindLua52.cmake" DESTINATION ${INSTALL_CMAKE_DIR_LUA}) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/luabind/build_information.hpp" DESTINATION include/luabind) +endif() diff --git a/external/sources/luabind-oberon00-49814f6/INSTALL.txt b/external/sources/luabind-oberon00-49814f6/INSTALL.txt new file mode 100644 index 0000000000..e649115038 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/INSTALL.txt @@ -0,0 +1,67 @@ +Note: The information in this file is outdated. Use CMake instead. + +luabind installation +==================== + +The build system used by luabind is Boost Build V2, which can be found +at: + + http://www.boost.org/doc/tools/build/index.html + +The installation instructions are available at: + + http://www.boost.org/doc/tools/build/doc/html/bbv2/installation.html + +If you are using Debian or Ubuntu, you can simply install the +"boost-build" package: + + $ sudo apt-get install boost-build + +Other distributions may have similar packages. + +On Windows, you can download pre-built "bjam" binaries, and follow the +installation instructions on the page linked above. + + +Windows +------- + +The environment variable "BOOST_ROOT" must be set to the directory where Boost +was extracted. "LUA_PATH" must be set to a directory where Lua binaries and +headers reside. The recommended way to get the Lua libraries is to download the +"DLL and Includes" package from: + + http://luabinaries.luaforge.net/download.html + +With these environment variables properly set: + + $ set BOOST_ROOT=... + $ set LUA_PATH=... + $ bjam stage + +Will build the default library variants and place them in a directory called +"stage". This can be controlled with the "--stagedir" option: + + $ bjam --stagedir=libs stage + +Would place the libraries in a "libs" directory. + +Note that there is nothing magic going on here. If you don't want to +build the libraries this way, or run the tests, there is nothing +stopping you from using whatever build system you want. For example, +simply dropping the source files in a Visual Studio project should just +work. The only requirement is that "LUABIND_DYNAMIC_LINK" must be +defined when building and linking to a shared library. + +\*nix +----- + + $ bjam install + +Will build and install the default library variants, and install them together +with the header files to the default prefix, which is "/usr/local". The install +prefix can be controlled with the "--prefix" option. For example: + + $ bjam --prefix=/usr install + +Will install to "/usr/lib" and "/usr/include". diff --git a/external/sources/luabind-oberon00-49814f6/LICENSE.txt b/external/sources/luabind-oberon00-49814f6/LICENSE.txt new file mode 100644 index 0000000000..c52b8c0d0a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/LICENSE.txt @@ -0,0 +1,23 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Copyright (c) 2012, 2013 Christian Neumüller [bugfixes, small additions] + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/external/sources/luabind-oberon00-49814f6/README.md b/external/sources/luabind-oberon00-49814f6/README.md new file mode 100644 index 0000000000..77b04e0a45 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/README.md @@ -0,0 +1,140 @@ +Luabind +======= + +[![Travis CI build status](https://travis-ci.com/Oberon00/luabind.svg?branch=master)](https://travis-ci.com/github/Oberon00/luabind) + +Luabind is a library that helps you create bindings between C++ and Lua. It +has the ability to expose functions and classes, written in C++, to Lua. It +will also supply the functionality to define classes in lua and let them +derive from other lua classes or C++ classes. Lua classes can override virtual +functions from their C++ baseclasses. It is written towards Lua 5.x, and does +not work with Lua 4. + +It is implemented utilizing template meta programming. That means that you +don't need an extra preprocess pass to compile your project (it is done by the +compiler). It also means you don't (usually) have to know the exact signature +of each function you register, since the library will generate code depending +on the compile-time type of the function (which includes the signature). The +main drawback of this approach is that the compilation time will increase for +the file that does the registration, it is therefore recommended that you +register everything in the same cpp-file. + +Luabind is released under the terms of the [MIT license][1]. + +> Copyright Daniel Wallin, Arvid Norberg 2003. +> Extracted from + +[1]: http://www.opensource.org/licenses/mit-license.php + + +This fork +--------- + +I forked the project since it seems abandoned (latest commit from January 2012 +on the 0.9 branch) and I ran into certain bugs which needed fixing (see +commits). + +This should actually have been forked from [rpavlik/luabind][rpavlik]: I +cherry-picked most commits from there. Additionally, many commits from +[fhoefler/luaponte][fhoefling] are incorporated (as the are in rpavlik's +fork). Thus, feel free to do the same with my fork. + +[rpavlik]: http://github.com/rpavlik/luabind/ +[fhoefling]: http://github.com/fhoefling/luaponte + +In the following two sections, the improvements over the latest official +luabind release (0.9) are described. + +### Fixed bugs ### + +* Destroyed objects now have their metatable unset. Previously, one could + easily cause segmentation faults and other undefined behavior by accessing + destroyed objects from luabinds `__finalize` or Lua 5.2's `__gc`. Now you + can simply check with `getmetatable(obj)`, and if you forget, you get an + ordinary, well defined Lua error instead. Commit [a83aa][c-destroy]. +* The Lua part of a `wrap_base` derived class randomly got lost after a few + garbage collection cycles due to errors in the implementation of the + internal `weak_ref` class. Credits for the fix go to Max McGuire who + [posted][mmg-fix] a fix on luabind-user in 2010. Commit [a3a400][c-weakref]. +* The error message displayed when a function could not be called from Lua + with the provided arguments sometimes only contained the function signatures + but not the actual error message. mrwonko's commit [9d15e0][c-errmsg] (and + previous). +* Luabind did not work over shared library (DLL) boundaries on some + platforms. fhoefling's commit [a83af3][c-dll] and my minor improvement + [a8349d][c-dll2]. +* Calling `call_function` with a return type but not using it resulted in a + call to `std::terminate` if the called function produced an error and a + C++11 compliant compiler is used. Commit [81bdcb][c-noexpect]. +* Luabind failed to recognize Lua numbers correctly on MSVC x64. Commit + [c9582c][c-longlong]. + +* Luabind failed to compile on g++ with Boost 1.49 + (`BOOST_PP_ITERATION_FLAGS` problem). The first one I know to have fixed + this is [fhoefling][c-fh-gcc-ftbfs]. Commit [1aa80b][c-gcc-ftbsfs]. +* Luabind failed to compile on Clang. Commit [4555b2][c-clang-ftbfs]. + +[c-destroy]: http://github.com/Oberon00/luabind/commit/a83aae710ccb5d4fad2d625e3c87008d450949cb +[mmg-fix]: http://lua.2524044.n2.nabble.com/weak-ref-issue-patch-td7581558.html +[c-weakref]: http://github.com/Oberon00/luabind/commit/a3a400e5fc5f31b5733ad0e595e7f5b474883174 +[c-fh-gcc-ftbfs]: http://github.com/fhoefling/luaponte/commit/085f2e06204d6b2710db127806cfa855fca17d79 +[c-gcc-ftbsfs]: http://github.com/Oberon00/luabind/commit/1aa80be0bb944e960919542b16c6a3a117a4cdb8 +[c-errmsg]: http://github.com/Oberon00/luabind/commit/9d15e0288261ef83b227a3151d8f2ac238ef3759 +[c-dll]: http://github.com/Oberon00/luabind/commit/a83af3c69a3cd6da5ba21ea5062205fa664e59d2 +[c-dll2]: http://github.com/Oberon00/luabind/commit/a8349dfd94bcc456af5dc4b1bf4f175875d8ae54 +[c-longlong]: http://github.com/Oberon00/luabind/commit/c9582cea44fd67301ee5940cf08ccf5ae8c90094 +[c-noexpect]: http://github.com/Oberon00/luabind/commit/81bdcb72aa6ef7b321e59416b77be65c3944d6a9 +[c-clang-ftbfs]: http://github.com/Oberon00/luabind/commit/4555b20f0553f073d9d9085a43174aea5f7abaa6 + +### Added features ### + +* CMake replaces the broken Jamfile as build system (including installation + and test support). + A [`FindLuabind.cmake`][findluabind] file is also provided, as well as + [`FindLua52.cmake`][findlua52]. +* A bit of C++11 support: + + `std::shared_ptr` is supported as smart pointer through + [`luabind/std_shared_ptr_converter.hpp`][stdptr]. + Commit [118f80][c-11-ptr]. + + Scoped enums can be used with `enum_`. + + Basic rvalue reference support. fhoefling's commit [a83af3][c-11-rval]. + + Support for `long long`. Commit [c9582c][c-longlong] (also for + pre-C++11 compilers supporting it). +* A new (C++) function `set_package_preload` can be used to register a + (loader) function to be called only if it is `require`d from Lua. rpavlik's + commit [3502e9][c-preload]. +* Modules can now register everything to arbitrary tables + (`luabind::object`s). fhoefling's commit [dd4a16][c-table]. This plays + together very nicely with `set_package_preload`. +* The modulo operator `%` can now be exported to Lua. rpavlik's commit + [855b4a][c-modulo] and the following. +* `class_info` can now handle actual classes as arguments. Previously it could + handle only *objects* of luabind classes. rpavlik's commit + [c2ee1f][c-classinfo]. + +[findluabind]: cmake/Modules/FindLuabind.cmake +[findlua52]: cmake/Modules/FindLua52.cmake +[stdptr]: luabind/std_shared_ptr_converter.hpp +[c-11-ptr]: http://github.com/Oberon00/luabind/commit/118f808b068e93e78fc717749f757a2358b9a4af +[c-11-rval]: http://github.com/Oberon00/luabind/commit/a83af3c69a3cd6da5ba21ea5062205fa664e59d2 +[c-classinfo]: http://github.com/Oberon00/luabind/commit/c2ee1f82598eb3ded6922e05decdcc7bb69a8d2a +[c-preload]: http://github.com/Oberon00/luabind/commit/3502e9c7234daf1b12f6dc7f545d361d5cee105d +[c-table]: http://github.com/Oberon00/luabind/commit/dd4a1695dcbabbe1541f229ff245178b0621cf0d +[c-modulo]: http://github.com/Oberon00/luabind/commit/855b4afba0204d0ae6e8fbd251dfc71f4d84353e + +Additionally, the removal of many lines of death code, also unused (parts of) +member variables and other minor improvements make luabind generally +(a little bit) faster and less memory hungry. + +Many compiler warnings have also been fixed. The remaining (irrelevant) ones +are silenced, so the build should be completely warning- (and of course +error-)free on Clang, g++ and MSVC. + +This fork is fully source (API) compatible to the original luabind library, +but not binary compatible. + +### A word on the branch names ### + +First I worked against the 0.9 branch but then decided to rename it to master, +since it actually has become the master branch of development in this fork. +The original master branch is now named old-master. diff --git a/external/sources/luabind-oberon00-49814f6/cmake/Modules/FindLua52.cmake b/external/sources/luabind-oberon00-49814f6/cmake/Modules/FindLua52.cmake new file mode 100644 index 0000000000..f4398e4692 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/cmake/Modules/FindLua52.cmake @@ -0,0 +1,129 @@ +# Locate Lua library +# This module defines +# LUA52_FOUND, if false, do not try to link to Lua +# LUA_LIBRARIES +# LUA_INCLUDE_DIR, where to find lua.h +# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) +# +# Note that the expected include convention is +# #include "lua.h" +# and not +# #include +# This is because, the lua location is not standardized and may exist +# in locations other than lua/ + +#============================================================================= +# CMake - Cross Platform Makefile Generator +# Copyright 2007-2009 Kitware, Inc. +# +# Adjusted for Lua 5.2 (from 5.1) by Christian Neumüller +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +FIND_PATH(LUA_INCLUDE_DIR lua.h + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES include/lua52 include/lua5.2 include/lua include + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave + /opt +) + +FIND_LIBRARY(_LUA_LIBRARY_RELEASE + NAMES lua52 lua5.2 lua-5.2 lua + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES lib64 lib + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw + /opt/local + /opt/csw + /opt +) + +FIND_LIBRARY(_LUA_LIBRARY_DEBUG + NAMES lua52-d lua5.2-d lua-5.2-d lua-d + HINTS + $ENV{LUA_DIR} + PATH_SUFFIXES lib64 lib + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw + /opt/local + /opt/csw + /opt +) + +IF(_LUA_LIBRARY_RELEASE OR _LUA_LIBRARY_DEBUG) + IF(_LUA_LIBRARY_RELEASE AND _LUA_LIBRARY_DEBUG) + SET(_LUA_LIBRARY optimized ${_LUA_LIBRARY_RELEASE} + debug ${_LUA_LIBRARY_DEBUG}) + ELSEIF(_LUA_LIBRARY_RELEASE) + SET(_LUA_LIBRARY ${_LUA_LIBRARY_RELEASE}) + ELSE() + SET(_LUA_LIBRARY ${_LUA_LIBRARY_DEBUG}) + ENDIF() + + IF(UNIX AND NOT APPLE) + FIND_LIBRARY(_LUA_MATH_LIBRARY m) + mark_as_advanced(_LUA_MATH_LIBRARY) + ENDIF(UNIX AND NOT APPLE) + # For Windows and Mac, don't need to explicitly include the math library +ENDIF() + +IF(_LUA_LIBRARY) + SET(LUA_LIBRARIES + "${_LUA_LIBRARY}" "${_LUA_MATH_LIBRARY}" CACHE STRING "Lua 5.2 Libraries") +ENDIF(_LUA_LIBRARY) + + +IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h") + FILE(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"") + + STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") + UNSET(lua_version_str) +ENDIF() + +INCLUDE(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if +# all listed variables are TRUE +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua52 + REQUIRED_VARS LUA_INCLUDE_DIR LUA_LIBRARIES + VERSION_VAR LUA_VERSION_STRING) + +MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY + _LUA_LIBRARY_RELEASE _LUA_LIBRARY_DEBUG) diff --git a/external/sources/luabind-oberon00-49814f6/cmake/Modules/FindLuabind.cmake b/external/sources/luabind-oberon00-49814f6/cmake/Modules/FindLuabind.cmake new file mode 100644 index 0000000000..db77335ebd --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/cmake/Modules/FindLuabind.cmake @@ -0,0 +1,42 @@ +# Locate Luabind library + +FIND_PATH(LUABIND_INCLUDE_DIRS luabind/luabind.hpp + HINTS $ENV{LUABIND_DIR} + PATH_SUFFIXES include/luabind09 include/luabind include +) + +FIND_LIBRARY(_LUABIND_LIBRARY_RELEASE + NAMES luabind09 luabind-0.9 luabind + HINTS $ENV{LUABIND_DIR} + PATH_SUFFIXES lib64 lib +) + +FIND_LIBRARY(_LUABIND_LIBRARY_DEBUG + NAMES luabind09-d luabind-0.9-d luabind-d + HINTS $ENV{LUABIND_DIR} + PATH_SUFFIXES lib64 lib +) + +IF(_LUABIND_LIBRARY_RELEASE OR _LUABIND_LIBRARY_DEBUG) + IF(_LUABIND_LIBRARY_RELEASE AND _LUABIND_LIBRARY_DEBUG) + SET(_LUABIND_LIBRARY optimized ${_LUABIND_LIBRARY_RELEASE} + debug ${_LUABIND_LIBRARY_DEBUG}) + ELSEIF(_LUABIND_LIBRARY_RELEASE) + SET(_LUABIND_LIBRARY ${_LUABIND_LIBRARY_RELEASE}) + ELSE() + SET(_LUABIND_LIBRARY ${_LUABIND_LIBRARY_DEBUG}) + ENDIF() +ENDIF() + +IF(_LUABIND_LIBRARY) + SET(LUABIND_LIBRARIES + "${_LUABIND_LIBRARY}" CACHE STRING "Luabind Libraries") +ENDIF(_LUABIND_LIBRARY) + +INCLUDE(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +# handle the QUIETLY and REQUIRED arguments and set LUABIND_FOUND to TRUE if +# all listed variables are TRUE +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Luabind + REQUIRED_VARS LUABIND_INCLUDE_DIRS LUABIND_LIBRARIES) + +MARK_AS_ADVANCED(LUABIND_INCLUDE_DIRS LUABIND_LIBRARIES) diff --git a/external/sources/luabind-oberon00-49814f6/doc/CMakeLists.txt b/external/sources/luabind-oberon00-49814f6/doc/CMakeLists.txt new file mode 100644 index 0000000000..e3cac75740 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/CMakeLists.txt @@ -0,0 +1,76 @@ +# Embedded build for LuaBind +# 2009-2011 Ryan Pavlik +# http://academic.cleardefinition.com/ +# Iowa State University HCI Graduate Program/VRAC + +set(SOURCES + conf.py + acknowledgments.rst + basic-usage.rst + build-options.rst + building.rst + classes.rst + errors.rst + exceptions.rst + faq.rst + functions.rst + impl-notes.rst + index.rst + intro.rst + issues.rst + lua-classes.rst + object.rst + policies.rst + scopes.rst + split-registration.rst + userdefined-converters.rst + policies/adopt.rst + policies/copy.rst + policies/dependency.rst + policies/discard_result.rst + policies/out_value.rst + policies/pure_out_value.rst + policies/raw.rst + policies/return_reference_to.rst + policies/return_stl_iterator.rst + policies/yield.rst) + + +if (WIN32) + list (APPEND SOURCES make.bat) + set(SPHINX_CMD "${CMAKE_CURRENT_BINARY_DIR}/make.bat" html) +else() + list (APPEND SOURCES Makefile) + set(SPHINX_CMD make html) +endif() + +set(SOURCES_COPIED) +foreach(SOURCE ${SOURCES}) + set(CURRENT_SOURCE_O "${CMAKE_CURRENT_BINARY_DIR}/${SOURCE}") + add_custom_command(OUTPUT ${CURRENT_SOURCE_O} + COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}" ${CURRENT_SOURCE_O} + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}" + COMMENT "Copying ${SOURCE}") + list(APPEND SOURCES_COPIED ${CURRENT_SOURCE_O}) +endforeach() + +include(GetGitRevisionDescription.cmake) +git_describe(GIT_DESCRIPTION) +if(GIT_DESCRIPTION) + string(REGEX REPLACE "^v" "" DOCS_VERSION "${GIT_DESCRIPTION}") +else() + set(DOCS_VERSION "${CPACK_PACKAGE_VERSION}") +endif() + +configure_file(git_version.in "${CMAKE_CURRENT_BINARY_DIR}/git_version") +list(APPEND SOURCES "${CMAKE_CURRENT_BINARY_DIR}/git_version.py") + +add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_build/" + COMMAND ${SPHINX_CMD} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS ${SOURCES_COPIED} + VERBATIM + COMMENT "Generating HTML documentation with sphinx makefile/script.") +add_custom_target(doc DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/_build/") + + diff --git a/external/sources/luabind-oberon00-49814f6/doc/GetGitRevisionDescription.cmake b/external/sources/luabind-oberon00-49814f6/doc/GetGitRevisionDescription.cmake new file mode 100644 index 0000000000..ebed13ae75 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/GetGitRevisionDescription.cmake @@ -0,0 +1,116 @@ +# - Returns a version string from Git +# +# These functions force a re-configure on each git commit so that you can +# trust the values of the variables in your build system. +# +# get_git_head_revision( [ ...]) +# +# Returns the refspec and sha hash of the current head revision +# +# git_describe( [ ...]) +# +# Returns the results of git describe on the source tree, and adjusting +# the output so that it tests false if an error occurs. +# +# git_get_exact_tag( [ ...]) +# +# Returns the results of git describe --exact-match on the source tree, +# and adjusting the output so that it tests false if there was no exact +# matching tag. +# +# Requires CMake 2.6 or newer (uses the 'function' command) +# +# Original Author: +# 2009-2010 Ryan Pavlik +# http://academic.cleardefinition.com +# Iowa State University HCI Graduate Program/VRAC +# +# Copyright Iowa State University 2009-2010. +# 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) + +if(__get_git_revision_description) + return() +endif() +set(__get_git_revision_description YES) + +# We must run the following at "include" time, not at function call time, +# to find the path to this module rather than the path to a calling list file +get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH) + +function(get_git_head_revision _refspecvar _hashvar) + set(GIT_PARENT_DIR "${CMAKE_SOURCE_DIR}") + set(GIT_DIR "${GIT_PARENT_DIR}/.git") + while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories + set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}") + get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH) + if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT) + # We have reached the root directory, we are not in git + set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) + set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) + return() + endif() + set(GIT_DIR "${GIT_PARENT_DIR}/.git") + endwhile() + set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") + if(NOT EXISTS "${GIT_DATA}") + file(MAKE_DIRECTORY "${GIT_DATA}") + endif() + + if(NOT EXISTS "${GIT_DIR}/HEAD") + return() + endif() + set(HEAD_FILE "${GIT_DATA}/HEAD") + configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) + + configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" + "${GIT_DATA}/grabRef.cmake" + @ONLY) + include("${GIT_DATA}/grabRef.cmake") + + set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) + set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE) +endfunction() + +function(git_describe _var) + if(NOT GIT_FOUND) + find_package(Git QUIET) + endif() + get_git_head_revision(refspec hash) + if(NOT GIT_FOUND) + set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) + return() + endif() + if(NOT hash) + set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) + return() + endif() + + # TODO sanitize + #if((${ARGN}" MATCHES "&&") OR + # (ARGN MATCHES "||") OR + # (ARGN MATCHES "\\;")) + # message("Please report the following error to the project!") + # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}") + #endif() + + #message(STATUS "Arguments to execute_process: ${ARGN}") + + execute_process(COMMAND "${GIT_EXECUTABLE}" describe ${hash} ${ARGN} + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" + RESULT_VARIABLE res + OUTPUT_VARIABLE out + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT res EQUAL 0) + set(out "${out}-${res}-NOTFOUND") + endif() + + set(${_var} "${out}" PARENT_SCOPE) +endfunction() + +function(git_get_exact_tag _var) + git_describe(out --exact-match ${ARGN}) + set(${_var} "${out}" PARENT_SCOPE) +endfunction() diff --git a/external/sources/luabind-oberon00-49814f6/doc/GetGitRevisionDescription.cmake.in b/external/sources/luabind-oberon00-49814f6/doc/GetGitRevisionDescription.cmake.in new file mode 100644 index 0000000000..c85ac472bd --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/GetGitRevisionDescription.cmake.in @@ -0,0 +1,38 @@ +# +# Internal file for GetGitRevisionDescription.cmake +# +# Requires CMake 2.6 or newer (uses the 'function' command) +# +# Original Author: +# 2009-2010 Ryan Pavlik +# http://academic.cleardefinition.com +# Iowa State University HCI Graduate Program/VRAC +# +# Copyright Iowa State University 2009-2010. +# 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) + +set(HEAD_HASH) + +file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) + +string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) +if(HEAD_CONTENTS MATCHES "ref") + # named branch + string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") + if(EXISTS "@GIT_DIR@/${HEAD_REF}") + configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) + elseif(EXISTS "@GIT_DIR@/logs/${HEAD_REF}") + configure_file("@GIT_DIR@/logs/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) + set(HEAD_HASH "${HEAD_REF}") + endif() +else() + # detached HEAD + configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) +endif() + +if(NOT HEAD_HASH) + file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) + string(STRIP "${HEAD_HASH}" HEAD_HASH) +endif() diff --git a/external/sources/luabind-oberon00-49814f6/doc/Makefile b/external/sources/luabind-oberon00-49814f6/doc/Makefile new file mode 100644 index 0000000000..bcbd34717a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/Makefile @@ -0,0 +1,177 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Luabind.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Luabind.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/Luabind" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Luabind" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/external/sources/luabind-oberon00-49814f6/doc/acknowledgments.rst b/external/sources/luabind-oberon00-49814f6/doc/acknowledgments.rst new file mode 100644 index 0000000000..ba0e1d2813 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/acknowledgments.rst @@ -0,0 +1,25 @@ +Acknowledgments +=============== + +Written by Daniel Wallin and Arvid Norberg. © Copyright 2003. +All rights reserved. + +Evan Wies has contributed with thorough testing, countless bug reports +and feature ideas. + +Many features and fixes of this fork come from `Ryan Pavlik's (rpavlik) fork`__ +and from `Peter Colberg (fhoefling's fork)`__. + +.. __: https://github.com/rpavlik/luabind/ +.. __: https://github.com/fhoefling/luaponte/ + +Christian Neumüller (Oberon00) is the maintainer of `this fork`_. + +.. _this fork: http://github.com/Oberon00/luabind/ + +A rather complete list of contributors can be found at +http://github.com/Oberon00/luabind/contributors. + +This library was highly inspired by Dave Abrahams' Boost.Python_ library. + +.. _Boost.Python: http://www.boost.org/libs/python \ No newline at end of file diff --git a/external/sources/luabind-oberon00-49814f6/doc/basic-usage.rst b/external/sources/luabind-oberon00-49814f6/doc/basic-usage.rst new file mode 100644 index 0000000000..4cd58b747c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/basic-usage.rst @@ -0,0 +1,70 @@ +Basic usage +=========== + +To use luabind, you must include ``lua.h`` and luabind's main header file:: + + extern "C" + { + #include "lua.h" + } + + #include + +This includes support for both registering classes and functions. If you just +want to have support for functions or classes you can include +``luabind/function.hpp`` and ``luabind/class.hpp`` separately:: + + #include + #include + +The first thing you need to do is to call ``luabind::open(lua_State*)`` which +will register the functions to create classes from Lua, and initialize some +state-global structures used by luabind. If you don't call this function you +will hit asserts later in the library. There is no corresponding close function +because once a class has been registered in Lua, there really isn't any good +way to remove it. Partly because any remaining instances of that class relies +on the class being there. Everything will be cleaned up when the state is +closed though. + +.. Isn't this wrong? Don't we include lua.h using lua_include.hpp ? + +Luabind's headers will never include ``lua.h`` directly, but through +````. If you for some reason need to include another +Lua header, you can modify this file. + + +Hello world +----------- + +:: + + #include + #include + + void greet() + { + std::cout << "hello world!\n"; + } + + extern "C" int init(lua_State* L) + { + using namespace luabind; + + open(L); + + module(L) + [ + def("greet", &greet) + ]; + + return 0; + } + +.. code-block:: lua + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + > loadlib('hello_world.dll', 'init')() + > greet() + Hello world! + > + diff --git a/external/sources/luabind-0.7.1/doc/changes.txt b/external/sources/luabind-oberon00-49814f6/doc/changes.txt similarity index 94% rename from external/sources/luabind-0.7.1/doc/changes.txt rename to external/sources/luabind-oberon00-49814f6/doc/changes.txt index 5d77c6d3a2..303120e129 100644 --- a/external/sources/luabind-0.7.1/doc/changes.txt +++ b/external/sources/luabind-oberon00-49814f6/doc/changes.txt @@ -3,7 +3,7 @@ LUABIND 7.1 changes * Applied patches from Evan Wies to support lua 5.1 * added a new assignment operator and a special value, - luabind::nil, to set table entries to nil. + luabind::nil, to set table entries to nil. LUABIND BETA 7 changes @@ -13,7 +13,7 @@ We have introduced a change that may break current code, nothing will break silently however. The change is that the previous way of writing virtual class -wrappers was to have it contain an object that refered to +wrappers was to have it contain an object that referred to the actual lua object. This would cause a dependency cycle and result in the object never being garbage collected until the whole lua state was closed. The new way is to use a newly @@ -31,7 +31,7 @@ Changes from beta6 * moved iterators out of the class and removed begin/end/raw_begin/raw_end/array_begin/array_end. See updated docs for how to use the iterators. - * removed array_iterator alltogether + * removed array_iterator altogether * renamed pushvalue() to push() * removed set() * replaced the constructor that creates an object from @@ -111,9 +111,9 @@ policy placeholders luabind now handles member functions in a more general way. The self reference that is passed as first parameter to -member functions is now refered to using the _1 placeholder +member functions is now referred to using the _1 placeholder (instead of self). This means that the first argument to a -member function is refered to with _2. +member function is referred to with _2. additions @@ -149,5 +149,5 @@ bugfixes * fixed leak when using class wrappers. They had a reference cycle that wouldn't get collected (until the lua_State was closed). -* lots of other fixes we can't remember +* lots of other fixes we can't remember diff --git a/external/sources/luabind-oberon00-49814f6/doc/classes.rst b/external/sources/luabind-oberon00-49814f6/doc/classes.rst new file mode 100644 index 0000000000..3747519176 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/classes.rst @@ -0,0 +1,625 @@ +.. _part-classes: + +Binding classes to Lua +====================== + +To register classes you use a class called ``class_``. Its name is supposed to +resemble the C++ keyword, to make it look more intuitive. It has an overloaded +member function ``def()`` that is used to register member functions, operators, +constructors, enums and properties on the class. It will return its +this-pointer, to let you register more members directly. + +Let's start with a simple example. Consider the following C++ class:: + + class testclass + { + public: + testclass(const std::string& s): m_string(s) {} + void print_string() { std::cout << m_string << "\n"; } + + private: + std::string m_string; + }; + +To register it with a Lua environment, write as follows (assuming you are using +namespace luabind):: + + module(L) + [ + class_("testclass") + .def(constructor()) + .def("print_string", &testclass::print_string) + ]; + +This will register the class with the name testclass and constructor that takes +a string as argument and one member function with the name ``print_string``. + +.. code-block:: lua + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + > a = testclass('a string') + > a:print_string() + a string + +It is also possible to register free functions as member functions. The +requirement on the function is that it takes a pointer, const pointer, +reference or const reference to the class type as the first parameter. The rest +of the parameters are the ones that are visible in Lua, while the object +pointer is given as the first parameter. If we have the following C++ code:: + + struct A + { + int a; + }; + + int plus(A* o, int v) { return o->a + v; } + +You can register ``plus()`` as if it was a member function of A like this:: + + class_("A") + .def("plus", &plus) + +``plus()`` can now be called as a member function on A with one parameter, int. +If the object pointer parameter is const, the function will act as if it was a +const member function (it can be called on const objects). + + +Overloaded member functions +--------------------------- + +When binding more than one overloads of a member function, or just binding +one overload of an overloaded member function, you have to disambiguate +the member function pointer you pass to ``def``. To do this, you can use an +ordinary C-style cast, to cast it to the right overload. To do this, you have +to know how to express member function types in C++, here's a short tutorial +(for more info, refer to your favorite book on C++). + +The syntax for member function pointer follows: + +.. parsed-literal:: + + *return-value* (*class-name*::\*)(*arg1-type*, *arg2-type*, *...*) + +Here's an example illlustrating this:: + + struct A + { + void f(int); + void f(int, int); + }; + +:: + + class_() + .def("f", (void(A::*)(int))&A::f) + +This selects the first overload of the function ``f`` to bind. The second +overload is not bound. + + +.. _sec-properties: + +Properties +---------- + +To register a global data member with a class is easily done. Consider the +following class:: + + struct A + { + int a; + }; + +This class is registered like this:: + + module(L) + [ + class_("A") + .def_readwrite("a", &A::a) + ]; + +This gives read and write access to the member variable ``A::a``. It is also +possible to register attributes with read-only access:: + + module(L) + [ + class_("A") + .def_readonly("a", &A::a) + ]; + +When binding members that are a non-primitive type, the auto generated getter +function will return a reference to it. This is to allow chained .-operators. +For example, when having a struct containing another struct. Like this:: + + struct A { int m; }; + struct B { A a; }; + +When binding ``B`` to lua, the following expression code should work: + +.. code-block:: lua + + b = B() + b.a.m = 1 + assert(b.a.m == 1) + +This requires the first lookup (on ``a``) to return a reference to ``A``, and +not a copy. In that case, luabind will automatically use the dependency policy +to make the return value dependent on the object in which it is stored. So, if +the returned reference lives longer than all references to the object (b in +this case) it will keep the object alive, to avoid being a dangling pointer. + +You can also register getter and setter functions and make them look as if they +were a public data member. Consider the following class:: + + class A + { + public: + void set_a(int x) { a = x; } + int get_a() const { return a; } + + private: + int a; + }; + +It can be registered as if it had a public data member a like this:: + + class_("A") + .property("a", &A::get_a, &A::set_a) + +This way the ``get_a()`` and ``set_a()`` functions will be called instead of +just writing to the data member. If you want to make it read only you can just +omit the last parameter. Please note that the get function **has to be +const**, otherwise it won't compile. This seems to be a common source of errors. + + +Enums +----- + +If your class contains enumerated constants (enums), you can register them as +well to make them available in Lua. Note that they will not be type safe, all +enums are integers in Lua, and all functions that takes an enum, will accept +any integer. You register them like this:: + + module(L) + [ + class_("A") + .enum_("constants") + [ + value("my_enum", 4), + value("my_2nd_enum", 7), + value("another_enum", 6) + ] + ]; + +In Lua they are accessed like any data member, except that they are read-only +and reached on the class itself rather than on an instance of the class. + +.. code-block:: lua + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + > print(A.my_enum) + 4 + > print(A.another_enum) + 6 + + +Operators +--------- + +To bind operators you have to include ````. + +The mechanism for registering operators on your class is pretty simple. You use +a global name ``luabind::self`` to refer to the class itself and then you just +write the operator expression inside the ``def()`` call. This class:: + + struct vec + { + vec operator+(int s); + }; + +Is registered like this: + +.. parsed-literal:: + + module(L) + [ + class_("vec") + .def(**self + int()**) + ]; + +This will work regardless if your plus operator is defined inside your class or +as a free function. + +If your operator is const (or, when defined as a free function, takes a const +reference to the class itself) you have to use ``const_self`` instead of +``self``. Like this: + +.. parsed-literal:: + + module(L) + [ + class_("vec") + .def(**const_self** + int()) + ]; + +The operators supported are those available in Lua: + +.. parsed-literal:: + + + - \* / == < <= % + +This means, no in-place operators. + +Default implementations (described below) are provided for `==` and the +special `__tostring` pseudo-operator. If any other operator is called, Luabind +will trigger an error ("[const] class : no defined.", +e.g. "class vec: no __div operator defined."). + +The equality operator (``==``) has a little hitch; it will not be called if +the references are equal. This means that the ``==`` operator has to do pretty +much what's it's expected to do. + +For Luabind's default `==` operator, two objects are equal only if they are +both objects of Luabind-exported classes and have the same addresses, after +casting both to a common base if neccessary. If they do not have a common +base (and are not of the same type), they compare unequal. + +Lua does not support operators such as ``!=``, ``>`` or ``>=``. That's why you +can only register the operators listed above. When you invoke one of the +mentioned operators, lua will define it in terms of one of the available +operators. + +In the above example the other operand type is instantiated by writing +``int()``. If the operand type is a complex type that cannot easily be +instantiated you can wrap the type in a class called ``other<>``. For example: + +To register this class, we don't want to instantiate a string just to register +the operator. + +:: + + struct vec + { + vec operator+(std::string); + }; + +Instead we use the ``other<>`` wrapper like this: + +.. parsed-literal:: + + module(L) + [ + class_("vec") + .def(self + **other()**) + ]; + +To register an application (function call-) operator: + +.. parsed-literal:: + + module(L) + [ + class_("vec") + .def( **self(int())** ) + ]; + +There's one special operator. In Lua it's called ``__tostring``, it's not +really an operator. It is used for converting objects to strings in a standard +way in Lua. If you register this functionality, you will be able to use the lua +standard function ``tostring()`` for converting your object to a string. + +To implement this operator in C++ you should supply an ``operator<<`` for +std::ostream. Like this example: + +.. parsed-literal:: + + class number {}; + std::ostream& operator<<(std::ostream&, number&); + + ... + + module(L) + [ + class_("number") + .def(**tostring(self)**) + ]; + +If you do not define a ``__tostring`` operator, Luabind supplies a default +which result in strings of the form ``[const] object:
``, i.e. +``const`` is prepended if the object is const, ```` will be the string +you supplied to ``class_`` (or a string derived from `std::type_info::name` +for unnamed classes) and ``
`` will be the address of the C++ object. +(Note that in multiple inheritance scenarios where the same object is pushed +as multiple different base types, the addresses returned for the same +most-derived object will differ). + + +Nested scopes and static functions +---------------------------------- + +It is possible to add nested scopes to a class. This is useful when you need +to wrap a nested class, or a static function. + +.. parsed-literal:: + + class_("foo") + .def(constructor<>()) + **.scope + [ + class_("nested"), + def("f", &f) + ]**; + +In this example, ``f`` will behave like a static member function of the class +``foo``, and the class ``nested`` will behave like a nested class of ``foo``. + +It's also possible to add namespaces to classes using the same syntax. + + +Derived classes +--------------- + +If you want to register classes that derives from other classes, you can +specify a template parameter ``bases<>`` to the ``class_`` instantiation. The +following hierarchy:: + + struct A {}; + struct B : A {}; + +Would be registered like this:: + + module(L) + [ + class_("A"), + class_("B") + ]; + +If you have multiple inheritance you can specify more than one base. If B would +also derive from a class C, it would be registered like this:: + + module(L) + [ + class_ >("B") + ]; + +Note that you can omit ``bases<>`` when using single inheritance. + +.. note:: + If you don't specify that classes derive from each other, luabind will not + be able to implicitly cast pointers between the types. + + +Smart pointers +-------------- + +When registering a class you can tell luabind to hold all instances +explicitly created in Lua in a specific smart pointer type, rather than +the default raw pointer. This is done by passing an additional template +parameter to ``class_``: + +.. parsed-literal:: + + class_(|...|) + +Where the requirements of ``P`` are: + +======================== ======================================= +Expression Returns +======================== ======================================= +``P(raw)`` +``get_pointer(p)`` Convertible to ``X*`` +======================== ======================================= + +where: + +* ``raw`` is of type ``X*`` +* ``p`` is an instance of ``P`` + +``get_pointer()`` overloads are provided for the smart pointers in +Boost, and ``std::auto_ptr<>``. Should you need to provide your own +overload, note that it is called unqualified and is expected to be found +by *argument dependent lookup*. Thus it should be defined in the same +namespace as the pointer type it operates on. + +For example: + +.. parsed-literal:: + + class_** >("X") + .def(constructor<>()) + +Will cause luabind to hold any instance created on the Lua side in a +``boost::scoped_ptr``. Note that this doesn't mean **all** instances +will be held by a ``boost::scoped_ptr``. If, for example, you +register a function:: + + std::auto_ptr make_X(); + +the instance returned by that will be held in ``std::auto_ptr``. This +is handled automatically for all smart pointers that implement a +``get_pointer()`` overload. + +.. important:: + + ``get_const_holder()`` has been removed. Automatic conversions + between ``smart_ptr`` and ``smart_ptr`` no longer work. + +.. important:: + + ``__ok`` has been removed. Similar functionality can be implemented + for specific pointer types by doing something along the lines of: + + .. parsed-literal:: + + bool is_non_null(std::auto_ptr const& p) + { + return p.get(); + } + + |...| + + def("is_non_null", &is_non_null) + +When registering a hierarchy of classes, where all instances are to be held +by a smart pointer, all the classes should have the baseclass' holder type. +Like this: + +.. parsed-literal:: + + module(L) + [ + class_ >("base") + .def(constructor<>()), + class_** >("derived") + .def(constructor<>()) + ]; + +Internally, luabind will do the necessary conversions on the raw pointers, which +are first extracted from the holder type. + +This means that for Luabind a ``smart_ptr`` is not related to a +``smart_ptr``, but ``derived*`` and ``base*`` are, as are +``smart_ptr`` and ``base*``. In other words, upcasting does not work +for smart pointers as target types, but as source types. + + +Additional support for shared_ptr and intrusive_ptr +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This limitation cannot be removed for all smart pointers in a generic way, +but luabind has special support for + + * ``boost::shared_ptr`` in ``shared_ptr_converter.hpp`` + * ``std::shared_ptr`` in ``std_shared_ptr_converter.hpp`` + * ``boost::intrusive_ptr`` in ``intrusive_ptr_converter.hpp`` + +You should include the header(s) you need in the cpp files which register +functions that accept the corresponding smart pointer types, to get automatic +conversions from ``smart_ptr`` to ``smart_ptr``, whenever Luabind would +convert ``X*`` to ``Y*``, removing the limitation mentioned above. + +However, the ``shared_ptr`` converters might not behave exactly as you would +expect: + + 1. If the shared_ptr requested (from C++) has the exact same type as the + one which is present in Lua (if any), then a copy will be made. + + 2. If the pointee type of the requested shared_ptr has a + ``shared_from_this`` member (checked automatically at compile time), + this will be used to obtain a ``shared_ptr``. Caveats: + + * If the object is not already held in a shared_ptr, behavior is + undefined (probably a ``bad_weak_ptr`` exception will be thrown). + + * If the ``shared_from_this`` member is not a function with the right + prototype (``ptr_t shared_from_this()`` with the expression :: + + shared_ptr(raw->shared_from_this(), raw) + + being valid, where ``raw`` is of type ``RequestedT*`` and points to + the C++ object in Lua. + + 3. Otherwise, a new ``shared_ptr`` will be created from the raw pointer + associated with the Lua object (even if it is not held in a + ``shared_ptr``). It will have a deleter set that holds a strong + reference to the Lua object, thus preventing it’s collection until the + reference is released by invoking the deleter (i.e. by resetting or + destroying the ``shared_ptr``) or until the assocciated ``lua_State`` + is closed: then the ``shared_ptr`` becomes dangling. + + If such a ``shared_ptr`` is passed back to Lua, the original Lua object + (userdata) will be passed instead, preventing the creation of more + ``shared_ptr``\ s with this deleter. + +1. is as you should have expected and 2. is special behavior introduced to +avoid 3. when possible. If you cannot derive your (root) classes from +``enable_shared_from_this`` (which is the recommended way of providing a +``shared_from_this`` method) you must be careful not to close the +``lua_State`` when you still have a ``shared_ptr`` obtained by 3. + +There are three functions provided to support this (in namespace luabind):: + + bool is_state_unreferenced(lua_State* L); + + typedef void(*state_unreferenced_fun)(lua_State* L); + void set_state_unreferenced_callback(lua_State* L, state_unreferenced_fun cb); + state_unreferenced_fun get_state_unreferenced_callback(lua_State* L); + +``is_state_unreferenced`` will return ``false`` if closing ``L`` would make +existing ``shared_ptrs`` dangling and ``true`` if it safe (in this respect) to +call ``lua_close(L)``. + +The ``cb`` argument passed to ``set_state_unreferenced_callback`` will be +called whenever the return value of ``is_state_unreferenced(L)`` would change +from ``false`` to ``true``. + +``get_state_unreferenced_callback`` returns the current +``state_unreferenced_fun`` for ``L``. + +A typical use of this functions would be to replace :: + + lua_close(L); + +with :: + + if (luabind::is_state_unreferenced(L)) + lua_close(L); + else + luabind::set_state_unreferenced_callback(L, &lua_close); + +(``lua_close`` happens to be a valid ``state_unreferenced_fun``.) + + +Unnamed classes +--------------- + +You can register unnamed classes by not passing a name to ``class_``:: + + class_() + +This does not export the class object itself to Lua, meaning that +constructors cannot be called and enums are only accessible via objects of +this class' type. + +This is useful e.g. for registering multiple instantiations of a class +template, and construct a matching instance using a factory function, +like boost::make_shared of for hiding intermediate classes in inheritance +hierarchies. + + +.. _sec-split-cls-registration: + +Splitting class registrations +----------------------------- + +In some situations it may be desirable to split a registration of a class +across different compilation units. Partly to save rebuild time when changing +in one part of the binding, and in some cases compiler limits may force you +to split it. To do this is very simple. Consider the following sample code:: + + void register_part1(class_& x) + { + x.def(/*...*/); + } + + void register_part2(class_& x) + { + x.def(/*...*/); + } + + void register_(lua_State* L) + { + class_ x("x"); + + register_part1(x); + register_part2(x); + + module(L) [ x ]; + } + +Here, the class ``X`` is registered in two steps. The two functions +``register_part1`` and ``register_part2`` may be put in separate compilation +units. + +To separate the module registration and the classes to be registered, see +:ref:`part-split-registration`. \ No newline at end of file diff --git a/external/sources/luabind-oberon00-49814f6/doc/conf.py b/external/sources/luabind-oberon00-49814f6/doc/conf.py new file mode 100644 index 0000000000..c8c7ac5ec1 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/conf.py @@ -0,0 +1,263 @@ +# -*- coding: utf-8 -*- +# +# Luabind documentation build configuration file, created by +# sphinx-quickstart on Thu Aug 08 22:35:23 2013. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Luabind' +copyright = u'2005 Rasterbar Software; 2013 Christian Neumüller' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.9' + +# The full version, including alpha/beta/rc tags. +with open('git_version') as f: + release = f.readline() + + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build', 'policies', 'version.rst'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +primary_domain = 'cpp' + +highlight_language = 'c++' + +rst_epilog = """ +.. |...| unicode:: U+02026 +""" + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'pyramid' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +html_short_title = 'Luabind' + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Luabinddoc' + +html_use_modindex = False + +html_use_index = False + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'Luabind.tex', u'Luabind Documentation', + u'Daniel Wallin, Arvid Norberg', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'luabind', u'Luabind Documentation', + [u'Daniel Wallin, Arvid Norberg'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'Luabind', u'Luabind Documentation', + u'Daniel Wallin, Arvid Norberg', 'Luabind', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False diff --git a/external/sources/luabind-oberon00-49814f6/doc/errors.rst b/external/sources/luabind-oberon00-49814f6/doc/errors.rst new file mode 100644 index 0000000000..32a1f6bdde --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/errors.rst @@ -0,0 +1,182 @@ +Error Handling +============== + +.. _sec-pcall-errorfunc: + +pcall errorfunc +--------------- + +As mentioned in the `Lua documentation`_, it is possible to pass an +error handler function to ``lua_pcall()``. Luabind makes use of +``lua_pcall()`` internally when calling member functions and free functions. +It is possible to set the error handler function that Luabind will use +globally:: + + typedef int(*pcall_callback_fun)(lua_State*); + void set_pcall_callback(pcall_callback_fun fn); + +This is primarily useful for adding more information to the error message +returned by a failed protected call. For more information on how to use the +pcall_callback function, see ``errfunc`` under the +`pcall section of the lua manual`_. + +For more information on how to retrieve debugging information from lua, see +`the debug section of the lua manual`_. + +The message returned by the ``pcall_callback`` is accessable as the top lua +value on the stack. For example, if you would like to access it as a luabind +object, you could do like this:: + + catch(error& e) + { + object error_msg(from_stack(e.state(), -1)); + std::cout << error_msg << std::endl; + } + +.. _Lua documentation: http://www.lua.org/manual/5.0/manual.html +.. _`pcall section of the lua manual`: http://www.lua.org/manual/5.0/manual.html#3.15 +.. _`the debug section of the lua manual`: http://www.lua.org/manual/5.0/manual.html#4 + +file and line numbers +--------------------- + +If you want to add file name and line number to the error messages generated +by luabind you can define your own `pcall errorfunc`_. You may want to modify +this callback to better suit your needs, but the basic functionality could be +implemented like this:: + + int add_file_and_line(lua_State* L) + { + lua_Debug d; + lua_getstack(L, 1, &d); + lua_getinfo(L, "Sln", &d); + std::string err = lua_tostring(L, -1); + lua_pop(L, 1); + std::stringstream msg; + msg << d.short_src << ":" << d.currentline; + + if (d.name != 0) + { + msg << "(" << d.namewhat << " " << d.name << ")"; + } + msg << " " << err; + lua_pushstring(L, msg.str().c_str()); + return 1; + } + +For more information about what kind of information you can add to the error +message, see `the debug section of the lua manual`_. + +Note that the callback set by ``set_pcall_callback()`` will only be used when +luabind executes lua code. Anytime when you call ``lua_pcall`` yourself, you +have to supply your function if you want error messages translated. + +.. _sec-lua-panic: + +lua panic +--------- + +When lua encounters a fatal error caused by a bug from the C/C++ side, it will +call its internal panic function. This can happen, for example, when you call +``lua_gettable`` on a value that isn't a table. If you do the same thing from +within lua, it will of course just fail with an error message. + +The default panic function will ``exit()`` the application. If you want to +handle this case without terminating your application, you can define your own +panic function using ``lua_atpanic``. The best way to continue from the panic +function is to make sure lua is compiled as C++ and throw an exception from +the panic function. Throwing an exception instead of using ``setjmp`` and +``longjmp`` will make sure the stack is correctly unwound. + +When the panic function is called, the lua state is invalid, and the only +allowed operation on it is to close it. + +For more information, see the `lua manual section 3.19`_. + +.. _`lua manual section 3.19`: http://www.lua.org/manual/5.0/manual.html#3.19 + +structured exceptions (MSVC) +---------------------------- + +Since lua is generally built as a C library, any callbacks called from lua +cannot under any circumstance throw an exception. Because of that, luabind has +to catch all exceptions and translate them into proper lua errors (by calling +``lua_error()``). This means we have a ``catch(...) {}`` in there. + +In Visual Studio, ``catch (...)`` will not only catch C++ exceptions, it will +also catch structured exceptions, such as segmentation fault. This means that if +your function, that gets called from luabind, makes an invalid memory +adressing, you won't notice it. All that will happen is that lua will return +an error message saying "unknown exception". + +To remedy this, you can create your own *exception translator*:: + + void straight_to_debugger(unsigned int, _EXCEPTION_POINTERS*) + { throw; } + + #ifdef _MSC_VER + ::_set_se_translator(straight_to_debugger); + #endif + +This will make structured exceptions, like segmentation fault, to actually get +caught by the debugger. + + +Error messages +-------------- + +These are the error messages that can be generated by luabind, with a more +in-depth explanation. + +- .. parsed-literal:: + + the attribute '*class-name.attribute-name*' is read only + + There is no data member named *attribute-name* in the class *class-name*, + or there's no setter-function registered on that property name. See the + :ref:`sec-properties` section. + +- .. parsed-literal:: + + the attribute '*class-name.attribute-name*' is of type: (*class-name*) and does not match (*class_name*) + + This error is generated if you try to assign an attribute with a value + of a type that cannot be converted to the attributes type. + + +- .. parsed-literal:: + + *class-name()* threw an exception, *class-name:function-name()* threw an exception + + The class' constructor or member function threw an unknown exception. + Known exceptions are const char*, std::exception. See the + :ref:`part-exceptions` section. + +- .. parsed-literal:: + + no overload of '*class-name:function-name*' matched the arguments (*parameter-types*) + no match for function call '*function-name*' with the parameters (*parameter-types*) + no constructor of *class-name* matched the arguments (*parameter-types*) + no operator *operator-name* matched the arguments (*parameter-types*) + + No function/operator with the given name takes the parameters you gave + it. You have either misspelled the function name, or given it incorrect + parameters. This error is followed by a list of possible candidate + functions to help you figure out what parameter has the wrong type. If + the candidate list is empty there's no function at all with that name. + See the signature matching section. + +- .. parsed-literal:: + + call of overloaded '*class-name:function-name*(*parameter-types*)' is ambiguous + ambiguous match for function call '*function-name*' with the parameters (*parameter-types*) + call of overloaded constructor '*class-name*(*parameter-types*)' is ambiguous + call of overloaded operator *operator-name* (*parameter-types*) is ambiguous + + This means that the function/operator you are trying to call has at least + one other overload that matches the arguments just as good as the first + overload. + +- .. parsed-literal:: + + cannot derive from C++ class '*class-name*'. It does not have a wrapped type. diff --git a/external/sources/luabind-oberon00-49814f6/doc/exceptions.rst b/external/sources/luabind-oberon00-49814f6/doc/exceptions.rst new file mode 100644 index 0000000000..5ef7331a37 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/exceptions.rst @@ -0,0 +1,126 @@ +.. _part-exceptions: + +Exceptions +========== + +If any of the functions you register throws an exception when called, that +exception will be caught by luabind and converted to an error string and +``lua_error()`` will be invoked. If the exception is a ``std::exception`` or a +``const char*`` the string that is pushed on the Lua stack, as error message, +will be the string returned by ``std::exception::what()`` or the string itself +respectively. If the exception is unknown, a generic string saying that the +function threw an exception will be pushed. + +If you have an exception type that isn't derived from +``std::exception``, or you wish to change the error message from the +default result of ``what()``, it is possible to register custom +exception handlers:: + + struct my_exception + {}; + + void translate_my_exception(lua_State* L, my_exception const&) + { + lua_pushstring(L, "my_exception"); + } + + … + + luabind::register_exception_handler(&translate_my_exception); + +``translate_my_exception()`` will be called by luabind whenever a +``my_exception`` is caught. ``lua_error()`` will be called after the +handler function returns, so it is expected that the function will push +an error string on the stack. + +Any function that invokes Lua code may throw ``luabind::error``. This exception +means that a Lua run-time error occurred. The error message is found on top of +the Lua stack. The reason why the exception doesn't contain the error string +itself is because it would then require heap allocation which may fail. If an +exception class throws an exception while it is being thrown itself, the +application will be terminated. + +Error's synopsis is:: + + class error : public std::exception + { + public: + error(lua_State*); + lua_State* state() const throw(); + virtual const char* what() const throw(); + }; + +The state function returns a pointer to the Lua state in which the error was +thrown. This pointer may be invalid if you catch this exception after the lua +state is destructed. If the Lua state is valid you can use it to retrieve the +error message from the top of the Lua stack. + +An example of where the Lua state pointer may point to an invalid state +follows:: + + struct lua_state + { + lua_state(lua_State* L): m_L(L) {} + ~lua_state() { lua_close(m_L); } + operator lua_State*() { return m_L; } + lua_State* m_L; + }; + + int main() + { + try + { + lua_state L = luaL_newstate(); + /* ... */ + } + catch(luabind::error& e) + { + lua_State* L = e.state(); + // L will now point to the destructed + // Lua state and be invalid + /* ... */ + } + } + +There's another exception that luabind may throw: ``luabind::cast_failed``, +this exception is thrown from ``call_function<>`` or ``call_member<>``. It +means that the return value from the Lua function couldn't be converted to +a C++ value. It is also thrown from ``object_cast<>`` if the cast cannot +be made. + +The synopsis for ``luabind::cast_failed`` is:: + + class cast_failed : public std::exception + { + public: + cast_failed(lua_State*); + lua_State* state() const throw(); + LUABIND_TYPE_INFO info() const throw(); + virtual const char* what() const throw(); + }; + +Again, the state member function returns a pointer to the Lua state where the +error occurred. See the example above to see where this pointer may be invalid. + +The info member function returns the user defined ``LUABIND_TYPE_INFO``, which +defaults to a ``const std::type_info*``. This type info describes the type that +we tried to cast a Lua value to. + +If you have defined ``LUABIND_NO_EXCEPTIONS`` none of these exceptions will be +thrown, instead you can set two callback functions that are called instead. +These two functions are only defined if ``LUABIND_NO_EXCEPTIONS`` are defined. + +:: + + luabind::set_error_callback(void(*)(lua_State*)) + +The function you set will be called when a runtime-error occur in Lua code. You +can find an error message on top of the Lua stack. This function is not +expected to return, if it does luabind will call ``std::terminate()``. + +:: + + luabind::set_cast_failed_callback(void(*)(lua_State*, LUABIND_TYPE_INFO)) + +The function you set is called instead of throwing ``cast_failed``. This function +is not expected to return, if it does luabind will call ``std::terminate()``. \ No newline at end of file diff --git a/external/sources/luabind-oberon00-49814f6/doc/faq.rst b/external/sources/luabind-oberon00-49814f6/doc/faq.rst new file mode 100644 index 0000000000..6cec1510c2 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/faq.rst @@ -0,0 +1,89 @@ +FAQ +=== + +What's up with __cdecl and __stdcall? + If you're having problem with functions + that cannot be converted from ``void (__stdcall *)(int,int)`` to + ``void (__cdecl*)(int,int)``. You can change the project settings to make the + compiler generate functions with __cdecl calling conventions. This is + a problem in developer studio. + +What's wrong with functions taking variable number of arguments? + You cannot register a function with ellipses in its signature. Since + ellipses don't preserve type safety, those should be avoided anyway. + +Internal structure overflow in VC + If you, in visual studio, get fatal error C1204: compiler limit : + internal structure overflow. You should try to split that compilation + unit up in smaller ones. See :ref:`part-split-registration` and + :ref:`sec-split-cls-registration`. + +What's wrong with precompiled headers in VC? + Visual Studio doesn't like anonymous namespaces in its precompiled + headers. If you encounter this problem you can disable precompiled + headers for the compilation unit (cpp-file) that uses luabind. + +error C1076: compiler limit - internal heap limit reached in VC + In visual studio you will probably hit this error. To fix it you have to + increase the internal heap with a command-line option. We managed to + compile the test suit with /Zm300, but you may need a larger heap then + that. + +error C1055: compiler limit \: out of keys in VC + It seems that this error occurs when too many assert() are used in a + program, or more specifically, the __LINE__ macro. It seems to be fixed by + changing /ZI (Program database for edit and continue) to /Zi + (Program database). + +How come my executable is huge? + If you're compiling in debug mode, you will probably have a lot of + debug-info and symbols (luabind consists of a lot of functions). Also, + if built in debug mode, no optimizations were applied, luabind relies on + that the compiler is able to inline functions. If you built in release + mode, try running strip on your executable to remove export-symbols, + this will trim down the size. + + Our tests suggests that cygwin's gcc produces much bigger executables + compared to gcc on other platforms and other compilers. + +.. HUH?! // check the magic number that identifies luabind's functions + +Can I register class templates with luabind? + Yes you can, but you can only register explicit instantiations of the + class. Because there's no Lua counterpart to C++ templates. For example, + you can register an explicit instantiation of std::vector<> like this:: + + module(L) + [ + class_ >("vector") + .def(constructor) + .def("push_back", &std::vector::push_back) + ]; + +.. Again, irrelevant to docs: Note that the space between the two > is required by C++. + +Do I have to register destructors for my classes? + No, the destructor of a class is always called by luabind when an + object is collected. Note that Lua has to own the object to collect it. + If you pass it to C++ and gives up ownership (with adopt policy) it will + no longer be owned by Lua, and not collected. + + If you have a class hierarchy, you should make the destructor virtual if + you want to be sure that the correct destructor is called (this apply to C++ + in general). + +.. And again, the above is irrelevant to docs. This isn't a general C++ FAQ. But it saves us support questions. + +Fatal Error C1063 compiler limit \: compiler stack overflow in VC + VC6.5 chokes on warnings, if you are getting alot of warnings from your + code try suppressing them with a pragma directive, this should solve the + problem. + +Crashes when linking against luabind as a dll in Windows + When you build luabind, Lua and you project, make sure you link against + the runtime dynamically (as a dll). + +I cannot register a function with a non-const parameter + This is because there is no way to get a reference to a Lua value. Have + a look at :ref:`policy-out_value` and :ref:`policy-pure_out_value` + policies. \ No newline at end of file diff --git a/external/sources/luabind-oberon00-49814f6/doc/functions.rst b/external/sources/luabind-oberon00-49814f6/doc/functions.rst new file mode 100644 index 0000000000..b52bdbc31c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/functions.rst @@ -0,0 +1,223 @@ +.. _part-functions: + +Binding functions to Lua +======================== + +To bind functions to Lua you use the function ``luabind::def()``. It has the +following synopsis:: + + template + void def(const char* name, F f, const Policies&); + +- name is the name the function will have within Lua. +- F is the function pointer you want to register. +- The Policies parameter is used to describe how parameters and return values + are treated by the function, this is an optional parameter. More on this in + the :ref:`part-policies` section. + +An example usage could be if you want to register the function ``float +std::sin(float)``:: + + module(L) + [ + def("sin", &std::sin) + ]; + +Overloaded functions +-------------------- + +If you have more than one function with the same name, and want to register +them in Lua, you have to explicitly give the signature. This is to let C++ know +which function you refer to. For example, if you have two functions, ``int +f(const char*)`` and ``void f(int)``. :: + + module(L) + [ + def("f", (int(*)(const char*)) &f), + def("f", (void(*)(int)) &f) + ]; + +Signature matching +------------------ + +luabind will generate code that checks the Lua stack to see if the values there +can match your functions' signatures. It will handle implicit typecasts between +derived classes, and it will prefer matches with the least number of implicit +casts. In a function call, if the function is overloaded and there's no +overload that match the parameters better than the other, you have an +ambiguity. This will spawn a run-time error, stating that the function call is +ambiguous. A simple example of this is to register one function that takes an +int and one that takes a float. Since Lua doesn't distinguish between floats and +integers, both will always match. + +Since all overloads are tested, it will always find the best match (not the +first match). This also means that it can handle situations where the only +difference in the signature is that one member function is const and the other +isn't. + +.. sidebar:: Ownership transfer + + To correctly handle ownership transfer, create_a() would need an adopt + return value policy. More on this in the :ref:`part-policies` section. + +For example, if the following function and class is registered: + +:: + + struct A + { + void f(); + void f() const; + }; + + const A* create_a(); + + struct B: A {}; + struct C: B {}; + + void g(A*); + void g(B*); + +And the following Lua code is executed: + +.. code-block:: lua + + a1 = create_a() + a1:f() -- the const version is called + + a2 = A() + a2:f() -- the non-const version is called + + a = A() + b = B() + c = C() + + g(a) -- calls g(A*) + g(b) -- calls g(B*) + g(c) -- calls g(B*) + + +Calling Lua functions +--------------------- + +To call a Lua function, you can either use ``call_function()`` or +an ``object``. + +:: + + template + Ret call_function(lua_State* L, const char* name, ...) + template + Ret call_function(object const& obj, ...) + +There are two overloads of the ``call_function`` function, one that calls +a function given its name, and one that takes an object that should be a Lua +value that can be called as a function. + +The overload that takes a name can only call global Lua functions. The ... +represents a variable number of parameters that are sent to the Lua +function. This function call may throw ``luabind::error`` if the function +call fails. + +The return value isn't actually Ret (the template parameter), but a proxy +object that will do the function call. This enables you to give policies to the +call. You do this with the operator[]. You give the policies within the +brackets, like this:: + + int ret = call_function( + L + , "a_lua_function" + , new complex_class() + )[ adopt(_1) ]; + +If you want to pass a parameter as a reference, you have to wrap it with the +`Boost.Ref`__. + +__ http://www.boost.org/doc/html/ref.html + +Like this:: + + int ret = call_function(L, "fun", boost::ref(val)); + + +If you want to use a custom error handler for the function call, see +``set_pcall_callback`` under :ref:`sec-pcall-errorfunc`. + +Using Lua threads +----------------- + +To start a Lua thread, you have to call ``lua_resume()``, this means that you +cannot use the previous function ``call_function()`` to start a thread. You have +to use + +:: + + template + Ret resume_function(lua_State* L, const char* name, ...) + template + Ret resume_function(object const& obj, ...) + +and + +:: + + template + Ret resume(lua_State* L, ...) + +The first time you start the thread, you have to give it a function to execute. i.e. you +have to use ``resume_function``, when the Lua function yields, it will return the first +value passed in to ``lua_yield()``. When you want to continue the execution, you just call +``resume()`` on your ``lua_State``, since it's already executing a function, you don't pass +it one. The parameters to ``resume()`` will be returned by ``yield()`` on the Lua side. + +For yielding C++-functions (without the support of passing data back and forth between the +Lua side and the c++ side), you can use the :ref:`policy-yield` policy. + +With the overload of ``resume_function`` that takes an :ref:`part-object`, +it is important that the object was constructed with the thread as its +``lua_State*``. Like this: + +.. parsed-literal:: + + lua_State* thread = lua_newthread(L); + object fun = get_global(**thread**)["my_thread_fun"]; + resume_function(fun); + + +Binding function objects with explicit signatures +------------------------------------------------- + +Using ``luabind::tag_function<>`` it is possible to export function objects +from which luabind can't automatically deduce a signature. This can be used to +slightly alter the signature of a bound function, or even to bind stateful +function objects. + +Synopsis: + +.. parsed-literal:: + + template + *implementation-defined* tag_function(F f); + +Where ``Signature`` is a function type describing the signature of ``F``. +It can be used like this:: + + int f(int x); + + // alter the signature so that the return value is ignored + def("f", tag_function(f)); + + struct plus + { + plus(int x) + : x(x) + {} + + int operator()(int y) const + { + return x + y; + } + }; + + // bind a stateful function object + def("plus3", tag_function(plus(3))); diff --git a/external/sources/luabind-oberon00-49814f6/doc/git_version.in b/external/sources/luabind-oberon00-49814f6/doc/git_version.in new file mode 100644 index 0000000000..fb7b796d30 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/git_version.in @@ -0,0 +1 @@ +@DOCS_VERSION@ diff --git a/external/sources/luabind-oberon00-49814f6/doc/impl-notes.rst b/external/sources/luabind-oberon00-49814f6/doc/impl-notes.rst new file mode 100644 index 0000000000..6fe9f06b85 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/impl-notes.rst @@ -0,0 +1,41 @@ +Implementation notes +==================== + +The classes and objects are implemented as user data in Lua. To make sure that +the user data really is the internal structure it is supposed to be, we tag +their metatables. Previously a boolean at a string key was used, making it +relatively easy for the malevolent user to fool Luabind and crash the +application. However, this has been replaced with a light userdata key that +should be quite impossible to imitate. + +In the Lua registry, luabind kept an entry called ``"__luabind_classes"``. +This string key is now also replaced with a light userdata one. + +In the global table, a variable called ``super`` is used every time a +constructor in a lua-class is called. This is to make it easy for that +constructor to call its base class' constructor. So, if you have a global +variable named super it may be overwritten. This is probably not the best +solution, and this restriction may be removed in the future. + +.. note:: Deprecated + + ``super()`` has been deprecated since version 0.8 in favor of directly + invoking the base class' ``__init()`` function:: + + function Derived:__init() + Base.__init(self) + end + + +The detail namespace and undocumented features +---------------------------------------------- + +Inside the luabind namespace, there’s another namespace called ``detail``. +Everything cotained therein should not be used by user code and is subject to +change or vanish even between patch versions. There also exist no explicit +tests or documentation for this namespace’s contents. + +Classes and functions which reside directly in the ``luabind`` namespace but +are not documented should also rather not be used. However, if you have to +depend on undocumented features, these are still better than the ``detail`` +ones. diff --git a/external/sources/luabind-oberon00-49814f6/doc/index.rst b/external/sources/luabind-oberon00-49814f6/doc/index.rst new file mode 100644 index 0000000000..058b8b325a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/index.rst @@ -0,0 +1,44 @@ +Luabind |version| documentation +=============================== + +This is the documentation for Luabind |release|. + +Luabind is a library that helps you create bindings between C++ and Lua. It +has the ability to expose functions and classes, written in C++, to Lua. +It will also supply the functionality to define classes in Lua and let them +derive from other Lua classes or C++ classes. Lua classes can override virtual +functions from their C++ base classes. It is written towards Lua 5.2 but +should also work with 5.1. + +The old official homepage can be found +at http://www.rasterbar.com/products/luabind.html. + +Contents: + +.. toctree:: + :maxdepth: 2 + + intro + building + basic-usage + scopes + functions + classes + userdefined-converters + object + lua-classes + exceptions + policies + split-registration + errors + build-options + impl-notes + faq + issues + acknowledgments + + +Searchpage +========== + +* :ref:`search` diff --git a/external/sources/luabind-oberon00-49814f6/doc/intro.rst b/external/sources/luabind-oberon00-49814f6/doc/intro.rst new file mode 100644 index 0000000000..13abe96234 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/intro.rst @@ -0,0 +1,69 @@ +Introduction +============ + +Luabind is a library that helps you create bindings between C++ and Lua. It has +the ability to expose functions and classes, written in C++, to Lua. It will +also supply the functionality to define classes in Lua and let them derive from +other Lua classes or C++ classes. Lua classes can override virtual functions +from their C++ base classes. It is written towards Lua 5.2 but should also +work with 5.1. + +It is implemented utilizing template meta programming. That means that you +don't need an extra preprocess pass to compile your project (it is done by the +compiler). It also means you don't (usually) have to know the exact signature +of each function you register, since the library will generate code depending +on the compile-time type of the function (which includes the signature). The +main drawback of this approach is that the compilation time will increase for +the file that does the registration, it is therefore recommended that you +register everything in the same cpp-file. + +Luabind is released under the terms of the `MIT license`_. + +We are very interested in hearing about projects that use luabind, please let +us know about your project. + +The main channel for help and feedback is the `luabind mailing list`_. +There's also an IRC channel ``#luabind`` on irc.freenode.net. + +Additionally, this fork’s `github issue tracker`_ can also be used for bug reports, feature requests and questions. + +.. _`luabind mailing list`: https://lists.sourceforge.net/lists/listinfo/luabind-user +.. _MIT license: http://www.opensource.org/licenses/mit-license.php +.. _Boost: http://www.boost.org +.. _github issue tracker: https://github.com/Oberon00/luabind/issues + + +Features +======== + +Luabind supports: + + - Overloaded free functions + - C++ classes in Lua + - Overloaded member functions + - Operators + - Properties + - Enums (also C++11 ``enum class`` if available) + - Lua functions in C++ + - Lua classes in C++ + - Lua classes (single inheritance) + - Derives from Lua or C++ classes + - Override virtual functions from C++ classes + - Implicit casts between registered types + - Best match signature matching + - Return value policies and parameter policies + + +Portability +=========== + +Luabind is currently tested regularly with + + * Microsoft Visual C++ 11 (2012) x32 and x64 + * gcc 4.8 x64 (with and without -std=c++11) + * Clang 3.2 x64 (with and without -std=c++11) + +It should work with any compiler conformant with C++03. However, probably only +versions of the above threecompilers will work out of the box with the +provided CMake build files. Please report any issues you have to the +`github issue tracker`_. diff --git a/external/sources/luabind-oberon00-49814f6/doc/issues.rst b/external/sources/luabind-oberon00-49814f6/doc/issues.rst new file mode 100644 index 0000000000..fbe3acec09 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/issues.rst @@ -0,0 +1,17 @@ +Known issues +============ + +- You cannot use strings with extra nulls in them as member names that refers + to C++ members. + +- If one class registers two functions with the same name and the same + signature, there's currently no error. The last registered function will + be the one that's used. + +- In VC7, classes can not be called test. + +- If you register a function and later rename it, error messages will use the + original function name. + +- luabind does not support class hierarchies with virtual inheritance. Casts are + done with static pointer offsets. diff --git a/external/sources/luabind-oberon00-49814f6/doc/lua-classes.rst b/external/sources/luabind-oberon00-49814f6/doc/lua-classes.rst new file mode 100644 index 0000000000..87fa5e6a1c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/lua-classes.rst @@ -0,0 +1,339 @@ +.. highlight:: lua + +Defining classes in Lua +======================= + +In addition to binding C++ functions and classes with Lua, luabind also provide +an OO-system in Lua. :: + + class 'lua_testclass' + + function lua_testclass:__init(name) + self.name = name + end + + function lua_testclass:print() + print(self.name) + end + + a = lua_testclass('example') + a:print() + + +Inheritance can be used between lua-classes:: + + class 'derived' (lua_testclass) + + function derived:__init() + lua_testclass.__init(self, 'derived name') + end + + function derived:print() + print('Derived:print() -> ') + lua_testclass.print(self) + end + +The base class is initialized explicitly by calling its ``__init()`` +function. + +As you can see in this example, you can call the base class member functions. +You can find all member functions in the base class, but you will have to give +the this-pointer (``self``) as first argument. + + +Deriving in lua +--------------- + +It is also possible to derive Lua classes from C++ classes, and override +virtual functions with Lua functions. To do this we have to create a wrapper +class for our C++ base class. This is the class that will hold the Lua object +when we instantiate a Lua class. + +.. code-block:: c++ + + class base + { + public: + base(const char* s) + { std::cout << s << "\n"; } + + virtual void f(int a) + { std::cout << "f(" << a << ")\n"; } + }; + + struct base_wrapper : base, luabind::wrap_base + { + base_wrapper(const char* s) + : base(s) + {} + + virtual void f(int a) + { + call("f", a); + } + + static void default_f(base* ptr, int a) + { + return ptr->base::f(a); + } + }; + + // ... + + module(L) + [ + class_("base") + .def(constructor()) + .def("f", &base::f, &base_wrapper::default_f) + ]; + +.. Important:: + Since MSVC6.5 doesn't support explicit template parameters + to member functions, instead of using the member function ``call()`` + you call a free function ``call_member()`` and pass the this-pointer + as first parameter. + +Note that if you have both base classes and a base class wrapper, you must give +both bases and the base class wrapper type as template parameter to +``class_`` (as done in the example above). The order in which you specify +them is not important. You must also register both the static version and the +virtual version of the function from the wrapper, this is necessary in order +to allow luabind to use both dynamic and static dispatch when calling the function. + +.. Important:: + It is extremely important that the signatures of the static (default) function + is identical to the virtual function. The fact that one of them is a free + function and the other a member function doesn't matter, but the parameters + as seen from lua must match. It would not have worked if the static function + took a ``base_wrapper*`` as its first argument, since the virtual function + takes a ``base*`` as its first argument (its this pointer). There's currently + no check in luabind to make sure the signatures match. + +If we didn't have a class wrapper, it would not be possible to pass a Lua class +back to C++. Since the entry points of the virtual functions would still point +to the C++ base class, and not to the functions defined in Lua. That's why we +need one function that calls the base class' real function (used if the lua +class doesn't redefine it) and one virtual function that dispatches the call +into luabind, to allow it to select if a Lua function should be called, or if +the original function should be called. If you don't intend to derive from a +C++ class, or if it doesn't have any virtual member functions, you can register +it without a class wrapper. + +You don't need to have a class wrapper in order to derive from a class, but if +it has virtual functions you may have silent errors. + +.. Unnecessary? The rule of thumb is: + If your class has virtual functions, create a wrapper type, if it doesn't + don't create a wrapper type. + +The wrappers must derive from ``luabind::wrap_base``, it contains a Lua reference +that will hold the Lua instance of the object to make it possible to dispatch +virtual function calls into Lua. This is done through an overloaded member function: + +.. code-block:: c++ + + template + Ret call(char const* name, ...) + +Its used in a similar way as ``call_function``, with the exception that it doesn't +take a ``lua_State`` pointer, and the name is a member function in the Lua class. + +.. warning:: + + The current implementation of ``call_member`` is not able to distinguish const + member functions from non-const. If you have a situation where you have an overloaded + virtual function where the only difference in their signatures is their constness, the + wrong overload will be called by ``call_member``. This is rarely the case though. + +.. note:: + You can also override virtual member functions per instance which often + makes it unnecessary to derive a new class in Lua. Instead of e.g. :: + + class "D" (B) + + function D:__init() B.__init(self) end + function D:virtual_function() ... end + + you may be able to get around with :: + + b = B() + function b:virtual_function() ... end + + +.. _sec-objid: + +Object identity +~~~~~~~~~~~~~~~ + +When a pointer or reference to a registered class with a wrapper is passed +to Lua, luabind will query for it's dynamic type. If the dynamic type +inherits from ``wrap_base``, object identity is preserved. + +.. code-block:: c++ + + struct A { .. }; + struct A_wrap : A, wrap_base { .. }; + + A* f(A* ptr) { return ptr; } + + module(L) + [ + class_("A"), + def("f", &f) + ]; + +:: + + > class 'B' (A) + > x = B() + > assert(x == f(x)) -- object identity is preserved when object is + -- passed through C++ + +This functionality relies on RTTI being enabled (that ``LUABIND_NO_RTTI`` is +not defined). + +Overloading operators +--------------------- + +You can overload most operators in Lua for your classes. You do this by simply +declaring a member function with the same name as an operator (the name of the +metamethods in Lua). The operators you can overload are: + + - ``__add`` + - ``__sub`` + - ``__mul`` + - ``__div`` + - ``__pow`` + - ``__lt`` + - ``__le`` + - ``__eq`` + - ``__call`` + - ``__unm`` + - ``__tostring`` + - ``__len`` + +``__tostring`` isn't really an operator, but it's the metamethod that is called +by the standard library's ``tostring()`` function. There's one strange behavior +regarding binary operators. You are not guaranteed that the self pointer you +get actually refers to an instance of your class. This is because Lua doesn't +distinguish the two cases where you get the other operand as left hand value or +right hand value. Consider the following examples:: + + class 'my_class' + + function my_class:__init(v) + self.val = v + end + + function my_class:__sub(v) + return my_class(self.val - v.val) + end + + function my_class:__tostring() + return self.val + end + +This will work well as long as you only subtracts instances of my_class with +each other. But If you want to be able to subtract ordinary numbers from your +class too, you have to manually check the type of both operands, including the +self object. :: + + function my_class:__sub(v) + if (type(self) == 'number') then + return my_class(self - v.val) + + elseif (type(v) == 'number') then + return my_class(self.val - v) + + else + -- assume both operands are instances of my_class + return my_class(self.val - v.val) + + end + end + +The reason why ``__sub`` is used as an example is because subtraction is not +commutative (the order of the operands matters). That's why luabind cannot +change order of the operands to make the self reference always refer to the +actual class instance. + +If you have two different Lua classes with an overloaded operator, the operator +of the right hand side type will be called. If the other operand is a C++ class +with the same operator overloaded, it will be prioritized over the Lua class' +operator. If none of the C++ overloads matches, the Lua class operator will be +called. + + +Finalizers +---------- + +If an object needs to perform actions when it's collected we provide a +``__finalize`` function that can be overridden in lua-classes. The +``__finalize`` functions will be called on all classes in the inheritance +chain, starting with the most derived type. :: + + ... + + function lua_testclass:__finalize() + -- called when the an object is collected + end + + +Slicing +------- + +If your lua C++ classes don't have wrappers (see `Deriving in lua`_) and +you derive from them in lua, they may be sliced. Meaning, if an object +is passed into C++ as a pointer to its base class, the lua part will be +separated from the C++ base part. This means that if you call virtual +functions on that C++ object, they will not be dispatched to the lua +class. It also means that if you adopt the object, the lua part will be +garbage collected. + +:: + + +--------------------+ + | C++ object | <- ownership of this part is transferred + | | to c++ when adopted + +--------------------+ + | lua class instance | <- this part is garbage collected when + | and lua members | instance is adopted, since it cannot + +--------------------+ be held by c++. + + +The problem can be illustrated by this example: + +.. code-block:: c++ + + struct A {}; + + A* filter_a(A* a) { return a; } + void adopt_a(A* a) { delete a; } + + +.. code-block:: c++ + + using namespace luabind; + + module(L) + [ + class_("A"), + def("filter_a", &filter_a), + def("adopt_a", &adopt_a, adopt(_1)) + ] + + +In lua:: + + a = A() + b = filter_a(a) + adopt_a(b) + +In this example, lua cannot know that ``b`` actually is the same object as +``a``, and it will therefore consider the object to be owned by the C++ side. +When the ``b`` pointer then is adopted, a runtime error will be raised because +an object not owned by lua is being adopted to C++. + +If you have a wrapper for your class, none of this will happen, see +`Object identity`_. + diff --git a/external/sources/luabind-0.7.1/doc/luabind-logo-label.ps b/external/sources/luabind-oberon00-49814f6/doc/luabind-logo-label.ps similarity index 100% rename from external/sources/luabind-0.7.1/doc/luabind-logo-label.ps rename to external/sources/luabind-oberon00-49814f6/doc/luabind-logo-label.ps diff --git a/external/sources/luabind-0.7.1/doc/luabind.png b/external/sources/luabind-oberon00-49814f6/doc/luabind.png similarity index 100% rename from external/sources/luabind-0.7.1/doc/luabind.png rename to external/sources/luabind-oberon00-49814f6/doc/luabind.png diff --git a/external/sources/luabind-oberon00-49814f6/doc/object.rst b/external/sources/luabind-oberon00-49814f6/doc/object.rst new file mode 100644 index 0000000000..6a3651b44f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/object.rst @@ -0,0 +1,321 @@ +.. _part-object: + +Object +====== + +Since functions have to be able to take Lua values (of variable type) we need a +wrapper around them. This wrapper is called ``luabind::object``. If the +function you register takes an object, it will match any Lua value. To use it, +you need to include ````. + +.. topic:: Synopsis + + .. parsed-literal:: + + class object + { + public: + template + object(lua_State\*, T const& value); + object(from_stack const&); + object(object const&); + object(); + + ~object(); + + lua_State\* interpreter() const; + void push() const; + bool is_valid() const; + operator *safe_bool_type* () const; + + template + *implementation-defined* operator[](Key const&); + + template + object& operator=(T const&); + object& operator=(object const&); + + bool operator==(object const&) const; + bool operator<(object const&) const; + bool operator<=(object const&) const; + bool operator>(object const&) const; + bool operator>=(object const&) const; + bool operator!=(object const&) const; + + template + *implementation-defined* operator[](T const& key) const + + void swap(object&); + + *implementation-defined* operator()(); + + template + *implementation-defined* operator()(A0 const& a0); + + template + *implementation-defined* operator()(A0 const& a0, A1 const& a1); + + /\* ... \*/ + }; + +When you have a Lua object, you can assign it a new value with the assignment +operator (=). When you do this, the ``default_policy`` will be used to make the +conversion from C++ value to Lua. If your ``luabind::object`` is a table you +can access its members through the operator[] or the Iterators_. The value +returned from the operator[] is a proxy object that can be used both for +reading and writing values into the table (using operator=). + +Note that it is impossible to know if a Lua value is indexable or not +(``lua_gettable`` doesn't fail, it succeeds or crashes). This means that if +you're trying to index something that cannot be indexed, you're on your own. +Lua will call its ``panic()`` function. See :ref:`sec-lua-panic`. + +There are also free functions that can be used for indexing the table, see +`Related functions`_. + +The constructor that takes a ``from_stack`` object is used when you want to +initialize the object with a value from the lua stack. The ``from_stack`` +type has the following constructor:: + + from_stack(lua_State* L, int index); + +The index is an ordinary lua stack index, negative values are indexed from the +top of the stack. You use it like this:: + + object o(from_stack(L, -1)); + +This will create the object ``o`` and copy the value from the top of the lua stack. + +The ``interpreter()`` function returns the Lua state where this object is stored. +If you want to manipulate the object with Lua functions directly you can push +it onto the Lua stack by calling ``push()``. + +The operator== will call lua_compare() on the operands and return its result. + +The ``is_valid()`` function tells you whether the object has been initialized +or not. When created with its default constructor, objects are invalid. To make +an object valid, you can assign it a value. If you want to invalidate an object +you can simply assign it an invalid object. + +The ``operator safe_bool_type()`` is equivalent to ``is_valid()``. This means +that these snippets are equivalent:: + + object o; + // ... + if (o) + { + // ... + } + + ... + + object o; + // ... + if (o.is_valid()) + { + // ... + } + +The application operator will call the value as if it was a function. You can +give it any number of parameters (currently the ``default_policy`` will be used +for the conversion). The returned object refers to the return value (currently +only one return value is supported). This operator may throw ``luabind::error`` +if the function call fails. If you want to specify policies to your function +call, you can use index-operator (operator[]) on the function call, and give +the policies within the [ and ]. Like this:: + + my_function_object( + 2 + , 8 + , new my_complex_structure(6) + ) [ adopt(_3) ]; + +This tells luabind to make Lua adopt the ownership and responsibility for the +pointer passed in to the lua-function. + +It's important that all instances of object have been destructed by the time +the Lua state is closed. The object will keep a pointer to the lua state and +release its Lua object in its destructor. + +Here's an example of how a function can use a table:: + + void my_function(object const& table) + { + if (type(table) == LUA_TTABLE) + { + table["time"] = std::clock(); + table["name"] = std::rand() < 500 ? "unusual" : "usual"; + + std::cout << object_cast(table[5]) << "\n"; + } + } + +If you take a ``luabind::object`` as a parameter to a function, any Lua value +will match that parameter. That's why we have to make sure it's a table before +we index into it. + +:: + + std::ostream& operator<<(std::ostream&, object const&); + +There's a stream operator that makes it possible to print objects or use +``boost::lexical_cast`` to convert it to a string. This will use lua's string +conversion function. So if you convert a C++ object with a ``tostring`` +operator, the stream operator for that type will be used. + +Iterators +--------- + +There are two kinds of iterators. The normal iterator that will use the metamethod +of the object (if there is any) when the value is retrieved. This iterator is simply +called ``luabind::iterator``. The other iterator is called ``luabind::raw_iterator`` +and will bypass the metamethod and give the true contents of the table. They have +identical interfaces, which implements the ForwardIterator_ concept. Apart from +the members of standard iterators, they have the following members and constructors: + +.. _ForwardIterator: http://www.sgi.com/tech/stl/ForwardIterator.html + +.. parsed-literal:: + + class iterator + { + iterator(); + iterator(object const&); + + object key() const; + + *standard iterator members* + }; + +The constructor that takes a ``luabind::object`` is actually a template that can be +used with object. Passing an object as the parameter to the iterator will +construct the iterator to refer to the first element in the object. + +The default constructor will initialize the iterator to the one-past-end +iterator. This is used to test for the end of the sequence. + +The value type of the iterator is an implementation defined proxy type which +supports the same operations as ``luabind::object``. Which means that in most +cases you can just treat it as an ordinary object. The difference is that any +assignments to this proxy will result in the value being inserted at the +iterators position, in the table. + +The ``key()`` member returns the key used by the iterator when indexing the +associated Lua table. + +An example using iterators:: + + for (iterator i(globals(L)["a"]), end; i != end; ++i) + { + *i = 1; + } + +The iterator named ``end`` will be constructed using the default constructor +and hence refer to the end of the sequence. This example will simply iterate +over the entries in the global table ``a`` and set all its values to 1. + +Related functions +----------------- + +There are a couple of functions related to objects and tables. + +:: + + int type(object const&); + +This function will return the lua type index of the given object. +i.e. ``LUA_TNIL``, ``LUA_TNUMBER`` etc. + +:: + + template + void settable(object const& o, K const& key, T const& value); + template + object gettable(object const& o, K const& key); + template + void rawset(object const& o, K const& key, T const& value); + template + object rawget(object const& o, K const& key); + +These functions are used for indexing into tables. ``settable`` and ``gettable`` +translates into calls to ``lua_settable`` and ``lua_gettable`` respectively. Which +means that you could just as well use the index operator of the object. + +``rawset`` and ``rawget`` will translate into calls to ``lua_rawset`` and +``lua_rawget`` respectively. So they will bypass any metamethod and give you the +true value of the table entry. + +:: + + template + T object_cast(object const&); + template + T object_cast(object const&, Policies); + + template + boost::optional object_cast_nothrow(object const&); + template + boost::optional object_cast_nothrow(object const&, Policies); + +The ``object_cast`` function casts the value of an object to a C++ value. +You can supply a policy to handle the conversion from lua to C++. If the cast +cannot be made a ``cast_failed`` exception will be thrown. If you have +defined LUABIND_NO_ERROR_CHECKING (see :ref:`part-build-options`) no checking +will occur, and if the cast is invalid the application may very well crash. +The nothrow versions will return an uninitialized ``boost::optional`` +object, to indicate that the cast could not be performed. + +The function signatures of all of the above functions are really templates +for the object parameter, but the intention is that you should only pass +objects in there, that's why it's left out of the documentation. + +:: + + object globals(lua_State*); + object registry(lua_State*); + +These functions return the global environment table and the registry table respectively. + +:: + + object newtable(lua_State*); + +This function creates a new table and returns it as an object. + +:: + + object getmetatable(object const& obj); + void setmetatable(object const& obj, object const& metatable); + +These functions get and set the metatable of a Lua object. + +:: + + lua_CFunction tocfunction(object const& value); + template T* touserdata(object const& value) + +These extract values from the object at a lower level than ``object_cast()``. + +:: + + object getupvalue(object const& function, int index); + void setupvalue(object const& function, int index, object const& value); + +These get and set the upvalues of ``function``. + +Assigning nil +------------- + +To set a table entry to ``nil``, you can use ``luabind::nil``. It will avoid +having to take the detour by first assigning ``nil`` to an object and then +assign that to the table entry. It will simply result in a ``lua_pushnil()`` +call, instead of copying an object. + +Example:: + + using luabind; + object table = newtable(L); + table["foo"] = "bar"; + + // now, clear the "foo"-field + table["foo"] = nil; diff --git a/external/sources/luabind-oberon00-49814f6/doc/policies.rst b/external/sources/luabind-oberon00-49814f6/doc/policies.rst new file mode 100644 index 0000000000..49aa66f684 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/policies.rst @@ -0,0 +1,373 @@ +.. _part-policies: + +Policies +======== + +Sometimes it is necessary to control how luabind passes arguments and return +value, to do this we have policies. All policies use an index to associate +them with an argument in the function signature. These indices are ``result`` +and ``_N`` (where ``N >= 1``). When dealing with member functions ``_1`` refers +to the ``this`` pointer. + +.. contents:: Policies currently implemented + :local: + :depth: 1 + +.. include:: policies/adopt.rst +.. include:: policies/dependency.rst +.. include:: policies/out_value.rst +.. include:: policies/pure_out_value.rst +.. include:: policies/return_reference_to.rst +.. include:: policies/copy.rst +.. include:: policies/discard_result.rst +.. include:: policies/return_stl_iterator.rst +.. include:: policies/raw.rst +.. include:: policies/yield.rst + +.. old policies section + =================================================== + + Copy + ---- + + This will make a copy of the parameter. This is the default behavior when + passing parameters by-value. Note that this can only be used when passing from + C++ to Lua. This policy requires that the parameter type has a copy + constructor. + + To use this policy you need to include ``luabind/copy_policy.hpp``. + + + Adopt + ----- + + This will transfer ownership of the parameter. + + Consider making a factory function in C++ and exposing it to lua:: + + base* create_base() + { + return new base(); + } + + ... + + module(L) + [ + def("create_base", create_base) + ]; + + Here we need to make sure Lua understands that it should adopt the pointer + returned by the factory-function. This can be done using the adopt-policy. + + :: + + module(L) + [ + def(L, "create_base", adopt(return_value)) + ]; + + To specify multiple policies we just separate them with '+'. + + :: + + base* set_and_get_new(base* ptr) + { + base_ptrs.push_back(ptr); + return new base(); + } + + module(L) + [ + def("set_and_get_new", &set_and_get_new, + adopt(return_value) + adopt(_1)) + ]; + + When Lua adopts a pointer, it will call delete on it. This means that it cannot + adopt pointers allocated with another allocator than new (no malloc for + example). + + To use this policy you need to include ``luabind/adopt_policy.hpp``. + + + Dependency + ---------- + + The dependency policy is used to create life-time dependencies between values. + Consider the following example:: + + struct A + { + B member; + + const B& get_member() + { + return member; + } + }; + + When wrapping this class, we would do something like:: + + module(L) + [ + class_("A") + .def(constructor<>()) + .def("get_member", &A::get_member) + ]; + + + However, since the return value of get_member is a reference to a member of A, + this will create some life-time issues. For example:: + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + a = A() + b = a:get_member() -- b points to a member of a + a = nil + collectgarbage(0) -- since there are no references left to a, it is + -- removed + -- at this point, b is pointing into a removed object + + When using the dependency-policy, it is possible to tell luabind to tie the + lifetime of one object to another, like this:: + + module(L) + [ + class_("A") + .def(constructor<>()) + .def("get_member", &A::get_member, dependency(result, _1)) + ]; + + This will create a dependency between the return-value of the function, and the + self-object. This means that the self-object will be kept alive as long as the + result is still alive. :: + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + a = A() + b = a:get_member() -- b points to a member of a + a = nil + collectgarbage(0) -- a is dependent on b, so it isn't removed + b = nil + collectgarbage(0) -- all dependencies to a gone, a is removed + + To use this policy you need to include ``luabind/dependency_policy.hpp``. + + + Return reference to + ------------------- + + It is very common to return references to arguments or the this-pointer to + allow for chaining in C++. + + :: + + struct A + { + float val; + + A& set(float v) + { + val = v; + return *this; + } + }; + + When luabind generates code for this, it will create a new object for the + return-value, pointing to the self-object. This isn't a problem, but could be a + bit inefficient. When using the return_reference_to-policy we have the ability + to tell luabind that the return-value is already on the Lua stack. + + :: + + module(L) + [ + class_("A") + .def(constructor<>()) + .def("set", &A::set, return_reference_to(_1)) + ]; + + Instead of creating a new object, luabind will just copy the object that is + already on the stack. + + .. warning:: + This policy ignores all type information and should be used only it + situations where the parameter type is a perfect match to the + return-type (such as in the example). + + To use this policy you need to include ``luabind/return_reference_to_policy.hpp``. + + + Out value + --------- + + This policy makes it possible to wrap functions that take non const references + as its parameters with the intention to write return values to them. + + :: + + void f(float& val) { val = val + 10.f; } + + or + + :: + + void f(float* val) { *val = *val + 10.f; } + + Can be wrapped by doing:: + + module(L) + [ + def("f", &f, out_value(_1)) + ]; + + When invoking this function from Lua it will return the value assigned to its + parameter. + + :: + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + > a = f(10) + > print(a) + 20 + + When this policy is used in conjunction with user define types we often need + to do ownership transfers. + + :: + + struct A; + + void f1(A*& obj) { obj = new A(); } + void f2(A** obj) { *obj = new A(); } + + Here we need to make sure luabind takes control over object returned, for + this we use the adopt policy:: + + module(L) + [ + class_("A"), + def("f1", &f1, out_value(_1, adopt(_2))) + def("f2", &f2, out_value(_1, adopt(_2))) + ]; + + Here we are using adopt as an internal policy to out_value. The index + specified, _2, means adopt will be used to convert the value back to Lua. + Using _1 means the policy will be used when converting from Lua to C++. + + To use this policy you need to include ``luabind/out_value_policy.hpp``. + + Pure out value + -------------- + + This policy works in exactly the same way as out_value, except that it + replaces the parameters with default-constructed objects. + + :: + + void get(float& x, float& y) + { + x = 3.f; + y = 4.f; + } + + ... + + module(L) + [ + def("get", &get, + pure_out_value(_1) + pure_out_value(_2)) + ]; + + :: + + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio + > x, y = get() + > print(x, y) + 3 5 + + Like out_value, it is possible to specify an internal policy used then + converting the values back to Lua. + + :: + + void get(test_class*& obj) + { + obj = new test_class(); + } + + ... + + module(L) + [ + def("get", &get, pure_out_value(_1, adopt(_1))) + ]; + + + Discard result + -------------- + + This is a very simple policy which makes it possible to throw away + the value returned by a C++ function, instead of converting it to + Lua. This example makes sure the this reference never gets converted + to Lua. + + :: + + struct simple + { + simple& set_name(const std::string& n) + { + name = n; + return *this; + } + + std::string name; + }; + + ... + + module(L) + [ + class_("simple") + .def("set_name", &simple::set_name, discard_result) + ]; + + To use this policy you need to include ``luabind/discard_result_policy.hpp``. + + + Return STL iterator + ------------------- + + This policy converts an STL container to a generator function that can be used + in Lua to iterate over the container. It works on any container that defines + ``begin()`` and ``end()`` member functions (they have to return iterators). It + can be used like this:: + + struct A + { + std::vector names; + }; + + + module(L) + [ + class_("A") + .def_readwrite("names", &A::names, return_stl_iterator) + ]; + + The Lua code to iterate over the container:: + + a = A() + + for name in a.names do + print(name) + end + + + To use this policy you need to include ``luabind/iterator_policy.hpp``. + + + Yield + ----- + + This policy will cause the function to always yield the current thread when + returning. See the Lua manual for restrictions on yield. diff --git a/external/sources/luabind-0.7.1/doc/adopt.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/adopt.rst old mode 100755 new mode 100644 similarity index 91% rename from external/sources/luabind-0.7.1/doc/adopt.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/adopt.rst index a093642fe2..ab56061e84 --- a/external/sources/luabind-0.7.1/doc/adopt.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/adopt.rst @@ -1,5 +1,5 @@ adopt ----------------- +----- Motivation ~~~~~~~~~~ @@ -9,14 +9,14 @@ Used to transfer ownership across language boundaries. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: adopt(index) @@ -32,14 +32,14 @@ Parameter Purpose Example ~~~~~~~ -.. parsed-literal:: +:: X* create() { return new X; } - ... +.. parsed-literal:: module(L) [ diff --git a/external/sources/luabind-0.7.1/doc/copy.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/copy.rst old mode 100755 new mode 100644 similarity index 93% rename from external/sources/luabind-0.7.1/doc/copy.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/copy.rst index 8aa882fe04..e13bbea212 --- a/external/sources/luabind-0.7.1/doc/copy.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/copy.rst @@ -1,5 +1,5 @@ copy ----------------- +---- Motivation ~~~~~~~~~~ @@ -12,14 +12,14 @@ constructor. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: copy(index) @@ -36,7 +36,7 @@ Parameter Purpose Example ~~~~~~~ -.. parsed-literal:: +:: X* get() { @@ -44,7 +44,7 @@ Example return &instance; } - ... +.. parsed-literal:: module(L) [ diff --git a/external/sources/luabind-0.7.1/doc/dependency.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/dependency.rst old mode 100755 new mode 100644 similarity index 88% rename from external/sources/luabind-0.7.1/doc/dependency.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/dependency.rst index f28aef0edb..10565efa73 --- a/external/sources/luabind-0.7.1/doc/dependency.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/dependency.rst @@ -1,5 +1,5 @@ dependency ----------------- +---------- Motivation ~~~~~~~~~~ @@ -10,14 +10,14 @@ This is needed for example when returning internal references to some class. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: dependency(nurse_index, patient_index) @@ -27,14 +27,14 @@ Parameters ================= ========================================================== Parameter Purpose ================= ========================================================== -``nurse_index`` The index which will keep the patient alive. +``nurse_index`` The index which will keep the patient alive. ``patient_index`` The index which will be kept alive. ================= ========================================================== Example ~~~~~~~ -.. parsed-literal:: +:: struct X { @@ -42,6 +42,8 @@ Example B& get() { return member; } }; +.. parsed-literal:: + module(L) [ class_("X") diff --git a/external/sources/luabind-0.7.1/doc/discard_result.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/discard_result.rst old mode 100755 new mode 100644 similarity index 83% rename from external/sources/luabind-0.7.1/doc/discard_result.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/discard_result.rst index d148d20583..c2e683a1fd --- a/external/sources/luabind-0.7.1/doc/discard_result.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/discard_result.rst @@ -1,42 +1,42 @@ discard_result ----------------- +-------------- Motivation ~~~~~~~~~~ -This is a very simple policy which makes it possible to throw away -the value returned by a C++ function, instead of converting it to +This is a very simple policy which makes it possible to throw away +the value returned by a C++ function, instead of converting it to Lua. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: discard_result Example ~~~~~~~ -.. parsed-literal:: +:: struct X { X& set(T n) { ... - return \*this; + return *this; } }; - ... +.. parsed-literal:: module(L) [ diff --git a/external/sources/luabind-0.7.1/doc/out_value.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/out_value.rst old mode 100755 new mode 100644 similarity index 91% rename from external/sources/luabind-0.7.1/doc/out_value.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/out_value.rst index e337eb0be2..3567acccd4 --- a/external/sources/luabind-0.7.1/doc/out_value.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/out_value.rst @@ -1,11 +1,13 @@ +.. _policy-out_value: + out_value ----------------- +--------- Motivation ~~~~~~~~~~ This policy makes it possible to wrap functions that take non-const references -or pointer to non-const as it's parameters with the intention to write return +or pointer to non-const as it's parameters with the intention to write return values to them. Since it's impossible to pass references to primitive types in lua, this policy will add another return value with the value after the call. If the function already has one return value, one instance of this @@ -15,14 +17,14 @@ the lua manual). Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: out_value(index, policies = none) @@ -42,16 +44,20 @@ Parameter Purpose Example ~~~~~~~ -.. parsed-literal:: +:: void f1(float& val) { val = val + 10.f; } - void f2(float\* val) { \*val = \*val + 10.f; } + void f2(float* val) { *val = *val + 10.f; } + +.. parsed-literal:: module(L) [ def("f", &f, **out_value(_1)**) ]; +.. code-block:: lua + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio > print(f1(10)) 20 diff --git a/external/sources/luabind-0.7.1/doc/pure_out_value.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/pure_out_value.rst old mode 100755 new mode 100644 similarity index 94% rename from external/sources/luabind-0.7.1/doc/pure_out_value.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/pure_out_value.rst index 1efc84fe7f..1d875f5e83 --- a/external/sources/luabind-0.7.1/doc/pure_out_value.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/pure_out_value.rst @@ -1,5 +1,7 @@ +.. _policy-pure_out_value: + pure_out_value ----------------- +-------------- Motivation ~~~~~~~~~~ @@ -12,14 +14,14 @@ signature. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: pure_out_value(index, policies = none) @@ -40,16 +42,20 @@ Example Note that no values are passed to the calls to ``f1`` and ``f2``. -.. parsed-literal:: +:: void f1(float& val) { val = 10.f; } void f2(float\* val) { \*val = 10.f; } +.. parsed-literal:: + module(L) [ def("f", &f, **pure_out_value(_1)**) ]; +.. code-block:: lua + Lua 5.0 Copyright (C) 1994-2003 Tecgraf, PUC-Rio > print(f1()) 10 diff --git a/external/sources/luabind-0.7.1/doc/raw.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/raw.rst old mode 100755 new mode 100644 similarity index 86% rename from external/sources/luabind-0.7.1/doc/raw.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/raw.rst index 085f0e5ee2..be8e85094c --- a/external/sources/luabind-0.7.1/doc/raw.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/raw.rst @@ -1,25 +1,30 @@ raw --- +.. note:: + + ``raw()`` has been deprecated. ``lua_State*`` parameters are + automatically handled by luabind. + Motivation ~~~~~~~~~~ This converter policy will pass through the ``lua_State*`` unmodified. -This can be useful for example when binding functions that need to +This can be useful for example when binding functions that need to return a ``luabind::object``. The parameter will be removed from the function signature, decreasing the function arity by one. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: raw(index) @@ -35,20 +40,22 @@ Parameter Purpose Example ~~~~~~~ -.. parsed-literal:: +:: void greet(lua_State* L) { lua_pushstring(L, "hello"); } - ... +.. parsed-literal:: module(L) [ def("greet", &greet, **raw(_1)**) ]; +.. code-block:: lua + > print(greet()) hello diff --git a/external/sources/luabind-0.7.1/doc/return_reference_to.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/return_reference_to.rst old mode 100755 new mode 100644 similarity index 94% rename from external/sources/luabind-0.7.1/doc/return_reference_to.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/return_reference_to.rst index 136dfb90ed..d6abde74b0 --- a/external/sources/luabind-0.7.1/doc/return_reference_to.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/return_reference_to.rst @@ -28,14 +28,14 @@ to tell luabind that the return-value is already on the lua stack. Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: return_reference_to(index) @@ -52,7 +52,7 @@ Parameter Purpose Example ~~~~~~~ -.. parsed-literal:: +:: struct A { @@ -61,10 +61,12 @@ Example A& set(float v) { val = v; - return \*this; + return *this; } }; +.. parsed-literal:: + module(L) [ class_("A") @@ -72,8 +74,8 @@ Example .def("set", &A::set, **return_reference_to(_1)**) ]; -.. warning:: - This policy ignores all type information and should be used only it - situations where the parameter type is a perfect match to the +.. warning:: + This policy ignores all type information and should be used only it + situations where the parameter type is a perfect match to the return-type (such as in the example). diff --git a/external/sources/luabind-0.7.1/doc/return_stl_iterator.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/return_stl_iterator.rst old mode 100755 new mode 100644 similarity index 92% rename from external/sources/luabind-0.7.1/doc/return_stl_iterator.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/return_stl_iterator.rst index 320553108a..292140c9a2 --- a/external/sources/luabind-0.7.1/doc/return_stl_iterator.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/return_stl_iterator.rst @@ -11,28 +11,28 @@ in lua to iterate over the container. It works on any container that defines Defined in ~~~~~~~~~~ -.. parsed-literal:: +:: #include Synopsis ~~~~~~~~ -.. parsed-literal:: +:: return_stl_iterator Example ~~~~~~~ -.. parsed-literal:: +:: struct X { std::vector names; }; - ... +.. parsed-literal:: module(L) [ @@ -40,7 +40,7 @@ Example .def_readwrite("names", &X::names, **return_stl_iterator**) ]; - ... +.. code-block:: lua > a = A() > for name in a.names do diff --git a/external/sources/luabind-0.7.1/doc/yield.rst b/external/sources/luabind-oberon00-49814f6/doc/policies/yield.rst old mode 100755 new mode 100644 similarity index 91% rename from external/sources/luabind-0.7.1/doc/yield.rst rename to external/sources/luabind-oberon00-49814f6/doc/policies/yield.rst index 3f18782581..38e5a38c49 --- a/external/sources/luabind-0.7.1/doc/yield.rst +++ b/external/sources/luabind-oberon00-49814f6/doc/policies/yield.rst @@ -1,3 +1,5 @@ +.. _policy-yield: + yield ---------------- @@ -23,14 +25,14 @@ Synopsis Example ~~~~~~~ -.. parsed-literal:: +:: void do_thing_that_takes_time() { - ... + // ... } - ... +.. parsed-literal:: module(L) [ diff --git a/external/sources/luabind-oberon00-49814f6/doc/scopes.rst b/external/sources/luabind-oberon00-49814f6/doc/scopes.rst new file mode 100644 index 0000000000..d2dd6fe0bd --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/scopes.rst @@ -0,0 +1,83 @@ +Scopes +====== + +Everything that gets registered in Lua is registered in a given Lua table, in +a namespace (Lua table at given name), or in the global scope (called module). +All registrations must be surrounded by its scope. To define a module, the +``luabind::module`` class is used. It is used like this:: + + module(L) + [ + // declarations + ]; + +This will register all declared functions or classes in the global namespace +in Lua. + +You can also register into a custom Lua table wrapped in a +:ref:`part-object`:: + + object mod = newtable(L); + module(L, mod) + [ + // declarations + ]; + +You can then directly use all object manipulation functions on ``mod``. + +If you just want to have a namespace for your module (like the standard +libraries) you can give a name to the constructor, like this:: + + module(L, "my_library") + [ + // declarations + ]; + +Here all declarations will be put in the my_library table. + +If you want nested namespace's you can use the ``luabind::namespace_`` class. It +works exactly as ``luabind::module`` except that it doesn't take a lua_State* +in it's constructor. An example of its usage could look like this:: + + module(L, "my_library") + [ + // declarations + + namespace_("detail") + [ + // library-private declarations + ] + ]; + +As you might have figured out, the following declarations are equivalent:: + + module(L) + [ + namespace_("my_library") + [ + // declarations + ] + + ]; + +:: + + module(L, "my_library") + [ + // declarations + ]; + +Each declaration must be separated by a comma, like this:: + + module(L) + [ + def("f", &f), + def("g", &g), + class_("A") + .def(constructor), + def("h", &h) + ]; + + +More about the actual declarations in the :ref:`part-functions` and +:ref:`part-classes` sections. diff --git a/external/sources/luabind-oberon00-49814f6/doc/split-registration.rst b/external/sources/luabind-oberon00-49814f6/doc/split-registration.rst new file mode 100644 index 0000000000..34cbb6df91 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/split-registration.rst @@ -0,0 +1,42 @@ +.. _part-split-registration: + +Splitting up the registration +============================= + +It is possible to split up a module registration into several +translation units without making each registration dependent +on the module it's being registered in. + +``a.cpp``:: + + luabind::scope register_a() + { + return + class_("a") + .def("f", &a::f) + ; + } + +``b.cpp``:: + + luabind::scope register_b() + { + return + class_("b") + .def("g", &b::g) + ; + } + +``module_ab.cpp``:: + + luabind::scope register_a(); + luabind::scope register_b(); + + void register_module(lua_State* L) + { + module("b", L) + [ + register_a(), + register_b() + ]; + } diff --git a/external/sources/luabind-0.7.1/doc/style.css b/external/sources/luabind-oberon00-49814f6/doc/style.css similarity index 96% rename from external/sources/luabind-0.7.1/doc/style.css rename to external/sources/luabind-oberon00-49814f6/doc/style.css index 780ddb52be..8ecb27b530 100644 --- a/external/sources/luabind-0.7.1/doc/style.css +++ b/external/sources/luabind-oberon00-49814f6/doc/style.css @@ -29,7 +29,7 @@ dt { /* used in FAQ */ dl { margin-left: 0.5em ; - margin-right: 10em + margin-right: 10em } h3 { @@ -275,18 +275,18 @@ th { a:link { - font-weight: bold; - color: #003366; - text-decoration: none; + font-weight: bold; + color: #003366; + text-decoration: none; } a:visited { - font-weight: bold; - color: #003366; - text-decoration: none; + font-weight: bold; + color: #003366; + text-decoration: none; } h3 { - text-transform: uppercase + text-transform: uppercase } diff --git a/external/sources/luabind-oberon00-49814f6/doc/userdefined-converters.rst b/external/sources/luabind-oberon00-49814f6/doc/userdefined-converters.rst new file mode 100644 index 0000000000..94faf83bc2 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/doc/userdefined-converters.rst @@ -0,0 +1,54 @@ +Adding converters for user defined types +======================================== + +It is possible to get luabind to handle user defined types like it does +the built in types by specializing ``luabind::default_converter<>``: + +:: + + struct int_wrapper + { + int_wrapper(int value) + : value(value) + {} + + int value; + }; + + namespace luabind + { + template <> + struct default_converter + : native_converter_base + { + static int compute_score(lua_State* L, int index) + { + return lua_type(L, index) == LUA_TNUMBER ? 0 : -1; + } + + X from(lua_State* L, int index) + { + return X(lua_tonumber(L, index)); + } + + void to(lua_State* L, X const& x) + { + lua_pushnumber(L, x.value); + } + }; + + template <> + struct default_converter + : default_converter + {}; + } + +Note that ``default_converter<>`` is instantiated for the actual argument and +return types of the bound functions. In the above example, we add a +specialization for ``X const&`` that simply forwards to the ``X`` converter. +This lets us export functions which accept ``X`` by const reference. + +``native_converter_base<>`` should be used as the base class for the +specialized converters. It simplifies the converter interface, and +provides a mean for backward compatibility since the underlying +interface is in flux. \ No newline at end of file diff --git a/external/sources/luabind-oberon00-49814f6/examples/any_converter/Jamfile b/external/sources/luabind-oberon00-49814f6/examples/any_converter/Jamfile new file mode 100755 index 0000000000..d44c2e4e77 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/any_converter/Jamfile @@ -0,0 +1,7 @@ +import modules ; + +exe any_converter + : any_converter.cpp + /luabind//luabind + ; + diff --git a/external/sources/luabind-oberon00-49814f6/examples/any_converter/any_converter.cpp b/external/sources/luabind-oberon00-49814f6/examples/any_converter/any_converter.cpp new file mode 100644 index 0000000000..bb418f57a2 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/any_converter/any_converter.cpp @@ -0,0 +1,96 @@ +#include + +extern "C" +{ + #include "lua.h" + #include "lauxlib.h" + #include "lualib.h" +} + +bool dostring(lua_State* L, const char* str) +{ + if (luaL_loadbuffer(L, str, std::strlen(str), str) || lua_pcall(L, 0, 0, 0)) + { + const char* a = lua_tostring(L, -1); + std::cout << a << "\n"; + lua_pop(L, 1); + return true; + } + return false; +} + +#include +#include +#include + +template +struct convert_any +{ + static void convert(lua_State* L, const boost::any& a) + { + luabind::detail::convert_to_lua(L, *boost::any_cast(&a)); + } +}; + +std::map any_converters; + +template +void register_any_converter() +{ + any_converters[&typeid(T)] = convert_any::convert; +} + +namespace luabind +{ + namespace converters + { + yes_t is_user_defined(by_value); + yes_t is_user_defined(by_const_reference); + + void convert_cpp_to_lua(lua_State* L, const boost::any& a) + { + typedef void(*conv_t)(lua_State* L, const boost::any&); + conv_t conv = any_converters[&a.type()]; + conv(L, a); + } + } +} + +boost::any f(bool b) +{ + if (b) return "foobar"; + else return 3.5f; +} + +int main() +{ + register_any_converter(); + register_any_converter(); + register_any_converter(); + register_any_converter(); + + lua_State* L = luaL_newstate(); +#if LUA_VERSION_NUM >= 501 + luaL_openlibs(L); +#else + lua_baselibopen(L); +#endif + + using namespace luabind; + + open(L); + module(L) + [ + def("f", &f) + ]; + + dostring(L, "print( f(true) )"); + dostring(L, "print( f(false) )"); + dostring(L, "function update(p) print(p) end"); + + boost::any param = std::string("foo"); + + luabind::call_function(L, "update", param); + + lua_close(L); +} diff --git a/external/sources/luabind-0.7.1/examples/cln/README b/external/sources/luabind-oberon00-49814f6/examples/cln/README similarity index 100% rename from external/sources/luabind-0.7.1/examples/cln/README rename to external/sources/luabind-oberon00-49814f6/examples/cln/README diff --git a/external/sources/luabind-oberon00-49814f6/examples/cln/cln_test.cpp b/external/sources/luabind-oberon00-49814f6/examples/cln/cln_test.cpp new file mode 100644 index 0000000000..0a470ebea9 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/cln/cln_test.cpp @@ -0,0 +1,121 @@ +#include + +extern "C" +{ + #include "lua.h" + #include "lualib.h" + #include "lauxlib.h" +} + +#include + +void bind_cln(lua_State* L) +{ + using namespace luabind; + using namespace cln; + + module(L) + [ + // real numbers + class_("cl_R") + .def(constructor<>()) + .def(constructor()) + .def(constructor()) + .def(constructor()) + .def(tostring(const_self)) + .def(-self) + .def(const_self + const_self) + .def(const_self - const_self) + .def(const_self * const_self) + .def(const_self / const_self) + .def(const_self <= const_self) + .def(const_self < const_self) + .def(const_self == const_self) + .def(other() + const_self) + .def(other() - const_self) + .def(other() * const_self) + .def(other() / const_self) + .def(other() <= const_self) + .def(other() < const_self) + .def(const_self + other()) + .def(const_self - other()) + .def(const_self * other()) + .def(const_self / other()) + .def(const_self <= other()) + .def(const_self < other()) + , + + // rational numbers + class_("cl_RA") + .def(constructor<>()) + .def(constructor()) + .def(constructor()) + .def(constructor()) + .def(tostring(const_self)) + .def(-self) + .def(const_self + const_self) + .def(const_self - const_self) + .def(const_self * const_self) + .def(const_self / const_self) + .def(const_self <= const_self) + .def(const_self < const_self) + .def(const_self == const_self) + .def(other() + const_self) + .def(other() - const_self) + .def(other() * const_self) + .def(other() / const_self) + .def(other() <= const_self) + .def(other() < const_self) + .def(const_self + other()) + .def(const_self - other()) + .def(const_self * other()) + .def(const_self / other()) + .def(const_self <= other()) + .def(const_self < other()) + , + + // integers + class_("cl_I") + .def(constructor<>()) + .def(constructor()) + .def(constructor()) + .def(constructor()) + .def(tostring(const_self)) + .def(-self) + .def(const_self + const_self) + .def(const_self - const_self) + .def(const_self * const_self) + .def(const_self <= const_self) + .def(const_self < const_self) + .def(const_self == const_self) + .def(other() + const_self) + .def(other() - const_self) + .def(other() * const_self) + .def(other() <= const_self) + .def(other() < const_self) + .def(const_self + other()) + .def(const_self - other()) + .def(const_self * other()) + .def(const_self <= other()) + .def(const_self < other()) + , + + def("factorial", &cln::factorial), + def("sqrt", (const cl_R(*)(const cl_R&))&cln::sqrt) + ]; +} + +int main() +{ + lua_State* L = luaL_newstate(); + lua_baselibopen(L); + lua_mathlibopen(L); + luabind::open(L); + + bind_cln(L); + + lua_dofile(L, "cln_test.lua"); + + lua_close(L); + return 0; +} diff --git a/external/sources/luabind-0.7.1/examples/cln/cln_test.lua b/external/sources/luabind-oberon00-49814f6/examples/cln/cln_test.lua similarity index 100% rename from external/sources/luabind-0.7.1/examples/cln/cln_test.lua rename to external/sources/luabind-oberon00-49814f6/examples/cln/cln_test.lua diff --git a/external/sources/luabind-oberon00-49814f6/examples/filesystem/Jamfile b/external/sources/luabind-oberon00-49814f6/examples/filesystem/Jamfile new file mode 100755 index 0000000000..91b7070568 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/filesystem/Jamfile @@ -0,0 +1,12 @@ +import modules ; + +BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ; + +use-project /boost : $(BOOST_ROOT) ; + +exe filesystem + : filesystem.cpp + /boost/filesystem//boost_filesystem/static + /luabind//luabind + ; + diff --git a/external/sources/luabind-oberon00-49814f6/examples/filesystem/directory_iterator.hpp b/external/sources/luabind-oberon00-49814f6/examples/filesystem/directory_iterator.hpp new file mode 100755 index 0000000000..64fc4e2a45 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/filesystem/directory_iterator.hpp @@ -0,0 +1,118 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_DIRECTORY_ITERATOR_HPP_INCLUDED +#define LUABIND_DIRECTORY_ITERATOR_HPP_INCLUDED + +#include +#include +#include +#include + +namespace luabind { namespace detail +{ + template + struct dir_iterator_state + { + typedef dir_iterator_state self_t; + + static int step(lua_State* L) + { + self_t& state = *static_cast(lua_touserdata(L, lua_upvalueindex(1))); + + if (state.start == state.end) + { + lua_pushnil(L); + return 1; + } + else + { + convert_to_lua(L, *state.start); + } + + ++state.start; + + return 1; + } + + dir_iterator_state(const Iter& s, const Iter& e) + : start(s) + , end(e) + {} + + Iter start; + Iter end; + }; + + struct dir_iterator_converter + { + template + void apply(lua_State* L, const T& c) + { + typedef boost::filesystem::directory_iterator iter_t; + typedef dir_iterator_state state_t; + + // note that this should be destructed, for now.. just hope that iterator + // is a pod + void* iter = lua_newuserdata(L, sizeof(state_t)); + new (iter) state_t(iter_t(c), iter_t()); + lua_pushcclosure(L, state_t::step, 1); + } + + template + void apply(lua_State* L, T& c) + { + typedef boost::filesystem::directory_iterator iter_t; + typedef dir_iterator_state state_t; + + // note that this should be destructed, for now.. just hope that iterator + // is a pod + void* iter = lua_newuserdata(L, sizeof(state_t)); + new (iter) state_t(iter_t(c), iter_t()); + lua_pushcclosure(L, state_t::step, 1); + } + }; + + struct dir_iterator_policy : conversion_policy<0> + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + template + struct generate_converter + { + typedef dir_iterator_converter type; + }; + }; + +}} + +namespace luabind +{ + namespace + { + LUABIND_ANONYMOUS_FIX detail::policy_cons return_directory_iterator; + } +} + +#endif // LUABIND_ITERATOR_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/examples/filesystem/filesystem.cpp b/external/sources/luabind-oberon00-49814f6/examples/filesystem/filesystem.cpp new file mode 100755 index 0000000000..f83b4d8020 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/filesystem/filesystem.cpp @@ -0,0 +1,114 @@ +#include + +extern "C" +{ + #include "lua.h" + #include "lauxlib.h" + #include "lualib.h" +} + +#include +#include +#include +#include + +#include "directory_iterator.hpp" + +const boost::filesystem::path& +identity(const boost::filesystem::path& x) +{ + return x; +} + +void bind_filesystem(lua_State* L) +{ + using namespace luabind; + using namespace boost::filesystem; + + namespace fs = boost::filesystem; + + module(L, "filesystem") + [ + class_("path") + .def(constructor<>()) + .def(constructor()) + .def("string", &fs::path::string) + .def("native_file_string", &fs::path::native_file_string) + .def("native_directory_string", &fs::path::native_directory_string) + .def("root_path", &fs::path::root_path) + .def("root_name", &fs::path::root_name) + .def("root_directory", &fs::path::root_directory) + .def("relative_path", &fs::path::relative_path) + .def("leaf", &fs::path::leaf) + .def("branch_path", &fs::path::branch_path) + + .def("empty", &fs::path::empty) + .def("is_complete", &fs::path::is_complete) + .def("is_directory", &fs::is_directory) + .def("is_empty", &fs::is_empty) + .def("has_root_path", &fs::path::has_root_path) + .def("has_root_name", &fs::path::has_root_name) + .def("has_root_directory", &fs::path::has_root_directory) + .def("has_relative_path", &fs::path::has_relative_path) + .def("has_leaf", &fs::path::has_leaf) + .def("has_branch_path", &fs::path::has_branch_path) + + .def(const_self / const_self) + .def(other() / const_self) + .def(const_self / other()) + +// .property("contents", &identity, return_directory_iterator) + , + + def("exists", &fs::exists), + def("is_directory", &fs::is_directory), + def("is_empty", &fs::is_empty), + def("create_directory", &fs::create_directory), + def("remove", &fs::remove), + def("remove_all", &fs::remove_all), + def("rename", &fs::rename), + def("copy_file", &fs::copy_file), + + def("initial_path", &fs::initial_path), + def("current_path", &fs::current_path), + def("complete", &fs::complete), + def("system_complete", &fs::system_complete) + ]; +} + +int main(int argc, const char* argv[]) +{ + lua_State* L = luaL_newstate(); + luaopen_base(L); + luaopen_string(L); + luaopen_table(L); + luaopen_math(L); + luaopen_io(L); + luaopen_debug(L); + + if (argc < 2) + { + std::cout << "This example will bind parts of the boost.Filesystem library\n" + "and then run the given lua file.\n\n" + "usage: filesystem filename [args]\n"; + return 1; + } + + using namespace luabind; + + open(L); + + bind_filesystem(L); + + object args = newtable(L); + + for (int i = 0; i < argc; ++i) + { + args[i + 1] = argv[i]; + } + + args["n"] = argc; + globals(L)["args"] = args; + + luaL_dofile(L, argv[1]); +} diff --git a/external/sources/luabind-0.7.1/examples/filesystem/inspect.lua b/external/sources/luabind-oberon00-49814f6/examples/filesystem/inspect.lua similarity index 98% rename from external/sources/luabind-0.7.1/examples/filesystem/inspect.lua rename to external/sources/luabind-oberon00-49814f6/examples/filesystem/inspect.lua index cf2f7b49fc..90a209a0ab 100755 --- a/external/sources/luabind-0.7.1/examples/filesystem/inspect.lua +++ b/external/sources/luabind-oberon00-49814f6/examples/filesystem/inspect.lua @@ -149,7 +149,7 @@ end function recurse_dir(path) for i in path.contents do if i:is_directory() then recurse_dir(i) - else + else table.foreach(inspectors, function(_,x) x:inspect(i) end) @@ -160,7 +160,7 @@ end -- main -inspectors = { filename_length(31), filename_case(), +inspectors = { filename_length(31), filename_case(), tab_inspector(), line_length_inspector(79), define_inspector() } number_of_files = 0 diff --git a/external/sources/luabind-oberon00-49814f6/examples/glut/Jamfile b/external/sources/luabind-oberon00-49814f6/examples/glut/Jamfile new file mode 100755 index 0000000000..5ae7c5b39c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/glut/Jamfile @@ -0,0 +1,14 @@ +import modules ; + +lib glut : : glut ; +lib glu : : glu ; +lib gl : : gl ; + +exe glut_bind + : glut_bind.cpp gl glu glut + /luabind//lualib + /luabind//luabind + ; + +stage . : glut_bind ; + diff --git a/external/sources/luabind-oberon00-49814f6/examples/glut/glut_bind.cpp b/external/sources/luabind-oberon00-49814f6/examples/glut/glut_bind.cpp new file mode 100644 index 0000000000..9b14603f35 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/glut/glut_bind.cpp @@ -0,0 +1,181 @@ +extern "C" +{ + #include "lua.h" + #include "lauxlib.h" + #include "lualib.h" +} + +#include +#include +#include +#include + + +#include +#include +#include + +struct glut_constants {}; +struct gl_constants {}; + +using luabind::object; + +namespace glut_bindings +{ + object displayfunc; + + void displayfunc_callback() + { + displayfunc(); + } + + void set_displayfunc(object const& fun) + { + glutDisplayFunc(&displayfunc_callback); + displayfunc = fun; + } + + object idlefunc; + + void idlefunc_callback() + { + idlefunc(); + } + + void set_idlefunc(object const& fun) + { + glutIdleFunc(&idlefunc_callback); + idlefunc = fun; + } + + + object reshapefunc; + + void reshapefunc_callback(int w, int h) + { + reshapefunc(w, h); + } + + void set_reshapefunc(object const& fun) + { + reshapefunc = fun; + } + + object keyboardfunc; + + void keyboardfunc_callback(unsigned char key, int x, int y) + { + keyboardfunc(key, x, y); + } + + void set_keyboardfunc(object const& fun) + { + glutKeyboardFunc(&keyboardfunc_callback); + keyboardfunc = fun; + } + + object mousefunc; + + void mousefunc_callback(int button, int state, int x, int y) + { + mousefunc(button, state, x, y); + } + + void set_mousefunc(object const& fun) + { + mousefunc = fun; + } +} + +void bind_glut(lua_State* L) +{ + using namespace luabind; + using namespace glut_bindings; + + open(L); + + module(L) + [ + def("glutInitWindowSize", &glutInitWindowSize), + def("glutInitWindowPosition", &glutInitWindowPosition), + def("glutInitDisplayMode", &glutInitDisplayMode), + + class_("glut") + .enum_("constants") + [ + value("RGB", GLUT_RGB), + value("RGBA", GLUT_RGBA), + value("INDEX", GLUT_INDEX), + value("SINGLE", GLUT_SINGLE), + value("DOUBLE", GLUT_DOUBLE), + value("DEPTH", GLUT_DEPTH), + value("STENCIL", GLUT_STENCIL), + value("LEFT_BUTTON", GLUT_LEFT_BUTTON), + value("MIDDLE_BUTTON", GLUT_MIDDLE_BUTTON), + value("RIGHT_BUTTON", GLUT_RIGHT_BUTTON), + value("UP", GLUT_UP), + value("DOWN", GLUT_DOWN), + value("ELAPSED_TIME", GLUT_ELAPSED_TIME) + ], + + def("glutCreateWindow", &glutCreateWindow), + def("glutDestroyWindow", &glutDestroyWindow), + def("glutFullScreen", &glutFullScreen), + def("glutDisplayFunc", &set_displayfunc), + def("glutKeyboardFunc", &set_keyboardfunc), + def("glutReshapeFunc", &set_reshapefunc), + def("glutIdleFunc", &set_idlefunc), + def("glutMainLoop", &glutMainLoop), + def("glutSwapBuffers", &glutSwapBuffers), + def("glutGet", &glutGet), + def("glutSolidSphere", &glutSolidSphere), + def("glutWireSphere", &glutWireSphere), + def("glutWireTeapot", &glutWireTeapot), + def("glutSolidTeapot", &glutSolidTeapot), + + // -- opengl + + class_("gl") + .enum_("constants") + [ + value("COLOR_BUFFER_BIT", GL_COLOR_BUFFER_BIT), + value("DEPTH_BUFFER_BIT", GL_DEPTH_BUFFER_BIT), + value("TRIANGLES", GL_TRIANGLES), + value("MODELVIEW", GL_MODELVIEW), + value("PROJECTION", GL_PROJECTION) + ], + + def("glBegin", &glBegin), + def("glVertex3", &glVertex3f), + def("glEnd", &glEnd), + def("glClear", &glClear), + def("glPushMatrix", &glPushMatrix), + def("glPopMatrix", &glPopMatrix), + def("glRotate", &glRotatef), + def("glColor3", &glColor3f), + def("glColor4", &glColor4f), + def("glMatrixMode", &glMatrixMode), + def("glLoadIdentity", &glLoadIdentity), + def("glViewport", &glViewport), + def("glTranslate", &glTranslatef), + + // -- glu + + def("gluPerspective", &gluPerspective) + ]; +} + +int main(int argc, char* argv[]) +{ + lua_State* L = luaL_newstate(); + lua_baselibopen(L); + lua_mathlibopen(L); + bind_glut(L); + + glutInit (&argc, argv); + + lua_dofile(L, "glut_bindings.lua"); + + lua_close(L); + return 0; +} diff --git a/external/sources/luabind-oberon00-49814f6/examples/glut/glut_bindings.lua b/external/sources/luabind-oberon00-49814f6/examples/glut/glut_bindings.lua new file mode 100644 index 0000000000..3b26f197f9 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/glut/glut_bindings.lua @@ -0,0 +1,79 @@ +quit = false + +function resize_func(w, h) + local ratio = w / h + + print('====== resize') + + glMatrixMode(gl.PROJECTION) + glLoadIdentity() + + glViewport(0,0,w,h) + + gluPerspective(45,ratio,1,1000) + + glMatrixMode(gl.MODELVIEW) + glLoadIdentity() +end + +angle = 0 +angle2 = 0 +previous_time = 0 + +function display_func() + + if quit then return end + + local cur_time = glutGet(glut.ELAPSED_TIME) + local delta = (cur_time - previous_time) / 1000 + previous_time = cur_time + + glClear(gl.COLOR_BUFFER_BIT + gl.DEPTH_BUFFER_BIT) + + glPushMatrix() + + glTranslate(0,0,-5) + glRotate(angle, 0, 1, 0) + glRotate(angle2, 0, 0, 1) + glColor3(1,0,0) +-- glutWireSphere(0.75, 10, 10) + glutSolidTeapot(0.75) +-- glColor3(1,1,1) +-- glutWireTeapot(0.75) + + glPopMatrix() + + angle = angle + 200 * delta + angle2 = angle2 + 170 * delta + + frames = frames + 1 + + if math.mod(frames, 100) == 0 then + local fps = frames * 1000 / (glutGet(glut.ELAPSED_TIME) - start_time); + print('fps: ' .. fps .. ' time: ' .. glutGet(glut.ELAPSED_TIME) .. ' frames: ' .. frames) + end + + glutSwapBuffers() +end + +function keyboard_func(key,x,y) + print('keyboard' .. key) + if key == 27 then glutDestroyWindow(window) quit = true end +end + +glutInitWindowSize(600,600) +glutInitWindowPosition(0,0) +glutInitDisplayMode(glut.RGB + glut.DOUBLE + glut.DEPTH) +window = glutCreateWindow("luabind, glut-bindings") +glutDisplayFunc(display_func) +glutIdleFunc(display_func) +glutKeyboardFunc(keyboard_func) +glutReshapeFunc(resize_func) + +resize_func(600,600) + +start_time = glutGet(glut.ELAPSED_TIME) +frames = 0 + +glutMainLoop() + diff --git a/external/sources/luabind-oberon00-49814f6/examples/hello_world/Jamfile b/external/sources/luabind-oberon00-49814f6/examples/hello_world/Jamfile new file mode 100755 index 0000000000..c81fae20a4 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/hello_world/Jamfile @@ -0,0 +1,9 @@ +import modules ; + +use-project /luabind : ../../ ; + +lib hello_world + : hello_world.cpp /luabind//luabind/static /luabind//lua ; + +stage . : hello_world ; + diff --git a/external/sources/luabind-0.7.1/examples/hello_world/README b/external/sources/luabind-oberon00-49814f6/examples/hello_world/README similarity index 100% rename from external/sources/luabind-0.7.1/examples/hello_world/README rename to external/sources/luabind-oberon00-49814f6/examples/hello_world/README diff --git a/external/sources/luabind-0.7.1/examples/hello_world/hello_world.cpp b/external/sources/luabind-oberon00-49814f6/examples/hello_world/hello_world.cpp similarity index 95% rename from external/sources/luabind-0.7.1/examples/hello_world/hello_world.cpp rename to external/sources/luabind-oberon00-49814f6/examples/hello_world/hello_world.cpp index b9b8a48086..611b1b4c46 100755 --- a/external/sources/luabind-0.7.1/examples/hello_world/hello_world.cpp +++ b/external/sources/luabind-oberon00-49814f6/examples/hello_world/hello_world.cpp @@ -22,9 +22,9 @@ extern "C" { - #include "lua.h" - #include "lualib.h" - #include "lauxlib.h" + #include "lua.h" + #include "lualib.h" + #include "lauxlib.h" } #include @@ -48,4 +48,3 @@ extern "C" int init(lua_State* L) return 0; } - diff --git a/external/sources/luabind-0.7.1/examples/hello_world/project-root.jam b/external/sources/luabind-oberon00-49814f6/examples/hello_world/project-root.jam similarity index 100% rename from external/sources/luabind-0.7.1/examples/hello_world/project-root.jam rename to external/sources/luabind-oberon00-49814f6/examples/hello_world/project-root.jam diff --git a/external/sources/luabind-oberon00-49814f6/examples/intrusive_ptr/Jamfile b/external/sources/luabind-oberon00-49814f6/examples/intrusive_ptr/Jamfile new file mode 100755 index 0000000000..a10cb6cc0e --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/intrusive_ptr/Jamfile @@ -0,0 +1,9 @@ +import modules ; + +exe intrusive_ptr + : intrusive_ptr.cpp + /luabind//luabind + ; + +stage . : intrusive_ptr ; + diff --git a/external/sources/luabind-oberon00-49814f6/examples/intrusive_ptr/intrusive_ptr.cpp b/external/sources/luabind-oberon00-49814f6/examples/intrusive_ptr/intrusive_ptr.cpp new file mode 100644 index 0000000000..bbe5bc80bc --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/intrusive_ptr/intrusive_ptr.cpp @@ -0,0 +1,165 @@ +#include + +extern "C" +{ + #include "lua.h" + #include "lauxlib.h" + #include "lualib.h" +} + +bool dostring(lua_State* L, const char* str) +{ + if (luaL_loadbuffer(L, str, std::strlen(str), str) || lua_pcall(L, 0, 0, 0)) + { + const char* a = lua_tostring(L, -1); + std::cout << a << "\n"; + lua_pop(L, 1); + return true; + } + return false; +} + +#include +#include + +namespace luabind +{ + namespace converters + { + // tell luabind that there is a converter for boost::intrusive_ptr + template + yes_t is_user_defined(by_value >); + + template + yes_t is_user_defined(by_const_reference >); + + // function used to destruct the object in lua + template + struct decrement_ref_count + { + static void apply(void* ptr) + { + T* p = static_cast(ptr); + intrusive_ptr_release(p); + } + }; + + template + void convert_cpp_to_lua(lua_State* L, const boost::intrusive_ptr& ptr) + { + if (!ptr) + { + lua_pushnil(L); + return; + } + + T* raw_ptr = ptr.get(); + // add reference to object, this will be released when the object is collected + intrusive_ptr_add_ref(raw_ptr); + + detail::class_registry* registry = luabind::detail::class_registry::get_registry(L); + detail::class_rep* crep = registry->find_class(LUABIND_TYPEID(T)); + + assert(crep != 0 && "You are trying to convert an unregistered type"); + + // create the struct to hold the object + void* obj = lua_newuserdata(L, sizeof(detail::object_rep)); + // we send 0 as destructor since we know it will never be called + new(obj) luabind::detail::object_rep(raw_ptr, crep, detail::object_rep::owner, decrement_ref_count::apply); + + // set the meta table + detail::getref(L, crep->metatable_ref()); + lua_setmetatable(L, -2); + } + + template + boost::intrusive_ptr + convert_lua_to_cpp(lua_State* L, by_const_reference >, int index) + { + typename detail::default_policy::template generate_converter::type converter; + T* ptr = converter.apply(L, LUABIND_DECORATE_TYPE(T*), index); + return boost::intrusive_ptr(ptr); + } + + template + boost::intrusive_ptr convert_lua_to_cpp(lua_State* L, by_value >, int index) + { + return convert_lua_to_cpp(L, by_const_reference >(), index); + } + + template + int match_lua_to_cpp(lua_State* L, by_value >, int index) + { + typedef typename detail::default_policy::template generate_converter::type converter_t; + return converter_t::match(L, LUABIND_DECORATE_TYPE(T*), index); + } + + template + int match_lua_to_cpp(lua_State* L, by_const_reference >, int index) + { + typedef typename detail::default_policy::template generate_converter::type converter_t; + return converter_t::match(L, LUABIND_DECORATE_TYPE(T*), index); + } + + } +} + +struct A +{ + A() + : cnt(0) + {} + + ~A() { std::cout << "free memory\n"; } + + int cnt; +}; + +void intrusive_ptr_add_ref(A* ptr) +{ + ++ptr->cnt; + std::cout << "add ref\n"; +} + +void intrusive_ptr_release(A* ptr) +{ + --ptr->cnt; + std::cout << "release\n"; + if (ptr->cnt == 0) delete ptr; +} + +void f(boost::intrusive_ptr ptr) +{ + std::cout << "count: " << ptr->cnt << "\n"; +} + +boost::intrusive_ptr factory() +{ + return boost::intrusive_ptr(new A()); +} + +int main() +{ + lua_State* L = luaL_newstate(); + lua_baselibopen(L); + + luabind::open(L); + + using namespace luabind; + + module(L) + [ + class_("A") + .def_readonly("cnt", &A::cnt), + + def("factory", &factory), + def("f", &f) + ]; + + dostring(L, "a = factory()"); + dostring(L, "print('lua count: ' .. a.cnt)"); + dostring(L, "f(a)"); + + lua_close(L); + return 0; +} diff --git a/external/sources/luabind-oberon00-49814f6/examples/regexp/Jamfile b/external/sources/luabind-oberon00-49814f6/examples/regexp/Jamfile new file mode 100755 index 0000000000..ff8a99d964 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/regexp/Jamfile @@ -0,0 +1,12 @@ +import modules ; + +BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ; + +use-project /boost : $(BOOST_ROOT) ; + +exe regexp + : regex_wrap.cpp + /boost/regex//boost_regex/static + /luabind//luabind + ; + diff --git a/external/sources/luabind-oberon00-49814f6/examples/regexp/regex.lua b/external/sources/luabind-oberon00-49814f6/examples/regexp/regex.lua new file mode 100644 index 0000000000..946efe37c0 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/regexp/regex.lua @@ -0,0 +1,12 @@ + +html_tag = regex("<(.*?)>") +src = 'dadasdsa' + +while html_tag:search(src) do + print('tag: ' .. html_tag:what(1)) + src = string.sub(src, html_tag:position(0) + html_tag:length(0)) +end + +print('-------------') + + diff --git a/external/sources/luabind-oberon00-49814f6/examples/regexp/regex_wrap.cpp b/external/sources/luabind-oberon00-49814f6/examples/regexp/regex_wrap.cpp new file mode 100644 index 0000000000..bdf9b55140 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/examples/regexp/regex_wrap.cpp @@ -0,0 +1,57 @@ +#include + +extern "C" +{ + #include "lua.h" + #include "lauxlib.h" + #include "lualib.h" +} + +#include + +namespace +{ + bool match(boost::RegEx& r, const char* s) + { + return r.Match(s); + } + + bool search(boost::RegEx& r, const char* s) + { + return r.Search(s); + } +} // namespace unnamed + + +void wrap_regex(lua_State* L) +{ + using boost::RegEx; + using namespace luabind; + + module(L) + [ + class_("regex") + .def(constructor()) + .def(constructor()) + .def("match", match) + .def("search", search) + .def("what", &RegEx::What) + .def("matched", &RegEx::Matched) + .def("length", &RegEx::Length) + .def("position", &RegEx::Position) + ]; +} + +int main() +{ + lua_State* L = luaL_newstate(); + lua_baselibopen(L); + lua_strlibopen(L); + luabind::open(L); + + wrap_regex(L); + + lua_dofile(L, "regex.lua"); + + lua_close(L); +} diff --git a/external/sources/luabind-oberon00-49814f6/get-deps.sh b/external/sources/luabind-oberon00-49814f6/get-deps.sh new file mode 100755 index 0000000000..3867de78da --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/get-deps.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +set -ex +LUAV="$1" + +curl -o lua-$LUAV.tar.gz https://www.lua.org/ftp/lua-$LUAV.tar.gz +tar xzf lua-$LUAV.tar.gz +cd lua-$LUAV +if [ "$2" = "cxx" ]; then + if [ -d cxx ]; then + rm -r cxx + fi + mkdir cxx + make clean + make linux CC=g++ MYCFLAGS="-DLUA_USE_APICHECK -g" + mv src/lua src/luac src/liblua.a cxx/ + cp src/lua.h src/luaconf.h src/lauxlib.h src/lualib.h cxx/ +fi +make clean +make linux MYCFLAGS="-DLUA_USE_APICHECK -g" diff --git a/external/sources/luabind-oberon00-49814f6/luabind/adopt_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/adopt_policy.hpp new file mode 100644 index 0000000000..d6e45703cc --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/adopt_policy.hpp @@ -0,0 +1,170 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_ADOPT_POLICY_HPP_INCLUDED +#define LUABIND_ADOPT_POLICY_HPP_INCLUDED + +#include +#include +#include +#include + +#include + +namespace luabind { namespace detail +{ + template + void adjust_backref_ownership(T* ptr, mpl::true_) + { + if (wrap_base* p = dynamic_cast(ptr)) + { + wrapped_self_t& wrapper = wrap_access::ref(*p); + wrapper.get(wrapper.state()); + wrapper.m_strong_ref.pop(wrapper.state()); + } + } + + inline void adjust_backref_ownership(void*, mpl::false_) + {} + + template + struct adopt_pointer : pointer_converter + { + typedef adopt_pointer type; + + int consumed_args() const + { + return 1; + } + + template + T* apply(lua_State* L, by_pointer, int index) + { + T* ptr = pointer_converter::apply( + L, LUABIND_DECORATE_TYPE(T*), index); + + object_rep* obj = static_cast( + lua_touserdata(L, index)); + + if (obj) + { + obj->release(); + } + + adjust_backref_ownership(ptr, boost::is_polymorphic()); + + return ptr; + } + + template + int match(lua_State* L, by_pointer, int index) + { + return pointer_converter::match( + L, LUABIND_DECORATE_TYPE(T*), index); + } + + template + void converter_postcall(lua_State*, T, int) {} + }; + + template + struct pointer_or_default + { + typedef Pointer type; + }; + + template + struct pointer_or_default + { + typedef std::auto_ptr type; + }; + + template + struct adopt_pointer + { + typedef adopt_pointer type; + + template + void apply(lua_State* L, T* ptr) + { + if (ptr == 0) + { + lua_pushnil(L); + return; + } + + // if there is a back_reference, then the + // ownership will be removed from the + // back reference and put on the lua stack. + if (luabind::move_back_reference(L, ptr)) + return; + + typedef typename pointer_or_default::type + pointer_type; + + make_instance(L, pointer_type(ptr)); + } + }; + + template + struct adopt_policy : conversion_policy + { +// BOOST_STATIC_CONSTANT(int, index = N); + + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + struct only_accepts_nonconst_pointers {}; + + template + struct apply + { + typedef luabind::detail::is_nonconst_pointer is_nonconst_p; + typedef typename boost::mpl::if_< + is_nonconst_p + , adopt_pointer + , only_accepts_nonconst_pointers + >::type type; + }; + }; + +}} + +namespace luabind +{ + template + detail::policy_cons, detail::null_type> + adopt(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons, detail::null_type>(); + } + + template + detail::policy_cons, detail::null_type> + adopt(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons, detail::null_type>(); + } +} + +#endif // LUABIND_ADOPT_POLICY_HPP_INCLUDE diff --git a/external/sources/luabind-0.7.1/luabind/back_reference.hpp b/external/sources/luabind-oberon00-49814f6/luabind/back_reference.hpp old mode 100755 new mode 100644 similarity index 92% rename from external/sources/luabind-0.7.1/luabind/back_reference.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/back_reference.hpp index 56036c2392..2de3ebbb42 --- a/external/sources/luabind-0.7.1/luabind/back_reference.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/back_reference.hpp @@ -23,20 +23,21 @@ #ifndef LUABIND_BACK_REFERENCE_040510_HPP #define LUABIND_BACK_REFERENCE_040510_HPP -#include -#include #include #include +#include + +#include #include -#include -#include +#include namespace luabind { + struct wrap_base; namespace detail { namespace mpl = boost::mpl; - + template wrap_base const* get_back_reference_aux0(T const* p, mpl::true_) { @@ -44,7 +45,7 @@ namespace detail } template - wrap_base const* get_back_reference_aux0(T const* p, mpl::false_) + wrap_base const* get_back_reference_aux0(T const*, mpl::false_) { return 0; } @@ -75,26 +76,23 @@ namespace detail , has_get_pointer() ); } - + } // namespace detail template bool get_back_reference(lua_State* L, T const& x) { -#ifndef LUABIND_NO_RTTI if (wrap_base const* w = detail::get_back_reference(x)) { detail::wrap_access::ref(*w).get(L); return true; } -#endif return false; } template bool move_back_reference(lua_State* L, T const& x) { -#ifndef LUABIND_NO_RTTI if (wrap_base* w = const_cast(detail::get_back_reference(x))) { assert(detail::wrap_access::ref(*w).m_strong_ref.is_valid()); @@ -102,11 +100,9 @@ bool move_back_reference(lua_State* L, T const& x) detail::wrap_access::ref(*w).m_strong_ref.reset(); return true; } -#endif return false; } } // namespace luabind #endif // LUABIND_BACK_REFERENCE_040510_HPP - diff --git a/external/sources/luabind-0.7.1/luabind/back_reference_fwd.hpp b/external/sources/luabind-oberon00-49814f6/luabind/back_reference_fwd.hpp old mode 100755 new mode 100644 similarity index 97% rename from external/sources/luabind-0.7.1/luabind/back_reference_fwd.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/back_reference_fwd.hpp index ffe141dbaa..370f31efb1 --- a/external/sources/luabind-0.7.1/luabind/back_reference_fwd.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/back_reference_fwd.hpp @@ -23,6 +23,8 @@ #ifndef LUABIND_BACK_REFERENCE_FWD_040510_HPP #define LUABIND_BACK_REFERENCE_FWD_040510_HPP +#include + namespace luabind { template @@ -34,4 +36,3 @@ bool move_back_reference(lua_State* L, T const& x); } // namespace luabind #endif // LUABIND_BACK_REFERENCE_FWD_040510_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/class.hpp b/external/sources/luabind-oberon00-49814f6/luabind/class.hpp new file mode 100644 index 0000000000..058ba2a987 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/class.hpp @@ -0,0 +1,863 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_CLASS_HPP_INCLUDED +#define LUABIND_CLASS_HPP_INCLUDED + +/* + ISSUES: + ------------------------------------------------------ + + * solved for member functions, not application operator * + if we have a base class that defines a function a derived class must be able to + override that function (not just overload). Right now we just add the other overload + to the overloads list and will probably get an ambiguity. If we want to support this + each method_rep must include a vector of type_info pointers for each parameter. + Operators do not have this problem, since operators always have to have + it's own type as one of the arguments, no ambiguity can occur. Application + operator, on the other hand, would have this problem. + Properties cannot be overloaded, so they should always be overridden. + If this is to work for application operator, we really need to specify if an application + operator is const or not. + + If one class registers two functions with the same name and the same + signature, there's currently no error. The last registered function will + be the one that's used. + How do we know which class registered the function? If the function was + defined by the base class, it is a legal operation, to override it. + we cannot look at the pointer offset, since it always will be zero for one of the bases. + + + + TODO: + ------------------------------------------------------ + + finish smart pointer support + * the adopt policy should not be able to adopt pointers to held_types. This + must be prohibited. + * name_of_type must recognize holder_types and not return "custom" + + document custom policies, custom converters + + store the instance object for policies. + + support the __concat metamethod. This is a bit tricky, since it cannot be + treated as a normal operator. It is a binary operator but we want to use the + __tostring implementation for both arguments. + +*/ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +// to remove the 'this' used in initialization list-warning +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable: 4355) +#endif + +namespace boost +{ + + template class shared_ptr; + +} // namespace boost + +namespace luabind +{ + namespace detail + { + struct unspecified {}; + + template struct operator_; + } + + template + struct class_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + LUABIND_MAX_BASES, class A, detail::null_type) + > + struct bases + {}; + + typedef bases no_bases; + + namespace detail + { + template + struct is_bases + : mpl::false_ + {}; + + template + struct is_bases > + : mpl::true_ + {}; + + template + struct is_unspecified + : mpl::apply1 + {}; + + template + struct is_unspecified + : mpl::true_ + {}; + + template + struct is_unspecified_mfn + { + template + struct apply + : is_unspecified + {}; + }; + + template + struct get_predicate + { + typedef mpl::protect > type; + }; + + template + struct result_or_default + { + typedef Result type; + }; + + template + struct result_or_default + { + typedef Default type; + }; + + template + struct extract_parameter + { + typedef typename get_predicate::type pred; + typedef typename boost::mpl::find_if::type iterator; + typedef typename result_or_default< + typename iterator::type, DefaultValue + >::type type; + }; + + struct LUABIND_API create_class + { + static int stage1(lua_State* L); + static int stage2(lua_State* L); + }; + + } // detail + + namespace detail { + + template + struct static_scope + { + static_scope(T& self_) : self(self_) + { + } + + T& operator[](scope s) const + { + self.add_inner_scope(s); + return self; + } + + private: + template void operator,(U const&) const; + void operator=(static_scope const&); + + T& self; + }; + + struct class_registration; + + struct LUABIND_API class_base : scope + { + public: + class_base(char const* name); + + void init( + type_id const& type, class_id id + , type_id const& wrapped_type, class_id wrapper_id); + + void add_base(type_id const& base); + + void add_member(registration* member); + void add_default_member(registration* member); + + const char* name() const; + + void add_static_constant(const char* name, int val); + void add_inner_scope(scope& s); + + void add_cast(class_id src, class_id target, cast_function cast); + + private: + class_registration* m_registration; + }; + +// MSVC complains about member being sensitive to alignment (C4121) +// when F is a pointer to member of a class with virtual bases. +# ifdef BOOST_MSVC +# pragma pack(push) +# pragma pack(16) +# endif + + template + struct memfun_registration : registration + { + memfun_registration(char const* name_, F f_, Policies const& policies_) + : name(name_) + , f(f_) + , policies(policies_) + {} + + void register_(lua_State* L) const + { + object fn = make_function( + L, f, deduce_signature(f, static_cast(0)), policies); + + add_overload( + object(from_stack(L, -1)) + , name + , fn + ); + } + + char const* name; + F f; + Policies policies; + }; + +# ifdef BOOST_MSVC +# pragma pack(pop) +# endif + + template + struct default_pointer + { + typedef P type; + }; + + template + struct default_pointer + { + typedef std::auto_ptr type; + }; + + template + struct constructor_registration : registration + { + constructor_registration(Policies const& policies_) + : policies(policies_) + {} + + void register_(lua_State* L) const + { + typedef typename default_pointer::type pointer; + + object fn = make_function( + L + , construct(), Signature() + , policies + ); + + add_overload( + object(from_stack(L, -1)) + , "__init" + , fn + ); + } + + Policies policies; + }; + + template + struct reference_result + : mpl::if_< + mpl::or_, is_primitive > + , T + , typename boost::add_reference::type + > + {}; + + template + struct reference_argument + : mpl::if_< + mpl::or_, is_primitive > + , T + , typename boost::add_reference< + typename boost::add_const::type + >::type + > + {}; + + template + struct inject_dependency_policy + : mpl::if_< + mpl::or_< + is_primitive + , has_policy + > + , Policies + , policy_cons, Policies> + > + {}; + + template < + class Class + , class Get, class GetPolicies + , class Set = null_type, class SetPolicies = null_type + > + struct property_registration : registration + { + property_registration( + char const* name_ + , Get const& get_ + , GetPolicies const& get_policies_ + , Set const& set_ = Set() + , SetPolicies const& set_policies_ = SetPolicies() + ) + : set(set_) + , set_policies(set_policies_) + , get(get_) + , get_policies(get_policies_) + , name(name_) + {} + + void register_(lua_State* L) const + { + object context(from_stack(L, -1)); + register_aux( + L + , context + , make_get(L, get, boost::is_member_object_pointer()) + , set + ); + } + + template + object make_get(lua_State* L, F const& f, mpl::false_) const + { + return make_function( + L, f, deduce_signature(f, static_cast(0)), get_policies); + } + + template + object make_get(lua_State* L, D T::* mem_ptr, mpl::true_) const + { + typedef typename reference_result::type result_type; + typedef typename inject_dependency_policy< + D, GetPolicies>::type policies; + + return make_function( + L + , access_member_ptr(mem_ptr) + , mpl::vector2() + , policies() + ); + } + + template + object make_set(lua_State* L, F const& f, mpl::false_) const + { + return make_function( + L, f, deduce_signature(f, static_cast(0)), set_policies); + } + + template + object make_set(lua_State* L, D T::* mem_ptr, mpl::true_) const + { + typedef typename reference_argument::type argument_type; + + return make_function( + L + , access_member_ptr(mem_ptr) + , mpl::vector3() + , set_policies + ); + } + + template + void register_aux( + lua_State* L, object const& context + , object const& get_, S const&) const + { + context[name] = property( + get_ + , make_set(L, set, boost::is_member_object_pointer()) + ); + } + + void register_aux( + lua_State*, object const& context + , object const& get_, null_type) const + { + context[name] = property(get_); + } + + Set set; + SetPolicies set_policies; + Get get; + GetPolicies get_policies; + char const* name; + }; + + } // namespace detail + + // registers a class in the lua environment + template + struct class_: detail::class_base + { + typedef class_ self_t; + + private: + + template + class_(const class_&); + + public: + + typedef boost::mpl::vector4 parameters_type; + + // WrappedType MUST inherit from T + typedef typename detail::extract_parameter< + parameters_type + , boost::is_base_and_derived + , detail::null_type + >::type WrappedType; + + typedef typename detail::extract_parameter< + parameters_type + , boost::mpl::not_< + boost::mpl::or_< + detail::is_bases + , boost::is_base_and_derived + , boost::is_base_and_derived + > + > + , detail::null_type + >::type HeldType; + + template + void add_downcast(Src*, Target*, boost::mpl::true_) + { + add_cast( + detail::registered_class::id + , detail::registered_class::id + , detail::dynamic_cast_::execute + ); + } + + template + void add_downcast(Src*, Target*, boost::mpl::false_) + {} + + // this function generates conversion information + // in the given class_rep structure. It will be able + // to implicitly cast to the given template type + template + void gen_base_info(detail::type_) + { + add_base(typeid(To)); + add_cast( + detail::registered_class::id + , detail::registered_class::id + , detail::static_cast_::execute + ); + + add_downcast(static_cast(0), static_cast(0), boost::is_polymorphic()); + } + + void gen_base_info(detail::type_) + {} + +#define LUABIND_GEN_BASE_INFO(z, n, text) gen_base_info(detail::type_()); + + template + void generate_baseclass_list(detail::type_ >) + { + BOOST_PP_REPEAT(LUABIND_MAX_BASES, LUABIND_GEN_BASE_INFO, _) + } + +#undef LUABIND_GEN_BASE_INFO + + class_(const char* name_ = 0): class_base(name_), scope(*this) + { +#ifndef NDEBUG + detail::check_link_compatibility(); +#endif + init(); + } + + template + class_& def(const char* name_, F f) + { + return this->virtual_def( + name_, f, detail::null_type() + , detail::null_type(), boost::mpl::true_()); + } + + // virtual functions + template + class_& def(char const* name_, F fn, DefaultOrPolicies default_or_policies) + { + return this->virtual_def( + name_, fn, default_or_policies, detail::null_type() + , typename detail::is_policy_cons::type()); + } + + template + class_& def(char const* name_, F fn + , Default default_, Policies const& policies) + { + return this->virtual_def( + name_, fn, default_ + , policies, boost::mpl::false_()); + } + + template + class_& def(constructor sig) + { + return this->def_constructor(&sig, detail::null_type()); + } + + template + class_& def(constructor sig, const Policies& policies) + { + return this->def_constructor(&sig, policies); + } + + template + class_& property(const char* name_, Getter g) + { + this->add_member( + new detail::property_registration( + name_, g, detail::null_type())); + return *this; + } + + template + class_& property(const char* name_, Getter g, MaybeSetter s) + { + return property_impl( + name_, g, s + , boost::mpl::bool_::value>() + ); + } + + template + class_& property(const char* name_, Getter g, Setter s, const GetPolicies& get_policies) + { + typedef detail::property_registration< + T, Getter, GetPolicies, Setter, detail::null_type + > registration_type; + + this->add_member( + new registration_type(name_, g, get_policies, s)); + return *this; + } + + template + class_& property( + const char* name_ + , Getter g, Setter s + , GetPolicies const& get_policies + , SetPolicies const& set_policies) + { + typedef detail::property_registration< + T, Getter, GetPolicies, Setter, SetPolicies + > registration_type; + + this->add_member( + new registration_type(name_, g, get_policies, s, set_policies)); + return *this; + } + + template + class_& def_readonly(const char* name_, D C::*mem_ptr) + { + typedef detail::property_registration + registration_type; + + this->add_member( + new registration_type(name_, mem_ptr, detail::null_type())); + return *this; + } + + template + class_& def_readonly(const char* name_, D C::*mem_ptr, Policies const& policies) + { + typedef detail::property_registration + registration_type; + + this->add_member( + new registration_type(name_, mem_ptr, policies)); + return *this; + } + + template + class_& def_readwrite(const char* name_, D C::*mem_ptr) + { + typedef detail::property_registration< + T, D C::*, detail::null_type, D C::* + > registration_type; + + this->add_member( + new registration_type( + name_, mem_ptr, detail::null_type(), mem_ptr)); + return *this; + } + + template + class_& def_readwrite( + const char* name_, D C::*mem_ptr, GetPolicies const& get_policies) + { + typedef detail::property_registration< + T, D C::*, GetPolicies, D C::* + > registration_type; + + this->add_member( + new registration_type( + name_, mem_ptr, get_policies, mem_ptr)); + return *this; + } + + template + class_& def_readwrite( + const char* name_ + , D C::*mem_ptr + , GetPolicies const& get_policies + , SetPolicies const& set_policies + ) + { + typedef detail::property_registration< + T, D C::*, GetPolicies, D C::*, SetPolicies + > registration_type; + + this->add_member( + new registration_type( + name_, mem_ptr, get_policies, mem_ptr, set_policies)); + return *this; + } + + template + class_& def(detail::operator_, Policies const& policies) + { + return this->def( + Derived::name() + , &Derived::template apply::execute + , policies + ); + } + + template + class_& def(detail::operator_) + { + return this->def( + Derived::name() + , &Derived::template apply::execute + ); + } + + detail::enum_maker enum_(const char*) + { + return detail::enum_maker(*this); + } + + detail::static_scope scope; + + private: + void operator=(class_ const&); + + void add_wrapper_cast(detail::null_type*) + {} + + template + void add_wrapper_cast(U*) + { + add_cast( + detail::registered_class::id + , detail::registered_class::id + , detail::static_cast_::execute + ); + + add_downcast(static_cast(0), static_cast(0), boost::is_polymorphic()); + } + + void init() + { + typedef typename detail::extract_parameter< + parameters_type + , boost::mpl::or_< + detail::is_bases + , boost::is_base_and_derived + > + , no_bases + >::type bases_t; + + typedef typename + boost::mpl::if_ + , bases_t + , bases + >::type Base; + + class_base::init( + typeid(T) + , detail::registered_class::id + , typeid(WrappedType) + , detail::registered_class::id + ); + + add_wrapper_cast(static_cast(0)); + + generate_baseclass_list(detail::type_()); + } + + template + class_& property_impl(const char* name_, + Getter g, + GetPolicies policies, + boost::mpl::bool_) + { + this->add_member( + new detail::property_registration( + name_, g, policies)); + return *this; + } + + template + class_& property_impl(const char* name_, + Getter g, + Setter s, + boost::mpl::bool_) + { + typedef detail::property_registration< + T, Getter, detail::null_type, Setter, detail::null_type + > registration_type; + + this->add_member( + new registration_type(name_, g, detail::null_type(), s)); + return *this; + } + + // these handle default implementation of virtual functions + template + class_& virtual_def(char const* name_, F const& fn + , Policies const&, detail::null_type, boost::mpl::true_) + { + this->add_member( + new detail::memfun_registration( + name_, fn, Policies())); + return *this; + } + + template + class_& virtual_def(char const* name_, F const& fn + , Default const& default_, Policies const&, boost::mpl::false_) + { + this->add_member( + new detail::memfun_registration( + name_, fn, Policies())); + + this->add_default_member( + new detail::memfun_registration( + name_, default_, Policies())); + + return *this; + } + + template + class_& def_constructor(Signature*, Policies const&) + { + typedef typename Signature::signature signature; + + typedef typename boost::mpl::if_< + boost::is_same + , T + , WrappedType + >::type construct_type; + + this->add_member( + new detail::constructor_registration< + construct_type, HeldType, signature, Policies>( + Policies())); + + this->add_default_member( + new detail::constructor_registration< + construct_type, HeldType, signature, Policies>( + Policies())); + + return *this; + } + }; + +} + +#ifdef _MSC_VER +#pragma warning(pop) +#endif + +#endif // LUABIND_CLASS_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/class_info.hpp b/external/sources/luabind-oberon00-49814f6/luabind/class_info.hpp old mode 100755 new mode 100644 similarity index 80% rename from external/sources/luabind-0.7.1/luabind/class_info.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/class_info.hpp index 92c9acffe9..c3a7a63812 --- a/external/sources/luabind-0.7.1/luabind/class_info.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/class_info.hpp @@ -24,24 +24,26 @@ #ifndef LUABIND_CLASS_INFO_HPP_INCLUDED #define LUABIND_CLASS_INFO_HPP_INCLUDED -#include -#include #include +#include #include +#include namespace luabind { - struct class_info - { - std::string name; - object methods; - object attributes; - }; + struct LUABIND_API class_info + { + std::string name; + object methods; + object attributes; + }; + + LUABIND_API class_info get_class_info(argument const&); - class_info get_class_info(const object&); + // returns a table of bound class names + LUABIND_API object get_class_names(lua_State* L); - void bind_class_info(lua_State*); + LUABIND_API void bind_class_info(lua_State*); } #endif - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/config.hpp b/external/sources/luabind-oberon00-49814f6/luabind/config.hpp new file mode 100644 index 0000000000..2e2222909c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/config.hpp @@ -0,0 +1,163 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_CONFIG_HPP_INCLUDED +#define LUABIND_CONFIG_HPP_INCLUDED + +#include +#include +#include + +// monkey patched out :) +//#include + +#ifdef BOOST_MSVC + #define LUABIND_ANONYMOUS_FIX static +#else + #define LUABIND_ANONYMOUS_FIX +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + #error "Support for your version of Visual C++ has been removed from this version of Luabind" +#endif + +// the maximum number of arguments of functions that's +// registered. Must at least be 2 +#ifndef LUABIND_MAX_ARITY + #define LUABIND_MAX_ARITY 10 +#elif LUABIND_MAX_ARITY <= 1 + #undef LUABIND_MAX_ARITY + #define LUABIND_MAX_ARITY 2 +#endif + +// the maximum number of classes one class +// can derive from +// max bases must at least be 1 +#ifndef LUABIND_MAX_BASES + #define LUABIND_MAX_BASES 4 +#elif LUABIND_MAX_BASES <= 0 + #undef LUABIND_MAX_BASES + #define LUABIND_MAX_BASES 1 +#endif + +// LUABIND_NO_ERROR_CHECKING +// define this to remove all error checks +// this will improve performance and memory +// footprint. +// if it is defined matchers will only be called on +// overloaded functions, functions that's +// not overloaded will be called directly. The +// parameters on the lua stack are assumed +// to match those of the function. +// exceptions will still be catched when there's +// no error checking. + +// LUABIND_NOT_THREADSAFE +// this define will make luabind non-thread safe. That is, +// it will rely on a static variable. You can still have +// multiple lua states and use coroutines, but only +// one of your real threads may run lua code. + +// LUABIND_NO_EXCEPTIONS +// this define will disable all usage of try, catch and throw in +// luabind. This will in many cases disable runtime-errors, such +// as invalid casts, when calling lua-functions that fails or +// returns values that cannot be converted by the given policy. +// Luabind requires that no function called directly or indirectly +// by luabind throws an exception (throwing exceptions through +// C code has undefined behavior, lua is written in C). + +#ifdef LUABIND_DYNAMIC_LINK +# if defined (BOOST_WINDOWS) +# ifdef LUABIND_BUILDING +# define LUABIND_API __declspec(dllexport) +# else +# define LUABIND_API __declspec(dllimport) +# endif +# elif defined (__CYGWIN__) +# ifdef LUABIND_BUILDING +# define LUABIND_API __attribute__ ((dllexport)) +# else +# define LUABIND_API __attribute__ ((dllimport)) +# endif +# else +# if defined(__GNUC__) && __GNUC__ >=4 +# define LUABIND_API __attribute__ ((visibility("default"))) +# endif +# endif +#endif + +#ifndef LUABIND_API +# define LUABIND_API +#endif + +// C++11 features // + +#if ( defined(BOOST_NO_CXX11_SCOPED_ENUMS) \ + || defined(BOOST_NO_SCOPED_ENUMS) \ + || BOOST_VERSION < 105600 \ + && ( defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) \ + || defined(BOOST_NO_0X_HDR_TYPE_TRAITS))) +# define LUABIND_NO_SCOPED_ENUM +#endif + +#if ( defined(BOOST_NO_CXX11_RVALUE_REFERENCES) \ + || defined(BOOST_NO_RVALUE_REFERENCES)) +# define LUABIND_NO_RVALUE_REFERENCES +#endif + +// If you use Boost <= 1.46 but your compiler is C++11 compliant and marks +// destructors as noexcept by default, you need to define LUABIND_USE_NOEXCEPT. +#if ( !defined(BOOST_NO_NOEXCEPT) \ + && !defined(BOOST_NO_CXX11_NOEXCEPT) \ + && BOOST_VERSION >= 104700) +# define LUABIND_USE_NOEXCEPT +#endif + +#ifndef LUABIND_MAY_THROW +# ifdef BOOST_NOEXCEPT_IF +# define LUABIND_MAY_THROW BOOST_NOEXCEPT_IF(false) +# elif defined(LUABIND_USE_NOEXCEPT) +# define LUABIND_MAY_THROW noexcept(false) +# else +# define LUABIND_MAY_THROW +# endif +#endif + +#ifndef LUABIND_NOEXCEPT +# ifdef BOOST_NOEXCEPT_OR_NOTHROW +# define LUABIND_NOEXCEPT BOOST_NOEXCEPT_OR_NOTHROW +# elif defined(LUABIND_USE_NOEXCEPT) +# define LUABIND_NOEXCEPT noexcept +# else +# define LUABIND_NOEXCEPT throw() +# endif +#endif + +namespace luabind { + +LUABIND_API void disable_super_deprecation(); + +} // namespace luabind + +#endif // LUABIND_CONFIG_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/container_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/container_policy.hpp new file mode 100644 index 0000000000..1f685ed9bd --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/container_policy.hpp @@ -0,0 +1,148 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_CONTAINER_POLICY_HPP_INCLUDED +#define LUABIND_CONTAINER_POLICY_HPP_INCLUDED + +#include +#include // for LUABIND_DECORATE_TYPE +#include // for policy_cons, etc +#include // for null_type (ptr only), etc + +#include +#include // for if_ +#include // for is_same + +namespace luabind { namespace detail { + + namespace mpl = boost::mpl; + + template + struct container_converter_lua_to_cpp + { + int consumed_args() const + { + return 1; + } + + template + T apply(lua_State* L, by_const_reference, int index) + { + typedef typename T::value_type value_type; + + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; + + T container; + + lua_pushnil(L); + while (lua_next(L, index)) + { + container.push_back(converter.apply(L, LUABIND_DECORATE_TYPE(value_type), -1)); + lua_pop(L, 1); // pop value + } + + return container; + } + + template + T apply(lua_State* L, by_value, int index) + { + return apply(L, by_const_reference(), index); + } + + template + static int match(lua_State* L, by_const_reference, int index) + { + if (lua_istable(L, index)) return 0; else return -1; + } + + template + void converter_postcall(lua_State*, T, int) {} + }; + + template + struct container_converter_cpp_to_lua + { + template + void apply(lua_State* L, const T& container) + { + typedef typename T::value_type value_type; + + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; + + lua_newtable(L); + + int index = 1; + + for (typename T::const_iterator i = container.begin(); i != container.end(); ++i) + { + converter.apply(L, *i); + lua_rawseti(L, -2, index); + ++index; + } + } + }; + + template +// struct container_policy : converter_policy_tag + struct container_policy : conversion_policy + { +// BOOST_STATIC_CONSTANT(int, index = N); + + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + struct only_accepts_nonconst_pointers {}; + + template + struct apply + { + typedef typename boost::mpl::if_ + , container_converter_lua_to_cpp + , container_converter_cpp_to_lua + >::type type; + }; + }; + +}} + +namespace luabind +{ + template + detail::policy_cons, detail::null_type> + container(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons, detail::null_type>(); + } + + template + detail::policy_cons, detail::null_type> + container(LUABIND_PLACEHOLDER_ARG(N), const Policies&) + { + return detail::policy_cons, detail::null_type>(); + } +} + +#endif // LUABIND_CONTAINER_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/copy_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/copy_policy.hpp new file mode 100644 index 0000000000..018e255b8a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/copy_policy.hpp @@ -0,0 +1,60 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_COPY_POLICY_081021_HPP +# define LUABIND_COPY_POLICY_081021_HPP + +# include + +namespace luabind { + +namespace detail +{ + + struct copy_converter + { + template + void apply(lua_State* L, T const& x) + { + value_converter().apply(L, x); + } + + template + void apply(lua_State* L, T* x) + { + if (!x) + lua_pushnil(L); + else + apply(L, *x); + } + }; + + template + struct copy_policy : conversion_policy + { + static void precall(lua_State*, index_map const&) + {} + + static void postcall(lua_State*, index_map const&) + {} + + template + struct apply + { + typedef copy_converter type; + }; + }; + +} // namespace detail + +template +detail::policy_cons, detail::null_type> +copy(LUABIND_PLACEHOLDER_ARG(N)) +{ + return detail::policy_cons, detail::null_type>(); +} + +} // namespace luabind + +#endif // LUABIND_COPY_POLICY_081021_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/dependency_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/dependency_policy.hpp new file mode 100644 index 0000000000..be7b4bc07c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/dependency_policy.hpp @@ -0,0 +1,73 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED +#define LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED + +#include +#include // for object_rep +#include // for policy_cons, etc +#include // for null_type + +namespace luabind { namespace detail +{ + // makes A dependent on B, meaning B will outlive A. + // internally A stores a reference to B + template + struct dependency_policy + { + static void postcall(lua_State* L, const index_map& indices) + { + int nurse_index = indices[A]; + int patient = indices[B]; + + object_rep* nurse = static_cast(lua_touserdata(L, nurse_index)); + + // If the nurse isn't an object_rep, just make this a nop. + if (nurse == 0) + return; + + nurse->add_dependency(L, patient); + } + }; + +}} + +namespace luabind +{ + template + detail::policy_cons, detail::null_type> + dependency(LUABIND_PLACEHOLDER_ARG(A), LUABIND_PLACEHOLDER_ARG(B)) + { + return detail::policy_cons, detail::null_type>(); + } + + template + detail::policy_cons, detail::null_type> + return_internal_reference(LUABIND_PLACEHOLDER_ARG(A)) + { + return detail::policy_cons, detail::null_type>(); + } +} + +#endif // LUABIND_DEPENDENCY_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/call.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/call.hpp new file mode 100644 index 0000000000..6df50c6a99 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/call.hpp @@ -0,0 +1,334 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#if !BOOST_PP_IS_ITERATING + +# ifndef LUABIND_CALL2_080911_HPP +# define LUABIND_CALL2_080911_HPP + +# include +# include +# include +# include + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +namespace luabind { namespace detail { + +struct invoke_context; + +struct LUABIND_API function_object +{ + function_object(lua_CFunction entry_) + : entry(entry_) + , next(0) + {} + + virtual ~function_object() + {} + + virtual int call( + lua_State* L, invoke_context& ctx) const = 0; + virtual void format_signature(lua_State* L, char const* function) const = 0; + + lua_CFunction entry; + std::string name; + function_object* next; + object keepalive; +}; + +struct LUABIND_API invoke_context +{ + invoke_context() + : best_score((std::numeric_limits::max)()) + , candidate_index(0) + , additional_candidates(0) + {} + + operator bool() const + { + return candidate_index == 1; + } + + void format_error(lua_State* L, function_object const* overloads) const; + + BOOST_STATIC_CONSTANT(int, max_candidates = 10); + function_object const* candidates[max_candidates]; + int best_score; + int candidate_index; + int additional_candidates; +}; + +template +inline int invoke0( + lua_State* L, function_object const& self, invoke_context& ctx + , F const& f, Signature, Policies const& policies, IsVoid, mpl::true_) +{ + return invoke_member( + L, self, ctx, f, Signature(), policies + , mpl::long_::value - 1>(), IsVoid() + ); +} + +template +inline int invoke0( + lua_State* L, function_object const& self, invoke_context& ctx, + F const& f, Signature, Policies const& policies, IsVoid, mpl::false_) +{ + return invoke_normal( + L, self, ctx, f, Signature(), policies + , mpl::long_::value - 1>(), IsVoid() + ); +} + +template +inline int invoke( + lua_State* L, function_object const& self, invoke_context& ctx + , F const& f, Signature, Policies const& policies) +{ + return invoke0( + L, self, ctx, f, Signature(), policies + , boost::is_void::type>() + , boost::is_member_function_pointer() + ); +} + +inline int maybe_yield_aux(int results, mpl::false_) +{ + return results; +} + +inline int maybe_yield_aux(int results, mpl::true_) +{ + assert(results >= 0); + return -results - 1; +} + +template +int maybe_yield(int results, Policies*) +{ + return maybe_yield_aux( + results, has_policy()); +} + +inline int sum_scores(int const* first, int const* last) +{ + int result = 0; + + for (; first != last; ++first) + { + if (*first < 0) + return *first; + result += *first; + } + + return result; +} + +# define LUABIND_INVOKE_NEXT_ITER(n) \ + typename mpl::next< \ + BOOST_PP_IF( \ + n, BOOST_PP_CAT(iter,BOOST_PP_DEC(n)), first) \ + >::type + +# define LUABIND_INVOKE_NEXT_INDEX(n) \ + BOOST_PP_IF( \ + n \ + , BOOST_PP_CAT(index,BOOST_PP_DEC(n)) + \ + BOOST_PP_CAT(c,BOOST_PP_DEC(n)).consumed_args() \ + , 1 \ + ) + +# define LUABIND_INVOKE_COMPUTE_ARITY(n) + BOOST_PP_CAT(c,n).consumed_args() + +# define LUABIND_INVOKE_DECLARE_CONVERTER(n) \ + typedef LUABIND_INVOKE_NEXT_ITER(n) BOOST_PP_CAT(iter,n); \ + typedef typename mpl::deref::type \ + BOOST_PP_CAT(a,n); \ + typedef typename find_conversion_policy::type \ + BOOST_PP_CAT(p,n); \ + typename mpl::apply_wrap2< \ + BOOST_PP_CAT(p,n), BOOST_PP_CAT(a,n), lua_to_cpp>::type BOOST_PP_CAT(c,n); \ + int const BOOST_PP_CAT(index,n) = LUABIND_INVOKE_NEXT_INDEX(n); + +# define LUABIND_INVOKE_COMPUTE_SCORE(n) \ + , BOOST_PP_CAT(c,n).match( \ + L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(a,n)), BOOST_PP_CAT(index,n)) + +# define LUABIND_INVOKE_ARG(z, n, base) \ + BOOST_PP_CAT(c,base(n)).apply( \ + L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(a,base(n))), BOOST_PP_CAT(index,base(n))) + +# define LUABIND_INVOKE_CONVERTER_POSTCALL(n) \ + BOOST_PP_CAT(c,n).converter_postcall( \ + L, LUABIND_DECORATE_TYPE(BOOST_PP_CAT(a,n)), BOOST_PP_CAT(index,n)); + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, LUABIND_MAX_ARITY, )) +# include BOOST_PP_ITERATE() + +# define LUABIND_INVOKE_VOID +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, LUABIND_MAX_ARITY, )) +# include BOOST_PP_ITERATE() + +# undef LUABIND_INVOKE_VOID +# define LUABIND_INVOKE_MEMBER +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, LUABIND_MAX_ARITY, )) +# include BOOST_PP_ITERATE() + +# define LUABIND_INVOKE_VOID +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, LUABIND_MAX_ARITY, )) +# include BOOST_PP_ITERATE() + +}} // namespace luabind::detail + +# endif // LUABIND_CALL2_080911_HPP + +#else // BOOST_PP_IS_ITERATING + +# ifdef LUABIND_INVOKE_MEMBER +# define N BOOST_PP_INC(BOOST_PP_ITERATION()) +# else +# define N BOOST_PP_ITERATION() +# endif + +template +inline int +# ifdef LUABIND_INVOKE_MEMBER +invoke_member +# else +invoke_normal +# endif +( + lua_State* L, function_object const& self, invoke_context& ctx + , F const& f, Signature, Policies const&, mpl::long_ +# ifdef LUABIND_INVOKE_VOID + , mpl::true_ +# else + , mpl::false_ +# endif +) +{ + typedef typename mpl::begin::type first; +# ifndef LUABIND_INVOKE_VOID + typedef typename mpl::deref::type result_type; + typedef typename find_conversion_policy<0, Policies>::type result_policy; + typename mpl::apply_wrap2< + result_policy, result_type, cpp_to_lua>::type result_converter; +# endif + +# if N > 0 +# define BOOST_PP_LOCAL_MACRO(n) LUABIND_INVOKE_DECLARE_CONVERTER(n) +# define BOOST_PP_LOCAL_LIMITS (0,N-1) +# include BOOST_PP_LOCAL_ITERATE() +# endif + + int const arity = 0 +# if N > 0 +# define BOOST_PP_LOCAL_MACRO(n) LUABIND_INVOKE_COMPUTE_ARITY(n) +# define BOOST_PP_LOCAL_LIMITS (0,N-1) +# include BOOST_PP_LOCAL_ITERATE() +# endif + ; + + int const arguments = lua_gettop(L); + + int score = -1; + + if (arity == arguments) + { + int const scores[] = { + 0 +# if N > 0 +# define BOOST_PP_LOCAL_MACRO(n) LUABIND_INVOKE_COMPUTE_SCORE(n) +# define BOOST_PP_LOCAL_LIMITS (0,N-1) +# include BOOST_PP_LOCAL_ITERATE() +# endif + }; + + score = sum_scores(scores + 1, scores + 1 + N); + } + + if (score >= 0 && score < ctx.best_score) + { + ctx.best_score = score; + ctx.candidates[0] = &self; + ctx.candidate_index = 1; + ctx.additional_candidates = 0; + } + else if (score == ctx.best_score) + { + if (ctx.candidate_index < invoke_context::max_candidates) + ctx.candidates[ctx.candidate_index++] = &self; + else + ++ctx.additional_candidates; + } + + int results = 0; + + if (self.next) + { + results = self.next->call(L, ctx); + } + + if (score == ctx.best_score && ctx.candidate_index == 1) + { +# ifndef LUABIND_INVOKE_VOID + result_converter.apply( + L, +# endif +# ifdef LUABIND_INVOKE_MEMBER + (c0.apply(L, LUABIND_DECORATE_TYPE(a0), index0).*f)( + BOOST_PP_ENUM(BOOST_PP_DEC(N), LUABIND_INVOKE_ARG, BOOST_PP_INC) + ) +# else +# define LUABIND_INVOKE_IDENTITY(x) x + f( + BOOST_PP_ENUM(N, LUABIND_INVOKE_ARG, LUABIND_INVOKE_IDENTITY) + ) +# undef LUABIND_INVOKE_IDENTITY +# endif +# ifndef LUABIND_INVOKE_VOID + ) +# endif + ; + +# if N > 0 +# define BOOST_PP_LOCAL_MACRO(n) LUABIND_INVOKE_CONVERTER_POSTCALL(n) +# define BOOST_PP_LOCAL_LIMITS (0,N-1) +# include BOOST_PP_LOCAL_ITERATE() +# endif + + results = maybe_yield(lua_gettop(L) - arguments, (Policies*)0); + if (results < 0) // We should yield. + return results; + + int const indices[] = { + arguments + results BOOST_PP_ENUM_TRAILING_PARAMS(N, index) + }; + + policy_list_postcall::apply(L, indices); + } + + return results; +} + +# undef N + +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/call_function.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/call_function.hpp new file mode 100644 index 0000000000..b766dd5857 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/call_function.hpp @@ -0,0 +1,435 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#if !BOOST_PP_IS_ITERATING + +#ifndef LUABIND_CALL_FUNCTION_HPP_INCLUDED +#define LUABIND_CALL_FUNCTION_HPP_INCLUDED + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace luabind +{ + namespace detail + { + + // if the proxy_function_caller returns non-void + template + class proxy_function_caller + { +// friend class luabind::object; + public: + + typedef int(*function_t)(lua_State*, int, int); + + proxy_function_caller( + lua_State* L + , int params + , function_t fun + , const Tuple args) + : m_args(args) + , m_fun(fun) + , m_state(L) + , m_params(params) + , m_called(false) + { + } + + proxy_function_caller(const proxy_function_caller& rhs) + : m_args(rhs.m_args) + , m_fun(rhs.m_fun) + , m_state(rhs.m_state) + , m_params(rhs.m_params) + , m_called(rhs.m_called) + { + rhs.m_called = true; + } + + ~proxy_function_caller() LUABIND_MAY_THROW + { + if (m_called) return; + + m_called = true; + lua_State* L = m_state; + + int top = lua_gettop(L); + + push_args_from_tuple<1>::apply(L, m_args); + if (m_fun(L, boost::tuples::length::value, 0)) + { + assert(lua_gettop(L) == top - m_params + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); + +#endif + } + + // pops the return values from the function call + stack_pop pop(L, lua_gettop(L) - top + m_params); + } + + operator Ret() + { + typename mpl::apply_wrap2::type converter; + + m_called = true; + lua_State* L = m_state; + + int top = lua_gettop(L); + + push_args_from_tuple<1>::apply(L, m_args); + if (m_fun(L, boost::tuples::length::value, 1)) + { + assert(lua_gettop(L) == top - m_params + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); +#endif + } + + // pops the return values from the function call + stack_pop pop(L, lua_gettop(L) - top + m_params); + + if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) + { +#ifndef LUABIND_NO_EXCEPTIONS + throw cast_failed(L, typeid(Ret)); +#else + cast_failed_callback_fun e = get_cast_failed_callback(); + if (e) e(L, typeid(Ret)); + + assert(0 && "the lua function's return value could not be converted." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); +#endif + } + return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); + } + + template + Ret operator[](const Policies& p) + { + typedef typename detail::find_conversion_policy<0, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; + + m_called = true; + lua_State* L = m_state; + + int top = lua_gettop(L); + + detail::push_args_from_tuple<1>::apply(L, m_args, p); + if (m_fun(L, boost::tuples::length::value, 1)) + { + assert(lua_gettop(L) == top - m_params + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); +#endif + } + + // pops the return values from the function call + stack_pop pop(L, lua_gettop(L) - top + m_params); + + if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) + { +#ifndef LUABIND_NO_EXCEPTIONS + throw cast_failed(L, typeid(Ret)); +#else + cast_failed_callback_fun e = get_cast_failed_callback(); + if (e) e(L, typeid(Ret)); + + assert(0 && "the lua function's return value could not be converted." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); + +#endif + } + return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); + } + + private: + + Tuple m_args; + function_t m_fun; + lua_State* m_state; + int m_params; + mutable bool m_called; + + }; + + // if the proxy_member_caller returns void + template + class proxy_function_void_caller + { + friend class luabind::object; + public: + + typedef int(*function_t)(lua_State*, int, int); + + proxy_function_void_caller( + lua_State* L + , int params + , function_t fun + , const Tuple args) + : m_state(L) + , m_params(params) + , m_fun(fun) + , m_args(args) + , m_called(false) + { + } + + proxy_function_void_caller(const proxy_function_void_caller& rhs) + : m_state(rhs.m_state) + , m_params(rhs.m_params) + , m_fun(rhs.m_fun) + , m_args(rhs.m_args) + , m_called(rhs.m_called) + { + rhs.m_called = true; + } + + ~proxy_function_void_caller() LUABIND_MAY_THROW + { + if (m_called) return; + + m_called = true; + lua_State* L = m_state; + + int top = lua_gettop(L); + + push_args_from_tuple<1>::apply(L, m_args); + if (m_fun(L, boost::tuples::length::value, 0)) + { + assert(lua_gettop(L) == top - m_params + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); +#endif + } + // pops the return values from the function call + stack_pop pop(L, lua_gettop(L) - top + m_params); + } + + template + void operator[](const Policies& p) + { + m_called = true; + lua_State* L = m_state; + + int top = lua_gettop(L); + + detail::push_args_from_tuple<1>::apply(L, m_args, p); + if (m_fun(L, boost::tuples::length::value, 0)) + { + assert(lua_gettop(L) == top - m_params + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + " If you want to handle the error you can use luabind::set_error_callback()"); + std::terminate(); +#endif + } + // pops the return values from the function call + stack_pop pop(L, lua_gettop(L) - top + m_params); + } + + private: + + lua_State* m_state; + int m_params; + function_t m_fun; + Tuple m_args; + mutable bool m_called; + + }; + + } + + #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) + #include BOOST_PP_ITERATE() + +} + +#endif // LUABIND_CALL_FUNCTION_HPP_INCLUDED + +#else +#if BOOST_PP_ITERATION_FLAGS() == 1 + +#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * +#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n + + + template + typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type + call_function(lua_State* L, const char* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) + { + assert(name && "luabind::call_function() expects a function name"); + typedef boost::tuples::tuple tuple_t; +#if BOOST_PP_ITERATION() == 0 + tuple_t args; +#else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); +#endif + typedef typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type proxy_type; + + lua_getglobal(L, name); + + return proxy_type(L, 1, &detail::pcall, args); + } + + template + typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type + call_function(luabind::object const& obj BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) + { + typedef boost::tuples::tuple tuple_t; +#if BOOST_PP_ITERATION() == 0 + tuple_t args; +#else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); +#endif + typedef typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type proxy_type; + + obj.push(obj.interpreter()); + return proxy_type(obj.interpreter(), 1, &detail::pcall, args); + } + + template + typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type + resume_function(lua_State* L, const char* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) + { + assert(name && "luabind::resume_function() expects a function name"); + typedef boost::tuples::tuple tuple_t; +#if BOOST_PP_ITERATION() == 0 + tuple_t args; +#else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); +#endif + typedef typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type proxy_type; + + lua_getglobal(L, name); + + return proxy_type(L, 1, &detail::resume_impl, args); + } + + template + typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type + resume_function(luabind::object const& obj BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) + { + typedef boost::tuples::tuple tuple_t; +#if BOOST_PP_ITERATION() == 0 + tuple_t args; +#else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); +#endif + typedef typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type proxy_type; + + obj.push(obj.interpreter()); + return proxy_type(obj.interpreter(), 1, &detail::resume_impl, args); + } + + template + typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type + resume(lua_State* L BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) ) + { + typedef boost::tuples::tuple tuple_t; +#if BOOST_PP_ITERATION() == 0 + tuple_t args; +#else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); +#endif + typedef typename boost::mpl::if_ + , luabind::detail::proxy_function_void_caller > + , luabind::detail::proxy_function_caller > >::type proxy_type; + + return proxy_type(L, 0, &detail::resume_impl, args); + } + + +#undef LUABIND_OPERATOR_PARAMS +#undef LUABIND_TUPLE_PARAMS + + +#endif +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/call_member.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/call_member.hpp new file mode 100644 index 0000000000..5ced7cf952 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/call_member.hpp @@ -0,0 +1,357 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#if !BOOST_PP_IS_ITERATING + +#ifndef LUABIND_CALL_MEMBER_HPP_INCLUDED +#define LUABIND_CALL_MEMBER_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include // TODO: REMOVE DEPENDENCY + +#include +#include +#include +#include +#include + +namespace luabind +{ + namespace detail + { + + namespace mpl = boost::mpl; + + // if the proxy_member_caller returns non-void + template + class proxy_member_caller + { +// friend class luabind::object; + public: + + proxy_member_caller(lua_State* L_, const Tuple args) + : L(L_) + , m_args(args) + , m_called(false) + { + } + + proxy_member_caller(const proxy_member_caller& rhs) + : L(rhs.L) + , m_args(rhs.m_args) + , m_called(rhs.m_called) + { + rhs.m_called = true; + } + + ~proxy_member_caller() LUABIND_MAY_THROW + { + if (m_called) return; + + m_called = true; + + // don't count the function and self-reference + // since those will be popped by pcall + int top = lua_gettop(L) - 2; + + // pcall will pop the function and self reference + // and all the parameters + + push_args_from_tuple<1>::apply(L, m_args); + if (pcall(L, boost::tuples::length::value + 1, 0)) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + // pops the return values from the function + stack_pop pop(L, lua_gettop(L) - top); + } + + operator Ret() + { + typename mpl::apply_wrap2::type converter; + + m_called = true; + + // don't count the function and self-reference + // since those will be popped by pcall + int top = lua_gettop(L) - 2; + + // pcall will pop the function and self reference + // and all the parameters + push_args_from_tuple<1>::apply(L, m_args); + if (pcall(L, boost::tuples::length::value + 1, 1)) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + + // pops the return values from the function + stack_pop pop(L, lua_gettop(L) - top); + + if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw cast_failed(L, typeid(Ret)); +#else + cast_failed_callback_fun e = get_cast_failed_callback(); + if (e) e(L, typeid(Ret)); + + assert(0 && "the lua function's return value could not be converted." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + + return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); + } + + template + Ret operator[](const Policies& p) + { + typedef typename find_conversion_policy<0, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; + + m_called = true; + + // don't count the function and self-reference + // since those will be popped by pcall + int top = lua_gettop(L) - 2; + + // pcall will pop the function and self reference + // and all the parameters + + detail::push_args_from_tuple<1>::apply(L, m_args, p); + if (pcall(L, boost::tuples::length::value + 1, 1)) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + + // pops the return values from the function + stack_pop pop(L, lua_gettop(L) - top); + + if (converter.match(L, LUABIND_DECORATE_TYPE(Ret), -1) < 0) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw cast_failed(L, typeid(Ret)); +#else + cast_failed_callback_fun e = get_cast_failed_callback(); + if (e) e(L, typeid(Ret)); + + assert(0 && "the lua function's return value could not be converted." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + return converter.apply(L, LUABIND_DECORATE_TYPE(Ret), -1); + } + + private: + + lua_State* L; + Tuple m_args; + mutable bool m_called; + + }; + + // if the proxy_member_caller returns void + template + class proxy_member_void_caller + { + friend class luabind::object; + public: + + proxy_member_void_caller(lua_State* L_, const Tuple args) + : L(L_) + , m_args(args) + , m_called(false) + { + } + + proxy_member_void_caller(const proxy_member_void_caller& rhs) + : L(rhs.L) + , m_args(rhs.m_args) + , m_called(rhs.m_called) + { + rhs.m_called = true; + } + + ~proxy_member_void_caller() LUABIND_MAY_THROW + { + if (m_called) return; + + m_called = true; + + // don't count the function and self-reference + // since those will be popped by pcall + int top = lua_gettop(L) - 2; + + // pcall will pop the function and self reference + // and all the parameters + + push_args_from_tuple<1>::apply(L, m_args); + if (pcall(L, boost::tuples::length::value + 1, 0)) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + // pops the return values from the function + stack_pop pop(L, lua_gettop(L) - top); + } + + template + void operator[](const Policies& p) + { + m_called = true; + + // don't count the function and self-reference + // since those will be popped by pcall + int top = lua_gettop(L) - 2; + + // pcall will pop the function and self reference + // and all the parameters + + detail::push_args_from_tuple<1>::apply(L, m_args, p); + if (pcall(L, boost::tuples::length::value + 1, 0)) + { + assert(lua_gettop(L) == top + 1); +#ifndef LUABIND_NO_EXCEPTIONS + throw error(L); +#else + error_callback_fun e = get_error_callback(); + if (e) e(L); + + assert(0 && "the lua function threw an error and exceptions are disabled." + "If you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + // pops the return values from the function + stack_pop pop(L, lua_gettop(L) - top); + } + + private: + lua_State* L; + Tuple m_args; + mutable bool m_called; + + }; + + } // detail + + #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) + #include BOOST_PP_ITERATE() + +} + +#endif // LUABIND_CALL_MEMBER_HPP_INCLUDED + +#else +#if BOOST_PP_ITERATION_FLAGS() == 1 + +#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * +#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n + + template + typename boost::mpl::if_ + , luabind::detail::proxy_member_void_caller > + , luabind::detail::proxy_member_caller > >::type + call_member(object const& obj, const char* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _)) + { + typedef boost::tuples::tuple tuple_t; +#if BOOST_PP_ITERATION() == 0 + tuple_t args; +#else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); +#endif + + typedef typename boost::mpl::if_ + , luabind::detail::proxy_member_void_caller > + , luabind::detail::proxy_member_caller > >::type proxy_type; + + // this will be cleaned up by the proxy object + // once the call has been made + + // get the function + obj.push(obj.interpreter()); + lua_pushstring(obj.interpreter(), name); + lua_gettable(obj.interpreter(), -2); + // duplicate the self-object + lua_pushvalue(obj.interpreter(), -2); + // remove the bottom self-object + lua_remove(obj.interpreter(), -3); + + // now the function and self objects + // are on the stack. These will both + // be popped by pcall + return proxy_type(obj.interpreter(), args); + } + +#undef LUABIND_OPERATOR_PARAMS +#undef LUABIND_TUPLE_PARAMS + +#endif +#endif diff --git a/external/sources/luabind-0.7.1/luabind/detail/call_operator_iterate.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/call_operator_iterate.hpp old mode 100755 new mode 100644 similarity index 93% rename from external/sources/luabind-0.7.1/luabind/detail/call_operator_iterate.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/call_operator_iterate.hpp index c6f95a10cc..21ca559505 --- a/external/sources/luabind-0.7.1/luabind/detail/call_operator_iterate.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/call_operator_iterate.hpp @@ -27,7 +27,7 @@ BOOST_PP_CAT(_, n) template -struct BOOST_PP_CAT(call_operator, N) +struct BOOST_PP_CAT(call_operator, N) : detail::operator_< BOOST_PP_CAT(call_operator, N)< Self BOOST_PP_ENUM_TRAILING_PARAMS(N, A) @@ -48,14 +48,10 @@ struct BOOST_PP_CAT(call_operator, N) using namespace detail; operator_result( L -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - , self(BOOST_PP_ENUM_PARAMS(N, _)) -#else , (self(BOOST_PP_ENUM_PARAMS(N, _)), detail::operator_void_return()) -#endif , (Policies*)0 ); - } + } }; static char const* name() { return "__call"; } @@ -63,4 +59,3 @@ struct BOOST_PP_CAT(call_operator, N) #undef LUABIND_UNWRAP_PARAMETER #undef N - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/class_registry.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/class_registry.hpp new file mode 100644 index 0000000000..bac240a4fc --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/class_registry.hpp @@ -0,0 +1,86 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_CLASS_REGISTRY_HPP_INCLUDED +#define LUABIND_CLASS_REGISTRY_HPP_INCLUDED + +#include +#include +#include + +#include + +namespace luabind { namespace detail +{ + class class_rep; + + extern char classes_tag; // Not used in headers, thus no LUABIND_API. + + struct LUABIND_API class_registry + { + class_registry(lua_State* L); + + static class_registry* get_registry(lua_State* L); + + int cpp_instance() const { return m_instance_metatable; } + int cpp_class() const { return m_cpp_class_metatable; } + + int lua_instance() const { return m_instance_metatable; } + int lua_class() const { return m_lua_class_metatable; } + int lua_function() const { return m_lua_function_metatable; } + + void add_class(type_id const& info, class_rep* crep); + + class_rep* find_class(type_id const& info) const; + + std::map const& get_classes() const + { + return m_classes; + } + + private: + + std::map m_classes; + + // this is a lua reference that points to the lua table + // that is to be used as meta table for all C++ class + // instances. It is a kind of v-table. + int m_instance_metatable; + + // this is a lua reference to the metatable to be used + // for all classes defined in C++. + int m_cpp_class_metatable; + + // this is a lua reference to the metatable to be used + // for all classes defined in lua + int m_lua_class_metatable; + + // this metatable only contains a destructor + // for luabind::Detail::free_functions::function_rep + int m_lua_function_metatable; + + }; + +}} + +#endif // LUABIND_CLASS_REGISTRY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/class_rep.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/class_rep.hpp new file mode 100644 index 0000000000..d8be4e06cf --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/class_rep.hpp @@ -0,0 +1,187 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_CLASS_REP_HPP_INCLUDED +#define LUABIND_CLASS_REP_HPP_INCLUDED + +#include +#include +#include + +#include + +#include +#include +#include + + +namespace luabind { namespace detail +{ + struct class_registration; + + // This function is used as a tag to identify "properties". + LUABIND_API int property_tag(lua_State*); + extern char classrep_tag; // Not used in headers, thus no LUABIND_API. + + // this is class-specific information, poor man's vtable + // this is allocated statically (removed by the compiler) + // a pointer to this structure is stored in the lua tables' + // metatable with the name __classrep + // it is used when matching parameters to function calls + // to determine possible implicit casts + // it is also used when finding the best match for overloaded + // methods + + class cast_graph; + class class_id_map; + + class LUABIND_API class_rep + { + friend struct class_registration; + friend int super_callback(lua_State*); + public: + + enum class_type + { + cpp_class = 0, + lua_class = 1 + }; + + // EXPECTS THE TOP VALUE ON THE LUA STACK TO + // BE THE USER DATA WHERE THIS CLASS IS BEING + // INSTANTIATED! + class_rep(type_id const& type + , const char* name + , lua_State* L + ); + + // used when creating a lua class + // EXPECTS THE TOP VALUE ON THE LUA STACK TO + // BE THE USER DATA WHERE THIS CLASS IS BEING + // INSTANTIATED! + class_rep(lua_State* L, const char* name); + + ~class_rep(); + + std::pair allocate(lua_State* L) const; + + // this is called as metamethod __call on the class_rep. + static int constructor_dispatcher(lua_State* L); + + void add_base_class(class_rep* bcrep); + + const std::vector& bases() const LUABIND_NOEXCEPT { return m_bases; } + + void set_type(type_id const& t) { m_type = t; } + type_id const& type() const LUABIND_NOEXCEPT { return m_type; } + + const char* name() const LUABIND_NOEXCEPT { return m_name; } + + // the lua reference to the metatable for this class' instances + int metatable_ref() const LUABIND_NOEXCEPT { return m_instance_metatable; } + + void get_table(lua_State* L) const { m_table.push(L); } + void get_default_table(lua_State* L) const { m_default_table.push(L); } + + class_type get_class_type() const { return m_class_type; } + + void add_static_constant(const char* name, int val); + + static int super_callback(lua_State* L); + + static int lua_settable_dispatcher(lua_State* L); + + // called from the metamethod for __index + // obj is the object pointer + static int static_class_gettable(lua_State* L); + + static int tostring(lua_State* L); // for __tostring + + cast_graph const& casts() const + { + return *m_casts; + } + + class_id_map const& classes() const + { + return *m_classes; + } + + private: + + // Code common to both constructors + void shared_init(lua_State * L); + + // this is a pointer to the type_info structure for + // this type + // warning: this may be a problem when using dll:s, since + // typeid() may actually return different pointers for the same + // type. + type_id m_type; + + // a list of info for every class this class derives from + // the information stored here is sufficient to do + // type casts to the base classes + std::vector m_bases; + + // the class' name (as given when registered to lua with class_) + const char* m_name; + + // a reference to this structure itself. Since this struct + // is kept inside lua (to let lua collect it when lua_close() + // is called) we need to lock it to prevent collection. + // the actual reference is not currently used. + handle m_self_ref; + + // this should always be used when accessing + // members in instances of a class. + // this table contains c closures for all + // member functions in this class, they + // may point to both static and virtual functions + handle m_table; + + // this table contains default implementations of the + // virtual functions in m_table. + handle m_default_table; + + // the type of this class.. determines if it's written in c++ or lua + class_type m_class_type; + + // this is a lua reference that points to the lua table + // that is to be used as meta table for all instances + // of this class. + int m_instance_metatable; + + std::map m_static_constants; + + cast_graph* m_casts; + class_id_map* m_classes; + }; + + bool is_class_rep(lua_State* L, int index); + +}} + +//#include + +#endif // LUABIND_CLASS_REP_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/constructor.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/constructor.hpp new file mode 100644 index 0000000000..5aeb4097cc --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/constructor.hpp @@ -0,0 +1,108 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#if !BOOST_PP_IS_ITERATING + +# ifndef LUABIND_DETAIL_CONSTRUCTOR_081018_HPP +# define LUABIND_DETAIL_CONSTRUCTOR_081018_HPP + +# include +# include +# include +# include + +# include +# include +# include +# include + +namespace luabind { namespace detail { + +inline void inject_backref(lua_State*, void*, void*) +{} + +template +void inject_backref(lua_State* L, T* p, wrap_base*) +{ + weak_ref(get_main_thread(L), L, 1).swap(wrap_access::ref(*p)); +} + +template +struct construct_aux; + +template +struct construct + : construct_aux::value - 2, T, Pointer, Signature> +{}; + +template +struct construct_aux<0, T, Pointer, Signature> +{ + typedef pointer_holder holder_type; + + void operator()(argument const& self_) const + { + object_rep* self = touserdata(self_); + + std::auto_ptr instance(new T); + inject_backref(self_.interpreter(), instance.get(), instance.get()); + + void* naked_ptr = instance.get(); + Pointer ptr(instance.release()); + + void* storage = self->allocate(sizeof(holder_type)); + + self->set_instance(new (storage) holder_type( + ptr, registered_class::id, naked_ptr)); + } +}; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (1, LUABIND_MAX_ARITY, )) +# include BOOST_PP_ITERATE() + +}} // namespace luabind::detail + +# endif // LUABIND_DETAIL_CONSTRUCTOR_081018_HPP + +#else // !BOOST_PP_IS_ITERATING + +# define N BOOST_PP_ITERATION() + +template +struct construct_aux +{ + typedef typename mpl::begin::type first; + typedef typename mpl::next::type iter0; + +# define BOOST_PP_LOCAL_MACRO(n) \ + typedef typename mpl::next< \ + BOOST_PP_CAT(iter,BOOST_PP_DEC(n))>::type BOOST_PP_CAT(iter,n); \ + typedef typename BOOST_PP_CAT(iter,n)::type BOOST_PP_CAT(a,BOOST_PP_DEC(n)); + +# define BOOST_PP_LOCAL_LIMITS (1,N) +# include BOOST_PP_LOCAL_ITERATE() + + typedef pointer_holder holder_type; + + void operator()(argument const& self_, BOOST_PP_ENUM_BINARY_PARAMS(N,a,_)) const + { + object_rep* self = touserdata(self_); + + std::auto_ptr instance(new T(BOOST_PP_ENUM_PARAMS(N,_))); + inject_backref(self_.interpreter(), instance.get(), instance.get()); + + void* naked_ptr = instance.get(); + Pointer ptr(instance.release()); + + void* storage = self->allocate(sizeof(holder_type)); + + self->set_instance(new (storage) holder_type( + ptr, registered_class::id, naked_ptr)); + } +}; + +# undef N + +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/convert_to_lua.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/convert_to_lua.hpp new file mode 100644 index 0000000000..3a3c566ae6 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/convert_to_lua.hpp @@ -0,0 +1,91 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_CONVERT_TO_LUA_HPP_INCLUDED +#define LUABIND_CONVERT_TO_LUA_HPP_INCLUDED + +#include +#include + +#include +#include + +namespace luabind { namespace detail +{ + template + struct unwrap_ref + { + template + static const T& get(const T& r) { return r; } + + template + struct apply + { + typedef T type; + }; + }; + + template<> + struct unwrap_ref + { + template + static T& get(const boost::reference_wrapper& r) { return r.get(); } + + template + struct apply + { + typedef typename T::type& type; + }; + }; + + namespace mpl = boost::mpl; + + template + void convert_to_lua(lua_State* L, const T& v) + { + typedef typename mpl::apply_wrap1< + unwrap_ref::value> + , T + >::type value_type; + + typename mpl::apply_wrap2::type converter; + + converter.apply(L, unwrap_ref::value>::get(v)); + } + + template + void convert_to_lua_p(lua_State* L, const T& v, const Policies&) + { + typedef typename mpl::apply_wrap1< + unwrap_ref::value> + , T + >::type value_type; + + typedef typename find_conversion_policy::type converter_policy; + typename mpl::apply_wrap2::type converter; + + converter.apply(L, unwrap_ref::value>::get(v)); + } +}} + +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/debug.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/debug.hpp new file mode 100644 index 0000000000..f086f2bd3a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/debug.hpp @@ -0,0 +1,71 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_DEBUG_HPP_INCLUDED +#define LUABIND_DEBUG_HPP_INCLUDED + +#include + +#include + +#include + +namespace luabind { namespace detail { + // prints the types of the values on the stack, in the + // range [start_index, lua_gettop()] + LUABIND_API std::string stack_content_by_name(lua_State* L, int start_index); +}} + +#ifndef NDEBUG + +#include + +#include + +namespace luabind { namespace detail +{ + struct stack_checker_type + { + stack_checker_type(lua_State* L) + : m_L(L) + , m_stack(lua_gettop(m_L)) + {} + + ~stack_checker_type() + { + assert(m_stack == lua_gettop(m_L)); + } + + lua_State* m_L; + int m_stack; + }; + +}} +#define LUABIND_CHECK_STACK(L) BOOST_PP_CAT( \ + luabind::detail::stack_checker_type stack_checker_object, __LINE__)(L) +#else +// (void)0,0: avoid warning about conditional expression being constant and comma operator +// without side effect. +#define LUABIND_CHECK_STACK(L) do {} while ((void)0,0) +#endif + +#endif // LUABIND_DEBUG_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/decorate_type.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/decorate_type.hpp new file mode 100644 index 0000000000..2c1af9c82f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/decorate_type.hpp @@ -0,0 +1,231 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_DECORATE_TYPE_HPP_INCLUDED +#define LUABIND_DECORATE_TYPE_HPP_INCLUDED + +#include +#include + +namespace luabind { namespace detail +{ + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + template + struct decorated_type + { + static by_value t; + static inline by_value& get() { return /*by_value()*/t; } + }; + + template + by_value decorated_type::t; + + template + struct decorated_type + { + static by_pointer t; + static inline by_pointer& get() { return /*by_pointer()*/t; } + }; + + template + by_pointer decorated_type::t; + + template + struct decorated_type + { + static by_const_pointer t; + static inline by_const_pointer get() { return /*by_const_pointer()*/t; } + }; + + template + by_const_pointer decorated_type::t; + + template + struct decorated_type + { + static by_const_pointer t; + static inline by_const_pointer& get() { return /*by_const_pointer()*/t; } + }; + + template + by_const_pointer decorated_type::t; + + template + struct decorated_type + { + static by_reference t; + static inline by_reference& get() { return /*by_reference()*/t; } + }; + + template + by_reference decorated_type::t; + + template + struct decorated_type + { + static by_const_reference t; + static inline by_const_reference& get() { return /*by_const_reference()*/t; } + }; + + template + by_const_reference decorated_type::t; + +#ifndef LUABIND_NO_RVALUE_REFERENCES + template + struct decorated_type + { + static by_value t; + static inline by_value& get() { return /*by_value()*/t; } + }; + + template + by_value decorated_type::t; +#endif + + #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get() + +#else + +#include + + namespace + { + LUABIND_ANONYMOUS_FIX char decorated_type_array[64]; + } + + template + struct decorated_type_cref_impl + { + + static void(*data())(T) + { return (void(*)(T))0; } + + template + static by_const_reference get(void(*f)(const U&)) + { return by_const_reference(); } + + }; + + template + struct decorated_type_ref_impl + { + + static void(*data())(T) + { return (void(*)(T))0; } + + template + static by_reference get(void(*)(U&)) + { return by_reference(); } + }; + + template + struct decorated_type_cptr_impl + { + template + static by_const_pointer get(const U*) + { + return by_const_pointer(); + } + static T& data() { return reinterpret_cast(decorated_type_array); } + }; + + template + struct decorated_type_ptr_impl + { + template + static by_pointer get(U*) + { + return by_pointer(); + } + static T& data() { return reinterpret_cast(decorated_type_array); } + }; + + template + struct decorated_type_value_impl + { + static void(*data())(T&) + { return (void(*)(T&))0; } + + template + static by_value get(void(*)(U&)) + { return by_value(); } + }; + + template<> + struct decorated_type_value_impl + { + static by_value get(int) + { + return by_value(); + } + static int data() { return 0; } + }; + + template + struct decorated_type_array_impl + { + template + static by_pointer get(U*) + { + return by_pointer(); + } + + template + static by_pointer get(void(*)(U)) + { return by_pointer(); } + + static T& data() { return reinterpret_cast(decorated_type_array); } + }; + + template + struct decorated_type +// : boost::mpl::if_ +// , decorated_type_array_impl + : boost::mpl::if_ + , decorated_type_cref_impl + , typename boost::mpl::if_ + , decorated_type_ref_impl + , typename boost::mpl::if_ + , decorated_type_ptr_impl + , typename boost::mpl::if_ + , decorated_type_cptr_impl + , decorated_type_value_impl + >::type + >::type + >::type + >::type +// >::type + { + }; + +// #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get((void(*)(type))0) + #define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get(luabind::detail::decorated_type::data()) + //#define LUABIND_DECORATE_TYPE(t) luabind::detail::decorated_type::get(type()) + +#endif + +}} + +#endif // LUABIND_DECORATE_TYPE_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/deduce_signature.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/deduce_signature.hpp new file mode 100644 index 0000000000..0dd5f474a0 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/deduce_signature.hpp @@ -0,0 +1,69 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +# ifndef LUABIND_DEDUCE_SIGNATURE_080911_HPP +# define LUABIND_DEDUCE_SIGNATURE_080911_HPP + +# include + +# include +# include +# include +# include +# include + +namespace luabind { namespace detail { + +namespace mpl = boost::mpl; +namespace fty = boost::function_types; + +template +struct signature_aux +{ + typedef F type; +}; + +// Handle boost::function and std::function: +template class F, class S> +struct signature_aux< + F, + typename mpl::apply< // Enable only if F::result_type exists. + mpl::always, typename F::result_type>::type > +{ + typedef S type; +}; + +template +struct signature_aux: signature_aux {}; + +template +struct is_function: + fty::is_callable_builtin::type> +{}; + +template +typename boost::enable_if< + is_function, + fty::components::type> >::type +deduce_signature(F const&, ...) +{ + return fty::components::type>(); +} + +template +typename boost::enable_if< + fty::is_member_function_pointer::type>, + fty::components< + typename signature_aux::type, + boost::add_reference > > >::type +deduce_signature(F, Wrapped*) +{ + return fty::components< + typename signature_aux::type, + boost::add_reference > >(); +} + +} } // namespace luabind::detail + +#endif // LUABIND_DEDUCE_SIGNATURE_080911_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/enum_maker.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/enum_maker.hpp new file mode 100644 index 0000000000..eeaa60f7f5 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/enum_maker.hpp @@ -0,0 +1,126 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_ENUM_MAKER_HPP_INCLUDED +#define LUABIND_ENUM_MAKER_HPP_INCLUDED + +#include +#include + +#include +#include + +namespace luabind +{ + struct value; + + struct value_vector : public std::vector + { + // a bug in intel's compiler forces us to declare these constructors explicitly. + value_vector(); + virtual ~value_vector(); + value_vector(const value_vector& v); + value_vector& operator,(const value& rhs); + }; + + struct value + { + friend class std::vector; + template + value(const char* name, T v) + : name_(name) + , val_(static_cast(v)) + { + assert(static_cast(val_) == v); + } + + const char* name_; + int val_; + + value_vector operator,(const value& rhs) const + { + value_vector v; + + v.push_back(*this); + v.push_back(rhs); + + return v; + } + + private: + + value() {} + }; + + inline value_vector::value_vector() + : std::vector() + { + } + + inline value_vector::~value_vector() {} + + inline value_vector::value_vector(const value_vector& rhs) + : std::vector(rhs) + { + } + + inline value_vector& value_vector::operator,(const value& rhs) + { + push_back(rhs); + return *this; + } + + namespace detail + { + template + struct enum_maker + { + explicit enum_maker(From& from): from_(from) {} + enum_maker(enum_maker const& rhs): from_(rhs.from_) {} + + From& operator[](const value& val) + { + from_.add_static_constant(val.name_, val.val_); + return from_; + } + + From& operator[](const value_vector& values) + { + for (value_vector::const_iterator i = values.begin(); i != values.end(); ++i) + { + from_.add_static_constant(i->name_, i->val_); + } + + return from_; + } + + From& from_; + + private: + void operator=(enum_maker const&); // C4512, assignment operator could not be generated + template void operator,(T const&) const; + }; + } +} + +#endif // LUABIND_ENUM_MAKER_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/format_signature.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/format_signature.hpp new file mode 100644 index 0000000000..e0b53e79c6 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/format_signature.hpp @@ -0,0 +1,148 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_FORMAT_SIGNATURE_081014_HPP +# define LUABIND_FORMAT_SIGNATURE_081014_HPP + +# include +# include +# include +# include + +# include +# include +# include + + +namespace luabind { namespace detail { + +namespace mpl = boost::mpl; + +LUABIND_API std::string get_class_name(lua_State* L, type_id const& i); + +template +struct type_to_string +{ + static void get(lua_State* L) + { + std::string const class_name = get_class_name(L, typeid(T)); + lua_pushlstring(L, class_name.c_str(), class_name.size()); + } +}; + +template +struct type_to_string +{ + static void get(lua_State* L) + { + type_to_string::get(L); + lua_pushliteral(L, "*"); + lua_concat(L, 2); + } +}; + +template +struct type_to_string +{ + static void get(lua_State* L) + { + type_to_string::get(L); + lua_pushliteral(L, "&"); + lua_concat(L, 2); + } +}; + +template +struct type_to_string +{ + static void get(lua_State* L) + { + type_to_string::get(L); + lua_pushliteral(L, " const"); + lua_concat(L, 2); + } +}; + +# define LUABIND_TYPE_TO_STRING(x) \ + template <> \ + struct type_to_string \ + { \ + static void get(lua_State* L) \ + { \ + lua_pushliteral(L, #x); \ + } \ + }; + +# define LUABIND_INTEGRAL_TYPE_TO_STRING(x) \ + LUABIND_TYPE_TO_STRING(x) \ + LUABIND_TYPE_TO_STRING(unsigned x) + +LUABIND_INTEGRAL_TYPE_TO_STRING(char) +LUABIND_INTEGRAL_TYPE_TO_STRING(short) +LUABIND_INTEGRAL_TYPE_TO_STRING(int) +LUABIND_INTEGRAL_TYPE_TO_STRING(long) + +#ifndef BOOST_NO_LONG_LONG + LUABIND_INTEGRAL_TYPE_TO_STRING(long long) +#endif + +LUABIND_TYPE_TO_STRING(void) +LUABIND_TYPE_TO_STRING(bool) +LUABIND_TYPE_TO_STRING(std::string) +LUABIND_TYPE_TO_STRING(lua_State) + +LUABIND_TYPE_TO_STRING(luabind::object) +LUABIND_TYPE_TO_STRING(luabind::argument) + +# undef LUABIND_INTEGRAL_TYPE_TO_STRING +# undef LUABIND_TYPE_TO_STRING + +template +struct type_to_string > +{ + static void get(lua_State* L) + { + lua_pushliteral(L, "table"); + } +}; + +template +void format_signature_aux(lua_State*, bool, End, End) +{} + +template +void format_signature_aux(lua_State* L, bool first, Iter, End end) +{ + if (!first) + lua_pushliteral(L, ","); + type_to_string::get(L); + format_signature_aux(L, false, typename mpl::next::type(), end); +} + +template +void format_signature(lua_State* L, char const* function, Signature) +{ + typedef typename mpl::begin::type first; + + type_to_string::get(L); + + lua_pushliteral(L, " "); + lua_pushstring(L, function); + + lua_pushliteral(L, "("); + format_signature_aux( + L + , true + , typename mpl::next::type() + , typename mpl::end::type() + ); + lua_pushliteral(L, ")"); + int const signature_len = static_cast(mpl::size()); + lua_concat(L, signature_len * 2 + (signature_len == 1 ? + 3 /* zero-argument function: account for ')' */ : 2)); +} + +}} // namespace luabind::detail + +#endif // LUABIND_FORMAT_SIGNATURE_081014_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/garbage_collector.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/garbage_collector.hpp new file mode 100644 index 0000000000..d5b86880e3 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/garbage_collector.hpp @@ -0,0 +1,55 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED +#define LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED + +#include + +#include + +namespace luabind { namespace detail +{ + // function that is used as __gc metafunction on several objects + template + inline int garbage_collector(lua_State* L) + { + T* obj = static_cast(lua_touserdata(L, -1)); + obj->~T(); + return 0; + } + + template + struct garbage_collector_s + { + static int apply(lua_State* L) + { + T* obj = static_cast(lua_touserdata(L, -1)); + obj->~T(); + return 0; + } + }; + +}} + +#endif // LUABIND_GARBAGE_COLLECTOR_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/has_get_pointer.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/has_get_pointer.hpp old mode 100755 new mode 100644 similarity index 93% rename from external/sources/luabind-0.7.1/luabind/detail/has_get_pointer.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/has_get_pointer.hpp index 8a001ddda4..66dbc08f73 --- a/external/sources/luabind-0.7.1/luabind/detail/has_get_pointer.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/has_get_pointer.hpp @@ -24,22 +24,23 @@ # define LUABIND_HAS_GET_POINTER_051022_HPP # include +# include # ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP # include # endif -namespace luabind { namespace detail { +namespace luabind { namespace detail { namespace has_get_pointer_ { - struct any - { + struct any + { template any(T const&); }; - struct no_overload_tag + struct no_overload_tag {}; typedef char (&yes)[1]; @@ -70,11 +71,11 @@ namespace has_get_pointer_ }} // namespace detail::has_get_pointer_ # endif -detail::has_get_pointer_::no_overload_tag +detail::has_get_pointer_::no_overload_tag get_pointer(detail::has_get_pointer_::any); # ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP -namespace detail { namespace has_get_pointer_ +namespace detail { namespace has_get_pointer_ { # endif @@ -104,4 +105,3 @@ struct has_get_pointer }} // namespace luabind::detail #endif // LUABIND_HAS_GET_POINTER_051022_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/inheritance.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/inheritance.hpp new file mode 100644 index 0000000000..53c86b585f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/inheritance.hpp @@ -0,0 +1,175 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_INHERITANCE_090217_HPP +# define LUABIND_INHERITANCE_090217_HPP + +# include + +# include + +# include +# include +# include +# include +# include + + +namespace luabind { namespace detail { + +LUABIND_API extern char classid_map_tag; +LUABIND_API extern char class_map_tag; +extern char cast_graph_tag; // Not used in headers, thus no LUABIND_API. + +typedef void*(*cast_function)(void*); +typedef std::size_t class_id; + +class_id const unknown_class = (std::numeric_limits::max)(); + +class class_rep; + +class LUABIND_API cast_graph +{ +public: + cast_graph(); + ~cast_graph(); + + // `src` and `p` here describe the *most derived* object. This means that + // for a polymorphic type, the pointer must be cast with + // dynamic_cast before being passed in here, and `src` has to + // match typeid(*p). + std::pair cast( + void* p, class_id src, class_id target + , class_id dynamic_id, void const* dynamic_ptr) const; + void insert(class_id src, class_id target, cast_function cast); + +private: + class impl; + boost::scoped_ptr m_impl; +}; + +// Maps a type_id to a class_id. Note that this actually partitions the +// id-space into two, using one half for "local" ids; ids that are used only as +// keys into the conversion cache. This is needed because we need a unique key +// even for types that hasn't been registered explicitly. +class LUABIND_API class_id_map +{ +public: + class_id_map(); + + class_id get(type_id const& type) const; + class_id get_local(type_id const& type); + void put(class_id id, type_id const& type); + +private: + typedef std::map map_type; + map_type m_classes; + class_id m_local_id; + + static class_id const local_id_base; +}; + +inline class_id_map::class_id_map() + : m_local_id(local_id_base) +{} + +inline class_id class_id_map::get(type_id const& type) const +{ + map_type::const_iterator i = m_classes.find(type); + if (i == m_classes.end() || i->second >= local_id_base) + return unknown_class; + return i->second; +} + +inline class_id class_id_map::get_local(type_id const& type) +{ + std::pair result = m_classes.insert( + std::make_pair(type, 0)); + + if (result.second) + result.first->second = m_local_id++; + + assert(m_local_id >= local_id_base); + + return result.first->second; +} + +inline void class_id_map::put(class_id id, type_id const& type) +{ + assert(id < local_id_base); + + std::pair result = m_classes.insert( + std::make_pair(type, 0)); + + assert( + result.second + || result.first->second == id + || result.first->second >= local_id_base + ); + + result.first->second = id; +} + +class class_map +{ +public: + class_rep* get(class_id id) const; + void put(class_id id, class_rep* cls); + +private: + std::vector m_classes; +}; + +inline class_rep* class_map::get(class_id id) const +{ + if (id >= m_classes.size()) + return 0; + return m_classes[id]; +} + +inline void class_map::put(class_id id, class_rep* cls) +{ + if (id >= m_classes.size()) + m_classes.resize(id + 1); + m_classes[id] = cls; +} + +template +struct static_cast_ +{ + static void* execute(void* p) + { + return static_cast(static_cast(p)); + } +}; + +template +struct dynamic_cast_ +{ + static void* execute(void* p) + { + return dynamic_cast(static_cast(p)); + } +}; + +// Thread safe class_id allocation. +LUABIND_API class_id allocate_class_id(type_id const& cls); + +template +struct registered_class +{ + static class_id const id; +}; + +template +class_id const registered_class::id = allocate_class_id(typeid(T)); + +template +struct registered_class + : registered_class +{}; + +}} // namespace luabind::detail + +#endif // LUABIND_INHERITANCE_090217_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/instance_holder.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/instance_holder.hpp new file mode 100644 index 0000000000..f059b12bf7 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/instance_holder.hpp @@ -0,0 +1,126 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_INSTANCE_HOLDER_081024_HPP +# define LUABIND_INSTANCE_HOLDER_081024_HPP + +# include +# include +# include + +# include + +# include + +namespace luabind { namespace detail { + +class instance_holder +{ +public: + instance_holder(bool is_pointee_const) + : m_pointee_const(is_pointee_const) + {} + + virtual ~instance_holder() + {} + + virtual std::pair get( + cast_graph const& casts, class_id target) const = 0; + + virtual void release() = 0; + + bool pointee_const() const + { + return m_pointee_const; + } + +private: + bool m_pointee_const; +}; + +namespace mpl = boost::mpl; + +inline mpl::false_ check_const_pointer(void*) +{ + return mpl::false_(); +} + +inline mpl::true_ check_const_pointer(void const*) +{ + return mpl::true_(); +} + +template +void release_ownership(std::auto_ptr& p) +{ + p.release(); +} + +template +void release_ownership(P const&) +{ + throw std::runtime_error( + "luabind: smart pointer does not allow ownership transfer"); +} + +template +class_id static_class_id(T*) +{ + return registered_class::id; +} + +template +class pointer_holder : public instance_holder +{ +public: + pointer_holder( + P p, class_id dynamic_id, void* dynamic_ptr + ) + : instance_holder(check_const_pointer(false ? get_pointer(p) : 0)) + , m_p(p) + , m_weak(0) + , m_dynamic_id(dynamic_id) + , m_dynamic_ptr(dynamic_ptr) + {} + + std::pair get(cast_graph const& casts, class_id target) const + { + if (target == registered_class

::id) + return std::pair(&this->m_p, 0); + + void* naked_ptr = const_cast(static_cast( + m_weak ? m_weak : get_pointer(m_p))); + + if (!naked_ptr) + return std::pair(static_cast(0), 0); + + return casts.cast( + naked_ptr + , static_class_id(false ? get_pointer(m_p) : 0) + , target + , m_dynamic_id + , m_dynamic_ptr + ); + } + + void release() + { + m_weak = const_cast(static_cast( + get_pointer(m_p))); + release_ownership(m_p); + } + +private: + mutable P m_p; + // weak will hold a possibly stale pointer to the object owned + // by p once p has released it's owership. This is a workaround + // to make adopt() work with virtual function wrapper classes. + void* m_weak; + class_id m_dynamic_id; + void* m_dynamic_ptr; +}; + +}} // namespace luabind::detail + +#endif // LUABIND_INSTANCE_HOLDER_081024_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/link_compatibility.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/link_compatibility.hpp new file mode 100644 index 0000000000..edace18302 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/link_compatibility.hpp @@ -0,0 +1,60 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_LINK_COMPATIBILITY_HPP_INCLUDED +#define LUABIND_LINK_COMPATIBILITY_HPP_INCLUDED + +#include + +namespace luabind { namespace detail +{ + +#ifdef LUABIND_NOT_THREADSAFE + LUABIND_API void not_threadsafe_defined_conflict(); +#else + LUABIND_API void not_threadsafe_not_defined_conflict(); +#endif + +#ifdef LUABIND_NO_ERROR_CHECKING + LUABIND_API void no_error_checking_defined_conflict(); +#else + LUABIND_API void no_error_checking_not_defined_conflict(); +#endif + + inline void check_link_compatibility() + { + #ifdef LUABIND_NOT_THREADSAFE + not_threadsafe_defined_conflict(); + #else + not_threadsafe_not_defined_conflict(); + #endif + + #ifdef LUABIND_NO_ERROR_CHECKING + no_error_checking_defined_conflict(); + #else + no_error_checking_not_defined_conflict(); + #endif + } + +}} + +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/make_instance.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/make_instance.hpp new file mode 100644 index 0000000000..a7e65faacf --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/make_instance.hpp @@ -0,0 +1,106 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_DETAIL_MAKE_INSTANCE_090310_HPP +# define LUABIND_DETAIL_MAKE_INSTANCE_090310_HPP + +# include +# include + +# include + +namespace luabind { namespace detail { + +template +std::pair get_dynamic_class_aux( + lua_State* L, T const* p, mpl::true_) +{ + lua_rawgetp(L, LUA_REGISTRYINDEX, &classid_map_tag); + + class_id_map& class_ids = *static_cast( + lua_touserdata(L, -1)); + + lua_pop(L, 1); + + return std::make_pair( + class_ids.get_local(typeid(*p)) + , dynamic_cast(const_cast(p)) + ); +} + +template +std::pair get_dynamic_class_aux( + lua_State*, T const* p, mpl::false_) +{ + return std::make_pair( + registered_class::id, + static_cast(const_cast(p))); +} + +template +std::pair get_dynamic_class(lua_State* L, T* p) +{ + return get_dynamic_class_aux(L, p, boost::is_polymorphic()); +} + +template +class_rep* get_pointee_class(class_map const& classes, T*) +{ + return classes.get(registered_class::id); +} + +template +class_rep* get_pointee_class(lua_State* L, P const& p, class_id dynamic_id) +{ + lua_rawgetp(L, LUA_REGISTRYINDEX, &class_map_tag); + + class_map const& classes = *static_cast( + lua_touserdata(L, -1)); + + lua_pop(L, 1); + + class_rep* cls = classes.get(dynamic_id); + + if (!cls) + cls = get_pointee_class(classes, get_pointer(p)); + + return cls; +} + +// Create an appropriate instance holder for the given pointer like object. +template +void make_instance(lua_State* L, P p) +{ + std::pair dynamic = get_dynamic_class(L, get_pointer(p)); + + class_rep* cls = get_pointee_class(L, p, dynamic.first); + + if (!cls) + { + throw std::runtime_error("Trying to use unregistered class"); + } + + object_rep* instance = push_new_instance(L, cls); + + typedef pointer_holder

holder_type; + + void* storage = instance->allocate(sizeof(holder_type)); + + try + { + new (storage) holder_type(p, dynamic.first, dynamic.second); + } + catch (...) + { + instance->deallocate(storage); + lua_pop(L, 1); + throw; + } + + instance->set_instance(static_cast(storage)); +} + +}} // namespace luabind::detail + +#endif // LUABIND_DETAIL_MAKE_INSTANCE_090310_HPP diff --git a/external/sources/luabind-0.7.1/luabind/detail/most_derived.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/most_derived.hpp old mode 100755 new mode 100644 similarity index 99% rename from external/sources/luabind-0.7.1/luabind/detail/most_derived.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/most_derived.hpp index 4dd9d91592..51d905d3c2 --- a/external/sources/luabind-0.7.1/luabind/detail/most_derived.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/most_derived.hpp @@ -41,4 +41,3 @@ struct most_derived }} // namespace luabind::detail #endif // MOST_DERIVED_051018_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/object.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/object.hpp new file mode 100644 index 0000000000..28bc0e21d7 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/object.hpp @@ -0,0 +1,1280 @@ +// Copyright (c) 2005 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_OBJECT_050419_HPP +#define LUABIND_OBJECT_050419_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include // iterator +#include +#include // value_wrapper_traits specializations +#include +#include +#include + +#include + +namespace luabind { + +namespace adl +{ + namespace mpl = boost::mpl; + + template + class object_interface; + + namespace is_object_interface_aux + { + typedef char (&yes)[1]; + typedef char (&no)[2]; + + template + yes check(object_interface*); + no check(void*); + + template + struct impl + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(is_object_interface_aux::check(static_cast(0))) + == sizeof(yes) + ); + + typedef mpl::bool_ type; + }; + + } // namespace detail + + template + struct is_object_interface + : is_object_interface_aux::impl::type + {}; + + template + struct enable_binary +# ifndef BOOST_NO_SFINAE + : boost::enable_if< + mpl::or_< + is_object_interface + , is_object_interface + > + , R + > + {}; +# else + { + typedef R type; + }; +# endif + + template + int binary_interpreter(lua_State*& L, T const& lhs, U const& rhs + , boost::mpl::true_, boost::mpl::true_) + { + L = value_wrapper_traits::interpreter(lhs); + lua_State* L2 = value_wrapper_traits::interpreter(rhs); + + // you are comparing objects with different interpreters + // that's not allowed. + assert(L == L2 || L == 0 || L2 == 0); + + // if the two objects we compare have different interpreters + // then they + + if (L != L2) return -1; + if (L == 0) return 1; + return 0; + } + + template + int binary_interpreter(lua_State*& L, T const& x, U const& + , boost::mpl::true_, boost::mpl::false_) + { + L = value_wrapper_traits::interpreter(x); + return 0; + } + + template + int binary_interpreter(lua_State*& L, T const&, U const& x, boost::mpl::false_, boost::mpl::true_) + { + L = value_wrapper_traits::interpreter(x); + return 0; + } + + template + int binary_interpreter(lua_State*& L, T const& x, U const& y) + { + return binary_interpreter( + L + , x + , y + , is_value_wrapper() + , is_value_wrapper() + ); + } + +#define LUABIND_BINARY_OP_DEF(op, fn) \ + template \ + typename enable_binary::type \ + operator op(LHS const& lhs, RHS const& rhs) \ + { \ + lua_State* L = 0; \ + switch (binary_interpreter(L, lhs, rhs)) \ + { \ + case 1: \ + return true; \ + case -1: \ + return false; \ + } \ +\ + assert(L); \ +\ + detail::stack_pop pop1(L, 1); \ + push(L, lhs); \ + detail::stack_pop pop2(L, 1); \ + push(L, rhs); \ +\ + return lua_compare(L, -1, -2, fn) != 0; \ + } + +LUABIND_BINARY_OP_DEF(==, LUA_OPEQ) +LUABIND_BINARY_OP_DEF(<, LUA_OPLT) + + inline int value_to_string(lua_State* L) + { + assert(lua_gettop(L) == 1); + luaL_tolstring(L, 1, 0); + return 1; + } + + template + std::ostream& operator<<(std::ostream& os + , object_interface const& v) + { + using namespace luabind; + lua_State* L = value_wrapper_traits::interpreter( + static_cast(v)); + detail::stack_pop pop(L, 1); + lua_pushcfunction(L, &value_to_string); + value_wrapper_traits::unwrap(L + , static_cast(v)); + + if (lua_pcall(L, 1, 1, 0) != LUA_OK) + { + lua_pop(L, 1); // Pop error. + os.setstate(std::ios::failbit); + return os; + } + + size_t len; + char const* p = lua_tolstring(L, -1, &len); + std::copy(p, p + len, std::ostream_iterator(os)); + return os; + } + +#undef LUABIND_BINARY_OP_DEF + + template + typename enable_binary::type + operator>(LHS const& lhs, RHS const& rhs) + { + return !(lhs < rhs || lhs == rhs); + } + + template + typename enable_binary::type + operator<=(LHS const& lhs, RHS const& rhs) + { + return lhs < rhs || lhs == rhs; + } + + template + typename enable_binary::type + operator>=(LHS const& lhs, RHS const& rhs) + { + return !(lhs < rhs); + } + + template + typename enable_binary::type + operator!=(LHS const& lhs, RHS const& rhs) + { + return !(lhs == rhs); + } + + template + struct call_proxy; + + template + class index_proxy; + + class object; + + template + class object_interface + { + struct safe_bool_type {}; + public: + + call_proxy > operator()(); + + template + call_proxy< + Derived + , boost::tuples::tuple + > operator()(A0 const& a0) + { + typedef boost::tuples::tuple arguments; + + return call_proxy( + derived() + , arguments(&a0) + ); + } + + template + call_proxy< + Derived + , boost::tuples::tuple + > operator()(A0 const& a0, A1 const& a1) + { + typedef boost::tuples::tuple arguments; + + return call_proxy( + derived() + , arguments(&a0, &a1) + ); + } + + // The rest of the overloads are PP-generated. + #define BOOST_PP_ITERATION_PARAMS_1 (3, \ + (3, LUABIND_MAX_ARITY, )) + #include BOOST_PP_ITERATE() + + operator safe_bool_type*() const + { + lua_State* L = value_wrapper_traits::interpreter(derived()); + + if (!L) + return 0; + + value_wrapper_traits::unwrap(L, derived()); + detail::stack_pop pop(L, 1); + + return lua_toboolean(L, -1) == 1 ? reinterpret_cast(1) : 0; + } + + private: + Derived& derived() + { + return *static_cast(this); + } + + Derived const& derived() const + { + return *static_cast(this); + } + }; + +#ifdef LUABIND_USE_VALUE_WRAPPER_TAG + struct iterator_proxy_tag; +#endif + + template + class iterator_proxy + : public object_interface > + { + public: +#ifdef LUABIND_USE_VALUE_WRAPPER_TAG + typedef iterator_proxy_tag value_wrapper_tag; +#endif + + iterator_proxy(lua_State* L, handle const& table, handle const& key) + : m_interpreter(L) + , m_table_index(lua_gettop(L) + 1) + , m_key_index(m_table_index + 1) + { + table.push(m_interpreter); + key.push(m_interpreter); + } + + iterator_proxy(iterator_proxy const& other) + : m_interpreter(other.m_interpreter) + , m_table_index(other.m_table_index) + , m_key_index(other.m_key_index) + { + other.m_interpreter = 0; + } + + ~iterator_proxy() + { + if (m_interpreter) + lua_pop(m_interpreter, 2); + } + + // this will set the value to nil + iterator_proxy & operator=(luabind::detail::nil_type) + { + lua_pushvalue(m_interpreter, m_key_index); + lua_pushnil(m_interpreter); + AccessPolicy::set(m_interpreter, m_table_index); + return *this; + } + + template + iterator_proxy& operator=(T const& value) + { + lua_pushvalue(m_interpreter, m_key_index); + push(m_interpreter, value); + AccessPolicy::set(m_interpreter, m_table_index); + return *this; + } + + template + index_proxy > operator[](Key const& key) + { + return index_proxy >( + *this, m_interpreter, key + ); + } + + // This is non-const to prevent conversion on lvalues. + operator object(); + + lua_State* interpreter() const + { + return m_interpreter; + } + + void push(lua_State* L) const + { + assert(L == m_interpreter); + (void)L; + lua_pushvalue(m_interpreter, m_key_index); + AccessPolicy::get(m_interpreter, m_table_index); + } + + private: + mutable lua_State* m_interpreter; + int m_table_index; + int m_key_index; + }; + +} // namespace adl + +namespace detail +{ + struct basic_access + { + static void set(lua_State* interpreter, int table) + { + lua_settable(interpreter, table); + } + + static void get(lua_State* interpreter, int table) + { + lua_gettable(interpreter, table); + } + }; + + struct raw_access + { + static void set(lua_State* interpreter, int table) + { + lua_rawset(interpreter, table); + } + + static void get(lua_State* interpreter, int table) + { + lua_rawget(interpreter, table); + } + }; + + template + class basic_iterator + : public boost::iterator_facade< + basic_iterator + , adl::iterator_proxy + , boost::single_pass_traversal_tag + , adl::iterator_proxy + > + { + public: + basic_iterator() + : m_interpreter(0) + {} + + template + explicit basic_iterator(ValueWrapper const& value_wrapper) + : m_interpreter( + value_wrapper_traits::interpreter(value_wrapper) + ) + { + detail::stack_pop pop(m_interpreter, 1); + value_wrapper_traits::unwrap(m_interpreter, value_wrapper); + + lua_pushnil(m_interpreter); + if (lua_next(m_interpreter, -2) != 0) + { + detail::stack_pop pop2(m_interpreter, 2); + handle(m_interpreter, -2).swap(m_key); + } + else + { + m_interpreter = 0; + return; + } + + handle(m_interpreter, -1).swap(m_table); + } + + adl::object key() const; + + private: + friend class boost::iterator_core_access; + + void increment() + { + m_table.push(m_interpreter); + m_key.push(m_interpreter); + + detail::stack_pop pop(m_interpreter, 1); + + if (lua_next(m_interpreter, -2) != 0) + { + m_key.replace(m_interpreter, -2); + lua_pop(m_interpreter, 2); + } + else + { + m_interpreter = 0; + handle().swap(m_table); + handle().swap(m_key); + } + } + + bool equal(basic_iterator const& other) const + { + if (m_interpreter == 0 && other.m_interpreter == 0) + return true; + + if (m_interpreter != other.m_interpreter) + return false; + + detail::stack_pop pop(m_interpreter, 2); + m_key.push(m_interpreter); + other.m_key.push(m_interpreter); + return lua_compare(m_interpreter, -2, -1, LUA_OPEQ) != 0; + } + + adl::iterator_proxy dereference() const + { + return adl::iterator_proxy(m_interpreter, m_table, m_key); + } + + lua_State* m_interpreter; + handle m_table; + handle m_key; + }; + +#if BOOST_VERSION < 105700 + +// Needed because of some strange ADL issues. + +#define LUABIND_OPERATOR_ADL_WKND(op) \ + inline bool operator op( \ + basic_iterator const& x \ + , basic_iterator const& y) \ + { \ + return boost::operator op(x, y); \ + } \ + \ + inline bool operator op( \ + basic_iterator const& x \ + , basic_iterator const& y) \ + { \ + return boost::operator op(x, y); \ + } + + LUABIND_OPERATOR_ADL_WKND(==) + LUABIND_OPERATOR_ADL_WKND(!=) + +#undef LUABIND_OPERATOR_ADL_WKND + +#endif // BOOST_VERSION < 105700 +} // namespace detail + +namespace adl +{ + +#ifdef LUABIND_USE_VALUE_WRAPPER_TAG + struct index_proxy_tag; +#endif + + template + class index_proxy + : public object_interface > + { + public: +#ifdef LUABIND_USE_VALUE_WRAPPER_TAG + typedef index_proxy_tag value_wrapper_tag; +#endif + + typedef index_proxy this_type; + + template + index_proxy(Next const& next, lua_State* L, Key const& key) + : m_next(next) + , m_interpreter(L) + , m_key_index(lua_gettop(L) + 1) + { + luabind::push(m_interpreter, key); + } + + index_proxy(index_proxy const& other) + : m_next(other.m_next) + , m_interpreter(other.m_interpreter) + , m_key_index(other.m_key_index) + { + other.m_interpreter = 0; + } + + ~index_proxy() + { + if (m_interpreter) + lua_pop(m_interpreter, 1); + } + + // This is non-const to prevent conversion on lvalues. + operator object(); + + // this will set the value to nil + this_type& operator=(luabind::detail::nil_type) + { + value_wrapper_traits::unwrap(m_interpreter, m_next); + detail::stack_pop pop(m_interpreter, 1); + + lua_pushvalue(m_interpreter, m_key_index); + lua_pushnil(m_interpreter); + lua_settable(m_interpreter, -3); + return *this; + } + + template + this_type& operator=(T const& value) + { + value_wrapper_traits::unwrap(m_interpreter, m_next); + detail::stack_pop pop(m_interpreter, 1); + + lua_pushvalue(m_interpreter, m_key_index); + luabind::push(m_interpreter, value); + lua_settable(m_interpreter, -3); + return *this; + } + + this_type& operator=(this_type const& value) + { + value_wrapper_traits::unwrap(m_interpreter, m_next); + detail::stack_pop pop(m_interpreter, 1); + + lua_pushvalue(m_interpreter, m_key_index); + luabind::push(m_interpreter, value); + lua_settable(m_interpreter, -3); + return *this; + } + + template + index_proxy operator[](T const& key) + { + return index_proxy(*this, m_interpreter, key); + } + + void push(lua_State* L); + + lua_State* interpreter() const + { + return m_interpreter; + } + + private: + struct hidden_type {}; + +// this_type& operator=(index_proxy const&); + + Next const& m_next; + mutable lua_State* m_interpreter; + int m_key_index; + }; + +} // namespace adl + +typedef detail::basic_iterator iterator; +typedef detail::basic_iterator raw_iterator; + +#ifndef LUABIND_USE_VALUE_WRAPPER_TAG +template +struct value_wrapper_traits > +#else +template<> +struct value_wrapper_traits +#endif +{ + typedef boost::mpl::true_ is_specialized; + + template + static lua_State* interpreter(adl::index_proxy const& proxy) + { + return proxy.interpreter(); + } + + template + static void unwrap(lua_State* interpreter, adl::index_proxy const& proxy) + { + const_cast&>(proxy).push(interpreter); + } +}; + +#ifndef LUABIND_USE_VALUE_WRAPPER_TAG +template +struct value_wrapper_traits > +#else +template<> +struct value_wrapper_traits +#endif +{ + typedef boost::mpl::true_ is_specialized; + + template + static lua_State* interpreter(Proxy const& p) + { + return p.interpreter(); + } + + template + static void unwrap(lua_State* interpreter, Proxy const& p) + { + p.push(interpreter); + } +}; + +namespace adl +{ + + // An object holds a reference to a Lua value residing + // in the registry. + class object : public object_interface + { + public: + object() + {} + + explicit object(handle const& other) + : m_handle(other) + {} + + explicit object(from_stack const& stack_reference) + : m_handle(stack_reference.interpreter, stack_reference.index) + { + } + + template + object(lua_State* L, T const& value) + { + luabind::push(L, value); + detail::stack_pop pop(L, 1); + handle(L, -1).swap(m_handle); + } + + template + object(lua_State* L, T const& value, Policies const&) + { + luabind::push(L, value, Policies()); + detail::stack_pop pop(L, 1); + handle(L, -1).swap(m_handle); + } + + void push(lua_State* L) const; + lua_State* interpreter() const; + bool is_valid() const; + + template + index_proxy operator[](T const& key) const + { + return index_proxy( + *this, m_handle.interpreter(), key + ); + } + + void swap(object& other) + { + m_handle.swap(other.m_handle); + } + + private: + handle m_handle; + }; + + inline void object::push(lua_State* L) const + { + m_handle.push(L); + } + + inline lua_State* object::interpreter() const + { + return m_handle.interpreter(); + } + + inline bool object::is_valid() const + { + return m_handle.interpreter() != 0; + } + + class argument : public object_interface + { + public: + argument(from_stack const& stack_reference) + : m_interpreter(stack_reference.interpreter) + , m_index(stack_reference.index) + { + if (m_index < 0) + m_index = lua_gettop(m_interpreter) + m_index + 1; + } + + template + index_proxy operator[](T const& key) const + { + return index_proxy(*this, m_interpreter, key); + } + + void push(lua_State* L) const + { + lua_pushvalue(L, m_index); + } + + lua_State* interpreter() const + { + return m_interpreter; + } + + private: + lua_State* m_interpreter; + int m_index; + }; + +} // namespace adl + +using adl::object; +using adl::argument; + +#ifndef LUABIND_USE_VALUE_WRAPPER_TAG +template +struct value_wrapper_traits > +#else +template<> +struct value_wrapper_traits +#endif +{ + typedef boost::mpl::true_ is_specialized; + + template + static lua_State* interpreter(adl::call_proxy const& proxy) + { + return value_wrapper_traits::interpreter(*proxy.value_wrapper); + } + + template + static void unwrap(lua_State*, adl::call_proxy const& proxy) + { + object result = const_cast&>(proxy); + result.push(result.interpreter()); + } +}; + +template<> +struct value_wrapper_traits +{ + typedef boost::mpl::true_ is_specialized; + + static lua_State* interpreter(object const& value) + { + return value.interpreter(); + } + + static void unwrap(lua_State* L, object const& value) + { + value.push(L); + } + + static bool check(...) + { + return true; + } +}; + +template<> +struct value_wrapper_traits +{ + typedef boost::mpl::true_ is_specialized; + + static lua_State* interpreter(argument const& value) + { + return value.interpreter(); + } + + static void unwrap(lua_State* L, argument const& value) + { + value.push(L); + } + + static bool check(...) + { + return true; + } +}; + +template +inline void adl::index_proxy::push(lua_State* L) +{ + assert(L == m_interpreter); + (void)L; + + value_wrapper_traits::unwrap(m_interpreter, m_next); + + lua_pushvalue(m_interpreter, m_key_index); + lua_gettable(m_interpreter, -2); + lua_remove(m_interpreter, -2); +} + +template +inline adl::index_proxy::operator object() +{ + detail::stack_pop pop(m_interpreter, 1); + push(m_interpreter); + return object(from_stack(m_interpreter, -1)); +} + +template +adl::iterator_proxy::operator object() +{ + lua_pushvalue(m_interpreter, m_key_index); + AccessPolicy::get(m_interpreter, m_table_index); + detail::stack_pop pop(m_interpreter, 1); + return object(from_stack(m_interpreter, -1)); +} + +template +object detail::basic_iterator::key() const +{ + return object(m_key); +} + +template +T object_cast(ValueWrapper const& value_wrapper, Policies const&) +{ + lua_State* L = value_wrapper_traits::interpreter(value_wrapper); + if (!L) + return detail::throw_error_policy::handle_error(L, typeid(void)); + value_wrapper_traits::unwrap(L, value_wrapper); + detail::stack_pop pop(L, 1); + return from_lua(L, -1, Policies()); +} + +template +T object_cast(ValueWrapper const& value_wrapper) +{ + return object_cast(value_wrapper, detail::null_type()); +} + +template +boost::optional object_cast_nothrow(ValueWrapper const& value_wrapper, Policies const&) +{ + lua_State* L = value_wrapper_traits::interpreter(value_wrapper); + if (!L) + return detail::nothrow_error_policy::handle_error(L, typeid(void)); + value_wrapper_traits::unwrap(L, value_wrapper); + detail::stack_pop pop(L, 1); + return from_lua_nothrow(L, -1, Policies()); +} + +template +boost::optional object_cast_nothrow(ValueWrapper const& value_wrapper) +{ + return object_cast_nothrow(value_wrapper, detail::null_type()); +} + +namespace detail +{ + + template + struct push_args_from_tuple + { + template + inline static void apply(lua_State* L, const boost::tuples::cons& x, const Policies& p) + { + convert_to_lua_p(L, *x.get_head(), p); + push_args_from_tuple::apply(L, x.get_tail(), p); + } + + template + inline static void apply(lua_State* L, const boost::tuples::cons& x) + { + convert_to_lua(L, *x.get_head()); + push_args_from_tuple::apply(L, x.get_tail()); + } + + template + inline static void apply(lua_State*, const boost::tuples::null_type&, const Policies&) {} + + inline static void apply(lua_State*, const boost::tuples::null_type&) {} + }; + +} // namespace detail + +namespace adl +{ + + template + struct call_proxy + { + call_proxy(ValueWrapper& wrapper, Arguments args) + : value_wrapper(&wrapper) + , arguments(args) + {} + + call_proxy(call_proxy const& other) + : value_wrapper(other.value_wrapper) + , arguments(other.arguments) + { + other.value_wrapper = 0; + } + + ~call_proxy() LUABIND_MAY_THROW + { + if (value_wrapper) + call(static_cast(0)); + } + + operator object() + { + return call(static_cast(0)); + } + + template + object operator[](Policies const&) + { + return call(static_cast(0)); + } + + template + object call(Policies*) + { + lua_State* interpreter = value_wrapper_traits::interpreter( + *value_wrapper + ); + + value_wrapper_traits::unwrap( + interpreter + , *value_wrapper + ); + + value_wrapper = 0; + + detail::push_args_from_tuple<1>::apply(interpreter, arguments, Policies()); + + if (detail::pcall(interpreter, boost::tuples::length::value, 1)) + { +#ifndef LUABIND_NO_EXCEPTIONS + throw luabind::error(interpreter); +#else + error_callback_fun e = get_error_callback(); + if (e) e(interpreter); + + assert(0 && "the lua function threw an error and exceptions are disabled." + "if you want to handle this error use luabind::set_error_callback()"); + std::terminate(); +#endif + } + + detail::stack_pop pop(interpreter, 1); + return object(from_stack(interpreter, -1)); + } + + mutable ValueWrapper* value_wrapper; + Arguments arguments; + }; + + template + call_proxy > + object_interface::operator()() + { + return call_proxy >( + derived() + , boost::tuples::tuple<>() + ); + } + + // Simple value_wrapper adaptor with the sole purpose of helping with + // overload resolution. Use this as a function parameter type instead + // of "object" or "argument" to restrict the parameter to Lua tables. + template + struct table : Base + { + table(from_stack const& stack_reference) + : Base(stack_reference) + {} + }; + +} // namespace adl + +using adl::table; + +template +struct value_wrapper_traits > + : value_wrapper_traits +{ + static bool check(lua_State* L, int idx) + { + return value_wrapper_traits::check(L, idx) && + lua_istable(L, idx); + } +}; + +inline object newtable(lua_State* interpreter) +{ + lua_newtable(interpreter); + detail::stack_pop pop(interpreter, 1); + return object(from_stack(interpreter, -1)); +} + +// this could be optimized by returning a proxy +inline object globals(lua_State* interpreter) +{ + lua_pushglobaltable(interpreter); + detail::stack_pop pop(interpreter, 1); + return object(from_stack(interpreter, -1)); +} + +// this could be optimized by returning a proxy +inline object registry(lua_State* interpreter) +{ + lua_pushvalue(interpreter, LUA_REGISTRYINDEX); + detail::stack_pop pop(interpreter, 1); + return object(from_stack(interpreter, -1)); +} + +template +inline object gettable(ValueWrapper const& table, K const& key) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + table + ); + + value_wrapper_traits::unwrap(interpreter, table); + detail::stack_pop pop(interpreter, 2); + push(interpreter, key); + lua_gettable(interpreter, -2); + return object(from_stack(interpreter, -1)); +} + +template +inline void settable(ValueWrapper const& table, K const& key, T const& value) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + table + ); + + // TODO: Exception safe? + + value_wrapper_traits::unwrap(interpreter, table); + detail::stack_pop pop(interpreter, 1); + push(interpreter, key); + push(interpreter, value); + lua_settable(interpreter, -3); +} + +template +inline object rawget(ValueWrapper const& table, K const& key) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + table + ); + + value_wrapper_traits::unwrap(interpreter, table); + detail::stack_pop pop(interpreter, 2); + push(interpreter, key); + lua_rawget(interpreter, -2); + return object(from_stack(interpreter, -1)); +} + +template +inline void rawset(ValueWrapper const& table, K const& key, T const& value) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + table + ); + + // TODO: Exception safe? + + value_wrapper_traits::unwrap(interpreter, table); + detail::stack_pop pop(interpreter, 1); + push(interpreter, key); + push(interpreter, value); + lua_rawset(interpreter, -3); +} + +template +inline int type(ValueWrapper const& value) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + value + ); + + value_wrapper_traits::unwrap(interpreter, value); + detail::stack_pop pop(interpreter, 1); + return lua_type(interpreter, -1); +} + +template +inline object getmetatable(ValueWrapper const& obj) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + obj + ); + + value_wrapper_traits::unwrap(interpreter, obj); + detail::stack_pop pop(interpreter, 2); + lua_getmetatable(interpreter, -1); + return object(from_stack(interpreter, -1)); +} + +template +inline void setmetatable( + ValueWrapper1 const& obj, ValueWrapper2 const& metatable) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + obj + ); + + value_wrapper_traits::unwrap(interpreter, obj); + detail::stack_pop pop(interpreter, 1); + value_wrapper_traits::unwrap(interpreter, metatable); + lua_setmetatable(interpreter, -2); +} + +template +inline lua_CFunction tocfunction(ValueWrapper const& value) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + value + ); + + value_wrapper_traits::unwrap(interpreter, value); + detail::stack_pop pop(interpreter, 1); + return lua_tocfunction(interpreter, -1); +} + +template +inline T* touserdata(ValueWrapper const& value) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + value + ); + + value_wrapper_traits::unwrap(interpreter, value); + detail::stack_pop pop(interpreter, 1); + return static_cast(lua_touserdata(interpreter, -1)); +} + +template +inline object getupvalue(ValueWrapper const& value, int index) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + value + ); + + value_wrapper_traits::unwrap(interpreter, value); + detail::stack_pop pop(interpreter, 2); + lua_getupvalue(interpreter, -1, index); + return object(from_stack(interpreter, -1)); +} + +template +inline void setupvalue( + ValueWrapper1 const& function, int index, ValueWrapper2 const& value) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + function + ); + + value_wrapper_traits::unwrap(interpreter, function); + detail::stack_pop pop(interpreter, 1); + value_wrapper_traits::unwrap(interpreter, value); + lua_setupvalue(interpreter, -2, index); +} + +template +object property(GetValueWrapper const& get) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + get + ); + + value_wrapper_traits::unwrap(interpreter, get); + lua_pushnil(interpreter); + + lua_pushcclosure(interpreter, &detail::property_tag, 2); + detail::stack_pop pop(interpreter, 1); + + return object(from_stack(interpreter, -1)); +} + +template +object property(GetValueWrapper const& get, SetValueWrapper const& set) +{ + lua_State* interpreter = value_wrapper_traits::interpreter( + get + ); + + value_wrapper_traits::unwrap(interpreter, get); + value_wrapper_traits::unwrap(interpreter, set); + + lua_pushcclosure(interpreter, &detail::property_tag, 2); + detail::stack_pop pop(interpreter, 1); + + return object(from_stack(interpreter, -1)); + +} + + +} // namespace luabind + +#endif // LUABIND_OBJECT_050419_HPP diff --git a/external/sources/luabind-0.7.1/luabind/detail/object_call.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/object_call.hpp old mode 100755 new mode 100644 similarity index 99% rename from external/sources/luabind-0.7.1/luabind/detail/object_call.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/object_call.hpp index 46ab0d958f..137a0703bd --- a/external/sources/luabind-0.7.1/luabind/detail/object_call.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/object_call.hpp @@ -24,9 +24,9 @@ # error Do not include object_call.hpp directly! #endif -#include -#include #include +#include +#include #define N BOOST_PP_ITERATION() @@ -49,4 +49,3 @@ call_proxy< } #undef N - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/object_rep.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/object_rep.hpp new file mode 100644 index 0000000000..519f714071 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/object_rep.hpp @@ -0,0 +1,143 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_OBJECT_REP_HPP_INCLUDED +#define LUABIND_OBJECT_REP_HPP_INCLUDED + +#include +#include +#include + +#include + +namespace luabind { namespace detail +{ + // implements the selection between dynamic dispatch + // or default implementation calls from within a virtual + // function wrapper. The input is the self reference on + // the top of the stack. Output is the function to call + // on the top of the stack (the input self reference will + // be popped) + LUABIND_API void do_call_member_selection(lua_State* L, char const* name); + + void finalize(lua_State* L, class_rep* crep); + + // this class is allocated inside lua for each pointer. + // it contains the actual c++ object-pointer. + // it also tells if it is const or not. + class LUABIND_API object_rep + { + public: + object_rep(instance_holder* instance, class_rep* crep); + ~object_rep(); + + const class_rep* crep() const { return m_classrep; } + class_rep* crep() { return m_classrep; } + + void set_instance(instance_holder* instance) { m_instance = instance; } + + void add_dependency(lua_State* L, int index); + void release_dependency_refs(lua_State* L); + + std::pair get_instance(class_id target) const + { + if (m_instance == 0) + return std::pair(static_cast(0), -1); + return m_instance->get(m_classrep->casts(), target); + } + + bool is_const() const + { + return m_instance && m_instance->pointee_const(); + } + + void release() + { + if (m_instance) + m_instance->release(); + } + + void* allocate(std::size_t size) + { + if (size <= instance_buffer_size) + return &m_instance_buffer; + return std::malloc(size); + } + + void deallocate(void* storage) + { + if (storage == &m_instance_buffer) + return; + std::free(storage); + } + + private: + + object_rep(object_rep const&); + + void operator=(object_rep const&); + +#ifdef LUAI_MAXALIGN + struct cD { char c; union { LUAI_MAXALIGN; } u; }; +#else + struct cD { char c; union { lua_Number n; double u; void *s; lua_Integer i; long l; } u; }; +#endif + BOOST_STATIC_CONSTANT(std::size_t, instance_buffer_size=32); + BOOST_STATIC_CONSTANT(std::size_t, instance_buffer_align=offsetof(struct cD, u)); + boost::aligned_storage m_instance_buffer; + instance_holder* m_instance; + class_rep* m_classrep; // the class information about this object's type + std::size_t m_dependency_cnt; // counts dependencies + }; + + template + struct delete_s + { + static void apply(void* ptr) + { + delete static_cast(ptr); + } + }; + + template + struct destruct_only_s + { + static void apply(void* ptr) + { + // Removes unreferenced formal parameter warning on VC7. + (void)ptr; +#ifndef NDEBUG + int completeness_check[sizeof(T)]; + (void)completeness_check; +#endif + static_cast(ptr)->~T(); + } + }; + + LUABIND_API object_rep* get_instance(lua_State* L, int index); + LUABIND_API void push_instance_metatable(lua_State* L); + LUABIND_API object_rep* push_new_instance(lua_State* L, class_rep* cls); + +}} + +#endif // LUABIND_OBJECT_REP_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/operator_id.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/operator_id.hpp new file mode 100644 index 0000000000..165e42489f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/operator_id.hpp @@ -0,0 +1,80 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_OPERATOR_ID_HPP_INCLUDED +#define LUABIND_OPERATOR_ID_HPP_INCLUDED + +#include + +namespace luabind { namespace detail { + + enum operator_id + { + op_add = 0, + op_sub, + op_mul, + op_div, + op_mod, + op_pow, + op_lt, + op_le, + op_eq, + op_call, + op_unm, + op_tostring, + op_concat, + op_len, + + number_of_operators + }; + + inline const char* get_operator_name(int i) + { + static const char* a[number_of_operators] = { + "__add", "__sub", "__mul", "__div", "__mod", "__pow", + "__lt", "__le", "__eq", "__call", "__unm", + "__tostring", "__concat", "__len" }; + return a[i]; + } + + inline const char* get_operator_symbol(int i) + { + static const char* a[number_of_operators] = { + "+", "-", "*", "/", "%", "^", "<", + "<=", "==", "()", "- (unary)", + "tostring", "..", "#" }; + return a[i]; + } + + inline bool is_unary(int i) + { + // the reason why unary minus is not considered a unary operator here is + // that it always is given two parameters, where the second parameter always + // is nil. + return i == op_tostring; + } + + +}} + +#endif // LUABIND_OPERATOR_ID_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/other.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/other.hpp new file mode 100644 index 0000000000..c86b28aa9d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/other.hpp @@ -0,0 +1,120 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_OTHER_HPP_INCLUDED +#define LUABIND_OTHER_HPP_INCLUDED + +// header derived from source code found in Boost.Python + +// Copyright David Abrahams 2002. Permission to copy, use, +// modify, sell and distribute this software is granted provided this +// copyright notice appears in all copies. This software is provided +// "as is" without express or implied warranty, and with no claim as +// to its suitability for any purpose. + +#include + +#include + +namespace luabind +{ + template + struct other + { + typedef T type; + }; +} + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +namespace luabind { namespace detail +{ + template + class unwrap_other + { + public: + typedef T type; + }; + + template + class unwrap_other > + { + public: + typedef T type; + }; +}} // namespace luabind::detail + +# else // no partial specialization + +#include + +namespace luabind { namespace detail +{ + typedef char (&yes_other_t)[1]; + typedef char (&no_other_t)[2]; + + no_other_t is_other_test(...); + + template + yes_other_t is_other_test(type_< other >); + + template + struct other_unwrapper + { + template + struct apply + { + typedef T type; + }; + }; + + template<> + struct other_unwrapper + { + template + struct apply + { + typedef typename T::type type; + }; + }; + + template + class is_other + { + public: + BOOST_STATIC_CONSTANT( + bool, value = ( + sizeof(detail::is_other_test(type_())) + == sizeof(detail::yes_other_t))); + }; + + template + class unwrap_other + : public detail::other_unwrapper< + is_other::value + >::template apply + {}; + +}} // namespace luabind::detail +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +#endif // LUABIND_OTHER_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/pcall.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/pcall.hpp old mode 100755 new mode 100644 similarity index 87% rename from external/sources/luabind-0.7.1/luabind/detail/pcall.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/pcall.hpp index f0d72b1622..7d06e16b55 --- a/external/sources/luabind-0.7.1/luabind/detail/pcall.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/pcall.hpp @@ -25,12 +25,12 @@ #include -struct lua_State; +#include namespace luabind { namespace detail { - LUABIND_API int pcall(lua_State *L, int nargs, int nresults); - LUABIND_API int resume_impl(lua_State *L, int nargs, int nresults); + LUABIND_API int pcall(lua_State *L, int nargs, int nresults); + LUABIND_API int resume_impl(lua_State *L, int nargs, int nresults); }} #endif diff --git a/external/sources/luabind-0.7.1/luabind/detail/pointee_sizeof.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/pointee_sizeof.hpp old mode 100755 new mode 100644 similarity index 96% rename from external/sources/luabind-0.7.1/luabind/detail/pointee_sizeof.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/pointee_sizeof.hpp index 3875c09dda..ebe1933eac --- a/external/sources/luabind-0.7.1/luabind/detail/pointee_sizeof.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/pointee_sizeof.hpp @@ -42,7 +42,7 @@ namespace luabind { struct pointee_sizeof { BOOST_STATIC_CONSTANT(int, value = ( - sizeof(detail::deref_type((T(*)())0), 0L) + sizeof(detail::deref_type(static_cast(0)), 0L) )); typedef boost::mpl::int_ type; @@ -51,4 +51,3 @@ namespace luabind { } // namespace luabind #endif // POINTEE_SIZEOF_040211_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/policy.hpp new file mode 100644 index 0000000000..af7b40c375 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/policy.hpp @@ -0,0 +1,1104 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_POLICY_HPP_INCLUDED +#define LUABIND_POLICY_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#ifndef LUABIND_NO_SCOPED_ENUM +# if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) \ + && !defined(BOOST_NO_0X_HDR_TYPE_TRAITS) +# include +# elif BOOST_VERSION >= 105600 +# include +# define LUABIND_USE_BOOST_UNDERLYING_TYPE +# endif +#endif + +namespace luabind +{ + namespace detail + { + struct conversion_policy_base {}; + } + + template + struct conversion_policy : detail::conversion_policy_base + { + BOOST_STATIC_CONSTANT(int, index = N); + BOOST_STATIC_CONSTANT(bool, has_arg = HasArg); + }; + + class index_map + { + public: + index_map(const int* m): m_map(m) {} + + int operator[](int index) const + { + return m_map[index]; + } + + private: + const int* m_map; + }; + +// template class functor; + class weak_ref; +} + +namespace luabind { namespace detail +{ + template + struct policy_cons + { + typedef H head; + typedef T tail; + + template + policy_cons > operator,(policy_cons) + { + return policy_cons >(); + } + + template + policy_cons > operator+(policy_cons) + { + return policy_cons >(); + } + + template + policy_cons > operator|(policy_cons) + { + return policy_cons >(); + } + }; + + struct indirection_layer + { + template + indirection_layer(const T&); + }; + + yes_t is_policy_cons_test(const null_type&); + template + yes_t is_policy_cons_test(const policy_cons&); + no_t is_policy_cons_test(...); + + template + struct is_policy_cons + { + static const T& t; + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(is_policy_cons_test(t)) == sizeof(yes_t)); + + typedef boost::mpl::bool_ type; + }; + + template + struct is_string_literal + { + static no_t helper(indirection_layer); + static yes_t helper(const char*); + }; + + template<> + struct is_string_literal + { + static no_t helper(indirection_layer); + }; + + + namespace mpl = boost::mpl; + + template + void make_pointee_instance(lua_State* L, T& x, mpl::true_, Clone) + { + if (get_pointer(x)) + { + make_instance(L, x); + } + else + { + lua_pushnil(L); + } + } + + template + void make_pointee_instance(lua_State* L, T& x, mpl::false_, mpl::true_) + { + std::auto_ptr ptr(new T(x)); + make_instance(L, ptr); + } + + template + void make_pointee_instance(lua_State* L, T& x, mpl::false_, mpl::false_) + { + make_instance(L, &x); + } + + template + void make_pointee_instance(lua_State* L, T& x, Clone) + { + make_pointee_instance(L, x, has_get_pointer(), Clone()); + } + +// ********** pointer converter *********** + + struct pointer_converter + { + typedef pointer_converter type; + typedef mpl::false_ is_native; + + pointer_converter() + : result(0) + {} + + void* result; + + int consumed_args() const + { + return 1; + } + + template + void apply(lua_State* L, T* ptr) + { + if (ptr == 0) + { + lua_pushnil(L); + return; + } + + if (luabind::get_back_reference(L, ptr)) + return; + + make_instance(L, ptr); + } + + template + T* apply(lua_State*, by_pointer, int) + { + return static_cast(result); + } + + template + int match(lua_State* L, by_pointer, int index) + { + if (lua_isnil(L, index)) return 0; + object_rep* obj = get_instance(L, index); + if (obj == 0) return -1; + + if (obj->is_const()) + return -1; + + std::pair s = obj->get_instance(registered_class::id); + result = s.first; + return s.second; + } + + template + void converter_postcall(lua_State*, by_pointer, int) + {} + }; + +// ******* value converter ******* + + struct value_converter + { + typedef value_converter type; + typedef mpl::false_ is_native; + + int consumed_args() const + { + return 1; + } + + value_converter() + : result(0) + {} + + void* result; + + template + void apply(lua_State* L, T x) + { + if (luabind::get_back_reference(L, x)) + return; + + make_pointee_instance(L, x, mpl::true_()); + } + + template + T apply(lua_State*, by_value, int) + { + return *static_cast(result); + } + + template + int match(lua_State* L, by_value, int index) + { + // special case if we get nil in, try to match the holder type + if (lua_isnil(L, index)) + return -1; + + object_rep* obj = get_instance(L, index); + if (obj == 0) return -1; + + std::pair s = obj->get_instance(registered_class::id); + result = s.first; + return s.second; + } + + template + void converter_postcall(lua_State*, T, int) {} + }; + +// ******* const pointer converter ******* + + struct const_pointer_converter + { + typedef const_pointer_converter type; + typedef mpl::false_ is_native; + + int consumed_args() const + { + return 1; + } + + const_pointer_converter() + : result(0) + {} + + void* result; + + template + void apply(lua_State* L, const T* ptr) + { + if (ptr == 0) + { + lua_pushnil(L); + return; + } + + if (luabind::get_back_reference(L, ptr)) + return; + + make_instance(L, ptr); + } + + template + T const* apply(lua_State*, by_const_pointer, int) + { + return static_cast(result); + } + + template + int match(lua_State* L, by_const_pointer, int index) + { + if (lua_isnil(L, index)) return 0; + object_rep* obj = get_instance(L, index); + if (obj == 0) return -1; // if the type is not one of our own registered types, classify it as a non-match + std::pair s = obj->get_instance(registered_class::id); + if (s.second >= 0 && !obj->is_const()) + s.second += 10; + result = s.first; + return s.second; + } + + template + void converter_postcall(lua_State*, T, int) {} + }; + +// ******* reference converter ******* + + struct ref_converter : pointer_converter + { + typedef ref_converter type; + typedef mpl::false_ is_native; + + int consumed_args() const + { + return 1; + } + + template + void apply(lua_State* L, T& ref) + { + if (luabind::get_back_reference(L, ref)) + return; + + make_pointee_instance(L, ref, mpl::false_()); + } + + template + T& apply(lua_State* L, by_reference, int index) + { + assert(!lua_isnil(L, index)); + return *pointer_converter::apply(L, by_pointer(), index); + } + + template + int match(lua_State* L, by_reference, int index) + { + object_rep* obj = get_instance(L, index); + if (obj == 0) return -1; + + if (obj->is_const()) + return -1; + + std::pair s = obj->get_instance(registered_class::id); + result = s.first; + return s.second; + } + + template + void converter_postcall(lua_State*, T, int) {} + }; + +// ******** const reference converter ********* + + struct const_ref_converter + { + typedef const_ref_converter type; + typedef mpl::false_ is_native; + + int consumed_args() const + { + return 1; + } + + const_ref_converter() + : result(0) + {} + + void* result; + + template + void apply(lua_State* L, T const& ref) + { + if (luabind::get_back_reference(L, ref)) + return; + + make_pointee_instance(L, ref, mpl::false_()); + } + + template + T const& apply(lua_State*, by_const_reference, int) + { + return *static_cast(result); + } + + template + int match(lua_State* L, by_const_reference, int index) + { + object_rep* obj = get_instance(L, index); + if (obj == 0) return -1; // if the type is not one of our own registered types, classify it as a non-match + + std::pair s = obj->get_instance(registered_class::id); + if (s.second >= 0 && !obj->is_const()) + s.second += 10; + result = s.first; + return s.second; + } + + template + void converter_postcall(lua_State*, by_const_reference, int) + { + } + }; + + // ****** enum converter ******** + + struct enum_converter + { + typedef enum_converter type; + typedef mpl::true_ is_native; + + int consumed_args() const + { + return 1; + } + +#ifdef LUABIND_NO_SCOPED_ENUM + void apply(lua_State* L, int val) + { + lua_pushnumber(L, val); + } +#else + template + void apply(lua_State* L, T val) + { + typedef typename std::underlying_type::type integral_t; + lua_pushnumber(L, static_cast(val)); + } +#endif + + template + T apply(lua_State* L, by_value, int index) + { +#ifdef LUABIND_NO_SCOPED_ENUM + typedef int integral_t; +#elif defined(LUABIND_USE_BOOST_UNDERLYING_TYPE) + typedef typename boost::underlying_type::type integral_t; +#else + typedef typename std::underlying_type::type integral_t; +#endif + return static_cast( + static_cast(lua_tonumber(L, index))); + } + + template + static int match(lua_State* L, by_value, int index) + { + if (lua_isnumber(L, index)) return 0; else return -1; + } + + template + T apply(lua_State* L, by_const_reference, int index) + { + return static_cast(static_cast(lua_tonumber(L, index))); + } + + template + static int match(lua_State* L, by_const_reference, int index) + { + if (lua_isnumber(L, index)) return 0; else return -1; + } + + template + void converter_postcall(lua_State*, T, int) {} + }; + + template + struct value_wrapper_converter + { + typedef value_wrapper_converter type; + typedef mpl::true_ is_native; + + int consumed_args() const + { + return 1; + } + + template + T apply(lua_State* L, by_const_reference, int index) + { + return T(from_stack(L, index)); + } + + template + T apply(lua_State* L, by_value, int index) + { + return apply(L, by_const_reference(), index); + } + + template + static int match(lua_State* L, by_const_reference, int index) + { + return value_wrapper_traits::check(L, index) + ? (std::numeric_limits::max)() / LUABIND_MAX_ARITY + : -1; + } + + template + static int match(lua_State* L, by_value, int index) + { + return match(L, by_const_reference(), index); + } + + void converter_postcall(...) {} + + template + void apply(lua_State* interpreter, T const& value_wrapper) + { + value_wrapper_traits::unwrap(interpreter, value_wrapper); + } + }; + + template + struct default_converter_generator + : mpl::eval_if< + is_value_wrapper_arg + , value_wrapper_converter + , mpl::eval_if< + boost::is_enum::type> + , enum_converter + , mpl::eval_if< + is_nonconst_pointer + , pointer_converter + , mpl::eval_if< + is_const_pointer + , const_pointer_converter + , mpl::eval_if< + is_nonconst_reference + , ref_converter + , mpl::eval_if< + is_const_reference + , const_ref_converter + , value_converter + > + > + > + > + > + > + {}; + +} // namespace detail + +// *********** default_policy ***************** + +template +struct default_converter + : detail::default_converter_generator::type +{}; + +template > +struct native_converter_base +{ + typedef boost::mpl::true_ is_native; + typedef typename boost::call_traits::value_type value_type; + typedef typename boost::call_traits::param_type param_type; + + int consumed_args() const + { + return 1; + } + + template + void converter_postcall(lua_State*, U const&, int) + {} + + int match(lua_State* L, detail::by_value, int index) + { + return derived().compute_score(L, index); + } + + int match(lua_State* L, detail::by_value, int index) + { + return derived().compute_score(L, index); + } + + int match(lua_State* L, detail::by_const_reference, int index) + { + return derived().compute_score(L, index); + } + + value_type apply(lua_State* L, detail::by_value, int index) + { + return derived().from(L, index); + } + + value_type apply(lua_State* L, detail::by_value, int index) + { + return derived().from(L, index); + } + + value_type apply(lua_State* L, detail::by_const_reference, int index) + { + return derived().from(L, index); + } + + void apply(lua_State* L, param_type value) + { + derived().to(L, value); + } + + Derived& derived() + { + return static_cast(*this); + } +}; + +// *********** converter for arithmetic (number) types ***************** +template +struct number_converter + : native_converter_base< + typename boost::remove_const< + typename boost::remove_reference::type>::type> +{ + + template < + bool is_integral, + typename Traits, + typename TraitsLua = boost::integer_traits > + struct use_integer: boost::mpl::false_ {}; + + template + struct use_integer: boost::mpl::bool_< + Traits::const_min >= TraitsLua::const_min + && Traits::const_max <= TraitsLua::const_max> + {}; + + typedef typename boost::remove_const::type>::type T; + typedef typename native_converter_base::param_type param_type; + typedef typename native_converter_base::value_type value_type; + + typedef boost::integer_traits traits; + + typedef use_integer use_integer_t; + + lua_Number do_from(lua_State* L, int index, boost::mpl::false_) + { + return lua_tonumber(L, index); + } + + lua_Integer do_from(lua_State* L, int index, boost::mpl::true_) + { + return lua_tointeger(L, index); + } + + void do_to(lua_State* L, param_type value, boost::mpl::false_) + { + lua_pushnumber(L, static_cast(value)); + } + + void do_to(lua_State* L, param_type value, boost::mpl::true_) + { + lua_pushinteger(L, static_cast(value)); + } + + int compute_score(lua_State* L, int index) + { + return lua_type(L, index) == LUA_TNUMBER ? 0 : -1; + } + + value_type from(lua_State* L, int index) + { + return static_cast(do_from(L, index, use_integer_t())); + } + + void to(lua_State* L, param_type value) + { + do_to(L, value, use_integer_t()); + } +}; +// template partial specialization for those types that boost knows to be +// arithmetic and const references to them +template +struct default_converter, + boost::mpl::and_< + boost::is_reference, + boost::is_const< + typename boost::remove_reference::type + >, + boost::is_arithmetic< + typename boost::remove_const< + typename boost::remove_reference::type>::type + > + > + > >::type +> + : number_converter {}; + +// *********** converter for bool ***************** +template <> +struct default_converter + : native_converter_base +{ + static int compute_score(lua_State* L, int index) + { + return lua_type(L, index) == LUA_TBOOLEAN ? 0 : -1; + } + + bool from(lua_State* L, int index) + { + return lua_toboolean(L, index) == 1; + } + + void to(lua_State* L, bool value) + { + lua_pushboolean(L, value); + } +}; + +template <> +struct default_converter + : default_converter +{}; + +template <> +struct default_converter + : default_converter +{}; + +#ifndef LUABIND_NO_RVALUE_REFERENCES +template <> +struct default_converter + : default_converter +{}; +#endif + +// *********** converter for string types ***************** +template <> +struct default_converter + : native_converter_base +{ + static int compute_score(lua_State* L, int index) + { + return lua_type(L, index) == LUA_TSTRING ? 0 : -1; + } + + std::string from(lua_State* L, int index) + { + return std::string(lua_tostring(L, index), lua_rawlen(L, index)); + } + + void to(lua_State* L, std::string const& value) + { + lua_pushlstring(L, value.data(), value.size()); + } +}; + +template <> +struct default_converter + : default_converter +{}; + +template <> +struct default_converter + : default_converter +{}; + +#ifndef LUABIND_NO_RVALUE_REFERENCES +template <> +struct default_converter + : default_converter +{}; +#endif + +template <> +struct default_converter +{ + typedef boost::mpl::true_ is_native; + + int consumed_args() const + { + return 1; + } + + template + static int match(lua_State* L, U, int index) + { + int type = lua_type(L, index); + return (type == LUA_TSTRING || type == LUA_TNIL) ? 0 : -1; + } + + template + char const* apply(lua_State* L, U, int index) + { + return lua_tostring(L, index); + } + + void apply(lua_State* L, char const* str) + { + lua_pushstring(L, str); + } + + template + void converter_postcall(lua_State*, U, int) + {} +}; + +template <> +struct default_converter + : default_converter +{}; + +template <> +struct default_converter + : default_converter +{}; + +template +struct default_converter + : default_converter +{}; + +template +struct default_converter + : default_converter +{}; + + +// *********** converter for lua_State * arguments - consuming no explicit args ***************** +template <> +struct default_converter +{ + int consumed_args() const + { + return 0; + } + + template + lua_State* apply(lua_State* L, U, int) + { + return L; + } + + template + static int match(lua_State*, U, int) + { + return 0; + } + + template + void converter_postcall(lua_State*, U, int) {} +}; + +namespace detail +{ + + struct default_policy + { + BOOST_STATIC_CONSTANT(bool, has_arg = true); + + template + static void precall(lua_State*, T, int) {} + + template + struct apply + { + typedef default_converter type; + }; + }; + + template + struct is_primitive + : default_converter::is_native + {}; + +// ============== new policy system ================= + + template struct find_conversion_policy; + + template + struct find_conversion_impl + { + template + struct apply + { + typedef typename find_conversion_policy::type type; + }; + }; + + template<> + struct find_conversion_impl + { + template + struct apply + { + typedef typename Policies::head head; + typedef typename Policies::tail tail; + + BOOST_STATIC_CONSTANT(bool, found = (N == head::index)); + + typedef typename + boost::mpl::if_c::type + >::type type; + }; + }; + + template + struct find_conversion_impl2 + { + template + struct apply + : find_conversion_impl< + boost::is_base_and_derived::value + >::template apply + { + }; + }; + + template<> + struct find_conversion_impl2 + { + template + struct apply + { + typedef default_policy type; + }; + }; + + template + struct find_conversion_policy : find_conversion_impl2::template apply + { + }; + + template + struct policy_list_postcall + { + typedef typename List::head head; + typedef typename List::tail tail; + + static void apply(lua_State* L, const index_map& i) + { + head::postcall(L, i); + policy_list_postcall::apply(L, i); + } + }; + + template<> + struct policy_list_postcall + { + static void apply(lua_State*, const index_map&) {} + }; + +// ================================================== + +// ************** precall and postcall on policy_cons ********************* + + + template + struct policy_precall + { + typedef typename List::head head; + typedef typename List::tail tail; + + static void apply(lua_State* L, int index) + { + head::precall(L, index); + policy_precall::apply(L, index); + } + }; + + template<> + struct policy_precall + { + static void apply(lua_State*, int) {} + }; + + template + struct policy_postcall + { + typedef typename List::head head; + typedef typename List::tail tail; + + static void apply(lua_State* L, int index) + { + head::postcall(L, index); + policy_postcall::apply(L, index); + } + }; + + template<> + struct policy_postcall + { + static void apply(lua_State*, int) {} + }; + + template + struct has_policy + : mpl::if_< + boost::is_same + , mpl::true_ + , has_policy + >::type + {}; + + template + struct has_policy + : mpl::false_ + {}; + +}} // namespace luabind::detail + + +namespace luabind { namespace +{ +#if defined(__GNUC__) && ( \ + (BOOST_VERSION < 103500) \ + || (BOOST_VERSION < 103900 && (__GNUC__ * 100 + __GNUC_MINOR__ <= 400)) \ + || (__GNUC__ * 100 + __GNUC_MINOR__ < 400)) + static inline boost::arg<0> return_value() + { + return boost::arg<0>(); + } + + static inline boost::arg<0> result() + { + return boost::arg<0>(); + } +# define LUABIND_PLACEHOLDER_ARG(N) boost::arg(*)() +#elif defined(BOOST_MSVC) || defined(__MWERKS__) \ + || (BOOST_VERSION >= 103900 && defined(__GNUC__) \ + && (__GNUC__ * 100 + __GNUC_MINOR__ == 400)) + static boost::arg<0> return_value; + static boost::arg<0> result; +# define LUABIND_PLACEHOLDER_ARG(N) boost::arg +#else + boost::arg<0> return_value; + boost::arg<0> result; +# define LUABIND_PLACEHOLDER_ARG(N) boost::arg +#endif +}} + +#endif // LUABIND_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/primitives.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/primitives.hpp new file mode 100644 index 0000000000..b24fdc4cd9 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/primitives.hpp @@ -0,0 +1,55 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_PRIMITIVES_HPP_INCLUDED +#define LUABIND_PRIMITIVES_HPP_INCLUDED + +#include + +#include +#include + +namespace luabind { namespace detail +{ + template + struct type_ {}; + + struct null_type {}; + + struct lua_to_cpp {}; + struct cpp_to_lua {}; + + template struct by_value {}; + template struct by_reference {}; + template struct by_const_reference {}; + template struct by_pointer {}; + template struct by_const_pointer {}; + + struct ltstr + { + bool operator()(const char* s1, const char* s2) const { return std::strcmp(s1, s2) < 0; } + }; + +}} + +#endif // LUABIND_PRIMITIVES_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/property.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/property.hpp new file mode 100644 index 0000000000..74a8799292 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/property.hpp @@ -0,0 +1,32 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_PROPERTY_081020_HPP +# define LUABIND_PROPERTY_081020_HPP + +namespace luabind { namespace detail { + +template +struct access_member_ptr +{ + access_member_ptr(T Class::* mem_ptr_) + : mem_ptr(mem_ptr_) + {} + + Result operator()(Class const& x) const + { + return const_cast(x).*mem_ptr; + } + + void operator()(Class& x, T const& value) const + { + x.*mem_ptr = value; + } + + T Class::* mem_ptr; +}; + +}} // namespace luabind::detail + +#endif // LUABIND_PROPERTY_081020_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/signature_match.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/signature_match.hpp new file mode 100644 index 0000000000..58d21ff745 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/signature_match.hpp @@ -0,0 +1,59 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_SIGNATURE_MATCH_HPP_INCLUDED +#define LUABIND_SIGNATURE_MATCH_HPP_INCLUDED + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace luabind +{ + + namespace adl + { + class argument; + } + + template + struct constructor + { + typedef BOOST_PP_CAT( + boost::mpl::vector, BOOST_PP_INC(BOOST_PP_INC(LUABIND_MAX_ARITY)))< + void, argument const&, BOOST_PP_ENUM_PARAMS(LUABIND_MAX_ARITY, A) + > signature0; + + typedef typename boost::mpl::remove< + signature0, detail::null_type>::type signature; + }; + +} + +#endif // LUABIND_SIGNATURE_MATCH_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/detail/stack_utils.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/stack_utils.hpp old mode 100755 new mode 100644 similarity index 80% rename from external/sources/luabind-0.7.1/luabind/detail/stack_utils.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/detail/stack_utils.hpp index 15f3a7fcef..edd04f3dbf --- a/external/sources/luabind-0.7.1/luabind/detail/stack_utils.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/stack_utils.hpp @@ -23,30 +23,31 @@ #ifndef LUABIND_STACK_UTILS_HPP_INCLUDED #define LUABIND_STACK_UTILS_HPP_INCLUDED +#include + #include namespace luabind { namespace detail { - struct stack_pop - { - stack_pop(lua_State* L, int n) - : m_state(L) - , m_n(n) - { - } + struct stack_pop + { + stack_pop(lua_State* L, int n) + : m_state(L) + , m_n(n) + { + } - ~stack_pop() - { - lua_pop(m_state, m_n); - } + ~stack_pop() + { + lua_pop(m_state, m_n); + } - private: + private: - lua_State* m_state; - int m_n; - }; + lua_State* m_state; + int m_n; + }; }} #endif // LUABIND_STACK_UTILS_HPP_INCLUDED - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/typetraits.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/typetraits.hpp new file mode 100644 index 0000000000..3d15c934c5 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/typetraits.hpp @@ -0,0 +1,209 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_TYPETRAITS_HPP_INCLUDED +#define LUABIND_TYPETRAITS_HPP_INCLUDED + +#include +#include +#include + +#include +#include +#include + +namespace luabind { namespace detail +{ + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + template + struct is_const_type + { + typedef typename boost::mpl::if_ + , yes_t + , no_t + >::type type; + }; + + template + struct is_const_reference_helper + { + template + struct apply + { + enum + { + value = false + }; + }; + }; + + template + typename is_const_type::type is_const_reference_tester(T&); + no_t is_const_reference_tester(...); + + template<> + struct is_const_reference_helper + { + template + struct apply + { + static T getT(); + + enum + { + value = sizeof(is_const_reference_tester(getT())) == sizeof(yes_t) + }; + }; + }; + + template + struct is_const_reference + : is_const_reference_helper::value>::template apply + { + typedef boost::mpl::bool_ type; + }; + + template + struct is_nonconst_reference + { + enum + { + value = boost::is_reference::value && !is_const_reference::value + }; + typedef boost::mpl::bool_ type; + }; + +#else + + template + struct is_const_reference + { + enum { value = false }; + typedef boost::mpl::bool_ type; + }; + + template + struct is_const_reference + { + enum { value = true }; + typedef boost::mpl::bool_ type; + }; + + template + struct is_nonconst_reference + { + enum { value = false }; + typedef boost::mpl::bool_ type; + }; + + template + struct is_nonconst_reference + { + enum { value = !is_const_reference::value }; + typedef boost::mpl::bool_ type; + }; + +#endif + + template + yes_t is_const_pointer_helper(void(*)(const A*)); + no_t is_const_pointer_helper(...); + + template + struct is_const_pointer + { + enum { value = + sizeof(is_const_pointer_helper(static_cast(0))) + == sizeof(yes_t) }; + typedef boost::mpl::bool_ type; + }; + + template + yes_t is_nonconst_pointer_helper(void(*)(A*)); + no_t is_nonconst_pointer_helper(...); + + template + struct is_nonconst_pointer + { + enum { value = + sizeof(is_nonconst_pointer_helper(static_cast(0))) + == sizeof(yes_t) + && !is_const_pointer::value }; + typedef boost::mpl::bool_ type; + }; +/* + template + struct is_constructable_from_helper + { + static yes_t check(const T&); + static no_t check(...); + }; + + template + struct is_constructable_from + { + static From getFrom(); + + enum + { + value = sizeof(is_constructable_from_helper::check(getFrom())) == sizeof(yes_t) + }; + }; + + template + struct is_const_member_function_helper + { + static no_t test(...); + template + static yes_t test(R(T::*)() const); + template + static yes_t test(R(T::*)(A1) const); + template + static yes_t test(R(T::*)(A1,A2) const); + template + static yes_t test(R(T::*)(A1,A2,A3) const); + }; + + template + struct is_const_member_function + { + static U getU(); + + enum + { + value = sizeof(is_const_member_function_helper::test(getU())) == sizeof(yes_t) + }; + }; +*/ + + template + struct max_c + { + enum { value = (v1>v2)?v1:v2 }; + }; + +}} + +#endif // LUABIND_TYPETRAITS_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/detail/yes_no.hpp b/external/sources/luabind-oberon00-49814f6/luabind/detail/yes_no.hpp new file mode 100644 index 0000000000..52b46d333b --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/detail/yes_no.hpp @@ -0,0 +1,33 @@ +// Copyright (c) 2004 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef YES_NO_040211_HPP +#define YES_NO_040211_HPP + +namespace luabind { namespace detail { + + typedef char(&yes_t)[1]; + typedef char(&no_t)[2]; + +}} // namespace luabind::detail + +#endif // YES_NO_040211_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/discard_result_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/discard_result_policy.hpp new file mode 100644 index 0000000000..db0463504d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/discard_result_policy.hpp @@ -0,0 +1,77 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_DISCARD_RESULT_POLICY_HPP_INCLUDED +#define LUABIND_DISCARD_RESULT_POLICY_HPP_INCLUDED + +#include +#include // for index_map, etc +#include // for null_type, etc + +#include // for if_ +#include // for is_same + +#include + +namespace luabind { namespace detail +{ + struct discard_converter + { + template + void apply(lua_State*, T) {} + }; + + struct discard_result_policy : conversion_policy<0> + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + struct can_only_convert_from_cpp_to_lua {}; + + template + struct apply + { + typedef typename boost::mpl::if_ + , discard_converter + , can_only_convert_from_cpp_to_lua + >::type type; + }; + }; + +}} + +namespace luabind +{ + detail::policy_cons< + detail::discard_result_policy, detail::null_type> const discard_result = {}; + + namespace detail + { + inline void ignore_unused_discard_result() + { + (void)discard_result; + } + } +} + +#endif // LUABIND_DISCARD_RESULT_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/error.hpp b/external/sources/luabind-oberon00-49814f6/luabind/error.hpp new file mode 100644 index 0000000000..9515701393 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/error.hpp @@ -0,0 +1,91 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_ERROR_HPP_INCLUDED +#define LUABIND_ERROR_HPP_INCLUDED + +#include +#include +#include +#include + +#ifndef LUABIND_NO_EXCEPTIONS +#include +#endif + +#include + +namespace luabind +{ + +#ifndef LUABIND_NO_EXCEPTIONS + + // this exception usually means that the lua function you called + // from C++ failed with an error code. You will have to + // read the error code from the top of the lua stack + // the reason why this exception class doesn't contain + // the message itself is that std::string's copy constructor + // may throw, if the copy constructor of an exception that is + // being thrown throws another exception, terminate will be called + // and the entire application is killed. + class LUABIND_API error : public std::exception + { + public: + explicit error(lua_State* L): m_L(L) {} + lua_State* state() const LUABIND_NOEXCEPT { return m_L; } + virtual const char* what() const LUABIND_NOEXCEPT + { + return "lua runtime error"; + } + private: + lua_State* m_L; + }; + + // if an object_cast<>() fails, this is thrown + // it is also thrown if the return value of + // a lua function cannot be converted + class LUABIND_API cast_failed : public std::exception + { + public: + cast_failed(lua_State* L, type_id const& i): m_L(L), m_info(i) {} + lua_State* state() const LUABIND_NOEXCEPT { return m_L; } + type_id info() const LUABIND_NOEXCEPT { return m_info; } + virtual const char* what() const LUABIND_NOEXCEPT { return "unable to make cast"; } + private: + lua_State* m_L; + type_id m_info; + }; + +#else + + LUABIND_API void set_error_callback(error_callback_fun e); + LUABIND_API void set_cast_failed_callback(cast_failed_callback_fun c); + LUABIND_API error_callback_fun get_error_callback(); + LUABIND_API cast_failed_callback_fun get_cast_failed_callback(); + +#endif + + LUABIND_API void set_pcall_callback(pcall_callback_fun e); + LUABIND_API pcall_callback_fun get_pcall_callback(); +} + +#endif // LUABIND_ERROR_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/error_callback_fun.hpp b/external/sources/luabind-oberon00-49814f6/luabind/error_callback_fun.hpp new file mode 100644 index 0000000000..e9e3b5092d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/error_callback_fun.hpp @@ -0,0 +1,44 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef INCLUDED_error_callback_fun_hpp_GUID_1150976a_4348_495f_99ce_9d7edd00a0b8 +#define INCLUDED_error_callback_fun_hpp_GUID_1150976a_4348_495f_99ce_9d7edd00a0b8 + +// Internal Includes +#include + +// Library/third-party includes +#include + +// Standard includes +// - none + +namespace luabind +{ + class type_id; + + typedef void(*error_callback_fun)(lua_State*); + typedef void(*cast_failed_callback_fun)(lua_State*, type_id const&); + typedef int(*pcall_callback_fun)(lua_State*); +} + +#endif // INCLUDED_error_callback_fun_hpp_GUID_1150976a_4348_495f_99ce_9d7edd00a0b8 diff --git a/external/sources/luabind-oberon00-49814f6/luabind/exception_handler.hpp b/external/sources/luabind-oberon00-49814f6/luabind/exception_handler.hpp new file mode 100644 index 0000000000..de8525c97c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/exception_handler.hpp @@ -0,0 +1,99 @@ +// Copyright Daniel Wallin 2005. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_EXCEPTION_HANDLER_050601_HPP +# define LUABIND_EXCEPTION_HANDLER_050601_HPP + +# include // for LUABIND_API + +# include // for optional +# include + +# include + +namespace luabind { + +# ifndef LUABIND_NO_EXCEPTIONS + +namespace detail +{ + + struct LUABIND_API exception_handler_base + { + exception_handler_base() + : next(0) + {} + + virtual ~exception_handler_base() {} + virtual void handle(lua_State*) const = 0; + + void try_next(lua_State*) const; + + exception_handler_base* next; + }; + + + template + struct exception_handler : exception_handler_base + { + typedef E const& argument; + + exception_handler(Handler handler_) + : handler(handler_) + {} + + void handle(lua_State* L) const + { + try + { + try_next(L); + } + catch (argument e) + { + handler(L, e); + } + } + + Handler handler; + }; + + LUABIND_API void handle_exception_aux(lua_State* L); + LUABIND_API void register_exception_handler(exception_handler_base*); + +} // namespace detail + +# endif + +template +void register_exception_handler(Handler handler, boost::type* = 0) +{ +# ifndef LUABIND_NO_EXCEPTIONS + detail::register_exception_handler( + new detail::exception_handler(handler) + ); +# endif +} + +template +boost::optional handle_exceptions(lua_State* L, F fn, boost::type* = 0) +{ +# ifndef LUABIND_NO_EXCEPTIONS + try + { + return fn(); + } + catch (...) + { + detail::handle_exception_aux(L); + } + + return boost::optional(); +# else + return fn(); +# endif +} + +} // namespace luabind + +#endif // LUABIND_EXCEPTION_HANDLER_050601_HPP diff --git a/external/sources/luabind-0.7.1/luabind/from_stack.hpp b/external/sources/luabind-oberon00-49814f6/luabind/from_stack.hpp old mode 100755 new mode 100644 similarity index 92% rename from external/sources/luabind-0.7.1/luabind/from_stack.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/from_stack.hpp index 56bc268d8f..f891387ad7 --- a/external/sources/luabind-0.7.1/luabind/from_stack.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/from_stack.hpp @@ -23,13 +23,15 @@ #ifndef LUABIND_FROM_STACK_050715_HPP #define LUABIND_FROM_STACK_050715_HPP +#include + namespace luabind { struct from_stack { - from_stack(lua_State* interpreter, int index) - : interpreter(interpreter) - , index(index) + from_stack(lua_State* L, int idx) + : interpreter(L) + , index(idx) {} lua_State* interpreter; @@ -39,4 +41,3 @@ struct from_stack } // namespace luabind #endif // LUABIND_FROM_STACK_050715_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/function.hpp b/external/sources/luabind-oberon00-49814f6/luabind/function.hpp new file mode 100644 index 0000000000..48b8463af8 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/function.hpp @@ -0,0 +1,59 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_FUNCTION2_081014_HPP +# define LUABIND_FUNCTION2_081014_HPP + +# include +# include +# include + +namespace luabind { + +namespace detail +{ + + template + struct function_registration : registration + { + function_registration(char const* name_, F f_, Policies const& policies_) + : name(name_) + , f(f_) + , policies(policies_) + {} + + void register_(lua_State* L) const + { + object fn = make_function(L, f, deduce_signature(f), policies); + + add_overload( + object(from_stack(L, -1)) + , name + , fn + ); + } + + char const* name; + F f; + Policies policies; + }; + +} // namespace detail + +template +scope def(char const* name, F f, Policies const& policies) +{ + return scope(std::auto_ptr( + new detail::function_registration(name, f, policies))); +} + +template +scope def(char const* name, F f) +{ + return def(name, f, detail::null_type()); +} + +} // namespace luabind + +#endif // LUABIND_FUNCTION2_081014_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/function_converter.hpp b/external/sources/luabind-oberon00-49814f6/luabind/function_converter.hpp new file mode 100644 index 0000000000..a762e13dd0 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/function_converter.hpp @@ -0,0 +1,154 @@ +// Copyright Christian Neumüller 2013. Use, modification and distribution is +// subject to 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) + +#if !BOOST_PP_IS_ITERATING + +# ifndef LUABIND_FUNCTION_CONVERTER_HPP_INCLUDED +# define LUABIND_FUNCTION_CONVERTER_HPP_INCLUDED + +# include +# include +# include +# include + +# include + +namespace luabind { + + template + struct function + { + typedef R result_type; + + function(luabind::object const& obj) + : m_func(obj) + { + } + + R operator() () + { + return call_function(m_func); + } + +# define BOOST_PP_ITERATION_LIMITS (1, LUABIND_MAX_ARITY) +# define BOOST_PP_FILENAME_1 // include self +# include BOOST_PP_ITERATE() + + private: + object m_func; + }; + + template <> + struct function + { + typedef void result_type; + + function(luabind::object const& obj) + : m_func(obj) + { + } + + void operator() () + { + call_function(m_func); + } + +# define VOID_SPEC +# define BOOST_PP_ITERATION_LIMITS (1, LUABIND_MAX_ARITY) +# define BOOST_PP_FILENAME_1 // include self +# include BOOST_PP_ITERATE() +# undef VOID_SPEC + + private: + luabind::object m_func; + }; + + template + struct default_converter >::type> + { + typedef boost::mpl::true_ is_native; + + int consumed_args() const + { + return 1; + } + + template + void converter_postcall(lua_State*, U const&, int) + {} + + template + static int match(lua_State* L, U, int index) + { + if (lua_type(L, index) == LUA_TFUNCTION) + return 0; + if (luaL_getmetafield(L, index, "__call")) { + lua_pop(L, 1); + return 1; + } + return -1; + } + + template + F apply(lua_State* L, U, int index) + { + // If you get a compiler error here, you are probably trying to + // get a function pointer from Lua. This is not supported: + // you must use a type which is constructible from a + // luabind::function, e.g. std::function or boost::function. + return function( + object(from_stack(L, index))); + } + + void apply(lua_State* L, F value) + { + make_function(L, value).push(L); + } + }; +} // namespace luabind + +# endif // LUABIND_FUNCTION_CONVERTER_HPP_INCLUDED + +#else // !BOOST_PP_IS_ITERATING + +# define N BOOST_PP_ITERATION() + +# define TMPL_PARAMS BOOST_PP_ENUM_PARAMS(N, typename A) +# ifndef LUABIND_NO_RVALUE_REFERENCES +# define TYPED_ARGS BOOST_PP_ENUM_BINARY_PARAMS(N, A, && a) +# else +# define TYPED_ARGS BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) +# endif +# ifndef LUABIND_NO_RVALUE_REFERENCES +# define PRINT_FORWARD_ARG(z, n, _) std::forward(BOOST_PP_CAT(a, n)) +# define TRAILING_ARGS BOOST_PP_ENUM_TRAILING(N, PRINT_FORWARD_ARG, ~) +# else +# define TRAILING_ARGS BOOST_PP_ENUM_TRAILING_PARAMS(N, a) +# endif + +# ifdef VOID_SPEC + + template + void operator() (TYPED_ARGS) + { + luabind::call_function(m_func TRAILING_ARGS); + } + +# else + + template + R operator() (TYPED_ARGS) + { + return luabind::call_function(m_func TRAILING_ARGS); + } + +# endif + +# undef TMPL_PARAMS +# undef TYPED_ARGS +# undef TRAILING_ARGS +# undef N + +#endif // BOOST_PP_IS_ITERATING diff --git a/external/sources/luabind-oberon00-49814f6/luabind/function_introspection.hpp b/external/sources/luabind-oberon00-49814f6/luabind/function_introspection.hpp new file mode 100644 index 0000000000..72d33d1ab0 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/function_introspection.hpp @@ -0,0 +1,55 @@ +/** @file + @brief Header + + @date 2012 + + @author + Ryan Pavlik + and + http://academic.cleardefinition.com/ + Iowa State University Virtual Reality Applications Center + Human-Computer Interaction Graduate Program +*/ + +// Copyright Iowa State University 2012. +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#pragma once +#ifndef INCLUDED_function_introspection_hpp_GUID_b55783e7_e6da_4816_925e_9256245c1065 +#define INCLUDED_function_introspection_hpp_GUID_b55783e7_e6da_4816_925e_9256245c1065 + +// Internal Includes +#include + +// Library/third-party includes +#include + +// Standard includes +// - none + + +namespace luabind { + + LUABIND_API int bind_function_introspection(lua_State * L); + +} // end of namespace luabind + +#endif // INCLUDED_function_introspection_hpp_GUID_b55783e7_e6da_4816_925e_9256245c1065 diff --git a/external/sources/luabind-oberon00-49814f6/luabind/get_main_thread.hpp b/external/sources/luabind-oberon00-49814f6/luabind/get_main_thread.hpp new file mode 100644 index 0000000000..9f0a617f26 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/get_main_thread.hpp @@ -0,0 +1,18 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_GET_MAIN_THREAD_090321_HPP +# define LUABIND_GET_MAIN_THREAD_090321_HPP + +# include + +# include + +namespace luabind { + +LUABIND_API lua_State* get_main_thread(lua_State* L); + +} // namespace luabind + +#endif // LUABIND_GET_MAIN_THREAD_090321_HPP diff --git a/external/sources/luabind-0.7.1/luabind/get_pointer.hpp b/external/sources/luabind-oberon00-49814f6/luabind/get_pointer.hpp old mode 100755 new mode 100644 similarity index 99% rename from external/sources/luabind-0.7.1/luabind/get_pointer.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/get_pointer.hpp index b9aae48a7e..eb2847d34f --- a/external/sources/luabind-0.7.1/luabind/get_pointer.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/get_pointer.hpp @@ -36,4 +36,3 @@ using boost::get_pointer; } // namespace luabind #endif // LUABIND_GET_POINTER_051023_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/handle.hpp b/external/sources/luabind-oberon00-49814f6/luabind/handle.hpp new file mode 100644 index 0000000000..80facf0782 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/handle.hpp @@ -0,0 +1,178 @@ +// Copyright (c) 2005 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_HANDLE_050420_HPP +#define LUABIND_HANDLE_050420_HPP + +#include + +#include + +#include + +#include +#include + +namespace luabind { + +// A reference to a Lua value. Represents an entry in the +// registry table. +class handle +{ +public: + handle(); + handle(lua_State* L, int stack_index); + handle(lua_State* main, lua_State* L, int stack_index); + handle(handle const& other); + ~handle(); + + handle& operator=(handle const& other); + void swap(handle& other); + + void push(lua_State* L) const; + + lua_State* interpreter() const; + bool is_valid() const; + + void replace(lua_State* L, int stack_index); + void pop(lua_State* L); + void reset(); + +private: + lua_State* m_interpreter; + int m_index; +}; + +inline handle::handle() + : m_interpreter(0) + , m_index(LUA_NOREF) +{} + +inline handle::handle(handle const& other) + : m_interpreter(other.m_interpreter) + , m_index(LUA_NOREF) +{ + if (m_interpreter == 0) return; + other.push(m_interpreter); + m_index = luaL_ref(m_interpreter, LUA_REGISTRYINDEX); +} + +inline handle::handle(lua_State* L, int stack_index) + : m_interpreter(L) + , m_index(LUA_NOREF) +{ + lua_pushvalue(L, stack_index); + m_index = luaL_ref(L, LUA_REGISTRYINDEX); +} + +inline handle::handle(lua_State* main, lua_State* L, int stack_index) + : m_interpreter(main) + , m_index(LUA_NOREF) +{ + lua_pushvalue(L, stack_index); + m_index = luaL_ref(L, LUA_REGISTRYINDEX); +} + +inline handle::~handle() +{ + if (is_valid()) + luaL_unref(m_interpreter, LUA_REGISTRYINDEX, m_index); +} + +inline handle& handle::operator=(handle const& other) +{ + handle(other).swap(*this); + return *this; +} + +inline void handle::swap(handle& other) +{ + std::swap(m_interpreter, other.m_interpreter); + std::swap(m_index, other.m_index); +} + +inline void handle::push(lua_State* L) const +{ + lua_rawgeti(L, LUA_REGISTRYINDEX, m_index); +} + +inline lua_State* handle::interpreter() const +{ + return m_interpreter; +} + +inline bool handle::is_valid() const +{ + if (m_index == LUA_NOREF) { + assert(!m_interpreter); + return false; + } else { + assert(m_interpreter); + return true; + } +} + +inline void handle::replace(lua_State* L, int stack_index) +{ + lua_pushvalue(L, stack_index); + lua_rawseti(L, LUA_REGISTRYINDEX, m_index); +} + +inline void handle::reset() +{ + if (is_valid()) { + luaL_unref(m_interpreter, LUA_REGISTRYINDEX, m_index); + m_index = LUA_NOREF; + } +} + +inline void handle::pop(lua_State* L) +{ + reset(); + m_interpreter = L; + m_index = luaL_ref(L, LUA_REGISTRYINDEX); +} + +template<> +struct value_wrapper_traits +{ + typedef boost::mpl::true_ is_specialized; + + static lua_State* interpreter(handle const& value) + { + return value.interpreter(); + } + + static void unwrap(lua_State* L, handle const& value) + { + value.push(L); + } + + static bool check(...) + { + return true; + } +}; + +} // namespace luabind + +#endif // LUABIND_HANDLE_050420_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/intrusive_ptr_converter.hpp b/external/sources/luabind-oberon00-49814f6/luabind/intrusive_ptr_converter.hpp new file mode 100644 index 0000000000..12cd80123f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/intrusive_ptr_converter.hpp @@ -0,0 +1,64 @@ +// Copyright Chsritian Neumüller 2013. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_INTRUSIVE_PTR_CONVERTER_HPP_INCLUDED +#define LUABIND_INTRUSIVE_PTR_CONVERTER_HPP_INCLUDED + +#include +#include +#include + +#include +#include + +namespace luabind { +namespace detail { + template +struct intrusive_ptr_converter + : default_converter +{ +private: + typedef P ptr_t; + typedef typename ptr_t::element_type* rawptr_t; + +public: + typedef mpl::false_ is_native; + + template + int match(lua_State* L, U, int index) + { + return default_converter::match( + L, LUABIND_DECORATE_TYPE(rawptr_t), index); + } + + template + ptr_t apply(lua_State* L, U, int index) + { + rawptr_t raw_ptr = default_converter::apply( + L, LUABIND_DECORATE_TYPE(rawptr_t), index); + return ptr_t(raw_ptr); + } + + void apply(lua_State* L, ptr_t const& p) + { + detail::value_converter().apply(L, p); + } + + template + void converter_postcall(lua_State*, U const&, int) + {} +}; +} // namespace detail + +template +struct default_converter >: + detail::intrusive_ptr_converter > {}; + +template +struct default_converter const&>: + detail::intrusive_ptr_converter > {}; + +} // namespace luabind + +#endif // LUABIND_INTRUSIVE_PTR_CONVERTER_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/iterator_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/iterator_policy.hpp new file mode 100644 index 0000000000..c023d490a2 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/iterator_policy.hpp @@ -0,0 +1,131 @@ +// Copyright Daniel Wallin 2007. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_ITERATOR_POLICY_071111_HPP +# define LUABIND_ITERATOR_POLICY_071111_HPP + +# include // for LUABIND_ANONYMOUS_FIX +# include // for convert_to_lua +# include // for index_map, etc + +# include // for operator new + +namespace luabind { namespace detail { + +struct null_type; + +template +struct iterator +{ + static int next(lua_State* L) + { + iterator* self = static_cast( + lua_touserdata(L, lua_upvalueindex(1))); + + if (self->first != self->last) + { + convert_to_lua(L, *self->first); + ++self->first; + } + else + { + lua_pushnil(L); + } + + return 1; + } + + static int destroy(lua_State* L) + { + iterator* self = static_cast(lua_touserdata(L, 1)); + self->~iterator(); + (void)self; // MSVC warns about self not being referenced. + return 0; + } + + iterator(Iterator first_, Iterator last_) + : first(first_) + , last(last_) + {} + + Iterator first; + Iterator last; +}; + +template +int make_range(lua_State* L, Iterator first, Iterator last) +{ + void* storage = lua_newuserdata(L, sizeof(iterator)); + lua_createtable(L, 0, 1); + lua_pushcclosure(L, iterator::destroy, 0); + lua_setfield(L, -2, "__gc"); + lua_setmetatable(L, -2); + lua_pushcclosure(L, iterator::next, 1); + new (storage) iterator(first, last); + return 1; +} + +template +int make_range(lua_State* L, Container& container) +{ + return make_range(L, container.begin(), container.end()); +} + +template +int make_range(lua_State* L, Container* container) +{ + // Monkey patched method lol + return make_range(L, container->begin(), container->end()); +} + +struct iterator_converter +{ + typedef iterator_converter type; + + template + void apply(lua_State* L, Container& container) + { + make_range(L, container); + } + + template + void apply(lua_State* L, Container const& container) + { + make_range(L, container); + } +}; + +struct iterator_policy : conversion_policy<0> +{ + static void precall(lua_State*, index_map const&) + {} + + static void postcall(lua_State*, index_map const&) + {} + + template + struct apply + { + typedef iterator_converter type; + }; +}; + +}} // namespace luabind::detail + +namespace luabind { + + detail::policy_cons const + return_stl_iterator = {}; + + namespace detail + { + inline void ignore_unused_return_stl_iterator() + { + (void)return_stl_iterator; + } + } + +} // namespace luabind + +#endif // LUABIND_ITERATOR_POLICY__071111_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/lua_include.hpp b/external/sources/luabind-oberon00-49814f6/luabind/lua_include.hpp new file mode 100644 index 0000000000..79068149e2 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/lua_include.hpp @@ -0,0 +1,87 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_LUA_INCLUDE_HPP_INCLUDED +#define LUABIND_LUA_INCLUDE_HPP_INCLUDED + +#include + +#ifndef LUABIND_CPLUSPLUS_LUA +extern "C" +{ +#endif + + #include "lua.h" + #include "lauxlib.h" + +#ifndef LUABIND_CPLUSPLUS_LUA +} +#endif + +#if LUA_VERSION_NUM < 502 + +# define lua_compare(L, index1, index2, fn) fn(L, index1, index2) +# define LUA_OPEQ lua_equal +# define LUA_OPLT lua_lessthan +# define lua_rawlen lua_objlen +# define lua_pushglobaltable(L) lua_pushvalue(L, LUA_GLOBALSINDEX) +# define lua_getuservalue lua_getfenv +# define lua_setuservalue lua_setfenv +# define LUA_OK 0 + +namespace luabind { namespace detail { + +inline bool is_relative_index(int idx) +{ + return idx < 0 && idx > LUA_REGISTRYINDEX; +} + +} } // namespace apollo::detail + +LUABIND_API char const* luaL_tolstring(lua_State* L, int idx, size_t* len); + +inline int lua_absindex(lua_State* L, int idx) +{ + return luabind::detail::is_relative_index(idx) ? + lua_gettop(L) + idx + 1 : idx; +} + +inline void lua_rawsetp(lua_State* L, int t, void const* k) +{ + lua_pushlightuserdata(L, const_cast(k)); + lua_insert(L, -2); // Move key beneath value. + if (luabind::detail::is_relative_index(t)) + t -= 1; // Adjust for pushed k. + lua_rawset(L, t); +} + +inline void lua_rawgetp(lua_State* L, int t, void const* k) +{ + lua_pushlightuserdata(L, const_cast(k)); + if (luabind::detail::is_relative_index(t)) + t -= 1; // Adjust for pushed k. + lua_rawget(L, t); +} + +#endif + +#endif // LUABIND_LUA_INCLUDE_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/lua_state_fwd.hpp b/external/sources/luabind-oberon00-49814f6/luabind/lua_state_fwd.hpp new file mode 100644 index 0000000000..bdcba66752 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/lua_state_fwd.hpp @@ -0,0 +1,37 @@ +// Copyright (c) 2005 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_LUA_STATE_FWD_HPP +#define LUABIND_LUA_STATE_FWD_HPP + +#ifndef LUABIND_CPLUSPLUS_LUA +extern "C" +{ +#endif + +struct lua_State; + +#ifndef LUABIND_CPLUSPLUS_LUA +} +#endif + +#endif // LUABIND_BACK_REFERENCE_FWD_040510_HPP diff --git a/external/sources/luabind-0.7.1/luabind/luabind.hpp b/external/sources/luabind-oberon00-49814f6/luabind/luabind.hpp similarity index 100% rename from external/sources/luabind-0.7.1/luabind/luabind.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/luabind.hpp index 82298484c9..ecb3ea96c6 100644 --- a/external/sources/luabind-0.7.1/luabind/luabind.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/luabind.hpp @@ -24,8 +24,8 @@ #ifndef LUABIND_BIND_HPP_INCLUDED #define LUABIND_BIND_HPP_INCLUDED -#include #include +#include #include #include diff --git a/external/sources/luabind-oberon00-49814f6/luabind/make_function.hpp b/external/sources/luabind-oberon00-49814f6/luabind/make_function.hpp new file mode 100644 index 0000000000..ac26b5c183 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/make_function.hpp @@ -0,0 +1,123 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_MAKE_FUNCTION_081014_HPP +# define LUABIND_MAKE_FUNCTION_081014_HPP + +# include +# include +# include +# include +# include +# include + +namespace luabind { + +namespace detail +{ + LUABIND_API bool is_luabind_function(lua_State* L, int index); + +// MSVC complains about member being sensitive to alignment (C4121) +// when F is a pointer to member of a class with virtual bases. +# ifdef BOOST_MSVC +# pragma pack(push) +# pragma pack(16) +# endif + + template + struct function_object_impl : function_object + { + function_object_impl(F f_, Policies const& policies_) + : function_object(&entry_point) + , f(f_) + , policies(policies_) + {} + + int call(lua_State* L, invoke_context& ctx) const + { + return invoke(L, *this, ctx, f, Signature(), policies); + } + + void format_signature(lua_State* L, char const* function) const + { + detail::format_signature(L, function, Signature()); + } + + static int entry_point(lua_State* L) + { + function_object_impl const* impl = + *static_cast( + lua_touserdata(L, lua_upvalueindex(1))); + + int results = 0; + bool error = false; + +# ifndef LUABIND_NO_EXCEPTIONS + try +#endif + // Scope neeeded to destroy invoke_context before calling lua_error() + { + invoke_context ctx; + results = invoke( + L, *impl, ctx, impl->f, Signature(), impl->policies); + if (!ctx) + { + ctx.format_error(L, impl); + error = true; + } + } +#ifndef LUABIND_NO_EXCEPTIONS + catch (...) + { + error = true; + handle_exception_aux(L); + } +#endif + + if (error) { + assert(results >= 0); + return lua_error(L); + } + if (results < 0) { + return lua_yield(L, -results - 1); + } + return results; + } + + F f; + Policies policies; + }; + +# ifdef BOOST_MSVC +# pragma pack(pop) +# endif + + LUABIND_API object make_function_aux( + lua_State* L, function_object* impl + ); + + LUABIND_API void add_overload(object const&, char const*, object const&); + +} // namespace detail + +template +object make_function(lua_State* L, F f, Signature, Policies) +{ + return detail::make_function_aux( + L + , new detail::function_object_impl( + f, Policies() + ) + ); +} + +template +object make_function(lua_State* L, F f) +{ + return make_function(L, f, detail::deduce_signature(f), detail::null_type()); +} + +} // namespace luabind + +#endif // LUABIND_MAKE_FUNCTION_081014_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/meson.build b/external/sources/luabind-oberon00-49814f6/luabind/meson.build new file mode 100644 index 0000000000..5143cb380e --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/meson.build @@ -0,0 +1,84 @@ +luabind_src += files( +'adopt_policy.hpp', +'back_reference.hpp', +'back_reference_fwd.hpp', +'class.hpp', +'class_info.hpp', +'config.hpp', +'container_policy.hpp', +'copy_policy.hpp', +'dependency_policy.hpp', +'detail/call.hpp', +'detail/call_function.hpp', +'detail/call_member.hpp', +'detail/call_operator_iterate.hpp', +'detail/class_registry.hpp', +'detail/class_rep.hpp', +'detail/constructor.hpp', +'detail/convert_to_lua.hpp', +'detail/debug.hpp', +'detail/decorate_type.hpp', +'detail/deduce_signature.hpp', +'detail/enum_maker.hpp', +'detail/format_signature.hpp', +'detail/garbage_collector.hpp', +'detail/has_get_pointer.hpp', +'detail/inheritance.hpp', +'detail/instance_holder.hpp', +'detail/link_compatibility.hpp', +'detail/make_instance.hpp', +'detail/most_derived.hpp', +'detail/object.hpp', +'detail/object_call.hpp', +'detail/object_rep.hpp', +'detail/operator_id.hpp', +'detail/other.hpp', +'detail/pcall.hpp', +'detail/pointee_sizeof.hpp', +'detail/policy.hpp', +'detail/primitives.hpp', +'detail/property.hpp', +'detail/signature_match.hpp', +'detail/stack_utils.hpp', +'detail/typetraits.hpp', +'detail/yes_no.hpp', +'discard_result_policy.hpp', +'error.hpp', +'error_callback_fun.hpp', +'exception_handler.hpp', +'from_stack.hpp', +'function.hpp', +'function_converter.hpp', +'function_introspection.hpp', +'get_main_thread.hpp', +'get_pointer.hpp', +'handle.hpp', +'intrusive_ptr_converter.hpp', +'iterator_policy.hpp', +'lua_include.hpp', +'lua_state_fwd.hpp', +'luabind.hpp', +'make_function.hpp', +'nil.hpp', +'no_dependency.hpp', +'object.hpp', +'object_fwd.hpp', +'open.hpp', +'operator.hpp', +'out_value_policy.hpp', +'prefix.hpp', +'raw_policy.hpp', +'return_reference_to_policy.hpp', +'scope.hpp', +'set_package_preload.hpp', +'shared_ptr_converter.hpp', +'stack.hpp', +'std_shared_ptr_converter.hpp', +'tag_function.hpp', +'typeid.hpp', +'value_wrapper.hpp', +'version.hpp', +'weak_ref.hpp', +'wrapper_base.hpp', +'yield_policy.hpp', +) diff --git a/external/sources/luabind-0.7.1/luabind/nil.hpp b/external/sources/luabind-oberon00-49814f6/luabind/nil.hpp similarity index 96% rename from external/sources/luabind-0.7.1/luabind/nil.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/nil.hpp index 5f9ba4db1b..63cce92c26 100644 --- a/external/sources/luabind-0.7.1/luabind/nil.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/nil.hpp @@ -33,8 +33,7 @@ namespace luabind } // defined in class.cpp - extern LUABIND_API detail::nil_type nil; + LUABIND_API extern detail::nil_type nil; } #endif - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/no_dependency.hpp b/external/sources/luabind-oberon00-49814f6/luabind/no_dependency.hpp new file mode 100644 index 0000000000..f849be8bfe --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/no_dependency.hpp @@ -0,0 +1,43 @@ +// Copyright Daniel Wallin 2010. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_NO_DEPENDENCY_100324_HPP +# define LUABIND_NO_DEPENDENCY_100324_HPP + +# include + +namespace luabind { + +namespace detail +{ + + struct no_dependency_policy + { + static void precall(lua_State*, index_map const&) + {} + + static void postcall(lua_State*, index_map const&) + {} + }; + + typedef policy_cons + no_dependency_node; + +} // namespace detail + +detail::no_dependency_node const no_dependency = {}; + +namespace detail +{ + + inline void ignore_unused_no_dependency() + { + (void)no_dependency; + } + +} // namespace detail + +} // namespace luabind + +#endif // LUABIND_NO_DEPENDENCY_100324_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/object.hpp b/external/sources/luabind-oberon00-49814f6/luabind/object.hpp new file mode 100644 index 0000000000..5659486e57 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/object.hpp @@ -0,0 +1,30 @@ +// Copyright (c) 2005 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_OBJECT_HPP +#define LUABIND_OBJECT_HPP + +#include +#include + +#endif // LUABIND_OBJECT_HPP + diff --git a/external/sources/luabind-oberon00-49814f6/luabind/object_fwd.hpp b/external/sources/luabind-oberon00-49814f6/luabind/object_fwd.hpp new file mode 100644 index 0000000000..dc82696168 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/object_fwd.hpp @@ -0,0 +1,15 @@ +#ifndef LUABIND_OBJECT_FWD_050419_HPP +#define LUABIND_OBJECT_FWD_050419_HPP + +namespace luabind { + namespace adl { + class object; + class argument; + template struct table; + } // namespace adl + using adl::object; + using adl::argument; + using adl::table; +} // namespace luabind + +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/open.hpp b/external/sources/luabind-oberon00-49814f6/luabind/open.hpp new file mode 100644 index 0000000000..5b65961142 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/open.hpp @@ -0,0 +1,37 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_OPEN_HPP_INCLUDED +#define LUABIND_OPEN_HPP_INCLUDED + +#include + +#include + +namespace luabind { + + LUABIND_API void open(lua_State* L); + +} + +#endif // LUABIND_OPEN_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/operator.hpp b/external/sources/luabind-oberon00-49814f6/luabind/operator.hpp old mode 100755 new mode 100644 similarity index 91% rename from external/sources/luabind-0.7.1/luabind/operator.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/operator.hpp index e62490a4ba..c1b0f477f2 --- a/external/sources/luabind-0.7.1/luabind/operator.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/operator.hpp @@ -23,12 +23,17 @@ #ifndef OPERATOR_040729_HPP #define OPERATOR_040729_HPP +#include +#include + +#include #include #include -#include +#include +#include +#include +#include #include -#include -#include #if defined(__GNUC__) && __GNUC__ < 3 # define LUABIND_NO_STRINGSTREAM @@ -51,22 +56,22 @@ namespace luabind { namespace detail { struct operator_void_return {}; -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) template inline T const& operator,(T const& x, operator_void_return) { return x; } -#endif - + }} // namespace luabind +#include + namespace luabind { namespace operators { #define BOOST_PP_ITERATION_PARAMS_1 (3, \ (0, LUABIND_MAX_ARITY, )) #include BOOST_PP_ITERATE() - + }} // namespace luabind::operators #include @@ -80,7 +85,7 @@ namespace luabind { { return 0; } - + #define BOOST_PP_LOCAL_MACRO(n) \ template \ BOOST_PP_CAT(operators::call_operator, n)< \ @@ -124,13 +129,13 @@ namespace detail { }; template - struct binary_operator + struct binary_operator : operator_ > { binary_operator(int) {} template - struct apply + struct apply { typedef typename unwrap_parameter_type::type arg0; typedef typename unwrap_parameter_type::type arg1; @@ -149,11 +154,11 @@ namespace detail { }; template - struct unary_operator + struct unary_operator : operator_ > { unary_operator(int) {} - + template struct apply { @@ -172,7 +177,7 @@ namespace detail { }; template - inline void operator_result(lua_State* L, operator_void_return, Policies*) + inline void operator_result(lua_State*, operator_void_return, Policies*) { } @@ -205,7 +210,7 @@ namespace luabind { { \ static void execute(lua_State* L, T0 _0, T1 _1) \ { \ - detail::operator_result(L, _0 op _1, (Policies*)0); \ + detail::operator_result(L, _0 op _1, static_cast(0)); \ } \ }; \ \ @@ -283,12 +288,13 @@ namespace luabind { LUABIND_BINARY_OPERATOR(sub, -) LUABIND_BINARY_OPERATOR(mul, *) LUABIND_BINARY_OPERATOR(div, /) + LUABIND_BINARY_OPERATOR(mod, %) LUABIND_BINARY_OPERATOR(pow, ^) LUABIND_BINARY_OPERATOR(lt, <) LUABIND_BINARY_OPERATOR(le, <=) LUABIND_BINARY_OPERATOR(eq, ==) -#undef LUABIND_UNARY_OPERATOR +#undef LUABIND_BINARY_OPERATOR #define LUABIND_UNARY_OPERATOR(name_, op, fn) \ namespace operators { \ @@ -300,7 +306,7 @@ namespace luabind { { \ static void execute(lua_State* L, T x) \ { \ - detail::operator_result(L, op(x), (Policies*)0); \ + detail::operator_result(L, op(x), static_cast(0)); \ } \ }; \ \ @@ -333,21 +339,16 @@ namespace luabind { s << x; #endif return s.str(); - }; - + } + LUABIND_UNARY_OPERATOR(tostring, tostring_operator, tostring) LUABIND_UNARY_OPERATOR(unm, -, operator-) -#undef LUABIND_BINARY_OPERATOR - - namespace { - - LUABIND_ANONYMOUS_FIX self_type self; - LUABIND_ANONYMOUS_FIX const_self_type const_self; +#undef LUABIND_UNARY_OPERATOR - } // namespace unnamed - + // defined in operator.cpp + LUABIND_API extern self_type self; + LUABIND_API extern const_self_type const_self; } // namespace luabind #endif // OPERATOR_040729_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/out_value_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/out_value_policy.hpp new file mode 100644 index 0000000000..ff8290133a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/out_value_policy.hpp @@ -0,0 +1,342 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_OUT_VALUE_POLICY_HPP_INCLUDED +#define LUABIND_OUT_VALUE_POLICY_HPP_INCLUDED + +#include +#include // for LUABIND_DECORATE_TYPE +#include // for find_conversion_policy, etc +#include // for by_pointer, by_reference, etc +#include // for is_nonconst_pointer, is_nonconst_reference, etc + +#include // for apply_wrap2 +#include +#include // for if_ +#include // for or_ +#include // for is_same + +#include // for operator new + +namespace luabind { namespace detail +{ + namespace mpl = boost::mpl; + + template + struct char_array + { + char storage[N]; + }; + +#if defined(__GNUC__) && ( __GNUC__ == 3 && __GNUC_MINOR__ == 1 ) + + template + char_array indirect_sizeof_test(by_reference); + + template + char_array indirect_sizeof_test(by_const_reference); + + template + char_array indirect_sizeof_test(by_pointer); + + template + char_array indirect_sizeof_test(by_const_pointer); + + template + char_array indirect_sizeof_test(by_value); + +#else + + template + char_array::type)> + indirect_sizeof_test(by_reference); + + template + char_array::type)> + indirect_sizeof_test(by_const_reference); + + template + char_array::type)> + indirect_sizeof_test(by_pointer); + + template + char_array::type)> + indirect_sizeof_test(by_const_pointer); + + template + char_array::type)> + indirect_sizeof_test(by_value); + +#endif + + template + struct indirect_sizeof + { + BOOST_STATIC_CONSTANT(int, value = sizeof(indirect_sizeof_test(LUABIND_DECORATE_TYPE(T)))); + }; + + template + struct out_value_converter + { + int consumed_args() const + { + return 1; + } + + template + T& apply(lua_State* L, by_reference, int index) + { + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + new (storage) T(converter.apply(L, LUABIND_DECORATE_TYPE(T), index)); + return *storage; +#else + new (m_storage) T(converter.apply(L, LUABIND_DECORATE_TYPE(T), index)); + return *reinterpret_cast(m_storage); +#endif + } + + template + static int match(lua_State* L, by_reference, int index) + { + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typedef typename mpl::apply_wrap2::type converter; + return converter::match(L, LUABIND_DECORATE_TYPE(T), index); + } + + template + void converter_postcall(lua_State* L, by_reference, int) + { + typedef typename find_conversion_policy<2, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + converter.apply(L, *storage); + storage->~T(); +#else + converter.apply(L, *reinterpret_cast(m_storage)); + reinterpret_cast(m_storage)->~T(); +#endif + } + + template + T* apply(lua_State* L, by_pointer, int index) + { + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + new (storage) T(converter.apply(L, LUABIND_DECORATE_TYPE(T), index)); + return storage; +#else + new (m_storage) T(converter.apply(L, LUABIND_DECORATE_TYPE(T), index)); + return reinterpret_cast(m_storage); +#endif + } + + template + static int match(lua_State* L, by_pointer, int index) + { + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typedef typename mpl::apply_wrap2::type converter; + return converter::match(L, LUABIND_DECORATE_TYPE(T), index); + } + + template + void converter_postcall(lua_State* L, by_pointer, int) + { + typedef typename find_conversion_policy<2, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + converter.apply(L, *storage); + storage->~T(); +#else + converter.apply(L, *reinterpret_cast(m_storage)); + reinterpret_cast(m_storage)->~T(); +#endif + } + + char m_storage[Size]; + }; + + template + struct out_value_policy : conversion_policy + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + struct only_accepts_nonconst_references_or_pointers {}; + struct can_only_convert_from_lua_to_cpp {}; + + template + struct apply + { + typedef typename boost::mpl::if_ + , typename boost::mpl::if_, is_nonconst_pointer > + , out_value_converter::value, Policies> + , only_accepts_nonconst_references_or_pointers + >::type + , can_only_convert_from_lua_to_cpp + >::type type; + }; + }; + + template + struct pure_out_value_converter + { + int consumed_args() const + { + return 0; + } + + template + T& apply(lua_State*, by_reference, int) + { +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + new (storage) T(); + return *storage; +#else + new (m_storage) T(); + return *reinterpret_cast(m_storage); +#endif + } + + template + static int match(lua_State*, by_reference, int) + { + return 0; + } + + template + void converter_postcall(lua_State* L, by_reference, int) + { + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + converter.apply(L, *storage); + storage->~T(); +#else + converter.apply(L, *reinterpret_cast(m_storage)); + reinterpret_cast(m_storage)->~T(); +#endif + } + + template + T* apply(lua_State*, by_pointer, int) + { +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + new (storage) T(); + return storage; +#else + new (m_storage) T(); + return reinterpret_cast(m_storage); +#endif + } + + template + static int match(lua_State*, by_pointer, int) + { + return 0; + } + + template + void converter_postcall(lua_State* L, by_pointer, int) + { + typedef typename find_conversion_policy<1, Policies>::type converter_policy; + typename mpl::apply_wrap2::type converter; +#if defined(__GNUC__) && __GNUC__ >= 4 + T* storage = reinterpret_cast(m_storage); + converter.apply(L, *storage); + storage->~T(); +#else + converter.apply(L, *reinterpret_cast(m_storage)); + reinterpret_cast(m_storage)->~T(); +#endif + } + + + char m_storage[Size]; + }; + + template + struct pure_out_value_policy : conversion_policy + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + struct only_accepts_nonconst_references_or_pointers {}; + struct can_only_convert_from_lua_to_cpp {}; + + template + struct apply + { + typedef typename boost::mpl::if_ + , typename boost::mpl::if_, is_nonconst_pointer > + , pure_out_value_converter::value, Policies> + , only_accepts_nonconst_references_or_pointers + >::type + , can_only_convert_from_lua_to_cpp + >::type type; + }; + }; + +}} + +namespace luabind +{ + template + detail::policy_cons, detail::null_type> + out_value(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons, detail::null_type>(); + } + + template + detail::policy_cons, detail::null_type> + out_value(LUABIND_PLACEHOLDER_ARG(N), const Policies&) + { + return detail::policy_cons, detail::null_type>(); + } + + template + detail::policy_cons, detail::null_type> + pure_out_value(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons, detail::null_type>(); + } + + template + detail::policy_cons, detail::null_type> + pure_out_value(LUABIND_PLACEHOLDER_ARG(N), const Policies&) + { + return detail::policy_cons, detail::null_type>(); + } +} + +#endif // LUABIND_OUT_VALUE_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/prefix.hpp b/external/sources/luabind-oberon00-49814f6/luabind/prefix.hpp old mode 100755 new mode 100644 similarity index 99% rename from external/sources/luabind-0.7.1/luabind/prefix.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/prefix.hpp index 86f2db1b5f..61fdf53e0b --- a/external/sources/luabind-0.7.1/luabind/prefix.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/prefix.hpp @@ -28,4 +28,3 @@ #endif #endif // PREFIX_040218_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/raw_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/raw_policy.hpp new file mode 100644 index 0000000000..ac68e8a847 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/raw_policy.hpp @@ -0,0 +1,84 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_RAW_POLICY_HPP_INCLUDED +#define LUABIND_RAW_POLICY_HPP_INCLUDED + +#include +#include + +namespace luabind { namespace detail { + + struct raw_converter + { + int consumed_args() const + { + return 0; + } + + lua_State* apply(lua_State* L, by_pointer, int) + { + return L; + } + + static int match(...) + { + return 0; + } + + void converter_postcall(lua_State*, by_pointer, int) {} + }; + + template + struct raw_policy : conversion_policy + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + + template + struct apply + { + typedef raw_converter type; + }; + }; + +}} // namespace luabind::detail + +namespace luabind { + + template + detail::policy_cons< + detail::raw_policy + , detail::null_type + > + inline raw(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons< + detail::raw_policy + , detail::null_type + >(); + } + +} // namespace luabind + +#endif // LUABIND_RAW_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/return_reference_to_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/return_reference_to_policy.hpp new file mode 100644 index 0000000000..75510afe1d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/return_reference_to_policy.hpp @@ -0,0 +1,79 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef LUABIND_RETURN_REFERENCE_TO_POLICY_HPP_INCLUDED +#define LUABIND_RETURN_REFERENCE_TO_POLICY_HPP_INCLUDED + +#include // for index_map, policy_cons, etc + +#include // for lua_State, lua_pushnil, etc + +namespace luabind { namespace detail +{ + struct cpp_to_lua; + struct null_type; + + template + struct return_reference_to_converter; + + template<> + struct return_reference_to_converter + { + template + void apply(lua_State* L, const T&) + { + lua_pushnil(L); + } + }; + + template + struct return_reference_to_policy : conversion_policy<0> + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State* L, const index_map& indices) + { + int result_index = indices[0]; + int ref_to_index = indices[N]; + + lua_pushvalue(L, ref_to_index); + lua_replace(L, result_index); + } + + template + struct apply + { + typedef return_reference_to_converter type; + }; + }; +}} + +namespace luabind +{ + template + detail::policy_cons, detail::null_type> + return_reference_to(LUABIND_PLACEHOLDER_ARG(N)) + { + return detail::policy_cons, detail::null_type>(); + } +} + +#endif // LUABIND_RETURN_REFERENCE_TO_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-0.7.1/luabind/scope.hpp b/external/sources/luabind-oberon00-49814f6/luabind/scope.hpp old mode 100755 new mode 100644 similarity index 87% rename from external/sources/luabind-0.7.1/luabind/scope.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/scope.hpp index 085ff426fc..afe10cbe6b --- a/external/sources/luabind-0.7.1/luabind/scope.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/scope.hpp @@ -25,12 +25,15 @@ #include #include -#include +#include + +#include + #include -namespace luabind { - - struct scope; +namespace luabind { + + struct scope; } // namespace luabind @@ -60,6 +63,8 @@ namespace luabind { scope(scope const& other_); ~scope(); + scope& operator=(scope const& other_); + scope& operator,(scope s); void register_(lua_State* L) const; @@ -82,14 +87,20 @@ namespace luabind { class LUABIND_API module_ { public: - module_(lua_State* L_, char const* name); + module_(object const& table); + module_(lua_State* L, char const* name); void operator[](scope s); private: - lua_State* m_state; - char const* m_name; + object m_table; }; + inline module_ module(object const& table) + { + return module_(table); + } + + inline module_ module(lua_State* L, char const* name = 0) { return module_(L, name); @@ -98,4 +109,3 @@ namespace luabind { } // namespace luabind #endif // NEW_SCOPE_040211_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/set_package_preload.hpp b/external/sources/luabind-oberon00-49814f6/luabind/set_package_preload.hpp new file mode 100644 index 0000000000..67a6f08d0b --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/set_package_preload.hpp @@ -0,0 +1,70 @@ +/** @file + @brief Header + + @date 2012 + + @author + Ryan Pavlik + and + http://academic.cleardefinition.com/ + Iowa State University Virtual Reality Applications Center + Human-Computer Interaction Graduate Program +*/ + +// Copyright Iowa State University 2012. +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#pragma once +#ifndef INCLUDED_set_package_preload_hpp_GUID_563c882e_86f7_4ea7_8603_4594ea41737e +#define INCLUDED_set_package_preload_hpp_GUID_563c882e_86f7_4ea7_8603_4594ea41737e + +// Internal Includes +#include +#include +#include + +// Library/third-party includes +#include + +// Standard includes +// - none + + +namespace luabind { + LUABIND_API void set_package_preload( + lua_State* L, + char const* modulename, + object const& loader); + + template + void set_package_preload( + lua_State* L, + char const* modulename, + F loader) + { + object f = make_function(L, loader); + // Call add_overload to correctly set the name of f. Inefficiency + // should not matter here. + detail::add_overload(luabind::newtable(L), modulename, f); + set_package_preload(L, modulename, f); + } +} +#endif // INCLUDED_set_package_preload_hpp_GUID_563c882e_86f7_4ea7_8603_4594ea41737e diff --git a/external/sources/luabind-oberon00-49814f6/luabind/shared_ptr_converter.hpp b/external/sources/luabind-oberon00-49814f6/luabind/shared_ptr_converter.hpp new file mode 100644 index 0000000000..0862d7063b --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/shared_ptr_converter.hpp @@ -0,0 +1,185 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_SHARED_PTR_CONVERTER_090211_HPP +# define LUABIND_SHARED_PTR_CONVERTER_090211_HPP + +# include // for LUABIND_DECORATE_TYPE +# include // for default_converter, etc +# include +# include // for get_main_thread +# include // for handle + +# include // for bool_, false_ +# include // for shared_ptr, get_deleter + +namespace luabind { + +namespace mpl = boost::mpl; + +namespace detail +{ + + LUABIND_API extern char state_use_count_tag; + + struct LUABIND_API shared_ptr_deleter + { + shared_ptr_deleter(lua_State* L, int index) + : life_support(get_main_thread(L), L, index) + { + alter_use_count(L, +1); + } + + void operator()(void const*) + { + lua_State* L = life_support.interpreter(); + assert(L); + handle().swap(life_support); + alter_use_count(L, -1); + } + + handle life_support; + + private: + static void alter_use_count(lua_State* L, lua_Integer diff); + }; + + // From http://stackoverflow.com/a/1007175/2128694 + // (by Johannes Schaub - litb, "based on a brilliant idea of someone on + // usenet") + template + struct has_shared_from_this_aux + { + has_shared_from_this_aux(); // not implemented; silence Clang warning + private: + + struct fallback { int shared_from_this; }; // introduce member name + struct derived : T, fallback + { + derived(); // not implemented; silence MSVC warnings C4510 and C4610 + }; + + template struct check; + + template static no_t f( + check*); + template static yes_t f(...); + + public: + BOOST_STATIC_CONSTANT(bool, value = + sizeof(f(0)) == sizeof(yes_t)); + }; + + template + struct has_shared_from_this: + mpl::bool_::value> + {}; + +} // namespace detail + +using boost::get_deleter; + +namespace detail { + +template +struct shared_ptr_converter + : default_converter +{ +private: + typedef P ptr_t; + typedef typename ptr_t::element_type* rawptr_t; + detail::value_converter m_val_cv; + int m_val_score; + + // no shared_from_this() available + ptr_t shared_from_raw(rawptr_t raw, lua_State* L, int index, mpl::false_) + { + return ptr_t(raw, detail::shared_ptr_deleter(L, index)); + } + + // shared_from_this() available. + ptr_t shared_from_raw(rawptr_t raw, lua_State*, int, mpl::true_) + { + return ptr_t(raw->shared_from_this(), raw); + } + +public: + shared_ptr_converter(): m_val_score(-1) {} + + typedef mpl::false_ is_native; + + template + int match(lua_State* L, U, int index) + { + // Check if the value on the stack is a holder with exactly ptr_t + // as pointer type. + m_val_score = m_val_cv.match(L, LUABIND_DECORATE_TYPE(ptr_t), index); + if (m_val_score >= 0) + return m_val_score; + + // Fall back to raw_ptr. + return default_converter::match( + L, LUABIND_DECORATE_TYPE(rawptr_t), index); + } + + template + ptr_t apply(lua_State* L, U, int index) + { + // First, check if we got away without upcasting. + if (m_val_score >= 0) + { + ptr_t ptr = m_val_cv.apply( + L, LUABIND_DECORATE_TYPE(ptr_t), index); + return ptr; + } + + // If not obtain, a raw pointer and construct are shared one from it. + rawptr_t raw_ptr = default_converter::apply( + L, LUABIND_DECORATE_TYPE(rawptr_t), index); + if (!raw_ptr) + return ptr_t(); + + return shared_from_raw( + raw_ptr, L, index, + detail::has_shared_from_this()); + } + + void apply(lua_State* L, ptr_t const& p) + { + if (detail::shared_ptr_deleter* d = + get_deleter(p)) // Rely on ADL. + { + d->life_support.push(L); + } + else + { + m_val_cv.apply(L, p); + } + } + + template + void converter_postcall(lua_State*, U const&, int) + {} +}; +} // namepace detail + +template +struct default_converter >: + detail::shared_ptr_converter > {}; + +template +struct default_converter const&>: + detail::shared_ptr_converter > {}; + +typedef void(*state_unreferenced_fun)(lua_State*); + +LUABIND_API void set_state_unreferenced_callback( + lua_State* L, state_unreferenced_fun cb); +LUABIND_API state_unreferenced_fun get_state_unreferenced_callback( + lua_State* L); +LUABIND_API bool is_state_unreferenced(lua_State* L); + +} // namespace luabind + +#endif // LUABIND_SHARED_PTR_CONVERTER_090211_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/stack.hpp b/external/sources/luabind-oberon00-49814f6/luabind/stack.hpp new file mode 100644 index 0000000000..9a85392015 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/stack.hpp @@ -0,0 +1,178 @@ +#ifndef LUABIND_STACK_HPP_INCLUDED +#define LUABIND_STACK_HPP_INCLUDED + +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace luabind +{ +namespace detail +{ + namespace mpl = boost::mpl; + + template + void push_aux(lua_State* L, T& value, ConverterGenerator*) + { + typedef typename boost::mpl::if_< + boost::is_reference_wrapper + , BOOST_DEDUCED_TYPENAME boost::unwrap_reference::type& + , T + >::type unwrapped_type; + + typename mpl::apply_wrap2< + ConverterGenerator,unwrapped_type,cpp_to_lua + >::type cv; + + cv.apply( + L + , boost::implicit_cast< + BOOST_DEDUCED_TYPENAME boost::unwrap_reference::type& + >(value) + ); + } + +} // namespace detail + +template +void push(lua_State* L, T& value, Policies const&) +{ + typedef typename detail::find_conversion_policy< + 0 + , Policies + >::type converter_policy; + + push_aux(L, value, static_cast(0)); +} + +template +void push(lua_State* L, T& value) +{ + push(L, value, detail::null_type()); +} + +namespace detail +{ + + template< + class T + , class Policies + , class ErrorPolicy + , class ReturnType + > + ReturnType from_lua_aux( + lua_State* L + , int idx + , T* + , Policies* + , ErrorPolicy* + , ReturnType* + ) + { +#ifndef LUABIND_NO_ERROR_CHECKING + if (!L) + return ErrorPolicy::handle_error(L, typeid(void)); +#endif + typedef typename detail::find_conversion_policy< + 0 + , Policies + >::type converter_generator; + + typename mpl::apply_wrap2::type cv; + + if (cv.match(L, LUABIND_DECORATE_TYPE(T), idx) < 0) + { + return ErrorPolicy::handle_error(L, typeid(T)); + } + + return cv.apply(L, LUABIND_DECORATE_TYPE(T), idx); + } + +# ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable:4702) // unreachable code +# endif + + template + struct throw_error_policy + { + static T handle_error(lua_State* L, type_id const& type_info) + { +#ifndef LUABIND_NO_EXCEPTIONS + throw cast_failed(L, type_info); +#else + cast_failed_callback_fun e = get_cast_failed_callback(); + if (e) e(L, type_info); + + assert(0 && "object_cast failed. If you want to handle this error use " + "luabind::set_error_callback()"); + std::terminate(); + return *(typename boost::remove_reference::type*)0; +#endif + } + }; + +# ifdef BOOST_MSVC +# pragma warning(pop) +# endif + + template + struct nothrow_error_policy + { + static boost::optional handle_error(lua_State*, type_id const&) + { + return boost::optional(); + } + }; + +} // namespace detail + + +template +T from_lua(lua_State* L, int idx, Policies const&) +{ + return detail::from_lua_aux( + L + , idx + , static_cast(0) + , static_cast(0) + , static_cast*>(0) + , static_cast(0) + ); +} + +template +T from_lua(lua_State* L, int idx) +{ + return from_lua(L, idx, detail::null_type()); +} + +template +boost::optional from_lua_nothrow(lua_State* L, int idx, Policies const&) +{ + return detail::from_lua_aux( + L + , idx + , static_cast(0) + , static_cast(0) + , static_cast*>(0) + , static_cast*>(0) + ); +} + +template +boost::optional from_lua_nothrow(lua_State* L, int idx) +{ + return from_lua_nothrow(L, idx, detail::null_type()); +} + + +} // namespace luabind + +#endif // LUABIND_STACK_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/std_shared_ptr_converter.hpp b/external/sources/luabind-oberon00-49814f6/luabind/std_shared_ptr_converter.hpp new file mode 100644 index 0000000000..075d30f924 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/std_shared_ptr_converter.hpp @@ -0,0 +1,81 @@ +// Copyright Christian Neumüller 2012. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_STD_SHAREDPTR_CONVERTER_HPP_INCLUDED +#define LUABIND_STD_SHAREDPTR_CONVERTER_HPP_INCLUDED LUABIND_STD_SHAREDPTR_CONVERTER_HPP_INCLUDED + +#include +#if defined(LUABIND_NO_STD_SHARED_PTR) \ + || defined(BOOST_NO_CXX11_SMART_PTR) \ + && !defined(BOOST_HAS_TR1_SHARED_PTR) \ + && (!defined(BOOST_MSVC) || BOOST_MSVC < 1600) +# ifndef LUABIND_NO_STD_SHARED_PTR +# define LUABIND_NO_STD_SHARED_PTR +# endif +#else + +# include +# include // shared_ptr + +# if BOOST_VERSION >= 105300 +# include + +# include + +namespace luabind { namespace detail { namespace has_get_pointer_ { + template + struct impl> { + BOOST_STATIC_CONSTANT(bool, value = true); + typedef boost::mpl::bool_ type; + }; + + template + struct impl>: impl> { }; + + template + struct impl>: impl> { }; + + template + struct impl>: impl> { }; +}} +using boost::get_pointer; +} + + + +# else // if BOOST_VERSION < 105300 + +// Not standard conforming: add function to ::std(::tr1) +namespace std { + +# if defined(_MSC_VER) && _MSC_VER < 1700 +namespace tr1 { +# endif + + template + T * get_pointer(shared_ptr const& p) { return p.get(); } + +# if defined(_MSC_VER) && _MSC_VER < 1700 +} // namespace tr1 +# endif + +} // namespace std + +#endif // if BOOST_VERSION < 105300 / else + +namespace luabind { + using std::get_deleter; + + template + struct default_converter >: + detail::shared_ptr_converter > {}; + + template + struct default_converter const&>: + detail::shared_ptr_converter > {}; +} // namespace luabind + +#endif // if smart pointers are available + +#endif // LUABIND_STD_SHAREDPTR_CONVERTER_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/luabind/tag_function.hpp b/external/sources/luabind-oberon00-49814f6/luabind/tag_function.hpp new file mode 100644 index 0000000000..f0365b2ddc --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/tag_function.hpp @@ -0,0 +1,65 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_TAG_FUNCTION_081129_HPP +# define LUABIND_TAG_FUNCTION_081129_HPP + +# include + +# if LUABIND_MAX_ARITY <= 8 +# include +# else +# include +# endif +# include +# include +# include +# include + +# include + +namespace luabind { + +namespace detail +{ + + struct invoke_context; + struct function_object; + + template + struct tagged_function + { + tagged_function(F f_) + : f(f_) + {} + + F f; + }; + + template + struct signature_aux > + { + typedef Signature type; + }; + + template + int invoke( + lua_State* L, function_object const& self, invoke_context& ctx + , tagged_function const& tagged + , SignatureSeq, Policies const& policies) + { + return invoke(L, self, ctx, tagged.f, SignatureSeq(), policies); + } + +} // namespace detail + +template +detail::tagged_function tag_function(F f) +{ + return f; +} + +} // namespace luabind + +#endif // LUABIND_TAG_FUNCTION_081129_HPP diff --git a/external/sources/luabind-oberon00-49814f6/luabind/typeid.hpp b/external/sources/luabind-oberon00-49814f6/luabind/typeid.hpp new file mode 100644 index 0000000000..a7fd6ca437 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/typeid.hpp @@ -0,0 +1,105 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_TYPEID_081227_HPP +# define LUABIND_TYPEID_081227_HPP + +# include + +# include + +# include +# include +# include +# include + +// boost/units/detail/utility.hpp +# if defined(__GLIBCXX__) || defined(__GLIBCPP__) +# define LUABIND_USE_DEMANGLING +# include +# endif // __GNUC__ + +// See https://svn.boost.org/trac/boost/ticket/754 +# if (defined(__GNUC__) && __GNUC__ >= 3) \ + || defined(_AIX) \ + || (defined(__sgi) && defined(__host_mips)) \ + || (defined(__hpux) && defined(__HP_aCC)) \ + || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC)) +# define LUABIND_SAFE_TYPEID +# endif + +namespace luabind { + +# ifdef BOOST_MSVC +# pragma warning(push) +// std::type_info::before() returns int, rather than bool. +// At least on MSVC7.1, this is true for the comparison +// operators as well. +# pragma warning(disable:4800) +# endif + +class type_id + : boost::less_than_comparable +{ +public: + type_id() + : m_id(&typeid(detail::null_type)) + {} + + type_id(std::type_info const& id) + : m_id(&id) + {} + + bool operator!=(type_id const& other) const + { +# ifdef LUABIND_SAFE_TYPEID + return std::strcmp(m_id->name(), other.m_id->name()) != 0; +# else + return *m_id != *other.m_id; +# endif + } + + bool operator==(type_id const& other) const + { +# ifdef LUABIND_SAFE_TYPEID + return std::strcmp(m_id->name(), other.m_id->name()) == 0; +# else + return *m_id == *other.m_id; +# endif + } + + bool operator<(type_id const& other) const + { +# ifdef LUABIND_SAFE_TYPEID + return std::strcmp(m_id->name(), other.m_id->name()) < 0; +# else + return m_id->before(*other.m_id); +# endif + } + + std::string name() const + { +# ifdef LUABIND_USE_DEMANGLING + int status; + char* buf = abi::__cxa_demangle(m_id->name(), 0, 0, &status); + if (buf != 0) { + std::string demangled_name(buf); + std::free(buf); + return demangled_name; + } +# endif + return m_id->name(); + } + +private: + std::type_info const* m_id; +}; + +# ifdef BOOST_MSVC +# pragma warning(pop) +# endif + +} // namespace luabind + +#endif // LUABIND_TYPEID_081227_HPP diff --git a/external/sources/luabind-0.7.1/luabind/value_wrapper.hpp b/external/sources/luabind-oberon00-49814f6/luabind/value_wrapper.hpp old mode 100755 new mode 100644 similarity index 97% rename from external/sources/luabind-0.7.1/luabind/value_wrapper.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/value_wrapper.hpp index 8e09395d5c..3c8f85d427 --- a/external/sources/luabind-0.7.1/luabind/value_wrapper.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/value_wrapper.hpp @@ -23,25 +23,25 @@ #ifndef LUABIND_VALUE_WRAPPER_050419_HPP #define LUABIND_VALUE_WRAPPER_050419_HPP -#include -#include #include +#include +#include #ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION -# define LUABIND_USE_VALUE_WRAPPER_TAG +# define LUABIND_USE_VALUE_WRAPPER_TAG #else #endif #ifdef LUABIND_USE_VALUE_WRAPPER_TAG -# include +# include # include # include +# include # include -# include # include -# include -# include # include +# include +# include #endif namespace luabind { @@ -53,9 +53,9 @@ namespace luabind { #ifdef LUABIND_USE_VALUE_WRAPPER_TAG template struct value_wrapper_traits; - -namespace detail -{ + +namespace detail +{ BOOST_MPL_HAS_XXX_TRAIT_DEF(value_wrapper_tag); @@ -135,7 +135,7 @@ namespace detail { template typename is_value_wrapper::type is_value_wrapper_arg_check(T const*); - + yes_t to_yesno(boost::mpl::true_); no_t to_yesno(boost::mpl::false_); @@ -144,7 +144,7 @@ namespace detail { static typename boost::add_reference::type x; - BOOST_STATIC_CONSTANT(bool, value = + BOOST_STATIC_CONSTANT(bool, value = sizeof(to_yesno(is_value_wrapper_arg_check(&x))) == sizeof(yes_t) ); @@ -165,4 +165,3 @@ struct is_value_wrapper_arg #endif #endif // LUABIND_VALUE_WRAPPER_050419_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/version.hpp b/external/sources/luabind-oberon00-49814f6/luabind/version.hpp new file mode 100644 index 0000000000..63acaf7656 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/version.hpp @@ -0,0 +1,16 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#ifndef LUABIND_VERSION_090216_HPP +# define LUABIND_VERSION_090216_HPP + +# define LUABIND_VERSION 900 + +// Each component uses two digits, so: +// +// major = LUABIND_VERSION / 10000 +// minor = LUABIND_VERSION / 100 % 100 +// patch = LUABIND_VERSION % 100 + +#endif // LUABIND_VERSION_090216_HPP diff --git a/external/sources/luabind-0.7.1/luabind/weak_ref.hpp b/external/sources/luabind-oberon00-49814f6/luabind/weak_ref.hpp old mode 100755 new mode 100644 similarity index 89% rename from external/sources/luabind-0.7.1/luabind/weak_ref.hpp rename to external/sources/luabind-oberon00-49814f6/luabind/weak_ref.hpp index 9eb7e247ea..c9a4791c07 --- a/external/sources/luabind-0.7.1/luabind/weak_ref.hpp +++ b/external/sources/luabind-oberon00-49814f6/luabind/weak_ref.hpp @@ -25,7 +25,7 @@ #include -struct lua_State; +#include namespace luabind { @@ -33,7 +33,7 @@ namespace luabind { { public: weak_ref(); - weak_ref(lua_State*, int); + weak_ref(lua_State* main, lua_State* L, int index); weak_ref(weak_ref const&); ~weak_ref(); @@ -41,9 +41,9 @@ namespace luabind { void swap(weak_ref&); - // returns a unique id that no - // other weak ref will return - int id() const; + // returns a unique id that no + // other weak ref will return + int id() const; lua_State* state() const; void get(lua_State* L) const; @@ -56,4 +56,3 @@ namespace luabind { } // namespace luabind #endif // WEAK_REF_040402_HPP - diff --git a/external/sources/luabind-oberon00-49814f6/luabind/wrapper_base.hpp b/external/sources/luabind-oberon00-49814f6/luabind/wrapper_base.hpp new file mode 100644 index 0000000000..48736052d8 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/wrapper_base.hpp @@ -0,0 +1,184 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#if !BOOST_PP_IS_ITERATING + +#ifndef LUABIND_WRAPPER_BASE_HPP_INCLUDED +#define LUABIND_WRAPPER_BASE_HPP_INCLUDED + +#include +#include +#include +#include + +#include +#include + +#include + +namespace luabind +{ + namespace detail + { + struct wrap_access; + } + + struct wrapped_self_t: weak_ref + { + handle m_strong_ref; + }; + + struct wrap_base + { + friend struct detail::wrap_access; + wrap_base() {} + + #define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 1)) + #include BOOST_PP_ITERATE() + + private: + wrapped_self_t m_self; + }; + +#define BOOST_PP_ITERATION_PARAMS_1 (4, (0, LUABIND_MAX_ARITY, , 2)) +#include BOOST_PP_ITERATE() + + namespace detail + { + struct wrap_access + { + static wrapped_self_t const& ref(wrap_base const& b) + { + return b.m_self; + } + + static wrapped_self_t& ref(wrap_base& b) + { + return b.m_self; + } + }; + } +} + +#endif // LUABIND_WRAPPER_BASE_HPP_INCLUDED + +#else +#if BOOST_PP_ITERATION_FLAGS() == 1 + +#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * +#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n + + template + typename boost::mpl::if_ + , luabind::detail::proxy_member_void_caller > + , luabind::detail::proxy_member_caller > >::type + call(char const* name BOOST_PP_COMMA_IF(BOOST_PP_ITERATION()) BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _), detail::type_* = 0) const + { + typedef boost::tuples::tuple tuple_t; + #if BOOST_PP_ITERATION() == 0 + tuple_t args; + #else + tuple_t args(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), &a)); + #endif + + typedef typename boost::mpl::if_ + , luabind::detail::proxy_member_void_caller > + , luabind::detail::proxy_member_caller > >::type proxy_type; + + // this will be cleaned up by the proxy object + // once the call has been made + + // TODO: what happens if this virtual function is + // dispatched from a lua thread where the state + // pointer is different? + + // get the function + lua_State* L = m_self.state(); + m_self.get(L); + assert(!lua_isnil(L, -1)); + detail::do_call_member_selection(L, name); + + if (lua_isnil(L, -1)) + { + lua_pop(L, 1); + throw std::runtime_error("Attempt to call nonexistent function"); + } + + // push the self reference as the first parameter + m_self.get(L); + + // now the function and self objects + // are on the stack. These will both + // be popped by pcall + return proxy_type(L, args); + } + +#undef LUABIND_CALL_MEMBER_NAME +#undef LUABIND_OPERATOR_PARAMS +#undef LUABIND_TUPLE_PARAMS + +#else // free call_member forwardarding functions + +#define N BOOST_PP_ITERATION() + +#define LUABIND_TUPLE_PARAMS(z, n, data) const A##n * +#define LUABIND_OPERATOR_PARAMS(z, n, data) const A##n & a##n + + template< + class R + BOOST_PP_ENUM_TRAILING_PARAMS(N, class A) + > + typename boost::mpl::if_< + boost::is_void + , detail::proxy_member_void_caller< + boost::tuples::tuple< + BOOST_PP_ENUM(N, LUABIND_TUPLE_PARAMS, _) + > + > + , detail::proxy_member_caller< + R + , boost::tuples::tuple< + BOOST_PP_ENUM(N, LUABIND_TUPLE_PARAMS, _) + > + > + >::type + call_member( + wrap_base const* self + , char const* fn + BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(N, A, &a) + , detail::type_* = 0 + ) + { + return self->call( + fn + BOOST_PP_ENUM_TRAILING_PARAMS(N, a) + , (detail::type_*)0 + ); + } + +#undef LUABIND_OPERATOR_PARAMS +#undef LUABIND_TUPLE_PARAMS + +#undef N + +#endif +#endif diff --git a/external/sources/luabind-oberon00-49814f6/luabind/yield_policy.hpp b/external/sources/luabind-oberon00-49814f6/luabind/yield_policy.hpp new file mode 100644 index 0000000000..c4f2803a09 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/luabind/yield_policy.hpp @@ -0,0 +1,52 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#ifndef LUABIND_YIELD_POLICY_HPP_INCLUDED +#define LUABIND_YIELD_POLICY_HPP_INCLUDED + +#include +#include + +namespace luabind { namespace detail +{ + struct yield_policy + { + static void precall(lua_State*, const index_map&) {} + static void postcall(lua_State*, const index_map&) {} + }; +}} + +namespace luabind +{ + detail::policy_cons const yield = {}; + + namespace detail + { + inline void ignore_unused_yield() + { + (void)yield; + } + } +} + +#endif // LUABIND_YIELD_POLICY_HPP_INCLUDED diff --git a/external/sources/luabind-oberon00-49814f6/meson.build b/external/sources/luabind-oberon00-49814f6/meson.build new file mode 100644 index 0000000000..0ff115346f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/meson.build @@ -0,0 +1,27 @@ +project('luabind', 'cpp', default_options:['cpp_std=c++11']) +subdir('src') + +luabind_include = include_directories('.', 'luabind') + +luabind_args = ['-D_HAS_AUTO_PTR_ETC=1', '-D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES'] + +luabind_dependencies = [dependency('luajit', 'LuaJIT-2.1'), dependency('boost-190')] + +cpp_args = [] +cpp_options = [] +deps = [] +cxx = meson.get_compiler('cpp') +if cxx.get_argument_syntax() == 'gcc' + cpp_args = ['-w', '-fpermissive'] + luabind_args += cpp_args +elif cxx.get_argument_syntax() == 'msvc' + cpp_args = ['-permissive', '-DBOOST_BIND_GLOBAL_PLACEHOLDERS=1', '-DLUABIND_BUILDING', '-D_ITERATOR_DEBUG_LEVEL=0'] + luabind_args = ['-D_HAS_AUTO_PTR_ETC=1', '-DBOOST_BIND_GLOBAL_PLACEHOLDERS=1', '-permissive'] + cpp_options = ['cpp_std=vc++20'] +endif + +luabind = static_library('luabind091', luabind_src, dependencies: luabind_dependencies, include_directories:luabind_include, cpp_args:cpp_args+ luabind_args, override_options: ['warning_level=0']+ cpp_options) + +luabind_dep = declare_dependency(link_with: luabind, dependencies: deps, include_directories: luabind_include, compile_args: luabind_args) + +meson.override_dependency('luabind', luabind_dep) diff --git a/external/sources/luabind-0.7.1/meson_options.txt b/external/sources/luabind-oberon00-49814f6/meson_options.txt similarity index 100% rename from external/sources/luabind-0.7.1/meson_options.txt rename to external/sources/luabind-oberon00-49814f6/meson_options.txt diff --git a/external/sources/luabind-oberon00-49814f6/src/CMakeLists.txt b/external/sources/luabind-oberon00-49814f6/src/CMakeLists.txt new file mode 100644 index 0000000000..77c22b35e1 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/CMakeLists.txt @@ -0,0 +1,186 @@ +# Build for LuaBind +# Ryan Pavlik +# http://academic.cleardefinition.com/ +# Iowa State University HCI Graduate Program/VRAC + +# ls *.cpp | sort | sed "s/^/ /" +set(LUABIND_SRCS + class.cpp + class_info.cpp + class_registry.cpp + class_rep.cpp + create_class.cpp + error.cpp + exception_handler.cpp + function.cpp + function_introspection.cpp + inheritance.cpp + link_compatibility.cpp + lua51compat.cpp + object_rep.cpp + open.cpp + operator.cpp + pcall.cpp + scope.cpp + set_package_preload.cpp + shared_ptr_converter.cpp + stack_content_by_name.cpp + weak_ref.cpp + wrapper_base.cpp) + +# ls ../luabind/*.hpp | sort | sed "s/^/ /" +set(LUABIND_API + ../luabind/adopt_policy.hpp + ../luabind/back_reference_fwd.hpp + ../luabind/back_reference.hpp + ../luabind/class.hpp + ../luabind/class_info.hpp + ../luabind/config.hpp + ../luabind/container_policy.hpp + ../luabind/copy_policy.hpp + ../luabind/dependency_policy.hpp + ../luabind/discard_result_policy.hpp + ../luabind/error_callback_fun.hpp + ../luabind/error.hpp + ../luabind/exception_handler.hpp + ../luabind/from_stack.hpp + ../luabind/function_converter.hpp + ../luabind/function.hpp + ../luabind/function_introspection.hpp + ../luabind/get_main_thread.hpp + ../luabind/get_pointer.hpp + ../luabind/handle.hpp + ../luabind/intrusive_ptr_converter.hpp + ../luabind/iterator_policy.hpp + ../luabind/luabind.hpp + ../luabind/lua_include.hpp + ../luabind/lua_state_fwd.hpp + ../luabind/make_function.hpp + ../luabind/nil.hpp + ../luabind/no_dependency.hpp + ../luabind/object_fwd.hpp + ../luabind/object.hpp + ../luabind/open.hpp + ../luabind/operator.hpp + ../luabind/out_value_policy.hpp + ../luabind/prefix.hpp + ../luabind/raw_policy.hpp + ../luabind/return_reference_to_policy.hpp + ../luabind/scope.hpp + ../luabind/set_package_preload.hpp + ../luabind/shared_ptr_converter.hpp + ../luabind/stack.hpp + ../luabind/std_shared_ptr_converter.hpp + ../luabind/tag_function.hpp + ../luabind/typeid.hpp + ../luabind/value_wrapper.hpp + ../luabind/version.hpp + ../luabind/weak_ref.hpp + ../luabind/wrapper_base.hpp + ../luabind/yield_policy.hpp) +source_group(API FILES ${LUABIND_API}) + +# ls ../luabind/detail/*.hpp | sort | sed "s/^/ /" +set(LUABIND_DETAIL_API + ../luabind/detail/call_function.hpp + ../luabind/detail/call.hpp + ../luabind/detail/call_member.hpp + ../luabind/detail/call_operator_iterate.hpp + ../luabind/detail/class_registry.hpp + ../luabind/detail/class_rep.hpp + ../luabind/detail/constructor.hpp + ../luabind/detail/convert_to_lua.hpp + ../luabind/detail/debug.hpp + ../luabind/detail/decorate_type.hpp + ../luabind/detail/deduce_signature.hpp + ../luabind/detail/enum_maker.hpp + ../luabind/detail/format_signature.hpp + ../luabind/detail/garbage_collector.hpp + ../luabind/detail/has_get_pointer.hpp + ../luabind/detail/inheritance.hpp + ../luabind/detail/instance_holder.hpp + ../luabind/detail/link_compatibility.hpp + ../luabind/detail/make_instance.hpp + ../luabind/detail/most_derived.hpp + ../luabind/detail/object_call.hpp + ../luabind/detail/object.hpp + ../luabind/detail/object_rep.hpp + ../luabind/detail/operator_id.hpp + ../luabind/detail/other.hpp + ../luabind/detail/pcall.hpp + ../luabind/detail/pointee_sizeof.hpp + ../luabind/detail/policy.hpp + ../luabind/detail/primitives.hpp + ../luabind/detail/property.hpp + ../luabind/detail/signature_match.hpp + ../luabind/detail/stack_utils.hpp + ../luabind/detail/typetraits.hpp + ../luabind/detail/yes_no.hpp) +source_group(Internal FILES ${LUABIND_DETAIL_API}) + +set(LUABIND_EXTRA_LIBS) +if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251") +elseif(CMAKE_COMPILER_IS_GNUCXX) + # TODO we often need libm, not just with gcc. + list(APPEND LUABIND_EXTRA_LIBS m) +endif() + +set(CMAKE_DEBUG_POSTFIX "-d") +add_library(luabind ${LUABIND_SRCS} ${LUABIND_API} ${LUABIND_DETAIL_API}) +target_link_libraries(luabind ${LUA_LIBRARIES} ${LUABIND_EXTRA_LIBS} ${CMAKE_DL_LIBS}) +set_property(TARGET + luabind PROPERTY + COMPILE_FLAGS + ${CMAKE_SHARED_LIBRARY_C_FLAGS}) + +set_property(TARGET + luabind + PROPERTY + PROJECT_LABEL + "LuaBind Library") + +if (LUABIND_APPEND_VERSION_SUFFIX) + set_property(TARGET + luabind + PROPERTY + OUTPUT_NAME + "luabind09") +else() + # This is neccesary when the LUABIND_APPEND_VERSION_SUFFIX variable is + # changed from ON to OFF. + set_property(TARGET + luabind + PROPERTY + OUTPUT_NAME + "luabind") +endif() + +set(ALLHEADERS ${LUABIND_API} ${LUABIND_DETAIL_API} PARENT_SCOPE) +set(APIHEADERS ${LUABIND_API} PARENT_SCOPE) + +if(LUABIND_INSTALL) + if(NOT INCLUDE_DIR) + set(INCLUDE_DIR include) + endif() + if(NOT LIB_DIR) + set(LIB_DIR lib) + endif() + if(NOT ARCH_DIR) + set(ARCH_DIR lib) + endif() + if(NOT BIN_DIR) + set(BIN_DIR bin) + endif() + install(FILES ${LUABIND_API} + DESTINATION ${INCLUDE_DIR}/luabind + COMPONENT sdk) + install(FILES ${LUABIND_DETAIL_API} + DESTINATION ${INCLUDE_DIR}/luabind/detail + COMPONENT sdk) + install(TARGETS luabind + EXPORT luabind + RUNTIME DESTINATION ${BIN_DIR} COMPONENT runtime + LIBRARY DESTINATION ${LIB_DIR} COMPONENT runtime + ARCHIVE DESTINATION ${ARCH_DIR} COMPONENT sdk) +endif() diff --git a/external/sources/luabind-oberon00-49814f6/src/class.cpp b/external/sources/luabind-oberon00-49814f6/src/class.cpp new file mode 100644 index 0000000000..ff04ba4235 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/class.cpp @@ -0,0 +1,329 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include +#include + +#include +#include + +#include +#include + +namespace luabind +{ + LUABIND_API detail::nil_type nil; +} + +namespace luabind { namespace detail { + + + namespace + { + struct cast_entry + { + cast_entry(class_id src_, class_id target_, cast_function cast_) + : src(src_) + , target(target_) + , cast(cast_) + {} + + class_id src; + class_id target; + cast_function cast; + }; + + } // namespace unnamed + + struct class_registration : registration + { + class_registration(char const* name); + + void register_(lua_State* L) const; + + const char* m_name; + + mutable std::map m_static_constants; + + mutable std::vector m_bases; + + type_id m_type; + class_id m_id; + class_id m_wrapper_id; + type_id m_wrapper_type; + std::vector m_casts; + + scope m_scope; + scope m_members; + scope m_default_members; + }; + + class_registration::class_registration(char const* name) + { + m_name = name; + } + + void class_registration::register_(lua_State* L) const + { + LUABIND_CHECK_STACK(L); + + assert(lua_type(L, -1) == LUA_TTABLE); + + if (m_name != 0) { + lua_pushstring(L, m_name); + } + + detail::class_rep* crep; + + detail::class_registry* r = detail::class_registry::get_registry(L); + // create a class_rep structure for this class. + // allocate it within lua to let lua collect it on + // lua_close(). This is better than allocating it + // as a static, since it will then be destructed + // when the program exits instead. + // warning: we assume that lua will not + // move the userdata memory. + lua_newuserdata(L, sizeof(detail::class_rep)); + crep = reinterpret_cast(lua_touserdata(L, -1)); + + new(crep) detail::class_rep( + m_type + , m_name + , L + ); + + // register this new type in the class registry + r->add_class(m_type, crep); + + lua_rawgetp(L, LUA_REGISTRYINDEX, &class_map_tag); + class_map& classes = *static_cast( + lua_touserdata(L, -1)); + lua_pop(L, 1); + + classes.put(m_id, crep); + + bool const has_wrapper = m_wrapper_id != registered_class::id; + + if (has_wrapper) + classes.put(m_wrapper_id, crep); + + crep->m_static_constants.swap(m_static_constants); + + detail::class_registry* registry = detail::class_registry::get_registry(L); + + crep->get_default_table(L); + m_scope.register_(L); + m_default_members.register_(L); + lua_pop(L, 1); + + crep->get_table(L); + m_members.register_(L); + lua_pop(L, 1); + + lua_rawgetp(L, LUA_REGISTRYINDEX, &cast_graph_tag); + cast_graph* const casts = static_cast( + lua_touserdata(L, -1)); + lua_pop(L, 1); + + lua_rawgetp(L, LUA_REGISTRYINDEX, &classid_map_tag); + class_id_map* const class_ids = static_cast( + lua_touserdata(L, -1)); + lua_pop(L, 1); + + class_ids->put(m_id, m_type); + + if (has_wrapper) + class_ids->put(m_wrapper_id, m_wrapper_type); + + BOOST_FOREACH(cast_entry const& e, m_casts) + { + casts->insert(e.src, e.target, e.cast); + } + + for (std::vector::iterator i = m_bases.begin(); + i != m_bases.end(); ++i) + { + LUABIND_CHECK_STACK(L); + + // the baseclass' class_rep structure + detail::class_rep* bcrep = registry->find_class(*i); + + crep->add_base_class(bcrep); + + // copy base class table + crep->get_table(L); + bcrep->get_table(L); + lua_pushnil(L); + + while (lua_next(L, -2)) + { + lua_pushvalue(L, -2); // copy key + lua_gettable(L, -5); + + if (!lua_isnil(L, -1)) + { + lua_pop(L, 2); + continue; + } + + lua_pop(L, 1); + lua_pushvalue(L, -2); // copy key + lua_insert(L, -2); + + lua_settable(L, -5); + } + lua_pop(L, 2); + + // copy base class detaults table + crep->get_default_table(L); + bcrep->get_default_table(L); + lua_pushnil(L); + + while (lua_next(L, -2)) + { + lua_pushvalue(L, -2); // copy key + lua_gettable(L, -5); + + if (!lua_isnil(L, -1)) + { + lua_pop(L, 2); + continue; + } + + lua_pop(L, 1); + lua_pushvalue(L, -2); // copy key + lua_insert(L, -2); + + lua_settable(L, -5); + } + lua_pop(L, 2); + + } + + if (m_name != 0) { + lua_settable(L, -3); + } + else { + lua_pop(L, 1); + } + } + + // -- interface --------------------------------------------------------- + + class_base::class_base(char const* name_) + : scope(std::auto_ptr( + m_registration = new class_registration(name_)) + ) + { + } + + void class_base::init( + type_id const& type_id_, class_id id + , type_id const& wrapper_type, class_id wrapper_id) + { + m_registration->m_type = type_id_; + m_registration->m_id = id; + m_registration->m_wrapper_type = wrapper_type; + m_registration->m_wrapper_id = wrapper_id; + } + + void class_base::add_base(type_id const& base) + { + m_registration->m_bases.push_back(base); + } + + void class_base::add_member(registration* member) + { + std::auto_ptr ptr(member); + m_registration->m_members.operator,(scope(ptr)); + } + + void class_base::add_default_member(registration* member) + { + std::auto_ptr ptr(member); + m_registration->m_default_members.operator,(scope(ptr)); + } + + const char* class_base::name() const + { + return m_registration->m_name; + } + + void class_base::add_static_constant(const char* name_, int val) + { + m_registration->m_static_constants[name_] = val; + } + + void class_base::add_inner_scope(scope& s) + { + m_registration->m_scope.operator,(s); + } + + void class_base::add_cast( + class_id src, class_id target, cast_function cast) + { + m_registration->m_casts.push_back(cast_entry(src, target, cast)); + } + + + std::string get_class_name(lua_State* L, type_id const& i) + { + std::string ret; + + assert(L); + + class_registry* r = class_registry::get_registry(L); + class_rep* crep = r->find_class(i); + + if (!crep || !crep->name()) + { + ret = crep ? "unnamed [" : "custom ["; + ret += i.name(); + ret += ']'; + } + else + { + /* TODO reimplement this? + if (i == crep->holder_type()) + { + ret += "smart_ptr<"; + ret += crep->name(); + ret += ">"; + } + else if (i == crep->const_holder_type()) + { + ret += "smart_ptrname(); + ret += ">"; + } + else*/ + { + ret += crep->name(); + } + } + return ret; + } + +}} // namespace luabind::detail diff --git a/external/sources/luabind-oberon00-49814f6/src/class_info.cpp b/external/sources/luabind-oberon00-49814f6/src/class_info.cpp new file mode 100644 index 0000000000..3e2775098e --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/class_info.cpp @@ -0,0 +1,137 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include +#include + +#include + +/* +#include +#define VERBOSE(X) std::cout << __FILE__ << ":" << __LINE__ << ": " << X << std::endl +*/ +#define VERBOSE(X) + +namespace luabind +{ + LUABIND_API class_info get_class_info(argument const& o) + { + lua_State* L = o.interpreter(); + detail::class_rep * crep = NULL; + + o.push(L); + if (detail::is_class_rep(L, -1)) { + VERBOSE("OK, got a class rep"); + // OK, o is a class rep, now at the top of the stack + crep = static_cast(lua_touserdata(L, -1)); + lua_pop(L, 1); + } else { + + VERBOSE("Not a class rep"); + detail::object_rep* obj = detail::get_instance(L, -1); + + if (!obj) + { + VERBOSE("Not a obj rep"); + class_info result; + result.name = lua_typename(L, lua_type(L, -1)); + lua_pop(L, 1); + result.methods = newtable(L); + result.attributes = newtable(L); + return result; + } else { + lua_pop(L, 1); + // OK, we were given an object - gotta get the crep. + crep = obj->crep(); + } + } + crep->get_table(L); + object table(from_stack(L, -1)); + lua_pop(L, 1); + + class_info result; + result.name = detail::get_class_name(L, crep->type()); + result.methods = newtable(L); + result.attributes = newtable(L); + + std::size_t index = 1; + + for (iterator i(table), e; i != e; ++i) + { + if (type(*i) != LUA_TFUNCTION) + continue; + + // We have to create a temporary `object` here, otherwise the proxy + // returned by operator->() will mess up the stack. This is a known + // problem that probably doesn't show up in real code very often. + object member(*i); + member.push(L); + detail::stack_pop pop(L, 1); + + if (lua_tocfunction(L, -1) == &detail::property_tag) + { + result.attributes[index++] = i.key(); + } + else + { + result.methods[i.key()] = *i; + } + } + + return result; + } + + LUABIND_API object get_class_names(lua_State* L) + { + detail::class_registry* reg = detail::class_registry::get_registry(L); + + std::map const& classes = reg->get_classes(); + + object result = newtable(L); + std::size_t index = 1; + + for (std::map::const_iterator iter = classes.begin(); + iter != classes.end(); ++iter) + { + result[index++] = iter->second->name(); + } + + return result; + } + + LUABIND_API void bind_class_info(lua_State* L) + { + module(L) + [ + class_("class_info_data") + .def_readonly("name", &class_info::name) + .def_readonly("methods", &class_info::methods) + .def_readonly("attributes", &class_info::attributes), + + def("class_info", &get_class_info), + def("class_names", &get_class_names) + ]; + } +} diff --git a/external/sources/luabind-oberon00-49814f6/src/class_registry.cpp b/external/sources/luabind-oberon00-49814f6/src/class_registry.cpp new file mode 100644 index 0000000000..268f7b88ed --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/class_registry.cpp @@ -0,0 +1,145 @@ +// Copyright (c) 2004 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include // for LUABIND_API +#include // for class_registry +#include // for class_rep +#include // for garbage_collector +#include // for push_instance_metatable +#include // for type_id + +#include // for lua_pushstring, lua_rawset, etc + +#include // for assert +#include // for map, etc +#include // for pair + +namespace luabind { namespace detail { + + char classes_tag = 0; + + namespace { + + int create_cpp_class_metatable(lua_State* L) + { + lua_createtable(L, 0, 7); + + // mark the table with our unique tag + // that says that the user data that has this + // metatable is a class_rep + lua_pushboolean(L, true); + lua_rawsetp(L, -2, &classrep_tag); + + lua_pushliteral(L, "__gc"); + lua_pushcfunction(L, &garbage_collector); + lua_rawset(L, -3); + + lua_pushliteral(L, "__call"); + lua_pushcfunction(L, &class_rep::constructor_dispatcher); + lua_rawset(L, -3); + + lua_pushliteral(L, "__index"); + lua_pushcfunction(L, &class_rep::static_class_gettable); + lua_rawset(L, -3); + + lua_pushliteral(L, "__newindex"); + lua_pushcfunction(L, &class_rep::lua_settable_dispatcher); + lua_rawset(L, -3); + + lua_pushliteral(L, "__tostring"); + lua_pushcfunction(L, &class_rep::tostring); + lua_rawset(L, -3); + + // Direct calls to metamethods cannot be allowed, because the + // callee trusts the caller to pass arguments of the right type. + lua_pushliteral(L, "__metatable"); + lua_pushboolean(L, true); + lua_rawset(L, -3); + + return luaL_ref(L, LUA_REGISTRYINDEX); + } + + int create_lua_class_metatable(lua_State* L) + { + return create_cpp_class_metatable(L); + } + + } // namespace unnamed + + class class_rep; + + class_registry::class_registry(lua_State* L) + : m_cpp_class_metatable(create_cpp_class_metatable(L)) + , m_lua_class_metatable(create_lua_class_metatable(L)) + { + push_instance_metatable(L); + m_instance_metatable = luaL_ref(L, LUA_REGISTRYINDEX); + } + + class_registry* class_registry::get_registry(lua_State* L) + { + +#ifdef LUABIND_NOT_THREADSAFE + + // if we don't have to be thread safe, we can keep a + // chache of the class_registry pointer without the + // need of a mutex + static lua_State* cache_key = 0; + static class_registry* registry_cache = 0; + if (cache_key == L) return registry_cache; + +#endif + + lua_rawgetp(L, LUA_REGISTRYINDEX, &classes_tag); + class_registry* p = static_cast(lua_touserdata(L, -1)); + lua_pop(L, 1); + +#ifdef LUABIND_NOT_THREADSAFE + + cache_key = L; + registry_cache = p; + +#endif + + return p; + } + + void class_registry::add_class(type_id const& info, class_rep* crep) + { + // class is already registered + assert((m_classes.find(info) == m_classes.end()) + && "you are trying to register a class twice"); + m_classes[info] = crep; + } + + class_rep* class_registry::find_class(type_id const& info) const + { + std::map::const_iterator i( + m_classes.find(info)); + + if (i == m_classes.end()) return 0; // the type is not registered + return i->second; + } + +}} // namespace luabind::detail diff --git a/external/sources/luabind-oberon00-49814f6/src/class_rep.cpp b/external/sources/luabind-oberon00-49814f6/src/class_rep.cpp new file mode 100644 index 0000000000..3237de3886 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/class_rep.cpp @@ -0,0 +1,357 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include +#include +#include + +#include + +#include + +using namespace luabind::detail; + +namespace luabind { namespace detail +{ + LUABIND_API int property_tag(lua_State* L) + { + lua_pushliteral(L, "luabind: property_tag function can't be called"); + lua_error(L); + return 0; + } + + char classrep_tag = 0; +}} + +luabind::detail::class_rep::class_rep(type_id const& type_ + , const char* name_ + , lua_State* L +) + : m_type(type_) + , m_name(name_) + , m_class_type(cpp_class) +{ + shared_init(L); +} + + +void luabind::detail::class_rep::shared_init(lua_State * L) +{ + lua_newtable(L); + handle(L, -1).swap(m_table); + lua_newtable(L); + handle(L, -1).swap(m_default_table); + lua_pop(L, 2); + + class_registry* r = class_registry::get_registry(L); + // the following line should be equivalent whether or not this is a cpp class + assert((r->cpp_class() != LUA_NOREF) && "you must call luabind::open()"); + + lua_rawgeti(L, LUA_REGISTRYINDEX, (m_class_type == cpp_class) ? r->cpp_class() : r->lua_class()); + lua_setmetatable(L, -2); + + handle(L, -1).swap(m_self_ref); + + m_instance_metatable = (m_class_type == cpp_class) ? r->cpp_instance() : r->lua_instance(); + + lua_rawgetp(L, LUA_REGISTRYINDEX, &cast_graph_tag); + m_casts = static_cast(lua_touserdata(L, -1)); + lua_pop(L, 1); + + lua_rawgetp(L, LUA_REGISTRYINDEX, &classid_map_tag); + m_classes = static_cast(lua_touserdata(L, -1)); + lua_pop(L, 1); + +} + +luabind::detail::class_rep::class_rep(lua_State* L, const char* name_) + : m_type(typeid(null_type)) + , m_name(name_) + , m_class_type(lua_class) +{ + shared_init(L); +} + +luabind::detail::class_rep::~class_rep() +{ +} + +// leaves object on lua stack +std::pair +luabind::detail::class_rep::allocate(lua_State* L) const +{ + const int size = sizeof(object_rep); + char* mem = static_cast(lua_newuserdata(L, size)); + return std::pair(mem, static_cast(0)); +} + +namespace +{ + + bool super_deprecation_disabled = false; + +} // namespace unnamed + +// this is called as metamethod __call on the class_rep. +int luabind::detail::class_rep::constructor_dispatcher(lua_State* L) +{ + class_rep* cls = static_cast(lua_touserdata(L, 1)); + + int args = lua_gettop(L); + + push_new_instance(L, cls); + + if (super_deprecation_disabled + && cls->get_class_type() == class_rep::lua_class + && !cls->bases().empty()) + { + lua_pushvalue(L, 1); + lua_pushvalue(L, -2); + lua_pushcclosure(L, super_callback, 2); + lua_setglobal(L, "super"); + } + + lua_pushvalue(L, -1); + lua_replace(L, 1); + + cls->get_table(L); + lua_pushliteral(L, "__init"); + lua_gettable(L, -2); + + lua_insert(L, 1); + + lua_pop(L, 1); + lua_insert(L, 1); + + lua_call(L, args, 0); + + if (super_deprecation_disabled) + { + lua_pushnil(L); + lua_setglobal(L, "super"); + } + + return 1; +} + +void luabind::detail::class_rep::add_base_class(luabind::detail::class_rep* bcrep) +{ + // If you hit this assert you are deriving from a type that is not registered + // in lua. That is, in the class_<> you are giving a baseclass that isn't registered. + // Please note that if you don't need to have access to the base class or the + // conversion from the derived class to the base class, you don't need + // to tell luabind that it derives. + assert(bcrep && "You cannot derive from an unregistered type"); + + // import all static constants + for (std::map::const_iterator i = bcrep->m_static_constants.begin(); + i != bcrep->m_static_constants.end(); ++i) + { + int& v = m_static_constants[i->first]; + v = i->second; + } + + // also, save the baseclass info to be used for typecasts + m_bases.push_back(bcrep); +} + +LUABIND_API void luabind::disable_super_deprecation() +{ + super_deprecation_disabled = true; +} + +int luabind::detail::class_rep::super_callback(lua_State* L) +{ + int args = lua_gettop(L); + + class_rep* crep = static_cast(lua_touserdata(L, lua_upvalueindex(1))); + class_rep* base = crep->bases()[0]; + + if (base->bases().empty()) + { + lua_pushnil(L); + lua_setglobal(L, "super"); + } + else + { + lua_pushlightuserdata(L, base); + lua_pushvalue(L, lua_upvalueindex(2)); + lua_pushcclosure(L, super_callback, 2); + lua_setglobal(L, "super"); + } + + base->get_table(L); + lua_pushliteral(L, "__init"); + lua_gettable(L, -2); + lua_insert(L, 1); + lua_pop(L, 1); + + lua_pushvalue(L, lua_upvalueindex(2)); + lua_insert(L, 2); + + lua_call(L, args + 1, 0); + + // TODO: instead of clearing the global variable "super" + // store it temporarily in the registry. maybe we should + // have some kind of warning if the super global is used? + lua_pushnil(L); + lua_setglobal(L, "super"); + + return 0; +} + + + +int luabind::detail::class_rep::lua_settable_dispatcher(lua_State* L) +{ + class_rep* crep = static_cast(lua_touserdata(L, 1)); + + // get first table + crep->get_table(L); + + // copy key, value + lua_pushvalue(L, -3); + lua_pushvalue(L, -3); + lua_rawset(L, -3); + // pop table + lua_pop(L, 1); + + // get default table + crep->get_default_table(L); + lua_replace(L, 1); + lua_rawset(L, -3); + + return 0; +} + +/* + stack: + 1: class_rep + 2: member name +*/ +int luabind::detail::class_rep::static_class_gettable(lua_State* L) +{ + class_rep* crep = static_cast(lua_touserdata(L, 1)); + + // look in the static function table + crep->get_default_table(L); + lua_pushvalue(L, 2); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) return 1; + else lua_pop(L, 2); + + const char* key = lua_tostring(L, 2); + + if (!key) + { +#ifndef LUABIND_NO_ERROR_CHECKING + lua_pushfstring(L, + "no static value at %s-index in class '%s'", + luaL_typename(L, 2), crep->name()); + return lua_error(L); +#else + lua_pushnil(L); + return 1; +#endif + + } + + if (std::strlen(key) != lua_rawlen(L, 2)) + { +#ifndef LUABIND_NO_ERROR_CHECKING + lua_pushfstring(L, + "no static '%s' (followed by embedded 0) in class '%s'", + key, crep->name()); + return lua_error(L); +#else + lua_pushnil(L); + return 1; +#endif + + } + + std::map::const_iterator j = crep->m_static_constants.find(key); + if (j != crep->m_static_constants.end()) + { + lua_pushnumber(L, j->second); + return 1; + } + +#ifndef LUABIND_NO_ERROR_CHECKING + lua_pushfstring(L, "no static '%s' in class '%s'", key, crep->name()); + return lua_error(L); +#else + lua_pushnil(L); + return 1; +#endif +} + +int luabind::detail::class_rep::tostring(lua_State* L) +{ + class_rep* crep = static_cast(lua_touserdata(L, 1)); + lua_pushfstring(L, "class %s", crep->m_name ? crep->m_name : ""); + if (crep->m_type != type_id()) { + lua_pushfstring(L, " (%s)", crep->m_type.name().c_str()); + lua_concat(L, 2); + } + return 1; +} + +bool luabind::detail::is_class_rep(lua_State* L, int index) +{ + if (!lua_getmetatable(L, index)) + return false; + + lua_rawgetp(L, -1, &classrep_tag); + detail::stack_pop pop(L, 2); + return !lua_isnil(L, -1); +} + +void luabind::detail::finalize(lua_State* L, class_rep* crep) +{ + if (crep->get_class_type() != class_rep::lua_class) return; + +// lua_pushvalue(L, -1); // copy the object ref + crep->get_table(L); + lua_pushliteral(L, "__finalize"); + lua_gettable(L, -2); + lua_remove(L, -2); + + if (lua_isnil(L, -1)) + { + lua_pop(L, 1); + } + else + { + lua_pushvalue(L, -2); + lua_call(L, 1, 0); + } + + for (std::vector::const_iterator + i = crep->bases().begin(); i != crep->bases().end(); ++i) + { + if (*i) finalize(L, *i); + } +} diff --git a/external/sources/luabind-oberon00-49814f6/src/create_class.cpp b/external/sources/luabind-oberon00-49814f6/src/create_class.cpp new file mode 100644 index 0000000000..183ba45012 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/create_class.cpp @@ -0,0 +1,134 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include + +#include + +namespace luabind { namespace detail +{ + namespace + { + // expects two tables on the lua stack: + // 1: destination + // 2: source + void copy_member_table(lua_State* L) + { + lua_pushnil(L); + + while (lua_next(L, -2)) + { + lua_pushliteral(L, "__init"); + if (lua_compare(L, -1, -3, LUA_OPEQ)) + { + lua_pop(L, 2); + continue; + } + else lua_pop(L, 1); // __init string + + lua_pushliteral(L, "__finalize"); + if (lua_compare(L, -1, -3, LUA_OPEQ)) + { + lua_pop(L, 2); + continue; + } + else lua_pop(L, 1); // __finalize string + + lua_pushvalue(L, -2); // copy key + lua_insert(L, -2); + lua_settable(L, -5); + } + } + } + + + int create_class::stage2(lua_State* L) + { + class_rep* crep = static_cast(lua_touserdata(L, lua_upvalueindex(1))); + assert((crep != 0) && "internal error, please report"); + assert((is_class_rep(L, lua_upvalueindex(1))) && "internal error, please report"); + + #ifndef LUABIND_NO_ERROR_CHECKING + + if (!is_class_rep(L, 1)) + { + lua_pushliteral(L, "expected class to derive from or a newline"); + lua_error(L); + } + + #endif + + class_rep* base = static_cast(lua_touserdata(L, 1)); + crep->add_base_class(base); + + // copy base class members + + crep->get_table(L); + base->get_table(L); + copy_member_table(L); + + crep->get_default_table(L); + base->get_default_table(L); + copy_member_table(L); + + crep->set_type(base->type()); + + return 0; + } + + int create_class::stage1(lua_State* L) + { + + #ifndef LUABIND_NO_ERROR_CHECKING + + if (lua_gettop(L) != 1 || lua_type(L, 1) != LUA_TSTRING || lua_isnumber(L, 1)) + { + lua_pushliteral(L, "invalid construct, expected class name"); + lua_error(L); + } + + if (std::strlen(lua_tostring(L, 1)) != lua_rawlen(L, 1)) + { + lua_pushliteral(L, "luabind does not support class names with extra nulls"); + lua_error(L); + } + + #endif + + const char* name = lua_tostring(L, 1); + + void* c = lua_newuserdata(L, sizeof(class_rep)); + new(c) class_rep(L, name); + + // make the class globally available + lua_pushvalue(L, -1); + lua_setglobal(L, name); + + // also add it to the closure as return value + lua_pushcclosure(L, &stage2, 1); + + return 1; + } + +}} diff --git a/external/sources/luabind-oberon00-49814f6/src/error.cpp b/external/sources/luabind-oberon00-49814f6/src/error.cpp new file mode 100644 index 0000000000..aaf550fbd4 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/error.cpp @@ -0,0 +1,75 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include + + +namespace luabind +{ + + namespace + { + pcall_callback_fun pcall_callback = 0; +#ifdef LUABIND_NO_EXCEPTIONS + error_callback_fun error_callback = 0; + cast_failed_callback_fun cast_failed_callback = 0; +#endif + } + + +#ifdef LUABIND_NO_EXCEPTIONS + + void set_error_callback(error_callback_fun e) + { + error_callback = e; + } + + void set_cast_failed_callback(cast_failed_callback_fun c) + { + cast_failed_callback = c; + } + + error_callback_fun get_error_callback() + { + return error_callback; + } + + cast_failed_callback_fun get_cast_failed_callback() + { + return cast_failed_callback; + } + +#endif + + void set_pcall_callback(pcall_callback_fun e) + { + pcall_callback = e; + } + + pcall_callback_fun get_pcall_callback() + { + return pcall_callback; + } + +} diff --git a/external/sources/luabind-oberon00-49814f6/src/exception_handler.cpp b/external/sources/luabind-oberon00-49814f6/src/exception_handler.cpp new file mode 100644 index 0000000000..91ad0b0eee --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/exception_handler.cpp @@ -0,0 +1,91 @@ +// Copyright Daniel Wallin 2005. Use, modification and distribution is +// subject to 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) + +#define LUABIND_BUILDING + +#include // for LUABIND_API + +#ifndef LUABIND_NO_EXCEPTIONS +#include // for error +#include // for exception_handler_base + +#include + +#include // for exception +#include // for logic_error, runtime_error + +namespace luabind { namespace detail { + +namespace +{ + exception_handler_base* handler_chain = 0; + + void push_exception_string(lua_State* L, char const* exception, char const* what) + { + lua_pushstring(L, exception); + lua_pushliteral(L, ": '"); + lua_pushstring(L, what); + lua_pushliteral(L, "'"); + lua_concat(L, 4); + } +} + +void exception_handler_base::try_next(lua_State* L) const +{ + if (next) + next->handle(L); + else + throw; +} + +LUABIND_API void handle_exception_aux(lua_State* L) +{ + try + { + if (handler_chain) + handler_chain->handle(L); + else + throw; + } + catch (error const&) + {} + catch (std::logic_error const& e) + { + push_exception_string(L, "std::logic_error", e.what()); + } + catch (std::runtime_error const& e) + { + push_exception_string(L, "std::runtime_error", e.what()); + } + catch (std::exception const& e) + { + push_exception_string(L, "std::exception", e.what()); + } + catch (char const* str) + { + push_exception_string(L, "c-string", str); + } + catch (...) + { + lua_pushliteral(L, "Unknown C++ exception"); + } +} + +LUABIND_API void register_exception_handler(exception_handler_base* handler) +{ + if (!handler_chain) handler_chain = handler; + else + { + exception_handler_base* p = handler_chain; + + for (; p->next; p = p->next); + + handler->next = 0; + p->next = handler; + } +} + +}} // namespace luabind::detail + +#endif // LUABIND_NO_EXCEPTIONS diff --git a/external/sources/luabind-oberon00-49814f6/src/function.cpp b/external/sources/luabind-oberon00-49814f6/src/function.cpp new file mode 100644 index 0000000000..2316c56e9d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/function.cpp @@ -0,0 +1,137 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#define LUABIND_BUILDING + +#include + +namespace luabind { namespace detail { + +namespace +{ + + // A pointer to this is used as a tag value to identify functions exported + // by luabind. + char function_tag = 0; + + int function_destroy(lua_State* L) + { + function_object* fn = *static_cast( + lua_touserdata(L, 1)); + delete fn; + return 0; + } + + void push_function_metatable(lua_State* L) + { + lua_rawgetp(L, LUA_REGISTRYINDEX, &function_tag); + + if (lua_istable(L, -1)) + return; + + lua_pop(L, 1); + + lua_createtable(L, 0, 1); // One non-sequence entry for __gc. + + lua_pushliteral(L, "__gc"); + lua_pushcfunction(L, &function_destroy); + lua_rawset(L, -3); + + lua_pushvalue(L, -1); + lua_rawsetp(L, LUA_REGISTRYINDEX, &function_tag); + } + +} // namespace unnamed + +LUABIND_API bool is_luabind_function(lua_State* L, int index) +{ + if (!lua_getupvalue(L, index, 2)) + return false; + bool result = lua_touserdata(L, -1) == &function_tag; + lua_pop(L, 1); + return result; +} + +namespace +{ + + inline bool is_luabind_function(object const& obj) + { + obj.push(obj.interpreter()); + bool result = detail::is_luabind_function(obj.interpreter(), -1); + lua_pop(obj.interpreter(), 1); + return result; + } + +} // namespace unnamed + +LUABIND_API void add_overload( + object const& context, char const* name, object const& fn) +{ + function_object* f = *touserdata(getupvalue(fn, 1)); + f->name = name; + + if (object overloads = context[name]) + { + if (is_luabind_function(overloads) && is_luabind_function(fn)) + { + f->next = *touserdata(getupvalue(overloads, 1)); + f->keepalive = overloads; + } + } + + context[name] = fn; +} + +LUABIND_API object make_function_aux(lua_State* L, function_object* impl) +{ + void* storage = lua_newuserdata(L, sizeof(function_object*)); + push_function_metatable(L); + *static_cast(storage) = impl; + lua_setmetatable(L, -2); + + lua_pushlightuserdata(L, &function_tag); + lua_pushcclosure(L, impl->entry, 2); + stack_pop pop(L, 1); + + return object(from_stack(L, -1)); +} + +void invoke_context::format_error( + lua_State* L, function_object const* overloads) const +{ + char const* function_name = + overloads->name.empty() ? "" : overloads->name.c_str(); + + if (candidate_index == 0) + { + lua_pushliteral(L, "No matching overload found, candidates:"); + for (function_object const* f = overloads; f != 0; f = f->next) + { + lua_pushliteral(L, "\n"); + f->format_signature(L, function_name); + lua_concat(L, 3); // Inefficient, but does not use up the stack. + } + } + else + { + // Ambiguous + lua_pushliteral(L, "Ambiguous, candidates:"); + for (int i = 0; i < candidate_index; ++i) + { + lua_pushliteral(L, "\n"); + candidates[i]->format_signature(L, function_name); + lua_concat(L, 3); // Inefficient, but does not use up the stack. + } + if (additional_candidates) + { + BOOST_ASSERT(candidate_index == max_candidates); + lua_pushfstring(L, "\nand %d additional overload(s) not shown", + additional_candidates); + lua_concat(L, 2); + } + } +} + +}} // namespace luabind::detail diff --git a/external/sources/luabind-oberon00-49814f6/src/function_introspection.cpp b/external/sources/luabind-oberon00-49814f6/src/function_introspection.cpp new file mode 100644 index 0000000000..5b86607b38 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/function_introspection.cpp @@ -0,0 +1,110 @@ +/** + @file + @brief Implementation + + @date 2012 + + @author + Ryan Pavlik + and + http://academic.cleardefinition.com/ + Iowa State University Virtual Reality Applications Center + Human-Computer Interaction Graduate Program +*/ + +// Copyright Iowa State University 2012. +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +// Internal Includes +#include // for LUABIND_API +#include // for function_object +#include // for stack_pop +#include // for from_stack +#include // for def, is_luabind_function +#include +#include // for argument, object, etc +#include // for module, module_, scope + +// Library/third-party includes +// - none + +// Standard includes +#include // for string +#include // for NULL + +namespace luabind { + +namespace { + detail::function_object* get_function_object(argument const& fn) { + lua_State * L = fn.interpreter(); + { + fn.push(L); + detail::stack_pop pop(L, 1); + if (!detail::is_luabind_function(L, -1)) { + return NULL; + } + } + return *touserdata(getupvalue(fn, 1)); + } + + std::string get_function_name(argument const& fn) { + detail::function_object * f = get_function_object(fn); + if (!f) { + return ""; + } + return f->name; + } + + object get_function_overloads(argument const& fn) { + lua_State * L = fn.interpreter(); + detail::function_object * fobj = get_function_object(fn); + if (!fobj) { + return object(); + } + object overloadTable(newtable(L)); + int count = 1; + const char * function_name = fobj->name.c_str(); + for (detail::function_object const* f = fobj; f != 0; f = f->next) + { + f->format_signature(L, function_name); + detail::stack_pop pop(L, 1); + overloadTable[count] = object(from_stack(L, -1)); + + ++count; + } + /// @todo + + return overloadTable; + } + +} + +LUABIND_API int bind_function_introspection(lua_State * L) { + module(L, "function_info")[ + def("get_function_overloads", &get_function_overloads), + def("get_function_name", &get_function_name) + ]; + return 0; +} + +} // end of namespace luabind diff --git a/external/sources/luabind-oberon00-49814f6/src/inheritance.cpp b/external/sources/luabind-oberon00-49814f6/src/inheritance.cpp new file mode 100644 index 0000000000..13291014fe --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/inheritance.cpp @@ -0,0 +1,265 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#define LUABIND_BUILDING + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + + +namespace luabind { namespace detail { + +LUABIND_API char classid_map_tag = 0; +LUABIND_API char class_map_tag = 0; +char cast_graph_tag = 0; + +class_id const class_id_map::local_id_base = + std::numeric_limits::max() / 2; + +namespace +{ + + struct edge + { + edge(class_id target_, cast_function cast_) + : target(target_) + , cast(cast_) + {} + + class_id target; + cast_function cast; + }; + + bool operator<(edge const& x, edge const& y) + { + return x.target < y.target; + } + + struct vertex + { + vertex(class_id id_) + : id(id_) + {} + + class_id id; + std::vector edges; + }; + + typedef std::pair cache_entry; + + class cache + { + public: + static std::ptrdiff_t const unknown; + static std::ptrdiff_t const invalid; + + cache_entry get( + class_id src, class_id target, class_id dynamic_id + , std::ptrdiff_t object_offset) const; + + void put( + class_id src, class_id target, class_id dynamic_id + , std::ptrdiff_t object_offset + , std::ptrdiff_t offset, int distance); + + void invalidate(); + + private: + typedef boost::tuple< + class_id, class_id, class_id, std::ptrdiff_t> key_type; + typedef std::map map_type; + map_type m_cache; + }; + + std::ptrdiff_t const cache::unknown = + std::numeric_limits::max(); + std::ptrdiff_t const cache::invalid = cache::unknown - 1; + + cache_entry cache::get( + class_id src, class_id target, class_id dynamic_id + , std::ptrdiff_t object_offset) const + { + map_type::const_iterator i = m_cache.find( + key_type(src, target, dynamic_id, object_offset)); + return i != m_cache.end() ? i->second : cache_entry(unknown, -1); + } + + void cache::put( + class_id src, class_id target, class_id dynamic_id + , std::ptrdiff_t object_offset, std::ptrdiff_t offset, int distance) + { + m_cache.insert(std::make_pair( + key_type(src, target, dynamic_id, object_offset) + , cache_entry(offset, distance) + )); + } + + void cache::invalidate() + { + m_cache.clear(); + } + +} // namespace unnamed + +class cast_graph::impl +{ +public: + std::pair cast( + void* p, class_id src, class_id target + , class_id dynamic_id, void const* dynamic_ptr) const; + void insert(class_id src, class_id target, cast_function cast); + +private: + std::vector m_vertices; + mutable cache m_cache; +}; + +namespace +{ + + struct queue_entry + { + queue_entry(void* p_, class_id vertex_id_, int distance_) + : p(p_) + , vertex_id(vertex_id_) + , distance(distance_) + {} + + void* p; + class_id vertex_id; + int distance; + }; + +} // namespace unnamed + +std::pair cast_graph::impl::cast( + void* const p, class_id src, class_id target + , class_id dynamic_id, void const* dynamic_ptr) const +{ + if (src == target) + return std::make_pair(p, 0); + + if (src >= m_vertices.size() || target >= m_vertices.size()) + return std::pair(static_cast(0), -1); + + std::ptrdiff_t const object_offset = + static_cast(dynamic_ptr) - static_cast(p); + + cache_entry cached = m_cache.get(src, target, dynamic_id, object_offset); + + if (cached.first != cache::unknown) + { + if (cached.first == cache::invalid) + return std::pair(static_cast(0), -1); + return std::make_pair(static_cast(p) + cached.first, cached.second); + } + + std::queue q; + q.push(queue_entry(p, src, 0)); + + boost::dynamic_bitset<> visited(m_vertices.size()); + + while (!q.empty()) + { + queue_entry const qe = q.front(); + q.pop(); + + visited[qe.vertex_id] = true; + vertex const& v = m_vertices[qe.vertex_id]; + + if (v.id == target) + { + m_cache.put( + src, target, dynamic_id, object_offset + , static_cast(qe.p) - static_cast(p), qe.distance + ); + + return std::make_pair(qe.p, qe.distance); + } + + BOOST_FOREACH(edge const& e, v.edges) + { + if (visited[e.target]) + continue; + if (void* casted = e.cast(qe.p)) + q.push(queue_entry(casted, e.target, qe.distance + 1)); + } + } + + m_cache.put(src, target, dynamic_id, object_offset, cache::invalid, -1); + + return std::pair(static_cast(0), -1); +} + +void cast_graph::impl::insert( + class_id src, class_id target, cast_function cast_) +{ + class_id const max_id = std::max(src, target); + + if (max_id >= m_vertices.size()) + { + m_vertices.reserve(max_id + 1); + for (class_id i = m_vertices.size(); i < max_id + 1; ++i) + m_vertices.push_back(vertex(i)); + } + + std::vector& edges = m_vertices[src].edges; + + std::vector::iterator i = std::lower_bound( + edges.begin(), edges.end(), edge(target, 0) + ); + + if (i == edges.end() || i->target != target) + { + edges.insert(i, edge(target, cast_)); + m_cache.invalidate(); + } +} + +std::pair cast_graph::cast( + void* p, class_id src, class_id target + , class_id dynamic_id, void const* dynamic_ptr) const +{ + return m_impl->cast(p, src, target, dynamic_id, dynamic_ptr); +} + +void cast_graph::insert(class_id src, class_id target, cast_function cast_) +{ + m_impl->insert(src, target, cast_); +} + +cast_graph::cast_graph() + : m_impl(new impl) +{} + +cast_graph::~cast_graph() +{} + +LUABIND_API class_id allocate_class_id(type_id const& cls) +{ + typedef std::map map_type; + + static map_type registered; + static class_id id = 0; + + std::pair inserted = registered.insert( + std::make_pair(cls, id)); + + if (inserted.second) + ++id; + + return inserted.first->second; +} + +}} // namespace luabind::detail diff --git a/external/sources/luabind-0.7.1/src/link_compatibility.cpp b/external/sources/luabind-oberon00-49814f6/src/link_compatibility.cpp old mode 100755 new mode 100644 similarity index 85% rename from external/sources/luabind-0.7.1/src/link_compatibility.cpp rename to external/sources/luabind-oberon00-49814f6/src/link_compatibility.cpp index d22c68b730..7a6fc399e1 --- a/external/sources/luabind-0.7.1/src/link_compatibility.cpp +++ b/external/sources/luabind-oberon00-49814f6/src/link_compatibility.cpp @@ -20,22 +20,23 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE // OR OTHER DEALINGS IN THE SOFTWARE. +#define LUABIND_BUILDING + #include namespace luabind { namespace detail { #ifdef LUABIND_NOT_THREADSAFE - void not_threadsafe_defined_conflict() {} + void not_threadsafe_defined_conflict() {} #else - void not_threadsafe_not_defined_conflict() {} + void not_threadsafe_not_defined_conflict() {} #endif #ifdef LUABIND_NO_ERROR_CHECKING - void no_error_checking_defined_conflict() {} + void no_error_checking_defined_conflict() {} #else - void no_error_checking_not_defined_conflict() {} + void no_error_checking_not_defined_conflict() {} #endif }} - diff --git a/external/sources/luabind-oberon00-49814f6/src/lua51compat.cpp b/external/sources/luabind-oberon00-49814f6/src/lua51compat.cpp new file mode 100644 index 0000000000..5d149be1a4 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/lua51compat.cpp @@ -0,0 +1,58 @@ +// Copyright Christian Neumüller 2015. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#define LUABIND_BUILDING +#include + +#if LUA_VERSION_NUM < 502 + +// Taken (with slightly adapted formatting) from Lua 5.2.3: +/* +** $Id: lauxlib.c,v 1.248.1.1 2013/04/12 18:48:47 roberto Exp $ +** Auxiliary functions for building Lua libraries +* Copyright (C) 1994-2013 Lua.org, PUC-Rio. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +LUABIND_API char const* luaL_tolstring (lua_State* L, int idx, size_t* len) +{ + if (!luaL_callmeta(L, idx, "__tostring")) { /* no metafield? */ + switch (lua_type(L, idx)) { + case LUA_TNUMBER: + case LUA_TSTRING: + lua_pushvalue(L, idx); + break; + case LUA_TBOOLEAN: + lua_pushstring(L, (lua_toboolean(L, idx) ? "true" : "false")); + break; + case LUA_TNIL: + lua_pushliteral(L, "nil"); + break; + default: + lua_pushfstring(L, "%s: %p", luaL_typename(L, idx), + lua_topointer(L, idx)); + break; + } + } + return lua_tolstring(L, -1, len); +} + +#endif // LUA_VERSION_NUM < 502 diff --git a/external/sources/luabind-oberon00-49814f6/src/meson.build b/external/sources/luabind-oberon00-49814f6/src/meson.build new file mode 100644 index 0000000000..9e3af6952d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/meson.build @@ -0,0 +1,24 @@ +luabind_src = files( +'class.cpp', +'class_info.cpp', +'class_registry.cpp', +'class_rep.cpp', +'create_class.cpp', +'error.cpp', +'exception_handler.cpp', +'function.cpp', +'function_introspection.cpp', +'inheritance.cpp', +'link_compatibility.cpp', +'lua51compat.cpp', +'object_rep.cpp', +'open.cpp', +'operator.cpp', +'pcall.cpp', +'scope.cpp', +'set_package_preload.cpp', +'shared_ptr_converter.cpp', +'stack_content_by_name.cpp', +'weak_ref.cpp', +'wrapper_base.cpp', +) diff --git a/external/sources/luabind-oberon00-49814f6/src/object_rep.cpp b/external/sources/luabind-oberon00-49814f6/src/object_rep.cpp new file mode 100644 index 0000000000..34d89db247 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/object_rep.cpp @@ -0,0 +1,333 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include // for get_class_name +#include +#include + +#include + +namespace luabind { namespace detail +{ + + // dest is a function that is called to delete the c++ object this struct holds + object_rep::object_rep(instance_holder* instance, class_rep* crep_) + : m_instance(instance) + , m_classrep(crep_) + , m_dependency_cnt(0) + {} + + object_rep::~object_rep() + { + if (!m_instance) + return; + m_instance->~instance_holder(); + deallocate(m_instance); + } + + void object_rep::add_dependency(lua_State* L, int index) + { + assert(m_dependency_cnt < sizeof(object_rep)); + + void* key = reinterpret_cast(this) + m_dependency_cnt; + + lua_pushlightuserdata(L, key); + lua_pushvalue(L, index); + lua_rawset(L, LUA_REGISTRYINDEX); + + ++m_dependency_cnt; + } + + void object_rep::release_dependency_refs(lua_State* L) + { + for (std::size_t i = 0; i < m_dependency_cnt; ++i) + { + void* key = reinterpret_cast(this) + i; + lua_pushlightuserdata(L, key); + lua_pushnil(L); + lua_rawset(L, LUA_REGISTRYINDEX); + } + } + + static int destroy_instance(lua_State* L) + { + object_rep* instance = static_cast(lua_touserdata(L, 1)); + + lua_pushliteral(L, "__finalize"); + lua_gettable(L, 1); + + if (lua_isnil(L, -1)) + { + lua_pop(L, 1); + } + else + { + lua_pushvalue(L, 1); + lua_call(L, 1, 0); + } + + instance->release_dependency_refs(L); + instance->~object_rep(); + + lua_pushnil(L); + lua_setmetatable(L, 1); + return 0; + } + + namespace + { + + int set_instance_value(lua_State* L) + { + lua_getuservalue(L, 1); + lua_pushvalue(L, 2); + lua_rawget(L, -2); + + if (lua_isnil(L, -1) && lua_getmetatable(L, -2)) + { + lua_pushvalue(L, 2); + lua_rawget(L, -2); + lua_replace(L, -3); + lua_pop(L, 1); + } + + if (lua_tocfunction(L, -1) == &property_tag && lua_tocfunction(L, 3) != &property_tag) + { + // this member is a property, extract the "set" function and call it. + lua_getupvalue(L, -1, 2); + + if (lua_isnil(L, -1)) + { + lua_pushfstring(L, "property '%s' is read only", lua_tostring(L, 2)); + lua_error(L); + } + + lua_pushvalue(L, 1); + lua_pushvalue(L, 3); + lua_call(L, 2, 0); + return 0; + } + + lua_pop(L, 1); + + if (!lua_getmetatable(L, 4)) + { + lua_newtable(L); + lua_pushvalue(L, -1); + lua_setuservalue(L, 1); + lua_pushvalue(L, 4); + lua_setmetatable(L, -2); + } + else + { + lua_pop(L, 1); + } + + lua_pushvalue(L, 2); + lua_pushvalue(L, 3); + lua_rawset(L, -3); + + return 0; + } + + int get_instance_value(lua_State* L) + { + lua_getuservalue(L, 1); + lua_pushvalue(L, 2); + lua_rawget(L, -2); + + if (lua_isnil(L, -1) && lua_getmetatable(L, -2)) + { + lua_pushvalue(L, 2); + lua_rawget(L, -2); + } + + if (lua_tocfunction(L, -1) == &property_tag) + { + // this member is a property, extract the "get" function and call it. + lua_getupvalue(L, -1, 1); + lua_pushvalue(L, 1); + lua_call(L, 1, 1); + } + + return 1; + } + + int dispatch_operator(lua_State* L) + { + int const name_upvalue = lua_upvalueindex(1); + for (int i = 0; i < 2; ++i) + { + if (get_instance(L, 1 + i)) + { + int nargs = lua_gettop(L); + + lua_pushvalue(L, name_upvalue); // operator name + // instance[operator name] (via get_instance_value / __index) + lua_gettable(L, 1 + i); + + if (lua_isnil(L, -1)) + { + lua_pop(L, 1); + continue; + } + + lua_insert(L, 1); // move the function to the bottom + + bool const is_unary = lua_toboolean(L, lua_upvalueindex(2)) ? + true : false; // Avoid MSVC "performance warning". + + nargs = is_unary ? 1 : nargs; + + if (is_unary) // remove trailing nil + lua_remove(L, 3); + + lua_call(L, nargs, LUA_MULTRET); + return lua_gettop(L); + } + } + + object_rep* inst = get_instance(L, 1); + assert(inst); + char const* op_name = lua_tostring(L, name_upvalue); + + if (std::strcmp(op_name, "__eq") == 0) + { + object_rep* inst2 = get_instance(L, 2); + if (!inst2) + { + lua_pushboolean(L, false); + return 1; + } + class_id clsid = inst->crep()->classes().get( + inst->crep()->type()); + void* addr = inst->get_instance(clsid).first; + void* addr2 = inst2->get_instance(clsid).first; + bool const null_inst = !addr; + if (!addr2) + { + clsid = inst2->crep()->classes().get( + inst2->crep()->type()); + addr = inst->get_instance(clsid).first; + addr2 = inst2->get_instance(clsid).first; + if (!addr2) + { + lua_pushboolean(L, null_inst); + return 1; + } + } + lua_pushboolean(L, addr == addr2); + return 1; + } + + char const* const_s = inst->is_const() ? "const " : ""; + std::string const cls_name = get_class_name(L, inst->crep()->type()); + + if (std::strcmp(op_name, "__tostring") == 0) + { + class_id clsid = inst->crep()->classes().get( + inst->crep()->type()); + void* addr = inst->get_instance(clsid).first; + lua_pushfstring(L, "%s%s object: %p", + const_s, cls_name.c_str(), addr); + return 1; + } + + lua_pushfstring(L, "%sclass %s: no %s operator defined.", + const_s, cls_name.c_str(), op_name); + return lua_error(L); + } + + } // namespace unnamed + + LUABIND_API void push_instance_metatable(lua_State* L) + { + // One sequence entry for the tag, 4 non-sequence entries for + // __gc, __index, __newindex and __metatable and + // one more for each operator. + lua_createtable(L, 1, 4 + number_of_operators); + + // This is used as a tag to determine if a userdata is a luabind + // instance. We use a numeric key and a cclosure for fast comparision. + lua_pushcfunction(L, get_instance_value); + lua_rawseti(L, -2, 1); + + lua_pushliteral(L, "__gc"); + lua_pushcfunction(L, destroy_instance); + lua_rawset(L, -3); + + lua_pushliteral(L, "__index"); + lua_pushcfunction(L, get_instance_value); + lua_rawset(L, -3); + + lua_pushliteral(L, "__newindex"); + lua_pushcfunction(L, set_instance_value); + lua_rawset(L, -3); + + // Direct calls to metamethods cannot be allowed, because the + // callee trusts the caller to pass arguments of the right type. + lua_pushliteral(L, "__metatable"); + lua_pushboolean(L, true); + lua_rawset(L, -3); + + for (int op = 0; op < number_of_operators; ++op) + { + lua_pushstring(L, get_operator_name(op)); + lua_pushvalue(L, -1); + lua_pushboolean(L, op == op_unm || op == op_len); // Unary? + lua_pushcclosure(L, &dispatch_operator, 2); + lua_rawset(L, -3); + } + } + + LUABIND_API object_rep* get_instance(lua_State* L, int index) + { + object_rep* result = static_cast(lua_touserdata(L, index)); + + if (!result || !lua_getmetatable(L, index)) + return 0; + + lua_rawgeti(L, -1, 1); + + if (lua_tocfunction(L, -1) != &get_instance_value) + result = 0; + + lua_pop(L, 2); + + return result; + } + + LUABIND_API object_rep* push_new_instance(lua_State* L, class_rep* cls) + { + void* storage = lua_newuserdata(L, sizeof(object_rep)); + object_rep* result = new (storage) object_rep(0, cls); + cls->get_table(L); + lua_setuservalue(L, -2); + lua_rawgeti(L, LUA_REGISTRYINDEX, cls->metatable_ref()); + lua_setmetatable(L, -2); + return result; + } + +}} diff --git a/external/sources/luabind-oberon00-49814f6/src/open.cpp b/external/sources/luabind-oberon00-49814f6/src/open.cpp new file mode 100644 index 0000000000..551af14a88 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/open.cpp @@ -0,0 +1,144 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include +#include +#include + +#include + + +namespace luabind { + +namespace +{ + + int make_property(lua_State* L) + { + int args = lua_gettop(L); + + if (args == 0 || args > 2) + { + lua_pushliteral(L, "make_property() called with wrong number of arguments."); + lua_error(L); + } + + if (args == 1) + lua_pushnil(L); + + lua_pushcclosure(L, &detail::property_tag, 2); + return 1; + } + + int main_thread_tag; + + int deprecated_super(lua_State* L) + { + lua_pushliteral(L, + "DEPRECATION: 'super' has been deprecated in favor of " + "directly calling the base class __init() function. " + "This error can be disabled by calling 'luabind::disable_super_deprecation()'." + ); + lua_error(L); + + return 0; + } + +} // namespace unnamed + + LUABIND_API lua_State* get_main_thread(lua_State* L) + { + lua_pushlightuserdata(L, &main_thread_tag); + lua_rawget(L, LUA_REGISTRYINDEX); + lua_State* result = static_cast(lua_touserdata(L, -1)); + lua_pop(L, 1); + + if (!result) + throw std::runtime_error("Unable to get main thread, luabind::open() not called?"); + + return result; + } + namespace { + template + inline void* create_gc_udata(lua_State* L, void* tag) { + void* storage = lua_newuserdata(L, sizeof(T)); + + // set gc metatable + lua_createtable(L, 0, 1); // one (non-sequence) element. + lua_pushcfunction(L, &detail::garbage_collector); + lua_setfield(L, -2, "__gc"); + lua_setmetatable(L, -2); + + lua_rawsetp(L, LUA_REGISTRYINDEX, tag); + return storage; + } + + template + inline void push_gc_udata(lua_State* L, void* tag) { + void* storage = create_gc_udata(L, tag); + new (storage) T; + } + + template + inline void push_gc_udata(lua_State* L, void* tag, A1 constructorArg) { + void* storage = create_gc_udata(L, tag); + new (storage) T(constructorArg); + } + } + + LUABIND_API void open(lua_State* L) + { + bool is_main_thread = lua_pushthread(L) == 1; + lua_pop(L, 1); + + if (!is_main_thread) + { + throw std::runtime_error( + "luabind::open() must be called with the main thread " + "lua_State*" + ); + } + + push_gc_udata(L, &detail::classes_tag, L); + push_gc_udata(L, &detail::classid_map_tag); + push_gc_udata(L, &detail::cast_graph_tag); + push_gc_udata(L, &detail::class_map_tag); + + // add functions (class, cast etc...) + lua_pushcfunction(L, detail::create_class::stage1); + lua_setglobal(L, "class"); + + lua_pushcfunction(L, &make_property); + lua_setglobal(L, "property"); + + lua_pushlightuserdata(L, &main_thread_tag); + lua_pushlightuserdata(L, L); + lua_rawset(L, LUA_REGISTRYINDEX); + + lua_pushcfunction(L, &deprecated_super); + lua_setglobal(L, "super"); + } + +} // namespace luabind diff --git a/external/sources/luabind-oberon00-49814f6/src/operator.cpp b/external/sources/luabind-oberon00-49814f6/src/operator.cpp new file mode 100644 index 0000000000..5863311e53 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/operator.cpp @@ -0,0 +1,31 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include + +namespace luabind +{ + LUABIND_API self_type self; + LUABIND_API const_self_type const_self; +} diff --git a/external/sources/luabind-oberon00-49814f6/src/pcall.cpp b/external/sources/luabind-oberon00-49814f6/src/pcall.cpp new file mode 100644 index 0000000000..6f6e9e9081 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/pcall.cpp @@ -0,0 +1,64 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include + +#include + +namespace luabind { namespace detail +{ + int pcall(lua_State *L, int nargs, int nresults) + { + pcall_callback_fun e = get_pcall_callback(); + int en = 0; + if ( e ) + { + int base = lua_gettop(L) - nargs; + lua_pushcfunction(L, e); + lua_insert(L, base); // push pcall_callback under chunk and args + en = base; + } + int result = lua_pcall(L, nargs, nresults, en); + if ( en ) + lua_remove(L, en); // remove pcall_callback + return result; + } + + int resume_impl(lua_State *L, int nargs, int) + { +#if LUA_VERSION_NUM >= 504 + int nresults; + int res = lua_resume(L, NULL, nargs, &nresults); +#elif LUA_VERSION_NUM >= 502 + int res = lua_resume(L, NULL, nargs); +#else + int res = lua_resume(L, nargs); +#endif + // Lua 5.1 added LUA_YIELD as a possible return value, + // this was causing crashes, because the caller expects 0 on success. + return (res == LUA_YIELD) ? 0 : res; + } + +}} diff --git a/external/sources/luabind-0.7.1/src/scope.cpp b/external/sources/luabind-oberon00-49814f6/src/scope.cpp old mode 100755 new mode 100644 similarity index 79% rename from external/sources/luabind-0.7.1/src/scope.cpp rename to external/sources/luabind-oberon00-49814f6/src/scope.cpp index 73ccfdf355..d980c99e64 --- a/external/sources/luabind-0.7.1/src/scope.cpp +++ b/external/sources/luabind-oberon00-49814f6/src/scope.cpp @@ -20,11 +20,14 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE // OR OTHER DEALINGS IN THE SOFTWARE. -#include +#define LUABIND_BUILDING -#include #include #include +#include + +#include + #include namespace luabind { namespace detail { @@ -40,12 +43,12 @@ namespace luabind { namespace detail { } } // namespace detail - + scope::scope() : m_chain(0) { } - + scope::scope(std::auto_ptr reg) : m_chain(reg.release()) { @@ -57,20 +60,28 @@ namespace luabind { namespace detail { const_cast(other).m_chain = 0; } + scope& scope::operator=(scope const& other_) + { + delete m_chain; + m_chain = other_.m_chain; + const_cast(other_).m_chain = 0; + return *this; + } + scope::~scope() { delete m_chain; } - + scope& scope::operator,(scope s) { - if (!m_chain) + if (!m_chain) { m_chain = s.m_chain; s.m_chain = 0; return *this; } - + for (detail::registration* c = m_chain;; c = c->m_next) { if (!c->m_next) @@ -88,7 +99,7 @@ namespace luabind { namespace detail { { for (detail::registration* r = m_chain; r != 0; r = r->m_next) { - LUABIND_CHECK_STACK(L); + LUABIND_CHECK_STACK(L); r->register_(L); } } @@ -115,40 +126,44 @@ namespace luabind { }; } // namespace unnamed - - module_::module_(lua_State* L, char const* name = 0) - : m_state(L) - , m_name(name) + + module_::module_(object const& table) + : m_table(table) { } - void module_::operator[](scope s) + module_::module_(lua_State* L, char const* name) { - if (m_name) + if (name) { - lua_pushstring(m_state, m_name); - lua_gettable(m_state, LUA_GLOBALSINDEX); + lua_getglobal(L, name); - if (!lua_istable(m_state, -1)) + if (!lua_istable(L, -1)) { - lua_pop(m_state, 1); + lua_pop(L, 1); - lua_newtable(m_state); - lua_pushstring(m_state, m_name); - lua_pushvalue(m_state, -2); - lua_settable(m_state, LUA_GLOBALSINDEX); + lua_newtable(L); + lua_pushvalue(L, -1); + lua_setglobal(L, name); } } else { - lua_pushvalue(m_state, LUA_GLOBALSINDEX); + lua_pushglobaltable(L); } - lua_pop_stack guard(m_state); - - s.register_(m_state); + m_table = object(from_stack(L, -1)); + lua_pop(L, 1); } + void module_::operator[](scope s) + { + lua_State* L = m_table.interpreter(); + m_table.push(L); + lua_pop_stack guard(L); + s.register_(L); + } + struct namespace_::registration_ : detail::registration { registration_(char const* name) @@ -158,13 +173,13 @@ namespace luabind { void register_(lua_State* L) const { - LUABIND_CHECK_STACK(L); + LUABIND_CHECK_STACK(L); assert(lua_gettop(L) >= 1); lua_pushstring(L, m_name); lua_gettable(L, -2); - detail::stack_pop p(L, 1); // pops the table on exit + detail::stack_pop p(L, 1); // pops the table on exit if (!lua_istable(L, -1)) { @@ -191,9 +206,8 @@ namespace luabind { namespace_& namespace_::operator[](scope s) { - m_registration->m_scope.operator,(s); + m_registration->m_scope.operator,(s); return *this; } } // namespace luabind - diff --git a/external/sources/luabind-oberon00-49814f6/src/set_package_preload.cpp b/external/sources/luabind-oberon00-49814f6/src/set_package_preload.cpp new file mode 100644 index 0000000000..b14b7b9648 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/set_package_preload.cpp @@ -0,0 +1,89 @@ +/** + @file + @brief Implementation + + @date 2012 + + @author + Ryan Pavlik + and + http://academic.cleardefinition.com/ + Iowa State University Virtual Reality Applications Center + Human-Computer Interaction Graduate Program +*/ + +// Copyright Iowa State University 2012. +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +// Internal Includes +#include // for LUABIND_API +#include +#include + +// Library/third-party includes +#include // for lua_pushstring, lua_rawset, etc + +// Standard includes +// - none + +static int do_set_package_preload(lua_State* L) +{ + // Note: Use ordinary set/get instead of the raw variants, because this + // function should not be performance sensitive anyway. + lua_pushglobaltable(L); + lua_getfield(L, -1, "package"); + lua_remove(L, -2); // Remove global table. + lua_getfield(L, -1, "preload"); + lua_remove(L, -2); // Remove package table. + lua_insert(L, -3); // Move package.preload beneath key and value. + lua_settable(L, -3); // package.preload[modulename] = loader + return 0; +} + +static int proxy_loader(lua_State* L) +{ + luaL_checkstring(L, 1); // First argument should be the module name. + lua_settop(L, 1); // Ignore any other arguments. + lua_pushvalue(L, lua_upvalueindex(1)); // Push the real loader. + lua_insert(L, 1); // Move it beneath the argument. + lua_call(L, 1, LUA_MULTRET); // Pops everyhing. + return lua_gettop(L); +} + + +namespace luabind { + LUABIND_API void set_package_preload( + lua_State * L, char const* modulename, object const& loader) + { + loader.push(L); + lua_pushcclosure(L, &proxy_loader, 1); + object const proxy_ldr(from_stack(L, -1)); + lua_pop(L, 1); // pop do_load. + lua_pushcfunction(L, &do_set_package_preload); + // Must use object for correct popping in case of errors: + object do_set(from_stack(L, -1)); + lua_pop(L, 1); + do_set(modulename, proxy_ldr); + } + +} // namespace luabind diff --git a/external/sources/luabind-oberon00-49814f6/src/shared_ptr_converter.cpp b/external/sources/luabind-oberon00-49814f6/src/shared_ptr_converter.cpp new file mode 100644 index 0000000000..27089387fd --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/shared_ptr_converter.cpp @@ -0,0 +1,51 @@ +#define LUABIND_BUILDING +#include + +#include + +static char state_unreferenced_callback_tag = 0; +LUABIND_API char luabind::detail::state_use_count_tag = 0; + +void luabind::detail::shared_ptr_deleter::alter_use_count( + lua_State* L, lua_Integer diff) +{ + lua_rawgetp(L, LUA_REGISTRYINDEX, &state_use_count_tag); + lua_Integer uc = lua_tointeger(L, -1) + diff; + lua_pop(L, 1); + assert(uc >= 0); + lua_pushinteger(L, uc); + lua_rawsetp(L, LUA_REGISTRYINDEX, &state_use_count_tag); + + if (!uc) + { + if (state_unreferenced_fun cb = get_state_unreferenced_callback(L)) + cb(L); + } +} + +void luabind::set_state_unreferenced_callback( + lua_State* L, state_unreferenced_fun cb) +{ + lua_pushcfunction(L, reinterpret_cast(cb)); + lua_rawsetp(L, LUA_REGISTRYINDEX, &state_unreferenced_callback_tag); +} + +luabind::state_unreferenced_fun +luabind::get_state_unreferenced_callback( + lua_State* L) +{ + lua_rawgetp(L, LUA_REGISTRYINDEX, &state_unreferenced_callback_tag); + state_unreferenced_fun cb = reinterpret_cast( + lua_tocfunction(L, -1)); + lua_pop(L, 1); + return cb; +} + +bool luabind::is_state_unreferenced(lua_State* L) +{ + lua_rawgetp(L, LUA_REGISTRYINDEX, &detail::state_use_count_tag); + lua_Integer uc = lua_tointeger(L, -1); + lua_pop(L, 1); + assert(uc >= 0); + return uc <= 0; +} diff --git a/external/sources/luabind-oberon00-49814f6/src/stack_content_by_name.cpp b/external/sources/luabind-oberon00-49814f6/src/stack_content_by_name.cpp new file mode 100644 index 0000000000..31b26b15dc --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/stack_content_by_name.cpp @@ -0,0 +1,64 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include // for class_rep, is_class_rep +#include // for declaration of stack_content_by_name +#include // for get_instance, object_rep + +#include // for lua_gettop, lua_touserdata, etc + +#include // for string + +using namespace luabind::detail; + +LUABIND_API std::string luabind::detail::stack_content_by_name(lua_State* L, int start_index) +{ + std::string ret; + int top = lua_gettop(L); + for (int i = start_index; i <= top; ++i) + { + object_rep* obj = get_instance(L, i); + class_rep* crep = is_class_rep(L, i) + ? static_cast(lua_touserdata(L, i)) : 0; + if (obj == 0 && crep == 0) + { + int type = lua_type(L, i); + ret += lua_typename(L, type); + } + else if (obj) + { + if (obj->is_const()) ret += "const "; + ret += obj->crep()->name(); + } + else if (crep) + { + ret += "<"; + ret += crep->name(); + ret += ">"; + } + if (i < top) ret += ", "; + } + return ret; +} diff --git a/external/sources/luabind-oberon00-49814f6/src/weak_ref.cpp b/external/sources/luabind-oberon00-49814f6/src/weak_ref.cpp new file mode 100644 index 0000000000..82316f7f3a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/weak_ref.cpp @@ -0,0 +1,177 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include + +#include + +#include +#include + +namespace luabind { + +namespace +{ + + int weak_table_tag; + int impl_table_tag; + + + void get_weak_table(lua_State* L) + { + lua_rawgetp(L, LUA_REGISTRYINDEX, &weak_table_tag); + + if (lua_isnil(L, -1)) + { + lua_pop(L, 1); + lua_newtable(L); + // metatable + lua_createtable(L, 0, 1); // One non-sequence entry for __mode. + lua_pushliteral(L, "__mode"); + lua_pushliteral(L, "v"); + lua_rawset(L, -3); + // set metatable + lua_setmetatable(L, -2); + + lua_pushvalue(L, -1); + lua_rawsetp(L, LUA_REGISTRYINDEX, &weak_table_tag); + + } + + } + + void get_impl_table(lua_State* L) + { + + lua_pushlightuserdata(L, &impl_table_tag); + lua_rawget(L, LUA_REGISTRYINDEX); + + if (lua_isnil(L, -1)) + { + lua_pop(L, 1); + + lua_newtable(L); + lua_pushvalue(L, -1); + lua_rawsetp(L, LUA_REGISTRYINDEX, &impl_table_tag); + + } + } + +} // namespace unnamed + + struct weak_ref::impl + { + impl(lua_State* main, lua_State* s, int index) + : state(main) + , count(0) + , ref(0) + { + + get_impl_table(s); + lua_pushlightuserdata(s, this); + ref = luaL_ref(s, -2); + lua_pop(s, 1); + + get_weak_table(s); + lua_pushvalue(s, index); + lua_rawseti(s, -2, ref); + lua_pop(s, 1); + + } + + ~impl() + { + get_impl_table(state); + luaL_unref(state, -1, ref); + lua_pop(state, 1); + } + + lua_State* state; + int count; + int ref; + }; + + weak_ref::weak_ref() + : m_impl(0) + { + } + + weak_ref::weak_ref(lua_State* main, lua_State* L, int index) + : m_impl(new impl(main, L, index)) + { + m_impl->count = 1; + } + + weak_ref::weak_ref(weak_ref const& other) + : m_impl(other.m_impl) + { + if (m_impl) ++m_impl->count; + } + + weak_ref::~weak_ref() + { + if (m_impl && --m_impl->count == 0) + { + delete m_impl; + } + } + + weak_ref& weak_ref::operator=(weak_ref const& other) + { + weak_ref(other).swap(*this); + return *this; + } + + void weak_ref::swap(weak_ref& other) + { + std::swap(m_impl, other.m_impl); + } + + int weak_ref::id() const + { + assert(m_impl); + return m_impl->ref; + } + + // L may not be the same pointer as + // was used when creating this reference + // since it may be a thread that shares + // the same globals table. + void weak_ref::get(lua_State* L) const + { + assert(m_impl); + assert(L); + get_weak_table(L); + lua_rawgeti(L, -1, m_impl->ref); + lua_remove(L, -2); + } + + lua_State* weak_ref::state() const + { + assert(m_impl); + return m_impl->state; + } + +} // namespace luabind diff --git a/external/sources/luabind-oberon00-49814f6/src/wrapper_base.cpp b/external/sources/luabind-oberon00-49814f6/src/wrapper_base.cpp new file mode 100644 index 0000000000..1279748fff --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/src/wrapper_base.cpp @@ -0,0 +1,55 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#define LUABIND_BUILDING + +#include +#include +#include +#include +#include + +#include + +namespace luabind { namespace detail +{ + LUABIND_API void do_call_member_selection(lua_State* L, char const* name) + { + object_rep* obj = static_cast(lua_touserdata(L, -1)); + assert(obj); + + lua_pushstring(L, name); + lua_gettable(L, -2); + lua_replace(L, -2); + + if (!is_luabind_function(L, -1)) + return; + + // this (usually) means the function has not been + // overridden by lua, call the default implementation + lua_pop(L, 1); + obj->crep()->get_default_table(L); // push the crep table + lua_pushstring(L, name); + lua_gettable(L, -2); + lua_remove(L, -2); // remove the crep table + } +}} diff --git a/external/sources/luabind-oberon00-49814f6/test/CMakeLists.txt b/external/sources/luabind-oberon00-49814f6/test/CMakeLists.txt new file mode 100644 index 0000000000..f05f6c290e --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/CMakeLists.txt @@ -0,0 +1,122 @@ +# Build for LuaBind +# Ryan Pavlik +# http://academic.cleardefinition.com/ +# Iowa State University HCI Graduate Program/VRAC + +# ls test_*.cpp | sort | sed -e 's/test_//' -e 's/.cpp//' -e 's/^/ /' | grep -v "has_get_pointer" +# This command removes has_get_pointer because it is a compile-only test +set(TESTS + abstract_base + adopt + adopt_wrapper + attributes + automatic_smart_ptr + back_reference + builtin_converters + class_info + collapse_converter + const + construction + create_in_thread + def_from_base + destruction + dynamic_type + exception_handlers + exceptions + extend_class_in_lua + free_functions + function_converter + function_introspection + function_object + function_overload_overflow + held_type + implicit_cast + implicit_raw + intrusive_ptr + iterator + lua_classes + null_pointer + object + operators + # out_value // Currently fails to compile + package_preload + policies + private_destructors + properties + scope + separation + set_instance_value + shadow + shared_ptr + simple_class + smart_ptr_attributes + super_leak + table + tag_function + typetraits + unchecked + unsigned_int + user_defined_converter + value_wrapper + vector_of_object + vector_of_number + virtual_inheritance + yield) + +add_library(test_main STATIC + main.cpp + test.hpp + # These tests consist only of compile time asserts and define no test_main + # function: + test_has_get_pointer.cpp) + +if (BUILD_SHARED_LIBS AND MSVC) + add_custom_command(TARGET test_main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + $ $ + COMMENT "Copying DLL...") +endif() + +foreach(test ${TESTS}) + add_executable(test_${test} test_${test}.cpp) + target_link_libraries(test_${test} test_main luabind) + add_test(NAME ${test} COMMAND test_${test}) + set_property(TARGET test_${test} PROPERTY FOLDER "Tests") +endforeach() + +if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND LUABIND_ENABLE_WARNINGS) + set (priv_dtor_flags "-Wno-ctor-dtor-privacy") + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(priv_dtor_flags "${priv_dtor_flags} -Wno-unused-member-function") + endif() + set_property(TARGET test_private_destructors + PROPERTY COMPILE_FLAGS "${priv_dtor_flags}") + set_property(TARGET test_builtin_converters + PROPERTY COMPILE_FLAGS "-Wno-float-equal") +endif() + +add_executable(benchmark "benchmark.cpp") +target_link_libraries(benchmark ${LUA_LIBRARIES} luabind) + +option(LUABIND_BUILD_HEADER_TESTS "Try to compile every header in the luabind directory, excluding detail headers, in its own translation unit, to check for missing includes." OFF) + +if(BUILD_TESTING AND LUABIND_BUILD_HEADER_TESTS) + get_filename_component(BASE "${CMAKE_CURRENT_SOURCE_DIR}/../luabind" ABSOLUTE) + foreach(HEADER ${APIHEADERS}) + get_filename_component(FULLHEADER "${HEADER}" ABSOLUTE) + file(RELATIVE_PATH SHORTNAME "${BASE}" "${FULLHEADER}") + string(REPLACE "/" "_" SHORTNAME "${SHORTNAME}") + string(REPLACE ".hpp" "" SHORTNAME "${SHORTNAME}") + set (targetname test_headercompile_${SHORTNAME}) + set (cppname "${CMAKE_CURRENT_BINARY_DIR}/${targetname}.cpp") + configure_file(test_headercompile.cpp.in "${cppname}" @ONLY) + add_executable(${targetname} ${cppname}) + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND LUABIND_ENABLE_WARNINGS) + # Clang complains about '#define LUABIND_TEST_HEADERCOMPILE'. + set_property(TARGET ${targetname} + PROPERTY COMPILE_FLAGS "-Wno-unused-macros") + endif() + set_property(TARGET ${targetname} PROPERTY FOLDER "Tests/Headers") + target_link_libraries(${targetname} luabind) + endforeach() +endif() diff --git a/external/sources/luabind-oberon00-49814f6/test/benchmark.cpp b/external/sources/luabind-oberon00-49814f6/test/benchmark.cpp new file mode 100644 index 0000000000..d0df565959 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/benchmark.cpp @@ -0,0 +1,102 @@ +#include +#include + +namespace std +{ + using ::clock_t; +// using ::clock; +} + +#include + +#ifndef LUABIND_CPLUSPLUS_LUA +extern "C" +{ +#endif + #include "lua.h" + #include "lauxlib.h" +#ifndef LUABIND_CPLUSPLUS_LUA +} +#endif + +#include + +struct A {}; + +// luabind function +static float f1(int, float, const char*, A*) +{ + return 3.14f; +} + +// empty function +static int f2(lua_State*) +{ + return 0; +} + +inline double clocks_to_seconds(std::clock_t c) +{ + return static_cast(c) / CLOCKS_PER_SEC; +} + + +int main() +{ + const int num_calls = 100000; + const int loops = 10; + + using namespace luabind; + + lua_State* L = luaL_newstate(); + open(L); + + module(L) [ + class_("A") + .def(constructor<>()), + def("test1", &f1) + ]; + + lua_pushcclosure(L, &f2, 0); + lua_setglobal(L, "test2"); + + std::clock_t total1 = 0; + std::clock_t total2 = 0; + + for (int i = 0; i < loops; ++i) + { + // benchmark luabind + std::clock_t start1 = std::clock(); + luaL_dostring(L, "a = A()\n" + " for i = 1, 100000 do\n" + " test1(5, 4.6, 'foo', a)\n" + "end"); + + std::clock_t end1 = std::clock(); + + + // benchmark empty binding + std::clock_t start2 = std::clock(); + luaL_dostring(L, "a = A()\n" + "for i = 1, 100000 do\n" + " test2(5, 4.6, 'foo', a)\n" + "end"); + + std::clock_t end2 = std::clock(); + total1 += end1 - start1; + total2 += end2 - start2; + } + + + double time1 = clocks_to_seconds(total1); + double time2 = clocks_to_seconds(total2); + +#ifdef LUABIND_NO_ERROR_CHECKING + std::cout << "without error-checking\n"; +#endif + std::cout << "luabind: " << time1 * 1000000 / num_calls / loops << " microseconds per call\n" + << "empty : " << time2 * 1000000 / num_calls / loops << " microseconds per call\n" + << "diff : " << ((time1 - time2) * 1000000 / num_calls / loops) << " microseconds\n\n"; + + lua_close(L); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/main.cpp b/external/sources/luabind-oberon00-49814f6/test/main.cpp new file mode 100644 index 0000000000..327aca795a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/main.cpp @@ -0,0 +1,150 @@ +// Copyright (c) 2005 Daniel Wallin, Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#include "test.hpp" + +#include + +#ifndef LUABIND_CPLUSPLUS_LUA +extern "C" +{ +#endif +# include +#ifndef LUABIND_CPLUSPLUS_LUA +} +#endif + +#include // for open + +#include // for strlen +#include // for exception +#include // for operator<<, basic_ostream, etc +#include // for string + +struct lua_state +{ + lua_state(); + ~lua_state(); + + operator lua_State*() const; + void check() const; + +private: + lua_State* m_state; + int m_top; +}; + +lua_state::lua_state() + : m_state(luaL_newstate()) +{ + luaopen_base(m_state); +#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501 + // lua 5.1 or newer + luaL_openlibs(m_state); +#else + // lua 5.0.2 or older + lua_baselibopen(m_state); +#endif + m_top = lua_gettop(m_state); + luabind::open(m_state); +} + +lua_state::~lua_state() +{ + lua_close(m_state); +} + +void lua_state::check() const +{ + TEST_CHECK(lua_gettop(m_state) == m_top); +} + +lua_state::operator lua_State*() const +{ + return m_state; +} + +static int pcall_handler(lua_State*) +{ + return 1; +} + +void dostring(lua_State* state, char const* str) +{ + lua_pushcclosure(state, &pcall_handler, 0); + + if (luaL_loadbuffer(state, str, std::strlen(str), str)) + { + std::string err(lua_tostring(state, -1)); + lua_pop(state, 2); + throw err; + } + + if (lua_pcall(state, 0, 0, -2)) + { + std::string err(lua_tostring(state, -1)); + lua_pop(state, 2); + throw err; + } + + lua_pop(state, 1); +} + +static bool tests_failure = false; + +void report_failure(char const* err, char const* file, int line) +{ + std::cerr << file << ":" << line << "\"" << err << "\"\n"; + tests_failure = true; +} + +int main() +{ + lua_state L; +#ifndef LUABIND_NO_EXCEPTIONS + try + { +#endif + test_main(L); + L.check(); + return tests_failure ? 1 : 0; +#ifndef LUABIND_NO_EXCEPTIONS + } + catch (luabind::error const& e) + { + std::cerr << "Terminated with exception: \"" << e.what() << "\"\n" + << lua_tostring(e.state(), -1) << "\n"; + return 1; + } + catch (std::exception const& e) + { + std::cerr << "Terminated with exception: \"" << e.what() << "\"\n"; + return 1; + } + catch (...) + { + std::cerr << "Terminated with unknown exception\n"; + return 1; + } +#endif +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test.hpp b/external/sources/luabind-oberon00-49814f6/test/test.hpp new file mode 100644 index 0000000000..4110d107a6 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test.hpp @@ -0,0 +1,139 @@ +// Copyright (c) 2005 Daniel Wallin, Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#ifndef TEST_050415_HPP +#define TEST_050415_HPP + + +#include + +#include +#include + +#include + +// See boost/exception/detail/attribute_noreturn.hpp +#if defined(BOOST_CLANG) +// Clang's noreturn changes the type so that it is not recognizable by +// Boost.FunctionTypes. +# define LUABIND_ATTRIBUTE_NORETURN +#elif defined(_MSC_VER) +# define LUABIND_ATTRIBUTE_NORETURN __declspec(noreturn) +#elif defined(__GNUC__) +# define LUABIND_ATTRIBUTE_NORETURN __attribute__((__noreturn__)) +#else +# define LUABIND_ATTRIBUTE_NORETURN +#endif + + +// Individual tests must provide a definition for this function: +void test_main(lua_State* L); + + +void report_failure(char const* str, char const* file, int line); + +#if defined(_MSC_VER) +#define COUNTER_GUARD(x) +#else +#define COUNTER_GUARD(type) \ + struct BOOST_PP_CAT(type, _counter_guard) \ + { \ + ~BOOST_PP_CAT(type, _counter_guard()) \ + { \ + TEST_CHECK(counted_type::count == 0); \ + } \ + } BOOST_PP_CAT(type, _guard) +#endif + +#define TEST_REPORT_AUX(x, line, file) \ + report_failure(x, line, file) + +#define TEST_CHECK(x) \ + if (!(x)) \ + TEST_REPORT_AUX("TEST_CHECK failed: \"" #x "\"", __FILE__, __LINE__) + +#define TEST_ERROR(x) \ + TEST_REPORT_AUX((std::string("ERROR: \"") + x + "\"").c_str(), __FILE__, __LINE__) + +#define TEST_NOTHROW(x) \ + try \ + { \ + x; \ + } \ + catch (...) \ + { \ + TEST_ERROR("Exception thrown: " #x); \ + } + +void dostring(lua_State* L, char const* str); + +template +struct counted_type +{ + static int count; + + counted_type() + { + ++count; + } + + counted_type(counted_type const&) + { + ++count; + } + + ~counted_type() + { + TEST_CHECK(--count >= 0); + } +}; + +template +int counted_type::count = 0; + +#define DOSTRING_EXPECTED(state_, str, expected) \ +{ \ + try \ + { \ + dostring(state_, str); \ + } \ + catch (std::string const& s) \ + { \ + if (s.find(expected) == std::string::npos) \ + TEST_ERROR("Expected error '" \ + + expected + "' but got '" + s + "'"); \ + } \ +} + +#define DOSTRING(state_, str) \ +{ \ + try \ + { \ + dostring(state_, str); \ + } \ + catch (std::string const& s) \ + { \ + TEST_ERROR(s.c_str()); \ + } \ +} + +#endif // TEST_050415_HPP diff --git a/external/sources/luabind-oberon00-49814f6/test/test_abstract_base.cpp b/external/sources/luabind-oberon00-49814f6/test/test_abstract_base.cpp new file mode 100644 index 0000000000..d3fedaa26d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_abstract_base.cpp @@ -0,0 +1,120 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" + +#include + +using namespace luabind; + +namespace { + +struct abstract +{ + virtual ~abstract() {} + virtual std::string hello() = 0; +}; + +COUNTER_GUARD(abstract); + +struct concrete : abstract +{ + std::string hello() + { + return "test string"; + } +}; + +struct abstract_wrap : abstract, wrap_base +{ + std::string hello() + { + return call_member(this, "hello"); + } +}; + +static std::string call_hello(abstract& a) +{ + return a.hello(); +} + +static abstract& return_abstract_ref() +{ + static concrete c; + return c; +} + +static abstract const& return_const_abstract_ref() +{ + static concrete c; + return c; +} + +} // namespace unnamed + + +void test_main(lua_State* L) +{ + module(L) + [ + class_("abstract") + .def(constructor<>()) + .def("hello", &abstract::hello), + + def("call_hello", &call_hello), + def("return_abstract_ref", &return_abstract_ref), + def("return_const_abstract_ref", &return_const_abstract_ref) + ]; + + DOSTRING_EXPECTED(L, + "x = abstract()\n" + "x:hello()\n" + , "std::runtime_error: 'Attempt to call nonexistent function'"); + + DOSTRING_EXPECTED(L, + "call_hello(x)\n" + , "std::runtime_error: 'Attempt to call nonexistent function'"); + + DOSTRING(L, + "class 'concrete' (abstract)\n" + " function concrete:__init()\n" + " abstract.__init(self)\n" + " end\n" + + " function concrete:hello()\n" + " return 'hello from lua'\n" + " end\n"); + + DOSTRING(L, + "y = concrete()\n" + "y:hello()\n"); + + DOSTRING(L, "call_hello(y)\n"); + + DOSTRING(L, + "x = abstract()\n" + "x.hello = function(self) return 'hello from instance' end\n" + "print(x.hello)\n" + "assert(x:hello() == 'hello from instance')\n" + "assert(call_hello(x) == 'hello from instance')\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_adopt.cpp b/external/sources/luabind-oberon00-49814f6/test/test_adopt.cpp new file mode 100644 index 0000000000..fddf7fadf7 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_adopt.cpp @@ -0,0 +1,193 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" + +#include +#include + +#include + +namespace { + +struct Base +{ + Base() + { + count++; + } + + virtual ~Base() + { + count--; + } + + static int count; +}; + +int Base::count = 0; + +struct Base_wrap : Base, luabind::wrap_base +{}; + +Base* adopted = 0; + +void take_ownership(Base* p) +{ + adopted = p; +} + +void not_null(Base* p) +{ + TEST_CHECK(p); +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + disable_super_deprecation(); + + module(L) [ + class_("Base") + .def(constructor<>()), + + def("take_ownership", &take_ownership, adopt(_1)), + def("not_null", ¬_null) + ]; + + DOSTRING(L, + "x = Base()\n" + ); + + TEST_CHECK(Base::count == 1); + + DOSTRING(L, + "x = nil\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "class 'Derived' (Base)\n" + " function Derived:__init()\n" + " super()\n" + " self.x = Base()\n" + " end\n" + ); + + DOSTRING(L, + "x = Derived()\n" + ); + + TEST_CHECK(Base::count == 2); + + DOSTRING(L, + "x = nil\n" + "collectgarbage('collect')\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "x = nil\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "class 'Derived2' (Derived)\n" + " function Derived2:__init()\n" + " super()\n" + " end\n" + ); + + DOSTRING(L, + "x = Derived2()\n" + ); + + TEST_CHECK(Base::count == 2); + + DOSTRING(L, + "x = nil\n" + "collectgarbage('collect')\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "x = Derived()\n" + ); + + TEST_CHECK(Base::count == 2); + + DOSTRING(L, + "take_ownership(x)\n" + "x = nil\n" + "collectgarbage('collect')\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 2); + + delete adopted; + + DOSTRING(L, + "collectgarbage('collect')\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "x = Derived2()\n" + ); + + TEST_CHECK(Base::count == 2); + + DOSTRING(L, + "take_ownership(x)\n" + "x = nil\n" + "collectgarbage('collect')\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 2); + + delete adopted; + + DOSTRING(L, + "collectgarbage('collect')\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "x = Derived()\n" + "take_ownership(x)\n" + "not_null(x)\n" + ); + + delete adopted; + + DOSTRING(L, + "x = nil\n" + "collectgarbage('collect')\n" + ); + + TEST_CHECK(Base::count == 0); + + DOSTRING(L, + "take_ownership(nil)\n" + ); + + TEST_CHECK(adopted == 0); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_adopt_wrapper.cpp b/external/sources/luabind-oberon00-49814f6/test/test_adopt_wrapper.cpp new file mode 100644 index 0000000000..7e89d33be9 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_adopt_wrapper.cpp @@ -0,0 +1,45 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include + +namespace { + +struct X +{ + virtual ~X() + {} +}; + +struct X_wrap : X, luabind::wrap_base +{}; + +X* make() +{ + return new X; +} + +void take(X* p) +{ + delete p; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("X"), + def("make", &make, adopt(result)), + def("take", &take, adopt(_1)) + ]; + + DOSTRING(L, + "take(make())\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_attributes.cpp b/external/sources/luabind-oberon00-49814f6/test/test_attributes.cpp new file mode 100644 index 0000000000..705c332501 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_attributes.cpp @@ -0,0 +1,229 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +namespace { + +struct A +{ + int get() const + { + return 5; + } +}; + +struct B : A +{ +}; + +struct C +{ + int a; +}; + +struct property_test : counted_type +{ + property_test(): c_ref(&c), o(6) {} + ~property_test() { c.a = 0; } + + std::string str_; + C* c_ref; + C c; + float o; + int a_; + signed char b; + + void set(int a) { a_ = a; } + int get() const { return a_; } + + void setA(A*) {} + A* getA() const { return 0; } + + void set_str(const char* str) + { str_ = str; } + + const char* get_str() const + { return str_.c_str(); } +}; + +COUNTER_GUARD(property_test); + +void free_setter(property_test& p, int a) +{ p.set(a); } + +int free_getter(const property_test& p) +{ return p.get(); } + +} // namespace unnamed +struct borrowed_attribute : counted_type +{ +}; + +struct attribute_holder : counted_type +{ + attribute_holder(borrowed_attribute* b) + : borrowed(b) + {} + + borrowed_attribute* borrowed; +}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("property") + .def(luabind::constructor<>()) + .def("get", &property_test::get) + .property("a", &property_test::get, &property_test::set) + .property("str", &property_test::get_str, &property_test::set_str) + .property("A", &property_test::getA, &property_test::setA) + .def_readonly("o", &property_test::o) + .property("free", &free_getter, &free_setter) + .def_readwrite("b", &property_test::b) + .def_readwrite("c", &property_test::c) + .def_readwrite("c_ref", &property_test::c_ref), + + class_("A") + .def(constructor<>()) + .property("a", &A::get), + + class_("B") + .def(constructor<>()) + .property("x", &A::get), + + class_("C") + .def(constructor<>()) + .def_readwrite("a", &C::a) + ]; + + DOSTRING(L, "test = property()\n"); + + DOSTRING(L, + "test.a = 5\n" + "assert(test.a == 5)"); + + DOSTRING(L, "assert(test.o == 6)"); + + DOSTRING(L, + "test.new_member = 'foo'\n" + "assert(test.new_member == 'foo')"); + + DOSTRING(L, + "property.new_member2 = 'bar'\n" + "assert(property.new_member2 == 'bar')"); + + DOSTRING(L, + "b = property()\n" + "assert(b.new_member2 == 'bar')"); + + DOSTRING(L, + "test.str = 'foobar'\n" + "assert(test.str == 'foobar')\n"); + + module(L) [ + class_("borrowed_attribute") + .def(constructor<>()), + + class_("attribute_holder") + .def(constructor()) + .def_readwrite( + "borrowed", &attribute_holder::borrowed, no_dependency) + ]; + + DOSTRING(L, "test = property()\n"); + + DOSTRING(L, + "test.a = 5\n" + "assert(test.a == 5)"); + + DOSTRING(L, "assert(test.o == 6)"); + + DOSTRING(L, + "test.new_member = 'foo'\n" + "assert(test.new_member == 'foo')"); + + DOSTRING(L, + "property.new_member2 = 'bar'\n" + "assert(property.new_member2 == 'bar')"); + + DOSTRING(L, + "b = property()\n" + "assert(b.new_member2 == 'bar')"); + + DOSTRING(L, + "test.str = 'foobar'\n" + "assert(test.str == 'foobar')\n"); + + DOSTRING(L, + "test.free = 6\n" + "assert(test.free == 6)\n"); + + DOSTRING(L, + "test.b = 3\n" + "assert(test.b == 3)\n"); + + DOSTRING(L, "test.c.a = 1\n" + "assert(test.c.a == 1)\n" + "assert(test.c_ref.a == 1)"); + + DOSTRING(L, "t1 = property()\n" + "c = t1.c\n" + "c2 = t1.c_ref\n" + "c.a = 1\n" + "t1 = nil\n" + "collectgarbage()\n" + "collectgarbage()\n" + "assert(c.a == 1)\n" + "assert(c2.a == 1)"); + + DOSTRING(L, + "a = B()\n"); + + DOSTRING(L, + "assert(a.a == 5)\n"); + + DOSTRING(L, + "assert(a.x == 5)\n"); + + DOSTRING(L, + "borrowed = borrowed_attribute()\n" + "holder = attribute_holder(borrowed)\n" + ); + + TEST_CHECK(borrowed_attribute::count == 1); + TEST_CHECK(attribute_holder::count == 1); + + DOSTRING(L, + "holder.borrowed = borrowed\n" + "borrowed2 = holder.borrowed\n" + "holder = nil\n" + "collectgarbage()\n" + ); + + TEST_CHECK(borrowed_attribute::count == 1); + TEST_CHECK(attribute_holder::count == 0); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_automatic_smart_ptr.cpp b/external/sources/luabind-oberon00-49814f6/test/test_automatic_smart_ptr.cpp new file mode 100644 index 0000000000..7aca190943 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_automatic_smart_ptr.cpp @@ -0,0 +1,144 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include + +namespace { + +struct X +{ + X(int value_) + : value(value_) + { + ++alive; + } + + ~X() + { + --alive; + } + + int value; + + static int alive; +}; + +int X::alive = 0; + + +struct D: X +{ + D(int value_): X(value_) {} +}; + +struct ptr +{ + ptr(X* p_) + : p(p_) + {} + + ptr(ptr const& other) + : p(other.p) + { + const_cast(other).p = 0; + } + + ~ptr() + { + delete p; + } + + X* p; +}; + +X* get_pointer(ptr const& p) +{ + return p.p; +} + +std::auto_ptr make1() +{ + return std::auto_ptr(new X(1)); +} + +boost::shared_ptr make2() +{ + return boost::shared_ptr(new X(2)); +} + +ptr make3() +{ + return ptr(new X(3)); +} + +boost::shared_ptr make_d() +{ + return boost::shared_ptr(new D(10)); +} + +void needs_x(boost::shared_ptr) {} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("X") + .def_readonly("value", &X::value), + + class_("D"), + + def("make1", make1), + def("make2", make2), + def("make3", make3), + + def("make_d", make_d), + def("needs_x", needs_x) + ]; + + DOSTRING(L, + "x1 = make1()\n" + "x2 = make2()\n" + "x3 = make3()\n" + ); + + TEST_CHECK(X::alive == 3); + + DOSTRING(L, + "assert(x1.value == 1)\n" + "assert(x2.value == 2)\n" + "assert(x3.value == 3)\n" + ); + + DOSTRING(L, "function get2() return x2 end"); + boost::shared_ptr spx = call_function >(L, "get2"); + TEST_CHECK(spx.use_count() == 2); + + DOSTRING(L, + "x1 = nil\n" + "x2 = nil\n" + "x3 = nil\n" + "collectgarbage()\n" + ); + + TEST_CHECK(spx.use_count() == 1); + TEST_CHECK(X::alive == 1); + spx.reset(); + TEST_CHECK(X::alive == 0); + + DOSTRING(L, + "d = make_d()\n" + "status, err = pcall(needs_x, d)\n" + "assert(not status)\n" + "pat = '^No matching overload found, candidates:\\n'\n" + "pat = pat .. 'void needs_x%(custom %[.+%]%)$'\n" + "if not err:match(pat) then\n" + " error('expected \"' .. pat .. '\", got \"' .. err .. '\"')\n" + "end\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_back_reference.cpp b/external/sources/luabind-oberon00-49814f6/test/test_back_reference.cpp new file mode 100644 index 0000000000..6f833736b9 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_back_reference.cpp @@ -0,0 +1,102 @@ +// Copyright (c) 2005 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include + +using namespace luabind; + +#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +namespace luabind +{ + using boost::get_pointer; +} +#endif + +namespace { + +struct base0 +{ + virtual ~base0() {} +}; + +struct base_wrap0 : base0, wrap_base +{}; + +struct base1 +{ + virtual ~base1() {} +}; + +struct base_wrap1 : base1, wrap_base +{}; + +base0* filter0(base0* p) +{ + return p; +} + +boost::shared_ptr filter1(boost::shared_ptr const& p) +{ + return p; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + module(L) + [ + class_("base0") + .def(constructor<>()), + def("filter0", &filter0), + + class_ >("base1") + .def(constructor<>()), + def("filter1", &filter1) + ]; + + DOSTRING(L, + "class 'derived0' (base0)\n" + " function derived0:__init()\n" + " base0.__init(self)\n" + " end\n" + + "class 'derived1' (base1)\n" + " function derived1:__init()\n" + " base1.__init(self)\n" + " end\n" + ); + + DOSTRING(L, + "x = derived0()\n" + "y = filter0(x)\n" + "assert(x == y)\n" + ); + + DOSTRING(L, + "x = derived1()\n" + "y = filter1(x)\n" + "assert(x == y)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_builtin_converters.cpp b/external/sources/luabind-oberon00-49814f6/test/test_builtin_converters.cpp new file mode 100644 index 0000000000..f42d200261 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_builtin_converters.cpp @@ -0,0 +1,56 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + + +#include "test.hpp" +#include + +#define LUABIND_TEST_BUILTIN(type, value) \ + default_converter().to(L, value); \ + default_converter BOOST_PP_CAT(cv, __LINE__); \ + TEST_CHECK(BOOST_PP_CAT(cv, __LINE__).compute_score(L, -1) >= 0); \ + TEST_CHECK(BOOST_PP_CAT(cv, __LINE__).from(L, -1) == value); \ + lua_pop(L, 1) + +void test_main(lua_State* L) +{ + using namespace luabind; + + LUABIND_TEST_BUILTIN(int, 1); + LUABIND_TEST_BUILTIN(int, -1); + LUABIND_TEST_BUILTIN(unsigned int, 1u); + LUABIND_TEST_BUILTIN(unsigned int, 2u); + + LUABIND_TEST_BUILTIN(short, static_cast(1)); + LUABIND_TEST_BUILTIN(short, static_cast(-1)); + LUABIND_TEST_BUILTIN(unsigned short, + static_cast(1)); + LUABIND_TEST_BUILTIN(unsigned short, + static_cast(2)); + + LUABIND_TEST_BUILTIN(long, 1L); + LUABIND_TEST_BUILTIN(long, -1L); + LUABIND_TEST_BUILTIN(unsigned long, 1uL); + LUABIND_TEST_BUILTIN(unsigned long, 2uL); + + LUABIND_TEST_BUILTIN(char, '\1'); + LUABIND_TEST_BUILTIN(char, '\2'); + LUABIND_TEST_BUILTIN(unsigned char, + static_cast(1)); + LUABIND_TEST_BUILTIN(unsigned char, + static_cast(2)); + LUABIND_TEST_BUILTIN(signed char, + static_cast(-1)); + LUABIND_TEST_BUILTIN(signed char, + static_cast(1)); + + LUABIND_TEST_BUILTIN(float, 1.5f); + LUABIND_TEST_BUILTIN(float, -1.5f); + + LUABIND_TEST_BUILTIN(double, 1.5); + LUABIND_TEST_BUILTIN(double, -1.5); + + LUABIND_TEST_BUILTIN(bool, true); + LUABIND_TEST_BUILTIN(bool, false); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_class_info.cpp b/external/sources/luabind-oberon00-49814f6/test/test_class_info.cpp new file mode 100644 index 0000000000..d2ca211d3f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_class_info.cpp @@ -0,0 +1,66 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include + +struct X +{ + void f() + {} + + int x; + int y; +}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + bind_class_info(L); + + module(L) [ + class_("X") + .def(constructor<>()) + .def("f", &X::f) + .def_readonly("x", &X::x) + .def_readonly("y", &X::y) + ]; + + DOSTRING(L, + "x = X()\n" + "info = class_info(x)\n" + "assert(info.name == 'X')\n" + "assert(info.methods['f'] == x.f)\n" + "assert(info.methods['__init'] == x.__init)\n" + "attrs = info.attributes\n" + "assert(attrs[1] == 'x' or attrs[2] == 'x')\n" + "assert(attrs[1] == 'y' or attrs[2] == 'y')\n" + "info = class_info(2)\n" + "assert(info.name == 'number')\n" + "assert(#info.methods == 0)\n" + "assert(#info.attributes == 0)\n" + "names = class_names()\n" + "assert(type(names) == 'table')\n" + "assert(#names == 2)\n" + "assert(names[1] == 'X' or names[2] == 'X')\n" + "assert(names[1] == 'class_info_data' or names[2] == 'class_info_data')\n"); + + DOSTRING(L, + "info = class_info(X)\n" + "assert(info.name == 'X')\n" + "assert(info.methods['f'] == X().f)\n" + "assert(info.methods['__init'] == X().__init)\n" + "attrs = info.attributes\n" + "assert(attrs[1] == 'x' or attrs[2] == 'x')\n" + "assert(attrs[1] == 'y' or attrs[2] == 'y')\n" + ); + + DOSTRING(L, + "s = tostring(X)\n" + "assert(s:match('^class X (.+)$'))" + ); + DOSTRING(L, "print(X)"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_collapse_converter.cpp b/external/sources/luabind-oberon00-49814f6/test/test_collapse_converter.cpp new file mode 100644 index 0000000000..31e25a8864 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_collapse_converter.cpp @@ -0,0 +1,74 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +namespace { + +struct X +{ + X(lua_Integer x_, lua_Integer y_) + : x(x_) + , y(y_) + {} + + lua_Integer x; + lua_Integer y; +}; + +lua_Integer take(X x) +{ + return x.x + x.y; +} + +} // namespace unnamed + +namespace luabind { + +static int combine_score(int s1, int s2) +{ + if (s1 < 0 || s2 < 0) return -1; + return s1 + s2; +} + +template <> +struct default_converter + : native_converter_base +{ + int consumed_args() const + { + return 2; + } + + int compute_score(lua_State* L, int index) + { + return combine_score( + c1.compute_score(L, index), c2.compute_score(L, index + 1)); + } + + X from(lua_State* L, int index) + { + return X(lua_tointeger(L, index), lua_tointeger(L, index + 1)); + } + + default_converter c1; + default_converter c2; +}; + +} // namespace luabind + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + def("take", &take) + ]; + + DOSTRING(L, + "assert(take(1,1) == 2)\n" + "assert(take(2,3) == 5)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_const.cpp b/external/sources/luabind-oberon00-49814f6/test/test_const.cpp new file mode 100644 index 0000000000..35fa4cc91a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_const.cpp @@ -0,0 +1,52 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +struct A +{ + const A* f() { return this; } + + int g1() const { return 1; } + int g2() { return 2; } +}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("A") + .def(constructor<>()) + .def("f", &A::f) + .def("g", &A::g1) + .def("g", &A::g2) + ]; + + DOSTRING(L, "a = A()"); + DOSTRING(L, "assert(a:g() == 2)"); + + DOSTRING(L, "a2 = a:f()"); + DOSTRING(L, "assert(a2:g() == 1)"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_construction.cpp b/external/sources/luabind-oberon00-49814f6/test/test_construction.cpp new file mode 100644 index 0000000000..725979517d --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_construction.cpp @@ -0,0 +1,99 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +namespace { + +struct A : counted_type +{ + int test; + A(int a) { test = a; } + // Explicit call to default ctor to avoid g++'s "warning: base class + // ‘struct counted_type’ should be explicitly initialized in the copy + // constructor [-Wextra]" + A(const A&): counted_type() { test = 1; } // + A() { test = 2; } + ~A() {} +}; + +void f(A*, const A&) {} + +struct B: A, counted_type +{ + int test2; + B(int a):A(a) { test2 = a; } + B() { test2 = 3; } + ~B() {} +}; + +struct C : counted_type {}; + +COUNTER_GUARD(A); +COUNTER_GUARD(B); +COUNTER_GUARD(C); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("A") + .def("f", &f) + .def_readonly("test", &A::test) + .def(constructor()) + .def(constructor()) + .def(constructor<>()), + + class_("B") + .def(constructor()) + .def(constructor<>()) + .def_readonly("test2", &B::test2), + + class_("C") + + ]; + + DOSTRING_EXPECTED(L, "a = C()", "attempt to call a nil value"); + + DOSTRING(L, + "a = A(4)\n" + "assert(a.test == 4)"); + + DOSTRING(L, + "a2 = A(a)\n" + "assert(a2.test == 1)"); + + DOSTRING(L, + "b = B(6)\n" + "assert(b.test2 == 6)\n"); + DOSTRING(L, "assert(b.test == 6)"); + + DOSTRING(L, + "b2 = B()\n" + "assert(b2.test2 == 3)\n"); + DOSTRING(L, "assert(b2.test == 2)"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_create_in_thread.cpp b/external/sources/luabind-oberon00-49814f6/test/test_create_in_thread.cpp new file mode 100644 index 0000000000..5ea8b58e98 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_create_in_thread.cpp @@ -0,0 +1,70 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +namespace { + +int count = 0; + +struct X +{ + X() + { + ++count; + } + + ~X() + { + --count; + } +}; + +struct Y +{ + virtual ~Y() + {} +}; + +struct Y_wrap : Y, luabind::wrap_base +{}; + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("X") + .def(constructor<>()), + + class_("Y") + .def(constructor<>()) + ]; + + DOSTRING(L, + "class 'Y_lua' (Y)\n" + " function Y_lua.__init(self)\n" + " Y.__init(self)\n" + " end\n" + ); + + for (int i = 0; i < 100; ++i) + { + lua_State* thread = lua_newthread(L); + int ref = luaL_ref(L, LUA_REGISTRYINDEX); + + DOSTRING(thread, + "local x = X()\n" + ); + + DOSTRING(thread, + "local y = Y_lua()\n" + ); + + luaL_unref(L, LUA_REGISTRYINDEX, ref); + } +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_def_from_base.cpp b/external/sources/luabind-oberon00-49814f6/test/test_def_from_base.cpp new file mode 100644 index 0000000000..d8ebe0786a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_def_from_base.cpp @@ -0,0 +1,53 @@ +// Copyright (c) 2005 Daniel Wallin, Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" + +#include + +struct V +{ + int f(int,int) + { + return 2; + } +}; + +struct W : V +{}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("W") + .def(constructor<>()) + .def("f", &V::f) + ]; + + DOSTRING(L, + "x = W()\n" + "assert(x:f(1,2) == 2)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_destruction.cpp b/external/sources/luabind-oberon00-49814f6/test/test_destruction.cpp new file mode 100644 index 0000000000..afdfba3dac --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_destruction.cpp @@ -0,0 +1,31 @@ +// Copyright Christian Neumüller 2013. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +struct CppClass { + CppClass() { } + void method() { } +}; + +using namespace luabind; + +void test_main(lua_State* L) +{ + module(L) [ + class_("CppClass") + .def(constructor<>()) + .def("method", &CppClass::method) + ]; + + DOSTRING_EXPECTED(L, + "t = { }\n" + "setmetatable(t, {__gc = function(t)\n" + " t.cppClass:method() end})\n" + "t.cppClass = CppClass()\n" + "t = nil\n" + "collectgarbage()\n" + , "error in __gc metamethod ([string \"t = { }...\"]:3: attempt to index") +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_dynamic_type.cpp b/external/sources/luabind-oberon00-49814f6/test/test_dynamic_type.cpp new file mode 100644 index 0000000000..7dff49da9f --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_dynamic_type.cpp @@ -0,0 +1,80 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +namespace { + +struct Base +{ + Base(int value_) + : value(value_) + {} + + virtual ~Base() + {} + + int g() const + { + return value; + } + + int value; +}; + +struct Derived : Base +{ + Derived() + : Base(2) + {} + + int f() const + { + return 1; + } +}; + +struct Unregistered : Base +{ + Unregistered() + : Base(3) + {} +}; + +std::auto_ptr make_derived() +{ + return std::auto_ptr(new Derived); +} + +std::auto_ptr make_unregistered() +{ + return std::auto_ptr(new Unregistered); +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("Base") + .def("g", &Base::g), + class_("Derived") + .def("f", &Derived::f), + def("make_derived", &make_derived), + def("make_unregistered", &make_unregistered) + ]; + + DOSTRING(L, + "x = make_derived()\n" + "assert(x:f() == 1)\n" + ); + + DOSTRING(L, + "x = make_unregistered()\n" + "assert(x:g() == 3)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_exception_handlers.cpp b/external/sources/luabind-oberon00-49814f6/test/test_exception_handlers.cpp new file mode 100644 index 0000000000..3c3cc3c067 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_exception_handlers.cpp @@ -0,0 +1,70 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include + +namespace { + +struct my_exception {}; + +void translate_my_exception(lua_State* L, my_exception const&) +{ + lua_pushliteral(L, "my_exception"); +} + +struct derived_std_exception : std::exception +{ + char const* what() const LUABIND_NOEXCEPT + { + return "derived_std_exception"; + } +}; + +void translate_derived_exception(lua_State* L, derived_std_exception const&) +{ + lua_pushliteral(L, "derived_std_exception"); +} + +void LUABIND_ATTRIBUTE_NORETURN raise_my_exception() +{ + throw my_exception(); +} + +void LUABIND_ATTRIBUTE_NORETURN raise_derived() +{ + throw derived_std_exception(); +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + register_exception_handler(&translate_my_exception); + + module(L) [ + def("raise", &raise_my_exception), + def("raise_derived", &raise_derived) + ]; + + DOSTRING(L, + "status, msg = pcall(raise)\n" + "assert(status == false)\n" + "assert(msg == 'my_exception')\n"); + + DOSTRING(L, + "status, msg = pcall(raise_derived)\n" + "assert(status == false)\n" + "assert(msg == 'std::exception: \\'derived_std_exception\\'')\n"); + + register_exception_handler(&translate_derived_exception); + + DOSTRING(L, + "status, msg = pcall(raise_derived)\n" + "assert(status == false)\n" + "assert(msg == 'derived_std_exception')\n"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_exceptions.cpp b/external/sources/luabind-oberon00-49814f6/test/test_exceptions.cpp new file mode 100644 index 0000000000..2f4625a722 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_exceptions.cpp @@ -0,0 +1,104 @@ +// Copyright (c) 2004 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +namespace { + +struct ex : public std::exception, public counted_type +{ + ex(const char* m): msg(m) {} + ex(ex const& rhs): msg(rhs.msg) {} + virtual ~ex() LUABIND_NOEXCEPT {} + virtual const char* what() const LUABIND_NOEXCEPT { return msg; } + const char* msg; +}; + +struct exception_thrower : counted_type +{ + exception_thrower() {} +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable:4702) // warning C4702: unreachable code +#endif + LUABIND_ATTRIBUTE_NORETURN exception_thrower(int) + { throw ex("exception description"); } + + LUABIND_ATTRIBUTE_NORETURN exception_thrower(int, int) + { throw "a string exception"; } + + LUABIND_ATTRIBUTE_NORETURN exception_thrower(int, int, int) + { throw 10; } +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif + int f() { throw ex("exception from a member function"); } + int g() { throw "a string exception"; } + int h() { throw 10; } +}; + +COUNTER_GUARD(exception_thrower); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + +#ifndef LUABIND_NO_EXCEPTIONS + + const int start_count = ex::count; + + module(L) + [ + class_("throw") + .def(constructor<>()) + .def(constructor()) + .def(constructor()) + .def(constructor()) + .def("f", &exception_thrower::f) + .def("g", &exception_thrower::g) + .def("h", &exception_thrower::h) + ]; + + DOSTRING_EXPECTED(L, "a = throw(1)", "std::exception: 'exception description'"); + DOSTRING_EXPECTED(L, "a = throw(1,1)", "c-string: 'a string exception'"); + DOSTRING_EXPECTED(L, "a = throw(1,1,1)", "Unknown C++ exception"); + DOSTRING(L, "a = throw()"); + DOSTRING_EXPECTED(L, "a:f()", "std::exception: 'exception from a member function'"); + DOSTRING_EXPECTED(L, "a:g()", "c-string: 'a string exception'"); + + DOSTRING_EXPECTED(L, "a:h()", "Unknown C++ exception"); + DOSTRING_EXPECTED(L, + "obj = throw('incorrect', 'parameters', 'constructor')", + "No matching overload found, candidates:\n" + "void __init(luabind::argument const&,int,int,int)\n" + "void __init(luabind::argument const&,int,int)\n" + "void __init(luabind::argument const&,int)\n" + "void __init(luabind::argument const&)"); + + const int end_count = ex::count; + TEST_CHECK( start_count == end_count ); + +#endif +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_extend_class_in_lua.cpp b/external/sources/luabind-oberon00-49814f6/test/test_extend_class_in_lua.cpp new file mode 100644 index 0000000000..0323afc7da --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_extend_class_in_lua.cpp @@ -0,0 +1,37 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +struct CppClass +{ + int f(int x) + { + return x; + } +}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("CppClass") + .def(constructor<>()) + .def("f", &CppClass::f) + ]; + + DOSTRING(L, + "function CppClass:f_in_lua(x)\n" + " return self:f(x) * 2\n" + "end\n" + ); + + DOSTRING(L, + "x = CppClass()\n" + "assert(x:f(1) == 1)\n" + "assert(x:f_in_lua(1) == 2)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_free_functions.cpp b/external/sources/luabind-oberon00-49814f6/test/test_free_functions.cpp new file mode 100644 index 0000000000..087259c6fb --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_free_functions.cpp @@ -0,0 +1,158 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include + +namespace { + +struct base : counted_type +{ + int f() + { + return 5; + } +}; + +COUNTER_GUARD(base); + +int f(int x) +{ + return x + 1; +} + +int f(int x, int y) +{ + return x + y; +} + +base* create_base() +{ + return new base(); +} + +void test_value_converter(const std::string str) +{ + TEST_CHECK(str == "converted string"); +} + +void test_pointer_converter(const char* const str) +{ + TEST_CHECK(std::strcmp(str, "converted string") == 0); +} + +struct copy_me +{ +}; + +void take_by_value(copy_me) +{ +} + +int function_should_never_be_called(lua_State* L) +{ + lua_pushnumber(L, 10); + return 1; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + lua_pushcclosure(L, &function_should_never_be_called, 0); + lua_setglobal(L, "f"); + + DOSTRING(L, "assert(f() == 10)"); + + module(L) + [ + class_("copy_me") + .def(constructor<>()), + + class_("base") + .def("f", &base::f), + + + def("by_value", &take_by_value), + + def("f", static_cast(&f)), + def("f", static_cast(&f)), + def("create", &create_base, adopt(return_value)) +// def("set_functor", &set_functor) + , + def("test_value_converter", &test_value_converter), + def("test_pointer_converter", &test_pointer_converter) + + ]; + + DOSTRING(L, + "e = create()\n" + "assert(e:f() == 5)"); + + DOSTRING(L, "assert(f(7) == 8)"); + + DOSTRING(L, "assert(f(3, 9) == 12)"); + +// DOSTRING(L, "set_functor(function(x) return x * 10 end)"); + +// TEST_CHECK(functor_test(20) == 200); + +// DOSTRING(L, "set_functor(nil)"); + + DOSTRING(L, "function lua_create() return create() end"); + base* ptr = call_function(L, "lua_create") [ adopt(result) ]; + delete ptr; + + DOSTRING(L, "test_value_converter('converted string')"); + DOSTRING(L, "test_pointer_converter('converted string')"); + + DOSTRING_EXPECTED(L, "f('incorrect', 'parameters')", + "No matching overload found, candidates:\n" + "int f(int,int)\n" + "int f(int)"); + + + DOSTRING(L, "function failing_fun() error('expected error message') end"); + try + { + call_function(L, "failing_fun"); + TEST_ERROR("function didn't fail when it was expected to"); + } + catch (luabind::error const&) + { + if (std::string("[string \"function failing_fun() error('expected " +#if LUA_VERSION_NUM >= 502 + "error ..." +#else + "erro..." +#endif + "\"]:1: expected error message") != lua_tostring(L, -1)) + { + TEST_ERROR("function failed with unexpected error message"); + } + + lua_pop(L, 1); + } +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_function_converter.cpp b/external/sources/luabind-oberon00-49814f6/test/test_function_converter.cpp new file mode 100644 index 0000000000..013323d68a --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_function_converter.cpp @@ -0,0 +1,56 @@ +// Copyright Christian Neumüller 2013. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include + +namespace { + +int f(int x, int y) +{ + return x + y; +} + +struct X +{ + int operator()(int x, int y) + { + return x + y; + } +}; + +typedef int(*f_type)(int, int); + +f_type function_test(boost::function g) +{ + TEST_CHECK(g(3) == 9); + return &f; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + globals(L)["f"] = &f; + DOSTRING(L, "assert(f(1, 5) == 6)"); + + X x; + globals(L)["f2"] = boost::function(x); + DOSTRING(L, "assert(f2(4, 3) == 7)"); + + object free_f(L, &f); + boost::function free_f_wrapped = + object_cast >(free_f); + + TEST_CHECK(free_f_wrapped(2, 6) == 8); + + globals(L)["function_test"] = &function_test; + DOSTRING(L, + "local function sqr(n) return n * n end\n" + "assert(function_test(sqr)(11, 12) == 23)" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_function_introspection.cpp b/external/sources/luabind-oberon00-49814f6/test/test_function_introspection.cpp new file mode 100644 index 0000000000..6fbb8bf069 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_function_introspection.cpp @@ -0,0 +1,142 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg +// Copyright (c) 2012 Iowa State University + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include +#include + +namespace { + +/* +struct base : counted_type +{ + int f() + { + return 5; + } +}; + +COUNTER_GUARD(base); +*/ + +int f(int x) +{ + return x + 1; +} + +/* +int f(int x, int y) +{ + return x + y; +} +*/ + +} // namespace unnamed + + +void test_main(lua_State* L) +{ + using namespace luabind; + + bind_function_introspection(L); + + DOSTRING(L, + "assert(function_info.get_function_name)"); + DOSTRING(L, + "assert(function_info.get_function_overloads)"); + + module(L) + [ + def("f", static_cast(&f)) + ]; + + + DOSTRING(L, + "assert(function_info.get_function_name(f) == 'f')"); + + DOSTRING(L, + "assert(function_info.get_function_name(x) == '')"); + + + DOSTRING(L, + "for _,v in ipairs(function_info.get_function_overloads(f)) do print(v) end"); + + DOSTRING(L, + "assert(#(function_info.get_function_overloads(f)) == 1)"); + /* + def("f", (int(*)(int, int)) &f), + def("create", &create_base, adopt(return_value)) +// def("set_functor", &set_functor) + + , + def("test_value_converter", &test_value_converter), + def("test_pointer_converter", &test_pointer_converter) + + ]; + + DOSTRING(L, + "e = create()\n" + "assert(e:f() == 5)"); + + DOSTRING(L, "assert(f(7) == 8)"); + + DOSTRING(L, "assert(f(3, 9) == 12)"); + +// DOSTRING(L, "set_functor(function(x) return x * 10 end)"); + +// TEST_CHECK(functor_test(20) == 200); + +// DOSTRING(L, "set_functor(nil)"); + + DOSTRING(L, "function lua_create() return create() end"); + base* ptr = call_function(L, "lua_create") [ adopt(result) ]; + delete ptr; + + DOSTRING(L, "test_value_converter('converted string')"); + DOSTRING(L, "test_pointer_converter('converted string')"); + + DOSTRING_EXPECTED(L, "f('incorrect', 'parameters')", + "No matching overload found, candidates:\n" + "int f(int,int)\n" + "int f(int)"); + + + DOSTRING(L, "function failing_fun() error('expected error message') end"); + try + { + call_function(L, "failing_fun"); + TEST_ERROR("function didn't fail when it was expected to"); + } + catch(luabind::error const& e) + { + if (std::string("[string \"function failing_fun() error('expected " + "erro...\"]:1: expected error message") != lua_tostring(L, -1)) + { + TEST_ERROR("function failed with unexpected error message"); + } + + lua_pop(L, 1); + } +*/ +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_function_object.cpp b/external/sources/luabind-oberon00-49814f6/test/test_function_object.cpp new file mode 100644 index 0000000000..1e3eabe885 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_function_object.cpp @@ -0,0 +1,70 @@ +// Copyright Christian Neumüller 2013. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include +#if BOOST_VERSION < 105000 && __cplusplus < 201103L +// Test missing before Boost 1.50, so before then guess based on what the compiler claims. +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +#endif + +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +# include +#endif + +namespace { + +int f(int x, int y) +{ + return x + y; +} + +struct X +{ + int operator()(int x, int y) + { + return x + y; + } +}; + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + boost::function free_f(&f); + X x; + boost::function f_obj(x); + + module(L) [ + def("f", free_f), + def("xf", f_obj) + ]; + + DOSTRING(L, + "function test(f)\n" + " assert(f(0, 4) == 4)\n" + " assert(f(1, 8) == 9)\n" + " assert(f(5, 5) == 10)\n" + "end\n" + ); + + DOSTRING(L, "test(f)"); + DOSTRING(L, "test(xf)"); + +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL + std::function free_f2(&f); + std::function f_obj2(x); + + module(L) [ + def("f2", free_f2), + def("xf2", f_obj2) + ]; + + DOSTRING(L, "test(f2)"); + DOSTRING(L, "test(xf2)"); +#endif +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_function_overload_overflow.cpp b/external/sources/luabind-oberon00-49814f6/test/test_function_overload_overflow.cpp new file mode 100644 index 0000000000..99075b69f9 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_function_overload_overflow.cpp @@ -0,0 +1,46 @@ +// Copyright Christian Neumüller 2015. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +namespace { + +void f() { } + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ // 11 functions + def("f", &f), // 1 + def("f", &f), // 2 + def("f", &f), // 3 + def("f", &f), // 4 + def("f", &f), // 5 + def("f", &f), // 6 + def("f", &f), // 7 + def("f", &f), // 8 + def("f", &f), // 9 + def("f", &f), // 10 + def("f", &f) // 11 + ]; + + DOSTRING_EXPECTED(L, "f()", + "Ambiguous, candidates:\n" // 11 candidates + "void f()\n" // 1 + "void f()\n" // 2 + "void f()\n" // 3 + "void f()\n" // 4 + "void f()\n" // 5 + "void f()\n" // 6 + "void f()\n" // 7 + "void f()\n" // 8 + "void f()\n" // 9 + "void f()\n" // 10 + "and 1 additional overload(s) not shown"); // 11 +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_has_get_pointer.cpp b/external/sources/luabind-oberon00-49814f6/test/test_has_get_pointer.cpp new file mode 100644 index 0000000000..b775f22485 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_has_get_pointer.cpp @@ -0,0 +1,62 @@ +// Copyright (c) 2005 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include + +#include +#include +#include +#include + +namespace lb = luabind::detail; + +namespace test +{ + + struct X + { + }; + + struct Y + { + }; + + Y* get_pointer(Y const&); + + struct Z : boost::enable_shared_from_this {}; + +} // namespace test + +#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +namespace luabind +{ + using test::get_pointer; + using boost::get_pointer; +} // namespace luabind +#endif + +BOOST_MPL_ASSERT(( lb::has_get_pointer > )); +BOOST_MPL_ASSERT(( lb::has_get_pointer )); +BOOST_MPL_ASSERT(( lb::has_get_pointer )); +BOOST_MPL_ASSERT_NOT(( lb::has_get_pointer )); +BOOST_MPL_ASSERT_NOT(( lb::has_get_pointer )); +BOOST_MPL_ASSERT(( lb::has_get_pointer )); diff --git a/external/sources/luabind-oberon00-49814f6/test/test_headercompile.cpp.in b/external/sources/luabind-oberon00-49814f6/test/test_headercompile.cpp.in new file mode 100644 index 0000000000..8c0f722c5e --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_headercompile.cpp.in @@ -0,0 +1,3 @@ +#define LUABIND_TEST_HEADERCOMPILE +#include "@FULLHEADER@" +int main() { } diff --git a/external/sources/luabind-oberon00-49814f6/test/test_held_type.cpp b/external/sources/luabind-oberon00-49814f6/test/test_held_type.cpp new file mode 100644 index 0000000000..bb8dbdd090 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_held_type.cpp @@ -0,0 +1,221 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include + +#include + +#include + +namespace luabind { + +#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP + template + T* get_pointer(boost::shared_ptr const& p) { return p.get(); } +#endif + +} + +namespace { + +struct base : counted_type +{ + base(): n(4) {} + virtual ~base() {} + base(base const& rhs): n(rhs.n) {} + + void f(int) + { + } + + int n; +}; + +// this is here to make sure the pointer offsetting works +struct first_base : counted_type +{ + virtual ~first_base() {} + first_base(): padding(0xdead) {} + first_base(first_base const& rhs): padding(rhs.padding) {} + virtual void a() {} + int padding; +}; + +struct derived : first_base, base +{ + derived(): n2(7) {} + void f() {} + int n2; +}; + +COUNTER_GUARD(first_base); +COUNTER_GUARD(base); + +int feedback = 0; + +void tester(base* t) +{ + if (t->n == 4) feedback = 1; +} + +void tester_(derived* t) +{ + if (t->n2 == 7) feedback = 2; +} + +void tester2(boost::shared_ptr t) +{ + if (t->n == 4) feedback = 3; +} + +void tester3(boost::shared_ptr t) +{ + if (t->n == 4) feedback = 4; +} + +void tester4(const boost::shared_ptr& t) +{ + if (t->n == 4) feedback = 5; +} + +void tester5(const boost::shared_ptr* t) +{ + if ((*t)->n == 4) feedback = 6; +} + +void tester6(const boost::shared_ptr* t) +{ + if ((*t)->n == 4) feedback = 7; +} + +void tester7(boost::shared_ptr* t) +{ + if ((*t)->n == 4) feedback = 8; +} + +boost::shared_ptr tester9() +{ + feedback = 9; + return boost::shared_ptr(new base()); +} + +void tester10(boost::shared_ptr const& r) +{ + if (r->n == 4) feedback = 10; +} + +void tester11(boost::shared_ptr const& r) +{ + if (r->n == 4) feedback = 11; +} + +void tester12(boost::shared_ptr const& r) +{ + if (r->n2 == 7) feedback = 12; +} + +derived tester13() +{ + feedback = 13; + derived d; + d.n2 = 13; + return d; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + boost::shared_ptr base_ptr(new base()); + + using namespace luabind; + + module(L) + [ + def("tester", &tester), + def("tester", &tester_), + def("tester2", &tester2), + def("tester3", &tester3), + def("tester4", &tester4), + def("tester5", &tester5), + def("tester6", &tester6), + def("tester7", &tester7), + def("tester9", &tester9), + def("tester10", &tester10), + def("tester11", &tester11), + def("tester12", &tester12), + def("tester13", &tester13), + + class_ >("base") + .def(constructor<>()) + .def("f", &base::f), + + class_ >("derived") + .def(constructor<>()) + .def("f", &derived::f) + ]; + + object g = globals(L); + g["ptr"] = base_ptr; + + DOSTRING(L, "tester(ptr)"); + TEST_CHECK(feedback == 1); + + DOSTRING(L, + "a = base()\n" + "b = derived()\n"); + +#if LUABIND_VERSION != 900 + DOSTRING(L, "tester(b)"); + TEST_CHECK(feedback == 2); +#endif + + DOSTRING(L, "tester(a)"); + TEST_CHECK(feedback == 1); + + DOSTRING(L, "tester2(b)"); + TEST_CHECK(feedback == 3); + + feedback = 0; + + DOSTRING(L, "tester10(b)"); + TEST_CHECK(feedback == 10); + +/* this test is messed up, shared_ptr isn't even registered + DOSTRING_EXPECTED( + L + , "tester12(b)" + , "no match for function call 'tester12' with the parameters (derived)\n" + "candidates are:\n" + "tester12(const custom&)\n"); +*/ +#if LUABIND_VERSION != 900 + object nil = globals(L)["non_existing_variable_is_nil"]; + TEST_CHECK(object_cast >(nil).get() == 0); + TEST_CHECK(object_cast >(nil).get() == 0); +#endif + + DOSTRING(L, "tester13()"); + TEST_CHECK(feedback == 13); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_implicit_cast.cpp b/external/sources/luabind-oberon00-49814f6/test/test_implicit_cast.cpp new file mode 100644 index 0000000000..5cd552eeb7 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_implicit_cast.cpp @@ -0,0 +1,124 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include + +namespace { + +struct A : counted_type +{ virtual ~A() {} }; + +struct B : A, counted_type +{}; + + +struct enum_placeholder {}; +typedef enum { VAL1 = 1, VAL2 = 2 } LBENUM_t; +LBENUM_t enum_by_val(LBENUM_t e) { return e; } +LBENUM_t enum_by_const_ref(const LBENUM_t &e) { return e; } + + + +struct test_implicit : counted_type +{ + char const* f(A*) { return "f(A*)"; } + char const* f(B*) { return "f(B*)"; } +}; + +void not_convertable(boost::shared_ptr) +{ + TEST_ERROR("not_convertable(boost::shared_ptr) should not be called"); +} + +int f(int& a) +{ + return a; +} + +COUNTER_GUARD(A); +COUNTER_GUARD(B); +COUNTER_GUARD(test_implicit); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + typedef char const*(test_implicit::*f1)(A*); + typedef char const*(test_implicit::*f2)(B*); + + module(L) + [ + class_("A") + .def(constructor<>()), + + class_("B") + .def(constructor<>()), + + class_("test") + .def(constructor<>()) + .def("f", static_cast(&test_implicit::f)) + .def("f", static_cast(&test_implicit::f)), + + class_("LBENUM") + .enum_("constants") + [ + value("VAL1", VAL1), + value("VAL2", VAL2) + ], + def("enum_by_val", &enum_by_val), + def("enum_by_const_ref", &enum_by_const_ref), + + def("no_convert", ¬_convertable), + def("f", &f) + ]; + + DOSTRING(L, "a = A()"); + DOSTRING(L, "b = B()"); + DOSTRING(L, "t = test()"); + + DOSTRING(L, "assert(t:f(a) == 'f(A*)')"); + DOSTRING(L, "assert(t:f(b) == 'f(B*)')"); + + DOSTRING(L, "assert(LBENUM.VAL1 == 1)"); + DOSTRING(L, "assert(LBENUM.VAL2 == 2)"); + DOSTRING(L, "assert(enum_by_val(LBENUM.VAL1) == LBENUM.VAL1)"); + DOSTRING(L, "assert(enum_by_val(LBENUM.VAL2) == LBENUM.VAL2)"); + DOSTRING(L, "assert(enum_by_const_ref(LBENUM.VAL1) == LBENUM.VAL1)"); + DOSTRING(L, "assert(enum_by_const_ref(LBENUM.VAL2) == LBENUM.VAL2)"); + + DOSTRING_EXPECTED(L, + "a = A()\n" + "no_convert(a)", + ("No matching overload found, candidates:\n" + "void no_convert(custom [" + + type_id(typeid(boost::shared_ptr)).name() + "])").c_str()); + + DOSTRING_EXPECTED(L, + "a = nil\n" + "f(a)", + "No matching overload found, candidates:\n" + "int f(int&)"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_implicit_raw.cpp b/external/sources/luabind-oberon00-49814f6/test/test_implicit_raw.cpp new file mode 100644 index 0000000000..cd6179add6 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_implicit_raw.cpp @@ -0,0 +1,27 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +static void raw_function(lua_State*) +{} + +static void raw_function2(int, lua_State*, int) +{} + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + def("raw_function", &raw_function), + def("raw_function2", &raw_function2) + ]; + + DOSTRING(L, + "raw_function()\n" + "raw_function2(1,2)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_intrusive_ptr.cpp b/external/sources/luabind-oberon00-49814f6/test/test_intrusive_ptr.cpp new file mode 100644 index 0000000000..b83607a27e --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_intrusive_ptr.cpp @@ -0,0 +1,107 @@ +// Copyright Chsritian Neumüller 2013. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" + +#include +#include + +#include +#include + +using boost::intrusive_ptr; + +namespace { + + struct B: private boost::noncopyable, counted_type + { + B(int val_): ref_cnt(0), val(val_) {} + virtual ~B() { + std::cout << "~B\n"; + TEST_CHECK(ref_cnt == 0); + } + + int ref_cnt; + int val; + }; + + COUNTER_GUARD(B); + + struct D: B + { + D(int val_): B(val_) {} + }; + + void intrusive_ptr_add_ref(B* b) + { + ++b->ref_cnt; + } + + void intrusive_ptr_release(B* b) + { + if (!--b->ref_cnt) + delete b; + } + + void needs_b(intrusive_ptr pb, int expected_rc) + { + TEST_CHECK(pb->ref_cnt == expected_rc); + } + + void needs_d(intrusive_ptr pd) + { + TEST_CHECK(pd->ref_cnt == 2); + } + + intrusive_ptr filter_b(intrusive_ptr pb) + { + TEST_CHECK(pb->ref_cnt == 2); + return pb; + } + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_ >("B") + .def(constructor()) + .def_readonly("val", &B::val) + .def_readonly("ref_cnt", &B::ref_cnt), + class_ >("D") + .def(constructor()), + def("needs_b", &needs_b), + def("needs_d", &needs_d), + def("filter_b", &filter_b) + ]; + + DOSTRING(L, + "d = D(1)\n" + "print(d.val, d.ref_cnt)\n" + "assert(d.val == 1)\n" + "assert(d.ref_cnt == 1)\n" + ); + + DOSTRING(L, + "needs_d(d)\n" + "needs_b(d, 2)\n" + ); + + DOSTRING(L, + "bd = filter_b(d)\n" + "assert(bd.val == 1)\n" + "assert(bd.ref_cnt == 2)\n" + "needs_b(bd, 3)\n" + "assert(bd.ref_cnt == 2)\n" + ); + + DOSTRING(L, + "d = nil\n" + "collectgarbage()\n" + "collectgarbage()\n" + "assert(bd.ref_cnt == 1)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_iterator.cpp b/external/sources/luabind-oberon00-49814f6/test/test_iterator.cpp new file mode 100644 index 0000000000..e1ffa96613 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_iterator.cpp @@ -0,0 +1,85 @@ +// Copyright Daniel Wallin 2007. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" + +#include +#include + +#include + +struct container +{ + container() + { + for (int i = 0; i < 5; ++i) + data[i] = i + 1; + } + + struct iterator + : boost::iterator_adaptor + { + static std::size_t alive; + + iterator(int* p) + : iterator::iterator_adaptor_(p) + { + ++alive; + } + + iterator(iterator const& other) + : iterator::iterator_adaptor_(other) + { + ++alive; + } + + ~iterator() + { + --alive; + } + }; + + iterator begin() + { + return iterator(data); + } + + iterator end() + { + return iterator(data + 5); + } + + int data[5]; +}; + +std::size_t container::iterator::alive = 0; + +struct cls +{ + container iterable; +}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("cls") + .def(constructor<>()) + .def_readonly("iterable", &cls::iterable, return_stl_iterator) + ]; + + DOSTRING(L, + "x = cls()\n" + "sum = 0\n" + "for i in x.iterable do\n" + " sum = sum + i\n" + "end\n" + "assert(sum == 15)\n" + "collectgarbage('collect')\n" + ); + + assert(container::iterator::alive == 0); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_lua_classes.cpp b/external/sources/luabind-oberon00-49814f6/test/test_lua_classes.cpp new file mode 100644 index 0000000000..1020bab4cf --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_lua_classes.cpp @@ -0,0 +1,405 @@ +// Copyright (c) 2005 Daniel Wallin, Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" + +#include +#include +#include + +#include + +namespace luabind { + +#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP + template + T* get_pointer(boost::shared_ptr const& p) { return p.get(); } +#endif + +} + +using namespace luabind; + +namespace { + +struct A : counted_type +{ + virtual ~A() {} + + virtual std::string f() + { return "A:f()"; } + + virtual std::string g() const + { return "A:g()"; } +}; + +struct A_wrap : A, wrap_base +{ + std::string f() + { + return call_member(this, "f"); + } + + static std::string default_f(A* p) + { return p->A::f(); } + + std::string g() const + { + return call_member(this, "g"); + } + + static std::string default_g(A const* p) + { return p->A::g(); } +}; + +struct B : A +{ + virtual std::string f() + { return "B:f()"; } +}; + +struct B_wrap : B, wrap_base +{ + virtual std::string f() + { return call_member(this, "f"); } + + static std::string default_f(B* p) + { return p->B::f(); } + + virtual std::string g() const + { return call_member(this, "g"); } + + static std::string default_g(B const* p) + { return p->B::g(); } +}; + + +struct base : counted_type +{ + virtual ~base() {} + + virtual std::string f() + { + return "base:f()"; + } + + virtual std::string g() const { return ""; } +}; + +base* filter(base* p) { return p; } + +struct base_wrap : base, wrap_base +{ + virtual std::string f() + { + return call_member(this, "f"); + } + + static std::string default_f(base* p) + { + return p->base::f(); + } + + virtual std::string g() const + { + return call_member(this, "g"); + } +}; + +struct T_ // vc6.5, don't name your types T! +{ + int f(int) { return 1; } +}; + +struct U : T_ +{ + int g() { return 3; } + int f(int, int) { return 2; } +}; + +} // namespace unnamed + +void test_main(lua_State* L) +{ + module(L) + [ + class_ >("A") + .def(constructor<>()) + .def("f", &A::f, &A_wrap::default_f) + .def("g", &A::g, &A_wrap::default_g), + + class_ >("B") + .def(constructor<>()) + .def("f", &B::f, &B_wrap::default_f) + .def("g", &B::g, &B_wrap::default_g), + + def("filter", &filter), + + class_("base") + .def(constructor<>()) + .def("f", &base::f, &base_wrap::default_f) + .def("g", &base::g), + + class_("T") + .def("f", &T_::f), + + class_("U") + .def(constructor<>()) + .def("f", &T_::f) + .def("f", &U::f) + .def("g", &U::g) + ]; + + DOSTRING(L, + "u = U()\n" + "assert(u:f(0) == 1)\n" + "assert(u:f(0,0) == 2)\n" + "assert(u:g() == 3)\n"); + + DOSTRING(L, + "u = U()\n" + "assert(u:f(0) == 1)\n" + "assert(u:f(0,0) == 2)\n" + "assert(u:g() == 3)\n"); + + DOSTRING(L, + "function base:fun()\n" + " return 4\n" + "end\n" + "ba = base()\n" + "assert(ba:fun() == 4)"); + + DOSTRING(L, + "function base:gen_member_error()\n" + " assert(0 == 1)\n" + "end\n" + "provide_member_error = base()\n"); + + DOSTRING(L, + "class 'derived' (base)\n" + " function derived:__init() base.__init(self) end\n" + " function derived:f()\n" + " return 'derived:f() : ' .. base.f(self)\n" + " end\n" + + "class 'empty_derived' (base)\n" + " function empty_derived:__init() base.__init(self) end\n" + + "class 'C' (B)\n" + " function C:__init() B.__init(self) end\n" + " function C:f() return 'C:f()' end\n" + + "function make_derived()\n" + " return derived()\n" + "end\n" + + "function make_empty_derived()\n" + " return empty_derived()\n" + "end\n" + + "function adopt_ptr(x)\n" + " a = x\n" + "end\n"); + + DOSTRING(L, + "function gen_error()\n" + " assert(0 == 1)\n" + "end\n"); + + DOSTRING(L, + "a = A()\n" + "b = B()\n" + "c = C()\n" + + "assert(c:f() == 'C:f()')\n" + "assert(b:f() == 'B:f()')\n" + "assert(a:f() == 'A:f()')\n" + "assert(b:g() == 'A:g()')\n" + "assert(c:g() == 'A:g()')\n" + + "assert(C.f(c) == 'C:f()')\n" + "assert(B.f(c) == 'B:f()')\n" + "assert(A.f(c) == 'A:f()')\n" + "assert(A.g(c) == 'A:g()')\n"); + +#ifndef LUABIND_NO_EXCEPTONS + { + LUABIND_CHECK_STACK(L); + + try { call_function(L, "gen_error"); } + catch (luabind::error&) + { + bool result( + lua_tostring(L, -1) == std::string("[string \"function " + "gen_error()...\"]:2: assertion failed!")); + TEST_CHECK(result); + lua_pop(L, 1); + } + } + + { + A a; + + DOSTRING(L, "function test_ref(x) end"); + call_function(L, "test_ref", boost::ref(a)); + } + + { + LUABIND_CHECK_STACK(L); + + try { call_function(L, "gen_error"); } + catch (luabind::error&) + { + bool result( + lua_tostring(L, -1) == std::string("[string \"function " + "gen_error()...\"]:2: assertion failed!")); + TEST_CHECK(result); + lua_pop(L, 1); + } + } + + { + LUABIND_CHECK_STACK(L); + + try { call_function(L, "gen_error") [ adopt(result) ]; } + catch (luabind::error&) + { + bool result( + lua_tostring(L, -1) == std::string("[string \"function " + "gen_error()...\"]:2: assertion failed!")); + TEST_CHECK(result); + lua_pop(L, 1); + } + } + + { + LUABIND_CHECK_STACK(L); + + object provide_member_error = globals(L)["provide_member_error"]; + + try { call_member(provide_member_error, "gen_member_error"); } + catch (luabind::error&) + { + bool result( + lua_tostring(L, -1) == std::string("[string \"function " + "base:gen_member_error()...\"]:2: assertion failed!")); + TEST_CHECK(result); + lua_pop(L, 1); + } + } + + { + LUABIND_CHECK_STACK(L); + + object provide_member_error = globals(L)["provide_member_error"]; + + try { call_member(provide_member_error, "gen_member_error"); } + catch (luabind::error&) + { + bool result( + lua_tostring(L, -1) == std::string("[string \"function " + "base:gen_member_error()...\"]:2: assertion failed!")); + TEST_CHECK(result); + lua_pop(L, 1); + } + } + +#endif + + base* ptr = 0; + { + LUABIND_CHECK_STACK(L); + + TEST_NOTHROW( + object a = globals(L)["ba"]; + TEST_CHECK(call_member(a, "fun") == 4); + ); + } + + { + LUABIND_CHECK_STACK(L); + + object make_derived = globals(L)["make_derived"]; + TEST_NOTHROW( + call_function(make_derived) + ); + } + + std::auto_ptr own_ptr; + { + LUABIND_CHECK_STACK(L); + + TEST_NOTHROW( + own_ptr = std::auto_ptr( + call_function(L, "make_derived") [ adopt(result) ]) + ); + } + + // make sure the derived lua-part is still referenced by + // the adopted c++ pointer + DOSTRING(L, + "collectgarbage()\n" + "collectgarbage()\n" + "collectgarbage()\n" + "collectgarbage()\n" + "collectgarbage()\n"); + + TEST_NOTHROW( + TEST_CHECK(own_ptr->f() == "derived:f() : base:f()") + ); + own_ptr = std::auto_ptr(); + + // test virtual functions that are not overridden by lua + TEST_NOTHROW( + own_ptr = std::auto_ptr( + call_function(L, "make_empty_derived") [ adopt(result) ]) + ); + TEST_NOTHROW( + TEST_CHECK(own_ptr->f() == "base:f()") + ); + TEST_NOTHROW( + call_function(L, "adopt_ptr", own_ptr.get()) [ adopt(_1) ] + ); + own_ptr.release(); + + // test virtual functions that are overridden by lua + TEST_NOTHROW( + ptr = call_function(L, "derived") + ); + + if (ptr) { + TEST_NOTHROW( + TEST_CHECK(ptr->f() == "derived:f() : base:f()") + ); + } + + // test virtual function dispatch from within lua + DOSTRING(L, + "a = derived()\n" + "b = filter(a)\n" + "assert(b:f() == 'derived:f() : base:f()')\n"); + + // test back references + DOSTRING(L, + "a = derived()\n" + "assert(a == filter(a))\n"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_null_pointer.cpp b/external/sources/luabind-oberon00-49814f6/test/test_null_pointer.cpp new file mode 100644 index 0000000000..a1cb58a641 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_null_pointer.cpp @@ -0,0 +1,64 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +namespace { + +struct A : counted_type +{ + A* f() { return 0; } +}; + +A* return_pointer() +{ + return 0; +} + +COUNTER_GUARD(A); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("A") + .def(constructor<>()) + .def("f", &A::f), + + def("return_pointer", &return_pointer) + ]; + + + DOSTRING(L, + "e = return_pointer()\n" + "assert(e == nil)"); + + DOSTRING(L, + "a = A()\n" + "e = a:f()\n" + "assert(e == nil)"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_object.cpp b/external/sources/luabind-oberon00-49814f6/test/test_object.cpp new file mode 100644 index 0000000000..3b2e0d328c --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_object.cpp @@ -0,0 +1,473 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + + +#include "test.hpp" +#include +#include +#include +#include +#include + +#include + +#include + +using namespace luabind; + +namespace { + +int test_object_param(const object& table) +{ + LUABIND_CHECK_STACK(table.interpreter()); + + object current_object; + current_object = table; + lua_State* L = table.interpreter(); + + if (type(table) == LUA_TTABLE) + { + int sum1 = 0; + for (iterator i(table), e; i != e; ++i) + { + assert(type(*i) == LUA_TNUMBER); + sum1 += object_cast(*i); + } + + int sum2 = 0; + for (raw_iterator i(table), e; i != e; ++i) + { + assert(type(*i) == LUA_TNUMBER); + sum2 += object_cast(*i); + } + + // test iteration of empty table + object empty_table = newtable(L); + for (iterator i(empty_table), e; i != e; ++i) + {} + + table["sum1"] = sum1; + table["sum2"] = sum2; + table["blurp"] = 5; + table["sum3"] = table["sum1"]; + return 0; + } + else + { + if (type(table) != LUA_TNIL) + { + return 1; + } + else + { + return 2; + } + } +} + +int test_fun() +{ + return 42; +} + +struct test_param : counted_type +{ + luabind::object obj; + luabind::object obj2; + + bool operator==(test_param const& rhs) const + { return obj == rhs.obj && obj2 == rhs.obj2; } +}; + +COUNTER_GUARD(test_param); + +int test_match(const luabind::object&) +{ + return 0; +} + +int test_match(int) +{ + return 1; +} + +void test_match_object( + luabind::object p1 + , luabind::object p2 + , luabind::object p3) +{ + p1["ret"] = 1; + p2["ret"] = 2; + p3["ret"] = 3; +} + +void test_call(lua_State* L) +{ + DOSTRING(L, + "function sum(...)\n" + " local result = 0\n" + " for _,x in pairs({...}) do\n" + " result = result + x\n" + " end\n" + " return result\n" + "end\n" + ); + + object sum = globals(L)["sum"]; + + TEST_CHECK(object_cast(sum()) == 0); + TEST_CHECK(object_cast(sum(1)) == 1); + TEST_CHECK(object_cast(sum(1,2)) == 3); + TEST_CHECK(object_cast(sum(1,2,3)) == 6); + TEST_CHECK(object_cast(sum(1,2,3,4)) == 10); + TEST_CHECK(object_cast(sum(1,2,3,4,5)) == 15); +} + +void test_metatable(lua_State* L) +{ + object metatable = newtable(L); + object G = globals(L); + + DOSTRING(L, + "function index_function(table, key)\n" + " return key*2\n" + "end\n" + + "index_table = {}" + ); + + metatable["__index"] = G["index_function"]; + setmetatable(G["index_table"], metatable); + + DOSTRING(L, + "assert(index_table[0] == 0)\n" + "assert(index_table[1] == 2)\n" + "assert(index_table[2] == 4)\n" + ); + + DOSTRING(L, + "setmetatable(index_table, { ['luabind.metatable'] = 1 })" + ); + + assert(getmetatable(G["index_table"])["luabind.metatable"] == 1); + assert(type(getmetatable(G["index_table"])["nonexistent"]) == LUA_TNIL); +} + +int with_upvalues(lua_State *) +{ + return 0; +} + +void test_upvalues(lua_State* L) +{ + lua_pushnumber(L, 3); + lua_pushnumber(L, 4); + lua_pushcclosure(L, &with_upvalues, 2); + + object f(from_stack(L, -1)); + lua_pop(L, 1); + + assert(getupvalue(f, 1) == 3); + assert(getupvalue(f, 2) == 4); + + setupvalue(f, 1, object(L, 4)); + assert(getupvalue(f, 1) == 4); + assert(getupvalue(f, 2) == 4); + + setupvalue(f, 2, object(L, 5)); + assert(getupvalue(f, 1) == 4); + assert(getupvalue(f, 2) == 5); +} + +void test_explicit_conversions(lua_State* L) +{ + lua_pushcclosure(L, &with_upvalues, 0); + object f(from_stack(L, -1)); + lua_pop(L, 1); + assert(tocfunction(f) == &with_upvalues); + + int* p = static_cast(lua_newuserdata(L, sizeof(int))); + *p = 1234; + object x(from_stack(L, -1)); + lua_pop(L, 1); + assert(*touserdata(x) == 1234); +} + +int with_argument(argument const& arg) +{ + return object_cast(arg) * 2; +} + +int with_table_argument(argument const& arg, argument const& key) +{ + return object_cast(arg[key]); +} + +void test_argument(lua_State* L) +{ + module(L) [ + def("with_argument", &with_argument), + def("with_table_argument", &with_table_argument) + ]; + + DOSTRING(L, + "assert(with_argument(1) == 2)\n" + "assert(with_argument(2) == 4)\n" + ); + + DOSTRING(L, + "x = { foo = 1, bar = 2 }\n" + + "assert(with_table_argument(x, 'foo') == 1)\n" + "assert(with_table_argument(x, 'bar') == 2)\n" + ); +} + +void test_bool_convertible(lua_State* L) +{ + DOSTRING(L, + "x1 = nil\n" + "x2 = false\n" + "x3 = 0\n" + "x4 = 1\n" + ); + + DOSTRING(L, + "assert(not x1)\n" + "assert(not x2)\n" + "assert(x3)\n" + "assert(x4)\n" + ); + + object G = globals(L); + + object x1 = G["x1"]; + object x2 = G["x2"]; + object x3 = G["x3"]; + object x4 = G["x4"]; + + assert(!x1); + assert(!x2); + assert(x3); + assert(x4); + + assert(!G["x1"]); + assert(!G["x2"]); + assert(G["x3"]); + assert(G["x4"]); +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + def("test_object_param", &test_object_param), + def("test_fun", &test_fun), + def("test_match", + static_cast(&test_match)), + def("test_match", static_cast(&test_match)), + def("test_match_object", &test_match_object), + + class_("test_param") + .def(constructor<>()) + .def_readwrite("obj", &test_param::obj) + .def_readonly("obj2", &test_param::obj2) + .def(const_self == const_self) + ]; + + object uninitialized; + TEST_CHECK(!uninitialized); + TEST_CHECK(!uninitialized.is_valid()); + + test_param temp_object; + globals(L)["temp"] = temp_object; + TEST_CHECK(object_cast(globals(L)["temp"]) == temp_object); + globals(L)["temp"] = &temp_object; + TEST_CHECK(object_cast(globals(L)["temp"]) == &temp_object); + TEST_CHECK(globals(L)["temp"] == temp_object); + + // test the registry + object reg = registry(L); + reg["__a"] = "foobar"; + TEST_CHECK(object_cast(registry(L)["__a"]) == "foobar"); + + DOSTRING(L, + "t = 2\n" + "assert(test_object_param(t) == 1)"); + + DOSTRING(L, "assert(test_object_param(nil) == 2)"); + DOSTRING(L, "t = { ['oh'] = 4, 3, 5, 7, 13 }"); + DOSTRING(L, "assert(test_object_param(t) == 0)"); + DOSTRING(L, "assert(t.sum1 == 4 + 3 + 5 + 7 + 13)"); + DOSTRING(L, "assert(t.sum2 == 4 + 3 + 5 + 7 + 13)"); + DOSTRING(L, "assert(t.blurp == 5)"); + + object g = globals(L); + object ret = g["test_fun"](); + TEST_CHECK(object_cast(ret) == 42); + + DOSTRING(L, "function test_param_policies(x, y) end"); + object test_param_policies = g["test_param_policies"]; + int a = type(test_param_policies); + TEST_CHECK(a == LUA_TFUNCTION); + + luabind::object obj; + obj = luabind::object(); + + // call the function and tell lua to adopt the pointer passed as first argument + test_param_policies(5, new test_param())[adopt(_2)]; + + DOSTRING(L, "assert(test_match(7) == 1)"); + DOSTRING(L, "assert(test_match('oo') == 0)"); + + DOSTRING(L, + "t = test_param()\n" + "t.obj = 'foo'\n" + "assert(t.obj == 'foo')\n" + "assert(t.obj2 == nil)"); + + DOSTRING(L, + "function test_object_policies(a) glob = a\n" + "return 6\n" + "end"); + + object test_object_policies = g["test_object_policies"]; + object ret_val = test_object_policies("teststring")[detail::null_type()]; + TEST_CHECK(object_cast(ret_val) == 6); + TEST_CHECK(ret_val == 6); + TEST_CHECK(6 == ret_val); + g["temp_val"] = 6; + TEST_CHECK(ret_val == g["temp_val"]); + object temp_val = g["temp_val"]; + TEST_CHECK(ret_val == temp_val); + + g["temp"] = "test string"; + TEST_CHECK(boost::lexical_cast(g["temp"]) == "test string"); + g["temp"] = 6; + TEST_CHECK(boost::lexical_cast(g["temp"]) == "6"); + + TEST_CHECK(object_cast(g["glob"]) == "teststring"); + TEST_CHECK(object_cast(gettable(g, "glob")) == "teststring"); + TEST_CHECK(object_cast(rawget(g, "glob")) == "teststring"); + + object t = newtable(L); + TEST_CHECK(iterator(t) == iterator()); + TEST_CHECK(raw_iterator(t) == raw_iterator()); + + t["foo"] = "bar"; + + TEST_CHECK(object_cast(t["foo"]) == "bar"); + TEST_CHECK(object_cast(*iterator(t)) == "bar"); + TEST_CHECK(object_cast(*raw_iterator(t)) == "bar"); + + t["foo"] = nil; // luabind::nil_type + + TEST_CHECK(iterator(t) == iterator()); + TEST_CHECK(raw_iterator(t) == raw_iterator()); + + t["foo"] = "bar"; + iterator it1(t); + *it1 = nil; + + TEST_CHECK(iterator(t) == iterator()); + TEST_CHECK(raw_iterator(t) == raw_iterator()); + + t["foo"] = "bar"; + raw_iterator it2(t); + *it2 = nil; + + TEST_CHECK(iterator(t) == iterator()); + TEST_CHECK(raw_iterator(t) == raw_iterator()); + + DOSTRING(L, + "p1 = {}\n" + "p2 = {}\n" + "p3 = {}\n" + "test_match_object(p1, p2, p3)\n" + "assert(p1.ret == 1)\n" + "assert(p2.ret == 2)\n" + "assert(p3.ret == 3)\n"); + + +#ifndef LUABIND_NO_EXCEPTIONS + + try + { + object not_initialized; + int i = object_cast(not_initialized); + (void)i; + TEST_ERROR("invalid cast succeeded"); + } + catch(luabind::cast_failed&) {} + +#endif + + object not_initialized; + TEST_CHECK(!object_cast_nothrow(not_initialized)); + TEST_CHECK(!not_initialized.is_valid()); + TEST_CHECK(!not_initialized); + + DOSTRING(L, "t = { {1}, {2}, {3}, {4} }"); + + int inner_sum = 0; + + for (iterator i(globals(L)["t"]), e; i != e; ++i) + { + inner_sum += object_cast((*i)[1]); + } + + TEST_CHECK(inner_sum == 1 + 2 + 3 + 4); + + DOSTRING(L, "t = { {1, 2}, {3, 4}, {5, 6}, {7, 8} }"); + + inner_sum = 0; + + for (iterator i(globals(L)["t"]), e; i != e; ++i) + { + for (iterator j(*i), e2; j != e2; ++j) + { + inner_sum += object_cast(*j); + } + } + + TEST_CHECK(inner_sum == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8); + TEST_CHECK(object_cast(globals(L)["t"][2][2]) == 4); + + DOSTRING(L, + "obj = setmetatable({}, {\n" + " __tostring = function() return 'custom __tostring' end})"); + + TEST_CHECK( + boost::lexical_cast(globals(L)["obj"]) == + "custom __tostring"); + + test_call(L); + test_metatable(L); + test_upvalues(L); + test_explicit_conversions(L); + test_argument(L); + test_bool_convertible(L); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_operators.cpp b/external/sources/luabind-oberon00-49814f6/test/test_operators.cpp new file mode 100644 index 0000000000..52bb3a2432 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_operators.cpp @@ -0,0 +1,262 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include + +#include + +namespace { + +struct operator_tester : counted_type +{ + int operator+(int a) const + { + return 1 + a; + } + + int operator-() const + { + return 46; + } + + float operator()() const + { + return 3.5f; + } + + float operator()(int a) const + { + return 3.5f + a; + } + + float operator()(int a) + { + return 2.5f + a; + } +}; + +float operator*(operator_tester const& /*lhs*/, operator_tester const& /*rhs*/) +{ + return 35.f; +} + +float operator%(operator_tester const& /*lhs*/, operator_tester const& /*rhs*/) +{ + return 15.f; +} + +std::string operator*(operator_tester const&, int) +{ + return "(operator_tester, int) overload"; +} + +int operator+(int a, const operator_tester&) +{ + return 2 + a; +} + +struct operator_tester2 : counted_type +{ +}; + +int operator+(const operator_tester&, const operator_tester2&) +{ + return 73; +} + +struct operator_tester3: operator_tester, counted_type {}; + +std::ostream& operator<<(std::ostream& os, const operator_tester&) +{ + os << "operator_tester"; return os; +} + +struct op_test1 +{ + bool operator==(op_test1 const& /*rhs*/) const { return true; } +}; + +struct op_test2 : public op_test1 +{ + bool operator==(op_test2 const& /*rhs*/) const { return true; } +}; + +COUNTER_GUARD(operator_tester); +COUNTER_GUARD(operator_tester2); +COUNTER_GUARD(operator_tester3); + +struct len_tester +{ + len_tester(int len_) + : m_len(len_) + {} + + int len() const + { + return m_len; + } + + int m_len; +}; + +struct B {}; +struct D: B {}; + +struct nameless {}; + +nameless make_nameless() { return nameless(); } + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("operator_tester") + .def(constructor<>()) + .def(tostring(const_self)) + .def(self + int()) + .def(other() + self) + .def(-self) + .def(self + other()) + .def(self()) + .def(const_self(int())) + .def(self(int())) +// .def(const_self * other()) + .def(const_self * const_self) + .def(const_self * other()) + .def(const_self % const_self) +// .def("clone", &clone, adopt(return_value)), + , + + class_("operator_tester2") + .def(constructor<>()) + .def(other() + self), + + class_("operator_tester3") + .def(constructor<>()), + + class_("op_test1") + .def(constructor<>()) + .def(const_self == const_self), + + class_("op_test2") + .def(constructor<>()) + .def(self == self), + + class_("len_tester") + .def(constructor()) + .def("__len", &len_tester::len), + + class_(), + def("make_nameless", &make_nameless), + + class_("B") + .def(constructor<>()), + class_("D") + .def(constructor<>()) + ]; + + DOSTRING(L, "test = operator_tester()"); + DOSTRING(L, "test2 = operator_tester2()"); + DOSTRING(L, "test3 = operator_tester3()"); + + DOSTRING(L, "assert(tostring(test) == 'operator_tester')"); + + DOSTRING(L, "assert(test() == 3.5)"); + DOSTRING(L, "assert(test(5) == 2.5 + 5)"); + + DOSTRING(L, "assert(-test == 46)"); + DOSTRING(L, "assert(test * test == 35)"); + DOSTRING(L, "assert(test % test == 15)"); + DOSTRING(L, "assert(test * 3 == '(operator_tester, int) overload')") + DOSTRING(L, "assert(test + test2 == 73)"); + DOSTRING(L, "assert(2 + test == 2 + 2)"); + DOSTRING(L, "assert(test + 2 == 1 + 2)"); + DOSTRING(L, "assert(test3 + 6 == 1 + 6)"); + DOSTRING(L, "assert(test3 + test2 == 73)"); + DOSTRING(L, "assert(tostring(test) == 'operator_tester')"); + // Default __tostring should be "class NAME: ADDRESS". + DOSTRING(L, "assert(tostring(test2):match('" + // Pointer representation is platform dependent, don't check it. + "^operator_tester2 object: " + "'))"); + DOSTRING(L, "print(test2)"); + + DOSTRING(L, "print(make_nameless())"); + + DOSTRING_EXPECTED(L, + "local d = test2 / test3", + "class operator_tester2: no __div operator defined."); + + const char* prog = + "class 'my_class'\n" + "function my_class:__add(lhs)\n" + " return my_class(self.val + lhs.val)\n" + "end\n" + "function my_class:__init(a)\n" + " self.val = a\n" + "end\n" + "function my_class:__sub(v)\n" + " if (type(self) == 'number') then\n" + " return my_class(self - v.val)\n" + " elseif (type(v) == 'number') then\n" + " return my_class(self.val - v)\n" + " else\n" + " return my_class(self.val - v.val)\n" + " end\n" + "end\n" + "a = my_class(3)\n" + "b = my_class(7)\n" + "c = a + b\n" + "d = a - 2\n" + "d = 10 - d\n" + "d = d - b\n"; + + DOSTRING(L, prog); + DOSTRING(L, "assert(c.val == 10)"); + DOSTRING(L, "assert(d.val == 2)"); + + DOSTRING(L, + "a = op_test1()\n" + "b = op_test2()\n" + "assert(a == b)"); + + DOSTRING(L, + "x = len_tester(0)\n"); + + DOSTRING(L, + "x = len_tester(3)\n" + "assert(#x == 3)"); + + D d; + globals(L)["d"] = &d; + globals(L)["b"] = static_cast(&d); + DOSTRING(L, + "assert(d == b)\n" + "assert(b == d)\n" + "assert(d ~= x)\n"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_out_value.cpp b/external/sources/luabind-oberon00-49814f6/test/test_out_value.cpp new file mode 100644 index 0000000000..6254ebb771 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_out_value.cpp @@ -0,0 +1,25 @@ +// Currently fails to compile (See +// https://github.com/Oberon00/luabind/issues/30) + +#include "test.hpp" + +#include +#include + +void f(float& val) { val = val + 10.f; } + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + def("f", &f, out_value(_1)) // compiles with "pure_out_value" + ]; + + // out_value + DOSTRING(L, + "a = f(5)\n" + "assert(a == 15)"); + +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_package_preload.cpp b/external/sources/luabind-oberon00-49814f6/test/test_package_preload.cpp new file mode 100644 index 0000000000..0d2418ff2b --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_package_preload.cpp @@ -0,0 +1,82 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg +// Copyright (c) 2012 Iowa State University + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include +#include + +static int f(int x) +{ + return x + 1; +} + +static void loader(lua_State* L, char const* modname) +{ + TEST_CHECK(modname); + TEST_CHECK(modname && std::strcmp(modname, "testmod") == 0); + using namespace luabind; + module(L) + [ + def("f", &f) + ]; +} + +static luabind::object local_loader(lua_State* L, char const* modname) +{ + TEST_CHECK(modname); + TEST_CHECK(modname && std::strcmp(modname, "testmod_l") == 0); + using namespace luabind; + object modtable = newtable(L); + module(modtable) + [ + def("f", &f) + ]; + return modtable; +} + +void test_main(lua_State* L) +{ + using namespace luabind; + + set_package_preload(L, "testmod", &loader); + DOSTRING(L, "assert(require('testmod') == true)"); + + DOSTRING(L, "assert(f(7) == 8)"); + + set_package_preload(L, "testmod_l", &local_loader); + DOSTRING(L, "mod = require('testmod_l')"); + DOSTRING(L, + "assert(not testmod_l)\n" // No global should be created. + "assert(mod.f(41) == 42)\n"); // Module should be returned. + + DOSTRING(L, "package.preload = nil"); + try { + set_package_preload(L, "failmod", &loader); + } catch (luabind::error const&) { + TEST_CHECK(std::strcmp("attempt to index a nil value", lua_tostring(L, -1)) == 0); + lua_pop(L, 1); + return; + } + TEST_ERROR("set_package_preload() should have thrown."); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_policies.cpp b/external/sources/luabind-oberon00-49814f6/test/test_policies.cpp new file mode 100644 index 0000000000..d3ebb76a79 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_policies.cpp @@ -0,0 +1,228 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" + +#include +#include +#include +#include +#include +#include +#include + +namespace { + +struct test_copy {}; + + +struct secret_type {}; + +secret_type sec_; + + +struct policies_test_class +{ + policies_test_class(const char* name): name_(name) + { ++count; } + policies_test_class() { ++count; } + ~policies_test_class() + { --count; } + + std::string name_; + + policies_test_class* make(const char* name) const + { + return new policies_test_class(name); + } + + void f(policies_test_class* p) + { + delete p; + } + const policies_test_class* internal_ref() { return this; } + policies_test_class* self_ref() + { return this; } + + static int count; + + // private: + policies_test_class(policies_test_class const& c): name_(c.name_) + { ++count; } + + void member_out_val(int a, int* v) { *v = a * 2; } + secret_type* member_secret() { return &sec_; } +}; + +int policies_test_class::count = 0; + +policies_test_class global; + +void out_val(float* f) { *f = 3.f; } +policies_test_class* copy_val() { return &global; } +policies_test_class const* copy_val_const() { return &global; } + +secret_type* secret() { return &sec_; } + +struct test_t { + test_t *make(int) { return new test_t(); } + void take(test_t*) {} +}; + +struct MI2; + +struct MI1 +{ + void add(MI2 *) {} +}; + +struct MI2 : public MI1 +{ + virtual ~MI2() + {} +}; + +struct MI2W : public MI2, public luabind::wrap_base {}; + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("test_t") + .def("make", &test_t::make, adopt(return_value)) + .def("take", &test_t::take, adopt(_2)) + ]; + + module(L) + [ + class_("test") + .def(constructor<>()) + .def("member_out_val", &policies_test_class::member_out_val, pure_out_value(_3)) + .def("member_secret", &policies_test_class::member_secret, discard_result) + .def("f", &policies_test_class::f, adopt(_2)) + .def("make", &policies_test_class::make, adopt(return_value)) + .def("internal_ref", &policies_test_class::internal_ref, dependency(result, _1)) + .def("self_ref", &policies_test_class::self_ref, return_reference_to(_1)), + + def("out_val", &out_val, pure_out_value(_1)), + def("copy_val", ©_val, copy(result)), + def("copy_val_const", ©_val_const, copy(result)), + def("secret", &secret, discard_result), + + class_("mi1") + .def(constructor<>()) + .def("add",&MI1::add,adopt(_2)), + + class_("mi2") + .def(constructor<>()) + ]; + + // test copy + DOSTRING(L, "a = secret()\n"); + + TEST_CHECK(policies_test_class::count == 1); + + DOSTRING(L, "a = copy_val()\n"); + TEST_CHECK(policies_test_class::count == 2); + + DOSTRING(L, "b = copy_val_const()\n"); + TEST_CHECK(policies_test_class::count == 3); + + DOSTRING(L, + "a = nil\n" + "b = nil\n" + "collectgarbage()\n"); + + // only the global variable left here + TEST_CHECK(policies_test_class::count == 1); + + // out_value + DOSTRING(L, + "a = out_val()\n" + "assert(a == 3)"); + + // return_reference_to + DOSTRING(L, + "a = test()\n" + "b = a:self_ref()\n" + "a = nil\n" + "collectgarbage()"); + + // a is kept alive as long as b is alive + TEST_CHECK(policies_test_class::count == 2); + + DOSTRING(L, + "b = nil\n" + "collectgarbage()"); + + TEST_CHECK(policies_test_class::count == 1); + + DOSTRING(L, "a = test()"); + + TEST_CHECK(policies_test_class::count == 2); + + DOSTRING(L, + "b = a:internal_ref()\n" + "a = nil\n" + "collectgarbage()"); + + // a is kept alive as long as b is alive + TEST_CHECK(policies_test_class::count == 2); + + // two gc-cycles because dependency-table won't be collected in the + // same cycle as the object_rep + DOSTRING(L, + "b = nil\n" + "collectgarbage()\n" + "collectgarbage()"); + + TEST_CHECK(policies_test_class::count == 1); + + // adopt + DOSTRING(L, "a = test()"); + + TEST_CHECK(policies_test_class::count == 2); + + DOSTRING(L, "b = a:make('tjosan')"); + DOSTRING(L, "assert(a:member_out_val(3) == 6)"); + DOSTRING(L, "a:member_secret()"); + + // make instantiated a new policies_test_class + TEST_CHECK(policies_test_class::count == 3); + + DOSTRING(L, "a:f(b)\n"); + + // b was adopted by c++ and deleted the object + TEST_CHECK(policies_test_class::count == 2); + + DOSTRING(L, "a = nil\n" + "collectgarbage()"); + + TEST_CHECK(policies_test_class::count == 1); + + // adopt with wrappers + DOSTRING(L, "mi1():add(mi2())"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_private_destructors.cpp b/external/sources/luabind-oberon00-49814f6/test/test_private_destructors.cpp new file mode 100644 index 0000000000..c8056bc9b5 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_private_destructors.cpp @@ -0,0 +1,152 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +namespace { + +struct X +{ +private: + ~X() {} +}; + +int ptr_count = 0; + +template +struct ptr +{ + ptr() + : p(0) + { + ptr_count++; + } + + ptr(T* p_) + : p(p_) + { + ptr_count++; + } + + ptr(ptr const& other) + : p(other.p) + { + ptr_count++; + } + + template + ptr(ptr const& other) + : p(other.p) + { + ptr_count++; + } + + ~ptr() + { + ptr_count--; + } + + T* p; +}; + +template +T* get_pointer(ptr const& x) +{ + return x.p; +} + +void f1(X const&) +{} + +void f2(X&) +{} + +void f3(X const*) +{} + +void f4(X*) +{} + +void g1(ptr p) +{ + TEST_CHECK(ptr_count == (p.p ? 2 : 3)); +} + +void g2(ptr const& p) +{ + TEST_CHECK(ptr_count == (p.p ? 1 : 2)); +} + +void g3(ptr*) +{ + TEST_CHECK(ptr_count == 1); +} + +void g4(ptr const*) +{ + TEST_CHECK(ptr_count == 1); +} + +ptr get() +{ + return ptr(new X); +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_ >("X"), + + def("get", &get), + + def("f1", &f1), + def("f2", &f2), + def("f3", &f3), + def("f4", &f4), + + def("g1", &g1), + def("g2", &g2), + def("g3", &g3), + def("g4", &g4) + ]; + + DOSTRING(L, "x = get()\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "f1(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "f2(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "f3(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "f4(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "g1(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "g2(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "g3(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, "g4(x)\n"); + TEST_CHECK(ptr_count == 1); + + DOSTRING(L, + "x = nil\n" + ); + + lua_gc(L, LUA_GCCOLLECT, 0); + TEST_CHECK(ptr_count == 0); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_properties.cpp b/external/sources/luabind-oberon00-49814f6/test/test_properties.cpp new file mode 100644 index 0000000000..75e08dc5f1 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_properties.cpp @@ -0,0 +1,78 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +// This test expands on test_attributes.cpp, testing the new property +// implementation features. + +#include "test.hpp" +#include + +namespace { + +struct Base +{}; + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("Base") + .def(constructor<>()) + ]; + + DOSTRING(L, + "class 'Readonly' (Base)\n" + " function Readonly:__init(x)\n" + " Base.__init(self)\n" + " self._x = x\n" + " end\n" + + " function Readonly:getX()\n" + " return self._x\n" + " end\n" + + " Readonly.x = property(Readonly.getX)\n" + ); + + DOSTRING(L, + "class 'Readwrite' (Readonly)\n" + " function Readwrite:__init(x)\n" + " Readonly.__init(self, x)\n" + " end\n" + + " function Readwrite:setX(x)\n" + " self._x = x\n" + " end\n" + + " Readwrite.x = property(Readonly.getX, Readwrite.setX)\n" + ); + + DOSTRING(L, + "r = Readonly(1)\n" + "assert(r.x == 1)\n" + ); + + DOSTRING_EXPECTED(L, + "r = Readonly(1)\n" + "r.x = 2\n" + , "property 'x' is read only" + ); + + DOSTRING(L, + "r = Readwrite(2)\n" + "assert(r.x == 2)\n" + "r.x = 3\n" + "assert(r.x == 3)\n" + "assert(r._x == 3)\n" + ); + + DOSTRING(L, + "r = Readonly(1)\n" + "r.y = 2\n" + "assert(r.y == 2)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_scope.cpp b/external/sources/luabind-oberon00-49814f6/test/test_scope.cpp new file mode 100644 index 0000000000..06987292f8 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_scope.cpp @@ -0,0 +1,165 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include // for yield + +namespace { + +int f() { return 1; } +int f_(int) { return 2; } +int f__(int) { return 3; } +int g() { return 4; } +int g_(int) { return 5; } +int h() { return 6; } + +struct test_class : counted_type +{ + test_class() + : test(1) + {} + int test; +}; + +struct test_class2 : counted_type +{ + test_class2() {} + int string_string(std::string const&, std::string const&) + { return 1; } +}; + +struct test_class_unnamed : counted_type +{ + test_class_unnamed() {} + int f() { return 42; } +}; + +test_class_unnamed create_unnamed() +{ + return test_class_unnamed(); +} + + +COUNTER_GUARD(test_class); +COUNTER_GUARD(test_class2); +COUNTER_GUARD(test_class_unnamed); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("test_class2") + .def(constructor<>()) + .def("string_string", &test_class2::string_string) + ]; + + module(L, "test") + [ + class_("test_class") + .def(constructor<>()) + .def_readonly("test", &test_class::test) + .scope + [ + def("inner_fun", &f) + ] + .def("inner_fun2", &f) // this should become static + .enum_("vals") + [ + value("val1", 1), + value("val2", 2) + ], + + def("f", &f), + def("f", &f_), + + namespace_("inner") + [ + def("g", &g), + def("f", &f__) + ], + + namespace_("inner") + [ + def("g", &g_) + ], + + class_() + .def(constructor<>()) + .def("f", &test_class_unnamed::f), + def("create_unnamed", &create_unnamed) + ]; + + module(L, "test") + [ + namespace_("inner") + [ + def("h", &h) + ] + ]; + + object test = newtable(L); + + module(test) + [ + namespace_("inner") + [ + def("h", &h) + ] + ]; + + DOSTRING(L, "assert(test.f() == 1)"); + DOSTRING(L, "assert(test.f(3) == 2)"); + DOSTRING(L, "assert(test.test_class.inner_fun() == 1)"); + DOSTRING(L, + "a = test.test_class()\n" + "assert(a.test == 1)"); + DOSTRING(L, "assert(a.inner_fun2() == 1)"); // free function + DOSTRING(L, + "b = test.test_class.val2\n" + "assert(b == 2)"); + DOSTRING(L, "assert(test.inner.g() == 4)"); + DOSTRING(L, "assert(test.inner.g(7) == 5)"); + DOSTRING(L, "assert(test.inner.f(4) == 3)"); + DOSTRING(L, "assert(test.inner.h() == 6)"); + + globals(L)["test_object"] = test; + + DOSTRING(L, "assert(not inner)"); + DOSTRING(L, "assert(test_object.inner.h() == 6)"); + + DOSTRING(L, "assert(not test_class_unnamed)"); + DOSTRING(L, + "u = test.create_unnamed()\n" + "assert(u:f() == 42)"); + + DOSTRING_EXPECTED(L, "_ = test_class2.foo", + "no static 'foo' in class 'test_class2'"); + DOSTRING_EXPECTED(L, "_ = test.test_class['val1\\0foo']", + "no static 'val1' (followed by embedded 0) in class 'test_class'"); + DOSTRING_EXPECTED(L, "_ = test_class2[{}]", + "no static value at table-index in class 'test_class2'"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_separation.cpp b/external/sources/luabind-oberon00-49814f6/test/test_separation.cpp new file mode 100644 index 0000000000..08a8132878 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_separation.cpp @@ -0,0 +1,58 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include + +namespace { + + struct X {}; + struct Y {}; + +luabind::scope test_separate_registration() +{ + using namespace luabind; + + return class_("X") + .def(constructor<>()), + class_("Y") + .def(constructor<>()) + ; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + namespace_("Z") [ + test_separate_registration() + ] + ]; + + DOSTRING(L, "x = Z.X()"); + DOSTRING(L, "y = Z.Y()"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_set_instance_value.cpp b/external/sources/luabind-oberon00-49814f6/test/test_set_instance_value.cpp new file mode 100644 index 0000000000..844d0cfca6 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_set_instance_value.cpp @@ -0,0 +1,30 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +void test_main(lua_State* L) +{ + DOSTRING(L, + "class 'X'\n" + " function X:__init()\n" + " self.value = 1\n" + " self.second = 2\n" + " end\n" + "\n" + "x = X()\n" + "assert(x.value == 1)\n" + "assert(x.second == 2)\n" + "x.value = 2\n" + "assert(x.value == 2)\n" + "assert(x.second == 2)\n" + "x.second = 3\n" + "y = X()\n" + "assert(y.value == 1)\n" + "assert(y.second == 2)\n" + "assert(x.value == 2)\n" + "assert(x.second == 3)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_shadow.cpp b/external/sources/luabind-oberon00-49814f6/test/test_shadow.cpp new file mode 100644 index 0000000000..9bcdd1a0e7 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_shadow.cpp @@ -0,0 +1,43 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +using namespace luabind; + +struct X +{ + void f() + {} +}; + +struct Y : X +{ + void f() + {} +}; + +void test_main(lua_State* L) +{ + module(L) [ + class_("X") + .def(constructor<>()) + .def("f", &X::f), + + class_("Y") + .def(constructor<>()) + .def("f", &Y::f) + ]; + + DOSTRING(L, + "x = X()\n" + "x:f()\n" + ); + + DOSTRING(L, + "x = Y()\n" + "x:f()\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_shared_ptr.cpp b/external/sources/luabind-oberon00-49814f6/test/test_shared_ptr.cpp new file mode 100644 index 0000000000..e1293f48b6 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_shared_ptr.cpp @@ -0,0 +1,146 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include +#include +#include + +namespace { + +struct B: boost::enable_shared_from_this {}; +struct I: B {}; +struct D: I {}; + +struct X +{ + X(int value_) + : value(value_) + {} + + int value; +}; + +int get_value(boost::shared_ptr const& p) +{ + return p->value; +} + +boost::shared_ptr filter(boost::shared_ptr const& p, long expected_uc) +{ + TEST_CHECK(p.use_count() == expected_uc); + return p; +} + +void needs_b(boost::shared_ptr const& p) +{ + TEST_CHECK(p.use_count() == 2); +} + +void needs_i(boost::shared_ptr const& p) +{ + TEST_CHECK(p.use_count() == 2); +} + +#ifndef LUABIND_NO_STD_SHARED_PTR + +struct B2: std::enable_shared_from_this {}; +struct D2: B2 {}; + +void needs_b2(std::shared_ptr const& p) +{ + TEST_CHECK(p.use_count() == 2); +} + +#endif + +unsigned n_unref = 0; + +void on_state_unreferenced(lua_State* L) +{ + TEST_CHECK(L); + TEST_CHECK(luabind::is_state_unreferenced(L)); + ++n_unref; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("X") + .def(constructor()), + def("get_value", &get_value), + def("filter", &filter), + + class_ >("B") + .def(constructor<>()), + class_ >("I"), + class_ >("D") + .def(constructor<>()), + def("needs_b", &needs_b), + def("needs_i", &needs_i) + +#ifndef LUABIND_NO_STD_SHARED_PTR + , + class_ >("B2") + .def(constructor<>()), + class_ >("D2") + .def(constructor<>()), + def("needs_b2", &needs_b2) +#endif + ]; + + set_state_unreferenced_callback(L, &on_state_unreferenced); + TEST_CHECK( + get_state_unreferenced_callback(L) == &on_state_unreferenced); + + DOSTRING(L, + "x = X(1)\n" + "assert(get_value(x) == 1)\n" + ); + + DOSTRING(L, + "assert(x == filter(x, 1))\n" + ); + + boost::shared_ptr spx(new X(2)); + globals(L)["x2"] = spx; + TEST_CHECK(spx.use_count() == 2); + DOSTRING(L, "assert(get_value(x2) == 2)"); + + // Raw equality could only be provided here at the cost of creating a new + // shared_ptr with a custom deleter, which in turn would mean that the + // refered C++-object would be deleted when the lua_State is closed. + DOSTRING(L, "filter(x2, 3)"); + DOSTRING(L, + "x = nil\n" + "x2 = nil\n" + "collectgarbage()\n" + "collectgarbage()\n" + ); + TEST_CHECK(spx.use_count() == 1); + + DOSTRING(L, + "d = D()\n" + "needs_b(d)\n" // test that automatic upcasting works + ); + + // upcast to class which is neither the template parameter of + // enable_shared_from_this nor a direct match to the holder type: + DOSTRING(L, "needs_i(d)"); + +#ifndef LUABIND_NO_STD_SHARED_PTR + // And the same once again with std::shared_ptr: + DOSTRING(L, + "d2 = D2()\n" + "needs_b2(d2)\n" // test that automatic upcasting works + ); +#endif + TEST_CHECK(n_unref == 2); + TEST_CHECK(is_state_unreferenced(L)); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_simple_class.cpp b/external/sources/luabind-oberon00-49814f6/test/test_simple_class.cpp new file mode 100644 index 0000000000..3d5fda5944 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_simple_class.cpp @@ -0,0 +1,107 @@ +// Copyright (c) 2004 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +namespace { + +struct simple_class : counted_type +{ + static int feedback; + + void f() + { + feedback = 1; + } + + void f(int, int) {} + void f(std::string a) + { + const char str[] = "foo\0bar"; + if (a == std::string(str, sizeof(str)-1)) + feedback = 2; + } + + std::string g() + { + const char str[] = "foo\0bar"; + return std::string(str, sizeof(str)-1); + } + +}; + +int simple_class::feedback = 0; + +COUNTER_GUARD(simple_class); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + typedef void(simple_class::*f_overload1)(); + typedef void(simple_class::*f_overload2)(int, int); + typedef void(simple_class::*f_overload3)(std::string); + + module(L) + [ + class_("simple") + .def(constructor<>()) + .def("f", static_cast(&simple_class::f)) + .def("f", static_cast(&simple_class::f)) + .def("f", static_cast(&simple_class::f)) + .def("g", &simple_class::g) + ]; + + DOSTRING(L, + "class 'simple_derived' (simple)\n" + " function simple_derived:__init() simple.__init(self) end\n" + "a = simple_derived()\n" + "a:f()\n"); + TEST_CHECK(simple_class::feedback == 1); + + DOSTRING(L, "a:f('foo\\0bar')"); + TEST_CHECK(simple_class::feedback == 2); + + DOSTRING(L, + "b = simple_derived()\n" + "a.foo = 'yo'\n" + "assert(b.foo == nil)"); + + DOSTRING(L, + "simple_derived.foobar = 'yi'\n" + "assert(b.foobar == 'yi')\n" + "assert(a.foobar == 'yi')\n"); + + simple_class::feedback = 0; + + DOSTRING_EXPECTED(L, "a:f('incorrect', 'parameters')", + "No matching overload found, candidates:\n" + "void f(simple&,std::string)\n" + "void f(simple&,int,int)\n" + "void f(simple&)"); + + DOSTRING(L, "if a:g() == \"foo\\0bar\" then a:f() end"); + TEST_CHECK(simple_class::feedback == 1); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_smart_ptr_attributes.cpp b/external/sources/luabind-oberon00-49814f6/test/test_smart_ptr_attributes.cpp new file mode 100644 index 0000000000..15127305bd --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_smart_ptr_attributes.cpp @@ -0,0 +1,49 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include +#include + +#include + +struct Foo +{ + Foo() : m_baz(0) {} + int m_baz; +}; + +struct Bar +{ + boost::shared_ptr getFoo() const { return m_foo; } + void setFoo( boost::shared_ptr foo ) { m_foo = foo; } + + boost::shared_ptr m_foo; +}; + +void test_main(lua_State* L) +{ + using namespace luabind; + + bind_class_info(L); + + module( L ) + [ + class_ >( "Foo" ) + .def( constructor<>() ) + .def_readwrite("baz", &Foo::m_baz), + class_ >( "Bar" ) + .def( constructor<>() ) + .property("fooz", &Bar::getFoo, &Bar::setFoo) + .def_readwrite("foo", &Bar::m_foo) + ]; + dostring( L, "foo = Foo();"); + dostring( L, "foo.baz = 42;"); + dostring( L, "x = Bar();"); + dostring( L, "x.fooz = foo;"); + dostring( L, "print(type(x), class_info(x).name);"); + dostring( L, "print(type(x.fooz), class_info(x.fooz).name);"); + dostring( L, "print(type(x.foo), class_info(x.foo).name);"); // crashes here); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_super_leak.cpp b/external/sources/luabind-oberon00-49814f6/test/test_super_leak.cpp new file mode 100644 index 0000000000..e2d87e2115 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_super_leak.cpp @@ -0,0 +1,60 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + + +#include "test.hpp" +#include + +struct Foo +{ + static std::size_t count; + + Foo() + { + ++count; + } + + ~Foo() + { + --count; + } +}; + +std::size_t Foo::count = 0; + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("Foo") + .def(constructor<>()) + ]; + + // This used to leak the last created instance in one of the + // upvalues to the "super" function. + + disable_super_deprecation(); + + DOSTRING(L, + "class 'Bar' (Foo)\n" + "function Bar.__init(self)\n" + " Foo.__init(self)\n" + "end\n" + ); + + DOSTRING(L, + "x = Bar()\n" + ); + + assert(Foo::count == 1); + + DOSTRING(L, + "x = nil\n" + ); + + lua_gc(L, LUA_GCCOLLECT, 0); + + assert(Foo::count == 0); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_table.cpp b/external/sources/luabind-oberon00-49814f6/test/test_table.cpp new file mode 100644 index 0000000000..6779dc43b0 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_table.cpp @@ -0,0 +1,43 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +static void f(luabind::table<> const& x) +{ + TEST_CHECK(luabind::type(x) == LUA_TTABLE); +} + +static void g(luabind::table const& x) +{ + TEST_CHECK(luabind::type(x) == LUA_TTABLE); +} + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + def("f", &f), + def("g", &g) + ]; + + DOSTRING(L, + "f {1,2,3}\n" + "g {1,2,3}\n" + ); + + DOSTRING_EXPECTED(L, + "f(1)\n", + "No matching overload found, candidates:\n" + "void f(table const&)" + ); + + DOSTRING_EXPECTED(L, + "g(1)\n", + "No matching overload found, candidates:\n" + "void g(table const&)" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_tag_function.cpp b/external/sources/luabind-oberon00-49814f6/test/test_tag_function.cpp new file mode 100644 index 0000000000..845299f008 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_tag_function.cpp @@ -0,0 +1,52 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include +#include + +#include + +namespace { + +int f(int x, int y) +{ + return x + y; +} + +struct X +{ + int f(int x, int y) + { + return x + y; + } +}; + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + def("f", tag_function(boost::bind(&f, 5, _1))), + + class_("X") + .def(constructor<>()) + .def("f", tag_function(boost::bind(&X::f, _1, 10, _2))) + ]; + + DOSTRING(L, + "assert(f(0) == 5)\n" + "assert(f(1) == 6)\n" + "assert(f(5) == 10)\n" + ); + + DOSTRING(L, + "x = X()\n" + "assert(x:f(0) == 10)\n" + "assert(x:f(1) == 11)\n" + "assert(x:f(5) == 15)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_typetraits.cpp b/external/sources/luabind-oberon00-49814f6/test/test_typetraits.cpp new file mode 100644 index 0000000000..fb9f2af8b7 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_typetraits.cpp @@ -0,0 +1,62 @@ +// Copyright (c) 2004 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" + +#include +#include + +#include + +using namespace luabind; +using namespace luabind::detail; + +namespace { + +struct tester {}; + +} // namespace unnamed + +void test_main(lua_State*) +{ + BOOST_STATIC_ASSERT(is_nonconst_reference::value); + BOOST_STATIC_ASSERT(!is_nonconst_reference::value); + BOOST_STATIC_ASSERT(is_nonconst_reference::value); + BOOST_STATIC_ASSERT(!is_nonconst_reference::value); + + BOOST_STATIC_ASSERT(!is_const_reference::value); + BOOST_STATIC_ASSERT(is_const_reference::value); + BOOST_STATIC_ASSERT(!is_const_reference::value); + BOOST_STATIC_ASSERT(is_const_reference::value); + + BOOST_STATIC_ASSERT(!is_const_pointer::value); + BOOST_STATIC_ASSERT(is_const_pointer::value); + BOOST_STATIC_ASSERT(!is_const_pointer::value); + BOOST_STATIC_ASSERT(is_const_pointer::value); + + BOOST_STATIC_ASSERT(is_nonconst_pointer::value); + BOOST_STATIC_ASSERT(!is_nonconst_pointer::value); + BOOST_STATIC_ASSERT(is_nonconst_pointer::value); + BOOST_STATIC_ASSERT(!is_nonconst_pointer::value); + + BOOST_STATIC_ASSERT(!is_const_reference::value); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_unchecked.cpp b/external/sources/luabind-oberon00-49814f6/test/test_unchecked.cpp new file mode 100644 index 0000000000..916539d5f0 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_unchecked.cpp @@ -0,0 +1,29 @@ +// Copyright Christian Neumüller 2013. Use, modification and distribution is +// subject to 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) + + +#include "test.hpp" +#include + +void test_main(lua_State* L) +{ + DOSTRING(L, + "class 'Foo'\n" + "function Foo:__init() end\n" + ); + + // Direct calls to metamethods used to cause access violations. + + DOSTRING_EXPECTED(L, "getmetatable(Foo).__index()", + "[string \"getmetatable(Foo).__index()\"]:1: " + "attempt to index a boolean value" + ); + + DOSTRING(L, "foo = Foo()"); + + DOSTRING_EXPECTED(L, "getmetatable(foo).__index()", + "[string \"getmetatable(foo).__index()\"]:1: " + "attempt to index a boolean value" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_unsigned_int.cpp b/external/sources/luabind-oberon00-49814f6/test/test_unsigned_int.cpp new file mode 100644 index 0000000000..99ae417e34 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_unsigned_int.cpp @@ -0,0 +1,18 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +void test_main(lua_State* L) +{ + DOSTRING(L, "x = 4294967295"); + + unsigned int x = luabind::object_cast( + luabind::globals(L)["x"]); + + unsigned int y = 4294967295UL; + + TEST_CHECK(x == y); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_user_defined_converter.cpp b/external/sources/luabind-oberon00-49814f6/test/test_user_defined_converter.cpp new file mode 100644 index 0000000000..347782f805 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_user_defined_converter.cpp @@ -0,0 +1,76 @@ +// Copyright Daniel Wallin 2008. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + +namespace { + +struct X +{ + X(lua_Integer value_) + : value(value_) + {} + + lua_Integer value; +}; + +lua_Integer take(X x) +{ + return x.value; +} + +X get(lua_Integer value) +{ + return X(value); +} + +} // namespace unnamed + +namespace luabind { + +template <> +struct default_converter + : native_converter_base +{ + int compute_score(lua_State* L, int index) + { + return cv.compute_score(L, index); + } + + X from(lua_State* L, int index) + { + return X(lua_tointeger(L, index)); + } + + void to(lua_State* L, X const& x) + { + lua_pushinteger(L, x.value); + } + + default_converter cv; +}; + +} // namespace luabind + + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + def("take", &take), + def("get", &get) + ]; + + DOSTRING(L, + "assert(take(1) == 1)\n" + "assert(take(2) == 2)\n" + ); + + DOSTRING(L, + "assert(get(1) == 1)\n" + "assert(get(2) == 2)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_value_wrapper.cpp b/external/sources/luabind-oberon00-49814f6/test/test_value_wrapper.cpp new file mode 100644 index 0000000000..7e66fdbf39 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_value_wrapper.cpp @@ -0,0 +1,70 @@ +// Copyright (c) 2005 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include +#include +#include + +struct X_tag; + +struct X +{ + typedef X_tag value_wrapper_tag; +}; + +namespace luabind +{ +#ifdef LUABIND_USE_VALUE_WRAPPER_TAG + template<> + struct value_wrapper_traits + { + typedef boost::mpl::true_ is_specialized; + }; +#else + // used on compilers supporting partial template specialization + template<> + struct value_wrapper_traits + { + typedef boost::mpl::true_ is_specialized; + }; +#endif + +} // namespace luabind + +BOOST_MPL_ASSERT(( luabind::is_value_wrapper )); +BOOST_MPL_ASSERT_NOT(( luabind::is_value_wrapper )); +BOOST_MPL_ASSERT_NOT(( luabind::is_value_wrapper )); + +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT_NOT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT_NOT(( luabind::is_value_wrapper_arg )); + +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); +BOOST_MPL_ASSERT(( luabind::is_value_wrapper_arg )); + +int main() +{ +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_vector_of_number.cpp b/external/sources/luabind-oberon00-49814f6/test/test_vector_of_number.cpp new file mode 100644 index 0000000000..a0ae967266 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_vector_of_number.cpp @@ -0,0 +1,52 @@ +// Copyright Christian Neumüller 2016. Use, modification and distribution is +// subject to 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) + +// Test case by github.com/AndriyAstakhov + +#include "test.hpp" +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace luabind; + +void test_main(lua_State* L) +{ + BOOST_STATIC_ASSERT((boost::is_base_and_derived< + number_converter, + default_converter >::value)); + + BOOST_STATIC_ASSERT((boost::is_base_and_derived< + number_converter, + default_converter >::value)); + + BOOST_STATIC_ASSERT((!boost::is_base_and_derived< + number_converter, + default_converter >::value)); + + module(L) [ + class_ >("vector_double") + .def(constructor<>()) + .def( + "push_back", + static_cast::*)(const double&)>( + &std::vector::push_back)) + ]; + + DOSTRING(L, + "local vecDouble = vector_double()\n" + "vecDouble:push_back(1.5)\n"); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_vector_of_object.cpp b/external/sources/luabind-oberon00-49814f6/test/test_vector_of_object.cpp new file mode 100644 index 0000000000..e2fccb9d91 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_vector_of_object.cpp @@ -0,0 +1,35 @@ +// Copyright (c) 2005 Daniel Wallin + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include + +using namespace luabind; + +void test_main(lua_State* L) +{ + std::vector v; + v.push_back(object(L, 0)); + + for (std::vector::iterator i(v.begin()), e(v.end()); i != e; ++i) + {} +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_virtual_inheritance.cpp b/external/sources/luabind-oberon00-49814f6/test/test_virtual_inheritance.cpp new file mode 100644 index 0000000000..1da5372794 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_virtual_inheritance.cpp @@ -0,0 +1,236 @@ +// Copyright Daniel Wallin 2009. Use, modification and distribution is +// subject to 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) + +#include "test.hpp" +#include + + +namespace { + +// Test the following hierarchy: +// +// X +// / \. +// Y Z +// \ / +// U + +struct X +{ + X(int x_) + : value(x_) + {} + + virtual ~X() + {} + + int f() const + { + return value; + } + + int value; +}; + +struct Y : virtual X +{ + Y(int value_) + : X(value_) + , dummy(2) + {} + + int g() const + { + return dummy; + } + + int dummy; +}; + +struct Z : virtual X +{ + Z(int value_) + : X(value_) + , dummy(3) + {} + + int h() const + { + return dummy; + } + + int dummy; +}; + +struct U : Y, Z +{ + U(int value_) + : X(value_) + , Y(value_) + , Z(value_) + {} + + int dummy; +}; + +X* upcast(U* p) +{ + return p; +} + +// This hiearchy tries to prove that conversion and caching works for all sub +// object pointers: +// +// +// Base Base +// | | +// Left Right +// \ / +// \ / +// Derived +// + +struct Base +{ + Base(int value_) + : value(value_) + {} + + virtual ~Base() + {} + + int value; +}; + +struct Left : Base +{ + Left() + : Base(1) + {} + + int left() const + { + return value; + } + + int dummy; +}; + +struct Right : Base +{ + Right() + : Base(2) + {} + + int right() const + { + return value; + } + + int dummy; +}; + +struct Derived : Left, Right +{ + int f() const + { + return 3; + } + + int dummy; +}; + +Base* left(Left* p) +{ + return p; +} + +Base* right(Right* p) +{ + return p; +} + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) [ + class_("X") + .def("f", &X::f), + class_("Y") + .def("g", &Y::g), + class_("Z") + .def("h", &Z::h), + class_ >("U") + .def(constructor()), + def("upcast", &upcast) + ]; + + // Do everything twice to verify that caching works. + + DOSTRING(L, + "x = U(1)\n" + "assert(x:f() == 1)\n" + "assert(x:f() == 1)\n" + "assert(x:g() == 2)\n" + "assert(x:g() == 2)\n" + "assert(x:h() == 3)\n" + "assert(x:h() == 3)\n" + ); + + DOSTRING(L, + "y = upcast(x)\n" + "assert(y:f() == 1)\n" + "assert(y:f() == 1)\n" + "assert(y:g() == 2)\n" + "assert(y:g() == 2)\n" + "assert(y:h() == 3)\n" + "assert(y:h() == 3)\n" + ); + + module(L) [ + class_("Base"), + class_("Left") + .def("left", &Left::left), + class_("Right") + .def("right", &Right::right), + class_ >("Derived") + .def(constructor<>()) + .def("f", &Derived::f), + def("left", &left), + def("right", &right) + ]; + + DOSTRING(L, + "x = Derived()\n" + "assert(x:left() == 1)\n" + "assert(x:left() == 1)\n" + "assert(x:right() == 2)\n" + "assert(x:right() == 2)\n" + "assert(x:f() == 3)\n" + "assert(x:f() == 3)\n" + ); + + DOSTRING(L, + "y = left(x)\n" + "assert(y:left() == 1)\n" + "assert(y:left() == 1)\n" + "assert(y:right() == 2)\n" + "assert(y:right() == 2)\n" + "assert(y:f() == 3)\n" + "assert(y:f() == 3)\n" + ); + + DOSTRING(L, + "y = right(x)\n" + "assert(y:left() == 1)\n" + "assert(y:left() == 1)\n" + "assert(y:right() == 2)\n" + "assert(y:right() == 2)\n" + "assert(y:f() == 3)\n" + "assert(y:f() == 3)\n" + ); +} diff --git a/external/sources/luabind-oberon00-49814f6/test/test_yield.cpp b/external/sources/luabind-oberon00-49814f6/test/test_yield.cpp new file mode 100644 index 0000000000..8946beec45 --- /dev/null +++ b/external/sources/luabind-oberon00-49814f6/test/test_yield.cpp @@ -0,0 +1,97 @@ +// Copyright (c) 2003 Daniel Wallin and Arvid Norberg + +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +// OR OTHER DEALINGS IN THE SOFTWARE. + +#include "test.hpp" +#include +#include // for if_<>::type + +namespace { + +struct test_class : counted_type +{ + test_class() {} + int f() const + { + return 5; + } +}; + +COUNTER_GUARD(test_class); + +} // namespace unnamed + +void test_main(lua_State* L) +{ + using namespace luabind; + + module(L) + [ + class_("test") + .def(constructor<>()) + .def("f", &test_class::f, luabind::yield) + ]; + + DOSTRING(L, + "function h()\n" + " coroutine.yield(4)" + "end"); + + { + lua_State* thread = lua_newthread(L); + TEST_CHECK(resume_function(thread, "h") == 4); + lua_pop(L, 1); // pop thread + } + + DOSTRING(L, + "function g(str)\n" + " assert(str == 'foobar')\n" + " a = test()" + " for i = 1, 10 do\n" + " assert(a:f() == i + 4)\n" + " end\n" + "end"); + + { + lua_State* thread = lua_newthread(L); + + TEST_CHECK(resume_function(thread, "g", "foobar") == 5); + for (int i = 1; i < 10; ++i) + { + TEST_CHECK(resume(thread, i + 4) == 5); + } + lua_pop(L, 1); // pop thread + } + + + { + lua_State* thread = lua_newthread(L); + object g = globals(thread)["g"]; + + TEST_CHECK(resume_function(g, "foobar") == 5); + for (int i = 1; i < 10; ++i) + { + TEST_CHECK(resume(thread, i + 4) == 5); + } + lua_pop(L, 1); // pop thread + } + +} diff --git a/meson.build b/meson.build index a2c6e76482..86cb3ff453 100644 --- a/meson.build +++ b/meson.build @@ -224,8 +224,9 @@ endif sdl3_image_proj = subproject('SDL3_image-3.2.4') sdl3_image_dep = sdl3_image_proj.get_variable('sdl3_image_dep') -boost_dep = declare_dependency(include_directories: include_directories('external/include/boost_1_75')) -meson.override_dependency('boost-175', boost_dep) +boost_dep = declare_dependency(include_directories: include_directories('external/include/boost_1_90_0')) +meson.override_dependency('boost-190', boost_dep) + install_rpath = prefix/get_option('fmod_dir') tracy_proj = subproject('tracy') tracy_dep = dependency('tracy') @@ -235,8 +236,10 @@ luajit_dep = dependency('luajit') external_inc_dirs += luajit_proj.get_variable('luajit_source_dir') allegro_dep = dependency('allegro') loadpng_dep = dependency('loadpng') -luabind_proj = subproject('luabind-0.7.1') + +luabind_proj = subproject('luabind-oberon00-49814f6') luabind_dep = dependency('luabind') + raknet_proj = subproject('RakNet') raknet_dep = dependency('RakNet') deps += [sdl3_dep, sdl3_image_dep, allegro_dep, luajit_dep, loadpng_dep, raknet_dep, boost_dep, tracy_dep]